From bd4f39b52b906abd2fc20dc54b9fad8d02d8d685 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Fri, 14 Aug 2020 02:42:53 -0400 Subject: [PATCH 01/51] mvt init --- x-pack/package.json | 2 + x-pack/plugins/maps/common/constants.ts | 7 + .../tiled_vector_layer/tiled_vector_layer.tsx | 7 +- .../layers/vector_layer/vector_layer.js | 48 ++++ .../es_documents_layer_wizard.tsx | 11 +- .../es_search_source/es_search_source.d.ts | 3 +- .../es_search_source/es_search_source.js | 83 +++++- .../sources/es_search_source/scaling_form.tsx | 126 +++++++-- .../classes/sources/es_source/es_source.js | 2 +- .../sources/vector_source/vector_source.d.ts | 5 +- .../classes/util/mb_filter_expressions.ts | 38 ++- .../connected_components/map/mb/view.js | 15 +- x-pack/plugins/maps/server/mvt/get_tile.ts | 248 ++++++++++++++++++ x-pack/plugins/maps/server/mvt/mvt_routes.ts | 95 +++++++ x-pack/plugins/maps/server/routes.js | 28 +- 15 files changed, 647 insertions(+), 71 deletions(-) create mode 100644 x-pack/plugins/maps/server/mvt/get_tile.ts create mode 100644 x-pack/plugins/maps/server/mvt/mvt_routes.ts diff --git a/x-pack/package.json b/x-pack/package.json index 2b52646e0f748..2791b2bea4843 100644 --- a/x-pack/package.json +++ b/x-pack/package.json @@ -267,6 +267,7 @@ "font-awesome": "4.7.0", "formsy-react": "^1.1.5", "fp-ts": "^2.3.1", + "geojson-vt": "^3.2.1", "get-port": "^4.2.0", "getos": "^3.1.0", "git-url-parse": "11.1.2", @@ -382,6 +383,7 @@ "uuid": "3.3.2", "venn.js": "0.2.20", "vscode-languageserver": "^5.2.1", + "vt-pbf": "^3.1.1", "webpack": "^4.41.5", "wellknown": "^0.5.0", "xml2js": "^0.4.22", diff --git a/x-pack/plugins/maps/common/constants.ts b/x-pack/plugins/maps/common/constants.ts index eec23f95bb17b..b7bc51789f233 100644 --- a/x-pack/plugins/maps/common/constants.ts +++ b/x-pack/plugins/maps/common/constants.ts @@ -32,6 +32,12 @@ export const MAP_PATH = 'map'; export const GIS_API_PATH = `api/${APP_ID}`; export const INDEX_SETTINGS_API_PATH = `${GIS_API_PATH}/indexSettings`; export const FONTS_API_PATH = `${GIS_API_PATH}/fonts`; +export const API_ROOT_PATH = `/${GIS_API_PATH}`; + +export const MVT_GETTILE_API_PATH = 'mvt/getTile'; +export const MVT_SOURCE_LAYER_NAME = 'geojsonLayer'; +export const KBN_TOO_MANY_FEATURES_PROPERTY = '__kbn_too_many_features__'; +export const KBN_TOO_MANY_FEATURES_IMAGE_ID = '__kbn_too_many_features_image_id__'; const MAP_BASE_URL = `/${MAPS_APP_PATH}/${MAP_PATH}`; export function getNewMapPath() { @@ -219,6 +225,7 @@ export enum SCALING_TYPES { LIMIT = 'LIMIT', CLUSTERS = 'CLUSTERS', TOP_HITS = 'TOP_HITS', + MVT = 'MVT', } export const RGBA_0000 = 'rgba(0,0,0,0)'; diff --git a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx index c9ae1c805fa30..34b9b8824d916 100644 --- a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx +++ b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx @@ -77,7 +77,7 @@ export class TiledVectorLayer extends VectorLayer { startLoading(SOURCE_DATA_REQUEST_ID, requestToken, searchFilters); try { - const templateWithMeta = await this._source.getUrlTemplateWithMeta(); + const templateWithMeta = await this._source.getUrlTemplateWithMeta(dataFilters); stopLoading(SOURCE_DATA_REQUEST_ID, requestToken, templateWithMeta, {}); } catch (error) { onLoadError(SOURCE_DATA_REQUEST_ID, requestToken, error.message); @@ -160,6 +160,11 @@ export class TiledVectorLayer extends VectorLayer { return false; } + if (!mbTileSource.tiles) { + // Expected source is not compatible, so remove. + return true; + } + const isSourceDifferent = mbTileSource.tiles[0] !== tiledSourceMeta.urlTemplate || mbTileSource.minzoom !== tiledSourceMeta.minSourceZoom || diff --git a/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.js b/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.js index f5f5071bab158..b880f8bdcdacb 100644 --- a/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.js +++ b/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.js @@ -15,9 +15,11 @@ import { SOURCE_BOUNDS_DATA_REQUEST_ID, FEATURE_VISIBLE_PROPERTY_NAME, EMPTY_FEATURE_COLLECTION, + KBN_TOO_MANY_FEATURES_PROPERTY, LAYER_TYPE, FIELD_ORIGIN, LAYER_STYLE_TYPE, + KBN_TOO_MANY_FEATURES_IMAGE_ID, } from '../../../../common/constants'; import _ from 'lodash'; import { JoinTooltipProperty } from '../../tooltips/join_tooltip_property'; @@ -777,6 +779,8 @@ export class VectorLayer extends AbstractLayer { const sourceId = this.getId(); const fillLayerId = this._getMbPolygonLayerId(); const lineLayerId = this._getMbLineLayerId(); + const tooManyFeaturesLayerId = this._getMbTooManyFeaturesLayerId(); + const hasJoins = this.hasJoins(); if (!mbMap.getLayer(fillLayerId)) { const mbLayer = { @@ -802,6 +806,30 @@ export class VectorLayer extends AbstractLayer { } mbMap.addLayer(mbLayer); } + if (!mbMap.getLayer(tooManyFeaturesLayerId)) { + const mbLayer = { + id: tooManyFeaturesLayerId, + type: 'fill', + source: sourceId, + paint: {}, + }; + if (mvtSourceLayer) { + mbLayer['source-layer'] = mvtSourceLayer; + } + mbMap.addLayer(mbLayer); + mbMap.setFilter(tooManyFeaturesLayerId, [ + '==', + ['get', KBN_TOO_MANY_FEATURES_PROPERTY], + true, + ]); + mbMap.setPaintProperty( + tooManyFeaturesLayerId, + 'fill-pattern', + KBN_TOO_MANY_FEATURES_IMAGE_ID + ); + mbMap.setPaintProperty(tooManyFeaturesLayerId, 'fill-opacity', this.getAlpha()); + } + this.getCurrentStyle().setMBPaintProperties({ alpha: this.getAlpha(), mbMap, @@ -822,6 +850,9 @@ export class VectorLayer extends AbstractLayer { if (lineFilterExpr !== mbMap.getFilter(lineLayerId)) { mbMap.setFilter(lineLayerId, lineFilterExpr); } + + this.syncVisibilityWithMb(mbMap, tooManyFeaturesLayerId); + mbMap.setLayerZoomRange(tooManyFeaturesLayerId, this.getMinZoom(), this.getMaxZoom()); } _syncStylePropertiesWithMb(mbMap) { @@ -836,6 +867,18 @@ export class VectorLayer extends AbstractLayer { type: 'geojson', data: EMPTY_FEATURE_COLLECTION, }); + } else if (mbSource.type !== 'geojson') { + this.getMbLayerIds().forEach((mbLayerId) => { + if (mbMap.getLayer(mbLayerId)) { + mbMap.removeLayer(mbLayerId); + } + }); + + mbMap.removeSource(this._getMbSourceId()); + mbMap.addSource(this._getMbSourceId(), { + type: 'geojson', + data: EMPTY_FEATURE_COLLECTION, + }); } } @@ -865,6 +908,10 @@ export class VectorLayer extends AbstractLayer { return this.makeMbLayerId('fill'); } + _getMbTooManyFeaturesLayerId() { + return this.makeMbLayerId('toomanyfeatures'); + } + getMbLayerIds() { return [ this._getMbPointLayerId(), @@ -872,6 +919,7 @@ export class VectorLayer extends AbstractLayer { this._getMbSymbolLayerId(), this._getMbLineLayerId(), this._getMbPolygonLayerId(), + this._getMbTooManyFeaturesLayerId(), ]; } diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_documents_layer_wizard.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_documents_layer_wizard.tsx index 1ec6d2a1ff671..249b9a2454d7d 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_documents_layer_wizard.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_documents_layer_wizard.tsx @@ -14,13 +14,18 @@ import { ESSearchSource, sourceTitle } from './es_search_source'; import { BlendedVectorLayer } from '../../layers/blended_vector_layer/blended_vector_layer'; import { VectorLayer } from '../../layers/vector_layer/vector_layer'; import { LAYER_WIZARD_CATEGORY, SCALING_TYPES } from '../../../../common/constants'; +import { TiledVectorLayer } from '../../layers/tiled_vector_layer/tiled_vector_layer'; export function createDefaultLayerDescriptor(sourceConfig: unknown, mapColors: string[]) { const sourceDescriptor = ESSearchSource.createDescriptor(sourceConfig); - return sourceDescriptor.scalingType === SCALING_TYPES.CLUSTERS - ? BlendedVectorLayer.createDescriptor({ sourceDescriptor }, mapColors) - : VectorLayer.createDescriptor({ sourceDescriptor }, mapColors); + if (sourceDescriptor.scalingType === SCALING_TYPES.CLUSTERS) { + return BlendedVectorLayer.createDescriptor({ sourceDescriptor }, mapColors); + } else if (sourceDescriptor.scalingType === SCALING_TYPES.MVT) { + return TiledVectorLayer.createDescriptor({ sourceDescriptor }, mapColors); + } else { + return VectorLayer.createDescriptor({ sourceDescriptor }, mapColors); + } } export const esDocumentsLayerWizardConfig: LayerWizard = { diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts index 23e3c759d73c3..b991e2964a024 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts @@ -6,8 +6,9 @@ import { AbstractESSource } from '../es_source'; import { ESSearchSourceDescriptor } from '../../../../common/descriptor_types'; +import { ITiledSingleLayerVectorSource } from '../vector_source'; -export class ESSearchSource extends AbstractESSource { +export class ESSearchSource extends AbstractESSource implements ITiledSingleLayerVectorSource { static createDescriptor(sourceConfig: unknown): ESSearchSourceDescriptor; constructor(sourceDescriptor: Partial, inspectorAdapters: unknown); diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js index 256becf70ffb0..de1a4e9e71a88 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js @@ -6,9 +6,10 @@ import _ from 'lodash'; import React from 'react'; +import rison from 'rison-node'; import { AbstractESSource } from '../es_source'; -import { getSearchService } from '../../../kibana_services'; +import { getSearchService, getHttp } from '../../../kibana_services'; import { hitsToGeoJson } from '../../../elasticsearch_geo_utils'; import { UpdateSourceEditor } from './update_source_editor'; import { @@ -18,6 +19,11 @@ import { SORT_ORDER, SCALING_TYPES, VECTOR_SHAPE_TYPE, + MVT_SOURCE_LAYER_NAME, + GIS_API_PATH, + MVT_GETTILE_API_PATH, + MIN_ZOOM, + MAX_ZOOM, } from '../../../../common/constants'; import { i18n } from '@kbn/i18n'; import { getDataSourceLabel } from '../../../../common/i18n_getters'; @@ -448,9 +454,13 @@ export class ESSearchSource extends AbstractESSource { } isFilterByMapBounds() { - return this._descriptor.scalingType === SCALING_TYPES.CLUSTER - ? true - : this._descriptor.filterByMapBounds; + if (this._descriptor.scalingType === SCALING_TYPES.CLUSTER) { + return true; + } else if (this._descriptor.scalingType === SCALING_TYPES.MVT) { + return false; + } else { + return this._descriptor.filterByMapBounds; + } } async getLeftJoinFields() { @@ -553,11 +563,66 @@ export class ESSearchSource extends AbstractESSource { } getJoinsDisabledReason() { - return this._descriptor.scalingType === SCALING_TYPES.CLUSTERS - ? i18n.translate('xpack.maps.source.esSearch.joinsDisabledReason', { - defaultMessage: 'Joins are not supported when scaling by clusters', - }) - : null; + let reason; + if (this._descriptor.scalingType === SCALING_TYPES.CLUSTERS) { + reason = i18n.translate('xpack.maps.source.esSearch.joinsDisabledReason', { + defaultMessage: 'Joins are not supported when scaling by clusters', + }); + } else if (this._descriptor.scalingType === SCALING_TYPES.MVT) { + reason = i18n.translate('xpack.maps.source.esSearch.joinsDisabledReasonMvt', { + defaultMessage: 'Joins are not supported when scaling by mvt vector tiles', + }); + } else { + reason = null; + } + return reason; + } + + // MVT methods. Do we really need different source-type????? + getLayerName() { + return 'water'; + } + + async getUrlTemplateWithMeta(searchFilters) { + const indexPattern = await this.getIndexPattern(); + const indexSettings = await loadIndexSettings(indexPattern.title); + + //assuming only geo_shape fields for now + const initialSearchContext = { + // docvalue_fields: await this._getDateDocvalueFields(searchFilters.fieldNames), + }; + // const geoField = await this._getGeoField(); + // const docValueFields = await this._excludeDateFields(searchFilters.fieldNames); + // const withoutGeoField = docValueFields.filter((field) => field !== geoField.name); + // initialSearchContext.docvalue_fields.push(...withoutGeoField); + + const searchSource = await this.makeSearchSource( + searchFilters, + indexSettings.maxResultWindow, + initialSearchContext + ); + searchSource.setField('fields', searchFilters.fieldNames); + + const ipTitle = indexPattern.title; + const geometryFieldName = this._descriptor.geoField; + const fields = ['_id']; //todo needs to include correct fields + const fieldsParam = fields.join(','); + + const dsl = await searchSource.getSearchRequestBody(); + + const risonDsl = rison.encode(dsl); + + const mvtUrlServicePath = getHttp().basePath.prepend( + `/${GIS_API_PATH}/${MVT_GETTILE_API_PATH}` + ); + + const urlTemplate = `${mvtUrlServicePath}?x={x}&y={y}&z={z}&geometryFieldName=${geometryFieldName}&indexPattern=${ipTitle}&fields=${fieldsParam}&requestBody=${risonDsl}`; + return { + layerName: MVT_SOURCE_LAYER_NAME, + minSourceZoom: MIN_ZOOM, + maxSourceZoom: MAX_ZOOM, + urlTemplate: urlTemplate, + }; } } diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx index 816db6a98d593..8535e126e37c8 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx @@ -4,16 +4,18 @@ * you may not use this file except in compliance with the Elastic License. */ -import React, { Fragment, Component } from 'react'; +import React, { Component, Fragment } from 'react'; import { EuiFormRow, + EuiHorizontalRule, + EuiRadio, + EuiSpacer, EuiSwitch, EuiSwitchEvent, EuiTitle, - EuiSpacer, - EuiHorizontalRule, - EuiRadio, EuiToolTip, + EuiText, + EuiBetaBadge, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; @@ -24,8 +26,8 @@ import { ValidatedRange } from '../../../components/validated_range'; import { DEFAULT_MAX_INNER_RESULT_WINDOW, DEFAULT_MAX_RESULT_WINDOW, - SCALING_TYPES, LAYER_TYPE, + SCALING_TYPES, } from '../../../../common/constants'; // @ts-ignore import { loadIndexSettings } from './load_index_settings'; @@ -80,8 +82,15 @@ export class ScalingForm extends Component { } _onScalingTypeChange = (optionId: string): void => { - const layerType = - optionId === SCALING_TYPES.CLUSTERS ? LAYER_TYPE.BLENDED_VECTOR : LAYER_TYPE.VECTOR; + let layerType; + if (optionId === SCALING_TYPES.CLUSTERS) { + layerType = LAYER_TYPE.BLENDED_VECTOR; + } else if (optionId === SCALING_TYPES.MVT) { + layerType = LAYER_TYPE.TILED_VECTOR; + } else { + layerType = LAYER_TYPE.VECTOR; + } + this.props.onChange({ propName: 'scalingType', value: optionId, newLayerType: layerType }); }; @@ -154,6 +163,33 @@ export class ScalingForm extends Component { ); } + _renderLimitResultsRadio() { + return ( + this._onScalingTypeChange(SCALING_TYPES.LIMIT)} + /> + ); + } + + _renderTopHitsRadio() { + return ( + this._onScalingTypeChange(SCALING_TYPES.TOP_HITS)} + /> + ); + } + _renderClusteringRadio() { const clusteringRadio = ( { ); } + _renderMVTRadio() { + const labelText = i18n.translate('xpack.maps.source.esSearch.useMVTVectorTiles', { + defaultMessage: '.mvt tile protocol', + }); + const label = ( + <> + {labelText} + + + ); + return ( + this._onScalingTypeChange(SCALING_TYPES.MVT)} + /> + ); + } + render() { let filterByBoundsSwitch; - if (this.props.scalingType !== SCALING_TYPES.CLUSTERS) { + if ( + this.props.scalingType === SCALING_TYPES.TOP_HITS || + this.props.scalingType === SCALING_TYPES.LIMIT + ) { filterByBoundsSwitch = ( { ); } - let scalingForm = null; + let topHitsOptionsForm = null; if (this.props.scalingType === SCALING_TYPES.TOP_HITS) { - scalingForm = ( + topHitsOptionsForm = ( {this._renderTopHitsForm()} @@ -204,6 +271,21 @@ export class ScalingForm extends Component { ); } + let mvtDisclaimer = null; + if (this.props.scalingType === SCALING_TYPES.MVT) { + mvtDisclaimer = ( + + + + {i18n.translate('xpack.maps.source.esSearch.mvtDescription', { + defaultMessage: + 'Using .mvt tiles allows for faster display of large datasets. Not all layer-functionality is supported.', + })} + + + ); + } + return ( @@ -216,30 +298,16 @@ export class ScalingForm extends Component {
- this._onScalingTypeChange(SCALING_TYPES.LIMIT)} - /> - this._onScalingTypeChange(SCALING_TYPES.TOP_HITS)} - /> + {this._renderLimitResultsRadio()} + {this._renderTopHitsRadio()} {this._renderClusteringRadio()} + {this._renderMVTRadio()}
{filterByBoundsSwitch} - - {scalingForm} + {topHitsOptionsForm} + {mvtDisclaimer}
); } diff --git a/x-pack/plugins/maps/public/classes/sources/es_source/es_source.js b/x-pack/plugins/maps/public/classes/sources/es_source/es_source.js index c043e6d6994ab..f57e40aa85e51 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_source/es_source.js +++ b/x-pack/plugins/maps/public/classes/sources/es_source/es_source.js @@ -176,7 +176,7 @@ export class AbstractESSource extends AbstractVectorSource { const minLon = esBounds.top_left.lon; const maxLon = esBounds.bottom_right.lon; return { - minLon: minLon > maxLon ? minLon - 360 : minLon, + minLon: minLon > maxLon ? minLon - 360 : minLon, //fixes an ES bbox to straddle dateline maxLon, minLat: esBounds.bottom_right.lat, maxLat: esBounds.top_left.lat, diff --git a/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.d.ts b/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.d.ts index 62fc5a283e5f3..540bfd32796fb 100644 --- a/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.d.ts +++ b/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.d.ts @@ -14,6 +14,7 @@ import { MapExtent, MapFilters, MapQuery, + VectorSourceRequestMeta, VectorSourceSyncMeta, } from '../../../../common/descriptor_types'; import { VECTOR_SHAPE_TYPE } from '../../../../common/constants'; @@ -78,7 +79,9 @@ export class AbstractVectorSource extends AbstractSource implements IVectorSourc } export interface ITiledSingleLayerVectorSource extends IVectorSource { - getUrlTemplateWithMeta(): Promise<{ + getUrlTemplateWithMeta( + searchFilters: MapFilters + ): Promise<{ layerName: string; urlTemplate: string; minSourceZoom: number; diff --git a/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts b/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts index 8da6fa2318de9..8c5bdf6943f95 100644 --- a/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts +++ b/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts @@ -4,32 +4,46 @@ * you may not use this file except in compliance with the Elastic License. */ -import { GEO_JSON_TYPE, FEATURE_VISIBLE_PROPERTY_NAME } from '../../../common/constants'; +import { + GEO_JSON_TYPE, + FEATURE_VISIBLE_PROPERTY_NAME, + KBN_TOO_MANY_FEATURES_PROPERTY, +} from '../../../common/constants'; const VISIBILITY_FILTER_CLAUSE = ['all', ['==', ['get', FEATURE_VISIBLE_PROPERTY_NAME], true]]; +const TOO_MANY_FEATURES_FILTER = ['all', ['==', ['get', KBN_TOO_MANY_FEATURES_PROPERTY], false]]; const CLOSED_SHAPE_MB_FILTER = [ - 'any', - ['==', ['geometry-type'], GEO_JSON_TYPE.POLYGON], - ['==', ['geometry-type'], GEO_JSON_TYPE.MULTI_POLYGON], + ...TOO_MANY_FEATURES_FILTER, + [ + 'any', + ['==', ['geometry-type'], GEO_JSON_TYPE.POLYGON], + ['==', ['geometry-type'], GEO_JSON_TYPE.MULTI_POLYGON], + ], ]; const VISIBLE_CLOSED_SHAPE_MB_FILTER = [...VISIBILITY_FILTER_CLAUSE, CLOSED_SHAPE_MB_FILTER]; const ALL_SHAPE_MB_FILTER = [ - 'any', - ['==', ['geometry-type'], GEO_JSON_TYPE.POLYGON], - ['==', ['geometry-type'], GEO_JSON_TYPE.MULTI_POLYGON], - ['==', ['geometry-type'], GEO_JSON_TYPE.LINE_STRING], - ['==', ['geometry-type'], GEO_JSON_TYPE.MULTI_LINE_STRING], + ...TOO_MANY_FEATURES_FILTER, + [ + 'any', + ['==', ['geometry-type'], GEO_JSON_TYPE.POLYGON], + ['==', ['geometry-type'], GEO_JSON_TYPE.MULTI_POLYGON], + ['==', ['geometry-type'], GEO_JSON_TYPE.LINE_STRING], + ['==', ['geometry-type'], GEO_JSON_TYPE.MULTI_LINE_STRING], + ], ]; const VISIBLE_ALL_SHAPE_MB_FILTER = [...VISIBILITY_FILTER_CLAUSE, ALL_SHAPE_MB_FILTER]; const POINT_MB_FILTER = [ - 'any', - ['==', ['geometry-type'], GEO_JSON_TYPE.POINT], - ['==', ['geometry-type'], GEO_JSON_TYPE.MULTI_POINT], + ...TOO_MANY_FEATURES_FILTER, + [ + 'any', + ['==', ['geometry-type'], GEO_JSON_TYPE.POINT], + ['==', ['geometry-type'], GEO_JSON_TYPE.MULTI_POINT], + ], ]; const VISIBLE_POINT_MB_FILTER = [...VISIBILITY_FILTER_CLAUSE, POINT_MB_FILTER]; diff --git a/x-pack/plugins/maps/public/connected_components/map/mb/view.js b/x-pack/plugins/maps/public/connected_components/map/mb/view.js index d85959c3a08a4..e1db58e927541 100644 --- a/x-pack/plugins/maps/public/connected_components/map/mb/view.js +++ b/x-pack/plugins/maps/public/connected_components/map/mb/view.js @@ -10,7 +10,11 @@ import { ResizeChecker } from '../../../../../../../src/plugins/kibana_utils/pub import { removeOrphanedSourcesAndLayers, addSpritesheetToMap } from './utils'; import { syncLayerOrder } from './sort_layers'; import { getGlyphUrl, isRetina } from '../../../meta'; -import { DECIMAL_DEGREES_PRECISION, ZOOM_PRECISION } from '../../../../common/constants'; +import { + DECIMAL_DEGREES_PRECISION, + KBN_TOO_MANY_FEATURES_IMAGE_ID, + ZOOM_PRECISION, +} from '../../../../common/constants'; import mapboxgl from 'mapbox-gl/dist/mapbox-gl-csp'; import mbWorkerUrl from '!!file-loader!mapbox-gl/dist/mapbox-gl-csp-worker'; import mbRtlPlugin from '!!file-loader!@mapbox/mapbox-gl-rtl-text/mapbox-gl-rtl-text.min.js'; @@ -143,6 +147,15 @@ export class MBMap extends React.Component { mbMap.addControl(new mapboxgl.NavigationControl({ showCompass: false }), 'top-left'); } + const hatchImageBase64 = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAADhCAYAAAByfIirAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAKYUAACmFAY9V/uEAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAlLSURBVHhe7dtRCuNmEoXREGb/S5h9ZHWZkhiBQXVjrB9cinw+aEM3nFwRCj9Zf1R/15+/6s9/tr+86c/689/6s5njD9vHsin2uvU/KsSyKXbOXobb39lzLJti1+3bEtz+/V0sm2LZ1GU7MlqxbIpl20ZGK5ZNsWzbyGjFsimWbRsZrVg2xbJtI6MVy6ZYtm1ktGLZFMu2jYxWLJti2baR0YplUywbmxhln223XzJP7LLPtvsv5K/AqQdm72+3o9reFbtip56Zvb897uqro+yzrS8rNrViX+9q/1h5e/obD8z+O6276mOvW0cVYtesu+pj16yjamLXrbs6x67bt93tgdlzLJv6KTsyWrFsimXbRkYrlk2xbNvIaMWyKZZtGxmtWDbFsm0joxXLpli2bWS0YtkUy7aNjFYsm2LZtpHRimVTLBubGGWfbbdfuU/sss+2+9sTV+DUA7P3t9tRHW/Wf2qnnpm9vz3u6quj7LOtLys2tWJf72r/8GZ9H7tm3VUfe906qhC7Zt1VH7tmHVUTu27d1Tl23b7tbg/MnmPZ1E/ZkdGKZVMs2zYyWrFsimXbRkYrlk2xbNvIaMWyKZZtGxmtWDbFsm0joxXLpli2bWS0YtkUy7aNjFYsm2LZ2MQo+2y7/cp9Ypd9tt3fnrgCpx6Yvb/djup4s/5TO/XM7P3tcVdfHWWfbX1ZsakV+3pX+4c36/vYNeuu+tjr1lGF2DXrrvrYNeuomth1667Osev2bXd7YPYcy6Z+yo6MViybYtm2kdGKZVMs2zYyWrFsimXbRkYrlk2xbNvIaMWyKZZtGxmtWDbFsm0joxXLpli2bWS0YtkUy8YmRtln2+1X7hO77LPt/vbEFTj1wOz97XZUx5v1n9qpZ2bvb4+7+uoo+2zry4pNrdjXu9o/vFnfx65Zd9XHXreOKsSuWXfVx65ZR9XErlt3dY5dt2+72wOz51g29VN2ZLRi2RTLto2MViybYtm2kdGKZVMs2zYyWrFsimXbRkYrlk2xbNvIaMWyKZZtGxmtWDbFsm0joxXLplg2NjHKPttuv3Kf2GWfbfe3J67AqQdm72+3ozrerP/UTj0ze3973NVXR9lnW19WbGrFvt7V/uHN+j52zbqrPva6dVQhds26qz52zTqqJnbduqtz7Lp9290emD3HsqmfsiOjFcumWLZtZLRi2RTLto2MViybYtm2kdGKZVMs2zYyWrFsimXbRkYrlk2xbNvIaMWyKZZtGxmtWDbFsrGJUfbZdvuV+8Qu+2y7vz1xBU49MHt/ux3V8Wb9p3bqmdn72+OuvjrKPtv6smJTK/b1rvYPb9b3sWvWXfWx162jCrFr1l31sWvWUTWx69ZdnWPX7dvu9sDsOZZN/ZQdGa1YNsWybSOjFcumWLZtZLRi2RTLto2MViybYtm2kdGKZVMs2zYyWrFsimXbRkYrlk2xbNvIaMWyKZaNTYyyz7bbr9wndtln2/3tiStw6oHZ+9vtqI436z+1U8/M3t8ed/XVUfbZ1pcVm1qxr3e1f3izvo9ds+6qj71uHVWIXbPuqo9ds46qiV237uocu27fdrcHZs+xbOqn7MhoxbIplm0bGa1YNsWybSOjFcumWLZtZLRi2RTLto2MViybYtm2kdGKZVMs2zYyWrFsimXbRkYrlk2xbGxilH223X7lPrHLPtvub09cgVMPzN7fbkd1vFn/qZ16Zvb+9rirr46yz7a+rNjUin29q/3Dm/V97Jp1V33sdeuoQuyadVd97Jp1VE3sunVX59h1+7a7PTB7jmVTP2VHRiuWTbFs28hoxbIplm0bGa1YNsWybSOjFcumWLZtZLRi2RTLto2MViybYtm2kdGKZVMs2zYyWrFsimVjE6Pss+32K/eJXfbZdn974gqcemD2/nY7quPN+k/t1DOz97fHXX11lH229WXFplbs613tH96s72PXrLvqY69bRxVi16y76mPXrKNqYtetuzrHrtu33e2B2XMsm/opOzJasWyKZdtGRiuWTbFs28hoxbIplm0bGa1YNsWybSOjFcumWLZtZLRi2RTLto2MViybYtm2kdGKZVMsG7sKt18ys2wXy6ZW7WV4vD3N/nMsm2I/tyOj7PtYNvXLdv/Y/rL947u2//g28jrK9rFsir1u/Y8KsWyKnbOX4fZ39hzLpth1+7YEt39/F8umWDZ12Y6MViybYtm2kdGKZVMs2zYyWrFsimXbRkYrlk2xbNvIaMWyKZZtGxmtWDbFsm0joxXLpli2bWS0YtkUy8YmRtln2+2XzBO77LPt/gv5K3Dqgdn72+2otnfFrtipZ2bvb4+7+uoo+2zry4pNrdjXu9o/Vt6e/sYDs/9O66762OvWUYXYNeuu+tg166ia2HXrrs6x6/Ztd3tg9hzLpn7KjoxWLJti2baR0YplUyzbNjJasWyKZdtGRiuWTbFs28hoxbIplm0bGa1YNsWybSOjFcumWLZtZLRi2RTLxiZG2Wfb7VfuE7vss+3+9sQVOPXA7P3tdlTHm/Wf2qlnZu9vj7v66ij7bOvLik2t2Ne72j+8Wd/Hrll31cdet44qxK5Zd9XHrllH1cSuW3d1jl23b7vbA7PnWDb1U3ZktGLZFMu2jYxWLJti2baR0YplUyzbNjJasWyKZdtGRiuWTbFs28hoxbIplm0bGa1YNsWybSOjFcumWDY2Mco+226/cp/YZZ9t97cnrsCpB2bvb7ejOt6s/9ROPTN7f3vc1VdH2WdbX1ZsasW+3tX+4c36PnbNuqs+9rp1VCF2zbqrPnbNOqomdt26q3Psun3b3R6YPceyqZ+yI6MVy6ZYtm1ktGLZFMu2jYxWLJti2baR0YplUyzbNjJasWyKZdtGRiuWTbFs28hoxbIplm0bGa1YNsWysYlR9tl2+5X7xC77bLu/PXEFTj0we3+7HdXxZv2nduqZ2fvb466+Oso+2/qyYlMr9vWu9g9v1vexa9Zd9bHXraMKsWvWXfWxa9ZRNbHr1l2dY9ft2+72wOw5lk39lB0ZrVg2xbJtI6MVy6ZYtm1ktGLZFMu2jYxWLJti2baR0YplUyzbNjJasWyKZdtGRiuWTbFs28hoxbIplo1NjLLPttuv3Cd22Wfb/e2JK3Dqgdn72+2ojjfrP7VTz8ze3x539dVR9tnWlxWbWrH/v6s//v4fiP+fU3FxzHsAAAAASUVORK5CYII='; + + const hatchImage = new Image(); + hatchImage.onload = () => { + mbMap.addImage(KBN_TOO_MANY_FEATURES_IMAGE_ID, hatchImage); + }; + hatchImage.src = hatchImageBase64; + let emptyImage; mbMap.on('styleimagemissing', (e) => { if (emptyImage) { diff --git a/x-pack/plugins/maps/server/mvt/get_tile.ts b/x-pack/plugins/maps/server/mvt/get_tile.ts new file mode 100644 index 0000000000000..3ffd56e915b3f --- /dev/null +++ b/x-pack/plugins/maps/server/mvt/get_tile.ts @@ -0,0 +1,248 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import geojsonvt from 'geojson-vt'; +import vtpbf from 'vt-pbf'; +import _ from 'lodash'; +import { + FEATURE_ID_PROPERTY_NAME, + MVT_SOURCE_LAYER_NAME, + KBN_TOO_MANY_FEATURES_PROPERTY, +} from '../../common/constants'; + +export async function getTile({ + logger, + callElasticSearch, + indexPattern, + geometryFieldName, + x, + y, + z, + requestBody = {}, +}) { + const geojsonBbox = tileToGeoJsonPolygon(x, y, z); + + logger.warn({ polygon: geojsonBbox }); + let resultFeatures; + + try { + let result; + try { + const geoShapeFilter = { + geo_shape: { + [geometryFieldName]: { + shape: geojsonBbox, + relation: 'INTERSECTS', + }, + }, + }; + + requestBody.query.bool.filter.push(geoShapeFilter); + + const esSearchQuery = { + index: indexPattern, + body: requestBody, + }; + + const esCountQuery = { + index: indexPattern, + body: { + query: requestBody.query, + }, + }; + + logger.warn(`going to call elasticsearch count`); + const countResult = await callElasticSearch('count', esCountQuery); + + if (countResult.count > requestBody.size) { + const bboxAggName = 'data_bounds'; + const bboxQuery = { + index: indexPattern, + body: { + size: 0, + query: requestBody.query, + aggs: { + [bboxAggName]: { + geo_bounds: { + field: geometryFieldName, + }, + }, + }, + }, + }; + + logger.warn(`going to call size`); + const bboxResult = await callElasticSearch('search', bboxQuery); + logger.warn({ agg: bboxResult.aggregations[bboxAggName] }); + + const bboxForData = esBboxToGeoJsonPolygon( + bboxResult.aggregations[bboxAggName].bounds, + logger + ); + + logger.warn({ bboxForData }); + logger.warn({ coordinates: bboxForData.coordinates }); + + resultFeatures = [ + { + type: 'Feature', + properties: { + [KBN_TOO_MANY_FEATURES_PROPERTY]: true, + }, + // geometry: geojsonBbox, + geometry: bboxForData, + }, + ]; + } else { + result = await callElasticSearch('search', esSearchQuery); + + const feats = result.hits.hits.map((hit) => { + let geomType; + const geometry = hit._source[geometryFieldName]; + if (geometry.type === 'polygon' || geometry.type === 'Polygon') { + geomType = 'Polygon'; + } else if (geometry.type === 'multipolygon' || geometry.type === 'MultiPolygon') { + geomType = 'MultiPolygon'; + } else if (geometry.type === 'linestring' || geometry.type === 'LineString') { + geomType = 'LineString'; + } else if (geometry.type === 'multilinestring' || geometry.type === 'MultiLineString') { + geomType = 'MultiLineString'; + } else if (geometry.type === 'point' || geometry.type === 'Point') { + geomType = 'Point'; + } else if (geometry.type === 'MultiPoint' || geometry.type === 'multipoint') { + geomType = 'MultiPoint'; + } else { + return null; + } + const geometryGeoJson = { + type: geomType, + coordinates: geometry.coordinates, + }; + + const firstFields = {}; + if (hit.fields) { + const fields = hit.fields; + Object.keys(fields).forEach((key) => { + const value = fields[key]; + if (Array.isArray(value)) { + firstFields[key] = value[0]; + } else { + firstFields[key] = value; + } + }); + } + + const properties = { + ...hit._source, + ...firstFields, + _id: hit._id, + _index: hit._index, + [FEATURE_ID_PROPERTY_NAME]: hit._id, + [KBN_TOO_MANY_FEATURES_PROPERTY]: false, + }; + delete properties[geometryFieldName]; + + return { + type: 'Feature', + id: hit._id, + geometry: geometryGeoJson, + properties, + }; + }); + + resultFeatures = feats.filter((f) => !!f); + } + } catch (e) { + logger.warn(e.message); + throw e; + } + + const featureCollection = { + features: resultFeatures, + type: 'FeatureCollection', + }; + + const tileIndex = geojsonvt(featureCollection, { + maxZoom: 24, // max zoom to preserve detail on; can't be higher than 24 + tolerance: 3, // simplification tolerance (higher means simpler) + extent: 4096, // tile extent (both width and height) + buffer: 64, // tile buffer on each side + debug: 0, // logging level (0 to disable, 1 or 2) + lineMetrics: false, // whether to enable line metrics tracking for LineString/MultiLineString features + promoteId: null, // name of a feature property to promote to feature.id. Cannot be used with `generateId` + generateId: false, // whether to generate feature ids. Cannot be used with `promoteId` + indexMaxZoom: 5, // max zoom in the initial tile index + indexMaxPoints: 100000, // max number of points per tile in the index + }); + const tile = tileIndex.getTile(z, x, y); + + if (tile) { + const pbf = vtpbf.fromGeojsonVt({ [MVT_SOURCE_LAYER_NAME]: tile }, { version: 2 }); + return Buffer.from(pbf); + } else { + return null; + } + } catch (e) { + return null; + } +} + +function tileToGeoJsonPolygon(x, y, z) { + const wLon = tile2long(x, z); + const sLat = tile2lat(y + 1, z); + const eLon = tile2long(x + 1, z); + const nLat = tile2lat(y, z); + + const polygon = { + type: 'Polygon', + coordinates: [ + [ + [wLon, sLat], + [wLon, nLat], + [eLon, nLat], + [eLon, sLat], + [wLon, sLat], + ], + ], + }; + + return polygon; +} + +tile2long(0, 1); +tile2lat(1, 20); + +function tile2long(x, z) { + return (x / Math.pow(2, z)) * 360 - 180; +} + +function tile2lat(y, z) { + const n = Math.PI - (2 * Math.PI * y) / Math.pow(2, z); + return (180 / Math.PI) * Math.atan(0.5 * (Math.exp(n) - Math.exp(-n))); +} + +function esBboxToGeoJsonPolygon(esBounds, logger) { + let minLon = esBounds.top_left.lon; + const maxLon = esBounds.bottom_right.lon; + minLon = minLon > maxLon ? minLon - 360 : minLon; // fixes an ES bbox to straddle dateline + const minLat = esBounds.bottom_right.lat; + const maxLat = esBounds.top_left.lat; + + logger.warn({ minLon, maxLon, minLat, maxLat }); + + return { + type: 'Polygon', + coordinates: [ + [ + [minLon, minLat], + [minLon, maxLat], + [maxLon, maxLat], + [maxLon, minLat], + [minLon, minLat], + ], + ], + }; +} diff --git a/x-pack/plugins/maps/server/mvt/mvt_routes.ts b/x-pack/plugins/maps/server/mvt/mvt_routes.ts new file mode 100644 index 0000000000000..b814ee1e12f13 --- /dev/null +++ b/x-pack/plugins/maps/server/mvt/mvt_routes.ts @@ -0,0 +1,95 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import rison from 'rison-node'; +import { schema } from '@kbn/config-schema'; +import { MVT_GETTILE_API_PATH, API_ROOT_PATH } from '../../common/constants'; +import { getTile } from './get_tile'; + +const CACHE_TIMEOUT = 0; + +export function initMVTRoutes({ router, logger }) { + logger.info('init mvt routes'); + logger.warn('init'); + + router.get( + { + path: `${API_ROOT_PATH}/${MVT_GETTILE_API_PATH}`, + validate: { + query: schema.object({ + x: schema.number(), + y: schema.number(), + z: schema.number(), + geometryFieldName: schema.string(), + fields: schema.string(), + requestBody: schema.string(), + indexPattern: schema.string(), + }), + }, + }, + async (context, request, response) => { + const { query } = request; + + logger.info({ query }); + + const callElasticSearch = async (...args) => { + return await context.core.elasticsearch.legacy.client.callAsCurrentUser(...args); + }; + + const indexPattern = query.indexPattern; + + const x = parseInt(query.x, 10); + const y = parseInt(query.y, 10); + const z = parseInt(query.z, 10); + + const geometryFieldName = query.geometryFieldName; + const fields = query.fields ? query.fields.split(',') : []; + const size = parseInt(query.size, 10) || 10000; + + logger.info({ size }); + logger.info({ x, y, z }); + + const requestBodyDSL = rison.decode(query.requestBody); + logger.info({ requestBodyDSL }); + const tile = await getTile({ + logger, + callElasticSearch, + request, + size, + geometryFieldName, + fields, + x, + y, + z, + indexPattern, + requestBody: requestBodyDSL, + }); + + logger.info({ tile }); + if (!tile) { + logger.info('empty tile'); + return response.ok({ + headers: { + 'content-disposition': 'inline', + 'content-length': 0, + 'Content-Type': 'application/x-protobuf', + 'Cache-Control': `max-age=${CACHE_TIMEOUT}`, + }, + }); + } + + return response.ok({ + body: tile, + headers: { + 'content-disposition': 'inline', + 'content-length': tile.length, + 'Content-Type': 'application/x-protobuf', + 'Cache-Control': `max-age=${CACHE_TIMEOUT}`, + }, + }); + } + ); +} diff --git a/x-pack/plugins/maps/server/routes.js b/x-pack/plugins/maps/server/routes.js index 1876c0de19c56..6b19103b59722 100644 --- a/x-pack/plugins/maps/server/routes.js +++ b/x-pack/plugins/maps/server/routes.js @@ -22,6 +22,7 @@ import { EMS_SPRITES_PATH, INDEX_SETTINGS_API_PATH, FONTS_API_PATH, + API_ROOT_PATH, } from '../common/constants'; import { EMSClient } from '@elastic/ems-client'; import fetch from 'node-fetch'; @@ -30,8 +31,7 @@ import { getIndexPatternSettings } from './lib/get_index_pattern_settings'; import { schema } from '@kbn/config-schema'; import fs from 'fs'; import path from 'path'; - -const ROOT = `/${GIS_API_PATH}`; +import { initMVTRoutes } from './mvt/mvt_routes'; export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { let emsClient; @@ -69,7 +69,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_FILES_API_PATH}/${EMS_FILES_DEFAULT_JSON_PATH}`, + path: `${API_ROOT_PATH}/${EMS_FILES_API_PATH}/${EMS_FILES_DEFAULT_JSON_PATH}`, validate: { query: schema.object({ id: schema.maybe(schema.string()), @@ -109,7 +109,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_TILES_API_PATH}/${EMS_TILES_RASTER_TILE_PATH}`, + path: `${API_ROOT_PATH}/${EMS_TILES_API_PATH}/${EMS_TILES_RASTER_TILE_PATH}`, validate: false, }, async (context, request, response) => { @@ -145,7 +145,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_CATALOGUE_PATH}`, + path: `${API_ROOT_PATH}/${EMS_CATALOGUE_PATH}`, validate: false, }, async (context, request, { ok, badRequest }) => { @@ -181,7 +181,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_FILES_CATALOGUE_PATH}/{emsVersion}/manifest`, + path: `${API_ROOT_PATH}/${EMS_FILES_CATALOGUE_PATH}/{emsVersion}/manifest`, validate: false, }, async (context, request, { ok, badRequest }) => { @@ -213,7 +213,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_TILES_CATALOGUE_PATH}/{emsVersion}/manifest`, + path: `${API_ROOT_PATH}/${EMS_TILES_CATALOGUE_PATH}/{emsVersion}/manifest`, validate: false, }, async (context, request, { ok, badRequest }) => { @@ -257,7 +257,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_TILES_API_PATH}/${EMS_TILES_RASTER_STYLE_PATH}`, + path: `${API_ROOT_PATH}/${EMS_TILES_API_PATH}/${EMS_TILES_RASTER_STYLE_PATH}`, validate: { query: schema.object({ id: schema.maybe(schema.string()), @@ -293,7 +293,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_TILES_API_PATH}/${EMS_TILES_VECTOR_STYLE_PATH}`, + path: `${API_ROOT_PATH}/${EMS_TILES_API_PATH}/${EMS_TILES_VECTOR_STYLE_PATH}`, validate: { query: schema.object({ id: schema.string(), @@ -341,7 +341,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_TILES_API_PATH}/${EMS_TILES_VECTOR_SOURCE_PATH}`, + path: `${API_ROOT_PATH}/${EMS_TILES_API_PATH}/${EMS_TILES_VECTOR_SOURCE_PATH}`, validate: { query: schema.object({ id: schema.string(), @@ -379,7 +379,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_TILES_API_PATH}/${EMS_TILES_VECTOR_TILE_PATH}`, + path: `${API_ROOT_PATH}/${EMS_TILES_API_PATH}/${EMS_TILES_VECTOR_TILE_PATH}`, validate: { query: schema.object({ id: schema.string(), @@ -417,7 +417,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_TILES_API_PATH}/${EMS_GLYPHS_PATH}/{fontstack}/{range}`, + path: `${API_ROOT_PATH}/${EMS_TILES_API_PATH}/${EMS_GLYPHS_PATH}/{fontstack}/{range}`, validate: { params: schema.object({ fontstack: schema.string(), @@ -439,7 +439,7 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { router.get( { - path: `${ROOT}/${EMS_TILES_API_PATH}/${EMS_SPRITES_PATH}/{id}/sprite{scaling?}.{extension}`, + path: `${API_ROOT_PATH}/${EMS_TILES_API_PATH}/${EMS_SPRITES_PATH}/{id}/sprite{scaling?}.{extension}`, validate: { query: schema.object({ elastic_tile_service_tos: schema.maybe(schema.string()), @@ -591,4 +591,6 @@ export function initRoutes(router, licenseUid, mapConfig, kbnVersion, logger) { return response.badRequest(`Cannot connect to EMS`); } } + + initMVTRoutes({ router, logger }); } From 4da768c117872f2092f45dbef1b9f91f721ddf10 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Fri, 14 Aug 2020 03:19:39 -0400 Subject: [PATCH 02/51] cleanup --- .../es_search_source/es_search_source.d.ts | 14 ++++++- .../es_search_source/es_search_source.js | 10 +---- .../public/classes/util/assign_feature_ids.ts | 6 ++- x-pack/plugins/maps/server/mvt/get_tile.ts | 26 +++---------- x-pack/plugins/maps/server/mvt/mvt_routes.ts | 37 +++++++------------ 5 files changed, 38 insertions(+), 55 deletions(-) diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts index b991e2964a024..fb0dc07242d2b 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts @@ -5,7 +5,7 @@ */ import { AbstractESSource } from '../es_source'; -import { ESSearchSourceDescriptor } from '../../../../common/descriptor_types'; +import { ESSearchSourceDescriptor, MapFilters } from '../../../../common/descriptor_types'; import { ITiledSingleLayerVectorSource } from '../vector_source'; export class ESSearchSource extends AbstractESSource implements ITiledSingleLayerVectorSource { @@ -13,4 +13,16 @@ export class ESSearchSource extends AbstractESSource implements ITiledSingleLaye constructor(sourceDescriptor: Partial, inspectorAdapters: unknown); getFieldNames(): string[]; + + getUrlTemplateWithMeta( + searchFilters: MapFilters + ): Promise<{ + layerName: string; + urlTemplate: string; + minSourceZoom: number; + maxSourceZoom: number; + }>; + getMinZoom(): number; + getMaxZoom(): number; + getLayerName(): string; } diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js index de1a4e9e71a88..3d02136247101 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js @@ -588,13 +588,7 @@ export class ESSearchSource extends AbstractESSource { const indexSettings = await loadIndexSettings(indexPattern.title); //assuming only geo_shape fields for now - const initialSearchContext = { - // docvalue_fields: await this._getDateDocvalueFields(searchFilters.fieldNames), - }; - // const geoField = await this._getGeoField(); - // const docValueFields = await this._excludeDateFields(searchFilters.fieldNames); - // const withoutGeoField = docValueFields.filter((field) => field !== geoField.name); - // initialSearchContext.docvalue_fields.push(...withoutGeoField); + const initialSearchContext = {}; const searchSource = await this.makeSearchSource( searchFilters, @@ -605,7 +599,7 @@ export class ESSearchSource extends AbstractESSource { const ipTitle = indexPattern.title; const geometryFieldName = this._descriptor.geoField; - const fields = ['_id']; //todo needs to include correct fields + const fields = ['_id']; // todo needs to include correct fields const fieldsParam = fields.join(','); const dsl = await searchSource.getSearchRequestBody(); diff --git a/x-pack/plugins/maps/public/classes/util/assign_feature_ids.ts b/x-pack/plugins/maps/public/classes/util/assign_feature_ids.ts index e5c170a803174..7113653090d6f 100644 --- a/x-pack/plugins/maps/public/classes/util/assign_feature_ids.ts +++ b/x-pack/plugins/maps/public/classes/util/assign_feature_ids.ts @@ -6,7 +6,10 @@ import _ from 'lodash'; import { FeatureCollection, Feature } from 'geojson'; -import { FEATURE_ID_PROPERTY_NAME } from '../../../common/constants'; +import { + FEATURE_ID_PROPERTY_NAME, + KBN_TOO_MANY_FEATURES_PROPERTY, +} from '../../../common/constants'; let idCounter = 0; @@ -43,6 +46,7 @@ export function assignFeatureIds(featureCollection: FeatureCollection): FeatureC properties: { // preserve feature id provided by source so features can be referenced across fetches [FEATURE_ID_PROPERTY_NAME]: feature.id == null ? numericId : feature.id, + [KBN_TOO_MANY_FEATURES_PROPERTY]: false, // create new object for properties so original is not polluted with kibana internal props ...feature.properties, }, diff --git a/x-pack/plugins/maps/server/mvt/get_tile.ts b/x-pack/plugins/maps/server/mvt/get_tile.ts index 3ffd56e915b3f..d37fd77ac2c01 100644 --- a/x-pack/plugins/maps/server/mvt/get_tile.ts +++ b/x-pack/plugins/maps/server/mvt/get_tile.ts @@ -6,7 +6,6 @@ import geojsonvt from 'geojson-vt'; import vtpbf from 'vt-pbf'; -import _ from 'lodash'; import { FEATURE_ID_PROPERTY_NAME, MVT_SOURCE_LAYER_NAME, @@ -25,9 +24,7 @@ export async function getTile({ }) { const geojsonBbox = tileToGeoJsonPolygon(x, y, z); - logger.warn({ polygon: geojsonBbox }); let resultFeatures; - try { let result; try { @@ -54,10 +51,10 @@ export async function getTile({ }, }; - logger.warn(`going to call elasticsearch count`); const countResult = await callElasticSearch('count', esCountQuery); if (countResult.count > requestBody.size) { + // Generate "too many features"-bounds const bboxAggName = 'data_bounds'; const bboxQuery = { index: indexPattern, @@ -74,17 +71,8 @@ export async function getTile({ }, }; - logger.warn(`going to call size`); const bboxResult = await callElasticSearch('search', bboxQuery); - logger.warn({ agg: bboxResult.aggregations[bboxAggName] }); - - const bboxForData = esBboxToGeoJsonPolygon( - bboxResult.aggregations[bboxAggName].bounds, - logger - ); - - logger.warn({ bboxForData }); - logger.warn({ coordinates: bboxForData.coordinates }); + const bboxForData = esBboxToGeoJsonPolygon(bboxResult.aggregations[bboxAggName].bounds); resultFeatures = [ { @@ -92,11 +80,11 @@ export async function getTile({ properties: { [KBN_TOO_MANY_FEATURES_PROPERTY]: true, }, - // geometry: geojsonBbox, geometry: bboxForData, }, ]; } else { + // Perform actual search result = await callElasticSearch('search', esSearchQuery); const feats = result.hits.hits.map((hit) => { @@ -196,7 +184,7 @@ function tileToGeoJsonPolygon(x, y, z) { const eLon = tile2long(x + 1, z); const nLat = tile2lat(y, z); - const polygon = { + return { type: 'Polygon', coordinates: [ [ @@ -208,8 +196,6 @@ function tileToGeoJsonPolygon(x, y, z) { ], ], }; - - return polygon; } tile2long(0, 1); @@ -224,15 +210,13 @@ function tile2lat(y, z) { return (180 / Math.PI) * Math.atan(0.5 * (Math.exp(n) - Math.exp(-n))); } -function esBboxToGeoJsonPolygon(esBounds, logger) { +function esBboxToGeoJsonPolygon(esBounds) { let minLon = esBounds.top_left.lon; const maxLon = esBounds.bottom_right.lon; minLon = minLon > maxLon ? minLon - 360 : minLon; // fixes an ES bbox to straddle dateline const minLat = esBounds.bottom_right.lat; const maxLat = esBounds.top_left.lat; - logger.warn({ minLon, maxLon, minLat, maxLat }); - return { type: 'Polygon', coordinates: [ diff --git a/x-pack/plugins/maps/server/mvt/mvt_routes.ts b/x-pack/plugins/maps/server/mvt/mvt_routes.ts index b814ee1e12f13..78bfbbe96c2af 100644 --- a/x-pack/plugins/maps/server/mvt/mvt_routes.ts +++ b/x-pack/plugins/maps/server/mvt/mvt_routes.ts @@ -9,12 +9,9 @@ import { schema } from '@kbn/config-schema'; import { MVT_GETTILE_API_PATH, API_ROOT_PATH } from '../../common/constants'; import { getTile } from './get_tile'; -const CACHE_TIMEOUT = 0; +const CACHE_TIMEOUT = 0; // Todo. determine good value. Unsure about full-implications (e.g. wrt. time-based data). export function initMVTRoutes({ router, logger }) { - logger.info('init mvt routes'); - logger.warn('init'); - router.get( { path: `${API_ROOT_PATH}/${MVT_GETTILE_API_PATH}`, @@ -33,8 +30,6 @@ export function initMVTRoutes({ router, logger }) { async (context, request, response) => { const { query } = request; - logger.info({ query }); - const callElasticSearch = async (...args) => { return await context.core.elasticsearch.legacy.client.callAsCurrentUser(...args); }; @@ -48,12 +43,8 @@ export function initMVTRoutes({ router, logger }) { const geometryFieldName = query.geometryFieldName; const fields = query.fields ? query.fields.split(',') : []; const size = parseInt(query.size, 10) || 10000; - - logger.info({ size }); - logger.info({ x, y, z }); - const requestBodyDSL = rison.decode(query.requestBody); - logger.info({ requestBodyDSL }); + const tile = await getTile({ logger, callElasticSearch, @@ -68,9 +59,17 @@ export function initMVTRoutes({ router, logger }) { requestBody: requestBodyDSL, }); - logger.info({ tile }); - if (!tile) { - logger.info('empty tile'); + if (tile) { + return response.ok({ + body: tile, + headers: { + 'content-disposition': 'inline', + 'content-length': tile.length, + 'Content-Type': 'application/x-protobuf', + 'Cache-Control': `max-age=${CACHE_TIMEOUT}`, + }, + }); + } else { return response.ok({ headers: { 'content-disposition': 'inline', @@ -80,16 +79,6 @@ export function initMVTRoutes({ router, logger }) { }, }); } - - return response.ok({ - body: tile, - headers: { - 'content-disposition': 'inline', - 'content-length': tile.length, - 'Content-Type': 'application/x-protobuf', - 'Cache-Control': `max-age=${CACHE_TIMEOUT}`, - }, - }); } ); } From aae411f5ab32d769741da5304278516988a14271 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Fri, 14 Aug 2020 16:12:59 -0400 Subject: [PATCH 03/51] typing typing --- .../tiled_vector_layer/tiled_vector_layer.tsx | 16 +- x-pack/plugins/maps/server/mvt/get_tile.ts | 170 +++++++++++------- x-pack/plugins/maps/server/mvt/mvt_routes.ts | 36 ++-- 3 files changed, 124 insertions(+), 98 deletions(-) diff --git a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx index 34b9b8824d916..73c9fba17951b 100644 --- a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx +++ b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx @@ -65,13 +65,15 @@ export class TiledVectorLayer extends VectorLayer { if (prevDataRequest) { const data: MVTSingleLayerVectorSourceConfig = prevDataRequest.getData() as MVTSingleLayerVectorSourceConfig; - const canSkipBecauseNoChanges = - data.layerName === this._source.getLayerName() && - data.minSourceZoom === this._source.getMinZoom() && - data.maxSourceZoom === this._source.getMaxZoom(); - - if (canSkipBecauseNoChanges) { - return null; + if (data) { + const canSkipBecauseNoChanges = + data.layerName === this._source.getLayerName() && + data.minSourceZoom === this._source.getMinZoom() && + data.maxSourceZoom === this._source.getMaxZoom(); + + if (canSkipBecauseNoChanges) { + return null; + } } } diff --git a/x-pack/plugins/maps/server/mvt/get_tile.ts b/x-pack/plugins/maps/server/mvt/get_tile.ts index d37fd77ac2c01..3bde05b64f926 100644 --- a/x-pack/plugins/maps/server/mvt/get_tile.ts +++ b/x-pack/plugins/maps/server/mvt/get_tile.ts @@ -4,27 +4,51 @@ * you may not use this file except in compliance with the Elastic License. */ +// @ts-expect-error import geojsonvt from 'geojson-vt'; +// @ts-expect-error import vtpbf from 'vt-pbf'; +import { Logger } from 'src/core/server'; +import { Feature, FeatureCollection, GeoJsonProperties, Geometry, Polygon } from 'geojson'; import { FEATURE_ID_PROPERTY_NAME, MVT_SOURCE_LAYER_NAME, KBN_TOO_MANY_FEATURES_PROPERTY, } from '../../common/constants'; +interface ESBounds { + top_left: { + lon: number; + lat: number; + }; + bottom_right: { + lon: number; + lat: number; + }; +} + export async function getTile({ logger, - callElasticSearch, + callElasticsearch, indexPattern, geometryFieldName, x, y, z, requestBody = {}, -}) { +}: { + x: number; + y: number; + z: number; + geometryFieldName: string; + indexPattern: string; + callElasticsearch: (type: string, ...args: any[]) => Promise; + logger: Logger; + requestBody: any; +}): Promise { const geojsonBbox = tileToGeoJsonPolygon(x, y, z); - let resultFeatures; + let resultFeatures: Feature[]; try { let result; try { @@ -51,8 +75,9 @@ export async function getTile({ }, }; - const countResult = await callElasticSearch('count', esCountQuery); + const countResult = await callElasticsearch('count', esCountQuery); + // @ts-expect-error if (countResult.count > requestBody.size) { // Generate "too many features"-bounds const bboxAggName = 'data_bounds'; @@ -71,7 +96,9 @@ export async function getTile({ }, }; - const bboxResult = await callElasticSearch('search', bboxQuery); + const bboxResult = await callElasticsearch('search', bboxQuery); + + // @ts-expect-error const bboxForData = esBboxToGeoJsonPolygon(bboxResult.aggregations[bboxAggName].bounds); resultFeatures = [ @@ -85,70 +112,79 @@ export async function getTile({ ]; } else { // Perform actual search - result = await callElasticSearch('search', esSearchQuery); - - const feats = result.hits.hits.map((hit) => { - let geomType; - const geometry = hit._source[geometryFieldName]; - if (geometry.type === 'polygon' || geometry.type === 'Polygon') { - geomType = 'Polygon'; - } else if (geometry.type === 'multipolygon' || geometry.type === 'MultiPolygon') { - geomType = 'MultiPolygon'; - } else if (geometry.type === 'linestring' || geometry.type === 'LineString') { - geomType = 'LineString'; - } else if (geometry.type === 'multilinestring' || geometry.type === 'MultiLineString') { - geomType = 'MultiLineString'; - } else if (geometry.type === 'point' || geometry.type === 'Point') { - geomType = 'Point'; - } else if (geometry.type === 'MultiPoint' || geometry.type === 'multipoint') { - geomType = 'MultiPoint'; - } else { - return null; - } - const geometryGeoJson = { - type: geomType, - coordinates: geometry.coordinates, - }; - - const firstFields = {}; - if (hit.fields) { - const fields = hit.fields; - Object.keys(fields).forEach((key) => { - const value = fields[key]; - if (Array.isArray(value)) { - firstFields[key] = value[0]; - } else { - firstFields[key] = value; - } - }); - } + result = await callElasticsearch('search', esSearchQuery); - const properties = { - ...hit._source, - ...firstFields, - _id: hit._id, - _index: hit._index, - [FEATURE_ID_PROPERTY_NAME]: hit._id, - [KBN_TOO_MANY_FEATURES_PROPERTY]: false, - }; - delete properties[geometryFieldName]; - - return { - type: 'Feature', - id: hit._id, - geometry: geometryGeoJson, - properties, - }; - }); + // @ts-expect-error + const hitsFeatures: Array = result.hits.hits.map( + (hit: any): Feature | null => { + let geomType: + | 'Point' + | 'MultiPoint' + | 'LineString' + | 'MultiLineString' + | 'Polygon' + | 'MultiPolygon'; + const geometry = hit._source[geometryFieldName]; + if (geometry.type === 'polygon' || geometry.type === 'Polygon') { + geomType = 'Polygon'; + } else if (geometry.type === 'multipolygon' || geometry.type === 'MultiPolygon') { + geomType = 'MultiPolygon'; + } else if (geometry.type === 'linestring' || geometry.type === 'LineString') { + geomType = 'LineString'; + } else if (geometry.type === 'multilinestring' || geometry.type === 'MultiLineString') { + geomType = 'MultiLineString'; + } else if (geometry.type === 'point' || geometry.type === 'Point') { + geomType = 'Point'; + } else if (geometry.type === 'MultiPoint' || geometry.type === 'multipoint') { + geomType = 'MultiPoint'; + } else { + return null; + } + const geometryGeoJson: Geometry = { + type: geomType, + coordinates: geometry.coordinates, + }; + + const firstFields: GeoJsonProperties = {}; + if (hit.fields) { + const fields = hit.fields; + Object.keys(fields).forEach((key) => { + const value = fields[key]; + if (Array.isArray(value)) { + firstFields[key] = value[0]; + } else { + firstFields[key] = value; + } + }); + } + + const properties = { + ...hit._source, + ...firstFields, + _id: hit._id, + _index: hit._index, + [FEATURE_ID_PROPERTY_NAME]: hit._id, + [KBN_TOO_MANY_FEATURES_PROPERTY]: false, + }; + delete properties[geometryFieldName]; - resultFeatures = feats.filter((f) => !!f); + return { + type: 'Feature', + id: hit._id, + geometry: geometryGeoJson, + properties, + }; + } + ); + + resultFeatures = hitsFeatures.filter((f) => !!f) as Feature[]; } } catch (e) { logger.warn(e.message); throw e; } - const featureCollection = { + const featureCollection: FeatureCollection = { features: resultFeatures, type: 'FeatureCollection', }; @@ -174,11 +210,12 @@ export async function getTile({ return null; } } catch (e) { + logger.warn(`Cannot generate tile for ${z}/${x}/${y}: ${e.message}`); return null; } } -function tileToGeoJsonPolygon(x, y, z) { +function tileToGeoJsonPolygon(x: number, y: number, z: number): Polygon { const wLon = tile2long(x, z); const sLat = tile2lat(y + 1, z); const eLon = tile2long(x + 1, z); @@ -198,19 +235,16 @@ function tileToGeoJsonPolygon(x, y, z) { }; } -tile2long(0, 1); -tile2lat(1, 20); - -function tile2long(x, z) { +function tile2long(x: number, z: number): number { return (x / Math.pow(2, z)) * 360 - 180; } -function tile2lat(y, z) { +function tile2lat(y: number, z: number): number { const n = Math.PI - (2 * Math.PI * y) / Math.pow(2, z); return (180 / Math.PI) * Math.atan(0.5 * (Math.exp(n) - Math.exp(-n))); } -function esBboxToGeoJsonPolygon(esBounds) { +function esBboxToGeoJsonPolygon(esBounds: ESBounds): Polygon { let minLon = esBounds.top_left.lon; const maxLon = esBounds.bottom_right.lon; minLon = minLon > maxLon ? minLon - 360 : minLon; // fixes an ES bbox to straddle dateline diff --git a/x-pack/plugins/maps/server/mvt/mvt_routes.ts b/x-pack/plugins/maps/server/mvt/mvt_routes.ts index 78bfbbe96c2af..4560840b04c21 100644 --- a/x-pack/plugins/maps/server/mvt/mvt_routes.ts +++ b/x-pack/plugins/maps/server/mvt/mvt_routes.ts @@ -6,12 +6,14 @@ import rison from 'rison-node'; import { schema } from '@kbn/config-schema'; +import { Logger } from 'src/core/server'; +import { IRouter } from 'src/core/server'; import { MVT_GETTILE_API_PATH, API_ROOT_PATH } from '../../common/constants'; import { getTile } from './get_tile'; const CACHE_TIMEOUT = 0; // Todo. determine good value. Unsure about full-implications (e.g. wrt. time-based data). -export function initMVTRoutes({ router, logger }) { +export function initMVTRoutes({ router, logger }: { logger: Logger; router: IRouter }) { router.get( { path: `${API_ROOT_PATH}/${MVT_GETTILE_API_PATH}`, @@ -30,32 +32,20 @@ export function initMVTRoutes({ router, logger }) { async (context, request, response) => { const { query } = request; - const callElasticSearch = async (...args) => { - return await context.core.elasticsearch.legacy.client.callAsCurrentUser(...args); + const callElasticsearch = async (type: string, ...args: any[]): Promise => { + return await context.core.elasticsearch.legacy.client.callAsCurrentUser(type, ...args); }; - const indexPattern = query.indexPattern; - - const x = parseInt(query.x, 10); - const y = parseInt(query.y, 10); - const z = parseInt(query.z, 10); - - const geometryFieldName = query.geometryFieldName; - const fields = query.fields ? query.fields.split(',') : []; - const size = parseInt(query.size, 10) || 10000; const requestBodyDSL = rison.decode(query.requestBody); const tile = await getTile({ logger, - callElasticSearch, - request, - size, - geometryFieldName, - fields, - x, - y, - z, - indexPattern, + callElasticsearch, + geometryFieldName: query.geometryFieldName, + x: query.x, + y: query.y, + z: query.z, + indexPattern: query.indexPattern, requestBody: requestBodyDSL, }); @@ -64,7 +54,7 @@ export function initMVTRoutes({ router, logger }) { body: tile, headers: { 'content-disposition': 'inline', - 'content-length': tile.length, + 'content-length': `${tile.length}`, 'Content-Type': 'application/x-protobuf', 'Cache-Control': `max-age=${CACHE_TIMEOUT}`, }, @@ -73,7 +63,7 @@ export function initMVTRoutes({ router, logger }) { return response.ok({ headers: { 'content-disposition': 'inline', - 'content-length': 0, + 'content-length': '0', 'Content-Type': 'application/x-protobuf', 'Cache-Control': `max-age=${CACHE_TIMEOUT}`, }, From a3fbf97b80593059978baea97150560ffd00993a Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Fri, 14 Aug 2020 16:52:35 -0400 Subject: [PATCH 04/51] update snapshot --- .../__snapshots__/scaling_form.test.tsx.snap | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap index 8ebb389472f74..4487be0fd0fd5 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap @@ -50,6 +50,20 @@ exports[`should disable clusters option when clustering is not supported 1`] = ` onChange={[Function]} /> + + .mvt tile protocol + + + } + onChange={[Function]} + />
+ + .mvt tile protocol + + + } + onChange={[Function]} + /> + + .mvt tile protocol + + + } + onChange={[Function]} + /> Date: Fri, 14 Aug 2020 18:13:04 -0400 Subject: [PATCH 05/51] Enable mvt only for geo_shape --- .../__snapshots__/scaling_form.test.tsx.snap | 3 +++ .../es_search_source/create_source_editor.js | 5 +++++ .../sources/es_search_source/scaling_form.tsx | 13 ++++++++++++- .../es_search_source/update_source_editor.js | 10 ++++++++++ x-pack/plugins/maps/public/index_pattern_util.ts | 10 ++++++++++ 5 files changed, 40 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap index 4487be0fd0fd5..ebb841070fea4 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap @@ -52,6 +52,7 @@ exports[`should disable clusters option when clustering is not supported 1`] = ` @@ -130,6 +131,7 @@ exports[`should render 1`] = ` /> @@ -208,6 +210,7 @@ exports[`should render top hits form when scaling type is TOP_HITS 1`] = ` /> diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/create_source_editor.js b/x-pack/plugins/maps/public/classes/sources/es_search_source/create_source_editor.js index 0423d70b3f427..29cac809799e9 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/create_source_editor.js +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/create_source_editor.js @@ -19,6 +19,8 @@ import { getTermsFields, getGeoTileAggNotSupportedReason, supportsGeoTileAgg, + supportsMvt, + getMvtDisabledReason, } from '../../../index_pattern_util'; function doesGeoFieldSupportGeoTileAgg(indexPattern, geoFieldName) { @@ -147,6 +149,7 @@ export class CreateSourceEditor extends Component { return null; } + const mvtSupported = supportsMvt(this.state.indexPattern, this.state.geoFieldName); return ( @@ -159,6 +162,8 @@ export class CreateSourceEditor extends Component { this.state.indexPattern, this.state.geoFieldName )} + supportsMvt={mvtSupported} + mvtDisabledReason={mvtSupported ? null : getMvtDisabledReason()} clusteringDisabledReason={ this.state.indexPattern ? getGeoTileAggNotSupportedReason( diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx index 8535e126e37c8..732f139ae294d 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx @@ -40,7 +40,9 @@ interface Props { onChange: (args: OnSourceChangeArgs) => void; scalingType: SCALING_TYPES; supportsClustering: boolean; + supportsMvt: boolean; clusteringDisabledReason?: string | null; + mvtDisabledReason?: string | null; termFields: IFieldType[]; topHitsSplitField: string | null; topHitsSize: number; @@ -231,14 +233,23 @@ export class ScalingForm extends Component { /> ); - return ( + const mvtRadio = ( this._onScalingTypeChange(SCALING_TYPES.MVT)} + disabled={!this.props.supportsMvt} /> ); + + return this.props.mvtDisabledReason ? ( + + {mvtRadio} + + ) : ( + mvtRadio + ); } render() { diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/update_source_editor.js b/x-pack/plugins/maps/public/classes/sources/es_search_source/update_source_editor.js index 0701dbbaecdd5..44efc368a1d0b 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/update_source_editor.js +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/update_source_editor.js @@ -17,6 +17,8 @@ import { getTermsFields, getSourceFields, supportsGeoTileAgg, + supportsMvt, + getMvtDisabledReason, } from '../../../index_pattern_util'; import { SORT_ORDER } from '../../../../common/constants'; import { ESDocField } from '../../fields/es_doc_field'; @@ -42,6 +44,9 @@ export class UpdateSourceEditor extends Component { termFields: null, sortFields: null, supportsClustering: false, + supportsMvt: false, + mvtDisabledReason: null, + clusteringDisabledReasin: null, }; componentDidMount() { @@ -94,9 +99,12 @@ export class UpdateSourceEditor extends Component { }); }); + const mvtSupported = supportsMvt(indexPattern, geoField.name); this.setState({ supportsClustering: supportsGeoTileAgg(geoField), + supportsMvt: mvtSupported, clusteringDisabledReason: getGeoTileAggNotSupportedReason(geoField), + mvtDisabledReason: mvtSupported ? null : getMvtDisabledReason(), sourceFields: sourceFields, termFields: getTermsFields(indexPattern.fields), //todo change term fields to use fields sortFields: indexPattern.fields.filter( @@ -207,7 +215,9 @@ export class UpdateSourceEditor extends Component { onChange={this.props.onChange} scalingType={this.props.scalingType} supportsClustering={this.state.supportsClustering} + supportsMvt={this.state.supportsMvt} clusteringDisabledReason={this.state.clusteringDisabledReason} + mvtDisabledReason={this.state.mvtDisabledReason} termFields={this.state.termFields} topHitsSplitField={this.props.topHitsSplitField} topHitsSize={this.props.topHitsSize} diff --git a/x-pack/plugins/maps/public/index_pattern_util.ts b/x-pack/plugins/maps/public/index_pattern_util.ts index 4b4bfb41990b9..bd2a14619ac41 100644 --- a/x-pack/plugins/maps/public/index_pattern_util.ts +++ b/x-pack/plugins/maps/public/index_pattern_util.ts @@ -81,6 +81,16 @@ export function supportsGeoTileAgg(field?: IFieldType): boolean { ); } +export function supportsMvt(indexPattern: IndexPattern, geoFieldName: string): boolean { + const field = indexPattern.fields.getByName(geoFieldName); + return !!field && field.type === ES_GEO_FIELD_TYPE.GEO_SHAPE; +} + +export function getMvtDisabledReason() { + return i18n.translate('xpack.maps.mbt.disabled', { + defaultMessage: 'Display as vector tiles is only supported for geo_shape field-types.', + }); +} // Returns filtered fields list containing only fields that exist in _source. export function getSourceFields(fields: IFieldType[]): IFieldType[] { return fields.filter((field) => { From 02e76886b76c3254ee72fdaf259216e883332d17 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Mon, 17 Aug 2020 11:06:30 -0400 Subject: [PATCH 06/51] fix ts --- .../classes/sources/es_search_source/scaling_form.test.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.test.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.test.tsx index 6e56c179b4ead..d32e4ea109be0 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.test.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.test.tsx @@ -27,6 +27,7 @@ const defaultProps = { termFields: [], topHitsSplitField: null, topHitsSize: 1, + supportsMvt: false, }; test('should render', async () => { From 058c116252e0f9a349ca4a64f4d61fa497a3f59f Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Mon, 17 Aug 2020 11:09:43 -0400 Subject: [PATCH 07/51] Fix snapshot --- .../__snapshots__/update_source_editor.test.js.snap | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/update_source_editor.test.js.snap b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/update_source_editor.test.js.snap index 0cb7f67fb9c92..8df80516f37c2 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/update_source_editor.test.js.snap +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/update_source_editor.test.js.snap @@ -94,9 +94,11 @@ exports[`should enable sort order select when sort field provided 1`] = ` Date: Mon, 17 Aug 2020 12:04:10 -0400 Subject: [PATCH 08/51] update functional tests --- x-pack/test/functional/apps/maps/joins.js | 13 ++----- .../functional/apps/maps/mapbox_styles.js | 36 +++++++++++-------- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/x-pack/test/functional/apps/maps/joins.js b/x-pack/test/functional/apps/maps/joins.js index e447996a08dfe..fc0fa21e9c662 100644 --- a/x-pack/test/functional/apps/maps/joins.js +++ b/x-pack/test/functional/apps/maps/joins.js @@ -5,7 +5,6 @@ */ import expect from '@kbn/expect'; -import { set } from '@elastic/safer-lodash-set'; import { MAPBOX_STYLES } from './mapbox_styles'; @@ -93,22 +92,14 @@ export default function ({ getPageObjects, getService }) { return mbLayer.id.startsWith(VECTOR_SOURCE_ID); }); - // Color is dynamically obtained from eui source lib - const dynamicColor = - layersForVectorSource[CIRCLE_STYLE_LAYER_INDEX].paint['circle-stroke-color']; - //circle layer for points - expect(layersForVectorSource[CIRCLE_STYLE_LAYER_INDEX]).to.eql( - set(MAPBOX_STYLES.POINT_LAYER, 'paint.circle-stroke-color', dynamicColor) - ); + expect(layersForVectorSource[CIRCLE_STYLE_LAYER_INDEX]).to.eql(MAPBOX_STYLES.POINT_LAYER); //fill layer expect(layersForVectorSource[FILL_STYLE_LAYER_INDEX]).to.eql(MAPBOX_STYLES.FILL_LAYER); //line layer for borders - expect(layersForVectorSource[LINE_STYLE_LAYER_INDEX]).to.eql( - set(MAPBOX_STYLES.LINE_LAYER, 'paint.line-color', dynamicColor) - ); + expect(layersForVectorSource[LINE_STYLE_LAYER_INDEX]).to.eql(MAPBOX_STYLES.LINE_LAYER); }); it('should flag only the joined features as visible', async () => { diff --git a/x-pack/test/functional/apps/maps/mapbox_styles.js b/x-pack/test/functional/apps/maps/mapbox_styles.js index 744eb4ac74bf6..fe6a7ecae9ed4 100644 --- a/x-pack/test/functional/apps/maps/mapbox_styles.js +++ b/x-pack/test/functional/apps/maps/mapbox_styles.js @@ -14,7 +14,11 @@ export const MAPBOX_STYLES = { filter: [ 'all', ['==', ['get', '__kbn_isvisibleduetojoin__'], true], - ['any', ['==', ['geometry-type'], 'Point'], ['==', ['geometry-type'], 'MultiPoint']], + [ + 'all', + ['==', ['get', '__kbn_too_many_features__'], false], + ['any', ['==', ['geometry-type'], 'Point'], ['==', ['geometry-type'], 'MultiPoint']], + ], ], layout: { visibility: 'visible' }, paint: { @@ -84,7 +88,11 @@ export const MAPBOX_STYLES = { filter: [ 'all', ['==', ['get', '__kbn_isvisibleduetojoin__'], true], - ['any', ['==', ['geometry-type'], 'Polygon'], ['==', ['geometry-type'], 'MultiPolygon']], + [ + 'all', + ['==', ['get', '__kbn_too_many_features__'], false], + ['any', ['==', ['geometry-type'], 'Polygon'], ['==', ['geometry-type'], 'MultiPolygon']], + ], ], layout: { visibility: 'visible' }, paint: { @@ -151,20 +159,18 @@ export const MAPBOX_STYLES = { 'all', ['==', ['get', '__kbn_isvisibleduetojoin__'], true], [ - 'any', - ['==', ['geometry-type'], 'Polygon'], - ['==', ['geometry-type'], 'MultiPolygon'], - ['==', ['geometry-type'], 'LineString'], - ['==', ['geometry-type'], 'MultiLineString'], + 'all', + ['==', ['get', '__kbn_too_many_features__'], false], + [ + 'any', + ['==', ['geometry-type'], 'Polygon'], + ['==', ['geometry-type'], 'MultiPolygon'], + ['==', ['geometry-type'], 'LineString'], + ['==', ['geometry-type'], 'MultiLineString'], + ], ], ], - layout: { - visibility: 'visible', - }, - paint: { - /* 'line-color': '' */ // Obtained dynamically - 'line-opacity': 0.75, - 'line-width': 1, - }, + layout: { visibility: 'visible' }, + paint: { 'line-color': '#41937c', 'line-opacity': 0.75, 'line-width': 1 }, }, }; From 76bdfcce156fe22e1d9736e99d5c629c85d88f9a Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Mon, 17 Aug 2020 18:13:40 -0400 Subject: [PATCH 09/51] feedback feedback --- .../__snapshots__/scaling_form.test.tsx.snap | 90 ++++++++++++------ .../es_search_source/es_search_source.js | 22 +++-- .../sources/es_search_source/scaling_form.tsx | 95 +++++++------------ .../es_search_source/update_source_editor.js | 2 +- x-pack/plugins/maps/server/mvt/get_tile.ts | 10 +- x-pack/plugins/maps/server/mvt/mvt_routes.ts | 4 +- 6 files changed, 118 insertions(+), 105 deletions(-) diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap index ebb841070fea4..0cabacca46117 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap @@ -50,21 +50,33 @@ exports[`should disable clusters option when clustering is not supported 1`] = ` onChange={[Function]} /> - - .mvt tile protocol + + Using .mvt tiles allows for faster display of large datasets. Not all layer-functionality is supported. } - onChange={[Function]} - /> + delay="regular" + position="left" + > + + Use vector tiles + + } + onChange={[Function]} + /> + - - .mvt tile protocol + + Using .mvt tiles allows for faster display of large datasets. Not all layer-functionality is supported. } - onChange={[Function]} - /> + delay="regular" + position="left" + > + + Use vector tiles + + } + onChange={[Function]} + /> + - - .mvt tile protocol + + Using .mvt tiles allows for faster display of large datasets. Not all layer-functionality is supported. } - onChange={[Function]} - /> + delay="regular" + position="left" + > + + Use vector tiles + + } + onChange={[Function]} + /> + { ); } - _renderLimitResultsRadio() { - return ( - this._onScalingTypeChange(SCALING_TYPES.LIMIT)} - /> - ); - } - - _renderTopHitsRadio() { - return ( - this._onScalingTypeChange(SCALING_TYPES.TOP_HITS)} - /> - ); - } - _renderClusteringRadio() { const clusteringRadio = ( { _renderMVTRadio() { const labelText = i18n.translate('xpack.maps.source.esSearch.useMVTVectorTiles', { - defaultMessage: '.mvt tile protocol', + defaultMessage: 'Use vector tiles', }); - const label = ( - <> - {labelText} - - - ); + const label = <>{labelText}; const mvtRadio = ( { /> ); + const info = ( + <> + + + {i18n.translate('xpack.maps.source.esSearch.mvtDescription', { + defaultMessage: + 'Using .mvt tiles allows for faster display of large datasets. Not all layer-functionality is supported.', + })} + + ); + return this.props.mvtDisabledReason ? ( {mvtRadio} ) : ( - mvtRadio + + {mvtRadio} + ); } @@ -282,21 +254,6 @@ export class ScalingForm extends Component { ); } - let mvtDisclaimer = null; - if (this.props.scalingType === SCALING_TYPES.MVT) { - mvtDisclaimer = ( - - - - {i18n.translate('xpack.maps.source.esSearch.mvtDescription', { - defaultMessage: - 'Using .mvt tiles allows for faster display of large datasets. Not all layer-functionality is supported.', - })} - - - ); - } - return ( @@ -309,8 +266,23 @@ export class ScalingForm extends Component {
- {this._renderLimitResultsRadio()} - {this._renderTopHitsRadio()} + this._onScalingTypeChange(SCALING_TYPES.LIMIT)} + /> + this._onScalingTypeChange(SCALING_TYPES.TOP_HITS)} + /> {this._renderClusteringRadio()} {this._renderMVTRadio()}
@@ -318,7 +290,6 @@ export class ScalingForm extends Component { {filterByBoundsSwitch} {topHitsOptionsForm} - {mvtDisclaimer}
); } diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/update_source_editor.js b/x-pack/plugins/maps/public/classes/sources/es_search_source/update_source_editor.js index 44efc368a1d0b..c123c307c4895 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/update_source_editor.js +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/update_source_editor.js @@ -46,7 +46,7 @@ export class UpdateSourceEditor extends Component { supportsClustering: false, supportsMvt: false, mvtDisabledReason: null, - clusteringDisabledReasin: null, + clusteringDisabledReason: null, }; componentDidMount() { diff --git a/x-pack/plugins/maps/server/mvt/get_tile.ts b/x-pack/plugins/maps/server/mvt/get_tile.ts index 3bde05b64f926..f65cce9c83458 100644 --- a/x-pack/plugins/maps/server/mvt/get_tile.ts +++ b/x-pack/plugins/maps/server/mvt/get_tile.ts @@ -30,7 +30,7 @@ interface ESBounds { export async function getTile({ logger, callElasticsearch, - indexPattern, + index, geometryFieldName, x, y, @@ -41,7 +41,7 @@ export async function getTile({ y: number; z: number; geometryFieldName: string; - indexPattern: string; + index: string; callElasticsearch: (type: string, ...args: any[]) => Promise; logger: Logger; requestBody: any; @@ -64,12 +64,12 @@ export async function getTile({ requestBody.query.bool.filter.push(geoShapeFilter); const esSearchQuery = { - index: indexPattern, + index, body: requestBody, }; const esCountQuery = { - index: indexPattern, + index, body: { query: requestBody.query, }, @@ -82,7 +82,7 @@ export async function getTile({ // Generate "too many features"-bounds const bboxAggName = 'data_bounds'; const bboxQuery = { - index: indexPattern, + index, body: { size: 0, query: requestBody.query, diff --git a/x-pack/plugins/maps/server/mvt/mvt_routes.ts b/x-pack/plugins/maps/server/mvt/mvt_routes.ts index 4560840b04c21..bc901ccf63051 100644 --- a/x-pack/plugins/maps/server/mvt/mvt_routes.ts +++ b/x-pack/plugins/maps/server/mvt/mvt_routes.ts @@ -25,7 +25,7 @@ export function initMVTRoutes({ router, logger }: { logger: Logger; router: IRou geometryFieldName: schema.string(), fields: schema.string(), requestBody: schema.string(), - indexPattern: schema.string(), + index: schema.string(), }), }, }, @@ -45,7 +45,7 @@ export function initMVTRoutes({ router, logger }: { logger: Logger; router: IRou x: query.x, y: query.y, z: query.z, - indexPattern: query.indexPattern, + index: query.index, requestBody: requestBodyDSL, }); From 2371e7b2f639d4c450c32324d99219aa4139b139 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Tue, 18 Aug 2020 09:21:33 -0400 Subject: [PATCH 10/51] fix snapshot --- .../__snapshots__/update_source_editor.test.js.snap | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/update_source_editor.test.js.snap b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/update_source_editor.test.js.snap index 8df80516f37c2..8eb8067368d63 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/update_source_editor.test.js.snap +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/update_source_editor.test.js.snap @@ -92,6 +92,7 @@ exports[`should enable sort order select when sort field provided 1`] = ` /> Date: Tue, 18 Aug 2020 09:51:02 -0400 Subject: [PATCH 11/51] disable client-side metadata retrieval --- x-pack/plugins/maps/public/classes/fields/es_doc_field.ts | 8 ++++++++ .../classes/sources/es_search_source/es_search_source.js | 1 + .../field_meta/categorical_field_meta_popover.tsx | 2 ++ .../components/field_meta/ordinal_field_meta_popover.tsx | 2 ++ .../styles/vector/properties/dynamic_style_property.tsx | 4 ++++ 5 files changed, 17 insertions(+) diff --git a/x-pack/plugins/maps/public/classes/fields/es_doc_field.ts b/x-pack/plugins/maps/public/classes/fields/es_doc_field.ts index 9faa33fae5a43..543dbf6d87039 100644 --- a/x-pack/plugins/maps/public/classes/fields/es_doc_field.ts +++ b/x-pack/plugins/maps/public/classes/fields/es_doc_field.ts @@ -15,18 +15,22 @@ import { IVectorSource } from '../sources/vector_source'; export class ESDocField extends AbstractField implements IField { private readonly _source: IESSource; + private readonly _canReadFromGeoJson: boolean; constructor({ fieldName, source, origin, + canReadFromGeoJson = true, }: { fieldName: string; source: IESSource; origin: FIELD_ORIGIN; + canReadFromGeoJson?: boolean; }) { super({ fieldName, origin }); this._source = source; + this._canReadFromGeoJson = canReadFromGeoJson; } canValueBeFormatted(): boolean { @@ -60,6 +64,10 @@ export class ESDocField extends AbstractField implements IField { return true; } + canReadFromGeoJson(): boolean { + return this._canReadFromGeoJson; + } + async getOrdinalFieldMetaRequest(): Promise { const indexPatternField = await this._getIndexPatternField(); diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js index 4437c6f97cdc8..409277ad22858 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js @@ -102,6 +102,7 @@ export class ESSearchSource extends AbstractESSource { return new ESDocField({ fieldName, source: this, + canReadFromGeoJson: this._descriptor.scalingType !== SCALING_TYPES.MVT, }); } diff --git a/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx b/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx index e49c15c68b8db..1df087c4692fd 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx +++ b/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx @@ -14,6 +14,7 @@ import { FieldMetaOptions } from '../../../../../../common/descriptor_types'; type Props = { fieldMetaOptions: FieldMetaOptions; onChange: (fieldMetaOptions: FieldMetaOptions) => void; + switchDisabled: booelan; }; export function CategoricalFieldMetaPopover(props: Props) { @@ -34,6 +35,7 @@ export function CategoricalFieldMetaPopover(props: Props) { checked={props.fieldMetaOptions.isEnabled} onChange={onIsEnabledChange} compressed + disabled={props.switchDisabled} />
diff --git a/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/ordinal_field_meta_popover.tsx b/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/ordinal_field_meta_popover.tsx index 9086c4df31596..09be9d72af970 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/ordinal_field_meta_popover.tsx +++ b/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/ordinal_field_meta_popover.tsx @@ -40,6 +40,7 @@ type Props = { fieldMetaOptions: FieldMetaOptions; styleName: VECTOR_STYLES; onChange: (fieldMetaOptions: FieldMetaOptions) => void; + switchDisabled: boolean; }; export function OrdinalFieldMetaPopover(props: Props) { @@ -66,6 +67,7 @@ export function OrdinalFieldMetaPopover(props: Props) { checked={props.fieldMetaOptions.isEnabled} onChange={onIsEnabledChange} compressed + disabled={props.switchDisabled} /> diff --git a/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx b/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx index 47659e055936e..43cb7d7882731 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx +++ b/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx @@ -326,16 +326,20 @@ export class DynamicStyleProperty extends AbstractStyleProperty return null; } + const switchDisabled = this._field && !this._field.canReadFromGeoJson(); + return this.isCategorical() ? ( ) : ( ); } From 3a5a642d0860ee33e6c5077506ef1c5ff6aab405 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Tue, 18 Aug 2020 09:54:56 -0400 Subject: [PATCH 12/51] fix typos --- .../components/field_meta/categorical_field_meta_popover.tsx | 2 +- .../classes/styles/vector/properties/dynamic_style_property.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx b/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx index 1df087c4692fd..2a544b94d760a 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx +++ b/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx @@ -14,7 +14,7 @@ import { FieldMetaOptions } from '../../../../../../common/descriptor_types'; type Props = { fieldMetaOptions: FieldMetaOptions; onChange: (fieldMetaOptions: FieldMetaOptions) => void; - switchDisabled: booelan; + switchDisabled: boolean; }; export function CategoricalFieldMetaPopover(props: Props) { diff --git a/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx b/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx index 43cb7d7882731..93661f2b1d30d 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx +++ b/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx @@ -326,7 +326,7 @@ export class DynamicStyleProperty extends AbstractStyleProperty return null; } - const switchDisabled = this._field && !this._field.canReadFromGeoJson(); + const switchDisabled = !!this._field && !this._field.canReadFromGeoJson(); return this.isCategorical() ? ( Date: Tue, 18 Aug 2020 10:49:14 -0400 Subject: [PATCH 13/51] take into account url-state --- .../classes/layers/tiled_vector_layer/tiled_vector_layer.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx index 73c9fba17951b..c1e660534f51c 100644 --- a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx +++ b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx @@ -63,13 +63,15 @@ export class TiledVectorLayer extends VectorLayer { ); const prevDataRequest = this.getSourceDataRequest(); + const templateWithMeta = await this._source.getUrlTemplateWithMeta(dataFilters); if (prevDataRequest) { const data: MVTSingleLayerVectorSourceConfig = prevDataRequest.getData() as MVTSingleLayerVectorSourceConfig; if (data) { const canSkipBecauseNoChanges = data.layerName === this._source.getLayerName() && data.minSourceZoom === this._source.getMinZoom() && - data.maxSourceZoom === this._source.getMaxZoom(); + data.maxSourceZoom === this._source.getMaxZoom() && + data.urlTemplate === templateWithMeta.urlTemplate; if (canSkipBecauseNoChanges) { return null; @@ -79,7 +81,6 @@ export class TiledVectorLayer extends VectorLayer { startLoading(SOURCE_DATA_REQUEST_ID, requestToken, searchFilters); try { - const templateWithMeta = await this._source.getUrlTemplateWithMeta(dataFilters); stopLoading(SOURCE_DATA_REQUEST_ID, requestToken, templateWithMeta, {}); } catch (error) { onLoadError(SOURCE_DATA_REQUEST_ID, requestToken, error.message); From d011799c2769abd4ed88719a49774e3ede1c1ced Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Tue, 18 Aug 2020 15:24:57 -0400 Subject: [PATCH 14/51] add unit test --- .../tiled_vector_layer.test.tsx | 63 +++++++++++-------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.test.tsx b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.test.tsx index faae26cac08e7..822b78aa0deff 100644 --- a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.test.tsx +++ b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.test.tsx @@ -128,32 +128,41 @@ describe('syncData', () => { sinon.assert.notCalled(syncContext2.stopLoading); }); - it('Should resync when changes to source params', async () => { - const layer1: TiledVectorLayer = createLayer({}, {}); - const syncContext1 = new MockSyncContext({ dataFilters: {} }); - - await layer1.syncData(syncContext1); - - const dataRequestDescriptor: DataRequestDescriptor = { - data: defaultConfig, - dataId: 'source', - }; - const layer2: TiledVectorLayer = createLayer( - { - __dataRequests: [dataRequestDescriptor], - }, - { layerName: 'barfoo' } - ); - const syncContext2 = new MockSyncContext({ dataFilters: {} }); - await layer2.syncData(syncContext2); - - // @ts-expect-error - sinon.assert.calledOnce(syncContext2.startLoading); - // @ts-expect-error - sinon.assert.calledOnce(syncContext2.stopLoading); - - // @ts-expect-error - const call = syncContext2.stopLoading.getCall(0); - expect(call.args[2]).toEqual({ ...defaultConfig, layerName: 'barfoo' }); + describe('Should resync when changes to source params: ', () => { + [ + { layerName: 'barfoo' }, + { urlTemplate: 'https://sub.example.com/{z}/{x}/{y}.pbf' }, + { minSourceZoom: 1 }, + { maxSourceZoom: 12 }, + ].forEach((changes) => { + it(`change in ${Object.keys(changes).join(',')}`, async () => { + const layer1: TiledVectorLayer = createLayer({}, {}); + const syncContext1 = new MockSyncContext({ dataFilters: {} }); + + await layer1.syncData(syncContext1); + + const dataRequestDescriptor: DataRequestDescriptor = { + data: defaultConfig, + dataId: 'source', + }; + const layer2: TiledVectorLayer = createLayer( + { + __dataRequests: [dataRequestDescriptor], + }, + changes + ); + const syncContext2 = new MockSyncContext({ dataFilters: {} }); + await layer2.syncData(syncContext2); + + // @ts-expect-error + sinon.assert.calledOnce(syncContext2.startLoading); + // @ts-expect-error + sinon.assert.calledOnce(syncContext2.stopLoading); + + // @ts-expect-error + const call = syncContext2.stopLoading.getCall(0); + expect(call.args[2]).toEqual({ ...defaultConfig, ...changes }); + }); + }); }); }); From 4839327993c37590169edb734361292d0ee7e1af Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Tue, 18 Aug 2020 15:59:36 -0400 Subject: [PATCH 15/51] add test stub --- x-pack/plugins/maps/common/constants.ts | 2 +- .../es_search_source/es_search_source.d.ts | 2 -- .../es_search_source/es_search_source.js | 10 -------- .../es_search_source/es_search_source.test.ts | 25 +++++++++++++++++++ 4 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.test.ts diff --git a/x-pack/plugins/maps/common/constants.ts b/x-pack/plugins/maps/common/constants.ts index b7bc51789f233..0721032aa631d 100644 --- a/x-pack/plugins/maps/common/constants.ts +++ b/x-pack/plugins/maps/common/constants.ts @@ -35,7 +35,7 @@ export const FONTS_API_PATH = `${GIS_API_PATH}/fonts`; export const API_ROOT_PATH = `/${GIS_API_PATH}`; export const MVT_GETTILE_API_PATH = 'mvt/getTile'; -export const MVT_SOURCE_LAYER_NAME = 'geojsonLayer'; +export const MVT_SOURCE_LAYER_NAME = 'source_layer'; export const KBN_TOO_MANY_FEATURES_PROPERTY = '__kbn_too_many_features__'; export const KBN_TOO_MANY_FEATURES_IMAGE_ID = '__kbn_too_many_features_image_id__'; diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts index fb0dc07242d2b..67d68dc065b00 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.d.ts @@ -22,7 +22,5 @@ export class ESSearchSource extends AbstractESSource implements ITiledSingleLaye minSourceZoom: number; maxSourceZoom: number; }>; - getMinZoom(): number; - getMaxZoom(): number; getLayerName(): string; } diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js index 409277ad22858..e6d7539fc72ba 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js @@ -22,8 +22,6 @@ import { MVT_SOURCE_LAYER_NAME, GIS_API_PATH, MVT_GETTILE_API_PATH, - MIN_ZOOM, - MAX_ZOOM, } from '../../../../common/constants'; import { i18n } from '@kbn/i18n'; import { getDataSourceLabel } from '../../../../common/i18n_getters'; @@ -617,14 +615,6 @@ export class ESSearchSource extends AbstractESSource { urlTemplate: urlTemplate, }; } - - getMinZoom() { - return MIN_ZOOM; - } - - getMaxZoom() { - return MAX_ZOOM; - } } registerSource({ diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.test.ts b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.test.ts new file mode 100644 index 0000000000000..8a4227e1cd56a --- /dev/null +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.test.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ +jest.mock('../../../kibana_services'); +jest.mock('ui/new_platform'); + +import { ESSearchSource } from './es_search_source'; + +describe('ESSearchSource', () => { + it('constructor', () => { + const esSearchSource = new ESSearchSource({}, null); + expect(esSearchSource instanceof ESSearchSource).toBe(true); + }); + + describe('ITiledSingleLayerVectorSource', () => { + it('mb-source params', () => { + const esSearchSource = new ESSearchSource({}, null); + expect(esSearchSource.getMinZoom()).toBe(0); + expect(esSearchSource.getMaxZoom()).toBe(24); + expect(esSearchSource.getLayerName()).toBe('source_layer'); + }); + }); +}); From d1cb30d9e7c11659d34d0ef88849fdfc6e72f572 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Tue, 18 Aug 2020 16:18:12 -0400 Subject: [PATCH 16/51] add functional test --- x-pack/test/functional/apps/maps/joins.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/maps/joins.js b/x-pack/test/functional/apps/maps/joins.js index fc0fa21e9c662..1139ae204aefd 100644 --- a/x-pack/test/functional/apps/maps/joins.js +++ b/x-pack/test/functional/apps/maps/joins.js @@ -20,6 +20,7 @@ const VECTOR_SOURCE_ID = 'n1t6f'; const CIRCLE_STYLE_LAYER_INDEX = 0; const FILL_STYLE_LAYER_INDEX = 2; const LINE_STYLE_LAYER_INDEX = 3; +const TOO_MANY_FEATURES_LAYER_INDEX = 4; export default function ({ getPageObjects, getService }) { const PageObjects = getPageObjects(['maps']); @@ -86,7 +87,7 @@ export default function ({ getPageObjects, getService }) { }); }); - it('should style fills, points and lines independently', async () => { + it('should style fills, points, lines, and bounding-boxes independently', async () => { const mapboxStyle = await PageObjects.maps.getMapboxStyle(); const layersForVectorSource = mapboxStyle.layers.filter((mbLayer) => { return mbLayer.id.startsWith(VECTOR_SOURCE_ID); @@ -100,6 +101,18 @@ export default function ({ getPageObjects, getService }) { //line layer for borders expect(layersForVectorSource[LINE_STYLE_LAYER_INDEX]).to.eql(MAPBOX_STYLES.LINE_LAYER); + + //Too many features layer (this is a static style config) + expect(layersForVectorSource[TOO_MANY_FEATURES_LAYER_INDEX]).to.eql({ + id: 'n1t6f_toomanyfeatures', + type: 'fill', + source: 'n1t6f', + minzoom: 0, + maxzoom: 24, + filter: ['==', ['get', '__kbn_too_many_features__'], true], + layout: { visibility: 'visible' }, + paint: { 'fill-pattern': '__kbn_too_many_features_image_id__', 'fill-opacity': 0.75 }, + }); }); it('should flag only the joined features as visible', async () => { From f611360808fe88a57857ffcc55158429100a7d29 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Tue, 18 Aug 2020 18:27:26 -0400 Subject: [PATCH 17/51] add getTile unit test boilerplate --- .../maps/server/mvt/__tests__/pbf/0_0_0.pbf | Bin 0 -> 39039 bytes .../server/mvt/__tests__/tile_searches.ts | 123970 +++++++++++++++ .../plugins/maps/server/mvt/get_tile.test.ts | 62 + x-pack/plugins/maps/server/mvt/get_tile.ts | 4 + x-pack/plugins/maps/server/mvt/mvt_routes.ts | 13 +- 5 files changed, 124048 insertions(+), 1 deletion(-) create mode 100644 x-pack/plugins/maps/server/mvt/__tests__/pbf/0_0_0.pbf create mode 100644 x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts create mode 100644 x-pack/plugins/maps/server/mvt/get_tile.test.ts diff --git a/x-pack/plugins/maps/server/mvt/__tests__/pbf/0_0_0.pbf b/x-pack/plugins/maps/server/mvt/__tests__/pbf/0_0_0.pbf new file mode 100644 index 0000000000000000000000000000000000000000..9d0616549df810d8dd2ce6d6fcbc147953be69a6 GIT binary patch literal 39039 zcmZ5|d7Lgqb#^V?U0v0C_1^Ek&O7hy%bk1Y?p*fEBD;zUO4O*)5HT7xU-AJ8!7HdB z5J5CbTv1U88q~NEHA>VdaV4%qi5fLZ)F>|bo}O3#`TpR?+?lG=)zwv}&Uv2aRQ0QO zvga}7KKqjAT>1x3zUUcGeEyR!om|${1ML$+DPx=)hRH3n;Qc^ecHGYoR^%A{zl8if z4fHu^WKqFvF40KtG&(4+KKx_UEYAoeHI>H#d3vsimD+)R0y_9K zU?GptA=>G1y8LMG=fyE5UA7rz$uM-SO{LlCQYGWIZ6{AYJnHXuY20(X_#5UG-e4;@q~2e3A^MilMffVQx+J~;p4BT*-*PN z^EPA04utF!Bu*V$q#c`At|6pjnawQF^DvdsoE5x;sdC3uD(@aVnD4c7o4JYVip+DP zG|&rZTG0k;@)nx5cADn$^^*@4MY83f(O% znn*(#b3@V3iEre6iyN88eBw5H-U4wV)`<)`pOw~9Sn{6hM1dxTh`2G5CP|e^PD@&1 zO~*Xfjp%H&$(y@f)7;gJj8;|-l@;1?ps&NQ$e7Nt37^L+&hNb9ubF&s``2@q_SH}t zQ!e- z%$9+)NR=_q^`b!Dz{CS~HnpdrsWlt=%39sqP4?IZaa_ert6AvgBJcWR@1Qf>xY%4= z^W(%LhMz`6IyQ+q?J|hiT!*Al?uQN*f6G#V%tbS1z96X^@P^lJ6vU4mMWT_UG!o2o zb_dT%MoCbd&6c`7+DU1w3|o>>eB$Udr3@}|D|A`BONcw{pxQUisKV3C-+g|674O- zoTsK?8N7*46bM6VZ_V%mCktZ7iZkElEZb{0`byieO@bW{xlT9OCf^0ayLJo*@|EHB zt-eXvk`CB#=FPU~ZnlSSqtW(GqlUb5aCLr;MNRE0K`a&dX11{*T6g1;3!!#iAJ}WObbn3w=rGvs)Y&1C;Dn0d^S=Tb!Msq?)mK5HQDk5TM zpPe3VnIbWRfeiGG^)^0853$4iI2b=}$M|Jb{&wwH^8suNk2rozL|c&IX4KBQ?qa!U z&zU`$iipk$=HyfhiwmNnkYaP0wjqU$LqbZWM!}LP9Y!Orybe}y;0j|w8`<$ilv$=1 z=DM;8%V<(INz&%5@GYs~()~a$VOU4#@$3YCB8GM1&ag`P#_mJyqvCu=GOv<4)uC18 zL%M&qEKZ^)vs3t~XnyKW^A-8k{XgjG#4WKNT5*-AoO1lQlvkGR3Cj%RmaRJY;5k<* zmc_p@JoG3%jh)WVfR!_LtbClw2eR9`Dog{}H>X`Nok})rsZrafW$2vf@Q)OOtCB z(sLZ2_scO!BHQ$HLQHOV7_;X6`H7_XNH#I7w%Jd!jiWjW8+e#QvcL~kgOCTxiQ-X9 zT2UDp(~ZRj9R<{wPnn!w<3>ZoO!|X3C+QsF4c_XQjdb3V5g9ZLcywwEA~z;n#?+E| zFUhUWD$cHhnA|hzBiLE|Y)tOiJCi$=za2i1AEOI4UeL&8%Vu5>gpDA!9oyhG7B3qI zeYczhx`Y1b&~w>&{CxC3f2Y4A@7{cQM~lS4k^J)(T3kRM$sWZYjTVpIY4NR=ygPeo zb`RGaCysC1VJxx25H%>-b_j_)*N#PChRkdgCa+>@!VhyC25@7!zd=oz#Su~P({`+| zXkBUwchK*-EU;}=ZiQ)R1xaEU!qf>GhTO6oUtwLm!@pMC)3FSZKlbFx7z}gPTP}zU znx(B+z{JyY~Kaj*zIcqY6~Zd+EvbkpTn`!vZEa|_XI zKFTzMs%cBdgEx+-w`rI<44hR(Xy{ARRkmY=)LF9PkTrWePklc(os91*o!n|D7DcR= zQ5khp&+NNlm-PF~5#_dvz+tbSTUnboZ8tmAY+7xPu_T*vRe1W`gy4V>al}WbhpDxg zMTrhucK4v!To^kZiSPje$HZr{e4b5DjFP0cywRH@Pg!hiExf3590< zyz9HMWrgtfR*df)gu#>^aeZD`dB(#1Qm+PodV=o?UpWUYa!!~DJF)%53lpgm5!jK7 zCE}Leh?P;ioHysi_GpfHNlZOu(IAwu!2{cr90xYjJxB7=_fE*LX1wuOSegpk^_$Fq zeZw{TEz(xJa50|(^Jv?ymsq5khM8mMG_wPiwda)LJ}bl8rpcvmd4W$&(@t?h`XMD5 z{52wxKxLRwWk+Elh#RRyaOG0GsnLWhGO&CTg>cBmY9So&MDQcm7RPIO_!3wIIyUh; z!yl@Rq-oAofec;K-rowiMK!a12WunoOe67ytHOvRmIFW2s76L-d>y4}f0V49aMGd0 zxJk4!ndRo%6RGWDjU=X5AmDEirk$CLhwKuX7GrmT=j%w4dMZJQtJQ8AXM6>FqkJ@ zN5B%+Hgz3@8Y&1ZD;A-kOqi}GLQXvH3nopQw`gLPBs2qJ$%ICP3H(`vx$9C-5+m|5 z^pcKir6zM4g_{QW3`GC@a~68_dh+$CI7P&X3XEZAtiF*svs-_nG7qdCJ_VB}YP zs@(9Dp~a+UWB8Ye7hr~xERd_WQk{`T9LQIT7qW|mmm5?lLbz~3Mm+o%g(@B*NbtTY zjl<`2ObeHp{)wJvO@^0L=M0}rnwHb-x0c6C**Keb+e+vS?oQM89P7>Nac!?foHP5sv784itw8Z(x zv^(O{cEU@A-tdFmw}e4#9KyDtQrb6Cn;Hd;LhdA?RG~0j6;o{lVH3M8OgX$7_L0_k zQpE%(hm~`LD8f%V7DjBrS!Z!zc&5fq69H3>XW;*&>J2iLdw$vq3l4!1Bhu0Ofk1wj-eOg@-9e&+6X)rBZ8gD8hGR1#L{EVX-fw6`y~qI%9mYJ_Rv`Hg zxrXaTMsnOSjxayRANkj~b};9GT(}$47k2OyNwpU#X(M8x?=`B3Cb2*sWxQM-<(Uzi3G+N{c`Tv`bYS7HSl{wRfdIM$ zCcu6o?qz$rqQBb6l9FyF8?2k8NfqeK(b_lC_2$9(O}5-6SscQZTvS(!_J1vlxzRl1o>7bkORs_I9kC~p2x%2*(_Ct+-nF7w(>?(<0((hSX*#SKE z-_kGf>-pj{hL+ky7BZhuqwCmJ(^;)NeCSk9S1NB+L{L}{@lQix3_$_dT(EPq@0`Ev(^9v@E-aJrYg*3<9bo?Or|zg zf_#ql?HD;p`fgKMn1Jm^>8v}zw{1UO2W18f;rJiZOZS8ek6lCj=8a3LkO#5cYmk!* zD~Npe zJ@JADVgiDEXv-A+vUQ* z_CaL>eu80D3B4$^MROtw;Eh z{X0#~0mNeX2emYPe6-HX3{~MXN=FT_%exI7=@JdPpQLd6E`DmglU9Y>as~E>zJ^w* zM6iUZ>wJk;*mg#|8=3D=b(*4$bk_kJ4-LMnWoN59a#jj@Sx%_1~JQdw>%n|Pat z=%e?J^0QWs58X~+rpx=vgL519o^pY!e8?J3k?!e+g@a?qXm1%TZbV_6W1EEkK`RwL z#^1jZ$l}cPR-tX$oY!THQ(E$8=nl>Bj{I4`jO)+%tgo}%sA~X14v3z_s|O!>gl4HF zw${444_GuO*&!d8YqdLHItq{Y+*h%CXja6&TX;-mWk`zDG3H8S`cC1bMi(yBz{akY zJXIC~9>8nv!e@UQ)g@nE2;{kaBpQLdj{ZO$qf_N~D`i*njvWQAj9^lxCg1=^8AQMk zMmm`)iup}XL#lwoPj(vX6sRA^$`;JPU!q9cNrY*)0fN{O2HDW-h9#(NNtWTPgx?w+ z@eS!3hEAQa17Ak-S!R79eGGdne;o4O$Nes|e(Ar=bo?gVBz@LczPu%HW%G;J-+dewpYbH6OZ82{TTq7{?pFRuCFQ$LM zp2VMw=1<;fzF*$a|4ipTdf4^n7fJls!PuNMGSf@_zzO^~x20mD0jDaF4&bqt!&;v7 zbAg!-^c6J-^%VMt?5X@|F!{6{lYhJeRo}wrY!*2uHwfaWY{c@lKcGm}gl%QW4V$So zHyr6_CQ%hmEjLiW<|}h*XJJz`D_XcVob!5=g%>s#;hDAF6^Wl{lXN560xV?O$nH!k zV=K@jjN$3@kJvN#Gckr|?u;RlH;g{mohBp{9Jz3(3EaB|h5wjd!v2Im3+wqZHWV!#y(c$gZyj8JzfxTUE?7vX*h9p$zdNjanZ<~ARBZ`LX*l?&3-%q zVc~EvAihTpD{mK}zg!d>UST(@xugPc8X)O|%SZMFkkn5t%MzhUY3NaX z-tYhoJfY*g@?g9Bj8nQul8Eb#O_DfneoD)XLwlL~2%+>-@r5s?&t`whpMx*_oSiRx zo_zDtkBU3lhTBSP?N!WeFr_1#w;k1BhLIa`c)mMuvJMxBwC6F2oO*h$kG#F>SZU^L zhKZwW4NzMLVaSFNLXR1Ixyb;hDFilEZxL`|cJ5_>&vlhXlTXUgJZ z4NwhmQwZFkA5`XYTB)h#wCn0c()S~CkjTX{c1`B`jh3ncPGBU+?ci4Z z7(t~+EI-EnjiXy=E~iEif%rh4Oda1w79tyY5|zx3Obpj`v_&omWNB$`BG8wOg^K#Z ztdE8u(FV{6L`p()e#32zL2sPQGR7@^vaph1M%Qc7P&*~=-vuI_o=tmk2Q_3*0p15_8Z z@)@xURW+F(T9%#{rIowVbi#SF3}VeR2+cMPT63aP^iFZ?xXasvK%WoO*Hiim%5I?i z#@h6aGt>L!?a{HO2Bn6TcNbm19n6u6@p5T{&O5-zsL5l}&?)n|6|6d4c67*vA2y9X z$ml7|-bCqNQ}#;AZ?4VWJTn`~-;Qo8r^ucGIpzv^nZB<6Hn&jvD#~u9{MB{iSI-(h zPhQo3W1?*<#9%AD2h|8AoJZO8`b7oJ#F;R9JEd=>>}{04y*B#xnbBSH!^3N;+v&0~@fTx^1dh;h zUD6lfy0@6e-pEvkub@5x0i$RZFJr{~H0;&O?hZ=dLD@Sge^+hqT{C-! z{_fiJyJw~|c?BZCiZqwFi{L#i0WMhRa1J`Whtj{N>~6~6TX%Txti!gvW_T>_TUIN> zVSulhrP{Jnc(&&qyfh+>9AtVFfsRoeXGydfZCVJ5GX*MWFKoV#()UyL50rnPw)ugX z&7S?dbt7v=l*ca< z0nASf3SPkS=i3W_>t@UTGnD=dWuK+|b9LX(&HCo@joH1OBYy6*5Kd`Cm0%4T(?H)) zZ}s~q{a4C9Px%+>E?<~+`Ez)(4+FH`$!%@`igFuwYQ!!vl5RU)Esh9-PqMLB45#N` z3e}1LSqr`b)4h^?Ipz=b*U|!{ z$FTKvO20wbH!1&CZR=YzThEqX?0qV)%!$(qaR%Q^uLWE(gp>x+kbhHw#J@L)cNrPT;PE)j}%f3P<2|+%|Vc5Yeb1BB*Z6 z;GAmb_W-5;PT999|4u!c@61LM%d1C2rYit{2_zrLFPai8Mz4o(jeDhQN7$>Fpujf(3o^(y z2*Ggn;{o5N^gk*40p&leAMnH30|xS|bHC0n^*lt*QZzcTW$t&2Br}HPi(?N1e@JZJGNuG)`23>_c<`| z5T*Z3*-t6|S#98FGXr-!^2^0LBZbsdeu0jZLZgZmC5z)Z^W!6AC!pl@e81XxiC22j69RCzJ-0-Wr>)bPMq++5^-MowTcAaVIQ#Op1MVBAl zxQagYO;ijwX*e+R#Cz)IBd?%;mOU51)V3KHysO+|VPdUpng^}a4NVahtSI40LGiNk zsmj+Y!^-kk)WL-9*&U@&Z3IbaW-9PA#`Pjw%T{f7*(r9d=p+}*!v#9AS=+Hz0f_Eu zLFl6JeIOBo&Y{;0d4C}s45rpXAc{sW8@51VWJyaIVUc##E~sU=JCv5+vVF#rBwd|& zx+y%LBp`!bq&+tHW58iZsv5M3`1!!2x7+Q~J;~3T3sl*S?h&?;HLcawDS964MZ_$7 zWApf?<8a+$1U}D6?Fw!(D?t^4SsqKjH1XkFBax(`Od<1hIQEp~BapFy>oW*{hh5FutpJ!HUUwD|$M+u8~vo{1LG0wNgm z0Jt#DE29Mzd%xcZ6hk(QTsxJCH{^(tfcPXp^YQhZNM$L6s{sI7bA|4j^PRS_3}qc2 z0lX&?nziBrBe8f&T%i8Vd}OuL0rS(qbq2NS*6kx>PCAB{_UB^g6Ou-1B7xvg1+-%B zr)jRtr~z${pLu|_xM%ue`$SimF`oR4;rT;_OFDUViBJ-d6_z06XOqKJ+a>cBMM(Iuh* zJ(i{cn0lCC8(?j_kXEQJlqn!Rq(vjg(O%}-z@Zx;|CA|NkV5Q{9!(2{OjmDVyuYRN ze<{0+@ymf?nU}L2B%md42*2ID5Q;M+#*78wTI3GeG%cZAfX=W^g05ing^az3@hj_o zSI+wFmAAL90)k+B87JwM1@&hgBa6y}pMo~T-wyyu0ieTQ8xUUvaf3xkr-u)w&w$aZ z82u~8u4eqjwb2*PjBd*Br&n~4bhsYS{r+l1dOC*wM3q2l0uMle5hc(WCILqP!86;b zL&G|?JI3fs7`uk?Yio1Y&dlZVSbS&mNM_K<3UN$BEJ8UQnX`c7rHsCev6nM`UESll zS&xytHF{&~1#?!E0q(S!@@y&r8_5y4%f#CfL(4!ic@$5)p3zq@b_3%#*8Ojs^Z1`i^-XL;&4z;|+=7*1C$H~Ll>Mt+R!=-PT2-oogs7`v76SJ$0iJ?s3Z_&hg+ zcXFjbxlt1Y6{}A&EA?el^3&FLH3k;(+5rxe$b*v@@l6ql#5=@8z{NPlMF?O|F$(1Y z09WWbEitSJL~3E*$dzIBpmm9S5w>|_Y_Pma5a8&SfrKWnVf1epdoAOytH<-Y*?4|N zZf2L5LIuP++4InI`K_Zo@f%9S}DdQJ>=9%LdaUvd?zWWKd}84B7Q)or)#~hnY!F0>giaTb{-_lMW!N#| zm^XG?j%@i(zd428P=t8DtgsV(1SF8AI+`HTp1N6)AS0^thBq?$CdS^(_*?4Xyk$0= zSl&MVdbuvNXaj5A@|N`4?_i(X8GS2bZ)5!Jb@R8+nm{;UQ%UNVUhfZ2PS;vaBdLL37D?!=FoTFD{lrQ&pcEpLI;rHl$T~L+4oMHfpl% z(C9Th18kOw5)h|!Qy)M+fNrkC%Ea_Eqp=OD`ZSojlhMCp>@LRNU7LFM%+$L4?Bp(h zF)iX1^L*dhaShqoY+1YdjW#ntdiwpu;7QO8t9A$(XjTite_rp!_b~eRjNQ%nduwa& zomu-Tl@D$mYiO^Q{mJPPSULp0*V5~ecVdGQ<^~f8&!B`9z`j&0B&+?Ohn!i~+JUp2 zBW?&`frzmF1xsQdLH0Y5px@8*Cb&UEZXq7ho>2?q9AMMbbNoiFbRq<^tXz-5V>(uT zJQhdI{4;O0a{>)le2!FEwWIDfAGopYVkouF0H;><{9EW`nprqjp*NZjgLW^C6o?L$ z`K2-kp+lX_Kt%}{_c7l4eT=@Jv43Fv1ND1{yN}G;rSjJChpWBexs_UMsP3B1ss)JW>#Xn|M*oqqk23zTy8Xvy?ML#?@lBl< zoYQQ^kZV-rJYTo6e0fk3=iDWd7xNIsg6n)F`hT3!e`4$tjDNE3|H)bZgCIQb&+n&e zL-a@j2CCL*bUSwBtuQ0VELW~aIhT>?gRus~XL&9PnOGe1u6q`~bZz)vM*o?yPci=K z+VH1;Z}_`gA205w&~+jz&7r~q>wqBA!zmf!0J4zZo547T2p-i(pnaeT(-}g~VyzE8 zY6n3345R94Ty6MsGsD~Ro~^H!kSA&6ZszlEL*AMJ^sN@jGIDbR6;p`rh=>rp zBPjyIkHDyumwuUob#b)(QX&ARGjlq#%$cr=)W=cRmQ(o z&&JngvvIn7`Nkcs>sgLC6Og-9tvH3)G4?<#IIt-^<%y@drYw7l>3g6EV#r#%Nl2SfYEd+v{g{dNGs_l>d=g_>MRI9VkVXOF=PaW9KBNE1*bf;0 zVQuV(Gh?kCV;6GYW_d`O8=$*bJn(q0@D5`^*3sIJ82vBCe$4n!>V7|&^~>eMtq0mi zngeZ+tl+$8qO4&6YGoZg9%A&r8T%>YKdXEEY}TWcR}Eg99p&k?6>>Km%FLBT&s+j` zU*qCGXY_v<`vv2_to!_O*5|OizjsGx^)REqV(iz9|E4zmo0;hY^4pV}`u9;cb5RxtPukx1 zak>zeUUYnOx3kY}jS=5~e*s!eR`Q>%p<>j-& z%O}WJu6`zafTi;t8F)N?%JwqY!h;Ip(z2RA+Gb5(T|nEun{8T~K{MY9%Oew1RcTT+ zjc~US+i?@%Vm5M|%*}f3Qq9xd&5L?}K+~0lbRS%0O$A-S=?gh~5$9LdkG^vD=tzEk z@a=p$al(-L3qBwy{Y}t+mT(^DktnGR7x2=?G}Kto*u0CvNed;lRyt) z=%t*#jI)<>eqC+ox|tzIzGnLMfi}Uc2Kscgx}MWlaCQUdH`c9goVD7J*LUt}+)n36 z@gO~)4}8xFl9h!8X1ea2GqO{FB`9gRkkC=#kwd2w(wVV6H*xycoV}9sn`>(~&#di| zS4{6}AjPfvc5~QT#8ObCokO>df*ZY{^4%xo{+bNz4nhQ^xT-F|2=pg*;(bnE#o4W# zzq&T~>Y2eisJzPkd<9urt^K^8o%fItofj^*m%HH}&$WsHD;J$EwcNB;u6KEmSM!AU zl4Mm29&}~iwjwz~spR8UdZL#D2L(kB!ANUujmRA3tB{U(y#^R_nm5wzh1lI3PqJm3 zCi@l9nFqnyTuY2fr;}#{vXE%d>7BX#S84d4F&U7+RR*eHP| zG*}!EXIulD3qA0aLd0eS9HK?Y3Pi1sD1>Joq+F|CY1YbN+_K@(Zj>r7_=<=g0*Jp_C#(6bhI7t@`O~m2{YS88)84lXmkc_?l7A=RY3NtiK%bXXH;ZK|9>&g2SqVtJ^t!D`#)x{Oz@gx6e#?^40@i9#s3+=i&x9;vF84(|2(8 zPR`#|w|m#D-C_C7?nj#s(4iRjo^ohthtPo=L)~=FTiR=cWjH5tf8L4hJesqdDUe;) zj7w}j6lb)Kf<>P>`a3!OJI?On{N1(bch5|>1w3q z_0ZqL>ECm9H|OuI`@Q$~L$CW)w#%V!`d$3U>H9hR2hKlGxBI~F+uc6?X$fr?)*kc$ zb?Wj#PCvxihdKX9-R>i^cCmc@;IsKUU|Ufoh$^T6Cs1$qdpP|^&OXZd$LiJ}o3(c2 zy@U5@4IUYe@7+G+HvfO2`)hsq#`LAz>%rmFea>T^;!e+nXjQ&U|5U;wbxUN})Op6rqMERl7)(d*@uh9fT$q6b0GShtr zJ@dHo;v1=Y*5Ywz8d*D#|E>Q>rRcVaG^N(n$lLdX>l3wa3=Dz?9;z$l&vsW;8mJhN zw2WFvmvW$*rU?NwLKpd1NJX3wX~Ee!Wd0HZI~_R~HcRDd>D3UtQR)D)RG{-6jd~sY za1VQ04fEq~Pxp1ys9^XP+N|uwUatw#;5VV8MVJDox@2W~PIdNJqNcj$QI2gwbYi*y zI9|NyBOt9G`!6=1qVR;Pevhtz(D<+f$R%oJ+$RAl1Gh$6cOT2OWq^y9KW66C+!`T^ zfXl~gzs2w%gIvH1-A~8boY(m27Do1FgjbCOrBZX|BAkb;LmD-zc-cFYs6aA@9>BH_;PL^l*o9$#mo#LHQj_&RH>jl^~(} zHpMrXtChzeqH_;ZR*fHPon$V?#fcC_9t;MwlC74PNZk5SYUaqB#^6!^t2arOpY%{RTHG44wwbmLvMdjIvUo_4s8QU0U} zerZRk`q`GkC(7`U_%H( zx$fFdJQfWbGBix9=~h0k!pc#ZLOmnu1M^{Fjj}Ok?SNURXCduG(kf7$zzrqT7=_zF zX#oV{i(n%ZneUFvwj>ft{=>@RKINH>xqW*45+=|5-VtedF4 zcGON58>`#mf^PSuFS3`iWN7Y9{HMH%K7{1&d|4_ z@Vdilae#AizCD2Q)A^Had;Y=|RMG{&D!eTOM?e>P;p8OeFWt~9vhmVbKDU__)7Z+l zqN-xy*c=X@RGy%kCD`B$$M43YDBWjEAiKjmQ1~IL4CRRUgl((FdWy)0=+}4G4P&^U zlL3lNd_U|%;C$W%Q>H88ouW*uZS6To8mRal0%tD3&}aFW4+nB#>V_@mE|+F~Z$QiU zk46BpSyupP39`fv7omAH#Bw_@ro;9D@t92+hQra3uG-x_;+D;>U815?KyS%)-=FJG zv*CHdf9`8&WA8LQX-iJ;rhiQCrvH1WzO>{r<8FErCq?w%^l9h*Ie9;AKJLUzk_FQ_ zu(Uk7fo>hSoHkDT7pS<_moDl-@7khk?aFT~*Y!tP5p6B|0wo>>a|*#clp_To>H>i( z3&$x?A?u4?YuoHL_IKma_3TPoRM#+Z#L=a#4|3Xq06#M;R3nB-(w21+%k!>nOwyt2 z{(?rW9A}cSyqt=;hNSVM$Rl&Fr<|g?3@bM^J5YA|qB({3)h&2H5jp>DrLD zE&h7`99${GMO~*12}=YY;h7PF8C=6b?&b8KIr|jnpRRj-de*Cu4;=VuAGT2vjy==2 zYTko!1Rr&@_8Ct9g|p9c{<*r#=Vo2blJDt%v~?SEA!v==!NGVr2x16_%>p$xChny% z88QfFQx5U72eAUPU@xaO&keS(7?`CyKQRl`15Z&FFu~|*k;HwR{wrsn=ll!xqrNbE z)JgJ1y(?1O=uk`fIaqG!IziQ^cTy0422#2(w#XPkFI0#F0`3sFIRe2v0T}C~qQb!$ zts;8=f`KP|kwZAczRdYo>L+|<_JsEv^5O1f`aaNWQ!#)5sInyj83RPD;zo#Q41ZbV z4a%H;=wZ8|Xpw`^;J66`s3A^aGvT-l0H4+JB4E(OhO!q2p96uaRk{L~s(|j&PRyW1 zhCCd67DJhU;W+)Ev|SUbT~nGNu%mUagZBZyi5Q`TZWt;e$E{G51KC3e2^nCFv}8?* z2mpoMn3T8*WerUgeori;N>S)i>-r*|NRACpWvHAhP&;WmZ7Z&5bGS_=u5fdSFeOoO z;hQp4)NH#;O0G_JyM-c#8Fo?O9Erxn8s*W5LQ=dO6=^WA^AQ$&D4X-r?3c`ITUpv= zZfcXoc;Z^T$Z0w;PDk-qXcy24Kt7jpvqM4x=*8pA>Wv2sx9Ow|5s3n&?8gWi0kV3; zMIy>Wl#3cpLLw7Lnrnh4hYAMH$Z^DwyZ9QlUK!vu(6$nycwC=A6CBZ>;BPTB?t?)% z(CH%(15Ay(FmP8veJ6>Jz)OSllw})wle*&B1Xql^jj)zNRPv!JLgvk>f~vm({;baS z(#bkFbO5rwDr`_}3CdJm*cLVW0>#F)$~urIejQbrF{CUzK@?3A!RKZO*?__x#SRXKRN?yAXU4E-9kb zoLHKN_mLrrIW(Y-H`aOVgPi^cXW!-gdv(X}%{pE~MdJP5R{3tK38q0uEd7JeI#6V2U~;oJ}3;|ORr!?XaMbZmr=={ z;wx57g$hg~Sj3GL&E8^!n=LvhZ&w{?+)>?S;ocp{XZ!$_M3Afj^ZA{wiPQh&><1i0 zofzj2XX6||K6n4{Qkvz}alF9IN~iWlqwLUrWIx89bwf=vKxEIxTmFdC|KjY&od2Zm z{gYYm3*~3yhkN(3Y#1H&!*W@&Jb&^5NE)2pTId$6R{S*1{^qq~{ zxYcM&!$A>k8JlTu=w5&VG2m^yNr45oP?R1uDFpDPh}!Wwj%vFY+Hr9_E;NBAH^Hf+ zSa#?v6#9q=%Ei!vjLA~n4eY6anyE+4*s$hNaT4gqU?@N5^nW<}1?Ru4hw{tWP>z7x z{6YGCNIql1>M9CkojubWphiqGT$&~Lc>|4dD22+jH{))3-bN-v!_-|&$7v*d9``Xvjngn!WAW2pu?IkX5pTIo;xTp*Q4cvegs=}JU zE7wW-Z#n&6&Mq_fMCuM6g%pf5Doiwu5cZR5(BjThmTti2ERG-b#(<>N2X1;n^uxOQKN3Ia7sI`~H) z2M2QzI79sp!PB5x1z%DN)GlX#`F%=WLCWE(7!U+)dqiYJ-!#u#@CUbXnnnPG09Q` zxFl+d9O$=Ea3oL|VS;ks(a;_<=t~TCjlr+2dtN*1iR-K8Z*TOG1aPZU6Ae4~nn7P? zu$LSBy1M0cvzCth>HK#G@O?Phci_D14f+a$-C*z=>sB|;S}j9ddRul2UA4z?f0ZqR zJ;n7^=C}vt<2I;!XdY-s7*3;;n91A>M!w0Qe{HZ=8vN$k(9JVLIpF7;vLlt*#gt~l zl9Lem!&0DsRez;h4EidA-D>bx*Iiyc>+&s-(_446-$&g=kvS<&wq||0Mu?PbT$kc7 zXy$+o!s|gE&0UmKJ0YQnm1?~aWKQtpW#5^4siFX*Y85;_AWA#VUzi%n_WJq;7ud7% zxlSL1x+Zqe!_`D4I7FhLA%v!Ff7DNy>ZdqvaD;e}mctVvJ;dc!I9^dV5hEebp8o(6 zFciyo%ctv;xYsu zE|!v@Z51cGC@LG_Hk<)5=T7c){^&q!TOn1n8JrhtWA!5%jbbC*FrBpJonMy>HBN1n zQ`Dy>2c(FX#3lQ2lNnA<9M^$o#*HNv#a^=ZxE3h*UE{RAl_MxQUI>Dnl!>JgJ-2DP zOO~ewP>X~XsCPGK$O8P_9~VNmY6ph$Cfr?>-OQlYq}mI>G;u1+#>6Ik32LwG#LY*xcKIkb{mdAtw1?2K(l;w&pi<_-!Eg;Fvn z427T>!E87RWpXN>4@?UvIIj3h>oo)~x1^k2Kgu24G}JIU^@S1+5;8dlwOG0?AVb1E zNEbY7Fz@H-$e2TrdR(^BX>maJl22Ap4jXK;615{HRK*ap-cDvgr?fk?Xg~n zs2G&chp`53ZCJoPb+~3_x;r^{owY;K&G#2m6j+^CbfL#Hb!eWK%a9f|)05VR zB<&hQfh!w%nZ?d3qQL;r*DklwTj@nc4*(?)Z7aQrrmb!^j7O8+s8fkn3SE!3I#}59 zHhO9U8uF8vlbzF3VX#;Y^Fg?lkIr;k5k7>oc}B&TyDQDpbv}7|KA!R>NXv(4_PO0qX^-e9Nantd2wb`j$VSA^$+)0*2Yv8d2hwX#gUy3 z%HD)$x=^bvqmq3Yi%g67;Svzwcfr_hE)`@tV08;FSJ}6RH+EI`o~NXvw~pSjB+HVYvOP2QyeE@~CEK#cmhD)wC*uIq75Pj9$NGpXl%FRC~Ni~IraWz1b^ET*X>diNx|F1 zA2>fG#C#!1rghmlX( z;2)w<4SkrnroMw@Ec48?_OGE4JLHF#VL7Qw{ZKsZLGgED8s43=4Sn}OfAH&rN(f#{ z_;5CxK0JV)h`k~NF&JJ7#ZYGAc1I8Z4J6w3hvNuM6bPWO2b427lMjj;G2P~gCBR1H zDa0wj3i4>iov2@MGYk`pU-uy?06>Q3yz6LZCN=st@o3~)M6*$^=mO}PM?1cX)-b1U zPjWDwwB}q=p!W*r;Wlm1B`N-}CEKn!ya-%bL5=-AVq@2Y-)7mP+V{G{dQUL!?-Syh zPfPE{OAzkbV|ODwv$W$1PF}BT-XJJUCQ;glzRxsJ6JRT~$@}E=(NG^?j5_*|BcCIX zS=aYOz%q5?yZ+~ZDu?nMkGA`1peMLp$gm43ComoNV5H^SP&o^tge3O zJ|H{DohTFT__|_8D}$zC867Zq+E`Z_4ZgNMrv#V;&%<&|w;<^Oax=GCo`!EKMm{Vy z5^*ou$9*#5B?o{HG-u2e@~d8_thc#hdJvbVh8j!B7Dm}Wr#-zr8pa`U%KzMIb%LFGL;SQ!L*zkC-;ZV&@xUaXe4^hA_)G>S39u>}~2% zF@!HwE1oR^80DYRy?PIuVV`{$G|!WO(#6;|%(IPQ+Eu}sI|wl#Od8!ag;N;%h~lpf+7pR6zl+Ff?s#q2JwGl^JpFcIEv;#-jyvi1PZJJ#C%vv9fsa^@wR$8~r?bvpO)B8~B~7 z3aDev^Fv!Y0nR0$(m|6SL+_iD^)Gdu7!HKO9u*K$g1-%PJSo1zuA?Lf-+T!vw__>5 z0p>+F99oH`0NpIP_iW~V^#SQ+xMnX}j+C%N4#_}Na(7xI*${4O;I}yN(u8JPhtq9~ zdIMg+QwEw#Pw@YV=**t&E-T`ligcGEe}FljA21zHKOrs*qa7@WSG!0M@r*}*9Y)`+ zh#yp>dlY0M{E&7DVgu@{qnW3NE0SFzz-?M-yO9w8a1X$kJ>Tx*| zk&->#xCLxL0Z1d|ft|lBW;3x!+=iN8fGSa`#a}7nUn|l_75RQf!2KoxKJAvSd%CiK ztni}u$_-c)Ds_B75kIC#A6MiD+1Llov3s<~GhghyEDHIMAe`6-IKoa(C>udBpA8j> z`@2#4@3e+|N|z(i8x{e^KylY66!C8q>6425DK^!o%&8D}C2mjLftU6HanC>?E4T~l zkS(HGSh^X-g-KMgcUWM)RCE?0TxP{M4=Li`D$=JF`7>;y&zKWMsUq~4u5@~w&Y)dG zffoWvIQ(X;_OK#;R*^oZ$e(B5eBS&fti3Dwa5C4{*^UBSpe5if%o~uAFJoork0|07 z6zNe#evEzbnEAyK?dhI3qwL(G!MlPjlhibD!%>xXb)$dR;cWjtG?kY^ z(cWNO7#}+kjzXN&VE#o#{E{L)uErK|%>JlFR25r5^MkIWiKERM8TkD)9Uj*_ZO`wi|)eSO%c*P$aR(8Spq| z;L>RNULol9pwi8w8({3qiuiYm^c6*Zl9BMFNy3D7SLZ{?nC>hxI2lgkl+s_fMsa4v_;!&{XL>93iw`+{#6#|epL~_rbu5` z@M9M@Fx@A zwr+%?0S|DUXsW2%dd?N7`fu zfKN~zqe#BCekI5ta#8Z#;dQ8e0I~83*X!Yk1apIsUg!s`96&YHpgR#0EqLv+!-m0| zp#ImV74aL2^!JMV4CCh+lb;Ul(VpicXTkyXz{w*~O>{-DpaYeNcs27JQ92Q`vx2#A zD&n^k>D!9@Ec^CZ^Vf0H*<%CT5A^4;AshE7Fe?`JdRr|70#aO)w_!kTPl}B%+MYhi(>^ z2yhB3o(5ER0-eREsE@(uS^<^K`t7}d;>J6kf+!pp+8#KFc!Y~Y03K{U`21KAf1*hL ztjIrQ%ly<_rj3xA=h1KCQ`%X@7AEb9C?c*|hSiL=P(}Qoiu5mv{4@5|&&;o~Kn?iE zC@_okL_mz8q-MzD@MqwS?8S4J!)-x6%<77HBT+0($>M)i#Q&v8KUd^muvva#&Vpp| z13fH)vwK@&2vs(!q^i-7KekE7zD0zPiA+m}pr zN}@mFbKhsU6bYLkho&WXU4bY% zVZ12(M||Qrr~^$4?uxe~4QN>bh%qp|N>3WqlE9W^I9bjvKuWlPAj4oza$gp|tfXWs z-ncaECQ1Y(0XZ)b9fOE7d;rx21}#7byS+oIgl9k~J`9Qg;BA})ppxS%wrKJj&XY+fa5kBE4CPQ?+v`qYq94J46qb%Y#1h<8~cfW0pQGufwmWFN4c(mioF zNI`eMBNh~btWad&*9fX{lkB=WCM5y74=Z*LC5ct>O{(-}Rlb?Y<7QJHw~N|cT`z|2 zP&%wYYw^UCUOfHS5*T z^N*qdCoX;gAgb;l(09-*s``Zx8ri&V2hciWGO*7DV6q@W2y1bVZ0(Uzo36%0m!Jlf zP?$M|HrPKMUgN8Oh2yuH_DSV)@tDsdB!E<`B@msUNfUqY6RT0c9|L^Gqdn~TtsDcI zvAi1zuCLjCiSW~{P%07MF#6UDO#gAefG zu}*PYWq0?W!-~E}{0>DVigVSG=n)0y)xttTQV%NDVAwb45nPE5;4Auo=7o-|fCQEm zPn!t1e;W)x0O(KXf?t+^tOnUhj-df`+o4F=r&s_8h96SE%dzhT1!$+vP$wD%flO_S zXmh)e&0}xKwusk$D7?pRFL$6{M;#EdeXp~2PNv<$0NNA%&tRKg`2#CuzdeCi^LJOa zQyBN9qmG#0t4CS=QOpH+I}|l2$eNpbhjEkB1TYTz`&WI zZw$p~$aO54#>=Twh`8`dWMi1jP>TqFF)i$&6>$@SETBaq64bJiq`;Ekw>B~uq5^ae zc`#I7GAPdnWkHv$tb_91K)$vNhY>LTksQX4u(b^TNcn>AfnTTfuje}O^Hl4qB8tCh4wQEHFcIY#)FL7PBchsK06R4rJxIx z+$mjQXE0PBlVxB6;(^J=@Sd-~Q#=w=yF)?LS-5a}0NGyqwE7L{vRimj9uQ?`H+sBw z_3S#@Ig^bGF;4)9=nfY)S?j<~IPKAJ#)I~Mm&XfuP`l)3xN?YO(T<`k-2kHYF}y55 zQnQ9?(HU@|6F1?q1d%q-T!4QHtAgvWE$BkR%8PDcD^eurWCjioQmbK&5ByGzs3Dd_TN_XXy{P*_egHt_LBC+{k9d;yAZo3KV!o6I-d$HVgr_dqyEiSk z`x!z6a_snhkO+|5Lb8hHNLdSMl8jRT><;u=r4yYB%(0^zEwxT~VnB4!^!E0M>a(NR zz?yDv!*AgD(R|@?wcByK;C;Z7X!rW;fCSdj(t_@8F(abB0YwO&m@gXYffZAcj%L{x zEosxEG0E;j0VL8OnH1t`_lV{PDZ7JnNJ1Nj@E zQ;91FaTwZ;xVmR$=P-VO240pAkm-(IISsTomsfG3a4WV8Ses0dU@UCc$bZn;joY0S zqQ6BI|4^0Qs>*L;=KF1?`QD{H(tc0!4xkoA;bmAl0*Kw6>~~F2W04G^ODYMhX8_Au z0v&-8p43?F%q^<;N2+wID&NK?y3L%ZP5WW+=`Lh3^q5^eG>nu)cE|$sCG^XA^#6jd zZdb)WR;52t<+ro1-fn)iqWz}te}|u!gv}$qxzQX0Otz_#@A`wD46+~5Hb4=B3$$QLsGk30c6+@; z75}R${i!Oyldby@VH$k_o>ofs`C5UeD62sbD-bv6KMd$u~&75Yjjx^?^LC` zRQUsJ)CbH_9_`y*Kk7^iX+$w$m=b*yBkxwl5315Vs(ddSd9OLLUwgdo`w87EMPU#V ze`SB57r*8SImRd6MhRo zyH|9foZm^U`JGbED3G3Z>tUmNXYk*3E#h18gjuq<;lW0icEOg&X-~z|ecN-z(zs z9>wlP>wv2pZ*HB661o@;OFdc}ZrS&$?aYtDz4V7tJGy#VE;@uaS=bqtPJR!5V+k)| z+6$r>!%t2Da1pn$b_7{RZ_v?>UqS%VG;XCQWor!m)p)ICeH0z6{0M(~vj~@oN{Eqn z8}53H7HR`*km9ZA#J7w@Qm;CJCd5+W^r}lo(kfnG=hwakg_3UMCJrF z%&g1tr+|O~=ph!Hcfh|;C8VLXpQxw`L0K&P5(R)i{>b%$3@nb2D}~#AC=^fPCqi^o z(I|*U9TvFVXt+8W7A3qI$UYrd6DrEj1FoEt6+!33W5~1k9J<#XmYs1Rh98i{T&v$%K@AX zxd%BKS0IjLmJ7%>a_nl4_L$s$la#f2W4&pB`)k=wC=A|WY;fIFOT>oUjshiiApG%K zufc7H8b-;UzcO(!8b&*g!{43=vh)$VJ3gU`f1^sDROL@G{r;4x-)-6(vUj!3OAPK4 zT4GIIfzlo)U`_{iw>m6T@o!b>)2jR#_SI+1uUy*K4?NNl+Z_VfKg=0RmOQMApH-#L zsq*L9xX+v8GTMvr_r@DaTV%IviNKtPT(0fFN{_1Y zW9;k4%&&dgS2K@?@hBNW*F_i=;U4|ZS#bD8Rs51FJ+8`6u)$~)V8P)VCGFAVk6pUo z9>daZFe3zy614Gga&i*5L$3Y0l49eCL)eOpDS~~-Vq*7 z5VI1sl;ZH!~#yO3LKO_#sRX~?Zhn@Hp1~uE;e&A^7H7E986`r-bP@EU`b+V!x zR5EKFW~a-SRq^js=_{)IBooe)rf|@tAAP8QIF4o{tC9#K=ZHscb{%|G6~CrRUsvU) z*yyLs(H`yT{U2>hOM3JwM_&N*p25hcRq-3D^!KX#3>*23Ir3WVmhO9!mnEwJFGdqO zfbV6o1;R;(FfMkPa zRoR)cX(4p&A!E-9SDsVF@2JvuRrz~tqVJg#Ika1YZ^d&8k_2X2`kOp>xTw~%6FOXm z)BA&m-Zxwm6W)Xet!Y$^o86w=O2sR+*T2yHoQS?dG*IkRUx=T#z;6ke6^0D8L6Srn z|HQoPhw1)vp-o;BUQuRq@*T=UqVQR{SN{Kamq+%XW^7bqN_De7O#j>)lTTJxVwRKD z+DhfdnE&L-v&*%UCr?+5t!ATwzdCs`7B&CpR=s|5!>C={{>#miCy{rykJPq|#;L99 zDI=}erIBm#pe&D+N75mCV9&v!u>;o?bC(Vet)E^zvp79dTTBP+`h|L9edXk-db76G zs8%*lo*zm}hlDheJoC-X%_>bazrZG%UnsGO4lQ#gLetGct-4iNNtL#Yt;!}_9>ej~ zLW!0id)4xd#k6L(j;ya%8s;jaOKkk;5{;jq=B&avyi{o{8`U#LjX0!FMwZ4HVe>q~ zXo+Q`W-c)@O%j>T(f9^u2{yj5QQ00}r1A4b8viO5AVJ7!q_$dLHw8XR!wa))c!|dW zeg|=+v0ABZRcq!K^X38t`hrIg`=YtI)iBmuEYMzzn0ry;kpvcU#+tEV&@SX?7jhG{ zcV*sqNHu5FR@aS{%H|rAYHpMfl`D)gq84~;fa_dky?Uua!)X(8(@Qj*w+Rt@C|BQv zOjAZ}B{flLT&k?r&$mR78==)EC+KsY2pB{4_3C+3067wJZg!f+^BBSlSgzUFAORO? z2aCmdHhPiA3mc97CVk2sBU;90Xf%%%yy}-CL#Ej78h4t7Y$r5yXNWa`x-j|V2P zhH zL;ZAWYps%cc_LEk{46Q;bv(|Pnl&NAl`08tk_0z8$yDJw9%GEmwU!d+NzC~PlG_O$ zQ!cw>seYagO5QvuOFU|ju*bV%~^v;hW>pqM?9hbe_=OpTmw;IrCG+fS-P^39KovmG>eL^6(= z%ckO!Spab2wWx_X)Nc`4e+&?q%NG(5BH!ZNq4sW#dOl=|^X#XgqIv z2yFCBb-CW$BJ~?3OEh|nxIe`c81C-T`bM?(D!xZa)}ym@Bv0)?+t{h5u~Kg^+Q#yX zm$Cc;qwN%rHYnEE>cw+gG@1_NSm6X4y}~05oKH3?%r>&|lVfc5$$3)572Y<&bdBB6 zG`8w6cI&A^vs$armK4Z+Da>3;EA7O`=2pFRS&z|5W2G{U=kWo`#v0YFhB^NjDcG2) zU=|JkCO(En;LwY$4SE8Hg2q+WwUQzrm5Z{qz$9G z*~bVRr(-jYD+A(Q<*|iRIo>d8r^x7y(~gdt_v$KdNenOG_A+H%Ad^=p(wSf5%?`yc z7|W)CEYQ_h7%@lhAgn^A-dJtTPU=_~BWG}pCoDEQE(CKc=pHRh(5<+}BOUi>p;4*4 zv>64m@CEZ=Rd=KZeo*ZqljSJUGdf1cyvn182?r~fvMi7+3-fs<`ZGM?FoJMwD;w}N zNSjD?3uUr9XLtm$1ztYhbY&JyWjeDHJa=5vB*nJAO_ zJj1sb1!_ zZv00_iH_PNF*Ip9it9XvuzQo64WmLX>?CR5WQjb|bsj&AzAa;&xSyo$m^35N4IVcz zPx<;*CAHEsdA?q4m_7`doBSlnc!S3k%ni7@fob0)-4>JcbX#oj=m$Z^jB}>%b!?6a z?ARP_#|DplY{xOgP%UTV7@3M=Bc$6k9s`ihv3g^rH9cLy$7V@7H6G<4W~x%VNV_*h zCv(b-I%+)9;T%m}Y^+|qwCy`i(JeexpqQ)1qrcbQJypj|H}FdDc&<`Ew_fSleCh6h zo6LkaMdFy7Cp%l`u?KIXHQg&bZ2FY+X3Au>&LbX@nQC6Z$)w@Onc%06)BRTG5zcru zE*WRnUgDMRwy6=~^&F2lgaFeDeR6Mn-^3{;o5Gb)&x7%*4hF#s!ATCbls&YE_lME7lJk@VmO9t#NNr>n~_%Bhit zv7BN@WUbn$nu?W7=3|9l6ja{t4%Y{LgRB| zH2Z}exSnp_SV8Kf*;plWL>oQ5K$5-4BM7Q72NpJwEhIV3ky9{NqIBma9^)k1+E%4j zS#6m5M|2gz4*0mlTST{ezwo9qZ`6pG-~iBn{4exlFXtR1P$|u#(3H)(`>;QK&5Bkp=17G zp70UL%~TkTj7_q>Gjxz=rs>r0-*Ih$D`vi9vj)||NpaXm+8d2XHz`aYguVH)Qu4cfIiQnfkr$n59w0H)_~ z)ofqvb7XkuM(DQL&tm~wFo)c_Nj;HplX6AQ}Ebp9|%G}SRosm;- zY&BQSO`D_JbRJO2I!r;XC2p=odH^bZfX5Av#C)Y$tD3&cJZ;9j8SNe9F~i2!aVMBZ zXrAUA(N?5vU~!a=-$5QHP{p~m>U#CuIao3}esdJ> z&YAhigFJrNH_b|8tIjflWXtC0kj$A0n?pRFpaAn1pe{t#JPCOIIFWUTN0!^}EE&y} zD)}-k4~XPk8X-9x;?c!EV)m|;b7TU*lNB^`$;>n!=B)%_PggeUTWiF~G}-a#5;>xW zd5b_bbM>uF@ItKQh?Shl${>$(EKp)r-&ExiIY}imq8Q}uCbK_q{I(yuN@Pt+i{umx z@;G2@S1XN%k(#d5&FcukDKlErbhixh*kDva$6Br%_+{hG#NWZ;K zw`sY)Y?v=0Win6YGAT`t#~b#vyk=Cl7emew+?6Lt|8qR<;4PGmGu4+Za+z{=oFoN}{qwnBGLnNEAzyb?!w z{6Zz!aQ0feeWf7z#MYRiIDM4I0FsWam+I}!WKTt9qjqWA6qf0hESvApqdU;Ku)1w# z7Dx;Wrt>kzqZ1k1){;}z+UiQ39L53#mxUau&)5#qTR7XmX&?__fo#melsTTq8N`A2 ztF!PaQsc%Z8JZk9Ub%5nfpH#f*rJ6-6FvpW9N9I9Z^69p$9Y6SWfm?iS6)_`1(Mdn z5?y2CJi6eyEW$KhY9jPy2WOE^-J)rn3Of+BSgmZ~Ca3YFH;Xg0rv=^$U}6SItyWrh zh9os(=4vK*^D{GJY}ARG<76_9muU70-t3^ibb&qHw)~J1aa=l1(aHo*KQRA^3e=KO ze}cF@F-G%G@~DB>J*KI3dT`XoL_YlrA)AXU52Wjg{!>WSaLGBsW#xte+=czmB}g>!v82D)I!) z?!5EH`m)iWm#GpNyAo1+Agjn@rQ6-FY2+M)slEQM*hZ09)i{9ivCvg7~& literal 0 HcmV?d00001 diff --git a/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts b/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts new file mode 100644 index 0000000000000..8f68ed76e9c38 --- /dev/null +++ b/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts @@ -0,0 +1,123970 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +export const TILE_SEARCHES = { + '0.0.0': { + countResponse: {}, + searchResponse: { + "took" : 13, + "timed_out" : false, + "_shards" : { + "total" : 1, + "successful" : 1, + "skipped" : 0, + "failed" : 0 + }, + "hits" : { + "total" : { + "value" : 250, + "relation" : "eq" + }, + "max_score" : 0.0, + "hits" : [ + { + "_index" : "world_countries_v1", + "_id" : "Q71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -61.686668, + 17.024441 + ], + [ + -61.794449, + 17.16333 + ], + [ + -61.887222, + 17.105274 + ], + [ + -61.686668, + 17.024441 + ] + ] + ], + [ + [ + [ + -61.729172, + 17.608608 + ], + [ + -61.873062, + 17.703888 + ], + [ + -61.853058, + 17.583054 + ], + [ + -61.729172, + 17.608608 + ] + ] + ] + ] + }, + "name" : "Antigua and Barbuda", + "iso2" : "AG", + "iso3" : "ATG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "RL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 8.62203, + 36.941368 + ], + [ + 6.398333, + 37.086388 + ], + [ + 5.328055, + 36.640274 + ], + [ + 4.785832, + 36.894722 + ], + [ + 2.96361, + 36.802216 + ], + [ + 0.95, + 36.450272 + ], + [ + -2.209445, + 35.085831 + ], + [ + -1.747222, + 34.747215 + ], + [ + -1.668056, + 33.261108 + ], + [ + -1.010278, + 32.508331 + ], + [ + -1.180556, + 32.11055 + ], + [ + -2.853889, + 32.088333 + ], + [ + -3.818334, + 31.695553 + ], + [ + -3.626667, + 30.970554 + ], + [ + -4.920556, + 30.508053 + ], + [ + -5.538334, + 29.902496 + ], + [ + -7.123889, + 29.636944 + ], + [ + -8.667223, + 28.709442 + ], + [ + -8.666668, + 27.666664 + ], + [ + -8.66679, + 27.290459 + ], + [ + -6.662778, + 26.129166 + ], + [ + -4.806111, + 25.000275 + ], + [ + 1.169662, + 21.102543 + ], + [ + 1.1675, + 20.741108 + ], + [ + 1.795833, + 20.308331 + ], + [ + 3.233055, + 19.820274 + ], + [ + 3.331944, + 18.976387 + ], + [ + 4.245277, + 19.146664 + ], + [ + 5.812499, + 19.44611 + ], + [ + 7.450807, + 20.852863 + ], + [ + 11.986475, + 23.522305 + ], + [ + 11.558887, + 24.302498 + ], + [ + 10.252222, + 24.605831 + ], + [ + 9.398333, + 26.153332 + ], + [ + 9.871666, + 26.514164 + ], + [ + 9.948332, + 27.824444 + ], + [ + 9.766388, + 29.427776 + ], + [ + 9.303888, + 30.122498 + ], + [ + 9.537113, + 30.23439 + ], + [ + 9.055277, + 32.099998 + ], + [ + 8.34861, + 32.533333 + ], + [ + 7.492499, + 33.887497 + ], + [ + 8.251665, + 34.64444 + ], + [ + 8.183611, + 36.524162 + ], + [ + 8.62203, + 36.941368 + ] + ] + ] + }, + "name" : "Algeria", + "iso2" : "DZ", + "iso3" : "DZA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Rb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 46.178247, + 38.84115 + ], + [ + 45.819986, + 39.549723 + ], + [ + 45.083323, + 39.768045 + ], + [ + 44.778864, + 39.706385 + ], + [ + 44.813044, + 39.630816 + ], + [ + 45.004435, + 39.416384 + ], + [ + 46.178247, + 38.84115 + ] + ] + ], + [ + [ + [ + 45.513052, + 40.607222 + ], + [ + 45.573053, + 40.63249 + ], + [ + 45.517492, + 40.665541 + ], + [ + 45.513052, + 40.607222 + ] + ] + ], + [ + [ + [ + 45.245272, + 40.976942 + ], + [ + 45.195822, + 40.99777 + ], + [ + 45.229162, + 40.969152 + ], + [ + 45.245272, + 40.976942 + ] + ] + ], + [ + [ + [ + 45.045271, + 41.035273 + ], + [ + 45.001112, + 41.088881 + ], + [ + 45.009993, + 41.033052 + ], + [ + 45.045271, + 41.035273 + ] + ] + ], + [ + [ + [ + 48.583956, + 41.835772 + ], + [ + 47.766932, + 41.196093 + ], + [ + 46.571383, + 41.871935 + ], + [ + 46.451754, + 41.897058 + ], + [ + 46.194429, + 41.685823 + ], + [ + 46.693872, + 41.312204 + ], + [ + 46.520823, + 41.04999 + ], + [ + 45.336657, + 41.462496 + ], + [ + 45.022943, + 41.297052 + ], + [ + 45.153872, + 41.198603 + ], + [ + 46.00194, + 40.22555 + ], + [ + 45.595819, + 39.978045 + ], + [ + 46.541384, + 39.56444 + ], + [ + 46.540377, + 38.875589 + ], + [ + 47.976664, + 39.719233 + ], + [ + 48.359789, + 39.385218 + ], + [ + 48.020823, + 38.835543 + ], + [ + 48.888285, + 38.442408 + ], + [ + 49.488047, + 40.150537 + ], + [ + 50.374994, + 40.262217 + ], + [ + 49.528048, + 40.662767 + ], + [ + 48.583956, + 41.835772 + ] + ] + ] + ] + }, + "name" : "Azerbaijan", + "iso2" : "AZ", + "iso3" : "AZE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Rr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 19.367771, + 41.848999 + ], + [ + 19.600555, + 41.796661 + ], + [ + 19.436214, + 41.021065 + ], + [ + 19.478611, + 40.350273 + ], + [ + 19.288609, + 40.417496 + ], + [ + 19.863052, + 40.039719 + ], + [ + 20.010029, + 39.6912 + ], + [ + 20.671944, + 40.098053 + ], + [ + 20.98349, + 40.855888 + ], + [ + 20.82111, + 40.908882 + ], + [ + 20.492775, + 41.331108 + ], + [ + 20.589642, + 41.882187 + ], + [ + 20.071423, + 42.560913 + ], + [ + 19.645832, + 42.61805 + ], + [ + 19.367771, + 41.848999 + ] + ] + ] + }, + "name" : "Albania", + "iso2" : "AL", + "iso3" : "ALB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "R71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 46.540377, + 38.875589 + ], + [ + 46.541384, + 39.56444 + ], + [ + 45.595819, + 39.978045 + ], + [ + 46.00194, + 40.22555 + ], + [ + 45.153872, + 41.198603 + ], + [ + 45.022943, + 41.297052 + ], + [ + 43.460772, + 41.112963 + ], + [ + 43.75194, + 40.74 + ], + [ + 43.657495, + 40.108599 + ], + [ + 44.347216, + 40.02389 + ], + [ + 44.778864, + 39.706385 + ], + [ + 45.083323, + 39.768045 + ], + [ + 45.819986, + 39.549723 + ], + [ + 46.178247, + 38.84115 + ], + [ + 46.540377, + 38.875589 + ] + ], + [ + [ + 45.045271, + 41.035273 + ], + [ + 45.009993, + 41.033052 + ], + [ + 45.001112, + 41.088881 + ], + [ + 45.045271, + 41.035273 + ] + ], + [ + [ + 45.245272, + 40.976942 + ], + [ + 45.229162, + 40.969152 + ], + [ + 45.195822, + 40.99777 + ], + [ + 45.245272, + 40.976942 + ] + ], + [ + [ + 45.513052, + 40.607222 + ], + [ + 45.517492, + 40.665541 + ], + [ + 45.573053, + 40.63249 + ], + [ + 45.513052, + 40.607222 + ] + ] + ] + }, + "name" : "Armenia", + "iso2" : "AM", + "iso3" : "ARM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "SL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 11.750834, + -16.75528 + ], + [ + 11.775, + -16.804726 + ], + [ + 11.693609, + -16.535557 + ], + [ + 11.750834, + -16.75528 + ] + ] + ], + [ + [ + [ + 23.986208, + -10.870461 + ], + [ + 22.253889, + -11.209723 + ], + [ + 22.312223, + -10.364445 + ], + [ + 21.790556, + -9.405556 + ], + [ + 21.782961, + -7.280842 + ], + [ + 20.548716, + -7.283615 + ], + [ + 20.629747, + -6.913881 + ], + [ + 19.53895, + -6.996614 + ], + [ + 19.373056, + -7.996111 + ], + [ + 17.624166, + -8.098057 + ], + [ + 16.941668, + -7.19861 + ], + [ + 16.579721, + -5.900833 + ], + [ + 13.997499, + -5.848612 + ], + [ + 13.178881, + -5.856329 + ], + [ + 12.245001, + -6.098055 + ], + [ + 13.39139, + -8.387222 + ], + [ + 12.984446, + -9.087502 + ], + [ + 13.773611, + -10.684723 + ], + [ + 13.792501, + -11.791668 + ], + [ + 12.509722, + -13.42528 + ], + [ + 11.73139, + -15.846668 + ], + [ + 11.810835, + -15.993057 + ], + [ + 11.820833, + -16.503056 + ], + [ + 11.752783, + -17.254833 + ], + [ + 13.160555, + -16.952778 + ], + [ + 13.993219, + -17.423946 + ], + [ + 18.45154, + -17.389835 + ], + [ + 18.915834, + -17.815556 + ], + [ + 20.854166, + -18.016392 + ], + [ + 23.284723, + -17.662502 + ], + [ + 23.47611, + -17.625835 + ], + [ + 22.000151, + -16.171661 + ], + [ + 21.998335, + -13.004168 + ], + [ + 24.020555, + -13.00639 + ], + [ + 23.986208, + -10.870461 + ] + ] + ], + [ + [ + [ + 12.214552, + -5.768555 + ], + [ + 12.526667, + -5.724167 + ], + [ + 12.565554, + -5.025555 + ], + [ + 13.088888, + -4.6625 + ], + [ + 13.091391, + -4.633055 + ], + [ + 12.779047, + -4.38899 + ], + [ + 12.026133, + -5.014996 + ], + [ + 12.214552, + -5.768555 + ] + ] + ] + ] + }, + "name" : "Angola", + "iso2" : "AO", + "iso3" : "AGO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Sb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -170.542511, + -14.297503 + ], + [ + -170.540039, + -14.283892 + ], + [ + -170.560822, + -14.287781 + ], + [ + -170.542511, + -14.297503 + ] + ] + ], + [ + [ + [ + -170.637268, + -14.289446 + ], + [ + -170.560028, + -14.265837 + ], + [ + -170.826111, + -14.325003 + ], + [ + -170.637268, + -14.289446 + ] + ] + ], + [ + [ + [ + -169.444489, + -14.261667 + ], + [ + -169.536133, + -14.231668 + ], + [ + -169.513062, + -14.275833 + ], + [ + -169.444489, + -14.261667 + ] + ] + ], + [ + [ + [ + -169.62558, + -14.189722 + ], + [ + -169.621948, + -14.168612 + ], + [ + -169.644745, + -14.176111 + ], + [ + -169.62558, + -14.189722 + ] + ] + ], + [ + [ + [ + -169.685577, + -14.191944 + ], + [ + -169.662231, + -14.175001 + ], + [ + -169.690857, + -14.167501 + ], + [ + -169.685577, + -14.191944 + ] + ] + ] + ] + }, + "name" : "American Samoa", + "iso2" : "AS", + "iso3" : "ASM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Sr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -68.608612, + -54.891396 + ], + [ + -68.636124, + -54.804771 + ], + [ + -68.643112, + -54.888611 + ], + [ + -68.608612, + -54.891396 + ] + ] + ], + [ + [ + [ + -63.813614, + -54.731392 + ], + [ + -64.75528, + -54.835007 + ], + [ + -64.678345, + -54.907227 + ], + [ + -63.813614, + -54.731392 + ] + ] + ], + [ + [ + [ + -68.261948, + -52.98806 + ], + [ + -68.617584, + -52.64151 + ], + [ + -68.635834, + -54.788338 + ], + [ + -66.446121, + -55.051674 + ], + [ + -65.353897, + -54.929169 + ], + [ + -65.138062, + -54.651672 + ], + [ + -67.359177, + -54.028893 + ], + [ + -68.543625, + -53.229446 + ], + [ + -68.261948, + -52.98806 + ] + ] + ], + [ + [ + [ + -61.878891, + -39.2425 + ], + [ + -61.890556, + -39.139168 + ], + [ + -62.095284, + -39.089172 + ], + [ + -61.878891, + -39.2425 + ] + ] + ], + [ + [ + [ + -61.996948, + -39.066948 + ], + [ + -61.981392, + -39.026947 + ], + [ + -62.132782, + -39.01889 + ], + [ + -61.996948, + -39.066948 + ] + ] + ], + [ + [ + [ + -62.643768, + -22.238903 + ], + [ + -62.811951, + -21.996948 + ], + [ + -63.941116, + -22.000835 + ], + [ + -64.324722, + -22.873611 + ], + [ + -64.590561, + -22.214725 + ], + [ + -65.190201, + -22.09473 + ], + [ + -65.748062, + -22.111668 + ], + [ + -66.223007, + -21.780521 + ], + [ + -67.183624, + -22.821667 + ], + [ + -67.000839, + -23.002781 + ], + [ + -67.335846, + -24.021667 + ], + [ + -68.565002, + -24.774445 + ], + [ + -68.351959, + -25.117226 + ], + [ + -68.583618, + -26.50528 + ], + [ + -68.287231, + -26.915279 + ], + [ + -68.810837, + -27.120556 + ], + [ + -69.65538, + -28.400932 + ], + [ + -70.031403, + -29.306393 + ], + [ + -69.83168, + -30.190556 + ], + [ + -70.533066, + -31.188057 + ], + [ + -70.098892, + -33.172501 + ], + [ + -69.774445, + -33.381111 + ], + [ + -69.8125, + -34.235558 + ], + [ + -70.567505, + -35.24778 + ], + [ + -70.424316, + -36.13604 + ], + [ + -71.185287, + -36.842224 + ], + [ + -70.824173, + -38.568062 + ], + [ + -71.401398, + -38.92028 + ], + [ + -71.695557, + -39.58445 + ], + [ + -71.950562, + -40.73278 + ], + [ + -71.72612, + -42.096672 + ], + [ + -72.131958, + -42.288895 + ], + [ + -72.136948, + -43.009171 + ], + [ + -71.732788, + -43.188057 + ], + [ + -71.855011, + -44.371674 + ], + [ + -71.108063, + -44.539726 + ], + [ + -71.282227, + -44.800285 + ], + [ + -72.078613, + -44.769447 + ], + [ + -71.297791, + -45.293335 + ], + [ + -71.780563, + -45.648895 + ], + [ + -71.669449, + -46.679169 + ], + [ + -71.940292, + -46.815559 + ], + [ + -71.868622, + -47.221672 + ], + [ + -72.360291, + -47.470001 + ], + [ + -72.536392, + -47.921394 + ], + [ + -72.287231, + -48.341949 + ], + [ + -72.564178, + -48.804451 + ], + [ + -73.583618, + -49.538063 + ], + [ + -73.166122, + -50.753334 + ], + [ + -72.294174, + -50.649727 + ], + [ + -72.400558, + -51.513618 + ], + [ + -71.910568, + -51.995834 + ], + [ + -69.998337, + -51.996391 + ], + [ + -68.441757, + -52.377777 + ], + [ + -68.988068, + -51.624725 + ], + [ + -69.613892, + -51.625839 + ], + [ + -68.968063, + -51.573891 + ], + [ + -69.183624, + -50.970558 + ], + [ + -69.40889, + -51.077782 + ], + [ + -68.941116, + -50.388062 + ], + [ + -68.370285, + -50.146667 + ], + [ + -69.011124, + -50.011948 + ], + [ + -67.897232, + -49.98584 + ], + [ + -67.579453, + -49.034172 + ], + [ + -65.787231, + -47.962502 + ], + [ + -66.243622, + -47.860283 + ], + [ + -65.871948, + -47.758057 + ], + [ + -65.779449, + -47.189445 + ], + [ + -66.816956, + -46.991669 + ], + [ + -67.506119, + -46.458893 + ], + [ + -67.584351, + -46.000298 + ], + [ + -66.949448, + -45.255562 + ], + [ + -65.604736, + -45.016396 + ], + [ + -65.691681, + -44.716949 + ], + [ + -65.249451, + -44.313057 + ], + [ + -65.32251, + -43.653061 + ], + [ + -64.295013, + -42.991951 + ], + [ + -64.960556, + -42.666389 + ], + [ + -64.398056, + -42.515839 + ], + [ + -64.086945, + -42.890282 + ], + [ + -63.580559, + -42.623894 + ], + [ + -63.746948, + -42.090561 + ], + [ + -64.45195, + -42.445839 + ], + [ + -65.013626, + -42.092224 + ], + [ + -65.134445, + -40.847778 + ], + [ + -63.765839, + -41.16584 + ], + [ + -62.390007, + -40.901947 + ], + [ + -62.183891, + -40.629723 + ], + [ + -62.489449, + -40.299446 + ], + [ + -62.06778, + -39.505562 + ], + [ + -62.277229, + -39.335281 + ], + [ + -62.020004, + -39.378059 + ], + [ + -62.381393, + -38.798615 + ], + [ + -61.094452, + -38.995834 + ], + [ + -58.301117, + -38.485001 + ], + [ + -57.571671, + -38.133057 + ], + [ + -56.663063, + -36.900558 + ], + [ + -56.741669, + -36.318336 + ], + [ + -57.376671, + -35.962784 + ], + [ + -57.188339, + -35.320557 + ], + [ + -58.469727, + -34.539726 + ], + [ + -58.383896, + -34.05584 + ], + [ + -58.531952, + -33.516945 + ], + [ + -58.426949, + -33.096947 + ], + [ + -58.147224, + -33.051674 + ], + [ + -58.199242, + -32.45031 + ], + [ + -57.806396, + -30.748219 + ], + [ + -57.608002, + -30.184925 + ], + [ + -55.765282, + -28.226112 + ], + [ + -53.807785, + -27.129169 + ], + [ + -53.863335, + -25.681114 + ], + [ + -54.598915, + -25.573223 + ], + [ + -54.698334, + -26.438335 + ], + [ + -55.736115, + -27.439445 + ], + [ + -58.604622, + -27.316921 + ], + [ + -57.576668, + -25.549446 + ], + [ + -57.756111, + -25.176945 + ], + [ + -61.007782, + -23.813335 + ], + [ + -62.643768, + -22.238903 + ] + ] + ] + ] + }, + "name" : "Argentina", + "iso2" : "AR", + "iso3" : "ARG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "S71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 158.882174, + -54.711388 + ], + [ + 158.95746, + -54.474716 + ], + [ + 158.833315, + -54.749725 + ], + [ + 158.882174, + -54.711388 + ] + ] + ], + [ + [ + [ + 147.362734, + -43.398056 + ], + [ + 147.291933, + -43.261948 + ], + [ + 147.123018, + -43.421944 + ], + [ + 147.362734, + -43.398056 + ] + ] + ], + [ + [ + [ + 147.429689, + -43.253616 + ], + [ + 147.359957, + -43.073616 + ], + [ + 147.291933, + -43.164444 + ], + [ + 147.429689, + -43.253616 + ] + ] + ], + [ + [ + [ + 148.170534, + -42.663887 + ], + [ + 148.02109, + -42.618057 + ], + [ + 148.014162, + -42.753059 + ], + [ + 148.170534, + -42.663887 + ] + ] + ], + [ + [ + [ + 148.333315, + -42.358894 + ], + [ + 148.319124, + -42.312775 + ], + [ + 148.231081, + -42.301941 + ], + [ + 148.333315, + -42.358894 + ] + ] + ], + [ + [ + [ + 145.107729, + -40.821671 + ], + [ + 144.701357, + -40.759171 + ], + [ + 144.682467, + -41.223328 + ], + [ + 145.551912, + -42.344162 + ], + [ + 145.205233, + -42.25695 + ], + [ + 145.49692, + -42.957779 + ], + [ + 146.236361, + -43.327225 + ], + [ + 146.038301, + -43.498055 + ], + [ + 146.916704, + -43.617844 + ], + [ + 147.317476, + -42.846664 + ], + [ + 147.995241, + -43.229721 + ], + [ + 147.843019, + -42.869446 + ], + [ + 148.18387, + -41.943054 + ], + [ + 148.365511, + -42.215004 + ], + [ + 148.223299, + -40.850838 + ], + [ + 146.586092, + -41.186661 + ], + [ + 145.107729, + -40.821671 + ] + ] + ], + [ + [ + [ + 144.926363, + -40.722496 + ], + [ + 145.016085, + -40.695549 + ], + [ + 144.924135, + -40.61528 + ], + [ + 144.926363, + -40.722496 + ] + ] + ], + [ + [ + [ + 148.200258, + -40.594162 + ], + [ + 148.215792, + -40.501944 + ], + [ + 148.0972, + -40.53389 + ], + [ + 148.200258, + -40.594162 + ] + ] + ], + [ + [ + [ + 144.755556, + -40.596664 + ], + [ + 144.779696, + -40.409439 + ], + [ + 144.71747, + -40.503891 + ], + [ + 144.755556, + -40.596664 + ] + ] + ], + [ + [ + [ + 144.941347, + -40.458893 + ], + [ + 144.949709, + -40.387222 + ], + [ + 144.832186, + -40.433609 + ], + [ + 144.941347, + -40.458893 + ] + ] + ], + [ + [ + [ + 148.354677, + -40.315552 + ], + [ + 147.993563, + -40.420555 + ], + [ + 148.475801, + -40.443886 + ], + [ + 148.354677, + -40.315552 + ] + ] + ], + [ + [ + [ + 148.177462, + -40.25695 + ], + [ + 148.279421, + -39.965836 + ], + [ + 147.881899, + -39.754173 + ], + [ + 148.177462, + -40.25695 + ] + ] + ], + [ + [ + [ + 143.957735, + -40.110001 + ], + [ + 144.147493, + -39.927223 + ], + [ + 143.973024, + -39.573334 + ], + [ + 143.957735, + -40.110001 + ] + ] + ], + [ + [ + [ + 147.353579, + -39.499443 + ], + [ + 147.344423, + -39.448051 + ], + [ + 147.307467, + -39.487503 + ], + [ + 147.353579, + -39.499443 + ] + ] + ], + [ + [ + [ + 147.29999, + -39.482216 + ], + [ + 147.315523, + -39.431946 + ], + [ + 147.28525, + -39.473885 + ], + [ + 147.29999, + -39.482216 + ] + ] + ], + [ + [ + [ + 146.65555, + -38.769722 + ], + [ + 146.467745, + -38.758057 + ], + [ + 146.54471, + -38.800278 + ], + [ + 146.65555, + -38.769722 + ] + ] + ], + [ + [ + [ + 145.311647, + -38.467773 + ], + [ + 145.113588, + -38.528885 + ], + [ + 145.361361, + -38.569168 + ], + [ + 145.311647, + -38.467773 + ] + ] + ], + [ + [ + [ + 145.492739, + -38.374443 + ], + [ + 145.305819, + -38.296951 + ], + [ + 145.27109, + -38.363335 + ], + [ + 145.492739, + -38.374443 + ] + ] + ], + [ + [ + [ + 137.584963, + -35.650833 + ], + [ + 136.534426, + -35.912498 + ], + [ + 138.112734, + -35.86972 + ], + [ + 137.584963, + -35.650833 + ] + ] + ], + [ + [ + [ + 136.495241, + -35.17556 + ], + [ + 136.466646, + -35.138611 + ], + [ + 136.43442, + -35.158051 + ], + [ + 136.495241, + -35.17556 + ] + ] + ], + [ + [ + [ + 136.202761, + -35.07695 + ], + [ + 136.195803, + -35.02639 + ], + [ + 136.086641, + -34.94722 + ], + [ + 136.202761, + -35.07695 + ] + ] + ], + [ + [ + [ + 118.471918, + -34.938332 + ], + [ + 118.476381, + -34.91806 + ], + [ + 118.4247, + -34.907776 + ], + [ + 118.471918, + -34.938332 + ] + ] + ], + [ + [ + [ + 137.358004, + -34.540283 + ], + [ + 137.365786, + -34.477776 + ], + [ + 137.334414, + -34.515556 + ], + [ + 137.358004, + -34.540283 + ] + ] + ], + [ + [ + [ + 122.246935, + -34.151665 + ], + [ + 122.255548, + -34.124443 + ], + [ + 122.229982, + -34.112221 + ], + [ + 122.246935, + -34.151665 + ] + ] + ], + [ + [ + [ + 123.207491, + -34.111946 + ], + [ + 123.215822, + -34.086113 + ], + [ + 123.167765, + -34.094444 + ], + [ + 123.207491, + -34.111946 + ] + ] + ], + [ + [ + [ + 134.486635, + -33.779999 + ], + [ + 134.540255, + -33.696663 + ], + [ + 134.480257, + -33.714165 + ], + [ + 134.486635, + -33.779999 + ] + ] + ], + [ + [ + [ + 133.589418, + -32.311668 + ], + [ + 133.67499, + -32.240555 + ], + [ + 133.533602, + -32.304443 + ], + [ + 133.589418, + -32.311668 + ] + ] + ], + [ + [ + [ + 115.680269, + -32.228333 + ], + [ + 115.648882, + -32.152222 + ], + [ + 115.660814, + -32.233612 + ], + [ + 115.680269, + -32.228333 + ] + ] + ], + [ + [ + [ + 159.070803, + -31.523613 + ], + [ + 159.070803, + -31.599998 + ], + [ + 159.1019, + -31.571114 + ], + [ + 159.070803, + -31.523613 + ] + ] + ], + [ + [ + [ + 153.451357, + -27.729164 + ], + [ + 153.538576, + -27.416664 + ], + [ + 153.433596, + -27.416111 + ], + [ + 153.451357, + -27.729164 + ] + ] + ], + [ + [ + [ + 153.41498, + -27.248055 + ], + [ + 153.425264, + -27.362778 + ], + [ + 153.454134, + -27.01778 + ], + [ + 153.41498, + -27.248055 + ] + ] + ], + [ + [ + [ + 113.209154, + -26.140835 + ], + [ + 112.951105, + -25.488609 + ], + [ + 112.953325, + -25.786945 + ], + [ + 113.209154, + -26.140835 + ] + ] + ], + [ + [ + [ + 153.003603, + -25.34 + ], + [ + 152.992464, + -25.307777 + ], + [ + 152.948854, + -25.272503 + ], + [ + 153.003603, + -25.34 + ] + ] + ], + [ + [ + [ + 113.07361, + -25.233608 + ], + [ + 113.101648, + -25.097221 + ], + [ + 113.061655, + -25.278614 + ], + [ + 113.07361, + -25.233608 + ] + ] + ], + [ + [ + [ + 113.139711, + -24.926666 + ], + [ + 113.147219, + -24.760002 + ], + [ + 113.114992, + -24.995831 + ], + [ + 113.139711, + -24.926666 + ] + ] + ], + [ + [ + [ + 153.077181, + -25.798611 + ], + [ + 153.281649, + -24.699165 + ], + [ + 152.943026, + -25.558334 + ], + [ + 153.077181, + -25.798611 + ] + ] + ], + [ + [ + [ + 151.382174, + -23.882778 + ], + [ + 151.326906, + -23.753056 + ], + [ + 151.330538, + -23.813335 + ], + [ + 151.382174, + -23.882778 + ] + ] + ], + [ + [ + [ + 151.269442, + -23.780556 + ], + [ + 151.203035, + -23.528889 + ], + [ + 151.019991, + -23.454445 + ], + [ + 151.269442, + -23.780556 + ] + ] + ], + [ + [ + [ + 150.98218, + -23.195553 + ], + [ + 150.978304, + -23.150555 + ], + [ + 150.947206, + -23.195553 + ], + [ + 150.98218, + -23.195553 + ] + ] + ], + [ + [ + [ + 149.735506, + -22.423054 + ], + [ + 149.760805, + -22.363888 + ], + [ + 149.733583, + -22.340557 + ], + [ + 149.735506, + -22.423054 + ] + ] + ], + [ + [ + [ + 150.49164, + -22.354721 + ], + [ + 150.560244, + -22.304447 + ], + [ + 150.489962, + -22.213055 + ], + [ + 150.49164, + -22.354721 + ] + ] + ], + [ + [ + [ + 149.90082, + -22.228333 + ], + [ + 149.908327, + -22.046946 + ], + [ + 149.865786, + -22.173889 + ], + [ + 149.90082, + -22.228333 + ] + ] + ], + [ + [ + [ + 150.336916, + -21.775558 + ], + [ + 150.358858, + -21.73333 + ], + [ + 150.294436, + -21.744442 + ], + [ + 150.336916, + -21.775558 + ] + ] + ], + [ + [ + [ + 150.286928, + -21.6875 + ], + [ + 150.305239, + -21.66 + ], + [ + 150.253878, + -21.638054 + ], + [ + 150.286928, + -21.6875 + ] + ] + ], + [ + [ + [ + 115.454988, + -20.782501 + ], + [ + 115.435259, + -20.667221 + ], + [ + 115.303865, + -20.872776 + ], + [ + 115.454988, + -20.782501 + ] + ] + ], + [ + [ + [ + 149.066652, + -20.526669 + ], + [ + 149.074984, + -20.486942 + ], + [ + 149.036928, + -20.501667 + ], + [ + 149.066652, + -20.526669 + ] + ] + ], + [ + [ + [ + 149.00638, + -20.318333 + ], + [ + 148.975527, + -20.154999 + ], + [ + 148.955538, + -20.291389 + ], + [ + 149.00638, + -20.318333 + ] + ] + ], + [ + [ + [ + 148.935793, + -20.171944 + ], + [ + 148.970247, + -20.048611 + ], + [ + 148.881899, + -20.13028 + ], + [ + 148.935793, + -20.171944 + ] + ] + ], + [ + [ + [ + 148.471346, + -20.046391 + ], + [ + 148.48218, + -20.006111 + ], + [ + 148.449709, + -19.970833 + ], + [ + 148.471346, + -20.046391 + ] + ] + ], + [ + [ + [ + 146.867739, + -19.165001 + ], + [ + 146.869692, + -19.106667 + ], + [ + 146.776094, + -19.131111 + ], + [ + 146.867739, + -19.165001 + ] + ] + ], + [ + [ + [ + 146.29941, + -18.489441 + ], + [ + 146.269716, + -18.308334 + ], + [ + 146.083315, + -18.256111 + ], + [ + 146.29941, + -18.489441 + ] + ] + ], + [ + [ + [ + 139.576082, + -17.095833 + ], + [ + 139.502779, + -16.996666 + ], + [ + 139.398867, + -17.091389 + ], + [ + 139.576082, + -17.095833 + ] + ] + ], + [ + [ + [ + 139.112185, + -16.862221 + ], + [ + 139.139986, + -16.810558 + ], + [ + 139.090792, + -16.826668 + ], + [ + 139.112185, + -16.862221 + ] + ] + ], + [ + [ + [ + 139.736361, + -16.497219 + ], + [ + 139.306643, + -16.462498 + ], + [ + 139.140261, + -16.755001 + ], + [ + 139.736361, + -16.497219 + ] + ] + ], + [ + [ + [ + 136.667208, + -15.776667 + ], + [ + 136.713015, + -15.697779 + ], + [ + 136.634981, + -15.676111 + ], + [ + 136.667208, + -15.776667 + ] + ] + ], + [ + [ + [ + 136.741915, + -15.752224 + ], + [ + 136.80942, + -15.650278 + ], + [ + 136.734133, + -15.648056 + ], + [ + 136.741915, + -15.752224 + ] + ] + ], + [ + [ + [ + 137.067202, + -15.829445 + ], + [ + 137.003054, + -15.591389 + ], + [ + 136.93442, + -15.698889 + ], + [ + 137.067202, + -15.829445 + ] + ] + ], + [ + [ + [ + 136.52997, + -15.645279 + ], + [ + 136.59775, + -15.61611 + ], + [ + 136.579409, + -15.511112 + ], + [ + 136.52997, + -15.645279 + ] + ] + ], + [ + [ + [ + 136.851351, + -15.634167 + ], + [ + 136.878572, + -15.501944 + ], + [ + 136.841921, + -15.549723 + ], + [ + 136.851351, + -15.634167 + ] + ] + ], + [ + [ + [ + 124.621645, + -15.412222 + ], + [ + 124.542215, + -15.261667 + ], + [ + 124.459429, + -15.366943 + ], + [ + 124.522493, + -15.445278 + ], + [ + 124.621645, + -15.412222 + ] + ] + ], + [ + [ + [ + 124.426378, + -15.315001 + ], + [ + 124.437479, + -15.249443 + ], + [ + 124.336649, + -15.296112 + ], + [ + 124.426378, + -15.315001 + ] + ] + ], + [ + [ + [ + 124.816095, + -15.281113 + ], + [ + 124.849993, + -15.247221 + ], + [ + 124.797495, + -15.239721 + ], + [ + 124.816095, + -15.281113 + ] + ] + ], + [ + [ + [ + 128.191927, + -15.188612 + ], + [ + 128.120516, + -15.043055 + ], + [ + 128.114687, + -15.131943 + ], + [ + 128.191927, + -15.188612 + ] + ] + ], + [ + [ + [ + 124.943316, + -15.030001 + ], + [ + 124.924425, + -14.945 + ], + [ + 124.874689, + -14.952223 + ], + [ + 124.943316, + -15.030001 + ] + ] + ], + [ + [ + [ + 128.441072, + -15.0375 + ], + [ + 128.356356, + -14.870277 + ], + [ + 128.35718, + -14.959999 + ], + [ + 128.441072, + -15.0375 + ] + ] + ], + [ + [ + [ + 135.764986, + -14.904167 + ], + [ + 135.728304, + -14.836666 + ], + [ + 135.699404, + -14.907778 + ], + [ + 135.764986, + -14.904167 + ] + ] + ], + [ + [ + [ + 129.629946, + -14.879444 + ], + [ + 129.6308, + -14.850832 + ], + [ + 129.580538, + -14.802778 + ], + [ + 129.629946, + -14.879444 + ] + ] + ], + [ + [ + [ + 129.589418, + -14.907778 + ], + [ + 129.501925, + -14.788612 + ], + [ + 129.59247, + -14.966665 + ], + [ + 129.589418, + -14.907778 + ] + ] + ], + [ + [ + [ + 125.138323, + -14.648611 + ], + [ + 125.159418, + -14.438334 + ], + [ + 125.084719, + -14.617222 + ], + [ + 125.138323, + -14.648611 + ] + ] + ], + [ + [ + [ + 126.606371, + -13.895554 + ], + [ + 126.502489, + -13.877777 + ], + [ + 126.511934, + -13.909445 + ], + [ + 126.606371, + -13.895554 + ] + ] + ], + [ + [ + [ + 136.711641, + -13.835833 + ], + [ + 136.378023, + -14.216389 + ], + [ + 136.941652, + -14.277779 + ], + [ + 136.699404, + -14.120832 + ], + [ + 136.912477, + -13.774445 + ], + [ + 136.711641, + -13.835833 + ] + ] + ], + [ + [ + [ + 136.288301, + -13.733332 + ], + [ + 136.198854, + -13.664722 + ], + [ + 136.105532, + -13.818056 + ], + [ + 136.288301, + -13.733332 + ] + ] + ], + [ + [ + [ + 136.15082, + -13.485832 + ], + [ + 136.098848, + -13.361111 + ], + [ + 136.161654, + -13.531113 + ], + [ + 136.15082, + -13.485832 + ] + ] + ], + [ + [ + [ + 132.404696, + -12.140835 + ], + [ + 132.402193, + -12.072222 + ], + [ + 132.340242, + -12.089722 + ], + [ + 132.404696, + -12.140835 + ] + ] + ], + [ + [ + [ + 136.820528, + -12.140556 + ], + [ + 136.826082, + -12.072222 + ], + [ + 136.800539, + -12.094166 + ], + [ + 136.820528, + -12.140556 + ] + ] + ], + [ + [ + [ + 134.909975, + -12.121111 + ], + [ + 134.927767, + -12.072777 + ], + [ + 134.866915, + -12.066666 + ], + [ + 134.909975, + -12.121111 + ] + ] + ], + [ + [ + [ + 134.985781, + -12.034166 + ], + [ + 134.911379, + -12.022223 + ], + [ + 134.944979, + -12.06139 + ], + [ + 134.985781, + -12.034166 + ] + ] + ], + [ + [ + [ + 136.281923, + -12.035557 + ], + [ + 136.306368, + -11.976944 + ], + [ + 136.158327, + -12.071388 + ], + [ + 136.281923, + -12.035557 + ] + ] + ], + [ + [ + [ + 135.115511, + -11.934444 + ], + [ + 135.064974, + -11.913612 + ], + [ + 135.047487, + -11.945555 + ], + [ + 135.115511, + -11.934444 + ] + ] + ], + [ + [ + [ + 136.473574, + -11.911112 + ], + [ + 136.494967, + -11.803055 + ], + [ + 136.469423, + -11.840555 + ], + [ + 136.473574, + -11.911112 + ] + ] + ], + [ + [ + [ + 136.589418, + -11.780556 + ], + [ + 136.624666, + -11.740276 + ], + [ + 136.516085, + -11.798611 + ], + [ + 136.589418, + -11.780556 + ] + ] + ], + [ + [ + [ + 136.012758, + -11.719166 + ], + [ + 136.053865, + -11.66 + ], + [ + 135.959963, + -11.684166 + ], + [ + 136.012758, + -11.719166 + ] + ] + ], + [ + [ + [ + 132.560244, + -11.724443 + ], + [ + 132.643038, + -11.648056 + ], + [ + 132.513887, + -11.64389 + ], + [ + 132.560244, + -11.724443 + ] + ] + ], + [ + [ + [ + 133.383883, + -11.6675 + ], + [ + 133.482454, + -11.586945 + ], + [ + 133.366915, + -11.614721 + ], + [ + 133.383883, + -11.6675 + ] + ] + ], + [ + [ + [ + 136.470522, + -11.519167 + ], + [ + 136.478853, + -11.46611 + ], + [ + 136.178316, + -11.687778 + ], + [ + 136.470522, + -11.519167 + ] + ] + ], + [ + [ + [ + 133.505556, + -11.503889 + ], + [ + 133.469423, + -11.460833 + ], + [ + 133.391359, + -11.54389 + ], + [ + 133.505556, + -11.503889 + ] + ] + ], + [ + [ + [ + 130.49106, + -11.688612 + ], + [ + 130.34247, + -11.32361 + ], + [ + 130.01639, + -11.779722 + ], + [ + 130.49106, + -11.688612 + ] + ] + ], + [ + [ + [ + 130.573305, + -11.349443 + ], + [ + 130.377443, + -11.170555 + ], + [ + 130.958864, + -11.938889 + ], + [ + 131.539156, + -11.461666 + ], + [ + 131.274996, + -11.189167 + ], + [ + 130.573305, + -11.349443 + ] + ] + ], + [ + [ + [ + 132.623842, + -11.279167 + ], + [ + 132.578859, + -11.022501 + ], + [ + 132.512484, + -11.143057 + ], + [ + 132.623842, + -11.279167 + ] + ] + ], + [ + [ + [ + 136.536104, + -11.455 + ], + [ + 136.724977, + -11.206944 + ], + [ + 136.771914, + -11.019722 + ], + [ + 136.536104, + -11.455 + ] + ] + ], + [ + [ + [ + 142.512758, + -10.866943 + ], + [ + 142.141939, + -10.956667 + ], + [ + 142.028872, + -12.062222 + ], + [ + 141.589418, + -12.546946 + ], + [ + 141.752474, + -12.467222 + ], + [ + 141.940798, + -12.875832 + ], + [ + 141.798586, + -12.685833 + ], + [ + 141.583864, + -12.989166 + ], + [ + 141.426912, + -16.079166 + ], + [ + 140.494967, + -17.640835 + ], + [ + 139.26053, + -17.342499 + ], + [ + 139.017488, + -16.903053 + ], + [ + 138.190248, + -16.704998 + ], + [ + 137.730806, + -16.246109 + ], + [ + 136.76581, + -15.904446 + ], + [ + 135.456636, + -14.941111 + ], + [ + 136.020266, + -13.762501 + ], + [ + 135.923861, + -13.281389 + ], + [ + 136.350527, + -13.0525 + ], + [ + 136.45801, + -13.252501 + ], + [ + 136.494417, + -12.779167 + ], + [ + 136.981905, + -12.356943 + ], + [ + 136.562197, + -11.934444 + ], + [ + 136.039705, + -12.471666 + ], + [ + 136.023043, + -12.111944 + ], + [ + 135.66971, + -12.196667 + ], + [ + 135.908022, + -11.763056 + ], + [ + 135.231356, + -12.294445 + ], + [ + 133.183046, + -11.716665 + ], + [ + 132.337465, + -11.129166 + ], + [ + 132.143312, + -11.133333 + ], + [ + 132.199709, + -11.412779 + ], + [ + 131.979952, + -11.125555 + ], + [ + 131.766939, + -11.316389 + ], + [ + 132.09247, + -11.52639 + ], + [ + 132.489962, + -11.476944 + ], + [ + 132.691072, + -11.655001 + ], + [ + 132.627748, + -12.041945 + ], + [ + 132.754427, + -12.132776 + ], + [ + 132.383608, + -12.379999 + ], + [ + 131.027193, + -12.145554 + ], + [ + 130.896364, + -12.640278 + ], + [ + 130.58304, + -12.395279 + ], + [ + 130.695253, + -12.702499 + ], + [ + 130.14081, + -12.924168 + ], + [ + 130.264437, + -13.325277 + ], + [ + 129.88611, + -13.445278 + ], + [ + 129.370241, + -14.333332 + ], + [ + 129.944429, + -14.767778 + ], + [ + 129.643862, + -14.837221 + ], + [ + 129.732454, + -15.197222 + ], + [ + 128.530275, + -14.759167 + ], + [ + 128.381899, + -14.8025 + ], + [ + 128.452456, + -15.046389 + ], + [ + 128.350801, + -15.044724 + ], + [ + 128.314974, + -14.907778 + ], + [ + 128.194124, + -15.056667 + ], + [ + 128.28998, + -15.405279 + ], + [ + 128.129244, + -15.212889 + ], + [ + 128.013613, + -15.5 + ], + [ + 128.169436, + -14.702778 + ], + [ + 127.420824, + -13.949722 + ], + [ + 126.862764, + -13.749165 + ], + [ + 126.287775, + -14.233055 + ], + [ + 126.019442, + -13.919167 + ], + [ + 126.037203, + -14.516666 + ], + [ + 125.718874, + -14.400278 + ], + [ + 125.637209, + -14.635 + ], + [ + 125.606936, + -14.223055 + ], + [ + 125.588884, + -14.549444 + ], + [ + 125.135538, + -14.741388 + ], + [ + 125.433321, + -15.138613 + ], + [ + 124.825548, + -15.155834 + ], + [ + 125.18181, + -15.520685 + ], + [ + 124.702211, + -15.252501 + ], + [ + 124.656374, + -15.479721 + ], + [ + 124.447748, + -15.486387 + ], + [ + 124.401384, + -15.871111 + ], + [ + 124.728319, + -15.810556 + ], + [ + 124.400545, + -16.329445 + ], + [ + 124.899431, + -16.415001 + ], + [ + 124.238588, + -16.406666 + ], + [ + 123.964434, + -16.245552 + ], + [ + 123.891375, + -16.378887 + ], + [ + 123.729433, + -16.138889 + ], + [ + 123.569719, + -16.171944 + ], + [ + 123.708879, + -16.430279 + ], + [ + 123.424425, + -16.502502 + ], + [ + 123.918322, + -17.204445 + ], + [ + 123.596651, + -16.989998 + ], + [ + 123.575274, + -17.5975 + ], + [ + 122.917765, + -16.415554 + ], + [ + 122.17499, + -17.243332 + ], + [ + 122.353319, + -18.105555 + ], + [ + 121.027483, + -19.592224 + ], + [ + 119.082491, + -19.967499 + ], + [ + 117.688028, + -20.675831 + ], + [ + 116.707491, + -20.649166 + ], + [ + 114.651094, + -21.84 + ], + [ + 114.153872, + -22.527779 + ], + [ + 114.018053, + -21.850834 + ], + [ + 113.389711, + -24.429443 + ], + [ + 114.259165, + -25.846668 + ], + [ + 114.220835, + -26.306389 + ], + [ + 114.066095, + -26.461945 + ], + [ + 113.878862, + -26.028889 + ], + [ + 113.711931, + -26.195278 + ], + [ + 113.469439, + -25.540836 + ], + [ + 113.391665, + -25.718056 + ], + [ + 113.855822, + -26.507504 + ], + [ + 113.641375, + -26.652779 + ], + [ + 113.279161, + -26.018333 + ], + [ + 113.224428, + -26.239166 + ], + [ + 114.885538, + -29.201111 + ], + [ + 115.045534, + -30.506947 + ], + [ + 115.739435, + -31.865276 + ], + [ + 115.711115, + -33.269997 + ], + [ + 115.363604, + -33.633057 + ], + [ + 114.988726, + -33.522537 + ], + [ + 115.008043, + -34.263062 + ], + [ + 116.46332, + -35.000839 + ], + [ + 117.93442, + -35.125832 + ], + [ + 120.004992, + -33.928886 + ], + [ + 123.540819, + -33.90583 + ], + [ + 124.281939, + -32.985558 + ], + [ + 125.968325, + -32.266113 + ], + [ + 127.267763, + -32.278336 + ], + [ + 128.987459, + -31.694164 + ], + [ + 131.152193, + -31.474167 + ], + [ + 132.203859, + -32.03167 + ], + [ + 132.764437, + -31.950832 + ], + [ + 133.417208, + -32.213333 + ], + [ + 133.622194, + -32.098335 + ], + [ + 133.952181, + -32.394722 + ], + [ + 133.8519, + -32.545006 + ], + [ + 134.184145, + -32.486664 + ], + [ + 134.269136, + -33.159721 + ], + [ + 134.709139, + -33.179169 + ], + [ + 135.506929, + -34.618057 + ], + [ + 135.105806, + -34.599998 + ], + [ + 135.954134, + -35.010284 + ], + [ + 135.932741, + -34.541946 + ], + [ + 137.209963, + -33.666107 + ], + [ + 137.778322, + -32.9925 + ], + [ + 137.773317, + -32.523613 + ], + [ + 137.950258, + -33.559441 + ], + [ + 137.449984, + -34.15139 + ], + [ + 137.437746, + -34.934723 + ], + [ + 137.019991, + -34.901108 + ], + [ + 136.830538, + -35.254723 + ], + [ + 137.744692, + -35.138611 + ], + [ + 138.098024, + -34.137222 + ], + [ + 138.514162, + -35.028053 + ], + [ + 138.093019, + -35.620834 + ], + [ + 139.355227, + -35.372498 + ], + [ + 139.337191, + -35.69416 + ], + [ + 139.096743, + -35.615887 + ], + [ + 139.667757, + -36.230827 + ], + [ + 139.077349, + -35.682636 + ], + [ + 139.820528, + -36.545837 + ], + [ + 139.814425, + -37.299728 + ], + [ + 140.52997, + -38.000282 + ], + [ + 141.571352, + -38.417221 + ], + [ + 142.388887, + -38.364723 + ], + [ + 143.543856, + -38.860001 + ], + [ + 144.92914, + -37.869164 + ], + [ + 145.132448, + -38.140282 + ], + [ + 144.898867, + -38.504448 + ], + [ + 145.441347, + -38.226105 + ], + [ + 145.557192, + -38.376389 + ], + [ + 145.416079, + -38.545837 + ], + [ + 146.394136, + -39.147224 + ], + [ + 146.223024, + -38.712502 + ], + [ + 146.873568, + -38.651665 + ], + [ + 147.764437, + -37.979996 + ], + [ + 149.973848, + -37.520554 + ], + [ + 150.162477, + -35.940552 + ], + [ + 150.840517, + -35.082779 + ], + [ + 151.452761, + -33.319168 + ], + [ + 152.529696, + -32.40361 + ], + [ + 153.052462, + -31.035 + ], + [ + 153.625521, + -28.666664 + ], + [ + 153.033876, + -27.179443 + ], + [ + 153.181917, + -25.949444 + ], + [ + 151.937197, + -24.221664 + ], + [ + 151.68387, + -23.988888 + ], + [ + 151.538576, + -24.089169 + ], + [ + 150.867189, + -23.505001 + ], + [ + 150.637209, + -22.343891 + ], + [ + 150.593019, + -22.586113 + ], + [ + 150.034151, + -22.149723 + ], + [ + 150.043306, + -22.650833 + ], + [ + 149.661104, + -22.496666 + ], + [ + 149.214693, + -21.080002 + ], + [ + 148.691652, + -20.624443 + ], + [ + 148.935518, + -20.53278 + ], + [ + 148.777468, + -20.232498 + ], + [ + 146.27527, + -18.883888 + ], + [ + 146.336916, + -18.536667 + ], + [ + 146.009432, + -18.238052 + ], + [ + 146.10663, + -17.683609 + ], + [ + 145.878023, + -17.062778 + ], + [ + 145.960512, + -16.895279 + ], + [ + 145.403597, + -16.462219 + ], + [ + 145.315798, + -14.945555 + ], + [ + 144.51053, + -14.168333 + ], + [ + 143.782198, + -14.413334 + ], + [ + 143.42914, + -12.614445 + ], + [ + 142.512758, + -10.866943 + ] + ] + ], + [ + [ + [ + 142.26581, + -10.683611 + ], + [ + 142.115236, + -10.660557 + ], + [ + 142.183321, + -10.770279 + ], + [ + 142.26581, + -10.683611 + ] + ] + ], + [ + [ + [ + 142.278048, + -10.643612 + ], + [ + 142.31415, + -10.584166 + ], + [ + 142.249697, + -10.5875 + ], + [ + 142.278048, + -10.643612 + ] + ] + ], + [ + [ + [ + 142.230806, + -10.56889 + ], + [ + 142.226625, + -10.525278 + ], + [ + 142.191347, + -10.565834 + ], + [ + 142.230806, + -10.56889 + ] + ] + ], + [ + [ + [ + 142.321077, + -10.548611 + ], + [ + 142.318026, + -10.513889 + ], + [ + 142.292208, + -10.53389 + ], + [ + 142.321077, + -10.548611 + ] + ] + ], + [ + [ + [ + 142.285524, + -10.264723 + ], + [ + 142.330538, + -10.171946 + ], + [ + 142.225801, + -10.146112 + ], + [ + 142.285524, + -10.264723 + ] + ] + ], + [ + [ + [ + 142.157747, + -10.189722 + ], + [ + 142.143587, + -10.051666 + ], + [ + 142.089693, + -10.13389 + ], + [ + 142.157747, + -10.189722 + ] + ] + ] + ] + }, + "name" : "Australia", + "iso2" : "AU", + "iso3" : "AUS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "TL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 50.812492, + 25.64222 + ], + [ + 50.821388, + 25.651943 + ], + [ + 50.782219, + 25.659443 + ], + [ + 50.812492, + 25.64222 + ] + ] + ], + [ + [ + [ + 50.813332, + 25.678608 + ], + [ + 50.807777, + 25.68972 + ], + [ + 50.804161, + 25.680553 + ], + [ + 50.813332, + 25.678608 + ] + ] + ], + [ + [ + [ + 50.76194, + 25.595276 + ], + [ + 50.796661, + 25.728333 + ], + [ + 50.741661, + 25.683052 + ], + [ + 50.76194, + 25.595276 + ] + ] + ], + [ + [ + [ + 50.769722, + 25.746944 + ], + [ + 50.764717, + 25.754719 + ], + [ + 50.760551, + 25.750275 + ], + [ + 50.769722, + 25.746944 + ] + ] + ], + [ + [ + [ + 50.532219, + 26.234444 + ], + [ + 50.461662, + 25.965275 + ], + [ + 50.57333, + 25.809723 + ], + [ + 50.532219, + 26.234444 + ] + ] + ], + [ + [ + [ + 50.65361, + 26.247498 + ], + [ + 50.62722, + 26.288887 + ], + [ + 50.604439, + 26.267776 + ], + [ + 50.65361, + 26.247498 + ] + ] + ] + ] + }, + "name" : "Bahrain", + "iso2" : "BH", + "iso3" : "BHR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Tb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -59.533058, + 13.050554 + ], + [ + -59.429169, + 13.164999 + ], + [ + -59.641113, + 13.331388 + ], + [ + -59.533058, + 13.050554 + ] + ] + ] + }, + "name" : "Barbados", + "iso2" : "BB", + "iso3" : "BRB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Tr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -64.855835, + 32.27861 + ], + [ + -64.838058, + 32.314163 + ], + [ + -64.874451, + 32.293053 + ], + [ + -64.855835, + 32.27861 + ] + ] + ], + [ + [ + [ + -64.643341, + 32.354439 + ], + [ + -64.655289, + 32.370827 + ], + [ + -64.685837, + 32.357216 + ], + [ + -64.643341, + 32.354439 + ] + ] + ], + [ + [ + [ + -64.78334, + 32.270554 + ], + [ + -64.671677, + 32.379997 + ], + [ + -64.858269, + 32.266796 + ], + [ + -64.78334, + 32.270554 + ] + ] + ] + ] + }, + "name" : "Bermuda", + "iso2" : "BM", + "iso3" : "BMU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "T71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -73.037231, + 21.139444 + ], + [ + -73.024445, + 21.332499 + ], + [ + -73.685837, + 20.935556 + ], + [ + -73.037231, + 21.139444 + ] + ] + ], + [ + [ + [ + -72.924728, + 21.48361 + ], + [ + -73.067505, + 21.507776 + ], + [ + -73.038071, + 21.434999 + ], + [ + -72.924728, + 21.48361 + ] + ] + ], + [ + [ + [ + -72.829178, + 22.382223 + ], + [ + -73.164734, + 22.370832 + ], + [ + -72.781403, + 22.284166 + ], + [ + -72.829178, + 22.382223 + ] + ] + ], + [ + [ + [ + -73.610291, + 22.579721 + ], + [ + -73.598343, + 22.614721 + ], + [ + -73.62056, + 22.599722 + ], + [ + -73.610291, + 22.579721 + ] + ] + ], + [ + [ + [ + -73.462784, + 22.601946 + ], + [ + -73.497787, + 22.618891 + ], + [ + -73.551392, + 22.612223 + ], + [ + -73.462784, + 22.601946 + ] + ] + ], + [ + [ + [ + -74.377792, + 22.538889 + ], + [ + -74.280014, + 22.6625 + ], + [ + -74.379456, + 22.576387 + ], + [ + -74.377792, + 22.538889 + ] + ] + ], + [ + [ + [ + -73.847229, + 22.723612 + ], + [ + -74.281403, + 22.173056 + ], + [ + -73.867508, + 22.469446 + ], + [ + -73.847229, + 22.723612 + ] + ] + ], + [ + [ + [ + -74.073624, + 22.663332 + ], + [ + -74.017792, + 22.716391 + ], + [ + -74.343903, + 22.835001 + ], + [ + -74.073624, + 22.663332 + ] + ] + ], + [ + [ + [ + -73.728897, + 23.070555 + ], + [ + -73.665009, + 23.088888 + ], + [ + -73.813614, + 23.096945 + ], + [ + -73.728897, + 23.070555 + ] + ] + ], + [ + [ + [ + -75.551117, + 23.431391 + ], + [ + -75.650848, + 23.455832 + ], + [ + -75.525009, + 23.404444 + ], + [ + -75.551117, + 23.431391 + ] + ] + ], + [ + [ + [ + -75.021393, + 23.10639 + ], + [ + -74.830566, + 22.860834 + ], + [ + -75.30751, + 23.667776 + ], + [ + -75.021393, + 23.10639 + ] + ] + ], + [ + [ + [ + -75.771957, + 23.499723 + ], + [ + -76.028624, + 23.672499 + ], + [ + -75.991119, + 23.599443 + ], + [ + -75.771957, + 23.499723 + ] + ] + ], + [ + [ + [ + -74.781952, + 23.683889 + ], + [ + -74.948624, + 23.685278 + ], + [ + -74.819733, + 23.639444 + ], + [ + -74.781952, + 23.683889 + ] + ] + ], + [ + [ + [ + -76.363892, + 24.072222 + ], + [ + -76.398346, + 24.113333 + ], + [ + -76.321671, + 23.972776 + ], + [ + -76.363892, + 24.072222 + ] + ] + ], + [ + [ + [ + -74.49028, + 23.954443 + ], + [ + -74.460846, + 24.142778 + ], + [ + -74.526947, + 24.100832 + ], + [ + -74.49028, + 23.954443 + ] + ] + ], + [ + [ + [ + -77.946671, + 24.15 + ], + [ + -77.800293, + 24.253332 + ], + [ + -77.97168, + 24.193609 + ], + [ + -77.946671, + 24.15 + ] + ] + ], + [ + [ + [ + -77.936676, + 24.225832 + ], + [ + -77.931122, + 24.279444 + ], + [ + -78.019455, + 24.250834 + ], + [ + -77.936676, + 24.225832 + ] + ] + ], + [ + [ + [ + -76.468903, + 24.210001 + ], + [ + -76.545288, + 24.290277 + ], + [ + -76.503616, + 24.217779 + ], + [ + -76.468903, + 24.210001 + ] + ] + ], + [ + [ + [ + -77.735565, + 24.028612 + ], + [ + -77.676392, + 24.29611 + ], + [ + -77.876678, + 24.073057 + ], + [ + -77.566956, + 23.739168 + ], + [ + -77.606674, + 24.213888 + ], + [ + -77.735565, + 24.028612 + ] + ] + ], + [ + [ + [ + -77.686951, + 24.337221 + ], + [ + -77.703339, + 24.369722 + ], + [ + -77.806671, + 24.319723 + ], + [ + -77.686951, + 24.337221 + ] + ] + ], + [ + [ + [ + -75.314728, + 24.213888 + ], + [ + -75.739456, + 24.695002 + ], + [ + -75.515015, + 24.139723 + ], + [ + -75.314728, + 24.213888 + ] + ] + ], + [ + [ + [ + -77.436401, + 25.008055 + ], + [ + -77.258621, + 25.049444 + ], + [ + -77.561401, + 25.027498 + ], + [ + -77.436401, + 25.008055 + ] + ] + ], + [ + [ + [ + -78.191956, + 25.203611 + ], + [ + -78.19278, + 24.597502 + ], + [ + -78.440567, + 24.613611 + ], + [ + -78.021393, + 24.272779 + ], + [ + -77.716675, + 24.506666 + ], + [ + -78.191956, + 25.203611 + ] + ] + ], + [ + [ + [ + -76.53334, + 25.398333 + ], + [ + -76.735291, + 25.559168 + ], + [ + -76.715836, + 25.441668 + ], + [ + -76.355835, + 25.318335 + ], + [ + -76.171677, + 25.140833 + ], + [ + -76.168335, + 24.690001 + ], + [ + -76.118895, + 25.131109 + ], + [ + -76.349701, + 25.343283 + ], + [ + -76.53334, + 25.398333 + ] + ] + ], + [ + [ + [ + -77.821945, + 25.702223 + ], + [ + -77.8564, + 25.775278 + ], + [ + -77.888062, + 25.785002 + ], + [ + -77.821945, + 25.702223 + ] + ] + ], + [ + [ + [ + -77.563339, + 26.268888 + ], + [ + -77.537231, + 26.306944 + ], + [ + -77.57251, + 26.336111 + ], + [ + -77.563339, + 26.268888 + ] + ] + ], + [ + [ + [ + -77.917236, + 26.745279 + ], + [ + -78.978897, + 26.695276 + ], + [ + -78.708618, + 26.489721 + ], + [ + -77.917236, + 26.745279 + ] + ] + ], + [ + [ + [ + -77.735001, + 26.914446 + ], + [ + -77.950287, + 26.897779 + ], + [ + -77.148895, + 26.548887 + ], + [ + -77.398056, + 26.026388 + ], + [ + -77.204727, + 25.880835 + ], + [ + -77.042236, + 26.50889 + ], + [ + -77.735001, + 26.914446 + ] + ] + ] + ] + }, + "name" : "Bahamas", + "iso2" : "BS", + "iso3" : "BHS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "UL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 91.897493, + 21.476664 + ], + [ + 91.98221, + 21.623888 + ], + [ + 91.88109, + 21.755278 + ], + [ + 91.897493, + 21.476664 + ] + ] + ], + [ + [ + [ + 90.490541, + 21.80361 + ], + [ + 90.492754, + 21.814444 + ], + [ + 90.467485, + 21.820555 + ], + [ + 90.490541, + 21.80361 + ] + ] + ], + [ + [ + [ + 90.432482, + 21.819998 + ], + [ + 90.452776, + 21.850275 + ], + [ + 90.412767, + 21.82361 + ], + [ + 90.432482, + 21.819998 + ] + ] + ], + [ + [ + [ + 89.12665, + 21.714163 + ], + [ + 89.146379, + 21.748884 + ], + [ + 89.050539, + 21.914721 + ], + [ + 89.12665, + 21.714163 + ] + ] + ], + [ + [ + [ + 90.753054, + 21.891943 + ], + [ + 90.762209, + 21.906385 + ], + [ + 90.744432, + 21.922499 + ], + [ + 90.753054, + 21.891943 + ] + ] + ], + [ + [ + [ + 91.832766, + 21.722219 + ], + [ + 91.886385, + 21.842775 + ], + [ + 91.863039, + 21.928053 + ], + [ + 91.832766, + 21.722219 + ] + ] + ], + [ + [ + [ + 90.643877, + 21.906107 + ], + [ + 90.665545, + 21.955553 + ], + [ + 90.633333, + 21.930552 + ], + [ + 90.643877, + 21.906107 + ] + ] + ], + [ + [ + [ + 90.699144, + 21.954718 + ], + [ + 90.690538, + 21.972773 + ], + [ + 90.675264, + 21.949999 + ], + [ + 90.699144, + 21.954718 + ] + ] + ], + [ + [ + [ + 90.522493, + 21.855833 + ], + [ + 90.58832, + 21.981386 + ], + [ + 90.519716, + 21.935553 + ], + [ + 90.522493, + 21.855833 + ] + ] + ], + [ + [ + [ + 90.410814, + 21.899443 + ], + [ + 90.484987, + 21.964998 + ], + [ + 90.430269, + 22.042223 + ], + [ + 90.410814, + 21.899443 + ] + ] + ], + [ + [ + [ + 90.374147, + 22.01 + ], + [ + 90.380266, + 22.050554 + ], + [ + 90.341661, + 21.966387 + ], + [ + 90.374147, + 22.01 + ] + ] + ], + [ + [ + [ + 90.523607, + 21.991106 + ], + [ + 90.6122, + 22.163885 + ], + [ + 90.486925, + 22.078886 + ], + [ + 90.523607, + 21.991106 + ] + ] + ], + [ + [ + [ + 90.516939, + 22.162218 + ], + [ + 90.527773, + 22.179441 + ], + [ + 90.512209, + 22.17111 + ], + [ + 90.516939, + 22.162218 + ] + ] + ], + [ + [ + [ + 90.937487, + 22.112776 + ], + [ + 90.952211, + 22.20944 + ], + [ + 90.914705, + 22.131941 + ], + [ + 90.937487, + 22.112776 + ] + ] + ], + [ + [ + [ + 90.984987, + 22.182497 + ], + [ + 90.991655, + 22.259165 + ], + [ + 90.971926, + 22.240831 + ], + [ + 90.984987, + 22.182497 + ] + ] + ], + [ + [ + [ + 90.949419, + 22.221384 + ], + [ + 90.988588, + 22.286943 + ], + [ + 90.976381, + 22.357775 + ], + [ + 90.949419, + 22.221384 + ] + ] + ], + [ + [ + [ + 91.005831, + 22.368055 + ], + [ + 90.989977, + 22.414164 + ], + [ + 90.985262, + 22.385275 + ], + [ + 91.005831, + 22.368055 + ] + ] + ], + [ + [ + [ + 90.660265, + 22.356386 + ], + [ + 90.610262, + 22.451941 + ], + [ + 90.640276, + 22.308332 + ], + [ + 90.660265, + 22.356386 + ] + ] + ], + [ + [ + [ + 91.036104, + 22.404997 + ], + [ + 91.040545, + 22.453608 + ], + [ + 91.018053, + 22.414721 + ], + [ + 91.036104, + 22.404997 + ] + ] + ], + [ + [ + [ + 91.210543, + 22.412218 + ], + [ + 91.168596, + 22.461386 + ], + [ + 91.185534, + 22.392496 + ], + [ + 91.210543, + 22.412218 + ] + ] + ], + [ + [ + [ + 91.007494, + 22.424997 + ], + [ + 91.009157, + 22.476385 + ], + [ + 90.987764, + 22.440832 + ], + [ + 91.007494, + 22.424997 + ] + ] + ], + [ + [ + [ + 90.663042, + 22.434996 + ], + [ + 90.65555, + 22.478609 + ], + [ + 90.647493, + 22.427774 + ], + [ + 90.663042, + 22.434996 + ] + ] + ], + [ + [ + [ + 91.031664, + 22.084166 + ], + [ + 91.1747, + 22.218607 + ], + [ + 91.088045, + 22.525831 + ], + [ + 91.031664, + 22.084166 + ] + ] + ], + [ + [ + [ + 91.529711, + 22.347776 + ], + [ + 91.431658, + 22.623888 + ], + [ + 91.408327, + 22.472219 + ], + [ + 91.529711, + 22.347776 + ] + ] + ], + [ + [ + [ + 91.339434, + 22.629999 + ], + [ + 91.304705, + 22.628332 + ], + [ + 91.317766, + 22.608889 + ], + [ + 91.339434, + 22.629999 + ] + ] + ], + [ + [ + [ + 90.763887, + 22.064444 + ], + [ + 90.877474, + 22.45722 + ], + [ + 90.58777, + 22.771944 + ], + [ + 90.556932, + 22.605276 + ], + [ + 90.642763, + 22.553053 + ], + [ + 90.68471, + 22.392496 + ], + [ + 90.601091, + 22.034166 + ], + [ + 90.763887, + 22.064444 + ] + ] + ], + [ + [ + [ + 90.547213, + 22.719442 + ], + [ + 90.54162, + 22.783197 + ], + [ + 90.691088, + 22.846945 + ], + [ + 90.469713, + 22.868887 + ], + [ + 90.547213, + 22.719442 + ] + ] + ], + [ + [ + [ + 90.662203, + 22.956385 + ], + [ + 90.570833, + 23.040277 + ], + [ + 90.509157, + 22.951109 + ], + [ + 90.656099, + 22.912218 + ], + [ + 90.632753, + 22.949163 + ], + [ + 90.662203, + 22.956385 + ] + ] + ], + [ + [ + [ + 90.47748, + 23.007776 + ], + [ + 90.51082, + 23.061945 + ], + [ + 90.46332, + 23.059164 + ], + [ + 90.47748, + 23.007776 + ] + ] + ], + [ + [ + [ + 90.529711, + 23.04722 + ], + [ + 90.544985, + 23.065275 + ], + [ + 90.521929, + 23.05472 + ], + [ + 90.529711, + 23.04722 + ] + ] + ], + [ + [ + [ + 90.540819, + 23.343889 + ], + [ + 90.421648, + 23.383055 + ], + [ + 90.590273, + 23.3025 + ], + [ + 90.540819, + 23.343889 + ] + ] + ], + [ + [ + [ + 90.57361, + 23.564722 + ], + [ + 90.584154, + 23.583887 + ], + [ + 90.564425, + 23.576944 + ], + [ + 90.57361, + 23.564722 + ] + ] + ], + [ + [ + [ + 92.600817, + 21.982218 + ], + [ + 92.283327, + 23.705275 + ], + [ + 91.949999, + 23.732218 + ], + [ + 91.613604, + 22.943052 + ], + [ + 91.159426, + 23.640554 + ], + [ + 91.373293, + 24.101942 + ], + [ + 92.12137, + 24.393332 + ], + [ + 92.406374, + 25.030554 + ], + [ + 89.845263, + 25.28861 + ], + [ + 89.739153, + 26.156385 + ], + [ + 89.342775, + 26.017031 + ], + [ + 88.433046, + 26.55139 + ], + [ + 88.110537, + 25.835554 + ], + [ + 89.009432, + 25.288332 + ], + [ + 88.450823, + 25.187777 + ], + [ + 88.043322, + 24.684164 + ], + [ + 88.750536, + 24.220984 + ], + [ + 88.563875, + 23.65222 + ], + [ + 88.986101, + 23.20833 + ], + [ + 89.063005, + 22.115477 + ], + [ + 89.249147, + 21.642496 + ], + [ + 89.620821, + 22.324442 + ], + [ + 89.581102, + 21.701662 + ], + [ + 90.000002, + 22.483751 + ], + [ + 89.932207, + 21.997774 + ], + [ + 90.073046, + 22.162775 + ], + [ + 90.024706, + 21.859999 + ], + [ + 90.272493, + 21.849165 + ], + [ + 90.401384, + 22.260557 + ], + [ + 90.440538, + 22.071665 + ], + [ + 90.617754, + 22.353888 + ], + [ + 90.424402, + 22.770189 + ], + [ + 90.446642, + 23.065001 + ], + [ + 90.5786, + 23.089998 + ], + [ + 90.61249, + 23.222219 + ], + [ + 90.30887, + 23.414442 + ], + [ + 90.593828, + 23.597967 + ], + [ + 90.833605, + 22.685553 + ], + [ + 91.455828, + 22.789999 + ], + [ + 91.699999, + 22.488329 + ], + [ + 92.32361, + 20.73805 + ], + [ + 92.261934, + 21.054312 + ], + [ + 92.26082, + 21.414442 + ], + [ + 92.669344, + 21.296984 + ], + [ + 92.600817, + 21.982218 + ] + ], + [ + [ + 90.237764, + 22.192774 + ], + [ + 90.216097, + 22.114443 + ], + [ + 90.061373, + 21.991774 + ], + [ + 90.237764, + 22.192774 + ] + ], + [ + [ + 90.684984, + 23.482775 + ], + [ + 90.65027, + 23.504168 + ], + [ + 90.691927, + 23.497217 + ], + [ + 90.684984, + 23.482775 + ] + ] + ] + ] + }, + "name" : "Bangladesh", + "iso2" : "BD", + "iso3" : "BGD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ub1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -87.803345, + 17.294167 + ], + [ + -87.82695, + 17.400276 + ], + [ + -87.825012, + 17.291664 + ], + [ + -87.803345, + 17.294167 + ] + ] + ], + [ + [ + [ + -87.820557, + 17.426941 + ], + [ + -87.819458, + 17.549999 + ], + [ + -87.926682, + 17.275555 + ], + [ + -87.820557, + 17.426941 + ] + ] + ], + [ + [ + [ + -88.045013, + 17.552776 + ], + [ + -88.053619, + 17.613052 + ], + [ + -88.070282, + 17.638332 + ], + [ + -88.045013, + 17.552776 + ] + ] + ], + [ + [ + [ + -88.132507, + 17.667221 + ], + [ + -88.072784, + 17.733887 + ], + [ + -88.167511, + 17.66972 + ], + [ + -88.132507, + 17.667221 + ] + ] + ], + [ + [ + [ + -87.892227, + 18.0425 + ], + [ + -87.853058, + 18.164719 + ], + [ + -88.006119, + 17.901943 + ], + [ + -87.892227, + 18.0425 + ] + ] + ], + [ + [ + [ + -88.910568, + 15.89361 + ], + [ + -88.208618, + 16.968609 + ], + [ + -88.281403, + 17.636108 + ], + [ + -88.077789, + 18.215553 + ], + [ + -88.2995, + 18.482929 + ], + [ + -88.377792, + 18.482777 + ], + [ + -89.141953, + 17.818886 + ], + [ + -89.216171, + 15.889851 + ], + [ + -88.910568, + 15.89361 + ] + ] + ] + ] + }, + "name" : "Belize", + "iso2" : "BZ", + "iso3" : "BLZ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ur1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 19.039719, + 44.861382 + ], + [ + 18.251942, + 45.138885 + ], + [ + 15.786665, + 45.171944 + ], + [ + 16.143055, + 44.19944 + ], + [ + 17.578526, + 42.943825 + ], + [ + 17.649841, + 42.889076 + ], + [ + 18.455555, + 42.565826 + ], + [ + 18.699997, + 43.255554 + ], + [ + 19.228809, + 43.513214 + ], + [ + 19.51083, + 43.679718 + ], + [ + 19.237019, + 44.011009 + ], + [ + 19.620476, + 44.048454 + ], + [ + 19.104443, + 44.355827 + ], + [ + 19.371387, + 44.88916 + ], + [ + 19.039719, + 44.861382 + ] + ] + ] + }, + "name" : "Bosnia and Herzegovina", + "iso2" : "BA", + "iso3" : "BIH" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "U71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -67.183624, + -22.821667 + ], + [ + -66.223007, + -21.780521 + ], + [ + -65.748062, + -22.111668 + ], + [ + -65.190201, + -22.09473 + ], + [ + -64.590561, + -22.214725 + ], + [ + -64.324722, + -22.873611 + ], + [ + -63.941116, + -22.000835 + ], + [ + -62.811951, + -21.996948 + ], + [ + -62.643768, + -22.238903 + ], + [ + -61.7425, + -19.645 + ], + [ + -59.09584, + -19.348892 + ], + [ + -58.15139, + -19.828056 + ], + [ + -58.15889, + -20.168056 + ], + [ + -57.848747, + -19.978794 + ], + [ + -58.121117, + -19.74139 + ], + [ + -57.521118, + -18.203892 + ], + [ + -57.743057, + -17.593056 + ], + [ + -58.397507, + -17.249168 + ], + [ + -58.327507, + -16.279167 + ], + [ + -60.160278, + -16.263058 + ], + [ + -60.571396, + -15.097502 + ], + [ + -60.258896, + -15.093613 + ], + [ + -60.47084, + -13.807222 + ], + [ + -61.038979, + -13.493118 + ], + [ + -61.833893, + -13.544724 + ], + [ + -63.075005, + -12.650002 + ], + [ + -64.39418, + -12.461668 + ], + [ + -64.991669, + -12.008057 + ], + [ + -65.392792, + -11.26639 + ], + [ + -65.381958, + -9.697779 + ], + [ + -66.634445, + -9.906946 + ], + [ + -68.58345, + -11.106138 + ], + [ + -69.568436, + -10.951092 + ], + [ + -68.673904, + -12.50115 + ], + [ + -68.974457, + -12.869722 + ], + [ + -68.853058, + -14.199167 + ], + [ + -69.366394, + -14.802502 + ], + [ + -69.136948, + -15.245834 + ], + [ + -69.421951, + -15.618057 + ], + [ + -68.82251, + -16.339725 + ], + [ + -69.618896, + -17.214725 + ], + [ + -69.499725, + -17.50528 + ], + [ + -69.483612, + -17.635559 + ], + [ + -69.071671, + -18.038891 + ], + [ + -68.907791, + -19.055279 + ], + [ + -68.4375, + -19.430279 + ], + [ + -68.756958, + -20.406948 + ], + [ + -68.188614, + -21.296947 + ], + [ + -67.876404, + -22.828056 + ], + [ + -67.183624, + -22.821667 + ] + ] + ] + }, + "name" : "Bolivia", + "iso2" : "BO", + "iso3" : "BOL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "VL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 98.035812, + 9.786386 + ], + [ + 98.060257, + 9.81361 + ], + [ + 98.024994, + 9.838331 + ], + [ + 98.035812, + 9.786386 + ] + ] + ], + [ + [ + [ + 98.29332, + 10.010277 + ], + [ + 98.178589, + 10.017776 + ], + [ + 98.116089, + 9.852497 + ], + [ + 98.29332, + 10.010277 + ] + ] + ], + [ + [ + [ + 98.186646, + 10.040276 + ], + [ + 98.238876, + 10.165833 + ], + [ + 98.198593, + 10.189999 + ], + [ + 98.186646, + 10.040276 + ] + ] + ], + [ + [ + [ + 97.907486, + 10.396944 + ], + [ + 97.942749, + 10.442776 + ], + [ + 97.903595, + 10.490831 + ], + [ + 97.907486, + 10.396944 + ] + ] + ], + [ + [ + [ + 98.216385, + 10.481386 + ], + [ + 98.238876, + 10.529999 + ], + [ + 98.18248, + 10.5075 + ], + [ + 98.216385, + 10.481386 + ] + ] + ], + [ + [ + [ + 98.523605, + 10.781666 + ], + [ + 98.550812, + 10.850275 + ], + [ + 98.486923, + 10.883053 + ], + [ + 98.523605, + 10.781666 + ] + ] + ], + [ + [ + [ + 97.919708, + 10.858332 + ], + [ + 97.916092, + 10.929443 + ], + [ + 97.885818, + 10.843609 + ], + [ + 97.919708, + 10.858332 + ] + ] + ], + [ + [ + [ + 98.212204, + 10.947777 + ], + [ + 98.075546, + 10.88611 + ], + [ + 98.264435, + 10.68972 + ], + [ + 98.212204, + 10.947777 + ] + ] + ], + [ + [ + [ + 98.437195, + 10.961943 + ], + [ + 98.452774, + 11.007776 + ], + [ + 98.429977, + 10.995831 + ], + [ + 98.437195, + 10.961943 + ] + ] + ], + [ + [ + [ + 98.533875, + 10.950554 + ], + [ + 98.524994, + 11.087219 + ], + [ + 98.470535, + 10.983887 + ], + [ + 98.533875, + 10.950554 + ] + ] + ], + [ + [ + [ + 98.256104, + 11.212498 + ], + [ + 98.277771, + 11.276388 + ], + [ + 98.231094, + 11.262499 + ], + [ + 98.256104, + 11.212498 + ] + ] + ], + [ + [ + [ + 98.207489, + 11.443609 + ], + [ + 98.280823, + 11.481665 + ], + [ + 98.289154, + 11.798609 + ], + [ + 98.207489, + 11.443609 + ] + ] + ], + [ + [ + [ + 98.498322, + 11.566109 + ], + [ + 98.548874, + 11.788332 + ], + [ + 98.371368, + 11.78611 + ], + [ + 98.498322, + 11.566109 + ] + ] + ], + [ + [ + [ + 97.487198, + 11.774443 + ], + [ + 97.461655, + 11.803053 + ], + [ + 97.437759, + 11.803331 + ], + [ + 97.487198, + 11.774443 + ] + ] + ], + [ + [ + [ + 98.089981, + 11.631109 + ], + [ + 98.007217, + 11.858332 + ], + [ + 98.033051, + 11.683054 + ], + [ + 98.089981, + 11.631109 + ] + ] + ], + [ + [ + [ + 97.66832, + 11.836943 + ], + [ + 97.664429, + 11.90111 + ], + [ + 97.633881, + 11.876108 + ], + [ + 97.66832, + 11.836943 + ] + ] + ], + [ + [ + [ + 98.271103, + 11.84972 + ], + [ + 98.28804, + 11.887499 + ], + [ + 98.260269, + 11.907221 + ], + [ + 98.271103, + 11.84972 + ] + ] + ], + [ + [ + [ + 98.256378, + 11.92111 + ], + [ + 98.251663, + 11.980276 + ], + [ + 98.226379, + 11.94972 + ], + [ + 98.256378, + 11.92111 + ] + ] + ], + [ + [ + [ + 98.5, + 11.884443 + ], + [ + 98.664993, + 11.941942 + ], + [ + 98.438583, + 12.111387 + ], + [ + 98.5, + 11.884443 + ] + ] + ], + [ + [ + [ + 98.141937, + 12.141943 + ], + [ + 98.124695, + 12.27861 + ], + [ + 98.055542, + 12.281111 + ], + [ + 98.141937, + 12.141943 + ] + ] + ], + [ + [ + [ + 98.640823, + 12.372219 + ], + [ + 98.639709, + 12.380552 + ], + [ + 98.619141, + 12.378885 + ], + [ + 98.640823, + 12.372219 + ] + ] + ], + [ + [ + [ + 98.617805, + 12.352951 + ], + [ + 98.57193, + 12.409164 + ], + [ + 98.540817, + 12.370552 + ], + [ + 98.559708, + 12.328886 + ], + [ + 98.68248, + 12.340553 + ], + [ + 98.617805, + 12.352951 + ] + ] + ], + [ + [ + [ + 98.09166, + 12.360554 + ], + [ + 97.937485, + 12.337498 + ], + [ + 98.005554, + 12.281942 + ], + [ + 98.09166, + 12.360554 + ] + ] + ], + [ + [ + [ + 98.501099, + 12.402222 + ], + [ + 98.498871, + 12.513887 + ], + [ + 98.471924, + 12.417776 + ], + [ + 98.501099, + 12.402222 + ] + ] + ], + [ + [ + [ + 98.285812, + 12.502499 + ], + [ + 98.229706, + 12.548054 + ], + [ + 98.243317, + 12.49222 + ], + [ + 98.285812, + 12.502499 + ] + ] + ], + [ + [ + [ + 97.853592, + 12.539999 + ], + [ + 97.837494, + 12.598053 + ], + [ + 97.817764, + 12.583332 + ], + [ + 97.853592, + 12.539999 + ] + ] + ], + [ + [ + [ + 98.349426, + 12.316942 + ], + [ + 98.466934, + 12.570831 + ], + [ + 98.32193, + 12.67111 + ], + [ + 98.349426, + 12.316942 + ] + ] + ], + [ + [ + [ + 97.872208, + 12.764166 + ], + [ + 97.844147, + 12.819443 + ], + [ + 97.83728, + 12.772419 + ], + [ + 97.872208, + 12.764166 + ] + ] + ], + [ + [ + [ + 98.304153, + 13.041666 + ], + [ + 98.239426, + 13.213331 + ], + [ + 98.298035, + 12.941387 + ], + [ + 98.304153, + 13.041666 + ] + ] + ], + [ + [ + [ + 97.921097, + 13.783054 + ], + [ + 97.934708, + 13.851664 + ], + [ + 97.921921, + 13.861664 + ], + [ + 97.921097, + 13.783054 + ] + ] + ], + [ + [ + [ + 97.924423, + 13.905832 + ], + [ + 97.91835, + 13.939081 + ], + [ + 97.923035, + 13.894444 + ], + [ + 97.924423, + 13.905832 + ] + ] + ], + [ + [ + [ + 93.380539, + 14.064165 + ], + [ + 93.400818, + 14.096109 + ], + [ + 93.386383, + 14.151665 + ], + [ + 93.380539, + 14.064165 + ] + ] + ], + [ + [ + [ + 97.806366, + 14.134443 + ], + [ + 97.814148, + 14.179998 + ], + [ + 97.789154, + 14.155277 + ], + [ + 97.806366, + 14.134443 + ] + ] + ], + [ + [ + [ + 93.722488, + 14.904444 + ], + [ + 93.6922, + 14.890833 + ], + [ + 93.679153, + 14.848331 + ], + [ + 93.722488, + 14.904444 + ] + ] + ], + [ + [ + [ + 97.669708, + 15.521387 + ], + [ + 97.65416, + 15.578331 + ], + [ + 97.66304, + 15.497219 + ], + [ + 97.669708, + 15.521387 + ] + ] + ], + [ + [ + [ + 94.79776, + 15.791666 + ], + [ + 94.820541, + 15.948053 + ], + [ + 94.728043, + 15.815275 + ], + [ + 94.79776, + 15.791666 + ] + ] + ], + [ + [ + [ + 94.583328, + 16.00972 + ], + [ + 94.649429, + 16.245274 + ], + [ + 94.386658, + 15.995831 + ], + [ + 94.415817, + 15.868053 + ], + [ + 94.583328, + 16.00972 + ] + ] + ], + [ + [ + [ + 97.569153, + 16.233604 + ], + [ + 97.616653, + 16.465271 + ], + [ + 97.515549, + 16.506107 + ], + [ + 97.569153, + 16.233604 + ] + ] + ], + [ + [ + [ + 93.671097, + 18.867496 + ], + [ + 93.484421, + 18.869717 + ], + [ + 93.703049, + 18.668053 + ], + [ + 93.671097, + 18.867496 + ] + ] + ], + [ + [ + [ + 93.790924, + 19.231342 + ], + [ + 93.49054, + 19.400829 + ], + [ + 93.9422, + 18.862495 + ], + [ + 93.790924, + 19.231342 + ] + ] + ], + [ + [ + [ + 93.801651, + 19.268608 + ], + [ + 93.968323, + 19.42083 + ], + [ + 93.682755, + 19.560555 + ], + [ + 93.801651, + 19.268608 + ] + ] + ], + [ + [ + [ + 93.513046, + 19.744438 + ], + [ + 93.498596, + 19.88055 + ], + [ + 93.395828, + 19.955273 + ], + [ + 93.513046, + 19.744438 + ] + ] + ], + [ + [ + [ + 93.024429, + 19.827774 + ], + [ + 92.954437, + 20.06361 + ], + [ + 92.912491, + 20.086662 + ], + [ + 93.024429, + 19.827774 + ] + ] + ], + [ + [ + [ + 101.148239, + 21.572636 + ], + [ + 101.105263, + 21.771385 + ], + [ + 100.212753, + 21.432552 + ], + [ + 99.964432, + 22.048885 + ], + [ + 99.162766, + 22.159161 + ], + [ + 99.566376, + 22.938049 + ], + [ + 98.927475, + 23.189163 + ], + [ + 98.6772, + 23.968052 + ], + [ + 98.890732, + 24.160069 + ], + [ + 97.535538, + 23.939716 + ], + [ + 97.759995, + 24.257496 + ], + [ + 97.552475, + 24.74305 + ], + [ + 98.710815, + 25.855553 + ], + [ + 98.77832, + 26.636383 + ], + [ + 98.699707, + 27.539165 + ], + [ + 98.316376, + 27.541943 + ], + [ + 97.806641, + 28.344162 + ], + [ + 97.555252, + 28.548054 + ], + [ + 97.348877, + 28.222771 + ], + [ + 96.886658, + 27.606106 + ], + [ + 97.136658, + 27.085831 + ], + [ + 96.194138, + 27.270832 + ], + [ + 95.141373, + 26.612495 + ], + [ + 95.17804, + 26.058887 + ], + [ + 94.625534, + 25.397774 + ], + [ + 94.734421, + 25.024719 + ], + [ + 94.151093, + 23.855274 + ], + [ + 93.33873, + 24.077915 + ], + [ + 93.19664, + 22.256386 + ], + [ + 92.600815, + 21.982216 + ], + [ + 92.669342, + 21.296982 + ], + [ + 92.260818, + 21.41444 + ], + [ + 92.261932, + 21.05431 + ], + [ + 92.860809, + 20.121109 + ], + [ + 93.081665, + 20.548607 + ], + [ + 93.129974, + 19.835552 + ], + [ + 93.128311, + 20.085552 + ], + [ + 93.728592, + 19.931664 + ], + [ + 93.599152, + 19.719715 + ], + [ + 93.991928, + 19.457218 + ], + [ + 94.6147, + 17.546387 + ], + [ + 94.245529, + 15.959997 + ], + [ + 94.631088, + 16.342773 + ], + [ + 94.679703, + 16.115829 + ], + [ + 94.560257, + 15.941942 + ], + [ + 94.793045, + 16.153606 + ], + [ + 94.650543, + 15.854164 + ], + [ + 94.990814, + 16.246662 + ], + [ + 94.848877, + 15.77972 + ], + [ + 95.137207, + 16.137218 + ], + [ + 95.216385, + 15.782776 + ], + [ + 95.360809, + 16.144718 + ], + [ + 95.428589, + 15.729719 + ], + [ + 96.268326, + 16.389717 + ], + [ + 96.241928, + 16.803734 + ], + [ + 96.3797, + 16.501389 + ], + [ + 96.777771, + 16.703884 + ], + [ + 96.878036, + 17.449997 + ], + [ + 97.378036, + 16.494995 + ], + [ + 97.737488, + 16.563885 + ], + [ + 97.797256, + 14.881962 + ], + [ + 98.138885, + 13.539721 + ], + [ + 98.185532, + 14.059164 + ], + [ + 98.583328, + 13.172775 + ], + [ + 98.70359, + 12.340046 + ], + [ + 98.533165, + 12.245721 + ], + [ + 98.705872, + 12.224465 + ], + [ + 98.721924, + 11.976109 + ], + [ + 98.597488, + 11.751665 + ], + [ + 98.890549, + 11.700275 + ], + [ + 98.743591, + 11.666943 + ], + [ + 98.710815, + 10.918331 + ], + [ + 98.460266, + 10.734442 + ], + [ + 98.546646, + 9.981665 + ], + [ + 98.742752, + 10.348608 + ], + [ + 99.661652, + 11.826942 + ], + [ + 99.112198, + 13.055832 + ], + [ + 99.173965, + 13.727781 + ], + [ + 98.201096, + 15.074999 + ], + [ + 98.92804, + 16.38583 + ], + [ + 98.689697, + 16.284996 + ], + [ + 97.346375, + 18.562496 + ], + [ + 97.774704, + 18.569996 + ], + [ + 98.049988, + 19.807499 + ], + [ + 98.995529, + 19.780552 + ], + [ + 99.522766, + 20.352776 + ], + [ + 100.081322, + 20.348841 + ], + [ + 100.09137, + 20.348606 + ], + [ + 101.148239, + 21.572636 + ] + ] + ] + ] + }, + "name" : "Burma", + "iso2" : "MM", + "iso3" : "MMR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Vb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 1.635404, + 6.218721 + ], + [ + 2.484418, + 6.340486 + ], + [ + 2.719606, + 6.365505 + ], + [ + 2.789444, + 9.043888 + ], + [ + 3.095, + 9.090555 + ], + [ + 3.855, + 10.584999 + ], + [ + 3.604459, + 11.693274 + ], + [ + 2.83862, + 12.396658 + ], + [ + 2.378054, + 12.240274 + ], + [ + 2.397925, + 11.896152 + ], + [ + 2.014722, + 11.422499 + ], + [ + 1.435278, + 11.458887 + ], + [ + 0.91797, + 10.996399 + ], + [ + 0.776667, + 10.376665 + ], + [ + 1.355, + 9.995277 + ], + [ + 1.398542, + 9.429901 + ], + [ + 1.635404, + 6.218721 + ] + ] + ] + }, + "name" : "Benin", + "iso2" : "BJ", + "iso3" : "BEN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Vr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 166.850527, + -11.696945 + ], + [ + 166.931917, + -11.667223 + ], + [ + 166.761385, + -11.579445 + ], + [ + 166.850527, + -11.696945 + ] + ] + ], + [ + [ + [ + 160.080812, + -11.498055 + ], + [ + 159.960787, + -11.521666 + ], + [ + 160.527468, + -11.808056 + ], + [ + 160.080812, + -11.498055 + ] + ] + ], + [ + [ + [ + 159.853304, + -11.324722 + ], + [ + 159.841646, + -11.303888 + ], + [ + 159.776644, + -11.288612 + ], + [ + 159.853304, + -11.324722 + ] + ] + ], + [ + [ + [ + 166.53525, + -11.363888 + ], + [ + 166.580538, + -11.324167 + ], + [ + 166.518038, + -11.271112 + ], + [ + 166.53525, + -11.363888 + ] + ] + ], + [ + [ + [ + 162.474977, + -10.855555 + ], + [ + 162.500551, + -10.84 + ], + [ + 162.481356, + -10.807501 + ], + [ + 162.474977, + -10.855555 + ] + ] + ], + [ + [ + [ + 166.139986, + -10.761112 + ], + [ + 165.904146, + -10.673611 + ], + [ + 165.777468, + -10.805 + ], + [ + 166.139986, + -10.761112 + ] + ] + ], + [ + [ + [ + 161.545259, + -10.276667 + ], + [ + 161.283327, + -10.331944 + ], + [ + 162.39081, + -10.841944 + ], + [ + 161.545259, + -10.276667 + ] + ] + ], + [ + [ + [ + 161.751375, + -10.294445 + ], + [ + 161.771914, + -10.254446 + ], + [ + 161.719973, + -10.214722 + ], + [ + 161.751375, + -10.294445 + ] + ] + ], + [ + [ + [ + 167.203859, + -9.963612 + ], + [ + 167.20801, + -9.950832 + ], + [ + 167.188295, + -9.942223 + ], + [ + 167.203859, + -9.963612 + ] + ] + ], + [ + [ + [ + 167.127748, + -9.880833 + ], + [ + 167.126345, + -9.867222 + ], + [ + 167.108004, + -9.869165 + ], + [ + 167.127748, + -9.880833 + ] + ] + ], + [ + [ + [ + 167.103304, + -9.851664 + ], + [ + 167.108583, + -9.840834 + ], + [ + 167.089418, + -9.8475 + ], + [ + 167.103304, + -9.851664 + ] + ] + ], + [ + [ + [ + 161.974672, + -9.853054 + ], + [ + 161.974123, + -9.689722 + ], + [ + 161.944704, + -9.690277 + ], + [ + 161.974672, + -9.853054 + ] + ] + ], + [ + [ + [ + 161.569124, + -9.724167 + ], + [ + 161.349977, + -9.338888 + ], + [ + 161.397219, + -9.669445 + ], + [ + 161.569124, + -9.724167 + ] + ], + [ + [ + 161.387484, + -9.468611 + ], + [ + 161.38135, + -9.469444 + ], + [ + 161.38553, + -9.454445 + ], + [ + 161.387484, + -9.468611 + ] + ] + ], + [ + [ + [ + 159.938295, + -9.433611 + ], + [ + 159.6019, + -9.317223 + ], + [ + 159.828035, + -9.796946 + ], + [ + 160.831087, + -9.861944 + ], + [ + 160.386385, + -9.426666 + ], + [ + 159.938295, + -9.433611 + ] + ] + ], + [ + [ + [ + 159.828585, + -9.172501 + ], + [ + 159.845797, + -9.138056 + ], + [ + 159.811373, + -9.110832 + ], + [ + 159.828585, + -9.172501 + ] + ] + ], + [ + [ + [ + 160.411104, + -9.136667 + ], + [ + 160.318575, + -9.060278 + ], + [ + 160.212465, + -9.170555 + ], + [ + 160.411104, + -9.136667 + ] + ] + ], + [ + [ + [ + 159.204409, + -9.133333 + ], + [ + 159.228304, + -9.025557 + ], + [ + 159.168032, + -9.102776 + ], + [ + 159.204409, + -9.133333 + ] + ] + ], + [ + [ + [ + 159.147493, + -9.108889 + ], + [ + 159.137209, + -8.994444 + ], + [ + 159.032473, + -9.060278 + ], + [ + 159.147493, + -9.108889 + ] + ] + ], + [ + [ + [ + 160.112185, + -8.997221 + ], + [ + 160.073305, + -8.947779 + ], + [ + 160.065798, + -9.0175 + ], + [ + 160.112185, + -8.997221 + ] + ] + ], + [ + [ + [ + 160.047213, + -8.915276 + ], + [ + 160.029421, + -8.880278 + ], + [ + 160.008333, + -8.884724 + ], + [ + 160.047213, + -8.915276 + ] + ] + ], + [ + [ + [ + 161.060793, + -8.748055 + ], + [ + 161.009432, + -8.754168 + ], + [ + 161.044436, + -8.772501 + ], + [ + 161.060793, + -8.748055 + ] + ] + ], + [ + [ + [ + 157.633883, + -8.748055 + ], + [ + 157.44385, + -8.715 + ], + [ + 157.619967, + -8.800833 + ], + [ + 157.633883, + -8.748055 + ] + ] + ], + [ + [ + [ + 158.205233, + -8.833332 + ], + [ + 158.213594, + -8.681112 + ], + [ + 158.149721, + -8.781389 + ], + [ + 158.205233, + -8.833332 + ] + ] + ], + [ + [ + [ + 158.003054, + -8.771112 + ], + [ + 158.116915, + -8.533333 + ], + [ + 157.875521, + -8.609999 + ], + [ + 158.003054, + -8.771112 + ] + ] + ], + [ + [ + [ + 157.408327, + -8.500834 + ], + [ + 157.199129, + -8.565834 + ], + [ + 157.384432, + -8.734444 + ], + [ + 157.408327, + -8.500834 + ] + ] + ], + [ + [ + [ + 159.683321, + -8.546946 + ], + [ + 159.56885, + -8.378887 + ], + [ + 159.537477, + -8.468332 + ], + [ + 159.683321, + -8.546946 + ] + ] + ], + [ + [ + [ + 162.74106, + -8.373888 + ], + [ + 162.725252, + -8.381388 + ], + [ + 162.76166, + -8.378056 + ], + [ + 162.74106, + -8.373888 + ] + ] + ], + [ + [ + [ + 160.974398, + -8.8475 + ], + [ + 160.580263, + -8.33 + ], + [ + 161.378023, + -9.635 + ], + [ + 160.974398, + -8.8475 + ] + ] + ], + [ + [ + [ + 157.124666, + -8.25528 + ], + [ + 157.023043, + -8.190834 + ], + [ + 157.151369, + -8.342777 + ], + [ + 157.124666, + -8.25528 + ] + ] + ], + [ + [ + [ + 157.20746, + -8.270279 + ], + [ + 157.180819, + -8.170555 + ], + [ + 157.09247, + -8.165834 + ], + [ + 157.20746, + -8.270279 + ] + ] + ], + [ + [ + [ + 156.844973, + -8.118332 + ], + [ + 156.782747, + -8.055279 + ], + [ + 156.783327, + -8.098055 + ], + [ + 156.844973, + -8.118332 + ] + ] + ], + [ + [ + [ + 157.631624, + -8.236387 + ], + [ + 157.497469, + -7.965555 + ], + [ + 157.214418, + -8.243055 + ], + [ + 157.811922, + -8.620832 + ], + [ + 157.631624, + -8.236387 + ] + ] + ], + [ + [ + [ + 156.598848, + -8.203054 + ], + [ + 156.542208, + -7.944721 + ], + [ + 156.531923, + -8.091944 + ], + [ + 156.598848, + -8.203054 + ] + ] + ], + [ + [ + [ + 157.156099, + -8.150278 + ], + [ + 157.027193, + -7.865276 + ], + [ + 156.967745, + -8.046389 + ], + [ + 157.156099, + -8.150278 + ] + ] + ], + [ + [ + [ + 158.571901, + -7.703611 + ], + [ + 158.54999, + -7.664165 + ], + [ + 158.532198, + -7.691387 + ], + [ + 158.571901, + -7.703611 + ] + ] + ], + [ + [ + [ + 158.530825, + -7.654167 + ], + [ + 158.312746, + -7.580833 + ], + [ + 158.359407, + -7.640556 + ], + [ + 158.530825, + -7.654167 + ] + ] + ], + [ + [ + [ + 156.706636, + -7.897223 + ], + [ + 156.808596, + -7.726665 + ], + [ + 156.554415, + -7.578611 + ], + [ + 156.706636, + -7.897223 + ] + ] + ], + [ + [ + [ + 159.852449, + -8.333889 + ], + [ + 158.487459, + -7.554167 + ], + [ + 159.886934, + -8.566389 + ], + [ + 159.852449, + -8.333889 + ] + ] + ], + [ + [ + [ + 158.429415, + -7.529722 + ], + [ + 158.262758, + -7.477499 + ], + [ + 158.370516, + -7.552776 + ], + [ + 158.429415, + -7.529722 + ] + ] + ], + [ + [ + [ + 157.781649, + -7.47611 + ], + [ + 157.749392, + -7.393888 + ], + [ + 157.683596, + -7.415556 + ], + [ + 157.781649, + -7.47611 + ] + ] + ], + [ + [ + [ + 155.587465, + -7.390556 + ], + [ + 155.584688, + -7.331944 + ], + [ + 155.510805, + -7.35111 + ], + [ + 155.587465, + -7.390556 + ] + ] + ], + [ + [ + [ + 155.858858, + -7.100277 + ], + [ + 155.740236, + -6.967499 + ], + [ + 155.66971, + -7.088055 + ], + [ + 155.858858, + -7.100277 + ] + ] + ], + [ + [ + [ + 156.110231, + -6.941111 + ], + [ + 156.074678, + -6.819166 + ], + [ + 156.084963, + -6.989443 + ], + [ + 156.110231, + -6.941111 + ] + ] + ], + [ + [ + [ + 156.019991, + -6.824722 + ], + [ + 156.045259, + -6.78861 + ], + [ + 156.000002, + -6.80361 + ], + [ + 156.019991, + -6.824722 + ] + ] + ], + [ + [ + [ + 157.428865, + -7.324444 + ], + [ + 156.43857, + -6.643612 + ], + [ + 156.936098, + -7.219166 + ], + [ + 157.428865, + -7.324444 + ] + ] + ], + [ + [ + [ + 159.71274, + -5.516666 + ], + [ + 159.723848, + -5.49 + ], + [ + 159.714144, + -5.483889 + ], + [ + 159.71274, + -5.516666 + ] + ] + ], + [ + [ + [ + 159.528597, + -5.498888 + ], + [ + 159.509981, + -5.470833 + ], + [ + 159.49634, + -5.466944 + ], + [ + 159.528597, + -5.498888 + ] + ] + ], + [ + [ + [ + 159.403872, + -5.448332 + ], + [ + 159.348848, + -5.415833 + ], + [ + 159.371614, + -5.440832 + ], + [ + 159.403872, + -5.448332 + ] + ] + ], + [ + [ + [ + 159.252199, + -5.312778 + ], + [ + 159.248842, + -5.293055 + ], + [ + 159.250277, + -5.324167 + ], + [ + 159.252199, + -5.312778 + ] + ] + ] + ] + }, + "name" : "Solomon Islands", + "iso2" : "SB", + "iso3" : "SLB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "V71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -48.55056, + -27.821392 + ], + [ + -48.418335, + -27.388889 + ], + [ + -48.517227, + -27.430836 + ], + [ + -48.55056, + -27.821392 + ] + ] + ], + [ + [ + [ + -48.581116, + -26.39167 + ], + [ + -48.537781, + -26.167225 + ], + [ + -48.707779, + -26.309723 + ], + [ + -48.581116, + -26.39167 + ] + ] + ], + [ + [ + [ + -48.282501, + -25.486115 + ], + [ + -48.256668, + -25.33889 + ], + [ + -48.333061, + -25.413059 + ], + [ + -48.282501, + -25.486115 + ] + ] + ], + [ + [ + [ + -47.877785, + -25.026947 + ], + [ + -47.606674, + -24.783611 + ], + [ + -47.816673, + -24.900002 + ], + [ + -47.877785, + -25.026947 + ] + ] + ], + [ + [ + [ + -46.282784, + -23.98917 + ], + [ + -46.323616, + -23.93 + ], + [ + -46.416389, + -23.950279 + ], + [ + -46.282784, + -23.98917 + ] + ] + ], + [ + [ + [ + -45.126396, + -23.821392 + ], + [ + -45.105003, + -23.806393 + ], + [ + -45.136391, + -23.797779 + ], + [ + -45.126396, + -23.821392 + ] + ] + ], + [ + [ + [ + -45.22084, + -23.779446 + ], + [ + -45.441391, + -23.92889 + ], + [ + -45.218338, + -23.955833 + ], + [ + -45.22084, + -23.779446 + ] + ] + ], + [ + [ + [ + -44.08889, + -23.174446 + ], + [ + -44.228615, + -23.071114 + ], + [ + -44.369171, + -23.172226 + ], + [ + -44.08889, + -23.174446 + ] + ] + ], + [ + [ + [ + -29.84, + -20.496391 + ], + [ + -29.852222, + -20.491112 + ], + [ + -29.848892, + -20.500835 + ], + [ + -29.84, + -20.496391 + ] + ] + ], + [ + [ + [ + -30.29528, + -20.505835 + ], + [ + -30.334166, + -20.482224 + ], + [ + -30.319447, + -20.52 + ], + [ + -30.29528, + -20.505835 + ] + ] + ], + [ + [ + [ + -38.911667, + -13.67528 + ], + [ + -38.912781, + -13.587502 + ], + [ + -38.991951, + -13.593056 + ], + [ + -38.911667, + -13.67528 + ] + ] + ], + [ + [ + [ + -38.936951, + -13.5625 + ], + [ + -38.908058, + -13.385557 + ], + [ + -39.038612, + -13.397779 + ], + [ + -39.041115, + -13.462223 + ], + [ + -38.964443, + -13.498844 + ], + [ + -38.984451, + -13.5625 + ], + [ + -38.936951, + -13.5625 + ] + ] + ], + [ + [ + [ + -38.754723, + -13.113056 + ], + [ + -38.591667, + -12.987501 + ], + [ + -38.643333, + -12.892223 + ], + [ + -38.754723, + -13.113056 + ] + ] + ], + [ + [ + [ + -37.132507, + -11.129446 + ], + [ + -37.036949, + -10.952501 + ], + [ + -37.146393, + -11.108612 + ], + [ + -37.132507, + -11.129446 + ] + ] + ], + [ + [ + [ + -34.873894, + -7.073334 + ], + [ + -34.866669, + -7.048611 + ], + [ + -34.888893, + -7.071945 + ], + [ + -34.873894, + -7.073334 + ] + ] + ], + [ + [ + [ + -34.854172, + -7.005278 + ], + [ + -34.859726, + -6.994444 + ], + [ + -34.86306, + -7.013889 + ], + [ + -34.854172, + -7.005278 + ] + ] + ], + [ + [ + [ + -32.450836, + -3.88361 + ], + [ + -32.386673, + -3.840277 + ], + [ + -32.424171, + -3.845833 + ], + [ + -32.450836, + -3.88361 + ] + ] + ], + [ + [ + [ + -44.610283, + -3.008055 + ], + [ + -44.611671, + -2.887222 + ], + [ + -44.656113, + -2.97361 + ], + [ + -44.610283, + -3.008055 + ] + ] + ], + [ + [ + [ + -44.586395, + -3.0525 + ], + [ + -44.483894, + -2.709999 + ], + [ + -44.577507, + -2.801945 + ], + [ + -44.586395, + -3.0525 + ] + ] + ], + [ + [ + [ + -42.050835, + -2.761667 + ], + [ + -42.06945, + -2.685833 + ], + [ + -42.184448, + -2.6775 + ], + [ + -42.050835, + -2.761667 + ] + ] + ], + [ + [ + [ + -43.693335, + -2.326944 + ], + [ + -43.61528, + -2.262499 + ], + [ + -43.739174, + -2.350277 + ], + [ + -43.693335, + -2.326944 + ] + ] + ], + [ + [ + [ + -50.863892, + -1.910833 + ], + [ + -51.148338, + -1.828611 + ], + [ + -50.98806, + -1.99361 + ], + [ + -50.863892, + -1.910833 + ] + ] + ], + [ + [ + [ + -49.02417, + -1.829166 + ], + [ + -49.055557, + -1.721111 + ], + [ + -49.156952, + -1.858055 + ], + [ + -49.02417, + -1.829166 + ] + ] + ], + [ + [ + [ + -48.961113, + -1.795832 + ], + [ + -48.902779, + -1.577221 + ], + [ + -49.046112, + -1.705278 + ], + [ + -48.961113, + -1.795832 + ] + ] + ], + [ + [ + [ + -44.652779, + -1.623888 + ], + [ + -44.713058, + -1.561111 + ], + [ + -44.78334, + -1.619167 + ], + [ + -44.778893, + -1.668055 + ], + [ + -44.662224, + -1.661945 + ], + [ + -44.652779, + -1.623888 + ] + ] + ], + [ + [ + [ + -52.024727, + -1.580278 + ], + [ + -51.914452, + -1.516388 + ], + [ + -52.029449, + -1.439722 + ], + [ + -52.200836, + -1.646666 + ], + [ + -52.024727, + -1.580278 + ] + ] + ], + [ + [ + [ + -52.418335, + -1.5275 + ], + [ + -52.168617, + -1.408333 + ], + [ + -52.431114, + -1.466389 + ], + [ + -52.418335, + -1.5275 + ] + ] + ], + [ + [ + [ + -48.633614, + -1.484722 + ], + [ + -48.657501, + -1.375834 + ], + [ + -48.696671, + -1.449167 + ], + [ + -48.633614, + -1.484722 + ] + ] + ], + [ + [ + [ + -48.525841, + -1.525 + ], + [ + -48.553337, + -1.36611 + ], + [ + -48.592506, + -1.442221 + ], + [ + -48.525841, + -1.525 + ] + ] + ], + [ + [ + [ + -44.987503, + -1.401945 + ], + [ + -44.881111, + -1.283056 + ], + [ + -44.975563, + -1.261667 + ], + [ + -44.987503, + -1.401945 + ] + ] + ], + [ + [ + [ + -45.634171, + -1.346388 + ], + [ + -45.626944, + -1.126944 + ], + [ + -45.689444, + -1.360832 + ], + [ + -45.634171, + -1.346388 + ] + ] + ], + [ + [ + [ + -48.340279, + -1.212778 + ], + [ + -48.322502, + -1.076944 + ], + [ + -48.412224, + -1.074999 + ], + [ + -48.465561, + -1.162777 + ], + [ + -48.340279, + -1.212778 + ] + ] + ], + [ + [ + [ + -46.498894, + -1.020277 + ], + [ + -46.440002, + -1.006388 + ], + [ + -46.456673, + -0.888611 + ], + [ + -46.54834, + -0.972221 + ], + [ + -46.53334, + -1.0175 + ], + [ + -46.498894, + -1.020277 + ] + ] + ], + [ + [ + [ + -50.987228, + -0.866388 + ], + [ + -51.182503, + -1.091667 + ], + [ + -51.070038, + -1.037794 + ], + [ + -51.019447, + -0.991667 + ], + [ + -51.012619, + -0.919502 + ], + [ + -50.920837, + -0.869722 + ], + [ + -50.987228, + -0.866388 + ] + ] + ], + [ + [ + [ + -51.375282, + -1.21361 + ], + [ + -51.239449, + -1.143888 + ], + [ + -51.203056, + -0.841667 + ], + [ + -51.248894, + -1.024721 + ], + [ + -51.363617, + -1.129444 + ], + [ + -51.400284, + -1.201944 + ], + [ + -51.375282, + -1.21361 + ] + ] + ], + [ + [ + [ + -50.92028, + -0.844999 + ], + [ + -50.842781, + -0.727777 + ], + [ + -50.922783, + -0.729166 + ], + [ + -50.92028, + -0.844999 + ] + ] + ], + [ + [ + [ + -47.935005, + -0.727222 + ], + [ + -47.876114, + -0.673056 + ], + [ + -47.932503, + -0.636667 + ], + [ + -47.97084, + -0.68 + ], + [ + -47.951668, + -0.731945 + ], + [ + -47.935005, + -0.727222 + ] + ] + ], + [ + [ + [ + -47.66806, + -0.709166 + ], + [ + -47.637222, + -0.620832 + ], + [ + -47.665283, + -0.57361 + ], + [ + -47.718895, + -0.640556 + ], + [ + -47.696671, + -0.714722 + ], + [ + -47.66806, + -0.709166 + ] + ] + ], + [ + [ + [ + -51.13195, + -0.959444 + ], + [ + -50.815834, + -0.572222 + ], + [ + -51.070282, + -0.694445 + ], + [ + -51.13195, + -0.959444 + ] + ] + ], + [ + [ + [ + -51.051117, + -0.659166 + ], + [ + -51.025284, + -0.560556 + ], + [ + -51.098335, + -0.633888 + ], + [ + -51.051117, + -0.659166 + ] + ] + ], + [ + [ + [ + -51.90139, + -1.476667 + ], + [ + -51.483337, + -1.240278 + ], + [ + -51.271666, + -1.014166 + ], + [ + -51.148338, + -0.669722 + ], + [ + -51.199722, + -0.529167 + ], + [ + -51.38195, + -0.541389 + ], + [ + -51.609726, + -0.733889 + ], + [ + -51.662224, + -1.083332 + ], + [ + -51.885002, + -1.178888 + ], + [ + -51.952225, + -1.430832 + ], + [ + -51.90139, + -1.476667 + ] + ] + ], + [ + [ + [ + -51.403336, + -0.540833 + ], + [ + -51.239449, + -0.454443 + ], + [ + -51.411392, + -0.499722 + ], + [ + -51.403336, + -0.540833 + ] + ] + ], + [ + [ + [ + -50.958618, + -0.567499 + ], + [ + -50.776947, + -0.383888 + ], + [ + -50.878334, + -0.385277 + ], + [ + -50.958618, + -0.567499 + ] + ] + ], + [ + [ + [ + -51.10778, + -0.539999 + ], + [ + -50.946671, + -0.353889 + ], + [ + -51.034729, + -0.283056 + ], + [ + -51.10778, + -0.539999 + ] + ] + ], + [ + [ + [ + -50.907227, + -0.335833 + ], + [ + -50.888618, + -0.291389 + ], + [ + -51.025002, + -0.248888 + ], + [ + -50.907227, + -0.335833 + ] + ] + ], + [ + [ + [ + -49.713341, + -0.227777 + ], + [ + -50.657784, + -0.279167 + ], + [ + -50.796951, + -0.971943 + ], + [ + -50.550003, + -1.069166 + ], + [ + -50.781113, + -1.151945 + ], + [ + -50.803612, + -1.440556 + ], + [ + -50.578056, + -1.800833 + ], + [ + -49.166389, + -1.613888 + ], + [ + -48.627228, + -1.064444 + ], + [ + -48.373062, + -0.289167 + ], + [ + -49.713341, + -0.227777 + ] + ] + ], + [ + [ + [ + -50.803337, + -0.358889 + ], + [ + -50.748894, + -0.226667 + ], + [ + -50.908058, + -0.358332 + ], + [ + -50.803337, + -0.358889 + ] + ] + ], + [ + [ + [ + -51.380562, + -0.484722 + ], + [ + -51.137505, + -0.285278 + ], + [ + -51.103058, + -0.121389 + ], + [ + -51.380562, + -0.484722 + ] + ] + ], + [ + [ + [ + -50.556946, + -0.0625 + ], + [ + -51.027229, + -0.224167 + ], + [ + -50.85778, + -0.283056 + ], + [ + -50.556946, + -0.0625 + ] + ] + ], + [ + [ + [ + -50.901672, + -0.047499 + ], + [ + -50.697502, + 0.02389 + ], + [ + -50.829727, + 0.060835 + ], + [ + -50.901672, + -0.047499 + ] + ] + ], + [ + [ + [ + -49.525558, + -0.134443 + ], + [ + -49.501671, + 0.070559 + ], + [ + -49.852501, + -0.064444 + ], + [ + -49.525558, + -0.134443 + ] + ] + ], + [ + [ + [ + -50.455559, + -0.022778 + ], + [ + -50.465004, + 0.146669 + ], + [ + -50.643333, + 0.17111 + ], + [ + -50.455559, + -0.022778 + ] + ] + ], + [ + [ + [ + -49.636116, + 0.227503 + ], + [ + -50.392502, + 0.109446 + ], + [ + -49.984726, + -0.072222 + ], + [ + -49.636116, + 0.227503 + ] + ] + ], + [ + [ + [ + -50.243057, + 0.229445 + ], + [ + -50.083618, + 0.320002 + ], + [ + -50.184174, + 0.324167 + ], + [ + -50.243057, + 0.229445 + ] + ] + ], + [ + [ + [ + -50.416389, + 0.210833 + ], + [ + -50.373894, + 0.621389 + ], + [ + -50.536392, + 0.22611 + ], + [ + -50.416389, + 0.210833 + ] + ] + ], + [ + [ + [ + -50.237503, + 0.350836 + ], + [ + -50.063614, + 0.646112 + ], + [ + -50.30806, + 0.506392 + ], + [ + -50.237503, + 0.350836 + ] + ] + ], + [ + [ + [ + -50.007225, + 0.881666 + ], + [ + -50.200562, + 0.879168 + ], + [ + -50.267784, + 0.751669 + ], + [ + -50.007225, + 0.881666 + ] + ] + ], + [ + [ + [ + -50.037506, + 0.884443 + ], + [ + -50.042229, + 0.918058 + ], + [ + -50.093895, + 0.920835 + ], + [ + -50.037506, + 0.884443 + ] + ] + ], + [ + [ + [ + -50.009445, + 0.935278 + ], + [ + -49.947784, + 1.054445 + ], + [ + -50.074448, + 0.981112 + ], + [ + -50.009445, + 0.935278 + ] + ] + ], + [ + [ + [ + -50.396666, + 1.881392 + ], + [ + -50.356117, + 2.116945 + ], + [ + -50.505005, + 2.025 + ], + [ + -50.396666, + 1.881392 + ] + ] + ], + [ + [ + [ + -50.475281, + 2.119722 + ], + [ + -50.405556, + 2.193613 + ], + [ + -50.517227, + 2.203054 + ], + [ + -50.475281, + 2.119722 + ] + ] + ], + [ + [ + [ + -69.956924, + -4.236874 + ], + [ + -70.765839, + -4.146389 + ], + [ + -72.851959, + -5.124722 + ], + [ + -73.123901, + -6.447222 + ], + [ + -73.744171, + -6.876944 + ], + [ + -74.010559, + -7.541389 + ], + [ + -72.964172, + -8.983334 + ], + [ + -73.205292, + -9.407223 + ], + [ + -72.366394, + -9.494446 + ], + [ + -72.14389, + -10.004723 + ], + [ + -71.298889, + -9.996389 + ], + [ + -70.514664, + -9.428001 + ], + [ + -70.631393, + -11.009167 + ], + [ + -69.568436, + -10.951092 + ], + [ + -68.58345, + -11.106138 + ], + [ + -66.634445, + -9.906946 + ], + [ + -65.381958, + -9.697779 + ], + [ + -65.392792, + -11.26639 + ], + [ + -64.991669, + -12.008057 + ], + [ + -64.39418, + -12.461668 + ], + [ + -63.075005, + -12.650002 + ], + [ + -61.833893, + -13.544724 + ], + [ + -61.038979, + -13.493118 + ], + [ + -60.47084, + -13.807222 + ], + [ + -60.258896, + -15.093613 + ], + [ + -60.571396, + -15.097502 + ], + [ + -60.160278, + -16.263058 + ], + [ + -58.327507, + -16.279167 + ], + [ + -58.397507, + -17.249168 + ], + [ + -57.743057, + -17.593056 + ], + [ + -57.521118, + -18.203892 + ], + [ + -58.121117, + -19.74139 + ], + [ + -57.848747, + -19.978794 + ], + [ + -58.15889, + -20.168055 + ], + [ + -57.814444, + -20.971947 + ], + [ + -57.985107, + -22.091827 + ], + [ + -55.849724, + -22.288891 + ], + [ + -55.411667, + -23.95639 + ], + [ + -54.407227, + -23.916668 + ], + [ + -54.330559, + -24.679449 + ], + [ + -54.598915, + -25.573223 + ], + [ + -53.863335, + -25.681114 + ], + [ + -53.807785, + -27.129169 + ], + [ + -55.765282, + -28.226112 + ], + [ + -57.608002, + -30.184925 + ], + [ + -56.811394, + -30.105278 + ], + [ + -56.008923, + -31.079794 + ], + [ + -55.581947, + -30.845837 + ], + [ + -53.879723, + -31.967781 + ], + [ + -53.093056, + -32.729729 + ], + [ + -53.522781, + -33.147781 + ], + [ + -53.374298, + -33.740669 + ], + [ + -52.636673, + -33.129448 + ], + [ + -51.965279, + -31.339447 + ], + [ + -51.271118, + -30.795559 + ], + [ + -51.28167, + -30.010002 + ], + [ + -50.928337, + -30.419445 + ], + [ + -50.608894, + -30.190556 + ], + [ + -50.567223, + -30.457226 + ], + [ + -51.251396, + -31.471668 + ], + [ + -52.086395, + -31.823612 + ], + [ + -52.072502, + -32.174171 + ], + [ + -50.749451, + -31.081112 + ], + [ + -49.752502, + -29.369724 + ], + [ + -48.774727, + -28.522224 + ], + [ + -48.485283, + -27.211391 + ], + [ + -48.802504, + -26.067223 + ], + [ + -48.581947, + -26.18 + ], + [ + -48.770561, + -25.880001 + ], + [ + -48.361389, + -25.576389 + ], + [ + -48.718613, + -25.424725 + ], + [ + -48.131393, + -25.272224 + ], + [ + -48.208618, + -25.46167 + ], + [ + -48.026115, + -25.015003 + ], + [ + -46.382782, + -23.868336 + ], + [ + -45.418335, + -23.830833 + ], + [ + -44.577225, + -23.356113 + ], + [ + -44.662506, + -23.048058 + ], + [ + -43.218338, + -22.996948 + ], + [ + -43.075836, + -22.668335 + ], + [ + -43.091949, + -22.954723 + ], + [ + -42.034447, + -22.91917 + ], + [ + -41.763062, + -22.346111 + ], + [ + -40.971672, + -21.988056 + ], + [ + -40.960556, + -21.235836 + ], + [ + -39.801392, + -19.632504 + ], + [ + -39.643616, + -18.223335 + ], + [ + -39.130835, + -17.683891 + ], + [ + -39.206673, + -17.147503 + ], + [ + -38.871948, + -15.874168 + ], + [ + -39.066948, + -14.64389 + ], + [ + -38.920563, + -13.915556 + ], + [ + -39.038895, + -14.175835 + ], + [ + -38.963058, + -13.681391 + ], + [ + -39.080284, + -13.538334 + ], + [ + -39.056395, + -13.377501 + ], + [ + -38.956673, + -13.380001 + ], + [ + -38.725281, + -12.874445 + ], + [ + -38.901115, + -12.705557 + ], + [ + -38.691673, + -12.577778 + ], + [ + -38.488617, + -13.02 + ], + [ + -38.041389, + -12.633057 + ], + [ + -37.153336, + -10.748611 + ], + [ + -37.021666, + -10.935835 + ], + [ + -36.393333, + -10.4925 + ], + [ + -35.292778, + -9.18 + ], + [ + -34.800835, + -7.631111 + ], + [ + -35.417503, + -5.214722 + ], + [ + -37.174446, + -4.918612 + ], + [ + -39.996948, + -2.846388 + ], + [ + -41.24807, + -3.023554 + ], + [ + -43.347504, + -2.365833 + ], + [ + -44.339729, + -2.830278 + ], + [ + -44.063339, + -2.405834 + ], + [ + -44.356949, + -2.526667 + ], + [ + -44.420563, + -2.93 + ], + [ + -44.786392, + -3.297499 + ], + [ + -44.58223, + -2.556944 + ], + [ + -44.360001, + -2.338888 + ], + [ + -44.656395, + -2.33111 + ], + [ + -44.490562, + -1.980833 + ], + [ + -44.538895, + -1.832222 + ], + [ + -44.695007, + -1.817778 + ], + [ + -44.799171, + -1.705 + ], + [ + -44.820557, + -1.578333 + ], + [ + -44.951393, + -1.601667 + ], + [ + -44.860283, + -1.425278 + ], + [ + -45.347504, + -1.740278 + ], + [ + -45.326668, + -1.313334 + ], + [ + -45.462227, + -1.545555 + ], + [ + -45.446945, + -1.310833 + ], + [ + -45.696114, + -1.370277 + ], + [ + -45.735558, + -1.18 + ], + [ + -45.851952, + -1.271944 + ], + [ + -45.974724, + -1.074999 + ], + [ + -46.043335, + -1.210278 + ], + [ + -46.259726, + -1.183611 + ], + [ + -46.191948, + -0.9575 + ], + [ + -46.448334, + -1.043055 + ], + [ + -46.535835, + -1.032221 + ], + [ + -46.557785, + -0.999166 + ], + [ + -46.604172, + -1.029444 + ], + [ + -46.821671, + -0.712778 + ], + [ + -46.951118, + -0.908056 + ], + [ + -46.954727, + -0.704445 + ], + [ + -47.431395, + -0.5825 + ], + [ + -47.39389, + -0.812778 + ], + [ + -47.542503, + -0.636667 + ], + [ + -47.726952, + -0.758055 + ], + [ + -47.749451, + -0.635277 + ], + [ + -47.956947, + -0.775278 + ], + [ + -48.060562, + -0.710833 + ], + [ + -48.292229, + -0.945 + ], + [ + -48.331673, + -1.308332 + ], + [ + -48.479172, + -1.301943 + ], + [ + -48.503059, + -1.458332 + ], + [ + -48.184448, + -1.471945 + ], + [ + -48.413612, + -1.499443 + ], + [ + -48.430557, + -1.661667 + ], + [ + -48.697226, + -1.469166 + ], + [ + -49.490004, + -2.564999 + ], + [ + -49.289726, + -1.708332 + ], + [ + -50.677956, + -1.810444 + ], + [ + -50.70639, + -2.220556 + ], + [ + -50.983894, + -2.066111 + ], + [ + -50.846115, + -2.50861 + ], + [ + -51.307503, + -1.763611 + ], + [ + -51.45195, + -2.273611 + ], + [ + -51.336945, + -1.646944 + ], + [ + -50.663895, + -1.767778 + ], + [ + -50.816673, + -1.439722 + ], + [ + -50.858337, + -0.91361 + ], + [ + -50.992226, + -0.925278 + ], + [ + -51.009171, + -0.949167 + ], + [ + -50.992783, + -0.998611 + ], + [ + -51.257225, + -1.218332 + ], + [ + -52.208469, + -1.692078 + ], + [ + -52.712784, + -1.603333 + ], + [ + -52.232506, + -1.345278 + ], + [ + -52.067505, + -1.42 + ], + [ + -51.928337, + -1.337778 + ], + [ + -51.920006, + -1.166389 + ], + [ + -51.712502, + -1.026667 + ], + [ + -51.700005, + -0.752499 + ], + [ + -51.258614, + -0.142778 + ], + [ + -49.903893, + 1.170279 + ], + [ + -50.121948, + 1.214167 + ], + [ + -49.93, + 1.708055 + ], + [ + -50.445282, + 1.825834 + ], + [ + -50.679726, + 2.164724 + ], + [ + -51.088615, + 3.911669 + ], + [ + -51.537506, + 4.39139 + ], + [ + -51.447784, + 3.972502 + ], + [ + -51.684067, + 4.034163 + ], + [ + -52.909729, + 2.195833 + ], + [ + -54.603783, + 2.329195 + ], + [ + -55.965836, + 2.532778 + ], + [ + -55.904167, + 1.893057 + ], + [ + -56.470634, + 1.944498 + ], + [ + -57.324722, + 1.975279 + ], + [ + -58.806946, + 1.185556 + ], + [ + -59.642784, + 1.731112 + ], + [ + -59.989449, + 2.693613 + ], + [ + -59.568611, + 3.899446 + ], + [ + -59.675835, + 4.388887 + ], + [ + -60.147507, + 4.5175 + ], + [ + -60.098335, + 5.217222 + ], + [ + -60.73037, + 5.204802 + ], + [ + -60.579727, + 4.946669 + ], + [ + -60.985001, + 4.520555 + ], + [ + -62.745834, + 4.032499 + ], + [ + -62.875, + 3.560278 + ], + [ + -63.343056, + 3.961111 + ], + [ + -64.017792, + 3.88611 + ], + [ + -64.795288, + 4.281389 + ], + [ + -64.191116, + 3.594446 + ], + [ + -64.045013, + 2.4825 + ], + [ + -63.361115, + 2.419168 + ], + [ + -63.393059, + 2.151388 + ], + [ + -65.51889, + 0.649721 + ], + [ + -65.589737, + 0.989168 + ], + [ + -66.311951, + 0.750559 + ], + [ + -66.871887, + 1.221643 + ], + [ + -67.076675, + 1.173334 + ], + [ + -67.424179, + 2.143888 + ], + [ + -67.914734, + 1.745279 + ], + [ + -68.196396, + 1.977503 + ], + [ + -68.153061, + 1.724169 + ], + [ + -69.8461, + 1.710455 + ], + [ + -69.842224, + 1.072222 + ], + [ + -69.270004, + 1.038336 + ], + [ + -69.124725, + 0.645002 + ], + [ + -70.044174, + 0.590834 + ], + [ + -70.05806, + -0.157499 + ], + [ + -69.607513, + -0.5175 + ], + [ + -69.378067, + -1.338055 + ], + [ + -69.956924, + -4.236874 + ] + ] + ] + ] + }, + "name" : "Brazil", + "iso2" : "BR", + "iso3" : "BRA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "WL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 28.013054, + 41.982216 + ], + [ + 27.44833, + 42.469994 + ], + [ + 27.879166, + 42.841103 + ], + [ + 28.583244, + 43.747765 + ], + [ + 27.036427, + 44.147339 + ], + [ + 25.430229, + 43.626778 + ], + [ + 24.179996, + 43.684715 + ], + [ + 22.875275, + 43.842499 + ], + [ + 23.044167, + 44.076111 + ], + [ + 22.681435, + 44.224701 + ], + [ + 22.367222, + 43.826942 + ], + [ + 23.004997, + 43.192772 + ], + [ + 22.442219, + 42.821663 + ], + [ + 22.365276, + 42.323883 + ], + [ + 23.014721, + 41.762215 + ], + [ + 22.935604, + 41.342125 + ], + [ + 24.263885, + 41.570549 + ], + [ + 25.285, + 41.24305 + ], + [ + 26.139996, + 41.354713 + ], + [ + 26.066109, + 41.697495 + ], + [ + 26.294167, + 41.708054 + ], + [ + 26.361095, + 41.711052 + ], + [ + 27.394997, + 42.008041 + ], + [ + 28.013054, + 41.982216 + ] + ] + ] + }, + "name" : "Bulgaria", + "iso2" : "BG", + "iso3" : "BGR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Wb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 115.223038, + 4.804998 + ], + [ + 115.145782, + 4.90324 + ], + [ + 115.029129, + 4.82021 + ], + [ + 115.343323, + 4.311943 + ], + [ + 115.223038, + 4.804998 + ] + ] + ], + [ + [ + [ + 114.981369, + 4.892499 + ], + [ + 114.095078, + 4.590538 + ], + [ + 114.641098, + 4.018888 + ], + [ + 115.018433, + 4.895795 + ], + [ + 114.981369, + 4.892499 + ] + ] + ] + ] + }, + "name" : "Brunei Darussalam", + "iso2" : "BN", + "iso3" : "BRN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Wr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -53.756367, + 48.503263 + ], + [ + -53.956108, + 48.543886 + ], + [ + -53.601944, + 48.689714 + ], + [ + -54.096106, + 48.812212 + ], + [ + -53.488609, + 49.220545 + ], + [ + -53.775002, + 49.396105 + ], + [ + -54.486946, + 49.259722 + ], + [ + -54.528885, + 49.533335 + ], + [ + -54.824448, + 49.269159 + ], + [ + -55.078056, + 49.356943 + ], + [ + -55.383331, + 49.040834 + ], + [ + -55.141113, + 49.545275 + ], + [ + -55.315277, + 49.31444 + ], + [ + -56.129166, + 49.425554 + ], + [ + -55.491699, + 50.007311 + ], + [ + -56.153885, + 50.150545 + ], + [ + -56.848885, + 49.544443 + ], + [ + -56.155273, + 50.885553 + ], + [ + -55.732498, + 51.079996 + ], + [ + -56.085556, + 51.368326 + ], + [ + -55.405273, + 51.561663 + ], + [ + -55.898056, + 51.628603 + ], + [ + -57.378609, + 50.687769 + ], + [ + -57.148056, + 50.621935 + ], + [ + -57.948334, + 49.674166 + ], + [ + -57.696388, + 49.46361 + ], + [ + -58.223328, + 49.390276 + ], + [ + -57.881668, + 48.968882 + ], + [ + -58.396111, + 49.13138 + ], + [ + -58.709442, + 48.570833 + ], + [ + -58.958611, + 48.613886 + ], + [ + -58.774719, + 48.778879 + ], + [ + -59.261116, + 48.476656 + ], + [ + -58.418335, + 48.486658 + ], + [ + -59.406944, + 47.889719 + ], + [ + -59.135559, + 47.556383 + ], + [ + -56.840836, + 47.521379 + ], + [ + -55.773613, + 47.956942 + ], + [ + -55.917503, + 47.657495 + ], + [ + -55.628334, + 47.674715 + ], + [ + -56.172501, + 47.497217 + ], + [ + -55.587776, + 47.398607 + ], + [ + -54.936111, + 47.781664 + ], + [ + -54.845833, + 47.55694 + ], + [ + -55.983055, + 46.952494 + ], + [ + -55.68972, + 46.858332 + ], + [ + -54.418335, + 47.603609 + ], + [ + -54.482773, + 47.391665 + ], + [ + -54.195274, + 47.8575 + ], + [ + -53.8675, + 47.402773 + ], + [ + -54.187775, + 46.819162 + ], + [ + -53.591385, + 47.156099 + ], + [ + -53.617775, + 46.644159 + ], + [ + -53.102501, + 46.63666 + ], + [ + -52.614449, + 47.516665 + ], + [ + -52.779442, + 47.803049 + ], + [ + -53.121941, + 47.413324 + ], + [ + -53.26722, + 47.606104 + ], + [ + -52.83139, + 48.101664 + ], + [ + -53.274445, + 48.01333 + ], + [ + -53.550552, + 47.529161 + ], + [ + -53.850555, + 47.760553 + ], + [ + -53.60778, + 48.051104 + ], + [ + -53.945274, + 48.178881 + ], + [ + -52.97805, + 48.604441 + ], + [ + -53.756367, + 48.503263 + ] + ], + [ + [ + -53.756367, + 48.503263 + ], + [ + -54.138054, + 48.359163 + ], + [ + -54.094444, + 48.425829 + ], + [ + -53.756367, + 48.503263 + ] + ], + [ + [ + -55.993889, + 51.200274 + ], + [ + -55.998055, + 51.207499 + ], + [ + -55.967773, + 51.226656 + ], + [ + -55.993889, + 51.200274 + ] + ], + [ + [ + -56.803612, + 49.76333 + ], + [ + -56.838051, + 49.767496 + ], + [ + -56.782219, + 49.786943 + ], + [ + -56.803612, + 49.76333 + ] + ], + [ + [ + -58.342224, + 49.066103 + ], + [ + -58.35611, + 49.065828 + ], + [ + -58.333611, + 49.077776 + ], + [ + -58.342224, + 49.066103 + ] + ] + ], + [ + [ + [ + -53.712776, + 48.148882 + ], + [ + -53.509726, + 48.198328 + ], + [ + -53.935829, + 48.182497 + ], + [ + -53.712776, + 48.148882 + ] + ] + ], + [ + [ + [ + -54.004448, + 49.647493 + ], + [ + -54.141945, + 49.750002 + ], + [ + -54.298889, + 49.609995 + ], + [ + -54.004448, + 49.647493 + ] + ] + ], + [ + [ + [ + -54.077499, + 47.479433 + ], + [ + -54.071388, + 47.685549 + ], + [ + -54.101944, + 47.50139 + ], + [ + -54.077499, + 47.479433 + ] + ] + ], + [ + [ + [ + -54.261391, + 47.390276 + ], + [ + -54.128883, + 47.670549 + ], + [ + -54.365555, + 47.411661 + ], + [ + -54.261391, + 47.390276 + ] + ] + ], + [ + [ + [ + -54.576668, + 49.558603 + ], + [ + -54.536118, + 49.664156 + ], + [ + -54.894447, + 49.585268 + ], + [ + -54.576668, + 49.558603 + ] + ] + ], + [ + [ + [ + -54.705275, + 49.400545 + ], + [ + -54.640839, + 49.463884 + ], + [ + -54.673058, + 49.492495 + ], + [ + -54.759171, + 49.437769 + ], + [ + -54.705275, + 49.400545 + ] + ] + ], + [ + [ + [ + -55.3675, + 51.874163 + ], + [ + -55.269997, + 52.000551 + ], + [ + -55.430557, + 51.896662 + ], + [ + -55.3675, + 51.874163 + ] + ] + ], + [ + [ + [ + -55.56472, + 50.699717 + ], + [ + -55.450554, + 50.798334 + ], + [ + -55.624718, + 50.787218 + ], + [ + -55.56472, + 50.699717 + ] + ] + ], + [ + [ + [ + -55.555557, + 50.886385 + ], + [ + -55.535278, + 50.981379 + ], + [ + -55.635277, + 50.961382 + ], + [ + -55.555557, + 50.886385 + ] + ] + ], + [ + [ + [ + -55.693054, + 49.567499 + ], + [ + -55.567505, + 49.6 + ], + [ + -55.659721, + 49.635553 + ], + [ + -55.693054, + 49.567499 + ] + ] + ], + [ + [ + [ + -134.495544, + 68.752214 + ], + [ + -134.845551, + 68.92943 + ], + [ + -134.977478, + 68.878313 + ], + [ + -135.186951, + 68.90027 + ], + [ + -135.241669, + 68.926928 + ], + [ + -135.623596, + 68.88611 + ], + [ + -135.338043, + 68.834993 + ], + [ + -135.506134, + 68.832491 + ], + [ + -135.146393, + 68.663881 + ], + [ + -135.406952, + 68.679979 + ], + [ + -138.60498, + 69.247484 + ], + [ + -139.143066, + 69.51082 + ], + [ + -141.002991, + 69.642366 + ], + [ + -140.995544, + 60.307215 + ], + [ + -139.068054, + 60.352221 + ], + [ + -139.188904, + 60.088884 + ], + [ + -137.59082, + 59.238604 + ], + [ + -137.478058, + 58.907213 + ], + [ + -135.473602, + 59.801935 + ], + [ + -133.429993, + 58.459162 + ], + [ + -131.824158, + 56.596941 + ], + [ + -130.015076, + 55.909182 + ], + [ + -130.128876, + 55.722216 + ], + [ + -129.943878, + 55.282213 + ], + [ + -130.113617, + 54.996386 + ], + [ + -129.817505, + 55.283335 + ], + [ + -129.786957, + 55.566668 + ], + [ + -129.471649, + 55.467211 + ], + [ + -129.996368, + 55.024164 + ], + [ + -129.622498, + 54.997774 + ], + [ + -130.173889, + 54.846659 + ], + [ + -129.910278, + 54.605555 + ], + [ + -130.374146, + 54.654993 + ], + [ + -129.959166, + 54.316103 + ], + [ + -130.416655, + 54.630274 + ], + [ + -130.48111, + 54.364717 + ], + [ + -129.470001, + 54.237215 + ], + [ + -130.046661, + 54.153322 + ], + [ + -130.050293, + 53.886942 + ], + [ + -129.272797, + 53.37916 + ], + [ + -129.232483, + 53.625826 + ], + [ + -128.600555, + 54.031664 + ], + [ + -128.471375, + 53.832499 + ], + [ + -128.813049, + 53.619158 + ], + [ + -127.867767, + 53.239717 + ], + [ + -128.972778, + 53.553049 + ], + [ + -128.887985, + 53.424967 + ], + [ + -128.858887, + 53.283609 + ], + [ + -128.539734, + 53.131937 + ], + [ + -128.441101, + 52.822771 + ], + [ + -128.131653, + 52.876383 + ], + [ + -128.221924, + 52.465273 + ], + [ + -128.39389, + 52.291384 + ], + [ + -127.879707, + 52.579721 + ], + [ + -128.012512, + 52.341105 + ], + [ + -127.618332, + 52.291941 + ], + [ + -127.017775, + 52.845545 + ], + [ + -127.186394, + 52.380823 + ], + [ + -126.732498, + 52.37388 + ], + [ + -126.940826, + 52.303881 + ], + [ + -126.669449, + 51.983606 + ], + [ + -127.171661, + 52.312494 + ], + [ + -127.878052, + 51.673883 + ], + [ + -127.70639, + 51.456385 + ], + [ + -127.351097, + 51.863611 + ], + [ + -127.43222, + 51.668329 + ], + [ + -126.620003, + 51.679995 + ], + [ + -127.488052, + 51.61944 + ], + [ + -127.778877, + 51.324717 + ], + [ + -127.133057, + 51.325556 + ], + [ + -127.789993, + 51.165545 + ], + [ + -126.662514, + 51.194994 + ], + [ + -127.53833, + 51.005556 + ], + [ + -126.17778, + 50.951387 + ], + [ + -126.559723, + 50.843882 + ], + [ + -126.198883, + 50.855829 + ], + [ + -126.131004, + 50.678659 + ], + [ + -125.73111, + 50.735552 + ], + [ + -125.633904, + 51.096941 + ], + [ + -125.622498, + 50.750002 + ], + [ + -126.274719, + 50.631662 + ], + [ + -125.705841, + 50.427774 + ], + [ + -125.443604, + 50.714159 + ], + [ + -125.548111, + 50.492052 + ], + [ + -125.119453, + 50.432772 + ], + [ + -124.805832, + 50.920832 + ], + [ + -125.078339, + 50.322496 + ], + [ + -124.347778, + 50.502497 + ], + [ + -124.715012, + 50.327494 + ], + [ + -124.601387, + 50.238886 + ], + [ + -124.703339, + 49.995546 + ], + [ + -124.829727, + 50.061937 + ], + [ + -124.41362, + 49.763613 + ], + [ + -123.926392, + 49.82583 + ], + [ + -123.821404, + 50.152216 + ], + [ + -123.934998, + 49.768328 + ], + [ + -123.533623, + 49.689714 + ], + [ + -124.068069, + 49.633883 + ], + [ + -123.535553, + 49.38138 + ], + [ + -123.492493, + 49.509722 + ], + [ + -123.159729, + 49.69916 + ], + [ + -123.236389, + 49.338884 + ], + [ + -122.852783, + 49.436106 + ], + [ + -123.248894, + 49.273607 + ], + [ + -123.09375, + 48.999437 + ], + [ + -123.034317, + 48.999437 + ], + [ + -122.7603, + 48.999437 + ], + [ + -95.154175, + 48.999437 + ], + [ + -95.078064, + 49.359163 + ], + [ + -94.605835, + 48.724436 + ], + [ + -92.953064, + 48.623323 + ], + [ + -91.418335, + 48.041109 + ], + [ + -90.868607, + 48.237497 + ], + [ + -89.356659, + 47.979715 + ], + [ + -88.368057, + 48.312212 + ], + [ + -84.856949, + 46.902216 + ], + [ + -84.565002, + 46.466387 + ], + [ + -84.126389, + 46.531939 + ], + [ + -83.958893, + 46.071665 + ], + [ + -83.577499, + 46.105272 + ], + [ + -83.597778, + 45.827219 + ], + [ + -82.54306, + 45.355829 + ], + [ + -82.13028, + 43.585268 + ], + [ + -82.521393, + 42.618883 + ], + [ + -83.16861, + 42.046106 + ], + [ + -82.696655, + 41.683878 + ], + [ + -78.986938, + 42.819994 + ], + [ + -79.184723, + 43.465548 + ], + [ + -78.724716, + 43.629435 + ], + [ + -76.801941, + 43.633608 + ], + [ + -74.990829, + 44.986658 + ], + [ + -70.878601, + 45.238604 + ], + [ + -69.232498, + 47.471376 + ], + [ + -67.794998, + 47.069994 + ], + [ + -67.799164, + 45.701105 + ], + [ + -67.206543, + 45.183039 + ], + [ + -66.42778, + 45.084993 + ], + [ + -66.002502, + 45.461664 + ], + [ + -65.90361, + 45.205553 + ], + [ + -64.778336, + 45.607218 + ], + [ + -64.747498, + 46.090548 + ], + [ + -64.275558, + 45.799997 + ], + [ + -64.93721, + 45.326944 + ], + [ + -63.360832, + 45.360826 + ], + [ + -64.156387, + 44.978327 + ], + [ + -64.489166, + 45.335268 + ], + [ + -66.191101, + 44.423326 + ], + [ + -65.844452, + 44.578333 + ], + [ + -66.166946, + 43.858606 + ], + [ + -65.481384, + 43.464441 + ], + [ + -64.200836, + 44.576387 + ], + [ + -63.631111, + 44.435823 + ], + [ + -63.658333, + 44.714998 + ], + [ + -60.964722, + 45.313051 + ], + [ + -61.46389, + 45.346941 + ], + [ + -61.260002, + 45.510279 + ], + [ + -61.917503, + 45.885553 + ], + [ + -62.461945, + 45.612497 + ], + [ + -64.504181, + 46.240274 + ], + [ + -64.798615, + 47.079996 + ], + [ + -65.369995, + 47.086657 + ], + [ + -64.797226, + 47.806383 + ], + [ + -65.634735, + 47.620829 + ], + [ + -66.356659, + 48.073328 + ], + [ + -66.842499, + 47.99222 + ], + [ + -65.904175, + 48.205828 + ], + [ + -65.305832, + 48.005556 + ], + [ + -64.246384, + 48.488047 + ], + [ + -64.548889, + 48.878328 + ], + [ + -64.221664, + 48.898333 + ], + [ + -64.996948, + 49.22027 + ], + [ + -66.306107, + 49.186937 + ], + [ + -68.211121, + 48.63666 + ], + [ + -71.299164, + 46.74222 + ], + [ + -69.060822, + 48.767496 + ], + [ + -67.375, + 49.327219 + ], + [ + -66.469727, + 50.261942 + ], + [ + -60.005005, + 50.24888 + ], + [ + -58.628052, + 51.275553 + ], + [ + -56.949722, + 51.424715 + ], + [ + -55.701668, + 52.082216 + ], + [ + -56.196945, + 52.439989 + ], + [ + -55.648613, + 52.439714 + ], + [ + -56.496872, + 52.594149 + ], + [ + -55.757507, + 52.614443 + ], + [ + -56.166946, + 53.029436 + ], + [ + -55.808052, + 53.340548 + ], + [ + -56.680283, + 53.67277 + ], + [ + -56.464691, + 53.782274 + ], + [ + -57.336945, + 53.440271 + ], + [ + -57.549995, + 53.591936 + ], + [ + -57.076393, + 53.823053 + ], + [ + -57.384171, + 54.150545 + ], + [ + -58.17778, + 54.23694 + ], + [ + -58.418335, + 54.139719 + ], + [ + -57.786392, + 54.071665 + ], + [ + -60.418335, + 53.269442 + ], + [ + -60.103615, + 53.500551 + ], + [ + -60.856949, + 53.792772 + ], + [ + -60.133888, + 53.52833 + ], + [ + -58.371941, + 54.228045 + ], + [ + -59.575562, + 54.04944 + ], + [ + -57.347496, + 54.579439 + ], + [ + -58.904167, + 54.844713 + ], + [ + -59.023613, + 55.156656 + ], + [ + -59.388611, + 54.976656 + ], + [ + -59.161385, + 55.23694 + ], + [ + -59.938606, + 54.746386 + ], + [ + -59.42778, + 55.135828 + ], + [ + -59.963615, + 55.110277 + ], + [ + -59.779167, + 55.329721 + ], + [ + -60.683327, + 54.994997 + ], + [ + -60.195549, + 55.431383 + ], + [ + -60.478333, + 55.34749 + ], + [ + -60.328888, + 55.781664 + ], + [ + -60.66806, + 55.589434 + ], + [ + -60.601944, + 55.814714 + ], + [ + -60.87944, + 55.732767 + ], + [ + -60.729721, + 55.829439 + ], + [ + -61.104446, + 55.845545 + ], + [ + -61.201668, + 55.884165 + ], + [ + -61.076668, + 55.906939 + ], + [ + -61.117775, + 55.966105 + ], + [ + -61.503616, + 56.006945 + ], + [ + -61.237503, + 56.042772 + ], + [ + -61.452225, + 56.05694 + ], + [ + -61.350838, + 56.222216 + ], + [ + -62.011673, + 56.235826 + ], + [ + -61.661385, + 56.270273 + ], + [ + -62.143059, + 56.44916 + ], + [ + -61.658333, + 56.5375 + ], + [ + -62.573891, + 56.792772 + ], + [ + -61.672501, + 56.619989 + ], + [ + -61.906387, + 56.795275 + ], + [ + -61.358337, + 57.087496 + ], + [ + -62.54528, + 57.501108 + ], + [ + -61.884445, + 57.62694 + ], + [ + -62.125275, + 57.80694 + ], + [ + -62.138054, + 57.835825 + ], + [ + -62.059723, + 57.897776 + ], + [ + -62.127495, + 57.96805 + ], + [ + -62.672775, + 57.929995 + ], + [ + -62.306946, + 58.031107 + ], + [ + -62.452782, + 58.175272 + ], + [ + -63.340836, + 57.97999 + ], + [ + -62.584442, + 58.214441 + ], + [ + -62.828056, + 58.252222 + ], + [ + -62.557503, + 58.482492 + ], + [ + -63.589439, + 58.300829 + ], + [ + -62.847496, + 58.690546 + ], + [ + -63.325005, + 58.855829 + ], + [ + -63.134171, + 59.058329 + ], + [ + -64.043884, + 59.015276 + ], + [ + -63.356392, + 59.204996 + ], + [ + -64.06221, + 59.382494 + ], + [ + -63.722496, + 59.513887 + ], + [ + -64.116943, + 59.517496 + ], + [ + -64.05777, + 59.625269 + ], + [ + -64.266663, + 59.779161 + ], + [ + -64.166946, + 60.024996 + ], + [ + -64.827499, + 59.986383 + ], + [ + -64.466919, + 60.278605 + ], + [ + -64.854446, + 60.361109 + ], + [ + -65.231949, + 59.885828 + ], + [ + -64.983887, + 59.762774 + ], + [ + -65.527786, + 59.716936 + ], + [ + -64.983322, + 59.376383 + ], + [ + -65.561386, + 59.486109 + ], + [ + -65.357224, + 59.277216 + ], + [ + -65.718063, + 59.153048 + ], + [ + -65.317505, + 59.041384 + ], + [ + -65.988602, + 58.903605 + ], + [ + -65.789444, + 58.86194 + ], + [ + -66.103882, + 58.773607 + ], + [ + -65.87999, + 58.627214 + ], + [ + -66.058884, + 58.320276 + ], + [ + -65.935822, + 58.60972 + ], + [ + -66.388611, + 58.85055 + ], + [ + -67.713898, + 57.923052 + ], + [ + -67.723892, + 58.458887 + ], + [ + -67.813324, + 58.416101 + ], + [ + -67.801392, + 58.296663 + ], + [ + -68.128326, + 58.07361 + ], + [ + -67.857498, + 58.320276 + ], + [ + -67.89389, + 58.49666 + ], + [ + -68.003342, + 58.576387 + ], + [ + -68.404175, + 58.039721 + ], + [ + -69.369049, + 57.765253 + ], + [ + -68.344162, + 58.127489 + ], + [ + -68.36055, + 58.781939 + ], + [ + -69.279175, + 58.888048 + ], + [ + -69.818893, + 58.588602 + ], + [ + -70.15361, + 58.777491 + ], + [ + -69.815826, + 58.823885 + ], + [ + -69.869156, + 59.053049 + ], + [ + -69.547501, + 58.808046 + ], + [ + -69.530563, + 59.182215 + ], + [ + -69.234726, + 59.233881 + ], + [ + -69.758347, + 59.320276 + ], + [ + -69.600555, + 59.833055 + ], + [ + -70.945831, + 60.063051 + ], + [ + -69.62471, + 60.067499 + ], + [ + -69.826111, + 60.525553 + ], + [ + -69.371933, + 60.804438 + ], + [ + -69.51973, + 61.073328 + ], + [ + -69.92749, + 60.807772 + ], + [ + -70.146118, + 61.084719 + ], + [ + -71.389999, + 61.137774 + ], + [ + -71.887512, + 61.428049 + ], + [ + -71.575012, + 61.608606 + ], + [ + -72.303329, + 61.567217 + ], + [ + -72.010056, + 61.675272 + ], + [ + -73.678879, + 62.47999 + ], + [ + -74.759735, + 62.206385 + ], + [ + -74.571671, + 62.103052 + ], + [ + -77.508347, + 62.561663 + ], + [ + -78.155838, + 62.27833 + ], + [ + -77.992493, + 61.714716 + ], + [ + -77.474716, + 61.541666 + ], + [ + -78.192764, + 60.790834 + ], + [ + -77.511673, + 60.836382 + ], + [ + -77.833893, + 60.639437 + ], + [ + -77.41333, + 60.544161 + ], + [ + -77.747757, + 60.408136 + ], + [ + -77.592224, + 60.064157 + ], + [ + -76.758896, + 60.159159 + ], + [ + -77.42749, + 59.914713 + ], + [ + -77.313889, + 59.564997 + ], + [ + -77.773895, + 59.709719 + ], + [ + -77.910278, + 59.40555 + ], + [ + -77.677216, + 59.399996 + ], + [ + -78.570557, + 58.961382 + ], + [ + -78.574722, + 58.635271 + ], + [ + -76.861938, + 57.719156 + ], + [ + -76.529724, + 57.105829 + ], + [ + -76.53833, + 56.297777 + ], + [ + -77.137222, + 55.654161 + ], + [ + -77.748611, + 55.300829 + ], + [ + -79.76445, + 54.652216 + ], + [ + -79.048889, + 54.183329 + ], + [ + -79.110275, + 53.502497 + ], + [ + -78.506958, + 52.46055 + ], + [ + -79.035553, + 51.770273 + ], + [ + -78.853333, + 51.165545 + ], + [ + -79.322235, + 51.662767 + ], + [ + -79.752228, + 51.184435 + ], + [ + -79.33223, + 50.723879 + ], + [ + -80.12027, + 51.296389 + ], + [ + -81.015015, + 51.02833 + ], + [ + -80.436386, + 51.464159 + ], + [ + -80.994446, + 52.011385 + ], + [ + -81.883621, + 52.187494 + ], + [ + -81.549988, + 52.441103 + ], + [ + -82.296661, + 53.018602 + ], + [ + -82.30777, + 55.148882 + ], + [ + -85.001953, + 55.296663 + ], + [ + -85.423889, + 54.990549 + ], + [ + -85.121933, + 55.33777 + ], + [ + -85.714447, + 55.631662 + ], + [ + -90.815277, + 57.255831 + ], + [ + -92.876099, + 56.907495 + ], + [ + -92.418884, + 57.337496 + ], + [ + -93.152222, + 58.737772 + ], + [ + -94.14389, + 58.763613 + ], + [ + -94.363327, + 58.218882 + ], + [ + -94.228882, + 58.784998 + ], + [ + -94.789719, + 59.092218 + ], + [ + -94.819168, + 59.636385 + ], + [ + -94.673325, + 60.522493 + ], + [ + -93.984726, + 61.456102 + ], + [ + -93.237778, + 61.777216 + ], + [ + -93.616104, + 61.939989 + ], + [ + -92.764725, + 62.219439 + ], + [ + -93.122223, + 62.334993 + ], + [ + -92.470015, + 62.146616 + ], + [ + -92.710007, + 62.46583 + ], + [ + -91.88501, + 62.599161 + ], + [ + -92.420837, + 62.831385 + ], + [ + -90.627487, + 63.059435 + ], + [ + -90.741943, + 63.360826 + ], + [ + -91.763336, + 63.713327 + ], + [ + -92.480835, + 63.527216 + ], + [ + -92.101669, + 63.696939 + ], + [ + -92.482773, + 63.811937 + ], + [ + -90.205275, + 63.612215 + ], + [ + -89.964172, + 63.811937 + ], + [ + -90.279175, + 64.003603 + ], + [ + -89.813614, + 63.937212 + ], + [ + -90.124161, + 64.128588 + ], + [ + -88.113327, + 64.13611 + ], + [ + -86.933319, + 65.138048 + ], + [ + -91.429169, + 65.951097 + ], + [ + -89.671661, + 65.939425 + ], + [ + -87.395844, + 65.321383 + ], + [ + -85.897232, + 66.168322 + ], + [ + -86.775284, + 66.526094 + ], + [ + -83.693054, + 66.190813 + ], + [ + -84.144455, + 66.681368 + ], + [ + -84.44249, + 66.710817 + ], + [ + -84.466949, + 66.787767 + ], + [ + -84.690552, + 66.839983 + ], + [ + -84.505844, + 66.827776 + ], + [ + -84.746384, + 66.897493 + ], + [ + -84.602219, + 66.935808 + ], + [ + -85.228333, + 66.878313 + ], + [ + -84.639725, + 66.978045 + ], + [ + -84.915009, + 67.060808 + ], + [ + -84.370834, + 66.971376 + ], + [ + -84.436386, + 66.818331 + ], + [ + -84.140289, + 66.701937 + ], + [ + -83.916397, + 66.88109 + ], + [ + -83.977493, + 66.582216 + ], + [ + -83.402222, + 66.34749 + ], + [ + -81.503067, + 66.999712 + ], + [ + -81.243057, + 67.474993 + ], + [ + -82.638901, + 68.49721 + ], + [ + -81.267502, + 68.633043 + ], + [ + -82.05722, + 68.873873 + ], + [ + -81.332504, + 69.182482 + ], + [ + -83.228058, + 69.538591 + ], + [ + -82.263336, + 69.638048 + ], + [ + -83.705002, + 69.7036 + ], + [ + -84.375824, + 69.857485 + ], + [ + -85.064438, + 69.769991 + ], + [ + -85.571945, + 69.856096 + ], + [ + -85.331955, + 69.779161 + ], + [ + -85.473328, + 69.271929 + ], + [ + -84.528336, + 69.017488 + ], + [ + -85.194443, + 68.867205 + ], + [ + -84.787216, + 68.733599 + ], + [ + -85.66362, + 68.726931 + ], + [ + -86.523621, + 67.352205 + ], + [ + -87.510284, + 67.1122 + ], + [ + -87.357773, + 67.262209 + ], + [ + -88.370834, + 67.959154 + ], + [ + -88.392227, + 68.287493 + ], + [ + -87.792221, + 68.334429 + ], + [ + -88.052216, + 68.823046 + ], + [ + -89.306656, + 69.25139 + ], + [ + -90.271393, + 68.238878 + ], + [ + -90.606659, + 68.446093 + ], + [ + -90.436386, + 68.874422 + ], + [ + -91.44722, + 69.35277 + ], + [ + -90.30777, + 69.450274 + ], + [ + -92.920273, + 69.66971 + ], + [ + -91.939713, + 70.020266 + ], + [ + -92.450287, + 70.071108 + ], + [ + -92.268341, + 70.208879 + ], + [ + -91.513626, + 70.167208 + ], + [ + -93.027496, + 70.85277 + ], + [ + -92.973892, + 71.340822 + ], + [ + -93.71167, + 71.761385 + ], + [ + -95.217499, + 71.944979 + ], + [ + -94.606659, + 71.863314 + ], + [ + -95.943054, + 71.553591 + ], + [ + -95.535278, + 71.290819 + ], + [ + -96.503891, + 71.277208 + ], + [ + -96.462204, + 71.255503 + ], + [ + -96.467224, + 71.16527 + ], + [ + -96.560547, + 71.126375 + ], + [ + -96.369995, + 71.089983 + ], + [ + -96.611938, + 70.794436 + ], + [ + -95.789444, + 70.536654 + ], + [ + -96.232773, + 70.562197 + ], + [ + -96.531677, + 70.13109 + ], + [ + -95.960831, + 69.778048 + ], + [ + -93.362778, + 69.371645 + ], + [ + -94.303329, + 69.304979 + ], + [ + -94.072784, + 69.12665 + ], + [ + -94.625, + 68.761385 + ], + [ + -93.666946, + 68.972216 + ], + [ + -93.553329, + 68.586382 + ], + [ + -94.722229, + 68.054979 + ], + [ + -95.472778, + 68.060534 + ], + [ + -95.709166, + 67.72777 + ], + [ + -95.16333, + 67.287203 + ], + [ + -95.22084, + 66.968325 + ], + [ + -95.902496, + 66.946642 + ], + [ + -95.326111, + 67.027208 + ], + [ + -95.833328, + 67.162767 + ], + [ + -95.565826, + 67.37665 + ], + [ + -96.114441, + 67.21332 + ], + [ + -96.097229, + 67.464708 + ], + [ + -96.464722, + 67.478045 + ], + [ + -95.980286, + 68.254717 + ], + [ + -96.708344, + 68.008608 + ], + [ + -96.404175, + 68.311373 + ], + [ + -98.714447, + 68.37221 + ], + [ + -98.326111, + 68.171373 + ], + [ + -98.587509, + 68.149431 + ], + [ + -98.078613, + 67.830278 + ], + [ + -98.029999, + 67.941927 + ], + [ + -97.68306, + 68.018602 + ], + [ + -97.119156, + 67.792482 + ], + [ + -97.509735, + 67.599154 + ], + [ + -98.094452, + 67.7661 + ], + [ + -98.615555, + 68.074709 + ], + [ + -98.354446, + 67.796099 + ], + [ + -102.251106, + 67.725267 + ], + [ + -103.421661, + 68.166658 + ], + [ + -104.5, + 68.031939 + ], + [ + -104.670273, + 68.138597 + ], + [ + -104.609734, + 68.241365 + ], + [ + -105.541107, + 68.412767 + ], + [ + -105.380829, + 68.48665 + ], + [ + -105.486938, + 68.729433 + ], + [ + -106.229172, + 68.940813 + ], + [ + -108.314163, + 68.611376 + ], + [ + -108.819168, + 68.266665 + ], + [ + -107.603058, + 68.16527 + ], + [ + -107.885277, + 68.268877 + ], + [ + -106.80278, + 68.414431 + ], + [ + -106.543327, + 68.291368 + ], + [ + -106.543877, + 68.511934 + ], + [ + -105.644997, + 68.633883 + ], + [ + -105.739723, + 68.41527 + ], + [ + -106.465012, + 68.335817 + ], + [ + -106.431953, + 68.153048 + ], + [ + -107.890556, + 68.081667 + ], + [ + -107.651108, + 67.940538 + ], + [ + -108.006958, + 67.707491 + ], + [ + -107.083618, + 66.820543 + ], + [ + -107.746658, + 66.922762 + ], + [ + -107.248047, + 66.349993 + ], + [ + -108.622772, + 67.149996 + ], + [ + -107.880547, + 67.048326 + ], + [ + -108.015289, + 67.293047 + ], + [ + -108.366943, + 67.444979 + ], + [ + -108.484161, + 67.349428 + ], + [ + -108.655273, + 67.628313 + ], + [ + -108.825012, + 67.349428 + ], + [ + -109.065826, + 67.714159 + ], + [ + -110.083893, + 68.006945 + ], + [ + -111.005835, + 67.765001 + ], + [ + -112.395844, + 67.679155 + ], + [ + -115.103607, + 67.796648 + ], + [ + -115.542503, + 67.921648 + ], + [ + -114.023331, + 68.241365 + ], + [ + -114.070557, + 68.47748 + ], + [ + -115.593063, + 68.971651 + ], + [ + -117.153877, + 68.885546 + ], + [ + -121.683884, + 69.793596 + ], + [ + -122.959166, + 69.833605 + ], + [ + -123.46611, + 69.383883 + ], + [ + -124.446663, + 69.367205 + ], + [ + -124.040833, + 69.701387 + ], + [ + -124.500557, + 69.725817 + ], + [ + -124.436111, + 70.151094 + ], + [ + -125.197487, + 70.004503 + ], + [ + -124.795273, + 70.008883 + ], + [ + -125.276398, + 69.808245 + ], + [ + -124.821953, + 69.714998 + ], + [ + -125.365547, + 69.690264 + ], + [ + -125.118057, + 69.485796 + ], + [ + -125.622498, + 69.418596 + ], + [ + -125.089447, + 69.449709 + ], + [ + -125.426392, + 69.312181 + ], + [ + -127.996658, + 70.590548 + ], + [ + -128.196655, + 70.391939 + ], + [ + -127.515007, + 70.221651 + ], + [ + -128.925018, + 69.680819 + ], + [ + -129.169464, + 69.824709 + ], + [ + -128.900848, + 69.971926 + ], + [ + -130.366089, + 69.686373 + ], + [ + -130.937225, + 69.134432 + ], + [ + -130.952789, + 69.543322 + ], + [ + -131.108887, + 69.321657 + ], + [ + -131.027802, + 69.463884 + ], + [ + -131.083069, + 69.600542 + ], + [ + -131.196106, + 69.589983 + ], + [ + -131.06395, + 69.512392 + ], + [ + -131.135834, + 69.359987 + ], + [ + -131.110535, + 69.485331 + ], + [ + -131.25386, + 69.571848 + ], + [ + -131.166504, + 69.404932 + ], + [ + -131.324707, + 69.319994 + ], + [ + -131.652222, + 69.471926 + ], + [ + -132.869446, + 69.062761 + ], + [ + -132.470276, + 68.806932 + ], + [ + -133.490814, + 68.821657 + ], + [ + -131.997223, + 69.531374 + ], + [ + -131.05307, + 69.637209 + ], + [ + -130.928619, + 69.563311 + ], + [ + -129.403351, + 70.117754 + ], + [ + -130.54306, + 70.168322 + ], + [ + -134.562225, + 69.082766 + ], + [ + -134.26059, + 68.733538 + ], + [ + -134.226929, + 68.694139 + ], + [ + -134.339996, + 68.678865 + ], + [ + -134.495544, + 68.752214 + ] + ], + [ + [ + -95.902496, + 66.946642 + ], + [ + -95.629715, + 66.675539 + ], + [ + -96.460556, + 67.062197 + ], + [ + -95.902496, + 66.946642 + ] + ], + [ + [ + -70.783066, + 48.380548 + ], + [ + -71.048615, + 48.445269 + ], + [ + -69.828339, + 48.166384 + ], + [ + -70.783066, + 48.380548 + ] + ], + [ + [ + -71.111115, + 46.85055 + ], + [ + -70.809158, + 47.015276 + ], + [ + -70.904175, + 46.913607 + ], + [ + -71.111115, + 46.85055 + ] + ], + [ + [ + -77.678329, + 58.235552 + ], + [ + -77.950836, + 58.324167 + ], + [ + -77.807495, + 58.305269 + ], + [ + -77.678329, + 58.235552 + ] + ], + [ + [ + -84.808044, + 68.763887 + ], + [ + -84.939163, + 68.793596 + ], + [ + -84.855835, + 68.810808 + ], + [ + -84.808044, + 68.763887 + ] + ], + [ + [ + -89.005569, + 65.385546 + ], + [ + -89.099991, + 65.405825 + ], + [ + -89.031952, + 65.407213 + ], + [ + -89.005569, + 65.385546 + ] + ], + [ + [ + -91.329178, + 63.559717 + ], + [ + -91.436386, + 63.551935 + ], + [ + -91.540558, + 63.606661 + ], + [ + -91.329178, + 63.559717 + ] + ], + [ + [ + -93.51973, + 63.839434 + ], + [ + -93.779724, + 64.189699 + ], + [ + -92.507507, + 63.816385 + ], + [ + -93.51973, + 63.839434 + ] + ] + ], + [ + [ + [ + -134.495544, + 68.752214 + ], + [ + -134.26059, + 68.733538 + ], + [ + -134.673615, + 69.017763 + ], + [ + -133.778351, + 69.576387 + ], + [ + -134.113312, + 69.538881 + ], + [ + -134.491089, + 69.722216 + ], + [ + -134.438324, + 69.454714 + ], + [ + -135.150848, + 69.476931 + ], + [ + -135.287231, + 69.419146 + ], + [ + -135.170563, + 69.257769 + ], + [ + -135.854155, + 69.290819 + ], + [ + -135.486938, + 69.113314 + ], + [ + -135.967224, + 69.214708 + ], + [ + -135.517792, + 69.023882 + ], + [ + -135.978333, + 69.040819 + ], + [ + -135.905853, + 68.911379 + ], + [ + -135.460815, + 68.942751 + ], + [ + -135.391968, + 68.926653 + ], + [ + -135.20166, + 68.932756 + ], + [ + -135.141968, + 68.901384 + ], + [ + -134.961121, + 68.892488 + ], + [ + -134.914734, + 68.966661 + ], + [ + -134.825836, + 68.978868 + ], + [ + -134.495544, + 68.752214 + ] + ] + ], + [ + [ + [ + -55.695549, + 49.506945 + ], + [ + -55.653053, + 49.555269 + ], + [ + -55.722771, + 49.557772 + ], + [ + -55.695549, + 49.506945 + ] + ] + ], + [ + [ + [ + -55.787506, + 53.394159 + ], + [ + -55.729164, + 53.455271 + ], + [ + -55.979164, + 53.459162 + ], + [ + -55.787506, + 53.394159 + ] + ] + ], + [ + [ + [ + -55.763062, + 53.029436 + ], + [ + -55.800552, + 53.093607 + ], + [ + -55.876389, + 53.027491 + ], + [ + -55.763062, + 53.029436 + ] + ] + ], + [ + [ + [ + -55.778053, + 53.289721 + ], + [ + -55.785004, + 53.303606 + ], + [ + -55.797226, + 53.295549 + ], + [ + -55.778053, + 53.289721 + ] + ] + ], + [ + [ + [ + -55.876106, + 47.260553 + ], + [ + -55.881111, + 47.293329 + ], + [ + -55.96833, + 47.257776 + ], + [ + -55.876106, + 47.260553 + ] + ] + ], + [ + [ + [ + -55.901939, + 47.602495 + ], + [ + -55.933884, + 47.688326 + ], + [ + -56.113617, + 47.644716 + ], + [ + -55.901939, + 47.602495 + ] + ] + ], + [ + [ + [ + -56.867218, + 53.765001 + ], + [ + -56.844444, + 53.792498 + ], + [ + -57.01445, + 53.785555 + ], + [ + -56.867218, + 53.765001 + ] + ] + ], + [ + [ + [ + -57.324722, + 54.49888 + ], + [ + -57.24028, + 54.517771 + ], + [ + -57.26722, + 54.58555 + ], + [ + -57.324722, + 54.49888 + ] + ] + ], + [ + [ + [ + -57.940834, + 54.911936 + ], + [ + -58.224716, + 54.835268 + ], + [ + -57.841667, + 54.812494 + ], + [ + -57.940834, + 54.911936 + ] + ] + ], + [ + [ + [ + -58.518333, + 54.051661 + ], + [ + -58.373886, + 54.104166 + ], + [ + -58.561386, + 54.063883 + ], + [ + -58.518333, + 54.051661 + ] + ] + ], + [ + [ + [ + -58.41333, + 51.238886 + ], + [ + -58.419449, + 51.274714 + ], + [ + -58.565002, + 51.233332 + ], + [ + -58.41333, + 51.238886 + ] + ] + ], + [ + [ + [ + -58.675278, + 54.914156 + ], + [ + -58.660278, + 55.008608 + ], + [ + -58.760559, + 54.920549 + ], + [ + -58.675278, + 54.914156 + ] + ] + ], + [ + [ + [ + -59.345833, + 50.533884 + ], + [ + -59.300278, + 50.581942 + ], + [ + -59.371941, + 50.652773 + ], + [ + -59.345833, + 50.533884 + ] + ] + ], + [ + [ + [ + -59.816948, + 43.928331 + ], + [ + -59.724716, + 43.991106 + ], + [ + -60.129997, + 43.941935 + ], + [ + -59.816948, + 43.928331 + ] + ] + ], + [ + [ + [ + -60.445274, + 46.861666 + ], + [ + -60.609169, + 47.024439 + ], + [ + -61.447777, + 46.149439 + ], + [ + -61.336945, + 45.573328 + ], + [ + -59.840553, + 45.938326 + ], + [ + -60.347778, + 46.310549 + ], + [ + -60.789726, + 45.934435 + ], + [ + -60.409164, + 45.97999 + ], + [ + -61.14917, + 45.699717 + ], + [ + -60.419998, + 46.279993 + ], + [ + -60.609169, + 46.201937 + ], + [ + -60.445274, + 46.861666 + ] + ] + ], + [ + [ + [ + -60.858612, + 55.864717 + ], + [ + -60.686386, + 55.921938 + ], + [ + -60.865004, + 55.952776 + ], + [ + -60.858612, + 55.864717 + ] + ] + ], + [ + [ + [ + -60.993889, + 45.457773 + ], + [ + -60.879997, + 45.560549 + ], + [ + -61.104446, + 45.546389 + ], + [ + -60.993889, + 45.457773 + ] + ] + ], + [ + [ + [ + -60.970833, + 55.86944 + ], + [ + -60.908333, + 55.898333 + ], + [ + -61.070557, + 55.938601 + ], + [ + -60.970833, + 55.86944 + ] + ] + ], + [ + [ + [ + -60.943329, + 56.006662 + ], + [ + -61.089165, + 56.169992 + ], + [ + -61.232773, + 56.091105 + ], + [ + -60.943329, + 56.006662 + ] + ] + ], + [ + [ + [ + -70.111938, + 83.109423 + ], + [ + -73.650558, + 82.925814 + ], + [ + -72.633896, + 82.694429 + ], + [ + -74.435822, + 83.027208 + ], + [ + -77.381378, + 82.994432 + ], + [ + -75.396118, + 82.614702 + ], + [ + -76.230835, + 82.444704 + ], + [ + -75.892227, + 82.591936 + ], + [ + -79.793335, + 82.957491 + ], + [ + -80.430283, + 82.887499 + ], + [ + -78.502792, + 82.681093 + ], + [ + -81.473053, + 82.824999 + ], + [ + -80.578064, + 82.546099 + ], + [ + -82.215286, + 82.668596 + ], + [ + -81.541672, + 82.496096 + ], + [ + -82.732224, + 82.401659 + ], + [ + -79.229172, + 81.816088 + ], + [ + -85.046951, + 82.481936 + ], + [ + -86.876099, + 82.202211 + ], + [ + -84.604996, + 81.889986 + ], + [ + -88.075562, + 82.104982 + ], + [ + -91.956665, + 81.658602 + ], + [ + -89.585007, + 81.625811 + ], + [ + -90.856659, + 81.444139 + ], + [ + -90.443054, + 81.366655 + ], + [ + -87.24472, + 81.490267 + ], + [ + -90.351944, + 81.167482 + ], + [ + -89.820847, + 81.01082 + ], + [ + -84.733887, + 81.281099 + ], + [ + -89.46611, + 80.914156 + ], + [ + -87.594727, + 80.628588 + ], + [ + -85.681671, + 81.049425 + ], + [ + -82.364441, + 81.17943 + ], + [ + -85.605835, + 80.975817 + ], + [ + -86.744995, + 80.603045 + ], + [ + -85.066956, + 80.505266 + ], + [ + -83.256958, + 80.838594 + ], + [ + -83.569458, + 80.739153 + ], + [ + -80.919449, + 80.65555 + ], + [ + -79.063614, + 81.085543 + ], + [ + -79.501678, + 81.19359 + ], + [ + -76.74527, + 81.43915 + ], + [ + -78.934998, + 80.875536 + ], + [ + -76.484726, + 80.865541 + ], + [ + -79.960556, + 80.608034 + ], + [ + -78.038055, + 80.567217 + ], + [ + -83.203888, + 80.318056 + ], + [ + -81.400284, + 79.937761 + ], + [ + -81.663055, + 79.903048 + ], + [ + -81.51973, + 79.730822 + ], + [ + -79.904724, + 79.646944 + ], + [ + -81.706665, + 79.586657 + ], + [ + -83.781952, + 80.245821 + ], + [ + -86.514725, + 80.29915 + ], + [ + -86.482773, + 80.008608 + ], + [ + -85.255005, + 79.920824 + ], + [ + -86.486389, + 79.763613 + ], + [ + -85.068893, + 79.626085 + ], + [ + -84.484726, + 79.406374 + ], + [ + -84.32695, + 79.188585 + ], + [ + -83.358612, + 79.050814 + ], + [ + -84.748047, + 79.031939 + ], + [ + -81.477219, + 79.047213 + ], + [ + -83.25473, + 78.834993 + ], + [ + -82.220551, + 78.73221 + ], + [ + -82.594452, + 78.703051 + ], + [ + -82.337784, + 78.566668 + ], + [ + -85.064163, + 78.919146 + ], + [ + -86.856949, + 78.734987 + ], + [ + -87.524719, + 78.416384 + ], + [ + -87.089447, + 78.201937 + ], + [ + -87.538605, + 78.138048 + ], + [ + -85.833069, + 78.379976 + ], + [ + -86.28833, + 78.076387 + ], + [ + -85.486115, + 78.10248 + ], + [ + -84.638611, + 78.594149 + ], + [ + -84.866943, + 78.369143 + ], + [ + -84.575562, + 78.346376 + ], + [ + -84.968613, + 78.202486 + ], + [ + -84.127777, + 78.171099 + ], + [ + -85.678879, + 77.92943 + ], + [ + -84.325012, + 77.896105 + ], + [ + -85.402496, + 77.819994 + ], + [ + -83.898346, + 77.490541 + ], + [ + -82.318619, + 78.070833 + ], + [ + -83.835556, + 77.455263 + ], + [ + -83.464722, + 77.34833 + ], + [ + -84.479446, + 77.294436 + ], + [ + -85.794449, + 77.41971 + ], + [ + -86.422226, + 77.830828 + ], + [ + -88.068069, + 77.820269 + ], + [ + -88.214722, + 77.650545 + ], + [ + -87.711945, + 77.359987 + ], + [ + -86.73999, + 77.17415 + ], + [ + -88.545837, + 77.100267 + ], + [ + -89.679443, + 76.571657 + ], + [ + -88.608046, + 76.399996 + ], + [ + -88.49472, + 76.817217 + ], + [ + -88.389999, + 76.389711 + ], + [ + -86.342224, + 76.512209 + ], + [ + -86.594162, + 76.634996 + ], + [ + -84.928329, + 76.286379 + ], + [ + -84.376099, + 76.317766 + ], + [ + -85.028336, + 76.574999 + ], + [ + -84.195541, + 76.456377 + ], + [ + -84.310822, + 76.658327 + ], + [ + -83.188324, + 76.419436 + ], + [ + -83.400833, + 76.759996 + ], + [ + -83.003616, + 76.429155 + ], + [ + -82.127213, + 76.441652 + ], + [ + -82.725006, + 76.819155 + ], + [ + -80.771666, + 76.419146 + ], + [ + -81.053329, + 76.128038 + ], + [ + -78.377487, + 76.45804 + ], + [ + -77.779449, + 76.791368 + ], + [ + -79.386948, + 76.927477 + ], + [ + -79.005005, + 77.096941 + ], + [ + -79.255005, + 77.218599 + ], + [ + -81.834166, + 77.162493 + ], + [ + -82.166107, + 77.292482 + ], + [ + -81.165833, + 77.337206 + ], + [ + -81.930283, + 77.684984 + ], + [ + -80.456116, + 77.296099 + ], + [ + -78.690552, + 77.315538 + ], + [ + -77.718613, + 77.605822 + ], + [ + -78.260834, + 77.995256 + ], + [ + -75.922775, + 77.956652 + ], + [ + -75.575562, + 78.107759 + ], + [ + -76.912216, + 78.201097 + ], + [ + -75.0625, + 78.30971 + ], + [ + -76.693604, + 78.509722 + ], + [ + -74.719727, + 78.707491 + ], + [ + -76.710556, + 79.028322 + ], + [ + -78.248047, + 78.770266 + ], + [ + -77.703339, + 79.006945 + ], + [ + -78.891388, + 79.063311 + ], + [ + -74.436661, + 79.057756 + ], + [ + -78.051392, + 79.354708 + ], + [ + -73.125824, + 79.558321 + ], + [ + -74.84639, + 79.847216 + ], + [ + -74.238892, + 79.887209 + ], + [ + -71.183884, + 79.777483 + ], + [ + -70.910278, + 79.88582 + ], + [ + -71.460556, + 79.901384 + ], + [ + -70.497498, + 80.082766 + ], + [ + -72.420837, + 80.211107 + ], + [ + -70.145554, + 80.19359 + ], + [ + -70.825287, + 80.558596 + ], + [ + -69.42749, + 80.382753 + ], + [ + -64.436386, + 81.479433 + ], + [ + -70.210007, + 81.173876 + ], + [ + -66.608612, + 81.512774 + ], + [ + -69.291382, + 81.718874 + ], + [ + -64.35527, + 81.726381 + ], + [ + -61.076393, + 82.320833 + ], + [ + -63.369995, + 82.438875 + ], + [ + -62.926109, + 82.576097 + ], + [ + -64.936935, + 82.87137 + ], + [ + -64.729721, + 82.904161 + ], + [ + -68.642502, + 82.628588 + ], + [ + -66.299438, + 82.92943 + ], + [ + -70.111938, + 83.109423 + ] + ] + ], + [ + [ + [ + -61.1875, + 56.586107 + ], + [ + -61.077782, + 56.674997 + ], + [ + -61.165833, + 56.684435 + ], + [ + -61.1875, + 56.586107 + ] + ] + ], + [ + [ + [ + -61.435829, + 56.541384 + ], + [ + -61.642227, + 56.486383 + ], + [ + -61.148888, + 56.441103 + ], + [ + -61.435829, + 56.541384 + ] + ] + ], + [ + [ + [ + -61.199997, + 45.558329 + ], + [ + -61.214165, + 45.568888 + ], + [ + -61.224167, + 45.564157 + ], + [ + -61.199997, + 45.558329 + ] + ] + ], + [ + [ + [ + -73.354675, + 68.329218 + ], + [ + -72.258347, + 67.248034 + ], + [ + -74.46611, + 66.151934 + ], + [ + -73.500565, + 65.474428 + ], + [ + -75.950287, + 65.318331 + ], + [ + -75.186935, + 65.101656 + ], + [ + -75.567505, + 64.883608 + ], + [ + -75.373047, + 64.714998 + ], + [ + -75.667496, + 64.940813 + ], + [ + -75.424438, + 65.043871 + ], + [ + -75.769165, + 65.218874 + ], + [ + -77.421661, + 65.461382 + ], + [ + -77.315826, + 65.190538 + ], + [ + -78.145279, + 64.957491 + ], + [ + -78.183319, + 64.572496 + ], + [ + -76.670546, + 64.184145 + ], + [ + -75.726944, + 64.367205 + ], + [ + -75.824173, + 64.61165 + ], + [ + -74.685822, + 64.371096 + ], + [ + -74.470001, + 64.557482 + ], + [ + -74.985275, + 64.795824 + ], + [ + -74.639999, + 64.903597 + ], + [ + -74.390289, + 64.569719 + ], + [ + -74.053879, + 64.728594 + ], + [ + -74.062775, + 64.334429 + ], + [ + -73.844727, + 64.50194 + ], + [ + -73.929443, + 64.602205 + ], + [ + -73.467224, + 64.612764 + ], + [ + -73.463333, + 64.502489 + ], + [ + -73.30278, + 64.658876 + ], + [ + -73.380554, + 64.268602 + ], + [ + -72.911667, + 64.168871 + ], + [ + -72.720001, + 63.961107 + ], + [ + -72.664719, + 64.080553 + ], + [ + -72.526398, + 63.787775 + ], + [ + -72.238892, + 63.952494 + ], + [ + -72.324173, + 63.676661 + ], + [ + -71.933884, + 63.649439 + ], + [ + -71.904449, + 63.809992 + ], + [ + -71.581116, + 63.714998 + ], + [ + -71.57695, + 63.581667 + ], + [ + -71.229721, + 63.604715 + ], + [ + -72.145554, + 63.4461 + ], + [ + -71.400558, + 63.051661 + ], + [ + -70.90889, + 63.170832 + ], + [ + -71.156662, + 62.989161 + ], + [ + -66.066101, + 61.868601 + ], + [ + -65.946655, + 61.899164 + ], + [ + -66.132492, + 62.089434 + ], + [ + -65.993057, + 62.244158 + ], + [ + -66.470001, + 62.332216 + ], + [ + -66.351669, + 62.444994 + ], + [ + -67.398056, + 62.967211 + ], + [ + -67.672775, + 62.923326 + ], + [ + -67.553055, + 63.048609 + ], + [ + -67.76973, + 62.95833 + ], + [ + -67.599991, + 63.084436 + ], + [ + -68.146118, + 63.15027 + ], + [ + -68.996948, + 63.753611 + ], + [ + -68.54277, + 63.732492 + ], + [ + -67.685272, + 63.368883 + ], + [ + -67.914719, + 63.759439 + ], + [ + -66.546661, + 62.991381 + ], + [ + -66.642775, + 63.372492 + ], + [ + -66.444443, + 63.020548 + ], + [ + -65.838333, + 63.033335 + ], + [ + -65.1875, + 62.562212 + ], + [ + -64.948883, + 62.648607 + ], + [ + -65.25473, + 62.98527 + ], + [ + -64.627213, + 62.904161 + ], + [ + -65.303879, + 63.80694 + ], + [ + -64.531113, + 63.24972 + ], + [ + -64.522507, + 63.67277 + ], + [ + -64.987503, + 63.823053 + ], + [ + -64.661118, + 64.028597 + ], + [ + -65.214172, + 64.025545 + ], + [ + -65.049438, + 64.072222 + ], + [ + -65.65834, + 64.302767 + ], + [ + -65.071671, + 64.440813 + ], + [ + -65.721664, + 64.494143 + ], + [ + -65.717773, + 64.840273 + ], + [ + -66.212219, + 64.685534 + ], + [ + -66.68866, + 65.038774 + ], + [ + -66.698044, + 64.761934 + ], + [ + -66.726105, + 65.180269 + ], + [ + -67.096115, + 65.056093 + ], + [ + -66.928879, + 65.229708 + ], + [ + -67.416107, + 65.339159 + ], + [ + -67.058334, + 65.426653 + ], + [ + -67.458893, + 65.498034 + ], + [ + -67.280563, + 65.642488 + ], + [ + -68.025833, + 65.481096 + ], + [ + -67.821121, + 65.768053 + ], + [ + -68.333618, + 65.931932 + ], + [ + -68.304443, + 66.028048 + ], + [ + -68.123886, + 65.963045 + ], + [ + -68.053604, + 65.991091 + ], + [ + -68.047226, + 66.064989 + ], + [ + -68.157501, + 66.117479 + ], + [ + -68.246948, + 66.112764 + ], + [ + -68.237778, + 66.069994 + ], + [ + -68.414719, + 66.159426 + ], + [ + -68.851395, + 66.189974 + ], + [ + -68.24472, + 66.182756 + ], + [ + -68.025833, + 66.065813 + ], + [ + -68.030563, + 65.998034 + ], + [ + -67.938599, + 65.908037 + ], + [ + -67.824173, + 65.880816 + ], + [ + -67.194443, + 65.909716 + ], + [ + -67.992767, + 66.506945 + ], + [ + -67.282227, + 66.27527 + ], + [ + -67.148621, + 66.443865 + ], + [ + -67.742767, + 66.568331 + ], + [ + -67.048889, + 66.644716 + ], + [ + -66.073624, + 66.120531 + ], + [ + -65.473618, + 66.38582 + ], + [ + -65.916107, + 65.951097 + ], + [ + -64.356384, + 66.349718 + ], + [ + -65.505569, + 65.743319 + ], + [ + -64.794998, + 65.728045 + ], + [ + -65.338608, + 65.575548 + ], + [ + -64.710007, + 65.652208 + ], + [ + -65.149994, + 65.434145 + ], + [ + -64.418335, + 65.482759 + ], + [ + -64.912216, + 65.338045 + ], + [ + -64.555557, + 65.092211 + ], + [ + -64.237213, + 65.429979 + ], + [ + -64.380829, + 65.181093 + ], + [ + -63.546951, + 64.887209 + ], + [ + -63.335556, + 65.300539 + ], + [ + -63.655556, + 65.470827 + ], + [ + -63.32, + 65.593325 + ], + [ + -63.72361, + 65.680269 + ], + [ + -62.317223, + 65.808031 + ], + [ + -62.970551, + 66.148043 + ], + [ + -61.954445, + 66.019152 + ], + [ + -62.895004, + 66.329714 + ], + [ + -61.877495, + 66.283327 + ], + [ + -61.462502, + 66.369143 + ], + [ + -62.123886, + 66.626375 + ], + [ + -61.262505, + 66.629427 + ], + [ + -62.101395, + 67.054705 + ], + [ + -62.899727, + 66.63666 + ], + [ + -62.846947, + 66.961931 + ], + [ + -63.771385, + 66.811098 + ], + [ + -63.240837, + 66.961657 + ], + [ + -63.110283, + 67.329988 + ], + [ + -63.772499, + 66.958879 + ], + [ + -63.450554, + 67.22249 + ], + [ + -64.69194, + 67.000551 + ], + [ + -63.962776, + 67.272493 + ], + [ + -64.797501, + 67.356646 + ], + [ + -63.904167, + 67.305819 + ], + [ + -64.440552, + 67.474993 + ], + [ + -64.038605, + 67.528597 + ], + [ + -64.506958, + 67.807207 + ], + [ + -65.204178, + 67.648333 + ], + [ + -64.723618, + 67.990541 + ], + [ + -65.423615, + 67.898043 + ], + [ + -65.34639, + 67.593325 + ], + [ + -65.615829, + 67.786104 + ], + [ + -65.443604, + 67.992205 + ], + [ + -65.80777, + 67.971102 + ], + [ + -66.008621, + 67.625536 + ], + [ + -65.911942, + 68.158876 + ], + [ + -66.356659, + 67.821383 + ], + [ + -66.732224, + 67.867205 + ], + [ + -66.184158, + 68.018877 + ], + [ + -66.541946, + 68.148333 + ], + [ + -66.69722, + 67.98749 + ], + [ + -66.694443, + 68.143053 + ], + [ + -66.946655, + 68.013613 + ], + [ + -66.765839, + 68.238588 + ], + [ + -67.011398, + 68.294985 + ], + [ + -67.598343, + 68.162767 + ], + [ + -67.011673, + 68.316088 + ], + [ + -67.232498, + 68.357485 + ], + [ + -67.878326, + 68.265276 + ], + [ + -66.706955, + 68.444704 + ], + [ + -67.612503, + 68.379427 + ], + [ + -69.398056, + 68.8622 + ], + [ + -67.771393, + 68.781374 + ], + [ + -68.556107, + 68.964159 + ], + [ + -67.705841, + 69.01639 + ], + [ + -68.178329, + 69.146654 + ], + [ + -69.025833, + 68.968599 + ], + [ + -68.502502, + 69.198595 + ], + [ + -68.967773, + 69.221102 + ], + [ + -68.077499, + 69.217485 + ], + [ + -69.257782, + 69.270266 + ], + [ + -69.015015, + 69.354982 + ], + [ + -66.758621, + 69.128038 + ], + [ + -66.795546, + 69.341097 + ], + [ + -70.030838, + 69.536104 + ], + [ + -68.329453, + 69.627764 + ], + [ + -67.996109, + 69.774431 + ], + [ + -67.127777, + 69.726931 + ], + [ + -67.794724, + 70.258883 + ], + [ + -69.990555, + 69.614992 + ], + [ + -68.642502, + 70.149431 + ], + [ + -70.468613, + 69.84276 + ], + [ + -68.313889, + 70.563036 + ], + [ + -69.451401, + 70.791933 + ], + [ + -70.496109, + 70.479433 + ], + [ + -69.904724, + 70.881365 + ], + [ + -70.997223, + 70.625811 + ], + [ + -71.535828, + 70.019716 + ], + [ + -71.162506, + 70.52527 + ], + [ + -71.803055, + 70.428316 + ], + [ + -70.746948, + 70.745531 + ], + [ + -70.601669, + 71.053865 + ], + [ + -72.569458, + 70.609987 + ], + [ + -72.16362, + 70.836382 + ], + [ + -72.65361, + 70.827776 + ], + [ + -71.11972, + 71.264162 + ], + [ + -72.538055, + 71.660814 + ], + [ + -73.377487, + 70.980547 + ], + [ + -73.049438, + 71.268328 + ], + [ + -73.898346, + 71.057482 + ], + [ + -73.38028, + 71.385271 + ], + [ + -73.621933, + 71.58333 + ], + [ + -74.240829, + 71.200823 + ], + [ + -73.748047, + 71.776934 + ], + [ + -75.08139, + 71.17943 + ], + [ + -74.699432, + 71.390825 + ], + [ + -75.151947, + 71.471651 + ], + [ + -74.631943, + 71.662493 + ], + [ + -75.389999, + 71.681093 + ], + [ + -74.122223, + 71.983599 + ], + [ + -75.035828, + 72.125811 + ], + [ + -76.085281, + 71.691927 + ], + [ + -75.219452, + 72.074434 + ], + [ + -76.348053, + 71.891665 + ], + [ + -74.947495, + 72.249712 + ], + [ + -75.19249, + 72.49193 + ], + [ + -77.613892, + 72.751665 + ], + [ + -78.559158, + 72.438036 + ], + [ + -76.995834, + 72.128862 + ], + [ + -78.870834, + 72.226656 + ], + [ + -77.785553, + 71.787493 + ], + [ + -78.854446, + 72.173037 + ], + [ + -78.503616, + 71.868868 + ], + [ + -79.203064, + 71.961931 + ], + [ + -79.012787, + 72.273882 + ], + [ + -79.75, + 72.215548 + ], + [ + -79.799164, + 72.50139 + ], + [ + -80.166397, + 72.322222 + ], + [ + -79.674438, + 72.12665 + ], + [ + -80.260834, + 72.294985 + ], + [ + -80.486664, + 72.189425 + ], + [ + -80.38501, + 72.048326 + ], + [ + -80.971664, + 71.881655 + ], + [ + -80.79277, + 72.027773 + ], + [ + -81.080292, + 72.051653 + ], + [ + -80.56723, + 72.072771 + ], + [ + -80.905563, + 72.180544 + ], + [ + -80.516403, + 72.503878 + ], + [ + -81.37944, + 72.241655 + ], + [ + -80.247498, + 72.730547 + ], + [ + -81.553879, + 73.717211 + ], + [ + -85.188599, + 73.228868 + ], + [ + -83.634445, + 72.982485 + ], + [ + -85.447769, + 73.120256 + ], + [ + -83.953064, + 72.752489 + ], + [ + -85.688049, + 72.893602 + ], + [ + -85.535278, + 72.469713 + ], + [ + -84.442215, + 72.383043 + ], + [ + -84.935272, + 72.289431 + ], + [ + -84.164719, + 72.021105 + ], + [ + -85.487213, + 72.260271 + ], + [ + -86.050827, + 72.01111 + ], + [ + -84.625, + 71.665819 + ], + [ + -84.798889, + 70.921648 + ], + [ + -85.146957, + 71.082766 + ], + [ + -84.96167, + 71.188585 + ], + [ + -86.820007, + 70.988588 + ], + [ + -84.833893, + 71.274157 + ], + [ + -86.420546, + 72.012774 + ], + [ + -86.240829, + 72.420259 + ], + [ + -86.732773, + 72.716097 + ], + [ + -84.837784, + 73.741655 + ], + [ + -85.069458, + 73.801928 + ], + [ + -88.409164, + 73.523607 + ], + [ + -89.228333, + 73.125811 + ], + [ + -89.956665, + 72.321657 + ], + [ + -89.574722, + 72.163607 + ], + [ + -90.048615, + 71.953875 + ], + [ + -89.830002, + 71.328875 + ], + [ + -87.002792, + 70.994143 + ], + [ + -89.549728, + 71.088594 + ], + [ + -87.92305, + 70.242754 + ], + [ + -86.37471, + 70.52527 + ], + [ + -86.551941, + 70.234987 + ], + [ + -85.823334, + 70.000277 + ], + [ + -85.236115, + 69.989153 + ], + [ + -85.878052, + 70.076937 + ], + [ + -85.666397, + 70.104708 + ], + [ + -83.066666, + 70.01082 + ], + [ + -82.143341, + 69.781374 + ], + [ + -81.710831, + 69.934145 + ], + [ + -83.006958, + 70.304705 + ], + [ + -82.101105, + 70.108034 + ], + [ + -80.952499, + 69.713884 + ], + [ + -81.763336, + 70.123034 + ], + [ + -78.791946, + 69.8911 + ], + [ + -78.921661, + 70.300814 + ], + [ + -79.588898, + 70.399431 + ], + [ + -79.009445, + 70.679705 + ], + [ + -78.718887, + 70.547762 + ], + [ + -79.070557, + 70.469713 + ], + [ + -78.401672, + 70.212496 + ], + [ + -77.678329, + 70.187761 + ], + [ + -77.626389, + 69.744982 + ], + [ + -76.98056, + 69.938036 + ], + [ + -77.310547, + 69.835817 + ], + [ + -76.793884, + 69.718599 + ], + [ + -77.200562, + 69.646105 + ], + [ + -76.187775, + 69.66527 + ], + [ + -76.641113, + 69.554155 + ], + [ + -75.591675, + 69.221651 + ], + [ + -76.625549, + 69.018328 + ], + [ + -76.660828, + 68.699419 + ], + [ + -74.820847, + 69.082216 + ], + [ + -74.91777, + 68.801378 + ], + [ + -73.99028, + 68.492754 + ], + [ + -74.094162, + 68.719988 + ], + [ + -73.761398, + 68.686373 + ], + [ + -73.851669, + 68.342211 + ], + [ + -73.354675, + 68.329218 + ] + ], + [ + [ + -73.354675, + 68.329218 + ], + [ + -73.318069, + 68.393053 + ], + [ + -73.21167, + 68.376925 + ], + [ + -73.354675, + 68.329218 + ] + ] + ], + [ + [ + [ + -61.380554, + 47.620272 + ], + [ + -61.928055, + 47.407213 + ], + [ + -62.013062, + 47.225824 + ], + [ + -61.380554, + 47.620272 + ] + ] + ], + [ + [ + [ + -61.429211, + 56.929708 + ], + [ + -61.644394, + 56.734777 + ], + [ + -61.409138, + 56.61561 + ], + [ + -61.429211, + 56.929708 + ] + ] + ], + [ + [ + [ + -61.623611, + 56.399996 + ], + [ + -61.796112, + 56.41305 + ], + [ + -61.412216, + 56.326662 + ], + [ + -61.623611, + 56.399996 + ] + ] + ], + [ + [ + [ + -61.621666, + 57.33555 + ], + [ + -61.726944, + 57.374437 + ], + [ + -61.768608, + 57.324999 + ], + [ + -61.621666, + 57.33555 + ] + ] + ], + [ + [ + [ + -61.655273, + 57.391382 + ], + [ + -61.648056, + 57.530275 + ], + [ + -61.900276, + 57.437494 + ], + [ + -61.655273, + 57.391382 + ] + ] + ], + [ + [ + [ + -62.089722, + 49.386385 + ], + [ + -64.513901, + 49.863611 + ], + [ + -63.089996, + 49.228045 + ], + [ + -61.661667, + 49.144442 + ], + [ + -62.089722, + 49.386385 + ] + ] + ], + [ + [ + [ + -61.688606, + 57.713053 + ], + [ + -61.711113, + 57.834162 + ], + [ + -61.896111, + 57.769716 + ], + [ + -61.688606, + 57.713053 + ] + ] + ], + [ + [ + [ + -61.878334, + 57.463053 + ], + [ + -61.783615, + 57.550547 + ], + [ + -62.020279, + 57.540277 + ], + [ + -61.878334, + 57.463053 + ] + ] + ], + [ + [ + [ + -61.947495, + 57.787218 + ], + [ + -61.928337, + 57.908602 + ], + [ + -62.009171, + 57.904436 + ], + [ + -62.108337, + 57.824717 + ], + [ + -61.947495, + 57.787218 + ] + ] + ], + [ + [ + [ + -64.039719, + 46.743326 + ], + [ + -64.020844, + 47.038607 + ], + [ + -64.415558, + 46.670549 + ], + [ + -63.591942, + 46.211939 + ], + [ + -62.962776, + 46.319994 + ], + [ + -62.761116, + 45.954165 + ], + [ + -61.965004, + 46.453325 + ], + [ + -63.216393, + 46.41221 + ], + [ + -63.647224, + 46.567217 + ], + [ + -63.742226, + 46.439432 + ], + [ + -64.039719, + 46.743326 + ] + ] + ], + [ + [ + [ + -62.268333, + 65.701662 + ], + [ + -62.484444, + 65.726931 + ], + [ + -62.131943, + 65.657213 + ], + [ + -62.268333, + 65.701662 + ] + ] + ], + [ + [ + [ + -62.136665, + 65.851381 + ], + [ + -62.137779, + 65.925814 + ], + [ + -62.296669, + 65.938585 + ], + [ + -62.136665, + 65.851381 + ] + ] + ], + [ + [ + [ + -62.183884, + 66.2372 + ], + [ + -62.261673, + 66.280275 + ], + [ + -62.43, + 66.229158 + ], + [ + -62.183884, + 66.2372 + ] + ] + ], + [ + [ + [ + -62.644165, + 67.057482 + ], + [ + -62.375275, + 67.165819 + ], + [ + -62.899445, + 67.058321 + ], + [ + -62.644165, + 67.057482 + ] + ] + ], + [ + [ + [ + -62.795006, + 65.519991 + ], + [ + -62.750839, + 65.551378 + ], + [ + -62.884445, + 65.605547 + ], + [ + -62.795006, + 65.519991 + ] + ] + ], + [ + [ + [ + -62.918335, + 67.009722 + ], + [ + -63.002228, + 67.069445 + ], + [ + -63.138054, + 67.065264 + ], + [ + -62.918335, + 67.009722 + ] + ] + ], + [ + [ + [ + -63.059166, + 66.957766 + ], + [ + -63, + 66.984423 + ], + [ + -63.166107, + 67.004992 + ], + [ + -63.059166, + 66.957766 + ] + ] + ], + [ + [ + [ + -63.243614, + 65.254992 + ], + [ + -63.166389, + 65.286104 + ], + [ + -63.311668, + 65.298037 + ], + [ + -63.243614, + 65.254992 + ] + ] + ], + [ + [ + [ + -63.246391, + 46.435549 + ], + [ + -63.245834, + 46.442766 + ], + [ + -63.285004, + 46.45083 + ], + [ + -63.246391, + 46.435549 + ] + ] + ], + [ + [ + [ + -63.353333, + 64.994982 + ], + [ + -63.42028, + 64.976091 + ], + [ + -63.258896, + 64.921099 + ], + [ + -63.353333, + 64.994982 + ] + ] + ], + [ + [ + [ + -63.366394, + 67.287767 + ], + [ + -63.585831, + 67.353319 + ], + [ + -63.829727, + 67.284151 + ], + [ + -63.366394, + 67.287767 + ] + ] + ], + [ + [ + [ + -63.881943, + 67.503328 + ], + [ + -63.758057, + 67.52054 + ], + [ + -63.976944, + 67.649431 + ], + [ + -64.029724, + 67.513887 + ], + [ + -63.881943, + 67.503328 + ] + ] + ], + [ + [ + [ + -63.859444, + 50.197771 + ], + [ + -63.889725, + 50.24222 + ], + [ + -63.930557, + 50.229433 + ], + [ + -63.859444, + 50.197771 + ] + ] + ], + [ + [ + [ + -64.01973, + 59.714716 + ], + [ + -64.061386, + 59.864443 + ], + [ + -64.204453, + 59.734438 + ], + [ + -64.01973, + 59.714716 + ] + ] + ], + [ + [ + [ + -64.032501, + 63.689714 + ], + [ + -64.075287, + 63.758051 + ], + [ + -64.212509, + 63.712214 + ], + [ + -64.032501, + 63.689714 + ] + ] + ], + [ + [ + [ + -64.061111, + 63.270548 + ], + [ + -64.328888, + 63.644442 + ], + [ + -64.479172, + 63.636942 + ], + [ + -64.061111, + 63.270548 + ] + ] + ], + [ + [ + [ + -64.092499, + 63.481661 + ], + [ + -64.093338, + 63.568331 + ], + [ + -64.212784, + 63.623606 + ], + [ + -64.092499, + 63.481661 + ] + ] + ], + [ + [ + [ + -64.170273, + 63.856386 + ], + [ + -64.39917, + 63.849436 + ], + [ + -64.234436, + 63.771379 + ], + [ + -64.170273, + 63.856386 + ] + ] + ], + [ + [ + [ + -64.284439, + 63.708605 + ], + [ + -64.27861, + 63.77083 + ], + [ + -64.381104, + 63.807497 + ], + [ + -64.284439, + 63.708605 + ] + ] + ], + [ + [ + [ + -64.653885, + 62.540834 + ], + [ + -64.965836, + 62.46583 + ], + [ + -64.382767, + 62.511385 + ], + [ + -64.653885, + 62.540834 + ] + ] + ], + [ + [ + [ + -64.576111, + 63.780825 + ], + [ + -64.920273, + 63.824717 + ], + [ + -64.386124, + 63.701662 + ], + [ + -64.576111, + 63.780825 + ] + ] + ], + [ + [ + [ + -64.427673, + 60.372934 + ], + [ + -64.868057, + 60.458887 + ], + [ + -64.448608, + 60.284166 + ], + [ + -64.427673, + 60.372934 + ] + ] + ], + [ + [ + [ + -64.491104, + 64.109148 + ], + [ + -64.453339, + 64.146944 + ], + [ + -64.59584, + 64.156649 + ], + [ + -64.491104, + 64.109148 + ] + ] + ], + [ + [ + [ + -64.520279, + 64.220263 + ], + [ + -64.462219, + 64.23749 + ], + [ + -64.647781, + 64.250002 + ], + [ + -64.520279, + 64.220263 + ] + ] + ], + [ + [ + [ + -64.567505, + 47.899439 + ], + [ + -64.470551, + 47.953325 + ], + [ + -64.501114, + 48.027491 + ], + [ + -64.567505, + 47.899439 + ] + ] + ], + [ + [ + [ + -64.482773, + 47.917772 + ], + [ + -64.667496, + 47.866938 + ], + [ + -64.690552, + 47.753054 + ], + [ + -64.482773, + 47.917772 + ] + ] + ], + [ + [ + [ + -64.689987, + 60.584436 + ], + [ + -64.592773, + 60.685549 + ], + [ + -64.710831, + 60.602777 + ], + [ + -64.689987, + 60.584436 + ] + ] + ], + [ + [ + [ + -64.723892, + 61.538332 + ], + [ + -65.486938, + 61.610826 + ], + [ + -64.875275, + 61.322496 + ], + [ + -64.723892, + 61.538332 + ] + ] + ], + [ + [ + [ + -64.849731, + 64.307482 + ], + [ + -64.771942, + 64.348879 + ], + [ + -64.958618, + 64.405825 + ], + [ + -64.849731, + 64.307482 + ] + ] + ], + [ + [ + [ + -64.983063, + 62.528048 + ], + [ + -64.839447, + 62.577776 + ], + [ + -65.141678, + 62.546946 + ], + [ + -64.983063, + 62.528048 + ] + ] + ], + [ + [ + [ + -64.962784, + 64.110811 + ], + [ + -65.057495, + 64.113039 + ], + [ + -64.869995, + 64.093325 + ], + [ + -64.962784, + 64.110811 + ] + ] + ], + [ + [ + [ + -64.938599, + 64.235537 + ], + [ + -64.884735, + 64.287767 + ], + [ + -65.112503, + 64.339708 + ], + [ + -64.938599, + 64.235537 + ] + ] + ], + [ + [ + [ + -64.916107, + 61.719439 + ], + [ + -64.980835, + 61.885828 + ], + [ + -65.255005, + 61.901659 + ], + [ + -64.916107, + 61.719439 + ] + ] + ], + [ + [ + [ + -65.492767, + 64.517763 + ], + [ + -65.208054, + 64.639711 + ], + [ + -65.690277, + 64.524157 + ], + [ + -65.492767, + 64.517763 + ] + ] + ], + [ + [ + [ + -65.397232, + 68.03998 + ], + [ + -65.386398, + 68.08832 + ], + [ + -65.51973, + 68.067492 + ], + [ + -65.397232, + 68.03998 + ] + ] + ], + [ + [ + [ + -65.642227, + 68.159426 + ], + [ + -65.709732, + 68.106096 + ], + [ + -65.495544, + 68.128313 + ], + [ + -65.642227, + 68.159426 + ] + ] + ], + [ + [ + [ + -65.645844, + 65.813036 + ], + [ + -65.511398, + 65.903048 + ], + [ + -65.647781, + 65.879976 + ], + [ + -65.645844, + 65.813036 + ] + ] + ], + [ + [ + [ + -65.613617, + 43.420275 + ], + [ + -65.566101, + 43.508333 + ], + [ + -65.633057, + 43.47471 + ], + [ + -65.613617, + 43.420275 + ] + ] + ], + [ + [ + [ + -65.695267, + 61.776659 + ], + [ + -65.778061, + 61.865549 + ], + [ + -65.948044, + 61.790277 + ], + [ + -65.695267, + 61.776659 + ] + ] + ], + [ + [ + [ + -65.852493, + 62.084719 + ], + [ + -65.904449, + 62.152773 + ], + [ + -66.020279, + 62.124437 + ], + [ + -65.852493, + 62.084719 + ] + ] + ], + [ + [ + [ + -66.282776, + 44.289721 + ], + [ + -66.20639, + 44.395273 + ], + [ + -66.322235, + 44.252779 + ], + [ + -66.282776, + 44.289721 + ] + ] + ], + [ + [ + [ + -66.313614, + 68.147768 + ], + [ + -66.221939, + 68.241091 + ], + [ + -66.607224, + 68.217211 + ], + [ + -66.313614, + 68.147768 + ] + ] + ], + [ + [ + [ + -66.368332, + 62.835268 + ], + [ + -66.547775, + 62.910547 + ], + [ + -66.601669, + 62.906656 + ], + [ + -66.368332, + 62.835268 + ] + ] + ], + [ + [ + [ + -66.623322, + 66.280825 + ], + [ + -66.575012, + 66.313875 + ], + [ + -66.958344, + 66.411928 + ], + [ + -66.623322, + 66.280825 + ] + ] + ], + [ + [ + [ + -66.886124, + 44.614443 + ], + [ + -66.74028, + 44.707773 + ], + [ + -66.772507, + 44.80916 + ], + [ + -66.886124, + 44.614443 + ] + ] + ], + [ + [ + [ + -66.825562, + 62.984163 + ], + [ + -66.946106, + 63.074999 + ], + [ + -67.069458, + 63.1075 + ], + [ + -66.825562, + 62.984163 + ] + ] + ], + [ + [ + [ + -66.998337, + 66.493044 + ], + [ + -67.036667, + 66.456102 + ], + [ + -66.868881, + 66.464434 + ], + [ + -66.998337, + 66.493044 + ] + ] + ], + [ + [ + [ + -66.924713, + 65.284426 + ], + [ + -66.910828, + 65.356936 + ], + [ + -67.010559, + 65.33333 + ], + [ + -66.924713, + 65.284426 + ] + ] + ], + [ + [ + [ + -67.138336, + 65.926928 + ], + [ + -67.153885, + 65.978594 + ], + [ + -67.211945, + 65.982759 + ], + [ + -67.138336, + 65.926928 + ] + ] + ], + [ + [ + [ + -67.310547, + 69.54915 + ], + [ + -67.484436, + 69.590273 + ], + [ + -67.749725, + 69.521105 + ], + [ + -67.310547, + 69.54915 + ] + ] + ], + [ + [ + [ + -67.472504, + 65.705263 + ], + [ + -67.424438, + 65.735262 + ], + [ + -67.715836, + 65.701662 + ], + [ + -67.472504, + 65.705263 + ] + ] + ], + [ + [ + [ + -67.596115, + 58.284166 + ], + [ + -67.517502, + 58.335268 + ], + [ + -67.619995, + 58.372217 + ], + [ + -67.676666, + 58.301386 + ], + [ + -67.596115, + 58.284166 + ] + ] + ], + [ + [ + [ + -68.110275, + 68.782763 + ], + [ + -68.459442, + 68.791094 + ], + [ + -67.661392, + 68.701937 + ], + [ + -68.110275, + 68.782763 + ] + ] + ], + [ + [ + [ + -67.76445, + 63.162493 + ], + [ + -67.831955, + 63.244158 + ], + [ + -67.875, + 63.223047 + ], + [ + -67.76445, + 63.162493 + ] + ] + ], + [ + [ + [ + -68.251404, + 60.230822 + ], + [ + -67.798615, + 60.457499 + ], + [ + -68.119156, + 60.577219 + ], + [ + -68.251404, + 60.230822 + ] + ] + ], + [ + [ + [ + -67.847778, + 68.851931 + ], + [ + -67.876389, + 68.949419 + ], + [ + -67.960556, + 68.929979 + ], + [ + -67.847778, + 68.851931 + ] + ] + ], + [ + [ + [ + -67.920273, + 69.521929 + ], + [ + -67.889725, + 69.70833 + ], + [ + -68.248886, + 69.596651 + ], + [ + -67.920273, + 69.521929 + ] + ] + ], + [ + [ + [ + -67.925003, + 63.183329 + ], + [ + -68.112213, + 63.313608 + ], + [ + -67.966949, + 63.183878 + ], + [ + -67.925003, + 63.183329 + ] + ] + ], + [ + [ + [ + -68.656387, + 63.626383 + ], + [ + -68.676941, + 63.671381 + ], + [ + -68.821671, + 63.652491 + ], + [ + -68.656387, + 63.626383 + ] + ] + ], + [ + [ + [ + -69.194443, + 59.064714 + ], + [ + -69.357224, + 59.139719 + ], + [ + -69.35556, + 58.949717 + ], + [ + -69.194443, + 59.064714 + ] + ] + ], + [ + [ + [ + -69.977219, + 60.933054 + ], + [ + -69.943604, + 61.031382 + ], + [ + -70.025009, + 61.00194 + ], + [ + -69.977219, + 60.933054 + ] + ] + ], + [ + [ + [ + -70.71167, + 62.814997 + ], + [ + -71.241379, + 62.88138 + ], + [ + -70.211121, + 62.579165 + ], + [ + -70.71167, + 62.814997 + ] + ] + ], + [ + [ + [ + -71.471664, + 71.012774 + ], + [ + -72.226395, + 70.930544 + ], + [ + -71.955566, + 70.818331 + ], + [ + -71.471664, + 71.012774 + ] + ] + ], + [ + [ + [ + -71.799164, + 63.615549 + ], + [ + -71.779449, + 63.688326 + ], + [ + -71.864166, + 63.669443 + ], + [ + -71.863327, + 63.61944 + ], + [ + -71.799164, + 63.615549 + ] + ] + ], + [ + [ + [ + -72.182495, + 63.519991 + ], + [ + -72.129166, + 63.558886 + ], + [ + -72.286667, + 63.58333 + ], + [ + -72.182495, + 63.519991 + ] + ] + ], + [ + [ + [ + -72.594727, + 63.642496 + ], + [ + -72.459732, + 63.679163 + ], + [ + -72.783325, + 63.664438 + ], + [ + -72.594727, + 63.642496 + ] + ] + ], + [ + [ + [ + -72.66777, + 63.695826 + ], + [ + -72.626663, + 63.73221 + ], + [ + -72.719727, + 63.763887 + ], + [ + -72.66777, + 63.695826 + ] + ] + ], + [ + [ + [ + -72.760834, + 71.531939 + ], + [ + -72.695831, + 71.651094 + ], + [ + -73.039993, + 71.579988 + ], + [ + -72.760834, + 71.531939 + ] + ] + ], + [ + [ + [ + -73.120544, + 71.479708 + ], + [ + -72.817505, + 71.444979 + ], + [ + -73.37999, + 71.519716 + ], + [ + -73.120544, + 71.479708 + ] + ] + ], + [ + [ + [ + -73.37027, + 71.55443 + ], + [ + -73.148895, + 71.679979 + ], + [ + -73.448044, + 71.594149 + ], + [ + -73.37027, + 71.55443 + ] + ] + ], + [ + [ + [ + -73.176941, + 64.200274 + ], + [ + -73.401672, + 64.165545 + ], + [ + -73.282776, + 64.143328 + ], + [ + -73.176941, + 64.200274 + ] + ] + ], + [ + [ + [ + -74.215561, + 68.117754 + ], + [ + -74.777222, + 67.973879 + ], + [ + -73.348618, + 67.828051 + ], + [ + -74.215561, + 68.117754 + ] + ] + ], + [ + [ + [ + -73.557495, + 64.312761 + ], + [ + -73.527786, + 64.566942 + ], + [ + -73.682495, + 64.509722 + ], + [ + -73.557495, + 64.312761 + ] + ] + ], + [ + [ + [ + -73.744995, + 64.426088 + ], + [ + -73.66861, + 64.464434 + ], + [ + -73.773331, + 64.503328 + ], + [ + -73.781387, + 64.431932 + ], + [ + -73.744995, + 64.426088 + ] + ] + ], + [ + [ + [ + -73.697769, + 64.269991 + ], + [ + -73.781387, + 64.40555 + ], + [ + -73.833618, + 64.331667 + ], + [ + -73.697769, + 64.269991 + ] + ] + ], + [ + [ + [ + -73.876389, + 64.301378 + ], + [ + -73.956665, + 64.368319 + ], + [ + -73.972504, + 64.30971 + ], + [ + -73.876389, + 64.301378 + ] + ] + ], + [ + [ + [ + -74.347778, + 62.679438 + ], + [ + -74.651398, + 62.716936 + ], + [ + -73.958054, + 62.612497 + ], + [ + -74.347778, + 62.679438 + ] + ] + ], + [ + [ + [ + -74.062775, + 68.151659 + ], + [ + -74.079727, + 68.232485 + ], + [ + -74.176392, + 68.204165 + ], + [ + -74.062775, + 68.151659 + ] + ] + ], + [ + [ + [ + -74.162216, + 68.246096 + ], + [ + -74.079453, + 68.338594 + ], + [ + -74.393066, + 68.445253 + ], + [ + -74.162216, + 68.246096 + ] + ] + ], + [ + [ + [ + -74.306946, + 78.676653 + ], + [ + -74.16362, + 78.716097 + ], + [ + -74.710281, + 78.731096 + ], + [ + -74.306946, + 78.676653 + ] + ] + ], + [ + [ + [ + -74.212784, + 64.483049 + ], + [ + -74.169724, + 64.523882 + ], + [ + -74.357773, + 64.551088 + ], + [ + -74.212784, + 64.483049 + ] + ] + ], + [ + [ + [ + -74.271942, + 64.413607 + ], + [ + -74.173325, + 64.43915 + ], + [ + -74.439438, + 64.453325 + ], + [ + -74.271942, + 64.413607 + ] + ] + ], + [ + [ + [ + -74.76889, + 68.673876 + ], + [ + -74.890289, + 68.624987 + ], + [ + -74.518341, + 68.558596 + ], + [ + -74.76889, + 68.673876 + ] + ] + ], + [ + [ + [ + -74.811386, + 68.320543 + ], + [ + -75, + 68.672243 + ], + [ + -75.396957, + 68.611101 + ], + [ + -74.811386, + 68.320543 + ] + ] + ], + [ + [ + [ + -75.582779, + 68.300264 + ], + [ + -76.726105, + 68.238878 + ], + [ + -77.251953, + 67.826387 + ], + [ + -77.246948, + 67.451937 + ], + [ + -76.66362, + 67.219988 + ], + [ + -75.198608, + 67.443316 + ], + [ + -75.003067, + 68.132204 + ], + [ + -75.582779, + 68.300264 + ] + ] + ], + [ + [ + [ + -75.551392, + 64.303865 + ], + [ + -75.493607, + 64.316378 + ], + [ + -75.705841, + 64.341936 + ], + [ + -75.551392, + 64.303865 + ] + ] + ], + [ + [ + [ + -80.142227, + 73.696642 + ], + [ + -80.857773, + 73.74193 + ], + [ + -80.876099, + 73.327776 + ], + [ + -79.429169, + 72.735811 + ], + [ + -76.059433, + 72.90082 + ], + [ + -77.424438, + 73.554705 + ], + [ + -80.142227, + 73.696642 + ] + ] + ], + [ + [ + [ + -76.810547, + 63.601107 + ], + [ + -77.45723, + 63.643328 + ], + [ + -76.541946, + 63.462496 + ], + [ + -76.810547, + 63.601107 + ] + ] + ], + [ + [ + [ + -76.621109, + 57.075556 + ], + [ + -76.669998, + 57.202494 + ], + [ + -76.708618, + 57.188326 + ], + [ + -76.621109, + 57.075556 + ] + ] + ], + [ + [ + [ + -76.950836, + 69.395266 + ], + [ + -77.381943, + 69.247484 + ], + [ + -76.646666, + 69.336931 + ], + [ + -76.950836, + 69.395266 + ] + ] + ], + [ + [ + [ + -76.715012, + 57.292772 + ], + [ + -76.73111, + 57.381937 + ], + [ + -76.821671, + 57.429438 + ], + [ + -76.715012, + 57.292772 + ] + ] + ], + [ + [ + [ + -77.592773, + 55.435266 + ], + [ + -77.199997, + 55.65027 + ], + [ + -77.644165, + 55.425829 + ], + [ + -77.592773, + 55.435266 + ] + ] + ], + [ + [ + [ + -78.079727, + 63.469439 + ], + [ + -78.572784, + 63.440271 + ], + [ + -77.946655, + 63.091105 + ], + [ + -77.494995, + 63.265833 + ], + [ + -78.079727, + 63.469439 + ] + ] + ], + [ + [ + [ + -77.743881, + 63.926661 + ], + [ + -77.544449, + 64.021929 + ], + [ + -77.982498, + 63.983049 + ], + [ + -77.743881, + 63.926661 + ] + ] + ], + [ + [ + [ + -77.851944, + 77.774431 + ], + [ + -77.568619, + 77.849718 + ], + [ + -77.955002, + 77.830278 + ], + [ + -77.851944, + 77.774431 + ] + ] + ], + [ + [ + [ + -77.805267, + 62.592493 + ], + [ + -77.74527, + 62.534166 + ], + [ + -77.621384, + 62.584436 + ], + [ + -77.805267, + 62.592493 + ] + ] + ], + [ + [ + [ + -78.008347, + 62.593607 + ], + [ + -78.113052, + 62.562212 + ], + [ + -77.837784, + 62.55694 + ], + [ + -78.008347, + 62.593607 + ] + ] + ], + [ + [ + [ + -77.946655, + 69.646654 + ], + [ + -78.180557, + 69.752214 + ], + [ + -78.88028, + 69.476931 + ], + [ + -77.946655, + 69.646654 + ] + ] + ], + [ + [ + [ + -78.365829, + 82.883608 + ], + [ + -78.116943, + 82.942202 + ], + [ + -78.414719, + 82.941927 + ], + [ + -78.365829, + 82.883608 + ] + ] + ], + [ + [ + [ + -78.412216, + 69.379702 + ], + [ + -79.400284, + 68.87192 + ], + [ + -78.830292, + 68.913042 + ], + [ + -78.210831, + 69.294436 + ], + [ + -78.412216, + 69.379702 + ] + ] + ], + [ + [ + [ + -78.656387, + 60.702776 + ], + [ + -78.219452, + 60.823885 + ], + [ + -78.573624, + 60.784166 + ], + [ + -78.656387, + 60.702776 + ] + ] + ], + [ + [ + [ + -78.453888, + 58.539995 + ], + [ + -78.698608, + 58.688601 + ], + [ + -78.672501, + 58.610552 + ], + [ + -78.453888, + 58.539995 + ] + ] + ], + [ + [ + [ + -78.557495, + 63.457499 + ], + [ + -78.46167, + 63.507502 + ], + [ + -78.515839, + 63.531664 + ], + [ + -78.557495, + 63.457499 + ] + ] + ], + [ + [ + [ + -78.468887, + 68.563875 + ], + [ + -78.863892, + 68.659716 + ], + [ + -78.959732, + 68.474703 + ], + [ + -78.468887, + 68.563875 + ] + ] + ], + [ + [ + [ + -78.571671, + 68.200274 + ], + [ + -78.54805, + 68.263048 + ], + [ + -78.662216, + 68.18915 + ], + [ + -78.571671, + 68.200274 + ] + ] + ], + [ + [ + [ + -78.839996, + 56.129992 + ], + [ + -78.676392, + 56.181108 + ], + [ + -78.667221, + 56.439714 + ], + [ + -78.839996, + 56.129992 + ] + ] + ], + [ + [ + [ + -78.735001, + 72.365541 + ], + [ + -79.075012, + 72.409716 + ], + [ + -78.950287, + 72.334993 + ], + [ + -78.735001, + 72.365541 + ] + ] + ], + [ + [ + [ + -79.020554, + 68.169146 + ], + [ + -78.801666, + 68.279161 + ], + [ + -79.191101, + 68.319445 + ], + [ + -79.020554, + 68.169146 + ] + ] + ], + [ + [ + [ + -78.926392, + 75.875811 + ], + [ + -79.176392, + 75.952776 + ], + [ + -78.805832, + 76.09305 + ], + [ + -79.752228, + 75.878588 + ], + [ + -78.926392, + 75.875811 + ] + ] + ], + [ + [ + [ + -79.021666, + 56.426943 + ], + [ + -79.286392, + 56.570276 + ], + [ + -79.51445, + 56.18638 + ], + [ + -79.46611, + 56.548334 + ], + [ + -79.985825, + 55.89805 + ], + [ + -79.513062, + 56.134996 + ], + [ + -79.781952, + 55.78805 + ], + [ + -79.479996, + 55.863886 + ], + [ + -79.150558, + 56.233049 + ], + [ + -79.283325, + 55.864443 + ], + [ + -78.977219, + 56.388605 + ], + [ + -79.195267, + 55.891939 + ], + [ + -78.943329, + 56.284998 + ], + [ + -78.924713, + 56.419443 + ], + [ + -79.021666, + 56.426943 + ] + ], + [ + [ + -79.626938, + 56.265276 + ], + [ + -79.492218, + 56.446939 + ], + [ + -79.561111, + 56.299166 + ], + [ + -79.626938, + 56.265276 + ] + ] + ], + [ + [ + [ + -79.123047, + 55.789995 + ], + [ + -78.939713, + 56.02527 + ], + [ + -78.957504, + 56.083605 + ], + [ + -79.123047, + 55.789995 + ] + ] + ], + [ + [ + [ + -79.125824, + 54.897219 + ], + [ + -79.015015, + 54.938326 + ], + [ + -79.776947, + 54.778048 + ], + [ + -79.125824, + 54.897219 + ] + ] + ], + [ + [ + [ + -79.141953, + 56.616663 + ], + [ + -79.208893, + 56.683878 + ], + [ + -79.280289, + 56.654993 + ], + [ + -79.141953, + 56.616663 + ] + ] + ], + [ + [ + [ + -79.252792, + 52.071383 + ], + [ + -79.654175, + 51.986658 + ], + [ + -79.376663, + 51.936106 + ], + [ + -79.252792, + 52.071383 + ] + ] + ], + [ + [ + [ + -79.540558, + 62.411104 + ], + [ + -80.017502, + 62.358606 + ], + [ + -80.275284, + 61.806658 + ], + [ + -79.656952, + 61.642496 + ], + [ + -79.261398, + 62.163607 + ], + [ + -79.540558, + 62.411104 + ] + ] + ], + [ + [ + [ + -95.659729, + 77.05887 + ], + [ + -96.810272, + 76.979158 + ], + [ + -96.305557, + 76.753878 + ], + [ + -96.964447, + 76.733324 + ], + [ + -94.800827, + 76.321657 + ], + [ + -95.376099, + 76.234423 + ], + [ + -93.083618, + 76.358034 + ], + [ + -92.108612, + 75.858873 + ], + [ + -92.005005, + 75.594988 + ], + [ + -92.490829, + 75.21361 + ], + [ + -91.539993, + 74.646379 + ], + [ + -90.772232, + 74.884996 + ], + [ + -91.024719, + 74.702776 + ], + [ + -89.489716, + 74.545534 + ], + [ + -88.547775, + 74.907763 + ], + [ + -88.496948, + 74.497759 + ], + [ + -84.285553, + 74.503603 + ], + [ + -83.474442, + 74.579714 + ], + [ + -83.511398, + 74.901659 + ], + [ + -81.810822, + 74.456942 + ], + [ + -80.231674, + 74.578051 + ], + [ + -80.321671, + 74.937761 + ], + [ + -79.333618, + 74.894442 + ], + [ + -80.440552, + 75.038042 + ], + [ + -79.571121, + 75.199144 + ], + [ + -79.574722, + 75.449999 + ], + [ + -81.536942, + 75.80942 + ], + [ + -83.878151, + 75.818964 + ], + [ + -86.544724, + 75.359148 + ], + [ + -88.738892, + 75.67943 + ], + [ + -88.950562, + 75.429705 + ], + [ + -89.765289, + 75.575548 + ], + [ + -89.172775, + 75.78055 + ], + [ + -90.015015, + 76.010271 + ], + [ + -91.12999, + 75.839159 + ], + [ + -90.190552, + 76.061098 + ], + [ + -91.613617, + 76.262209 + ], + [ + -89.292496, + 76.296099 + ], + [ + -91.566666, + 76.498873 + ], + [ + -90.468063, + 76.47304 + ], + [ + -91.410553, + 76.68915 + ], + [ + -93.54834, + 76.38611 + ], + [ + -93.179718, + 76.741091 + ], + [ + -95.659729, + 77.05887 + ] + ] + ], + [ + [ + [ + -79.469727, + 54.167498 + ], + [ + -79.413055, + 54.19166 + ], + [ + -79.475555, + 54.191378 + ], + [ + -79.469727, + 54.167498 + ] + ] + ], + [ + [ + [ + -79.42305, + 69.78499 + ], + [ + -80.809433, + 69.683046 + ], + [ + -80.011948, + 69.491655 + ], + [ + -79.42305, + 69.78499 + ] + ] + ], + [ + [ + [ + -79.508057, + 72.348604 + ], + [ + -79.429718, + 72.411654 + ], + [ + -79.683319, + 72.430544 + ], + [ + -79.508057, + 72.348604 + ] + ] + ], + [ + [ + [ + -79.560822, + 56.617769 + ], + [ + -79.474716, + 56.689157 + ], + [ + -79.567505, + 56.817774 + ], + [ + -79.560822, + 56.617769 + ] + ] + ], + [ + [ + [ + -79.619995, + 56.385271 + ], + [ + -79.543335, + 56.527773 + ], + [ + -80.109726, + 56.197771 + ], + [ + -79.619995, + 56.385271 + ] + ] + ], + [ + [ + [ + -79.667221, + 54.763887 + ], + [ + -79.587219, + 54.799166 + ], + [ + -79.726944, + 54.752497 + ], + [ + -79.667221, + 54.763887 + ] + ] + ], + [ + [ + [ + -79.709732, + 53.508051 + ], + [ + -79.761398, + 53.546106 + ], + [ + -79.773621, + 53.531664 + ], + [ + -79.709732, + 53.508051 + ] + ] + ], + [ + [ + [ + -79.797501, + 57.418886 + ], + [ + -79.727783, + 57.617212 + ], + [ + -79.82695, + 57.53805 + ], + [ + -79.797501, + 57.418886 + ] + ] + ], + [ + [ + [ + -79.750565, + 56.905825 + ], + [ + -79.897507, + 56.884996 + ], + [ + -79.823769, + 56.895006 + ], + [ + -79.757507, + 56.781939 + ], + [ + -79.750565, + 56.905825 + ] + ] + ], + [ + [ + [ + -79.909164, + 53.081942 + ], + [ + -79.787216, + 53.101938 + ], + [ + -79.897781, + 53.17444 + ], + [ + -79.909164, + 53.081942 + ] + ] + ], + [ + [ + [ + -79.881943, + 56.743608 + ], + [ + -79.819458, + 56.840273 + ], + [ + -79.958618, + 56.81138 + ], + [ + -79.881943, + 56.743608 + ] + ] + ], + [ + [ + [ + -79.864166, + 53.906382 + ], + [ + -79.926392, + 53.935266 + ], + [ + -79.906113, + 53.913881 + ], + [ + -79.864166, + 53.906382 + ] + ] + ], + [ + [ + [ + -80.089722, + 59.75194 + ], + [ + -79.878876, + 59.854715 + ], + [ + -80.184723, + 59.752779 + ], + [ + -80.089722, + 59.75194 + ] + ] + ], + [ + [ + [ + -79.993607, + 72.413317 + ], + [ + -79.916397, + 72.45804 + ], + [ + -80.133331, + 72.519442 + ], + [ + -79.993607, + 72.413317 + ] + ] + ], + [ + [ + [ + -79.942764, + 53.266939 + ], + [ + -79.944717, + 53.368052 + ], + [ + -80.085281, + 53.326944 + ], + [ + -79.942764, + 53.266939 + ] + ] + ], + [ + [ + [ + -80.277496, + 59.618601 + ], + [ + -80.145279, + 59.705553 + ], + [ + -80.343887, + 59.619158 + ], + [ + -80.277496, + 59.618601 + ] + ] + ], + [ + [ + [ + -85.48056, + 65.791933 + ], + [ + -86.097778, + 65.529161 + ], + [ + -86.401672, + 64.436647 + ], + [ + -86.189438, + 64.101656 + ], + [ + -87.188049, + 63.589991 + ], + [ + -85.717499, + 63.716105 + ], + [ + -85.589172, + 63.174715 + ], + [ + -85.266403, + 63.117495 + ], + [ + -83.072784, + 64.186647 + ], + [ + -83.098892, + 63.959162 + ], + [ + -82.361389, + 63.905268 + ], + [ + -82.472229, + 63.680277 + ], + [ + -81.076401, + 63.451387 + ], + [ + -80.171661, + 63.771105 + ], + [ + -80.890839, + 64.115541 + ], + [ + -81.986938, + 63.994158 + ], + [ + -81.602493, + 64.129976 + ], + [ + -81.763062, + 64.501101 + ], + [ + -84.440277, + 65.456652 + ], + [ + -84.924713, + 65.209719 + ], + [ + -85.311935, + 65.537767 + ], + [ + -85.156387, + 65.776659 + ], + [ + -85.48056, + 65.791933 + ] + ] + ], + [ + [ + [ + -80.534439, + 59.36944 + ], + [ + -80.475555, + 59.481104 + ], + [ + -80.549438, + 59.446939 + ], + [ + -80.534439, + 59.36944 + ] + ] + ], + [ + [ + [ + -81.10611, + 53.199717 + ], + [ + -82.063324, + 53.026659 + ], + [ + -80.699722, + 52.6961 + ], + [ + -81.10611, + 53.199717 + ] + ] + ], + [ + [ + [ + -81.327789, + 76.147219 + ], + [ + -81.201401, + 76.177767 + ], + [ + -81.462509, + 76.158876 + ], + [ + -81.327789, + 76.147219 + ] + ] + ], + [ + [ + [ + -81.47139, + 64.188875 + ], + [ + -81.375824, + 64.220827 + ], + [ + -81.538055, + 64.21805 + ], + [ + -81.47139, + 64.188875 + ] + ] + ], + [ + [ + [ + -81.476944, + 52.249163 + ], + [ + -81.551666, + 52.298052 + ], + [ + -81.710007, + 52.262499 + ], + [ + -81.476944, + 52.249163 + ] + ] + ], + [ + [ + [ + -81.871109, + 62.928331 + ], + [ + -83.310822, + 62.92444 + ], + [ + -83.945267, + 62.427217 + ], + [ + -83.703888, + 62.141665 + ], + [ + -83.087784, + 62.178881 + ], + [ + -81.871109, + 62.928331 + ] + ] + ], + [ + [ + [ + -82.059998, + 68.306093 + ], + [ + -81.997223, + 68.341372 + ], + [ + -82.345551, + 68.367754 + ], + [ + -82.059998, + 68.306093 + ] + ] + ], + [ + [ + [ + -82.429443, + 69.782213 + ], + [ + -82.517227, + 69.854158 + ], + [ + -82.688599, + 69.850817 + ], + [ + -82.429443, + 69.782213 + ] + ] + ], + [ + [ + [ + -82.507782, + 69.704988 + ], + [ + -82.460281, + 69.76166 + ], + [ + -82.87944, + 69.778597 + ], + [ + -82.507782, + 69.704988 + ] + ] + ], + [ + [ + [ + -83.06723, + 66.255556 + ], + [ + -82.902496, + 66.271654 + ], + [ + -83.29834, + 66.313875 + ], + [ + -83.06723, + 66.255556 + ] + ] + ], + [ + [ + [ + -82.964722, + 55.263613 + ], + [ + -82.980835, + 55.278879 + ], + [ + -83.035278, + 55.278879 + ], + [ + -82.964722, + 55.263613 + ] + ] + ], + [ + [ + [ + -83.921387, + 66.009722 + ], + [ + -84.470276, + 66.133333 + ], + [ + -84.123611, + 65.90027 + ], + [ + -84.143616, + 65.764162 + ], + [ + -83.68277, + 65.749422 + ], + [ + -83.842773, + 65.649157 + ], + [ + -83.210831, + 65.705828 + ], + [ + -83.727493, + 65.799715 + ], + [ + -83.694153, + 65.9247 + ], + [ + -83.921387, + 66.009722 + ] + ] + ], + [ + [ + [ + -83.28389, + 65.834154 + ], + [ + -83.586121, + 65.854158 + ], + [ + -83.485275, + 65.800814 + ], + [ + -83.28389, + 65.834154 + ] + ] + ], + [ + [ + [ + -83.57695, + 65.983049 + ], + [ + -83.493057, + 66.012774 + ], + [ + -83.604446, + 65.987764 + ], + [ + -83.57695, + 65.983049 + ] + ] + ], + [ + [ + [ + -83.674438, + 69.719988 + ], + [ + -83.708618, + 69.759432 + ], + [ + -83.529175, + 69.786654 + ], + [ + -83.917221, + 69.778597 + ], + [ + -83.674438, + 69.719988 + ] + ] + ], + [ + [ + [ + -83.608612, + 66.044146 + ], + [ + -83.570847, + 66.056368 + ], + [ + -83.607224, + 66.077486 + ], + [ + -83.65361, + 66.041368 + ], + [ + -83.608612, + 66.044146 + ] + ] + ], + [ + [ + [ + -83.649445, + 66.083605 + ], + [ + -83.587784, + 66.117205 + ], + [ + -83.685272, + 66.121096 + ], + [ + -83.649445, + 66.083605 + ] + ] + ], + [ + [ + [ + -83.882767, + 65.666933 + ], + [ + -83.872772, + 65.712206 + ], + [ + -83.942215, + 65.686922 + ], + [ + -83.882767, + 65.666933 + ] + ] + ], + [ + [ + [ + -83.962784, + 76.426378 + ], + [ + -83.908051, + 76.464998 + ], + [ + -84.13945, + 76.507219 + ], + [ + -83.962784, + 76.426378 + ] + ] + ], + [ + [ + [ + -84.265289, + 66.177767 + ], + [ + -84.273056, + 66.196642 + ], + [ + -84.363617, + 66.209429 + ], + [ + -84.265289, + 66.177767 + ] + ] + ], + [ + [ + [ + -84.579727, + 66.141375 + ], + [ + -84.678604, + 66.182482 + ], + [ + -84.639999, + 66.140551 + ], + [ + -84.579727, + 66.141375 + ] + ] + ], + [ + [ + [ + -84.722778, + 65.546099 + ], + [ + -84.58667, + 65.692202 + ], + [ + -85.17305, + 65.994707 + ], + [ + -84.722778, + 65.546099 + ] + ] + ], + [ + [ + [ + -85.285278, + 77.587496 + ], + [ + -85.53833, + 77.53998 + ], + [ + -84.813889, + 77.49721 + ], + [ + -85.285278, + 77.587496 + ] + ] + ], + [ + [ + [ + -92.727783, + 81.305544 + ], + [ + -94.268616, + 81.346102 + ], + [ + -93.091675, + 81.15999 + ], + [ + -95.534164, + 80.81888 + ], + [ + -93.786392, + 80.525545 + ], + [ + -96.681671, + 80.342211 + ], + [ + -94.083893, + 80.175539 + ], + [ + -94.748886, + 80.079988 + ], + [ + -94.383621, + 79.982485 + ], + [ + -96.80278, + 80.090822 + ], + [ + -95.853333, + 79.646105 + ], + [ + -94.282776, + 79.757494 + ], + [ + -95.779449, + 79.425814 + ], + [ + -95.087555, + 79.270754 + ], + [ + -93.090561, + 79.48221 + ], + [ + -91.119995, + 79.386385 + ], + [ + -92.694717, + 79.257219 + ], + [ + -92.238892, + 79.205553 + ], + [ + -90.363266, + 79.246813 + ], + [ + -94.288605, + 78.986376 + ], + [ + -93.037781, + 78.765825 + ], + [ + -93.813614, + 78.765825 + ], + [ + -93.271118, + 78.584154 + ], + [ + -91.635284, + 78.546099 + ], + [ + -92.987503, + 78.465548 + ], + [ + -92.058334, + 78.208879 + ], + [ + -89.452499, + 78.162493 + ], + [ + -89.98056, + 78.609713 + ], + [ + -88.81778, + 78.154436 + ], + [ + -88.535553, + 78.413042 + ], + [ + -88.804169, + 78.609713 + ], + [ + -87.90834, + 78.548601 + ], + [ + -88.162506, + 78.990541 + ], + [ + -87.724716, + 79.075823 + ], + [ + -88.003342, + 78.807207 + ], + [ + -87.615829, + 78.645266 + ], + [ + -86.983322, + 79.056643 + ], + [ + -84.904175, + 79.267763 + ], + [ + -85.681946, + 79.613314 + ], + [ + -86.070847, + 79.434145 + ], + [ + -86.046112, + 79.56888 + ], + [ + -86.334166, + 79.64554 + ], + [ + -87.462509, + 79.534716 + ], + [ + -86.957779, + 79.903597 + ], + [ + -88.065552, + 80.120821 + ], + [ + -87.562775, + 80.179155 + ], + [ + -87.683884, + 80.410265 + ], + [ + -88.61528, + 80.403872 + ], + [ + -88.145554, + 80.093874 + ], + [ + -88.776672, + 80.131365 + ], + [ + -89.244995, + 80.517214 + ], + [ + -90.766403, + 80.565538 + ], + [ + -92.727783, + 81.305544 + ] + ] + ], + [ + [ + [ + -85.019165, + 66.057207 + ], + [ + -85.099731, + 66.089708 + ], + [ + -85.14917, + 66.050539 + ], + [ + -85.019165, + 66.057207 + ] + ] + ], + [ + [ + [ + -85.119446, + 69.014711 + ], + [ + -85.061386, + 69.036654 + ], + [ + -85.170273, + 69.035814 + ], + [ + -85.119446, + 69.014711 + ] + ] + ], + [ + [ + [ + -86.319458, + 78.883608 + ], + [ + -85.167221, + 79.02083 + ], + [ + -86.484436, + 78.892763 + ], + [ + -86.319458, + 78.883608 + ] + ] + ], + [ + [ + [ + -85.265289, + 69.072496 + ], + [ + -85.241943, + 69.091372 + ], + [ + -85.398895, + 69.086107 + ], + [ + -85.265289, + 69.072496 + ] + ] + ], + [ + [ + [ + -85.341675, + 68.983599 + ], + [ + -85.369995, + 69.00194 + ], + [ + -85.453064, + 69.005831 + ], + [ + -85.341675, + 68.983599 + ] + ] + ], + [ + [ + [ + -85.847229, + 72.294146 + ], + [ + -86.110001, + 72.289705 + ], + [ + -85.889175, + 72.21805 + ], + [ + -85.847229, + 72.294146 + ] + ] + ], + [ + [ + [ + -86.426392, + 68.069155 + ], + [ + -86.675003, + 68.306093 + ], + [ + -86.992767, + 68.066668 + ], + [ + -86.583618, + 67.725267 + ], + [ + -86.426392, + 68.069155 + ] + ] + ], + [ + [ + [ + -87.091385, + 70.15027 + ], + [ + -87.378326, + 70.096102 + ], + [ + -86.456665, + 70.007494 + ], + [ + -87.091385, + 70.15027 + ] + ] + ], + [ + [ + [ + -88.287216, + 78.243319 + ], + [ + -88.043335, + 78.436647 + ], + [ + -88.409729, + 78.292208 + ], + [ + -88.287216, + 78.243319 + ] + ] + ], + [ + [ + [ + -88.430283, + 65.455263 + ], + [ + -88.394165, + 65.465822 + ], + [ + -88.512222, + 65.469713 + ], + [ + -88.430283, + 65.455263 + ] + ] + ], + [ + [ + [ + -89.398895, + 76.435534 + ], + [ + -89.533066, + 76.476656 + ], + [ + -89.625549, + 76.444979 + ], + [ + -89.398895, + 76.435534 + ] + ] + ], + [ + [ + [ + -90.603058, + 77.628313 + ], + [ + -91.208893, + 77.414995 + ], + [ + -89.636124, + 77.339159 + ], + [ + -90.603058, + 77.628313 + ] + ] + ], + [ + [ + [ + -89.934433, + 76.476656 + ], + [ + -89.673889, + 76.73749 + ], + [ + -90.599991, + 76.746645 + ], + [ + -89.934433, + 76.476656 + ] + ] + ], + [ + [ + [ + -89.944443, + 68.662203 + ], + [ + -89.781677, + 68.766665 + ], + [ + -89.944443, + 68.84749 + ], + [ + -89.944443, + 68.662203 + ] + ] + ], + [ + [ + [ + -89.808884, + 64.056368 + ], + [ + -89.867767, + 64.095827 + ], + [ + -89.861115, + 64.071657 + ], + [ + -89.808884, + 64.056368 + ] + ] + ], + [ + [ + [ + -89.988892, + 73.988314 + ], + [ + -89.901947, + 74.037767 + ], + [ + -90.285004, + 74.029711 + ], + [ + -89.988892, + 73.988314 + ] + ] + ], + [ + [ + [ + -89.90834, + 68.917757 + ], + [ + -89.920837, + 69.010271 + ], + [ + -90.070557, + 68.981936 + ], + [ + -89.90834, + 68.917757 + ] + ] + ], + [ + [ + [ + -90.12471, + 69.049425 + ], + [ + -90.147232, + 69.103594 + ], + [ + -90.276398, + 69.125811 + ], + [ + -90.12471, + 69.049425 + ] + ] + ], + [ + [ + [ + -92.638062, + 74.103045 + ], + [ + -94.732224, + 74.095263 + ], + [ + -95.327789, + 73.909151 + ], + [ + -94.618057, + 73.651384 + ], + [ + -95.67305, + 73.723314 + ], + [ + -95.612564, + 73.610979 + ], + [ + -95.700287, + 73.553865 + ], + [ + -95.683884, + 73.450274 + ], + [ + -95.575012, + 73.164995 + ], + [ + -95.683319, + 73.075823 + ], + [ + -95.673615, + 72.813875 + ], + [ + -95.133331, + 72.460268 + ], + [ + -95.171112, + 72.139162 + ], + [ + -94.752228, + 72.153322 + ], + [ + -95.213333, + 71.994432 + ], + [ + -94.063049, + 71.978319 + ], + [ + -93.463333, + 72.462206 + ], + [ + -94.315552, + 72.763048 + ], + [ + -92.09584, + 72.743044 + ], + [ + -90.194443, + 73.899721 + ], + [ + -92.638062, + 74.103045 + ] + ] + ], + [ + [ + [ + -90.329453, + 69.235811 + ], + [ + -90.200836, + 69.444429 + ], + [ + -90.51445, + 69.363878 + ], + [ + -90.329453, + 69.235811 + ] + ] + ], + [ + [ + [ + -90.512512, + 69.202486 + ], + [ + -90.582504, + 69.359713 + ], + [ + -90.775833, + 69.329988 + ], + [ + -90.512512, + 69.202486 + ] + ] + ], + [ + [ + [ + -90.653885, + 63.441103 + ], + [ + -90.598053, + 63.454439 + ], + [ + -90.757233, + 63.49444 + ], + [ + -90.653885, + 63.441103 + ] + ] + ], + [ + [ + [ + -90.79361, + 63.494158 + ], + [ + -90.674713, + 63.513887 + ], + [ + -90.968338, + 63.550272 + ], + [ + -90.79361, + 63.494158 + ] + ] + ], + [ + [ + [ + -90.93306, + 77.254442 + ], + [ + -91.299164, + 77.21776 + ], + [ + -90.713623, + 77.200823 + ], + [ + -90.93306, + 77.254442 + ] + ] + ], + [ + [ + [ + -91.110001, + 69.549425 + ], + [ + -90.919159, + 69.606096 + ], + [ + -91.108887, + 69.602205 + ], + [ + -91.110001, + 69.549425 + ] + ] + ], + [ + [ + [ + -90.979996, + 62.65777 + ], + [ + -91.080292, + 62.686937 + ], + [ + -91.271118, + 62.679995 + ], + [ + -90.979996, + 62.65777 + ] + ] + ], + [ + [ + [ + -91.520004, + 69.731371 + ], + [ + -91.409164, + 69.874987 + ], + [ + -91.73555, + 69.789156 + ], + [ + -91.520004, + 69.731371 + ] + ] + ], + [ + [ + [ + -91.572784, + 62.627489 + ], + [ + -91.685547, + 62.666941 + ], + [ + -91.66806, + 62.649164 + ], + [ + -91.572784, + 62.627489 + ] + ] + ], + [ + [ + [ + -91.718338, + 81.54915 + ], + [ + -91.58223, + 81.578051 + ], + [ + -91.960556, + 81.594988 + ], + [ + -91.718338, + 81.54915 + ] + ] + ], + [ + [ + [ + -91.819168, + 69.821657 + ], + [ + -91.639725, + 69.854982 + ], + [ + -91.864166, + 69.844149 + ], + [ + -91.819168, + 69.821657 + ] + ] + ], + [ + [ + [ + -92.223618, + 62.355555 + ], + [ + -92.139725, + 62.399721 + ], + [ + -92.372498, + 62.391939 + ], + [ + -92.223618, + 62.355555 + ] + ] + ], + [ + [ + [ + -92.411118, + 62.393885 + ], + [ + -92.531113, + 62.431383 + ], + [ + -92.600555, + 62.386942 + ], + [ + -92.411118, + 62.393885 + ] + ] + ], + [ + [ + [ + -92.954178, + 63.871103 + ], + [ + -92.978333, + 63.908327 + ], + [ + -93.094452, + 63.904993 + ], + [ + -92.954178, + 63.871103 + ] + ] + ], + [ + [ + [ + -92.963898, + 61.87916 + ], + [ + -93.226105, + 61.908327 + ], + [ + -93.070282, + 61.825274 + ], + [ + -92.963898, + 61.87916 + ] + ] + ], + [ + [ + [ + -95.405838, + 77.763887 + ], + [ + -96.328888, + 77.604982 + ], + [ + -93.570557, + 77.437761 + ], + [ + -93.101944, + 77.662493 + ], + [ + -95.405838, + 77.763887 + ] + ] + ], + [ + [ + [ + -94.363892, + 75.590822 + ], + [ + -95.749725, + 75.513323 + ], + [ + -96.616943, + 74.991091 + ], + [ + -93.467773, + 74.703051 + ], + [ + -93.487503, + 75.256655 + ], + [ + -94.363892, + 75.590822 + ] + ] + ], + [ + [ + [ + -94.366653, + 78.159151 + ], + [ + -94.481949, + 78.268328 + ], + [ + -94.694153, + 78.258608 + ], + [ + -94.366653, + 78.159151 + ] + ] + ], + [ + [ + [ + -94.405563, + 75.750826 + ], + [ + -94.481949, + 75.974428 + ], + [ + -94.904449, + 75.936922 + ], + [ + -94.405563, + 75.750826 + ] + ] + ], + [ + [ + [ + -94.843613, + 76.12221 + ], + [ + -95.147232, + 76.11693 + ], + [ + -95.006668, + 76.047487 + ], + [ + -94.843613, + 76.12221 + ] + ] + ], + [ + [ + [ + -96.768066, + 78.684145 + ], + [ + -98.144455, + 78.816668 + ], + [ + -98.371658, + 78.719988 + ], + [ + -98.022232, + 78.536379 + ], + [ + -98.411392, + 78.495256 + ], + [ + -96.870544, + 78.133333 + ], + [ + -97.775558, + 78.03499 + ], + [ + -97.096954, + 77.803316 + ], + [ + -94.886948, + 78.10277 + ], + [ + -95.39917, + 78.231096 + ], + [ + -94.877777, + 78.391375 + ], + [ + -96.768066, + 78.684145 + ] + ] + ], + [ + [ + [ + -95.030838, + 80.670259 + ], + [ + -96.14917, + 80.664705 + ], + [ + -94.970551, + 80.635271 + ], + [ + -95.030838, + 80.670259 + ] + ] + ], + [ + [ + [ + -97.397781, + 69.685534 + ], + [ + -98.012222, + 69.88582 + ], + [ + -98.367767, + 69.601091 + ], + [ + -98.003891, + 69.435808 + ], + [ + -98.556656, + 69.580828 + ], + [ + -98.393341, + 69.308031 + ], + [ + -99.59639, + 69.02054 + ], + [ + -96.530563, + 68.444979 + ], + [ + -95.206955, + 68.850267 + ], + [ + -97.397781, + 69.685534 + ] + ] + ], + [ + [ + [ + -95.224442, + 77.167208 + ], + [ + -95.35611, + 77.236376 + ], + [ + -95.639999, + 77.237764 + ], + [ + -95.224442, + 77.167208 + ] + ] + ], + [ + [ + [ + -95.339996, + 71.731371 + ], + [ + -95.265839, + 71.836657 + ], + [ + -95.488052, + 71.745531 + ], + [ + -95.339996, + 71.731371 + ] + ] + ], + [ + [ + [ + -95.361664, + 67.197756 + ], + [ + -95.30722, + 67.252489 + ], + [ + -95.55278, + 67.235262 + ], + [ + -95.361664, + 67.197756 + ] + ] + ], + [ + [ + [ + -95.311111, + 74.497759 + ], + [ + -95.517502, + 74.630266 + ], + [ + -95.866394, + 74.57416 + ], + [ + -95.311111, + 74.497759 + ] + ] + ], + [ + [ + [ + -95.488892, + 69.565538 + ], + [ + -95.919998, + 69.595263 + ], + [ + -95.990829, + 69.353319 + ], + [ + -95.815826, + 69.562761 + ], + [ + -95.669159, + 69.507494 + ], + [ + -95.736938, + 69.324434 + ], + [ + -95.515839, + 69.330828 + ], + [ + -95.488892, + 69.565538 + ] + ] + ], + [ + [ + [ + -95.669724, + 73.604982 + ], + [ + -95.655563, + 73.616655 + ], + [ + -95.71167, + 73.6122 + ], + [ + -95.669724, + 73.604982 + ] + ] + ], + [ + [ + [ + -95.756958, + 72.892488 + ], + [ + -95.702499, + 72.933596 + ], + [ + -95.786667, + 73.012499 + ], + [ + -95.756958, + 72.892488 + ] + ] + ], + [ + [ + [ + -95.733887, + 73.128862 + ], + [ + -95.893341, + 73.095827 + ], + [ + -95.745544, + 73.049425 + ], + [ + -95.733887, + 73.128862 + ] + ] + ], + [ + [ + [ + -95.735001, + 72.798876 + ], + [ + -95.769165, + 72.878038 + ], + [ + -95.854172, + 72.853594 + ], + [ + -95.735001, + 72.798876 + ] + ] + ], + [ + [ + [ + -95.79277, + 75.899721 + ], + [ + -95.735825, + 75.968325 + ], + [ + -95.899994, + 75.953875 + ], + [ + -95.79277, + 75.899721 + ] + ] + ], + [ + [ + [ + -95.910004, + 75.560259 + ], + [ + -97.053055, + 75.492205 + ], + [ + -96.851105, + 75.350267 + ], + [ + -95.910004, + 75.560259 + ] + ] + ], + [ + [ + [ + -96.170546, + 67.773043 + ], + [ + -95.997498, + 67.820833 + ], + [ + -96.077225, + 67.838884 + ], + [ + -96.170546, + 67.773043 + ] + ] + ], + [ + [ + [ + -96.663055, + 69.569719 + ], + [ + -96.233887, + 69.359713 + ], + [ + -96.096115, + 69.46805 + ], + [ + -96.663055, + 69.569719 + ] + ] + ], + [ + [ + [ + -99.804558, + 73.889101 + ], + [ + -101.120003, + 73.727205 + ], + [ + -100.430557, + 73.406939 + ], + [ + -101.621384, + 73.490267 + ], + [ + -99.771666, + 73.20804 + ], + [ + -100.580002, + 73.173037 + ], + [ + -100.031387, + 72.934984 + ], + [ + -100.45195, + 73.02054 + ], + [ + -100.412216, + 72.74193 + ], + [ + -101.297501, + 72.709993 + ], + [ + -102.137222, + 73.086931 + ], + [ + -102.741669, + 72.724154 + ], + [ + -100.634453, + 72.185534 + ], + [ + -98.729721, + 71.27054 + ], + [ + -98.037506, + 71.526659 + ], + [ + -98.493881, + 71.713884 + ], + [ + -98.267227, + 71.904161 + ], + [ + -98.218063, + 71.649721 + ], + [ + -97.505005, + 71.61165 + ], + [ + -96.493057, + 71.914156 + ], + [ + -96.866943, + 72.041094 + ], + [ + -96.483063, + 72.113039 + ], + [ + -96.871933, + 72.321108 + ], + [ + -96.29834, + 72.415819 + ], + [ + -96.517502, + 72.714708 + ], + [ + -97.196655, + 72.604433 + ], + [ + -97.225006, + 72.939974 + ], + [ + -97.846954, + 73.048601 + ], + [ + -98.450562, + 72.874987 + ], + [ + -97.171936, + 73.35277 + ], + [ + -97.668335, + 73.483324 + ], + [ + -96.962219, + 73.738588 + ], + [ + -97.761948, + 73.911928 + ], + [ + -99.235001, + 73.737764 + ], + [ + -99.804558, + 73.889101 + ] + ] + ], + [ + [ + [ + -96.384171, + 68.200823 + ], + [ + -96.317505, + 68.231936 + ], + [ + -96.462784, + 68.216097 + ], + [ + -96.384171, + 68.200823 + ] + ] + ], + [ + [ + [ + -96.579178, + 75.736925 + ], + [ + -96.455841, + 75.817766 + ], + [ + -96.717224, + 75.739702 + ], + [ + -96.579178, + 75.736925 + ] + ] + ], + [ + [ + [ + -96.563324, + 71.292208 + ], + [ + -96.638611, + 71.226091 + ], + [ + -96.480835, + 71.208879 + ], + [ + -96.472504, + 71.23221 + ], + [ + -96.563324, + 71.292208 + ] + ] + ], + [ + [ + [ + -96.808334, + 72.926378 + ], + [ + -96.575012, + 73.074999 + ], + [ + -97.141113, + 73.085543 + ], + [ + -96.808334, + 72.926378 + ] + ] + ], + [ + [ + [ + -96.754181, + 72.721376 + ], + [ + -96.713333, + 72.893328 + ], + [ + -97.011124, + 72.77582 + ], + [ + -96.754181, + 72.721376 + ] + ] + ], + [ + [ + [ + -96.954453, + 75.595537 + ], + [ + -96.715836, + 75.65999 + ], + [ + -97.005005, + 75.604433 + ], + [ + -96.954453, + 75.595537 + ] + ] + ], + [ + [ + [ + -96.760559, + 69.545534 + ], + [ + -96.902222, + 69.597765 + ], + [ + -96.883896, + 69.559145 + ], + [ + -96.760559, + 69.545534 + ] + ] + ], + [ + [ + [ + -96.958893, + 71.704439 + ], + [ + -96.844452, + 71.744143 + ], + [ + -97.050278, + 71.704165 + ], + [ + -96.958893, + 71.704439 + ] + ] + ], + [ + [ + [ + -96.905838, + 73.220827 + ], + [ + -96.967773, + 73.273317 + ], + [ + -97.117767, + 73.249147 + ], + [ + -96.905838, + 73.220827 + ] + ] + ], + [ + [ + [ + -97.045273, + 76.797762 + ], + [ + -96.997223, + 76.813311 + ], + [ + -97.200836, + 76.857485 + ], + [ + -97.045273, + 76.797762 + ] + ] + ], + [ + [ + [ + -97.256393, + 76.967485 + ], + [ + -97.092224, + 77.01082 + ], + [ + -97.473053, + 76.980547 + ], + [ + -97.256393, + 76.967485 + ] + ] + ], + [ + [ + [ + -97.175827, + 75.244143 + ], + [ + -97.153061, + 75.315264 + ], + [ + -97.275284, + 75.34749 + ], + [ + -97.175827, + 75.244143 + ] + ] + ], + [ + [ + [ + -97.325012, + 69.889162 + ], + [ + -97.226944, + 69.873598 + ], + [ + -97.488602, + 69.943865 + ], + [ + -97.325012, + 69.889162 + ] + ] + ], + [ + [ + [ + -97.652786, + 74.455828 + ], + [ + -97.256958, + 74.590548 + ], + [ + -97.792496, + 74.485811 + ], + [ + -97.652786, + 74.455828 + ] + ] + ], + [ + [ + [ + -98.41806, + 76.668322 + ], + [ + -99.079727, + 76.397219 + ], + [ + -99.684433, + 76.633333 + ], + [ + -100.982498, + 76.504992 + ], + [ + -99.414444, + 76.158327 + ], + [ + -100.152786, + 76.132479 + ], + [ + -99.439438, + 75.970537 + ], + [ + -99.888336, + 75.886385 + ], + [ + -101.885834, + 76.444979 + ], + [ + -102.165833, + 76.238314 + ], + [ + -101.387787, + 76.25194 + ], + [ + -101.907227, + 76.0786 + ], + [ + -101.18222, + 75.779711 + ], + [ + -102.883904, + 75.619143 + ], + [ + -98.950287, + 75.709993 + ], + [ + -100.778877, + 75.350542 + ], + [ + -99.987778, + 75.236101 + ], + [ + -100.546951, + 75.199419 + ], + [ + -100.145844, + 74.991091 + ], + [ + -97.582504, + 75.137499 + ], + [ + -98.165283, + 75.334154 + ], + [ + -97.744156, + 75.571108 + ], + [ + -97.280838, + 75.396944 + ], + [ + -97.386673, + 75.682756 + ], + [ + -97.938599, + 75.741365 + ], + [ + -97.509171, + 76.188875 + ], + [ + -98.41806, + 76.668322 + ] + ] + ], + [ + [ + [ + -97.502792, + 67.624422 + ], + [ + -97.337784, + 67.724154 + ], + [ + -97.560547, + 67.692751 + ], + [ + -97.502792, + 67.624422 + ] + ] + ], + [ + [ + [ + -98.91861, + 73.806093 + ], + [ + -97.637787, + 74.075548 + ], + [ + -99.4375, + 73.896944 + ], + [ + -98.91861, + 73.806093 + ] + ] + ], + [ + [ + [ + -98.657227, + 74.299425 + ], + [ + -98.511124, + 74.318331 + ], + [ + -98.864716, + 74.304705 + ], + [ + -98.657227, + 74.299425 + ] + ] + ], + [ + [ + [ + -99.471664, + 80.109713 + ], + [ + -100.17749, + 79.90999 + ], + [ + -98.644165, + 79.794146 + ], + [ + -99.471664, + 80.109713 + ] + ] + ], + [ + [ + [ + -98.650284, + 68.180269 + ], + [ + -98.693329, + 68.21361 + ], + [ + -98.704453, + 68.176088 + ], + [ + -98.650284, + 68.180269 + ] + ] + ], + [ + [ + [ + -98.895554, + 71.277773 + ], + [ + -98.955841, + 71.352205 + ], + [ + -99.008896, + 71.313875 + ], + [ + -98.895554, + 71.277773 + ] + ] + ], + [ + [ + [ + -103.593887, + 79.325823 + ], + [ + -105.628601, + 79.161379 + ], + [ + -104.681107, + 79.016665 + ], + [ + -104.988327, + 78.798326 + ], + [ + -104.203613, + 78.991655 + ], + [ + -103.821671, + 78.898333 + ], + [ + -104.198883, + 78.770266 + ], + [ + -103.316391, + 78.734423 + ], + [ + -104.042221, + 78.629976 + ], + [ + -103.523621, + 78.496096 + ], + [ + -105.051392, + 78.494432 + ], + [ + -104.467499, + 78.265276 + ], + [ + -102.806107, + 78.377764 + ], + [ + -102.618607, + 78.241365 + ], + [ + -101.035553, + 78.196093 + ], + [ + -99.906952, + 77.778597 + ], + [ + -98.945831, + 78.055819 + ], + [ + -99.793884, + 78.297213 + ], + [ + -99.529724, + 78.578051 + ], + [ + -99.952499, + 78.725542 + ], + [ + -101.648903, + 79.075823 + ], + [ + -102.560822, + 78.869707 + ], + [ + -103.593887, + 79.325823 + ] + ] + ], + [ + [ + [ + -98.951401, + 67.979982 + ], + [ + -98.975555, + 68.077211 + ], + [ + -99.078613, + 68.045595 + ], + [ + -98.951401, + 67.979982 + ] + ] + ], + [ + [ + [ + -99.045273, + 68.423876 + ], + [ + -99.159164, + 68.451097 + ], + [ + -99.054993, + 68.408327 + ], + [ + -99.045273, + 68.423876 + ] + ] + ], + [ + [ + [ + -99.155563, + 80.1747 + ], + [ + -99.41806, + 80.157213 + ], + [ + -99.113892, + 80.163881 + ], + [ + -99.155563, + 80.1747 + ] + ] + ], + [ + [ + [ + -99.996948, + 76.734423 + ], + [ + -100.128601, + 76.721926 + ], + [ + -99.430557, + 76.699419 + ], + [ + -99.996948, + 76.734423 + ] + ] + ], + [ + [ + [ + -99.999435, + 68.94359 + ], + [ + -100.053047, + 69.10248 + ], + [ + -100.258621, + 69.041933 + ], + [ + -99.999435, + 68.94359 + ] + ] + ], + [ + [ + [ + -100.074722, + 68.349718 + ], + [ + -100.230827, + 68.319719 + ], + [ + -100.099442, + 68.278597 + ], + [ + -100.074722, + 68.349718 + ] + ] + ], + [ + [ + [ + -100.172234, + 75.601381 + ], + [ + -101.039436, + 75.567217 + ], + [ + -100.454178, + 75.546373 + ], + [ + -100.172234, + 75.601381 + ] + ] + ], + [ + [ + [ + -100.175552, + 68.79471 + ], + [ + -100.599991, + 69.000551 + ], + [ + -100.623047, + 68.761934 + ], + [ + -100.175552, + 68.79471 + ] + ] + ], + [ + [ + [ + -100.230827, + 70.451662 + ], + [ + -100.651947, + 70.66971 + ], + [ + -100.670837, + 70.55887 + ], + [ + -100.230827, + 70.451662 + ] + ] + ], + [ + [ + [ + -101.380547, + 76.553591 + ], + [ + -100.248894, + 76.734713 + ], + [ + -101.688316, + 76.586382 + ], + [ + -101.380547, + 76.553591 + ] + ] + ], + [ + [ + [ + -100.710564, + 68.402483 + ], + [ + -100.793327, + 68.468874 + ], + [ + -100.889717, + 68.452776 + ], + [ + -100.710564, + 68.402483 + ] + ] + ], + [ + [ + [ + -100.740547, + 68.596376 + ], + [ + -100.813889, + 68.619143 + ], + [ + -100.882492, + 68.611376 + ], + [ + -100.740547, + 68.596376 + ] + ] + ], + [ + [ + [ + -100.765289, + 70.250002 + ], + [ + -100.748047, + 70.316942 + ], + [ + -100.851936, + 70.323885 + ], + [ + -100.765289, + 70.250002 + ] + ] + ], + [ + [ + [ + -100.849731, + 69.925539 + ], + [ + -100.806953, + 69.985811 + ], + [ + -100.858612, + 69.97777 + ], + [ + -100.849731, + 69.925539 + ] + ] + ], + [ + [ + [ + -113.997498, + 72.799425 + ], + [ + -113.96167, + 73.153048 + ], + [ + -114.561661, + 73.375536 + ], + [ + -117.353607, + 72.916384 + ], + [ + -118.536942, + 72.493868 + ], + [ + -118.108046, + 72.237764 + ], + [ + -119.134453, + 71.765276 + ], + [ + -117.696381, + 71.666094 + ], + [ + -118.309433, + 71.465822 + ], + [ + -118.112213, + 71.373598 + ], + [ + -115.057503, + 71.523043 + ], + [ + -118.419449, + 70.99193 + ], + [ + -117.559433, + 70.597216 + ], + [ + -113.938316, + 70.715273 + ], + [ + -111.487213, + 70.336931 + ], + [ + -112.564713, + 70.19832 + ], + [ + -115.167503, + 70.277773 + ], + [ + -117.436111, + 69.993044 + ], + [ + -116.525833, + 69.407488 + ], + [ + -113.521118, + 69.178591 + ], + [ + -113.676941, + 68.811098 + ], + [ + -113.03389, + 68.494982 + ], + [ + -113.269447, + 68.453875 + ], + [ + -109.104721, + 68.710543 + ], + [ + -107.342215, + 69.018877 + ], + [ + -106.602219, + 69.498873 + ], + [ + -106.406113, + 69.180544 + ], + [ + -104.915009, + 69.070543 + ], + [ + -105.14473, + 68.899157 + ], + [ + -102.89473, + 68.79999 + ], + [ + -101.75473, + 69.175814 + ], + [ + -102.313049, + 69.498323 + ], + [ + -103.194992, + 69.114428 + ], + [ + -103.023331, + 69.493868 + ], + [ + -103.476936, + 69.69359 + ], + [ + -100.870003, + 69.788317 + ], + [ + -100.999733, + 70.172762 + ], + [ + -103.556381, + 70.600817 + ], + [ + -104.585831, + 71.066668 + ], + [ + -104.35527, + 71.574434 + ], + [ + -105.326111, + 72.74637 + ], + [ + -106.761398, + 73.293047 + ], + [ + -108.291946, + 73.153597 + ], + [ + -107.778877, + 72.13666 + ], + [ + -107.252502, + 71.89554 + ], + [ + -107.828888, + 71.604433 + ], + [ + -108.242767, + 71.718599 + ], + [ + -108.621384, + 72.54999 + ], + [ + -109.043327, + 72.567492 + ], + [ + -109.227783, + 72.76166 + ], + [ + -109.75473, + 72.878588 + ], + [ + -109.659439, + 72.92499 + ], + [ + -110.756668, + 72.971376 + ], + [ + -109.770279, + 72.722216 + ], + [ + -110.291107, + 72.671099 + ], + [ + -109.782784, + 72.42943 + ], + [ + -110.701401, + 72.575548 + ], + [ + -111.663887, + 72.276384 + ], + [ + -111.905563, + 72.349718 + ], + [ + -111.220001, + 72.718325 + ], + [ + -113.028061, + 73.009432 + ], + [ + -113.657501, + 72.611376 + ], + [ + -114.604721, + 72.601656 + ], + [ + -113.997498, + 72.799425 + ] + ] + ], + [ + [ + [ + -101.711403, + 77.901659 + ], + [ + -102.529715, + 77.834154 + ], + [ + -100.925552, + 77.7372 + ], + [ + -101.711403, + 77.901659 + ] + ] + ], + [ + [ + [ + -101.053047, + 69.504442 + ], + [ + -101.387222, + 69.537767 + ], + [ + -101.230293, + 69.368593 + ], + [ + -101.053047, + 69.504442 + ] + ] + ], + [ + [ + [ + -101.664169, + 69.083605 + ], + [ + -101.495003, + 69.165545 + ], + [ + -101.695267, + 69.206942 + ], + [ + -101.664169, + 69.083605 + ] + ] + ], + [ + [ + [ + -101.831123, + 68.566942 + ], + [ + -101.693878, + 68.768053 + ], + [ + -102.316391, + 68.672213 + ], + [ + -101.831123, + 68.566942 + ] + ] + ], + [ + [ + [ + -103.137787, + 75.742754 + ], + [ + -101.983322, + 75.945818 + ], + [ + -103.382767, + 75.765551 + ], + [ + -103.137787, + 75.742754 + ] + ] + ], + [ + [ + [ + -102.145279, + 69.648607 + ], + [ + -102.134743, + 69.724703 + ], + [ + -102.241379, + 69.710268 + ], + [ + -102.145279, + 69.648607 + ] + ] + ], + [ + [ + [ + -102.389999, + 76.083605 + ], + [ + -103.971657, + 75.938311 + ], + [ + -102.319458, + 76.024706 + ], + [ + -102.389999, + 76.083605 + ] + ] + ], + [ + [ + [ + -102.530838, + 76.223314 + ], + [ + -104.482773, + 76.142214 + ], + [ + -103.342215, + 76.036654 + ], + [ + -102.530838, + 76.223314 + ] + ] + ], + [ + [ + [ + -102.60083, + 68.813311 + ], + [ + -102.612778, + 68.84305 + ], + [ + -102.70723, + 68.816668 + ], + [ + -102.60083, + 68.813311 + ] + ] + ], + [ + [ + [ + -103.056953, + 78.119707 + ], + [ + -102.782227, + 78.238588 + ], + [ + -103.282227, + 78.157763 + ], + [ + -103.056953, + 78.119707 + ] + ] + ], + [ + [ + [ + -104.053879, + 76.563036 + ], + [ + -104.665833, + 76.551653 + ], + [ + -104.335007, + 76.318605 + ], + [ + -103.004463, + 76.429979 + ], + [ + -104.053879, + 76.563036 + ] + ] + ], + [ + [ + [ + -103.17778, + 70.622484 + ], + [ + -103.210007, + 70.676653 + ], + [ + -103.281387, + 70.638048 + ], + [ + -103.17778, + 70.622484 + ] + ] + ], + [ + [ + [ + -103.35083, + 70.687197 + ], + [ + -103.34111, + 70.720263 + ], + [ + -103.462784, + 70.73221 + ], + [ + -103.35083, + 70.687197 + ] + ] + ], + [ + [ + [ + -103.917503, + 75.054979 + ], + [ + -103.583069, + 75.164705 + ], + [ + -104.18222, + 75.435534 + ], + [ + -104.857224, + 75.164705 + ], + [ + -103.917503, + 75.054979 + ] + ] + ], + [ + [ + [ + -104.252502, + 77.072771 + ], + [ + -104.001106, + 77.13582 + ], + [ + -104.431671, + 77.098879 + ], + [ + -104.252502, + 77.072771 + ] + ] + ], + [ + [ + [ + -105.010277, + 77.408037 + ], + [ + -106.094727, + 77.724154 + ], + [ + -105.246948, + 77.193865 + ], + [ + -104.365547, + 77.230272 + ], + [ + -105.010277, + 77.408037 + ] + ] + ], + [ + [ + [ + -104.453056, + 68.102205 + ], + [ + -104.377213, + 68.199709 + ], + [ + -104.553879, + 68.161654 + ], + [ + -104.453056, + 68.102205 + ] + ] + ], + [ + [ + [ + -105.089447, + 73.735262 + ], + [ + -107.035553, + 73.480822 + ], + [ + -105.275558, + 72.845537 + ], + [ + -104.483063, + 73.534426 + ], + [ + -105.089447, + 73.735262 + ] + ] + ], + [ + [ + [ + -104.545273, + 68.396105 + ], + [ + -104.682503, + 68.573885 + ], + [ + -105.08168, + 68.546373 + ], + [ + -104.545273, + 68.396105 + ] + ] + ], + [ + [ + [ + -105.139183, + 68.536379 + ], + [ + -105.292221, + 68.582216 + ], + [ + -105.058884, + 68.504168 + ], + [ + -105.139183, + 68.536379 + ] + ] + ], + [ + [ + [ + -108.651108, + 76.813601 + ], + [ + -110.393066, + 76.391939 + ], + [ + -109.313606, + 76.109148 + ], + [ + -110.055557, + 75.890551 + ], + [ + -108.82695, + 75.686647 + ], + [ + -108.899437, + 75.476381 + ], + [ + -111.247223, + 75.518053 + ], + [ + -111.45195, + 75.836657 + ], + [ + -112.225563, + 75.811098 + ], + [ + -111.727783, + 75.921648 + ], + [ + -112.453888, + 76.176378 + ], + [ + -114.899727, + 76.516939 + ], + [ + -115.925003, + 76.286654 + ], + [ + -114.662514, + 76.16054 + ], + [ + -116.296112, + 76.188585 + ], + [ + -116.734161, + 75.922487 + ], + [ + -114.817497, + 75.880816 + ], + [ + -117.251106, + 75.59749 + ], + [ + -114.999733, + 75.690813 + ], + [ + -117.683884, + 75.253054 + ], + [ + -115.050827, + 74.961107 + ], + [ + -114.065002, + 75.466097 + ], + [ + -113.340561, + 75.413317 + ], + [ + -113.917503, + 75.053591 + ], + [ + -110.912781, + 75.233873 + ], + [ + -114.447769, + 74.6747 + ], + [ + -112.753067, + 74.401384 + ], + [ + -108.832497, + 75.069994 + ], + [ + -106.011124, + 75.050814 + ], + [ + -105.391953, + 75.638887 + ], + [ + -106.33667, + 76.054705 + ], + [ + -106.896666, + 75.720263 + ], + [ + -108.020279, + 75.780825 + ], + [ + -107.632492, + 75.991091 + ], + [ + -108.396118, + 76.046099 + ], + [ + -108.077499, + 76.28055 + ], + [ + -108.558037, + 76.408602 + ], + [ + -108.651108, + 76.813601 + ] + ] + ], + [ + [ + [ + -107.388901, + 68.172213 + ], + [ + -107.291672, + 68.202776 + ], + [ + -107.445267, + 68.201662 + ], + [ + -107.388901, + 68.172213 + ] + ] + ], + [ + [ + [ + -107.407784, + 67.083055 + ], + [ + -107.626663, + 67.200274 + ], + [ + -107.527786, + 67.078051 + ], + [ + -107.407784, + 67.083055 + ] + ] + ], + [ + [ + [ + -107.473618, + 68.144716 + ], + [ + -107.468063, + 68.188585 + ], + [ + -107.554169, + 68.166094 + ], + [ + -107.473618, + 68.144716 + ] + ] + ], + [ + [ + [ + -107.895554, + 73.541368 + ], + [ + -107.582497, + 73.597765 + ], + [ + -108.083328, + 73.597216 + ], + [ + -107.895554, + 73.541368 + ] + ] + ], + [ + [ + [ + -107.662781, + 67.220263 + ], + [ + -107.660004, + 67.298876 + ], + [ + -107.725014, + 67.313036 + ], + [ + -107.662781, + 67.220263 + ] + ] + ], + [ + [ + [ + -107.92305, + 66.850542 + ], + [ + -107.823898, + 66.901094 + ], + [ + -107.794998, + 66.99721 + ], + [ + -107.92305, + 66.850542 + ] + ] + ], + [ + [ + [ + -107.910828, + 67.310534 + ], + [ + -107.89473, + 67.485537 + ], + [ + -108.073898, + 67.430819 + ], + [ + -107.910828, + 67.310534 + ] + ] + ], + [ + [ + [ + -108.059998, + 67.475267 + ], + [ + -107.921387, + 67.546648 + ], + [ + -108.113617, + 67.675264 + ], + [ + -108.059998, + 67.475267 + ] + ] + ], + [ + [ + [ + -108.01445, + 66.897768 + ], + [ + -107.938316, + 66.946932 + ], + [ + -108.106598, + 67.026003 + ], + [ + -108.01445, + 66.897768 + ] + ] + ], + [ + [ + [ + -108.138062, + 67.872484 + ], + [ + -108.054443, + 67.96332 + ], + [ + -108.255569, + 67.887209 + ], + [ + -108.138062, + 67.872484 + ] + ] + ], + [ + [ + [ + -108.138901, + 71.981661 + ], + [ + -108.064163, + 72.030275 + ], + [ + -108.199722, + 72.050539 + ], + [ + -108.138901, + 71.981661 + ] + ] + ], + [ + [ + [ + -108.141113, + 67.449999 + ], + [ + -108.219162, + 67.571108 + ], + [ + -108.271942, + 67.471376 + ], + [ + -108.141113, + 67.449999 + ] + ] + ], + [ + [ + [ + -108.36055, + 68.049715 + ], + [ + -108.294449, + 68.097216 + ], + [ + -108.408051, + 68.069719 + ], + [ + -108.36055, + 68.049715 + ] + ] + ], + [ + [ + [ + -108.368332, + 67.467211 + ], + [ + -108.297501, + 67.557207 + ], + [ + -108.491379, + 67.563036 + ], + [ + -108.368332, + 67.467211 + ] + ] + ], + [ + [ + [ + -108.322777, + 67.589983 + ], + [ + -108.390289, + 67.63109 + ], + [ + -108.483887, + 67.63666 + ], + [ + -108.322777, + 67.589983 + ] + ] + ], + [ + [ + [ + -108.646957, + 67.869432 + ], + [ + -108.359444, + 67.899996 + ], + [ + -108.544724, + 67.928316 + ], + [ + -108.646957, + 67.869432 + ] + ] + ], + [ + [ + [ + -108.506119, + 68.034716 + ], + [ + -108.447487, + 68.08777 + ], + [ + -108.540283, + 68.03998 + ], + [ + -108.506119, + 68.034716 + ] + ] + ], + [ + [ + [ + -108.510559, + 72.60277 + ], + [ + -108.496658, + 72.641375 + ], + [ + -108.613617, + 72.63666 + ], + [ + -108.510559, + 72.60277 + ] + ] + ], + [ + [ + [ + -108.590286, + 68.214434 + ], + [ + -108.559723, + 68.236101 + ], + [ + -108.67749, + 68.168871 + ], + [ + -108.590286, + 68.214434 + ] + ] + ], + [ + [ + [ + -109.195267, + 67.989977 + ], + [ + -108.866095, + 67.90027 + ], + [ + -108.951111, + 67.973314 + ], + [ + -109.195267, + 67.989977 + ] + ] + ], + [ + [ + [ + -109.112213, + 67.763323 + ], + [ + -109.039169, + 67.793322 + ], + [ + -109.207779, + 67.783876 + ], + [ + -109.112213, + 67.763323 + ] + ] + ], + [ + [ + [ + -109.066101, + 76.900545 + ], + [ + -109.179443, + 76.932482 + ], + [ + -109.30777, + 76.928041 + ], + [ + -109.066101, + 76.900545 + ] + ] + ], + [ + [ + [ + -109.648064, + 78.588045 + ], + [ + -110.637512, + 78.748598 + ], + [ + -113.334166, + 78.332766 + ], + [ + -109.260559, + 78.455828 + ], + [ + -109.648064, + 78.588045 + ] + ] + ], + [ + [ + [ + -109.321671, + 67.981096 + ], + [ + -109.44722, + 68.092211 + ], + [ + -109.54306, + 68.052202 + ], + [ + -109.321671, + 67.981096 + ] + ] + ], + [ + [ + [ + -109.78389, + 68.137499 + ], + [ + -109.568069, + 68.24721 + ], + [ + -109.856659, + 68.147768 + ], + [ + -109.78389, + 68.137499 + ] + ] + ], + [ + [ + [ + -109.588058, + 78.064699 + ], + [ + -113.319733, + 77.795534 + ], + [ + -113.198036, + 77.523882 + ], + [ + -112.031113, + 77.324709 + ], + [ + -110.203339, + 77.511385 + ], + [ + -110.090286, + 77.769152 + ], + [ + -110.904715, + 77.843874 + ], + [ + -109.588058, + 78.064699 + ] + ] + ], + [ + [ + [ + -110.213623, + 68.038042 + ], + [ + -109.877213, + 68.126925 + ], + [ + -110.258621, + 68.041933 + ], + [ + -110.213623, + 68.038042 + ] + ] + ], + [ + [ + [ + -110.30722, + 72.630816 + ], + [ + -110.280838, + 72.642214 + ], + [ + -110.410828, + 72.639437 + ], + [ + -110.30722, + 72.630816 + ] + ] + ], + [ + [ + [ + -110.334442, + 68.01166 + ], + [ + -110.317497, + 68.049715 + ], + [ + -110.420837, + 68.02083 + ], + [ + -110.334442, + 68.01166 + ] + ] + ], + [ + [ + [ + -110.355827, + 72.601931 + ], + [ + -110.345001, + 72.611925 + ], + [ + -110.49472, + 72.619143 + ], + [ + -110.355827, + 72.601931 + ] + ] + ], + [ + [ + [ + -110.469162, + 72.569155 + ], + [ + -110.593887, + 72.594149 + ], + [ + -110.544159, + 72.569155 + ], + [ + -110.469162, + 72.569155 + ] + ] + ], + [ + [ + [ + -110.586937, + 68.524157 + ], + [ + -110.518341, + 68.539156 + ], + [ + -110.761948, + 68.561647 + ], + [ + -110.586937, + 68.524157 + ] + ] + ], + [ + [ + [ + -110.862503, + 68.474154 + ], + [ + -110.696114, + 68.486376 + ], + [ + -111.097504, + 68.482759 + ], + [ + -110.862503, + 68.474154 + ] + ] + ], + [ + [ + [ + -111.114441, + 68.405825 + ], + [ + -111.082497, + 68.444704 + ], + [ + -111.14917, + 68.439974 + ], + [ + -111.114441, + 68.405825 + ] + ] + ], + [ + [ + [ + -111.710281, + 68.220537 + ], + [ + -111.499443, + 68.296938 + ], + [ + -111.777222, + 68.253054 + ], + [ + -111.710281, + 68.220537 + ] + ] + ], + [ + [ + [ + -111.799988, + 75.839159 + ], + [ + -111.578613, + 75.879976 + ], + [ + -111.922501, + 75.85277 + ], + [ + -111.799988, + 75.839159 + ] + ] + ], + [ + [ + [ + -111.833328, + 68.181932 + ], + [ + -111.754997, + 68.215822 + ], + [ + -111.865547, + 68.188036 + ], + [ + -111.833328, + 68.181932 + ] + ] + ], + [ + [ + [ + -112.655273, + 70.2661 + ], + [ + -112.6875, + 70.306368 + ], + [ + -112.761398, + 70.298601 + ], + [ + -112.655273, + 70.2661 + ] + ] + ], + [ + [ + [ + -112.780563, + 68.13109 + ], + [ + -112.751678, + 68.164705 + ], + [ + -112.922234, + 68.146654 + ], + [ + -112.780563, + 68.13109 + ] + ] + ], + [ + [ + [ + -112.930557, + 67.916658 + ], + [ + -112.887222, + 67.927202 + ], + [ + -113.147507, + 67.912203 + ], + [ + -112.930557, + 67.916658 + ] + ] + ], + [ + [ + [ + -112.969727, + 70.281374 + ], + [ + -112.945541, + 70.286654 + ], + [ + -113.203613, + 70.292482 + ], + [ + -112.969727, + 70.281374 + ] + ] + ], + [ + [ + [ + -113.390289, + 67.897768 + ], + [ + -113.246948, + 67.914431 + ], + [ + -113.603333, + 67.903048 + ], + [ + -113.390289, + 67.897768 + ] + ] + ], + [ + [ + [ + -113.328888, + 77.079988 + ], + [ + -113.344727, + 77.127764 + ], + [ + -113.497498, + 77.08832 + ], + [ + -113.328888, + 77.079988 + ] + ] + ], + [ + [ + [ + -113.46611, + 76.76639 + ], + [ + -113.885559, + 76.891665 + ], + [ + -114.875816, + 76.77083 + ], + [ + -113.46611, + 76.76639 + ] + ] + ], + [ + [ + [ + -114.073059, + 77.981661 + ], + [ + -115.116095, + 77.95833 + ], + [ + -113.576111, + 77.81415 + ], + [ + -114.073059, + 77.981661 + ] + ] + ], + [ + [ + [ + -113.77861, + 77.104158 + ], + [ + -113.657784, + 77.129152 + ], + [ + -113.931381, + 77.129702 + ], + [ + -113.77861, + 77.104158 + ] + ] + ], + [ + [ + [ + -113.720001, + 67.973314 + ], + [ + -113.772232, + 67.980272 + ], + [ + -113.993057, + 67.961107 + ], + [ + -113.720001, + 67.973314 + ] + ] + ], + [ + [ + [ + -113.786118, + 68.582766 + ], + [ + -113.761948, + 68.592211 + ], + [ + -113.96611, + 68.611101 + ], + [ + -113.786118, + 68.582766 + ] + ] + ], + [ + [ + [ + -114.115013, + 67.883883 + ], + [ + -113.921387, + 67.878038 + ], + [ + -114.296951, + 67.895266 + ], + [ + -114.115013, + 67.883883 + ] + ] + ], + [ + [ + [ + -114.047234, + 68.613604 + ], + [ + -114.141953, + 68.676928 + ], + [ + -114.189987, + 68.680269 + ], + [ + -114.047234, + 68.613604 + ] + ] + ], + [ + [ + [ + -114.219162, + 67.945253 + ], + [ + -114.121109, + 67.961931 + ], + [ + -114.31723, + 67.949709 + ], + [ + -114.219162, + 67.945253 + ] + ] + ], + [ + [ + [ + -114.35083, + 68.871645 + ], + [ + -114.323334, + 68.883043 + ], + [ + -114.471657, + 68.892488 + ], + [ + -114.35083, + 68.871645 + ] + ] + ], + [ + [ + [ + -120.149986, + 74.272493 + ], + [ + -121.564163, + 74.551088 + ], + [ + -124.770844, + 74.340273 + ], + [ + -123.774719, + 73.764437 + ], + [ + -124.868881, + 73.080553 + ], + [ + -124.47583, + 72.927202 + ], + [ + -125.026108, + 72.821093 + ], + [ + -125.997772, + 71.973604 + ], + [ + -124.948334, + 71.961107 + ], + [ + -125.253616, + 71.950258 + ], + [ + -122.781113, + 71.086107 + ], + [ + -120.543327, + 71.516665 + ], + [ + -120.251106, + 72.258608 + ], + [ + -119.311111, + 72.352205 + ], + [ + -119.137512, + 72.632479 + ], + [ + -115.315002, + 73.479708 + ], + [ + -117.422234, + 74.226931 + ], + [ + -119.167503, + 73.9872 + ], + [ + -119.148621, + 74.212206 + ], + [ + -119.744812, + 74.025515 + ], + [ + -119.609161, + 74.233324 + ], + [ + -120.149986, + 74.272493 + ] + ] + ], + [ + [ + [ + -116.351097, + 77.539156 + ], + [ + -119.153343, + 77.325823 + ], + [ + -120.401672, + 76.797213 + ], + [ + -121.212509, + 76.649721 + ], + [ + -121.533073, + 76.437197 + ], + [ + -122.598892, + 76.34833 + ], + [ + -123.037781, + 76.084719 + ], + [ + -120.999443, + 75.939699 + ], + [ + -120.857224, + 76.196642 + ], + [ + -120.454453, + 75.815813 + ], + [ + -119.870003, + 75.857485 + ], + [ + -119.48111, + 75.970827 + ], + [ + -119.804993, + 76.108873 + ], + [ + -119.654999, + 76.303041 + ], + [ + -119.075844, + 76.08333 + ], + [ + -118.567497, + 76.336657 + ], + [ + -118.968063, + 76.505266 + ], + [ + -117.842215, + 76.823885 + ], + [ + -118.059998, + 76.409151 + ], + [ + -117.095551, + 76.295259 + ], + [ + -117.053879, + 76.533052 + ], + [ + -115.896666, + 76.691652 + ], + [ + -116.36528, + 76.926378 + ], + [ + -115.731377, + 76.949709 + ], + [ + -116.280563, + 77.183596 + ], + [ + -115.390289, + 77.306368 + ], + [ + -116.351097, + 77.539156 + ] + ] + ], + [ + [ + [ + -115.920546, + 70.541368 + ], + [ + -115.808037, + 70.570543 + ], + [ + -116.061111, + 70.548326 + ], + [ + -115.920546, + 70.541368 + ] + ] + ], + [ + [ + [ + -116.287781, + 70.553316 + ], + [ + -116.495827, + 70.522768 + ], + [ + -116.127487, + 70.535814 + ], + [ + -116.287781, + 70.553316 + ] + ] + ], + [ + [ + [ + -116.563049, + 70.534426 + ], + [ + -116.509453, + 70.556093 + ], + [ + -116.774437, + 70.545259 + ], + [ + -116.563049, + 70.534426 + ] + ] + ], + [ + [ + [ + -116.805267, + 70.509432 + ], + [ + -116.719162, + 70.470263 + ], + [ + -116.568335, + 70.473879 + ], + [ + -116.805267, + 70.509432 + ] + ] + ], + [ + [ + [ + -116.87944, + 70.547487 + ], + [ + -117.199432, + 70.591661 + ], + [ + -117.301666, + 70.561922 + ], + [ + -116.87944, + 70.547487 + ] + ] + ], + [ + [ + [ + -118.316391, + 75.572496 + ], + [ + -117.463898, + 76.083055 + ], + [ + -119.408051, + 75.605822 + ], + [ + -118.316391, + 75.572496 + ] + ] + ], + [ + [ + [ + -121.093063, + 75.726091 + ], + [ + -120.877777, + 75.936098 + ], + [ + -121.28833, + 75.752779 + ], + [ + -121.093063, + 75.726091 + ] + ] + ], + [ + [ + [ + -120.883621, + 76.739702 + ], + [ + -121.184723, + 76.731096 + ], + [ + -120.970001, + 76.716661 + ], + [ + -120.883621, + 76.739702 + ] + ] + ], + [ + [ + [ + -122.340843, + 75.862764 + ], + [ + -122.353058, + 75.914431 + ], + [ + -122.695541, + 75.908037 + ], + [ + -122.340843, + 75.862764 + ] + ] + ], + [ + [ + [ + -122.819168, + 76.060534 + ], + [ + -122.892502, + 76.013613 + ], + [ + -122.630829, + 76.046648 + ], + [ + -122.819168, + 76.060534 + ] + ] + ], + [ + [ + [ + -127.226936, + 50.63611 + ], + [ + -128.416655, + 50.769159 + ], + [ + -128.051422, + 50.446695 + ], + [ + -127.411392, + 50.587496 + ], + [ + -127.446953, + 50.372766 + ], + [ + -127.923889, + 50.46277 + ], + [ + -127.895844, + 50.108889 + ], + [ + -127.15834, + 50.096384 + ], + [ + -127.241379, + 49.961939 + ], + [ + -127.121117, + 49.852289 + ], + [ + -126.804443, + 49.909159 + ], + [ + -126.679718, + 49.878878 + ], + [ + -126.585007, + 49.701105 + ], + [ + -126.087509, + 49.66221 + ], + [ + -126.542221, + 49.374437 + ], + [ + -125.904715, + 49.435823 + ], + [ + -125.483612, + 48.915827 + ], + [ + -124.80777, + 49.240549 + ], + [ + -125.113892, + 48.731104 + ], + [ + -123.289719, + 48.413324 + ], + [ + -123.850563, + 49.145548 + ], + [ + -123.699432, + 49.143885 + ], + [ + -124.789436, + 49.464159 + ], + [ + -125.449722, + 50.32361 + ], + [ + -127.226936, + 50.63611 + ] + ] + ], + [ + [ + [ + -123.37944, + 49.326944 + ], + [ + -123.31221, + 49.414995 + ], + [ + -123.420273, + 49.381662 + ], + [ + -123.37944, + 49.326944 + ] + ] + ], + [ + [ + [ + -123.322777, + 48.861109 + ], + [ + -123.702499, + 49.105555 + ], + [ + -123.540558, + 48.944994 + ], + [ + -123.322777, + 48.861109 + ] + ] + ], + [ + [ + [ + -123.332779, + 49.441103 + ], + [ + -123.355003, + 49.531939 + ], + [ + -123.436661, + 49.522219 + ], + [ + -123.459442, + 49.467211 + ], + [ + -123.332779, + 49.441103 + ] + ] + ], + [ + [ + [ + -123.474442, + 48.709162 + ], + [ + -123.37027, + 48.768328 + ], + [ + -123.596657, + 48.946939 + ], + [ + -123.474442, + 48.709162 + ] + ] + ], + [ + [ + [ + -124.129707, + 49.650827 + ], + [ + -124.016113, + 49.775553 + ], + [ + -124.199432, + 49.706102 + ], + [ + -124.129707, + 49.650827 + ] + ] + ], + [ + [ + [ + -124.307503, + 73.556368 + ], + [ + -124.113892, + 73.56415 + ], + [ + -124.358612, + 73.630266 + ], + [ + -124.307503, + 73.556368 + ] + ] + ], + [ + [ + [ + -124.446114, + 49.723322 + ], + [ + -124.656662, + 49.796946 + ], + [ + -124.122772, + 49.493608 + ], + [ + -124.446114, + 49.723322 + ] + ] + ], + [ + [ + [ + -124.179169, + 49.441103 + ], + [ + -124.24472, + 49.50139 + ], + [ + -124.381104, + 49.511942 + ], + [ + -124.179169, + 49.441103 + ] + ] + ], + [ + [ + [ + -124.430557, + 73.878588 + ], + [ + -124.420273, + 73.909151 + ], + [ + -124.55278, + 73.916933 + ], + [ + -124.430557, + 73.878588 + ] + ] + ], + [ + [ + [ + -124.679443, + 70.161654 + ], + [ + -124.50528, + 70.19832 + ], + [ + -124.761948, + 70.191927 + ], + [ + -124.679443, + 70.161654 + ] + ] + ], + [ + [ + [ + -124.584732, + 73.679155 + ], + [ + -124.564438, + 73.687197 + ], + [ + -124.733612, + 73.700548 + ], + [ + -124.584732, + 73.679155 + ] + ] + ], + [ + [ + [ + -124.730827, + 50.302217 + ], + [ + -124.794998, + 50.228876 + ], + [ + -124.695831, + 50.157495 + ], + [ + -124.659439, + 50.258333 + ], + [ + -124.730827, + 50.302217 + ] + ] + ], + [ + [ + [ + -124.689438, + 49.480272 + ], + [ + -124.83168, + 49.610552 + ], + [ + -124.823624, + 49.539438 + ], + [ + -124.689438, + 49.480272 + ] + ] + ], + [ + [ + [ + -124.8125, + 50.111383 + ], + [ + -124.756668, + 50.178331 + ], + [ + -124.918327, + 50.299723 + ], + [ + -124.8125, + 50.111383 + ] + ] + ], + [ + [ + [ + -124.924156, + 50.058603 + ], + [ + -124.983322, + 50.22555 + ], + [ + -125.066963, + 50.1075 + ], + [ + -124.924156, + 50.058603 + ] + ] + ], + [ + [ + [ + -125.056953, + 70.118319 + ], + [ + -124.955002, + 70.164156 + ], + [ + -125.123322, + 70.135469 + ], + [ + -125.056953, + 70.118319 + ] + ] + ], + [ + [ + [ + -125.165558, + 50.374437 + ], + [ + -125.400284, + 50.320833 + ], + [ + -125.213623, + 50.316668 + ], + [ + -125.156113, + 50.239161 + ], + [ + -125.140289, + 50.12166 + ], + [ + -125.165558, + 50.374437 + ] + ] + ], + [ + [ + [ + -125.16777, + 49.980822 + ], + [ + -125.167221, + 50.21361 + ], + [ + -125.25473, + 50.293612 + ], + [ + -125.339996, + 50.268885 + ], + [ + -125.16777, + 49.980822 + ] + ] + ], + [ + [ + [ + -125.426102, + 50.355555 + ], + [ + -125.331947, + 50.435549 + ], + [ + -125.528061, + 50.381662 + ], + [ + -125.426102, + 50.355555 + ] + ] + ], + [ + [ + [ + -125.543877, + 50.393885 + ], + [ + -125.523903, + 50.434435 + ], + [ + -125.763634, + 50.397493 + ], + [ + -125.543877, + 50.393885 + ] + ] + ], + [ + [ + [ + -125.80722, + 50.413607 + ], + [ + -125.738052, + 50.428049 + ], + [ + -125.951111, + 50.433878 + ], + [ + -125.80722, + 50.413607 + ] + ] + ], + [ + [ + [ + -125.816101, + 49.125826 + ], + [ + -125.799156, + 49.20833 + ], + [ + -125.93306, + 49.21805 + ], + [ + -125.816101, + 49.125826 + ] + ] + ], + [ + [ + [ + -126.131943, + 49.393328 + ], + [ + -126.239166, + 49.289721 + ], + [ + -126.064713, + 49.250834 + ], + [ + -126.131943, + 49.393328 + ] + ] + ], + [ + [ + [ + -126.22583, + 50.555269 + ], + [ + -126.286118, + 50.59833 + ], + [ + -126.623894, + 50.533884 + ], + [ + -126.22583, + 50.555269 + ] + ] + ], + [ + [ + [ + -126.273064, + 50.652773 + ], + [ + -126.266403, + 50.827776 + ], + [ + -126.617493, + 50.667772 + ], + [ + -126.273064, + 50.652773 + ] + ] + ], + [ + [ + [ + -126.4664, + 50.57583 + ], + [ + -126.361389, + 50.615831 + ], + [ + -126.554169, + 50.602777 + ], + [ + -126.4664, + 50.57583 + ] + ] + ], + [ + [ + [ + -126.64389, + 50.691935 + ], + [ + -126.536392, + 50.763613 + ], + [ + -126.685547, + 50.75889 + ], + [ + -126.64389, + 50.691935 + ] + ] + ], + [ + [ + [ + -126.731377, + 50.771936 + ], + [ + -126.563049, + 50.799997 + ], + [ + -126.905838, + 50.822771 + ], + [ + -126.731377, + 50.771936 + ] + ] + ], + [ + [ + [ + -126.676102, + 49.583605 + ], + [ + -126.613327, + 49.648333 + ], + [ + -126.678047, + 49.825274 + ], + [ + -126.777496, + 49.879717 + ], + [ + -126.940552, + 49.831385 + ], + [ + -126.676102, + 49.583605 + ] + ] + ], + [ + [ + [ + -126.873322, + 50.663324 + ], + [ + -127.14473, + 50.633883 + ], + [ + -126.831123, + 50.62916 + ], + [ + -126.873322, + 50.663324 + ] + ] + ], + [ + [ + [ + -127.724442, + 51.976938 + ], + [ + -127.234734, + 52.416941 + ], + [ + -127.789169, + 52.221933 + ], + [ + -127.724442, + 51.976938 + ] + ] + ], + [ + [ + [ + -127.654715, + 50.83777 + ], + [ + -127.726387, + 50.908602 + ], + [ + -127.838608, + 50.881662 + ], + [ + -127.654715, + 50.83777 + ] + ] + ], + [ + [ + [ + -127.962784, + 52.074717 + ], + [ + -127.881104, + 52.17222 + ], + [ + -128.120819, + 52.141939 + ], + [ + -127.962784, + 52.074717 + ] + ] + ], + [ + [ + [ + -127.914436, + 51.410822 + ], + [ + -128, + 51.720545 + ], + [ + -128.145569, + 51.653605 + ], + [ + -127.914436, + 51.410822 + ] + ] + ], + [ + [ + [ + -127.924713, + 52.174166 + ], + [ + -127.972778, + 52.295275 + ], + [ + -128.170013, + 52.24972 + ], + [ + -127.924713, + 52.174166 + ] + ] + ], + [ + [ + [ + -128.053894, + 51.753611 + ], + [ + -127.983322, + 52.061937 + ], + [ + -128.253082, + 51.872217 + ], + [ + -128.053894, + 51.753611 + ] + ] + ], + [ + [ + [ + -128.184448, + 52.278605 + ], + [ + -128.056671, + 52.328882 + ], + [ + -128.104431, + 52.421381 + ], + [ + -128.184448, + 52.278605 + ] + ] + ], + [ + [ + [ + -128.086121, + 70.605547 + ], + [ + -128.234161, + 70.656099 + ], + [ + -128.341675, + 70.542208 + ], + [ + -128.086121, + 70.605547 + ] + ] + ], + [ + [ + [ + -128.211945, + 52.015551 + ], + [ + -128.153076, + 52.195269 + ], + [ + -128.294159, + 52.113611 + ], + [ + -128.211945, + 52.015551 + ] + ] + ], + [ + [ + [ + -128.269745, + 52.596941 + ], + [ + -128.177795, + 52.826105 + ], + [ + -128.325012, + 52.776102 + ], + [ + -128.269745, + 52.596941 + ] + ] + ], + [ + [ + [ + -128.299988, + 52.133608 + ], + [ + -128.227203, + 52.218882 + ], + [ + -128.377197, + 52.223879 + ], + [ + -128.299988, + 52.133608 + ] + ] + ], + [ + [ + [ + -128.430298, + 52.368052 + ], + [ + -128.275024, + 52.489992 + ], + [ + -128.383331, + 52.797495 + ], + [ + -128.430298, + 52.368052 + ] + ] + ], + [ + [ + [ + -128.428345, + 52.137499 + ], + [ + -128.416412, + 52.226381 + ], + [ + -128.511139, + 52.169992 + ], + [ + -128.428345, + 52.137499 + ] + ] + ], + [ + [ + [ + -128.50528, + 52.641108 + ], + [ + -128.450836, + 52.805269 + ], + [ + -128.506134, + 52.873049 + ], + [ + -128.50528, + 52.641108 + ] + ] + ], + [ + [ + [ + -128.471924, + 52.492769 + ], + [ + -128.535278, + 52.647219 + ], + [ + -128.578186, + 52.593645 + ], + [ + -128.732483, + 52.590548 + ], + [ + -128.813904, + 52.524996 + ], + [ + -128.471924, + 52.492769 + ] + ] + ], + [ + [ + [ + -128.689453, + 53.164438 + ], + [ + -129.06665, + 53.300829 + ], + [ + -129.075287, + 53.103052 + ], + [ + -129.191376, + 53.01333 + ], + [ + -128.843597, + 53.044161 + ], + [ + -129.121918, + 52.863054 + ], + [ + -128.88446, + 52.64805 + ], + [ + -128.646973, + 52.963327 + ], + [ + -128.748871, + 52.597216 + ], + [ + -128.592224, + 52.613886 + ], + [ + -128.518341, + 52.911104 + ], + [ + -128.689453, + 53.164438 + ] + ] + ], + [ + [ + [ + -128.66861, + 52.26639 + ], + [ + -128.615814, + 52.453608 + ], + [ + -128.747223, + 52.471659 + ], + [ + -128.66861, + 52.26639 + ] + ] + ], + [ + [ + [ + -129.086395, + 53.4461 + ], + [ + -129.085541, + 53.504999 + ], + [ + -128.818878, + 53.709162 + ], + [ + -129.153076, + 53.638605 + ], + [ + -129.086395, + 53.4461 + ] + ] + ], + [ + [ + [ + -128.942505, + 53.317499 + ], + [ + -128.901123, + 53.38666 + ], + [ + -128.99942, + 53.539438 + ], + [ + -129.143341, + 53.349718 + ], + [ + -128.942505, + 53.317499 + ] + ] + ], + [ + [ + [ + -128.974426, + 52.453325 + ], + [ + -128.92334, + 52.606661 + ], + [ + -129.277222, + 52.823053 + ], + [ + -128.974426, + 52.453325 + ] + ] + ], + [ + [ + [ + -129.153076, + 53.09833 + ], + [ + -129.16861, + 53.296106 + ], + [ + -129.268066, + 53.331942 + ], + [ + -129.332489, + 53.137499 + ], + [ + -129.153076, + 53.09833 + ] + ] + ], + [ + [ + [ + -129.432495, + 53.151384 + ], + [ + -129.547241, + 53.133051 + ], + [ + -129.289459, + 52.971933 + ], + [ + -129.432495, + 53.151384 + ] + ] + ], + [ + [ + [ + -129.358337, + 53.304163 + ], + [ + -129.303345, + 53.33111 + ], + [ + -129.39502, + 53.410822 + ], + [ + -129.358337, + 53.304163 + ] + ] + ], + [ + [ + [ + -129.826111, + 53.724161 + ], + [ + -130.286407, + 53.837496 + ], + [ + -129.928207, + 53.639605 + ], + [ + -130.056395, + 53.603884 + ], + [ + -129.883911, + 53.579721 + ], + [ + -129.80722, + 53.384165 + ], + [ + -129.506683, + 53.216661 + ], + [ + -129.826111, + 53.724161 + ] + ] + ], + [ + [ + [ + -129.531677, + 53.010553 + ], + [ + -129.562775, + 53.053049 + ], + [ + -129.640015, + 53.044161 + ], + [ + -129.531677, + 53.010553 + ] + ] + ], + [ + [ + [ + -129.610535, + 52.954996 + ], + [ + -129.557495, + 53.006662 + ], + [ + -129.650848, + 53.018885 + ], + [ + -129.610535, + 52.954996 + ] + ] + ], + [ + [ + [ + -129.602478, + 53.057215 + ], + [ + -129.654449, + 53.132769 + ], + [ + -129.738312, + 53.127214 + ], + [ + -129.602478, + 53.057215 + ] + ] + ], + [ + [ + [ + -129.879425, + 53.392771 + ], + [ + -130.520294, + 53.624712 + ], + [ + -129.762238, + 53.158884 + ], + [ + -129.879425, + 53.392771 + ] + ] + ], + [ + [ + [ + -129.934723, + 53.484163 + ], + [ + -129.886688, + 53.542223 + ], + [ + -129.941956, + 53.551104 + ], + [ + -130.021118, + 53.505274 + ], + [ + -129.934723, + 53.484163 + ] + ] + ], + [ + [ + [ + -130.091095, + 53.569445 + ], + [ + -130.261688, + 53.796389 + ], + [ + -130.403351, + 53.682497 + ], + [ + -130.091095, + 53.569445 + ] + ] + ], + [ + [ + [ + -130.14975, + 53.989161 + ], + [ + -130.132477, + 54.049997 + ], + [ + -130.193604, + 54.079721 + ], + [ + -130.14975, + 53.989161 + ] + ] + ], + [ + [ + [ + -130.195557, + 54.118052 + ], + [ + -130.151947, + 54.154436 + ], + [ + -130.252808, + 54.185549 + ], + [ + -130.195557, + 54.118052 + ] + ] + ], + [ + [ + [ + -130.385284, + 54.769991 + ], + [ + -130.168335, + 55.019716 + ], + [ + -130.459991, + 54.828333 + ], + [ + -130.385284, + 54.769991 + ] + ] + ], + [ + [ + [ + -130.268341, + 54.714998 + ], + [ + -130.209442, + 54.807772 + ], + [ + -130.378876, + 54.695269 + ], + [ + -130.268341, + 54.714998 + ] + ] + ], + [ + [ + [ + -130.259186, + 54.004717 + ], + [ + -130.411133, + 54.100832 + ], + [ + -130.712769, + 53.861109 + ], + [ + -130.259186, + 54.004717 + ] + ] + ], + [ + [ + [ + -130.266418, + 54.260553 + ], + [ + -130.272797, + 54.329721 + ], + [ + -130.350281, + 54.305552 + ], + [ + -130.266418, + 54.260553 + ] + ] + ], + [ + [ + [ + -130.35556, + 54.257776 + ], + [ + -130.417786, + 54.326387 + ], + [ + -130.467224, + 54.308603 + ], + [ + -130.35556, + 54.257776 + ] + ] + ], + [ + [ + [ + -130.518341, + 54.702494 + ], + [ + -130.469452, + 54.807772 + ], + [ + -130.611664, + 54.758051 + ], + [ + -130.518341, + 54.702494 + ] + ] + ], + [ + [ + [ + -130.648621, + 54.114443 + ], + [ + -130.781677, + 54.211664 + ], + [ + -130.785004, + 54.149996 + ], + [ + -130.648621, + 54.114443 + ] + ] + ], + [ + [ + [ + -130.704163, + 54.356661 + ], + [ + -130.699432, + 54.406656 + ], + [ + -130.767792, + 54.384996 + ], + [ + -130.704163, + 54.356661 + ] + ] + ], + [ + [ + [ + -130.95166, + 54.454714 + ], + [ + -130.747772, + 54.626101 + ], + [ + -130.925568, + 54.61944 + ], + [ + -130.95166, + 54.454714 + ] + ] + ], + [ + [ + [ + -131.01889, + 51.9461 + ], + [ + -131.00946, + 52.102777 + ], + [ + -131.11026, + 52.151102 + ], + [ + -131.01889, + 51.9461 + ] + ] + ], + [ + [ + [ + -131.762238, + 53.196657 + ], + [ + -131.811127, + 53.253611 + ], + [ + -132.070831, + 53.153879 + ], + [ + -132.413635, + 53.127489 + ], + [ + -132.549164, + 53.151102 + ], + [ + -132.563629, + 53.139162 + ], + [ + -131.030304, + 52.173883 + ], + [ + -131.982483, + 52.879717 + ], + [ + -131.61554, + 52.920275 + ], + [ + -131.964722, + 53.046389 + ], + [ + -131.594727, + 53.035273 + ], + [ + -131.762238, + 53.196657 + ] + ] + ], + [ + [ + [ + -131.464447, + 52.627489 + ], + [ + -131.475281, + 52.736658 + ], + [ + -131.709717, + 52.705271 + ], + [ + -131.464447, + 52.627489 + ] + ] + ], + [ + [ + [ + -131.63974, + 52.828051 + ], + [ + -131.83139, + 52.841936 + ], + [ + -131.733063, + 52.808603 + ], + [ + -131.63974, + 52.828051 + ] + ] + ], + [ + [ + [ + -132.808044, + 54.120272 + ], + [ + -133.071655, + 54.168886 + ], + [ + -132.972504, + 53.555826 + ], + [ + -132.406677, + 53.339716 + ], + [ + -132.733887, + 53.337214 + ], + [ + -132.543335, + 53.330553 + ], + [ + -132.683624, + 53.256662 + ], + [ + -132.596649, + 53.247492 + ], + [ + -132.536682, + 53.178881 + ], + [ + -132.457489, + 53.145273 + ], + [ + -132.186951, + 53.160547 + ], + [ + -132.121918, + 53.189432 + ], + [ + -132.272797, + 53.210276 + ], + [ + -131.982208, + 53.251665 + ], + [ + -131.663055, + 54.152216 + ], + [ + -132.41806, + 53.606104 + ], + [ + -132.66333, + 53.679438 + ], + [ + -132.150299, + 53.992769 + ], + [ + -132.808044, + 54.120272 + ] + ] + ], + [ + [ + [ + -133.93222, + 69.560259 + ], + [ + -133.844727, + 69.600817 + ], + [ + -133.933624, + 69.616091 + ], + [ + -134.016663, + 69.576097 + ], + [ + -133.93222, + 69.560259 + ] + ] + ], + [ + [ + [ + -135.28891, + 69.30942 + ], + [ + -135.337769, + 69.388597 + ], + [ + -135.565552, + 69.390551 + ], + [ + -135.28891, + 69.30942 + ] + ] + ], + [ + [ + [ + -135.517242, + 69.569155 + ], + [ + -135.397797, + 69.646944 + ], + [ + -135.589447, + 69.596102 + ], + [ + -135.517242, + 69.569155 + ] + ] + ], + [ + [ + [ + -135.592224, + 69.48221 + ], + [ + -135.815552, + 69.502489 + ], + [ + -135.574432, + 69.446642 + ], + [ + -135.592224, + 69.48221 + ] + ] + ], + [ + [ + [ + -138.867218, + 69.58832 + ], + [ + -139.12027, + 69.649996 + ], + [ + -139.332489, + 69.566088 + ], + [ + -138.867218, + 69.58832 + ] + ] + ] + ] + }, + "name" : "Canada", + "iso2" : "CA", + "iso3" : "CAN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "W71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 103.775255, + 10.442499 + ], + [ + 103.798861, + 10.500002 + ], + [ + 103.755816, + 10.511667 + ], + [ + 103.748583, + 10.476389 + ], + [ + 103.775255, + 10.442499 + ] + ] + ], + [ + [ + [ + 103.31415, + 10.723055 + ], + [ + 103.193316, + 10.756388 + ], + [ + 103.269709, + 10.669722 + ], + [ + 103.31415, + 10.723055 + ] + ] + ], + [ + [ + [ + 107.489153, + 14.44861 + ], + [ + 107.546602, + 14.70862 + ], + [ + 106.853594, + 14.303053 + ], + [ + 106.540743, + 14.598726 + ], + [ + 106.004709, + 14.373053 + ], + [ + 106.056643, + 13.929998 + ], + [ + 105.210604, + 14.349649 + ], + [ + 103.180544, + 14.329721 + ], + [ + 102.377199, + 13.573889 + ], + [ + 102.916094, + 11.635851 + ], + [ + 103.129702, + 10.883055 + ], + [ + 103.555239, + 11.156942 + ], + [ + 103.623308, + 10.495554 + ], + [ + 103.926912, + 10.590277 + ], + [ + 104.247744, + 10.567499 + ], + [ + 104.44533, + 10.422739 + ], + [ + 105.101915, + 10.955553 + ], + [ + 106.20331, + 10.770555 + ], + [ + 105.851068, + 11.659998 + ], + [ + 106.458216, + 11.665865 + ], + [ + 106.420244, + 11.973608 + ], + [ + 107.547495, + 12.353609 + ], + [ + 107.489153, + 14.44861 + ] + ], + [ + [ + 103.032755, + 11.431944 + ], + [ + 103.009409, + 11.525 + ], + [ + 103.045519, + 11.469721 + ], + [ + 103.032755, + 11.431944 + ] + ], + [ + [ + 103.028032, + 11.246386 + ], + [ + 102.986361, + 11.42222 + ], + [ + 103.041925, + 11.375555 + ], + [ + 103.028032, + 11.246386 + ] + ] + ] + ] + }, + "name" : "Cambodia", + "iso2" : "KH", + "iso3" : "KHM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "XL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 81.714996, + 7.681388 + ], + [ + 81.712769, + 7.704999 + ], + [ + 81.70166, + 7.68111 + ], + [ + 81.708328, + 7.674166 + ], + [ + 81.714996, + 7.681388 + ] + ] + ], + [ + [ + [ + 81.806931, + 7.477777 + ], + [ + 81.804153, + 7.600554 + ], + [ + 81.723312, + 7.73861 + ], + [ + 81.806931, + 7.477777 + ] + ] + ], + [ + [ + [ + 79.912491, + 9.018055 + ], + [ + 79.693039, + 9.092497 + ], + [ + 79.85054, + 9.00111 + ], + [ + 79.912491, + 9.018055 + ] + ] + ], + [ + [ + [ + 79.716385, + 9.477221 + ], + [ + 79.657486, + 9.555832 + ], + [ + 79.658035, + 9.499165 + ], + [ + 79.716385, + 9.477221 + ] + ] + ], + [ + [ + [ + 79.974426, + 9.615274 + ], + [ + 79.854706, + 9.750832 + ], + [ + 79.871918, + 9.634443 + ], + [ + 79.974426, + 9.615274 + ] + ] + ], + [ + [ + [ + 80.274704, + 9.775 + ], + [ + 80.444138, + 9.571665 + ], + [ + 79.925812, + 9.74472 + ], + [ + 80.612198, + 9.443054 + ], + [ + 80.051926, + 9.594442 + ], + [ + 79.702484, + 8.079443 + ], + [ + 80.046097, + 6.239721 + ], + [ + 80.587204, + 5.917777 + ], + [ + 81.661102, + 6.439999 + ], + [ + 81.881653, + 7.288054 + ], + [ + 81.391937, + 8.149443 + ], + [ + 81.361374, + 8.487219 + ], + [ + 81.130539, + 8.5 + ], + [ + 81.231094, + 8.65111 + ], + [ + 80.914703, + 8.943054 + ], + [ + 80.824432, + 9.261944 + ], + [ + 80.274704, + 9.775 + ] + ] + ] + ] + }, + "name" : "Sri Lanka", + "iso2" : "LK", + "iso3" : "LKA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Xb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 13.293888, + 2.163611 + ], + [ + 13.186785, + 1.222476 + ], + [ + 14.188889, + 1.391389 + ], + [ + 14.487221, + 0.913611 + ], + [ + 13.848331, + -0.198611 + ], + [ + 14.51861, + -0.609167 + ], + [ + 14.429722, + -1.891667 + ], + [ + 14.110832, + -2.493056 + ], + [ + 13.76222, + -2.088889 + ], + [ + 13.482777, + -2.4375 + ], + [ + 13.001507, + -2.367672 + ], + [ + 12.65, + -1.8225 + ], + [ + 12.478054, + -2.327222 + ], + [ + 11.574165, + -2.333333 + ], + [ + 11.925833, + -3.636945 + ], + [ + 11.496944, + -3.506945 + ], + [ + 11.140661, + -3.925277 + ], + [ + 12.026131, + -5.014997 + ], + [ + 12.779047, + -4.388991 + ], + [ + 13.091389, + -4.633056 + ], + [ + 13.413887, + -4.882501 + ], + [ + 13.729443, + -4.445834 + ], + [ + 14.400833, + -4.2775 + ], + [ + 14.418888, + -4.887222 + ], + [ + 14.661388, + -4.909445 + ], + [ + 15.890505, + -3.943009 + ], + [ + 16.226944, + -3.328333 + ], + [ + 16.195831, + -2.175834 + ], + [ + 17.714996, + -0.537222 + ], + [ + 18.091942, + 2.224166 + ], + [ + 18.624958, + 3.479444 + ], + [ + 17.475277, + 3.713055 + ], + [ + 16.659721, + 3.533333 + ], + [ + 16.207222, + 2.220833 + ], + [ + 16.07222, + 1.654166 + ], + [ + 14.564999, + 2.169444 + ], + [ + 13.293888, + 2.163611 + ] + ] + ] + }, + "name" : "Congo", + "iso2" : "CG", + "iso3" : "COG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Xr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 23.986208, + -10.870461 + ], + [ + 24.448332, + -11.463612 + ], + [ + 25.332224, + -11.193335 + ], + [ + 25.359724, + -11.641668 + ], + [ + 26.004721, + -11.9025 + ], + [ + 26.868612, + -11.973612 + ], + [ + 27.199251, + -11.567905 + ], + [ + 27.660002, + -12.296667 + ], + [ + 28.441946, + -12.519724 + ], + [ + 29.015833, + -13.397779 + ], + [ + 29.589445, + -13.221945 + ], + [ + 29.80139, + -13.454168 + ], + [ + 29.805052, + -12.155247 + ], + [ + 29.493612, + -12.458057 + ], + [ + 29.031389, + -12.383057 + ], + [ + 28.363333, + -11.550835 + ], + [ + 28.69972, + -10.653334 + ], + [ + 28.372221, + -9.260834 + ], + [ + 28.901667, + -8.478613 + ], + [ + 30.771242, + -8.192247 + ], + [ + 29.55028, + -6.295279 + ], + [ + 29.423887, + -4.448055 + ], + [ + 29.229898, + -3.750963 + ], + [ + 29.024443, + -2.744722 + ], + [ + 28.868334, + -2.394444 + ], + [ + 29.596945, + -1.385834 + ], + [ + 29.960554, + 0.825556 + ], + [ + 31.302778, + 2.121389 + ], + [ + 30.729723, + 2.448057 + ], + [ + 30.85882, + 3.493395 + ], + [ + 29.643332, + 4.643614 + ], + [ + 28.363054, + 4.290003 + ], + [ + 27.455278, + 5.01639 + ], + [ + 25.891668, + 5.192499 + ], + [ + 25.542223, + 5.381392 + ], + [ + 24.734446, + 4.910833 + ], + [ + 24.394167, + 5.115557 + ], + [ + 23.420279, + 4.591112 + ], + [ + 22.895834, + 4.821112 + ], + [ + 22.379168, + 4.127501 + ], + [ + 20.585554, + 4.410002 + ], + [ + 19.421389, + 5.134169 + ], + [ + 18.541945, + 4.335554 + ], + [ + 18.62496, + 3.479445 + ], + [ + 18.091944, + 2.224169 + ], + [ + 17.714998, + -0.537222 + ], + [ + 16.195833, + -2.175833 + ], + [ + 16.226946, + -3.328333 + ], + [ + 15.890505, + -3.943008 + ], + [ + 14.66139, + -4.909445 + ], + [ + 14.41889, + -4.887222 + ], + [ + 14.400835, + -4.2775 + ], + [ + 13.729445, + -4.445833 + ], + [ + 13.413889, + -4.8825 + ], + [ + 13.091391, + -4.633055 + ], + [ + 13.088888, + -4.6625 + ], + [ + 12.565554, + -5.025555 + ], + [ + 12.526667, + -5.724167 + ], + [ + 12.214552, + -5.768555 + ], + [ + 12.435835, + -6.016666 + ], + [ + 13.178881, + -5.856329 + ], + [ + 13.997499, + -5.848612 + ], + [ + 16.579721, + -5.900833 + ], + [ + 16.941668, + -7.19861 + ], + [ + 17.624166, + -8.098057 + ], + [ + 19.373056, + -7.996111 + ], + [ + 19.53895, + -6.996614 + ], + [ + 20.629747, + -6.913881 + ], + [ + 20.548716, + -7.283615 + ], + [ + 21.782961, + -7.280842 + ], + [ + 21.790556, + -9.405556 + ], + [ + 22.312223, + -10.364445 + ], + [ + 22.253889, + -11.209723 + ], + [ + 23.986208, + -10.870461 + ] + ], + [ + [ + 12.953054, + -5.876112 + ], + [ + 12.737223, + -5.943611 + ], + [ + 12.844168, + -5.850555 + ], + [ + 12.953054, + -5.876112 + ] + ] + ] + }, + "name" : "Democratic Republic of the Congo", + "iso2" : "CD", + "iso3" : "COD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "X71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 29.024441, + -2.744722 + ], + [ + 29.229897, + -3.750964 + ], + [ + 29.423885, + -4.448056 + ], + [ + 30.026108, + -4.269444 + ], + [ + 30.834999, + -3.256945 + ], + [ + 30.843662, + -2.978794 + ], + [ + 30.4175, + -2.861945 + ], + [ + 30.57333, + -2.399167 + ], + [ + 29.952221, + -2.309445 + ], + [ + 29.85083, + -2.759722 + ], + [ + 29.024441, + -2.744722 + ] + ] + ] + }, + "name" : "Burundi", + "iso2" : "BI", + "iso3" : "BDI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "YL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 110.720545, + 20.063334 + ], + [ + 109.259432, + 19.901663 + ], + [ + 108.628313, + 19.280279 + ], + [ + 108.685534, + 18.505278 + ], + [ + 109.566675, + 18.168886 + ], + [ + 110.047762, + 18.380552 + ], + [ + 111.031099, + 19.639997 + ], + [ + 110.720545, + 20.063334 + ] + ], + [ + [ + 110.524149, + 19.134443 + ], + [ + 110.515001, + 19.132776 + ], + [ + 110.510271, + 19.139166 + ], + [ + 110.524149, + 19.134443 + ] + ] + ], + [ + [ + [ + 116.718874, + 20.70944 + ], + [ + 116.701929, + 20.719995 + ], + [ + 116.705263, + 20.711386 + ], + [ + 116.718874, + 20.70944 + ] + ] + ], + [ + [ + [ + 110.597216, + 20.879442 + ], + [ + 110.596651, + 20.95833 + ], + [ + 110.548029, + 20.913885 + ], + [ + 110.597216, + 20.879442 + ] + ] + ], + [ + [ + [ + 109.12192, + 21.055277 + ], + [ + 109.071932, + 21.050276 + ], + [ + 109.072771, + 21.010279 + ], + [ + 109.12192, + 21.055277 + ] + ] + ], + [ + [ + [ + 110.548868, + 21.059164 + ], + [ + 110.248873, + 20.977221 + ], + [ + 110.498034, + 20.955832 + ], + [ + 110.548868, + 21.059164 + ] + ] + ], + [ + [ + [ + 110.499422, + 21.193331 + ], + [ + 110.536654, + 21.096945 + ], + [ + 110.614153, + 21.193331 + ], + [ + 110.499422, + 21.193331 + ] + ] + ], + [ + [ + [ + 111.836115, + 21.565275 + ], + [ + 112.002489, + 21.651941 + ], + [ + 111.840555, + 21.643053 + ], + [ + 111.836115, + 21.565275 + ] + ] + ], + [ + [ + [ + 112.533869, + 21.590834 + ], + [ + 112.646944, + 21.638609 + ], + [ + 112.648043, + 21.702776 + ], + [ + 112.533869, + 21.590834 + ] + ] + ], + [ + [ + [ + 112.805819, + 21.65333 + ], + [ + 112.868876, + 21.76639 + ], + [ + 112.703325, + 21.687777 + ], + [ + 112.805819, + 21.65333 + ] + ] + ], + [ + [ + [ + 113.383333, + 22.00889 + ], + [ + 113.378038, + 22.084723 + ], + [ + 113.307482, + 22.01972 + ], + [ + 113.383333, + 22.00889 + ] + ] + ], + [ + [ + [ + 113.296656, + 22.063887 + ], + [ + 113.360262, + 22.153608 + ], + [ + 113.267763, + 22.113611 + ], + [ + 113.296656, + 22.063887 + ] + ] + ], + [ + [ + [ + 113.594995, + 22.65222 + ], + [ + 113.543589, + 22.736383 + ], + [ + 113.486101, + 22.720274 + ], + [ + 113.594995, + 22.65222 + ] + ] + ], + [ + [ + [ + 113.588045, + 22.750555 + ], + [ + 113.483873, + 22.900831 + ], + [ + 113.387209, + 22.897497 + ], + [ + 113.588045, + 22.750555 + ] + ] + ], + [ + [ + [ + 117.118044, + 23.399164 + ], + [ + 117.09804, + 23.490553 + ], + [ + 116.944704, + 23.438887 + ], + [ + 117.118044, + 23.399164 + ] + ] + ], + [ + [ + [ + 117.404711, + 23.771112 + ], + [ + 117.311655, + 23.579721 + ], + [ + 117.507494, + 23.726385 + ], + [ + 117.404711, + 23.771112 + ] + ] + ], + [ + [ + [ + 118.126925, + 24.425829 + ], + [ + 118.188875, + 24.493887 + ], + [ + 118.091089, + 24.549723 + ], + [ + 118.062189, + 24.45722 + ], + [ + 118.126925, + 24.425829 + ] + ] + ], + [ + [ + [ + 119.301653, + 25.419443 + ], + [ + 119.333879, + 25.570276 + ], + [ + 119.277483, + 25.503054 + ], + [ + 119.301653, + 25.419443 + ] + ] + ], + [ + [ + [ + 119.826662, + 25.582777 + ], + [ + 119.72304, + 25.638887 + ], + [ + 119.696375, + 25.428053 + ], + [ + 119.826662, + 25.582777 + ] + ] + ], + [ + [ + [ + 119.277773, + 26.035276 + ], + [ + 119.408335, + 25.983606 + ], + [ + 119.211329, + 26.071932 + ], + [ + 119.277773, + 26.035276 + ] + ] + ], + [ + [ + [ + 121.170824, + 28.046946 + ], + [ + 121.24193, + 28.200552 + ], + [ + 121.119143, + 28.133886 + ], + [ + 121.170824, + 28.046946 + ] + ] + ], + [ + [ + [ + 121.941095, + 29.052778 + ], + [ + 121.941362, + 29.164999 + ], + [ + 121.873598, + 29.149164 + ], + [ + 121.941095, + 29.052778 + ] + ] + ], + [ + [ + [ + 122.111925, + 29.787779 + ], + [ + 122.030825, + 29.716108 + ], + [ + 122.166094, + 29.652498 + ], + [ + 122.111925, + 29.787779 + ] + ] + ], + [ + [ + [ + 122.411379, + 29.933054 + ], + [ + 122.318605, + 29.941664 + ], + [ + 122.390825, + 29.829443 + ], + [ + 122.411379, + 29.933054 + ] + ] + ], + [ + [ + [ + 121.865808, + 29.969995 + ], + [ + 121.906649, + 30.032221 + ], + [ + 121.861101, + 30.081667 + ], + [ + 121.865808, + 29.969995 + ] + ] + ], + [ + [ + [ + 122.325274, + 30.01861 + ], + [ + 121.961649, + 30.139166 + ], + [ + 122.008043, + 30.004446 + ], + [ + 122.325274, + 30.01861 + ] + ] + ], + [ + [ + [ + 122.211115, + 30.241106 + ], + [ + 122.212198, + 30.339167 + ], + [ + 122.074709, + 30.287222 + ], + [ + 122.211115, + 30.241106 + ] + ] + ], + [ + [ + [ + 122.420259, + 30.41361 + ], + [ + 122.272776, + 30.474997 + ], + [ + 122.275545, + 30.432219 + ], + [ + 122.420259, + 30.41361 + ] + ] + ], + [ + [ + [ + 121.844995, + 31.288054 + ], + [ + 121.878862, + 31.356665 + ], + [ + 121.791933, + 31.369997 + ], + [ + 121.844995, + 31.288054 + ] + ] + ], + [ + [ + [ + 121.487764, + 31.717775 + ], + [ + 121.203859, + 31.800539 + ], + [ + 121.868319, + 31.489164 + ], + [ + 121.487764, + 31.717775 + ] + ] + ], + [ + [ + [ + 119.899431, + 32.071108 + ], + [ + 119.823885, + 32.268053 + ], + [ + 119.716089, + 32.271936 + ], + [ + 119.899431, + 32.071108 + ] + ] + ], + [ + [ + [ + 121.436098, + 39.391665 + ], + [ + 121.393053, + 39.479158 + ], + [ + 121.255831, + 39.409433 + ], + [ + 121.436098, + 39.391665 + ] + ] + ], + [ + [ + [ + 130.604372, + 42.421862 + ], + [ + 130.405245, + 42.71805 + ], + [ + 131.123293, + 42.910822 + ], + [ + 131.311373, + 43.392221 + ], + [ + 130.949984, + 44.841105 + ], + [ + 131.864687, + 45.345545 + ], + [ + 133.122194, + 45.128603 + ], + [ + 133.900179, + 46.250315 + ], + [ + 134.182467, + 47.323328 + ], + [ + 134.767214, + 47.707499 + ], + [ + 134.740755, + 48.26713 + ], + [ + 133.088564, + 48.101664 + ], + [ + 132.52109, + 47.710276 + ], + [ + 130.988558, + 47.688601 + ], + [ + 130.521639, + 48.607775 + ], + [ + 130.671633, + 48.865 + ], + [ + 127.529428, + 49.789164 + ], + [ + 127.586069, + 50.208567 + ], + [ + 126.095545, + 52.764444 + ], + [ + 123.382204, + 53.526659 + ], + [ + 120.863878, + 53.279718 + ], + [ + 120.029161, + 52.768053 + ], + [ + 120.71361, + 52.544718 + ], + [ + 120.776659, + 52.115 + ], + [ + 119.138605, + 50.394716 + ], + [ + 119.361368, + 50.336939 + ], + [ + 119.214159, + 50.015276 + ], + [ + 117.874712, + 49.520578 + ], + [ + 116.711382, + 49.830469 + ], + [ + 115.592196, + 47.919443 + ], + [ + 117.372194, + 47.653597 + ], + [ + 117.801088, + 48.010553 + ], + [ + 118.539339, + 47.994753 + ], + [ + 119.729982, + 47.164156 + ], + [ + 119.897493, + 46.675554 + ], + [ + 117.421099, + 46.578333 + ], + [ + 116.585543, + 46.295832 + ], + [ + 115.701929, + 45.458605 + ], + [ + 114.545259, + 45.389437 + ], + [ + 113.638048, + 44.745272 + ], + [ + 111.980822, + 45.091661 + ], + [ + 111.421373, + 44.382494 + ], + [ + 111.95833, + 43.692217 + ], + [ + 110.440538, + 42.777773 + ], + [ + 109.313601, + 42.429995 + ], + [ + 107.471918, + 42.466105 + ], + [ + 105.012209, + 41.581385 + ], + [ + 100.835543, + 42.678049 + ], + [ + 96.383043, + 42.731104 + ], + [ + 95.336107, + 44.02083 + ], + [ + 95.416658, + 44.293886 + ], + [ + 93.554705, + 44.957216 + ], + [ + 90.896944, + 45.253054 + ], + [ + 90.681932, + 45.579721 + ], + [ + 91.02025, + 46.600111 + ], + [ + 90.074434, + 47.886385 + ], + [ + 88.653322, + 48.182772 + ], + [ + 87.973314, + 48.576944 + ], + [ + 87.8407, + 49.172953 + ], + [ + 87.348207, + 49.092623 + ], + [ + 86.874697, + 49.110826 + ], + [ + 86.596102, + 48.536112 + ], + [ + 85.759157, + 48.387774 + ], + [ + 85.529314, + 47.060167 + ], + [ + 84.759432, + 46.826387 + ], + [ + 83.040545, + 47.212214 + ], + [ + 82.317766, + 45.570536 + ], + [ + 82.649431, + 45.430262 + ], + [ + 82.561647, + 45.129419 + ], + [ + 81.688311, + 45.350817 + ], + [ + 79.871096, + 44.904978 + ], + [ + 80.52083, + 44.732477 + ], + [ + 80.362764, + 44.125246 + ], + [ + 80.817217, + 43.156069 + ], + [ + 80.37665, + 43.02524 + ], + [ + 80.5786, + 42.891077 + ], + [ + 80.171923, + 42.660509 + ], + [ + 80.234026, + 42.196222 + ], + [ + 78.080828, + 41.040789 + ], + [ + 76.873873, + 41.014109 + ], + [ + 76.345827, + 40.350222 + ], + [ + 75.697206, + 40.299112 + ], + [ + 75.578051, + 40.647997 + ], + [ + 74.860262, + 40.519388 + ], + [ + 73.994432, + 40.046045 + ], + [ + 73.655687, + 39.454828 + ], + [ + 73.817766, + 38.607714 + ], + [ + 74.856646, + 38.470484 + ], + [ + 74.902773, + 37.647158 + ], + [ + 75.187487, + 37.406588 + ], + [ + 74.915743, + 37.237329 + ], + [ + 74.392214, + 37.175074 + ], + [ + 74.565432, + 37.027819 + ], + [ + 74.817492, + 37.021769 + ], + [ + 75.864428, + 36.659678 + ], + [ + 76.166384, + 35.819719 + ], + [ + 77.823931, + 35.501329 + ], + [ + 78.075548, + 35.445826 + ], + [ + 78.309145, + 34.642496 + ], + [ + 78.985353, + 34.350016 + ], + [ + 78.811647, + 33.525827 + ], + [ + 79.530275, + 32.754168 + ], + [ + 78.971102, + 32.350832 + ], + [ + 78.760546, + 32.635553 + ], + [ + 78.397768, + 32.548609 + ], + [ + 78.767214, + 31.309999 + ], + [ + 79.092485, + 31.437498 + ], + [ + 81.025362, + 30.204355 + ], + [ + 81.223604, + 30.010279 + ], + [ + 81.421099, + 30.385275 + ], + [ + 82.100542, + 30.342222 + ], + [ + 83.552767, + 29.185831 + ], + [ + 84.119143, + 29.26 + ], + [ + 84.481096, + 28.736662 + ], + [ + 85.189974, + 28.603331 + ], + [ + 85.106646, + 28.309443 + ], + [ + 85.721376, + 28.279165 + ], + [ + 86.014437, + 27.882776 + ], + [ + 86.183596, + 28.163885 + ], + [ + 86.444979, + 27.908052 + ], + [ + 86.686373, + 28.112219 + ], + [ + 87.192751, + 27.823053 + ], + [ + 88.142794, + 27.866056 + ], + [ + 88.831667, + 28.013334 + ], + [ + 88.917727, + 27.320326 + ], + [ + 89.590273, + 28.143332 + ], + [ + 90.017488, + 28.325277 + ], + [ + 90.466387, + 28.071665 + ], + [ + 91.301378, + 28.08111 + ], + [ + 91.657763, + 27.764723 + ], + [ + 92.544985, + 27.86194 + ], + [ + 94.647509, + 29.33346 + ], + [ + 95.387774, + 29.035276 + ], + [ + 96.077486, + 29.468607 + ], + [ + 96.395266, + 29.255278 + ], + [ + 96.169146, + 28.903608 + ], + [ + 96.470827, + 29.056665 + ], + [ + 96.615816, + 28.790277 + ], + [ + 96.401934, + 28.35111 + ], + [ + 97.348879, + 28.222773 + ], + [ + 97.555254, + 28.548056 + ], + [ + 97.806643, + 28.344164 + ], + [ + 98.316378, + 27.541945 + ], + [ + 98.699709, + 27.539167 + ], + [ + 98.778322, + 26.636385 + ], + [ + 98.710817, + 25.855555 + ], + [ + 97.552477, + 24.743052 + ], + [ + 97.759996, + 24.257498 + ], + [ + 97.53554, + 23.939718 + ], + [ + 98.890734, + 24.16007 + ], + [ + 98.677202, + 23.968054 + ], + [ + 98.927477, + 23.189165 + ], + [ + 99.566378, + 22.938051 + ], + [ + 99.162767, + 22.159163 + ], + [ + 99.964434, + 22.048887 + ], + [ + 100.212755, + 21.432554 + ], + [ + 101.105265, + 21.771387 + ], + [ + 101.148241, + 21.572638 + ], + [ + 101.281939, + 21.180277 + ], + [ + 101.787203, + 21.144163 + ], + [ + 101.574434, + 22.209162 + ], + [ + 101.738039, + 22.496943 + ], + [ + 102.140749, + 22.396288 + ], + [ + 102.479715, + 22.77389 + ], + [ + 103.03055, + 22.435553 + ], + [ + 103.336382, + 22.796389 + ], + [ + 103.964434, + 22.499113 + ], + [ + 105.353868, + 23.334723 + ], + [ + 105.577478, + 23.059164 + ], + [ + 106.707209, + 22.865 + ], + [ + 106.693316, + 22.030832 + ], + [ + 107.990023, + 21.542414 + ], + [ + 108.511385, + 21.589167 + ], + [ + 108.475809, + 21.940275 + ], + [ + 109.142763, + 21.396666 + ], + [ + 109.57332, + 21.72333 + ], + [ + 109.941095, + 21.446943 + ], + [ + 109.661928, + 20.918886 + ], + [ + 109.924425, + 20.233606 + ], + [ + 110.278872, + 20.246107 + ], + [ + 110.529161, + 20.47333 + ], + [ + 110.158045, + 20.845552 + ], + [ + 110.398249, + 21.380671 + ], + [ + 111.637209, + 21.521112 + ], + [ + 111.892488, + 21.920275 + ], + [ + 112.93915, + 21.868608 + ], + [ + 113.086382, + 22.206942 + ], + [ + 113.224154, + 22.0375 + ], + [ + 113.29915, + 22.175554 + ], + [ + 113.388048, + 22.176664 + ], + [ + 113.16527, + 22.571386 + ], + [ + 113.531664, + 22.194738 + ], + [ + 113.55443, + 22.212732 + ], + [ + 113.565813, + 22.550276 + ], + [ + 113.359156, + 22.883333 + ], + [ + 113.47748, + 23.052778 + ], + [ + 113.829714, + 23.11722 + ], + [ + 113.524431, + 23.01111 + ], + [ + 114.033331, + 22.509138 + ], + [ + 114.222597, + 22.55055 + ], + [ + 116.480822, + 22.938051 + ], + [ + 116.787493, + 23.233885 + ], + [ + 116.521379, + 23.420832 + ], + [ + 118.123308, + 24.256109 + ], + [ + 117.792025, + 24.461321 + ], + [ + 118.018053, + 24.436384 + ], + [ + 118.16054, + 24.688608 + ], + [ + 118.239702, + 24.536386 + ], + [ + 118.622759, + 24.54389 + ], + [ + 118.573885, + 24.884165 + ], + [ + 119.0161, + 24.954165 + ], + [ + 118.87192, + 25.243887 + ], + [ + 119.353045, + 25.250277 + ], + [ + 119.102205, + 25.408052 + ], + [ + 119.30887, + 25.606943 + ], + [ + 119.652208, + 25.357222 + ], + [ + 119.451105, + 25.680277 + ], + [ + 119.705553, + 25.993608 + ], + [ + 119.344995, + 25.93833 + ], + [ + 119.09276, + 26.142496 + ], + [ + 119.425264, + 25.996943 + ], + [ + 119.939425, + 26.354166 + ], + [ + 119.658045, + 26.33861 + ], + [ + 119.54915, + 26.753611 + ], + [ + 120.127199, + 26.641665 + ], + [ + 120.033869, + 26.899721 + ], + [ + 120.422213, + 27.145277 + ], + [ + 120.19359, + 27.290277 + ], + [ + 120.47748, + 27.177496 + ], + [ + 120.84305, + 27.876944 + ], + [ + 120.590822, + 28.079443 + ], + [ + 121.5786, + 28.269167 + ], + [ + 121.138605, + 28.840555 + ], + [ + 121.610262, + 28.724997 + ], + [ + 121.411928, + 29.163332 + ], + [ + 121.933596, + 29.195276 + ], + [ + 121.979715, + 29.585276 + ], + [ + 121.44832, + 29.511667 + ], + [ + 122.12665, + 29.888887 + ], + [ + 121.677759, + 29.963053 + ], + [ + 121.284418, + 30.304445 + ], + [ + 120.146105, + 30.194719 + ], + [ + 121.884722, + 30.974997 + ], + [ + 120.714434, + 31.983606 + ], + [ + 120.129152, + 31.905554 + ], + [ + 119.629702, + 32.260828 + ], + [ + 119.826662, + 32.306383 + ], + [ + 120.106089, + 31.943888 + ], + [ + 120.601931, + 32.093607 + ], + [ + 121.89554, + 31.746943 + ], + [ + 120.835825, + 32.640833 + ], + [ + 120.253885, + 34.309992 + ], + [ + 119.176088, + 34.884996 + ], + [ + 120.237764, + 35.959436 + ], + [ + 120.088854, + 36.199984 + ], + [ + 120.680819, + 36.127481 + ], + [ + 120.783335, + 36.621935 + ], + [ + 121.949144, + 37.000002 + ], + [ + 122.504709, + 36.89361 + ], + [ + 122.562189, + 37.396387 + ], + [ + 121.570543, + 37.424715 + ], + [ + 120.740541, + 37.835268 + ], + [ + 119.767214, + 37.151384 + ], + [ + 119.232759, + 37.14361 + ], + [ + 118.956652, + 37.300547 + ], + [ + 118.841928, + 38.150545 + ], + [ + 117.672213, + 38.38666 + ], + [ + 117.743876, + 39.104998 + ], + [ + 118.924425, + 39.128046 + ], + [ + 119.519709, + 39.868052 + ], + [ + 120.455263, + 40.200548 + ], + [ + 121.177469, + 40.921938 + ], + [ + 122.299715, + 40.511667 + ], + [ + 121.228868, + 39.538332 + ], + [ + 121.751101, + 39.351664 + ], + [ + 121.146944, + 38.722765 + ], + [ + 124.373598, + 40.093622 + ], + [ + 126.016939, + 40.899996 + ], + [ + 126.913042, + 41.796106 + ], + [ + 128.155825, + 41.382494 + ], + [ + 128.05887, + 42.003328 + ], + [ + 128.925814, + 42.024439 + ], + [ + 129.711916, + 42.444155 + ], + [ + 129.907534, + 43.005823 + ], + [ + 130.604372, + 42.421862 + ] + ], + [ + [ + 108.329714, + 21.654165 + ], + [ + 108.320833, + 21.665831 + ], + [ + 108.328875, + 21.67861 + ], + [ + 108.329714, + 21.654165 + ] + ] + ] + ] + }, + "name" : "China", + "iso2" : "CN", + "iso3" : "CHN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Yb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 74.915741, + 37.237328 + ], + [ + 73.307205, + 37.462753 + ], + [ + 71.6772, + 36.67601 + ], + [ + 71.429428, + 37.075829 + ], + [ + 71.591934, + 37.902618 + ], + [ + 71.252777, + 37.922035 + ], + [ + 71.363037, + 38.248497 + ], + [ + 70.967209, + 38.472115 + ], + [ + 70.161377, + 37.933372 + ], + [ + 70.155823, + 37.536232 + ], + [ + 69.515823, + 37.580826 + ], + [ + 69.315262, + 37.115273 + ], + [ + 68.887772, + 37.3386 + ], + [ + 68.058014, + 36.932526 + ], + [ + 67.779877, + 37.185822 + ], + [ + 66.537735, + 37.366379 + ], + [ + 65.708878, + 37.538605 + ], + [ + 64.798035, + 37.124992 + ], + [ + 64.503601, + 36.280548 + ], + [ + 63.119438, + 35.861938 + ], + [ + 63.10527, + 35.450829 + ], + [ + 62.722214, + 35.254715 + ], + [ + 62.309158, + 35.141663 + ], + [ + 61.276558, + 35.607246 + ], + [ + 60.721657, + 34.522217 + ], + [ + 60.878876, + 34.319717 + ], + [ + 60.508331, + 34.140274 + ], + [ + 60.527771, + 33.644157 + ], + [ + 60.943047, + 33.51944 + ], + [ + 60.582497, + 33.066101 + ], + [ + 60.84388, + 31.498329 + ], + [ + 61.713608, + 31.383331 + ], + [ + 61.851105, + 31.021111 + ], + [ + 60.868599, + 29.863884 + ], + [ + 62.484436, + 29.406105 + ], + [ + 66.256653, + 29.85194 + ], + [ + 66.395538, + 30.94083 + ], + [ + 66.723038, + 31.212215 + ], + [ + 67.778046, + 31.332218 + ], + [ + 67.575546, + 31.53194 + ], + [ + 68.166092, + 31.833054 + ], + [ + 68.833054, + 31.603886 + ], + [ + 69.328247, + 31.940365 + ], + [ + 69.505264, + 33.034164 + ], + [ + 70.326935, + 33.33194 + ], + [ + 69.906372, + 34.035271 + ], + [ + 71.08194, + 34.055824 + ], + [ + 70.987488, + 34.551102 + ], + [ + 71.649429, + 35.424995 + ], + [ + 71.243576, + 36.129715 + ], + [ + 72.556641, + 36.821266 + ], + [ + 74.56543, + 37.027817 + ], + [ + 74.392212, + 37.175072 + ], + [ + 74.915741, + 37.237328 + ] + ] + ] + }, + "name" : "Afghanistan", + "iso2" : "AF", + "iso3" : "AFG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Yr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 90.466385, + 28.071663 + ], + [ + 90.017487, + 28.325275 + ], + [ + 89.590271, + 28.14333 + ], + [ + 88.917725, + 27.320324 + ], + [ + 88.893875, + 26.975552 + ], + [ + 89.643051, + 26.715271 + ], + [ + 92.069992, + 26.861942 + ], + [ + 92.113602, + 27.297497 + ], + [ + 91.657761, + 27.764721 + ], + [ + 91.301376, + 28.081108 + ], + [ + 90.466385, + 28.071663 + ] + ] + ] + }, + "name" : "Bhutan", + "iso2" : "BT", + "iso3" : "BTN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Y71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -66.571396, + -55.284729 + ], + [ + -66.420563, + -55.194725 + ], + [ + -66.626114, + -55.199722 + ], + [ + -66.571396, + -55.284729 + ] + ] + ], + [ + [ + [ + -66.816681, + -55.118614 + ], + [ + -66.862228, + -55.02639 + ], + [ + -67.072235, + -55.002785 + ], + [ + -66.816681, + -55.118614 + ] + ] + ], + [ + [ + [ + -66.874725, + -55.33223 + ], + [ + -66.878616, + -55.228889 + ], + [ + -67.073624, + -55.276115 + ], + [ + -66.874725, + -55.33223 + ] + ] + ], + [ + [ + [ + -69.483612, + -17.635559 + ], + [ + -69.499725, + -17.50528 + ], + [ + -69.951126, + -18.242779 + ], + [ + -70.405487, + -18.348545 + ], + [ + -70.053345, + -21.425652 + ], + [ + -70.622513, + -23.492779 + ], + [ + -70.391113, + -23.561947 + ], + [ + -70.449173, + -25.364723 + ], + [ + -70.910843, + -27.621948 + ], + [ + -71.521666, + -28.970001 + ], + [ + -71.287796, + -29.896946 + ], + [ + -71.703339, + -30.761669 + ], + [ + -71.442505, + -32.640007 + ], + [ + -73.190002, + -37.138062 + ], + [ + -73.643341, + -37.208618 + ], + [ + -73.222504, + -39.414726 + ], + [ + -73.99501, + -40.970001 + ], + [ + -73.868895, + -41.482506 + ], + [ + -73.491959, + -41.520836 + ], + [ + -73.75029, + -41.754723 + ], + [ + -73.203613, + -41.792503 + ], + [ + -72.946671, + -41.483337 + ], + [ + -72.571396, + -41.707779 + ], + [ + -72.310013, + -41.435837 + ], + [ + -72.350571, + -41.652504 + ], + [ + -72.859451, + -41.906952 + ], + [ + -72.462784, + -41.971115 + ], + [ + -72.421402, + -42.453056 + ], + [ + -72.847504, + -42.280006 + ], + [ + -72.535004, + -42.559174 + ], + [ + -72.86084, + -42.574448 + ], + [ + -72.745285, + -43.04834 + ], + [ + -73.116394, + -43.439728 + ], + [ + -72.84584, + -43.776672 + ], + [ + -73.289459, + -44.143616 + ], + [ + -72.613892, + -44.472778 + ], + [ + -72.766113, + -44.753334 + ], + [ + -73.142502, + -44.94445 + ], + [ + -73.391678, + -44.98056 + ], + [ + -73.446945, + -45.285278 + ], + [ + -72.827225, + -45.422501 + ], + [ + -73.515564, + -45.455002 + ], + [ + -73.587233, + -45.779724 + ], + [ + -73.182236, + -45.667503 + ], + [ + -73.663345, + -45.973335 + ], + [ + -73.690842, + -46.319168 + ], + [ + -73.425568, + -46.074448 + ], + [ + -73.841124, + -46.58889 + ], + [ + -73.99501, + -46.561394 + ], + [ + -73.768066, + -46.30278 + ], + [ + -73.882782, + -46.141113 + ], + [ + -73.853897, + -46.347229 + ], + [ + -74.049728, + -46.195557 + ], + [ + -74.340836, + -46.266396 + ], + [ + -74.494446, + -46.190285 + ], + [ + -74.311676, + -46.249168 + ], + [ + -74.083618, + -46.186111 + ], + [ + -73.974457, + -46.094727 + ], + [ + -74.140839, + -45.80584 + ], + [ + -74.361115, + -45.791115 + ], + [ + -75.717514, + -46.725281 + ], + [ + -75.413071, + -46.933891 + ], + [ + -75.654724, + -46.765007 + ], + [ + -74.94223, + -46.440002 + ], + [ + -75.013901, + -46.750282 + ], + [ + -74.265015, + -46.785561 + ], + [ + -73.934448, + -47.036118 + ], + [ + -74.529175, + -47.437782 + ], + [ + -74.041122, + -47.618057 + ], + [ + -74.741669, + -47.715836 + ], + [ + -73.934448, + -47.846947 + ], + [ + -73.719177, + -47.528336 + ], + [ + -73.22084, + -48.001114 + ], + [ + -73.654175, + -47.903618 + ], + [ + -73.27417, + -48.087227 + ], + [ + -73.553345, + -48.245834 + ], + [ + -74.654449, + -48.023895 + ], + [ + -74.021118, + -48.413612 + ], + [ + -74.046677, + -48.547783 + ], + [ + -74.400284, + -48.614449 + ], + [ + -74.060837, + -48.741394 + ], + [ + -74.449722, + -48.812225 + ], + [ + -74.373901, + -49.427504 + ], + [ + -73.834166, + -49.029167 + ], + [ + -74.111679, + -49.480278 + ], + [ + -73.712509, + -49.757225 + ], + [ + -74.325287, + -49.627228 + ], + [ + -73.88501, + -50.06945 + ], + [ + -74.372513, + -49.991394 + ], + [ + -73.865845, + -50.293892 + ], + [ + -74.693619, + -50.203339 + ], + [ + -73.884735, + -50.538895 + ], + [ + -74.29306, + -50.482224 + ], + [ + -74.04834, + -50.827507 + ], + [ + -73.566391, + -50.401672 + ], + [ + -73.528624, + -50.714447 + ], + [ + -74.252792, + -50.940834 + ], + [ + -73.71167, + -51.159729 + ], + [ + -73.598068, + -51.61834 + ], + [ + -73.89418, + -51.370003 + ], + [ + -73.905838, + -51.622505 + ], + [ + -73.46167, + -51.687225 + ], + [ + -73.545288, + -52.056395 + ], + [ + -73.283615, + -52.155006 + ], + [ + -73.386673, + -51.655556 + ], + [ + -73.236954, + -52.090004 + ], + [ + -72.924179, + -51.863335 + ], + [ + -73.281403, + -51.610283 + ], + [ + -72.560837, + -51.78167 + ], + [ + -73.243622, + -51.462227 + ], + [ + -72.468903, + -51.789169 + ], + [ + -72.490845, + -52.318893 + ], + [ + -72.899445, + -52.458618 + ], + [ + -72.570557, + -52.315834 + ], + [ + -72.698334, + -51.983337 + ], + [ + -72.861954, + -52.264168 + ], + [ + -72.988617, + -52.068611 + ], + [ + -73.327515, + -52.223618 + ], + [ + -73.723343, + -52.024727 + ], + [ + -73.547791, + -52.538895 + ], + [ + -73.690002, + -52.725006 + ], + [ + -72.88501, + -52.515556 + ], + [ + -73.56279, + -52.793617 + ], + [ + -73.235001, + -52.889725 + ], + [ + -73.451126, + -53.006668 + ], + [ + -72.980835, + -53.066116 + ], + [ + -73.005844, + -52.854172 + ], + [ + -72.675293, + -52.65889 + ], + [ + -72.898895, + -52.625557 + ], + [ + -72.799179, + -52.539726 + ], + [ + -71.475281, + -52.633339 + ], + [ + -72.719452, + -52.746117 + ], + [ + -72.958344, + -52.857506 + ], + [ + -72.936951, + -53.106674 + ], + [ + -72.653061, + -53.14695 + ], + [ + -72.79306, + -53.178337 + ], + [ + -72.706116, + -53.29306 + ], + [ + -73.217789, + -53.231117 + ], + [ + -72.400284, + -53.540283 + ], + [ + -72.654175, + -53.323891 + ], + [ + -72.188614, + -53.183891 + ], + [ + -72.55278, + -53.074722 + ], + [ + -71.170563, + -52.80806 + ], + [ + -71.80307, + -53.516396 + ], + [ + -72.007233, + -53.563057 + ], + [ + -71.864456, + -53.221672 + ], + [ + -72.453903, + -53.40139 + ], + [ + -71.284729, + -53.886391 + ], + [ + -70.973618, + -53.755562 + ], + [ + -70.811676, + -52.732506 + ], + [ + -69.261124, + -52.20639 + ], + [ + -68.441757, + -52.377777 + ], + [ + -69.998337, + -51.996391 + ], + [ + -71.910568, + -51.995834 + ], + [ + -72.400558, + -51.513618 + ], + [ + -72.294174, + -50.649727 + ], + [ + -73.166122, + -50.753334 + ], + [ + -73.583618, + -49.538063 + ], + [ + -72.564178, + -48.804451 + ], + [ + -72.287231, + -48.341949 + ], + [ + -72.536392, + -47.921394 + ], + [ + -72.360291, + -47.470001 + ], + [ + -71.868622, + -47.221672 + ], + [ + -71.940292, + -46.815559 + ], + [ + -71.669449, + -46.679169 + ], + [ + -71.780563, + -45.648895 + ], + [ + -71.297791, + -45.293335 + ], + [ + -72.078613, + -44.769447 + ], + [ + -71.282227, + -44.800285 + ], + [ + -71.108063, + -44.539726 + ], + [ + -71.855011, + -44.371674 + ], + [ + -71.732788, + -43.188057 + ], + [ + -72.136948, + -43.009171 + ], + [ + -72.131958, + -42.288895 + ], + [ + -71.72612, + -42.096672 + ], + [ + -71.950562, + -40.73278 + ], + [ + -71.695557, + -39.58445 + ], + [ + -71.401398, + -38.92028 + ], + [ + -70.824173, + -38.568062 + ], + [ + -71.185287, + -36.842224 + ], + [ + -70.424316, + -36.13604 + ], + [ + -70.567505, + -35.24778 + ], + [ + -69.8125, + -34.235558 + ], + [ + -69.774445, + -33.381111 + ], + [ + -70.098892, + -33.172501 + ], + [ + -70.533066, + -31.188057 + ], + [ + -69.83168, + -30.190556 + ], + [ + -70.031403, + -29.306393 + ], + [ + -69.65538, + -28.400932 + ], + [ + -68.810837, + -27.120556 + ], + [ + -68.287231, + -26.915279 + ], + [ + -68.583618, + -26.50528 + ], + [ + -68.351959, + -25.117226 + ], + [ + -68.565002, + -24.774445 + ], + [ + -67.335846, + -24.021666 + ], + [ + -67.000839, + -23.002781 + ], + [ + -67.183624, + -22.821667 + ], + [ + -67.876404, + -22.828056 + ], + [ + -68.188614, + -21.296946 + ], + [ + -68.756958, + -20.406948 + ], + [ + -68.4375, + -19.430279 + ], + [ + -68.907791, + -19.055279 + ], + [ + -69.071671, + -18.038891 + ], + [ + -69.483612, + -17.635559 + ] + ], + [ + [ + -73.385284, + -52.740004 + ], + [ + -73.398056, + -52.732506 + ], + [ + -73.328064, + -52.699448 + ], + [ + -73.385284, + -52.740004 + ] + ], + [ + [ + -74.069458, + -46.006111 + ], + [ + -74.072235, + -46.097778 + ], + [ + -74.164459, + -46.136673 + ], + [ + -74.069458, + -46.006111 + ] + ] + ], + [ + [ + [ + -67.780563, + -54.919449 + ], + [ + -68.364456, + -54.94445 + ], + [ + -68.095291, + -55.236946 + ], + [ + -67.053619, + -55.136391 + ], + [ + -67.780563, + -54.919449 + ] + ] + ], + [ + [ + [ + -67.085281, + -55.917503 + ], + [ + -67.105835, + -55.801949 + ], + [ + -67.171677, + -55.874168 + ], + [ + -67.085281, + -55.917503 + ] + ] + ], + [ + [ + [ + -67.167236, + -55.786392 + ], + [ + -67.173889, + -55.759726 + ], + [ + -67.241394, + -55.790283 + ], + [ + -67.167236, + -55.786392 + ] + ] + ], + [ + [ + [ + -67.212784, + -55.893616 + ], + [ + -67.246948, + -55.828056 + ], + [ + -67.413895, + -55.83223 + ], + [ + -67.212784, + -55.893616 + ] + ] + ], + [ + [ + [ + -67.268066, + -55.72139 + ], + [ + -67.356674, + -55.574722 + ], + [ + -67.556395, + -55.712227 + ], + [ + -67.268066, + -55.72139 + ] + ] + ], + [ + [ + [ + -67.493057, + -55.82917 + ], + [ + -67.857513, + -55.849167 + ], + [ + -67.611954, + -55.902229 + ], + [ + -67.493057, + -55.82917 + ] + ] + ], + [ + [ + [ + -67.728622, + -55.624451 + ], + [ + -67.589737, + -55.540558 + ], + [ + -67.688065, + -55.501671 + ], + [ + -67.728622, + -55.624451 + ] + ] + ], + [ + [ + [ + -68.396666, + -54.95945 + ], + [ + -70.03334, + -55.156395 + ], + [ + -69.174179, + -55.512222 + ], + [ + -69.430008, + -55.161949 + ], + [ + -68.803619, + -55.188614 + ], + [ + -68.939178, + -55.459724 + ], + [ + -68.053619, + -55.712502 + ], + [ + -68.159454, + -55.398613 + ], + [ + -68.74501, + -55.271118 + ], + [ + -68.210556, + -55.265007 + ], + [ + -69.061111, + -55.057228 + ], + [ + -68.396666, + -54.95945 + ] + ] + ], + [ + [ + [ + -70.917236, + -54.708618 + ], + [ + -68.643112, + -54.888611 + ], + [ + -68.636124, + -54.804771 + ], + [ + -68.635834, + -54.788338 + ], + [ + -68.617584, + -52.64151 + ], + [ + -69.420563, + -52.458061 + ], + [ + -69.917236, + -52.825836 + ], + [ + -70.424728, + -52.773056 + ], + [ + -70.099731, + -52.904167 + ], + [ + -70.444458, + -53.012779 + ], + [ + -70.446671, + -53.368057 + ], + [ + -69.3564, + -53.351112 + ], + [ + -70.184448, + -53.813614 + ], + [ + -68.991669, + -54.431946 + ], + [ + -69.177504, + -54.580833 + ], + [ + -69.376404, + -54.686668 + ], + [ + -69.241119, + -54.446396 + ], + [ + -69.859177, + -54.283058 + ], + [ + -69.770004, + -54.557503 + ], + [ + -70.055283, + -54.249168 + ], + [ + -70.200836, + -54.316116 + ], + [ + -70.142792, + -54.428337 + ], + [ + -70.88028, + -54.133896 + ], + [ + -70.130844, + -54.548889 + ], + [ + -72.003067, + -54.463615 + ], + [ + -70.917236, + -54.708618 + ] + ], + [ + [ + -70.917236, + -54.708618 + ], + [ + -70.870285, + -54.686394 + ], + [ + -70.771393, + -54.681114 + ], + [ + -70.917236, + -54.708618 + ] + ] + ], + [ + [ + [ + -69.762222, + -55.038612 + ], + [ + -69.166397, + -54.958336 + ], + [ + -69.931946, + -54.89917 + ], + [ + -69.762222, + -55.038612 + ] + ] + ], + [ + [ + [ + -69.690567, + -55.412506 + ], + [ + -69.637512, + -55.382507 + ], + [ + -69.764725, + -55.337784 + ], + [ + -69.690567, + -55.412506 + ] + ] + ], + [ + [ + [ + -69.985291, + -55.364174 + ], + [ + -69.94223, + -55.287224 + ], + [ + -70.106125, + -55.295837 + ], + [ + -69.985291, + -55.364174 + ] + ] + ], + [ + [ + [ + -70.281403, + -54.275558 + ], + [ + -70.218903, + -54.226669 + ], + [ + -70.511124, + -54.160835 + ], + [ + -70.281403, + -54.275558 + ] + ] + ], + [ + [ + [ + -70.508759, + -54.970055 + ], + [ + -70.311676, + -54.904724 + ], + [ + -71.015839, + -54.966667 + ], + [ + -70.26445, + -55.116112 + ], + [ + -70.734177, + -55.015282 + ], + [ + -70.508759, + -54.970055 + ] + ] + ], + [ + [ + [ + -70.609177, + -54.904724 + ], + [ + -70.393616, + -54.871674 + ], + [ + -70.74556, + -54.874451 + ], + [ + -70.609177, + -54.904724 + ] + ] + ], + [ + [ + [ + -70.441956, + -53.860558 + ], + [ + -70.534454, + -53.560837 + ], + [ + -70.878616, + -54.050835 + ], + [ + -70.524445, + -54.228615 + ], + [ + -70.674454, + -53.926674 + ], + [ + -70.441956, + -53.860558 + ] + ] + ], + [ + [ + [ + -70.725845, + -52.893616 + ], + [ + -70.618895, + -52.821396 + ], + [ + -70.780838, + -52.877785 + ], + [ + -70.725845, + -52.893616 + ] + ] + ], + [ + [ + [ + -71.106949, + -54.871948 + ], + [ + -71.45668, + -54.885002 + ], + [ + -70.912231, + -54.924446 + ], + [ + -71.106949, + -54.871948 + ] + ] + ], + [ + [ + [ + -71.257507, + -54.076118 + ], + [ + -71.699448, + -54.161118 + ], + [ + -71.116394, + -54.384726 + ], + [ + -71.009735, + -54.102783 + ], + [ + -71.257507, + -54.076118 + ] + ] + ], + [ + [ + [ + -71.671112, + -53.943893 + ], + [ + -72.257507, + -53.941116 + ], + [ + -71.84668, + -54.339729 + ], + [ + -71.953613, + -54.019447 + ], + [ + -71.671112, + -53.943893 + ] + ] + ], + [ + [ + [ + -72.021118, + -54.634726 + ], + [ + -72.101395, + -54.656395 + ], + [ + -71.931122, + -54.744728 + ], + [ + -72.021118, + -54.634726 + ] + ] + ], + [ + [ + [ + -72.911118, + -53.429451 + ], + [ + -73.587784, + -53.755562 + ], + [ + -73.25, + -53.70723 + ], + [ + -73.132507, + -54.011673 + ], + [ + -72.732224, + -53.839729 + ], + [ + -72.870834, + -54.136673 + ], + [ + -72.13945, + -53.801674 + ], + [ + -72.843903, + -53.458061 + ], + [ + -72.878342, + -53.681946 + ], + [ + -72.911118, + -53.429451 + ] + ] + ], + [ + [ + [ + -72.322235, + -54.258057 + ], + [ + -72.206955, + -54.148338 + ], + [ + -72.301682, + -54.071671 + ], + [ + -72.511124, + -54.202782 + ], + [ + -72.322235, + -54.258057 + ] + ] + ], + [ + [ + [ + -72.308334, + -54.369171 + ], + [ + -72.540558, + -54.341393 + ], + [ + -72.463348, + -54.43 + ], + [ + -72.308334, + -54.369171 + ] + ] + ], + [ + [ + [ + -72.513062, + -42.152504 + ], + [ + -72.509445, + -42.060837 + ], + [ + -72.616959, + -42.097778 + ], + [ + -72.513062, + -42.152504 + ] + ] + ], + [ + [ + [ + -72.722778, + -44.549171 + ], + [ + -72.998062, + -44.367226 + ], + [ + -73.464737, + -44.644447 + ], + [ + -73.20723, + -44.798615 + ], + [ + -73.407791, + -44.820557 + ], + [ + -73.280289, + -44.940002 + ], + [ + -73.138336, + -44.913063 + ], + [ + -72.828339, + -44.690559 + ], + [ + -72.983337, + -44.606117 + ], + [ + -72.819168, + -44.640556 + ], + [ + -72.722778, + -44.549171 + ] + ] + ], + [ + [ + [ + -73.015839, + -41.864449 + ], + [ + -73.077515, + -41.740004 + ], + [ + -73.089737, + -41.84417 + ], + [ + -73.015839, + -41.864449 + ] + ] + ], + [ + [ + [ + -73.106125, + -42.311394 + ], + [ + -73.069168, + -42.260284 + ], + [ + -73.189728, + -42.251396 + ], + [ + -73.106125, + -42.311394 + ] + ] + ], + [ + [ + [ + -74.360565, + -52.948891 + ], + [ + -73.090012, + -53.354729 + ], + [ + -74.74501, + -52.756668 + ], + [ + -74.360565, + -52.948891 + ] + ] + ], + [ + [ + [ + -73.155014, + -44.022781 + ], + [ + -73.148056, + -43.888336 + ], + [ + -73.269455, + -43.920837 + ], + [ + -73.155014, + -44.022781 + ] + ] + ], + [ + [ + [ + -73.241959, + -44.388336 + ], + [ + -73.1689, + -44.370003 + ], + [ + -73.249725, + -44.310837 + ], + [ + -73.303345, + -44.363335 + ], + [ + -73.241959, + -44.388336 + ] + ] + ], + [ + [ + [ + -73.194168, + -54.128891 + ], + [ + -73.246674, + -54.035835 + ], + [ + -73.470566, + -54.072784 + ], + [ + -73.194168, + -54.128891 + ] + ] + ], + [ + [ + [ + -73.885284, + -41.815559 + ], + [ + -74.407791, + -43.243614 + ], + [ + -73.859177, + -43.400002 + ], + [ + -73.489456, + -43.114723 + ], + [ + -73.6539, + -42.933334 + ], + [ + -73.498901, + -42.800835 + ], + [ + -73.800293, + -42.617783 + ], + [ + -73.820282, + -42.507507 + ], + [ + -73.618057, + -42.517227 + ], + [ + -73.672226, + -42.361946 + ], + [ + -73.368622, + -42.250557 + ], + [ + -73.501114, + -41.843338 + ], + [ + -73.885284, + -41.815559 + ] + ] + ], + [ + [ + [ + -73.413071, + -52.878616 + ], + [ + -73.752228, + -52.893333 + ], + [ + -73.391113, + -52.953613 + ], + [ + -73.413071, + -52.878616 + ] + ] + ], + [ + [ + [ + -73.416672, + -42.556395 + ], + [ + -73.535843, + -42.385002 + ], + [ + -73.654175, + -42.387505 + ], + [ + -73.416672, + -42.556395 + ] + ] + ], + [ + [ + [ + -73.463898, + -53.475006 + ], + [ + -73.801956, + -53.429169 + ], + [ + -73.494736, + -53.574448 + ], + [ + -73.463898, + -53.475006 + ] + ] + ], + [ + [ + [ + -73.74556, + -44.743614 + ], + [ + -73.589737, + -44.709724 + ], + [ + -73.688614, + -44.544449 + ], + [ + -73.74556, + -44.743614 + ] + ] + ], + [ + [ + [ + -73.597504, + -42.618057 + ], + [ + -73.618895, + -42.570282 + ], + [ + -73.751404, + -42.617226 + ], + [ + -73.597504, + -42.618057 + ] + ] + ], + [ + [ + [ + -73.651123, + -44.844452 + ], + [ + -73.608337, + -44.741112 + ], + [ + -73.748901, + -44.756393 + ], + [ + -73.651123, + -44.844452 + ] + ] + ], + [ + [ + [ + -73.646118, + -44.131393 + ], + [ + -73.634445, + -44.010002 + ], + [ + -73.728622, + -43.938896 + ], + [ + -73.646118, + -44.131393 + ] + ] + ], + [ + [ + [ + -73.645569, + -45.759445 + ], + [ + -73.700562, + -45.443893 + ], + [ + -73.781952, + -45.67028 + ], + [ + -73.645569, + -45.759445 + ] + ] + ], + [ + [ + [ + -73.688904, + -44.439728 + ], + [ + -73.652786, + -44.352783 + ], + [ + -73.788071, + -44.38195 + ], + [ + -73.688904, + -44.439728 + ] + ] + ], + [ + [ + [ + -73.711395, + -44.304169 + ], + [ + -73.665558, + -44.251396 + ], + [ + -73.761124, + -44.253891 + ], + [ + -73.711395, + -44.304169 + ] + ] + ], + [ + [ + [ + -73.681122, + -46.028336 + ], + [ + -73.778061, + -45.905006 + ], + [ + -73.819458, + -45.998894 + ], + [ + -73.681122, + -46.028336 + ] + ] + ], + [ + [ + [ + -73.765015, + -46.211113 + ], + [ + -73.683334, + -46.076668 + ], + [ + -73.912231, + -46.020279 + ], + [ + -73.765015, + -46.211113 + ] + ] + ], + [ + [ + [ + -73.831955, + -53.590279 + ], + [ + -73.6875, + -53.521666 + ], + [ + -73.857224, + -53.453339 + ], + [ + -73.831955, + -53.590279 + ] + ] + ], + [ + [ + [ + -73.694733, + -52.241669 + ], + [ + -73.768066, + -52.068335 + ], + [ + -74.095291, + -51.922783 + ], + [ + -73.694733, + -52.241669 + ] + ] + ], + [ + [ + [ + -73.703903, + -45.842781 + ], + [ + -73.884171, + -45.858612 + ], + [ + -73.928894, + -45.975838 + ], + [ + -73.703903, + -45.842781 + ] + ] + ], + [ + [ + [ + -73.84668, + -45.002785 + ], + [ + -74.23584, + -45.160278 + ], + [ + -73.7314, + -45.284447 + ], + [ + -73.84668, + -45.002785 + ] + ] + ], + [ + [ + [ + -73.80751, + -52.698334 + ], + [ + -73.742233, + -52.403618 + ], + [ + -74.077789, + -52.606674 + ], + [ + -73.80751, + -52.698334 + ] + ] + ], + [ + [ + [ + -73.85556, + -43.765839 + ], + [ + -74.172501, + -43.877785 + ], + [ + -73.765015, + -43.893333 + ], + [ + -73.85556, + -43.765839 + ] + ] + ], + [ + [ + [ + -73.781403, + -51.371391 + ], + [ + -73.791397, + -51.261116 + ], + [ + -73.914459, + -51.300003 + ], + [ + -73.781403, + -51.371391 + ] + ] + ], + [ + [ + [ + -73.976669, + -45.267502 + ], + [ + -74.166122, + -45.250557 + ], + [ + -73.783066, + -45.335281 + ], + [ + -73.976669, + -45.267502 + ] + ] + ], + [ + [ + [ + -73.844177, + -44.464447 + ], + [ + -73.78862, + -44.422501 + ], + [ + -73.898895, + -44.371674 + ], + [ + -73.844177, + -44.464447 + ] + ] + ], + [ + [ + [ + -73.80806, + -52.397224 + ], + [ + -73.789169, + -52.264168 + ], + [ + -74.092789, + -52.161949 + ], + [ + -73.80806, + -52.397224 + ] + ] + ], + [ + [ + [ + -73.796677, + -51.819168 + ], + [ + -73.793335, + -51.728615 + ], + [ + -73.940002, + -51.663063 + ], + [ + -73.796677, + -51.819168 + ] + ] + ], + [ + [ + [ + -73.793625, + -44.965004 + ], + [ + -73.917786, + -44.78167 + ], + [ + -73.924179, + -44.892227 + ], + [ + -73.793625, + -44.965004 + ] + ] + ], + [ + [ + [ + -73.924454, + -47.886116 + ], + [ + -74.498901, + -47.923058 + ], + [ + -73.799728, + -47.887779 + ], + [ + -73.924454, + -47.886116 + ] + ] + ], + [ + [ + [ + -73.846954, + -44.338058 + ], + [ + -73.802231, + -44.270836 + ], + [ + -73.973892, + -44.281952 + ], + [ + -73.846954, + -44.338058 + ] + ] + ], + [ + [ + [ + -74.017792, + -45.43306 + ], + [ + -74.14473, + -45.576393 + ], + [ + -73.815842, + -45.475838 + ], + [ + -74.017792, + -45.43306 + ] + ] + ], + [ + [ + [ + -73.896957, + -45.434174 + ], + [ + -73.825562, + -45.373062 + ], + [ + -74.02417, + -45.400284 + ], + [ + -73.896957, + -45.434174 + ] + ] + ], + [ + [ + [ + -73.852783, + -44.195839 + ], + [ + -73.922226, + -44.098892 + ], + [ + -74.011124, + -44.141945 + ], + [ + -73.852783, + -44.195839 + ] + ] + ], + [ + [ + [ + -74.209732, + -44.784447 + ], + [ + -73.873337, + -44.686951 + ], + [ + -74.409729, + -44.634445 + ], + [ + -74.209732, + -44.784447 + ] + ] + ], + [ + [ + [ + -73.986954, + -45.724724 + ], + [ + -73.896118, + -45.62056 + ], + [ + -74.011948, + -45.537506 + ], + [ + -74.110001, + -45.592781 + ], + [ + -73.986954, + -45.724724 + ] + ] + ], + [ + [ + [ + -73.929459, + -44.448059 + ], + [ + -73.930847, + -44.35556 + ], + [ + -74.10556, + -44.322784 + ], + [ + -73.929459, + -44.448059 + ] + ] + ], + [ + [ + [ + -74.194168, + -52.136673 + ], + [ + -74.418625, + -52.139725 + ], + [ + -73.935013, + -52.337227 + ], + [ + -74.194168, + -52.136673 + ] + ] + ], + [ + [ + [ + -74.055008, + -51.553612 + ], + [ + -74.238068, + -51.701393 + ], + [ + -73.940002, + -51.785835 + ], + [ + -74.055008, + -51.553612 + ] + ] + ], + [ + [ + [ + -74.026123, + -44.856949 + ], + [ + -73.957779, + -44.783615 + ], + [ + -74.186676, + -44.8125 + ], + [ + -74.026123, + -44.856949 + ] + ] + ], + [ + [ + [ + -74.01973, + -44.556671 + ], + [ + -73.959457, + -44.48278 + ], + [ + -74.129456, + -44.448334 + ], + [ + -74.01973, + -44.556671 + ] + ] + ], + [ + [ + [ + -74.045837, + -51.379173 + ], + [ + -73.968063, + -51.244171 + ], + [ + -74.097229, + -51.225838 + ], + [ + -74.045837, + -51.379173 + ] + ] + ], + [ + [ + [ + -74.154449, + -47.172501 + ], + [ + -73.975281, + -47.047501 + ], + [ + -74.183624, + -47.025284 + ], + [ + -74.154449, + -47.172501 + ] + ] + ], + [ + [ + [ + -73.980286, + -44.984451 + ], + [ + -74.168335, + -44.866669 + ], + [ + -74.366669, + -45.010559 + ], + [ + -73.980286, + -44.984451 + ] + ] + ], + [ + [ + [ + -74.011673, + -44.284172 + ], + [ + -74.06723, + -44.151947 + ], + [ + -74.126114, + -44.207779 + ], + [ + -74.011673, + -44.284172 + ] + ] + ], + [ + [ + [ + -74.015015, + -45.917778 + ], + [ + -74.03862, + -45.736389 + ], + [ + -74.106949, + -45.788338 + ], + [ + -74.015015, + -45.917778 + ] + ] + ], + [ + [ + [ + -74.049179, + -48.446114 + ], + [ + -74.248901, + -48.376396 + ], + [ + -74.074173, + -48.491112 + ], + [ + -74.049179, + -48.446114 + ] + ] + ], + [ + [ + [ + -74.191681, + -53.331947 + ], + [ + -74.059448, + -53.243057 + ], + [ + -74.243622, + -53.299728 + ], + [ + -74.191681, + -53.331947 + ] + ] + ], + [ + [ + [ + -74.14473, + -51.951393 + ], + [ + -74.092224, + -51.875 + ], + [ + -74.50528, + -51.714172 + ], + [ + -74.14473, + -51.951393 + ] + ] + ], + [ + [ + [ + -74.117783, + -51.454445 + ], + [ + -74.171112, + -51.285835 + ], + [ + -74.261398, + -51.30056 + ], + [ + -74.117783, + -51.454445 + ] + ] + ], + [ + [ + [ + -74.295288, + -44.577225 + ], + [ + -74.139175, + -44.55056 + ], + [ + -74.368347, + -44.532784 + ], + [ + -74.295288, + -44.577225 + ] + ] + ], + [ + [ + [ + -74.263336, + -51.24778 + ], + [ + -74.191391, + -51.195557 + ], + [ + -74.322235, + -50.919724 + ], + [ + -74.263336, + -51.24778 + ] + ] + ], + [ + [ + [ + -74.363892, + -50.491394 + ], + [ + -74.670013, + -50.479446 + ], + [ + -74.423615, + -50.523613 + ], + [ + -74.515015, + -50.733063 + ], + [ + -74.193344, + -50.848335 + ], + [ + -74.363892, + -50.491394 + ] + ] + ], + [ + [ + [ + -74.293335, + -44.031952 + ], + [ + -74.204727, + -44.019173 + ], + [ + -74.319458, + -44.017227 + ], + [ + -74.293335, + -44.031952 + ] + ] + ], + [ + [ + [ + -74.458618, + -45.779167 + ], + [ + -74.210007, + -45.636116 + ], + [ + -74.390289, + -45.443893 + ], + [ + -74.458618, + -45.779167 + ] + ] + ], + [ + [ + [ + -74.412506, + -44.512779 + ], + [ + -74.217789, + -44.468056 + ], + [ + -74.547501, + -44.468056 + ], + [ + -74.412506, + -44.512779 + ] + ] + ], + [ + [ + [ + -74.320007, + -44.195007 + ], + [ + -74.259171, + -44.159447 + ], + [ + -74.385559, + -44.154449 + ], + [ + -74.320007, + -44.195007 + ] + ] + ], + [ + [ + [ + -74.26445, + -48.466949 + ], + [ + -74.306395, + -48.286667 + ], + [ + -74.491669, + -48.351112 + ], + [ + -74.26445, + -48.466949 + ] + ] + ], + [ + [ + [ + -74.308899, + -45.30584 + ], + [ + -74.270569, + -45.214172 + ], + [ + -74.39473, + -45.154449 + ], + [ + -74.308899, + -45.30584 + ] + ] + ], + [ + [ + [ + -74.291672, + -44.306395 + ], + [ + -74.327225, + -44.246391 + ], + [ + -74.421402, + -44.262779 + ], + [ + -74.291672, + -44.306395 + ] + ] + ], + [ + [ + [ + -74.294174, + -49.560562 + ], + [ + -74.435837, + -49.427504 + ], + [ + -74.419449, + -49.627785 + ], + [ + -74.294174, + -49.560562 + ] + ] + ], + [ + [ + [ + -74.411392, + -48.530006 + ], + [ + -74.301956, + -48.475838 + ], + [ + -74.497787, + -48.39917 + ], + [ + -74.411392, + -48.530006 + ] + ] + ], + [ + [ + [ + -74.455292, + -47.176949 + ], + [ + -74.313065, + -47.062782 + ], + [ + -74.484177, + -47.083336 + ], + [ + -74.455292, + -47.176949 + ] + ] + ], + [ + [ + [ + -74.3414, + -45.406113 + ], + [ + -74.387222, + -45.288063 + ], + [ + -74.527786, + -45.305283 + ], + [ + -74.3414, + -45.406113 + ] + ] + ], + [ + [ + [ + -74.360565, + -52.077225 + ], + [ + -74.354172, + -52.056114 + ], + [ + -74.405838, + -52.047226 + ], + [ + -74.360565, + -52.077225 + ] + ] + ], + [ + [ + [ + -74.376953, + -44.859451 + ], + [ + -74.429459, + -44.719452 + ], + [ + -74.526398, + -44.741951 + ], + [ + -74.376953, + -44.859451 + ] + ] + ], + [ + [ + [ + -74.396666, + -50.860558 + ], + [ + -74.964737, + -50.965836 + ], + [ + -74.720566, + -51.111946 + ], + [ + -74.482224, + -50.99778 + ], + [ + -74.405563, + -51.089729 + ], + [ + -74.396666, + -50.860558 + ] + ] + ], + [ + [ + [ + -74.411667, + -51.208336 + ], + [ + -74.466675, + -51.028336 + ], + [ + -74.603058, + -51.077507 + ], + [ + -74.411667, + -51.208336 + ] + ] + ], + [ + [ + [ + -74.608337, + -48.455833 + ], + [ + -74.735001, + -48.123062 + ], + [ + -74.708618, + -48.45417 + ], + [ + -75.028624, + -48.495003 + ], + [ + -74.611115, + -48.696671 + ], + [ + -75.051392, + -48.79834 + ], + [ + -74.827225, + -49.09584 + ], + [ + -74.91806, + -49.336113 + ], + [ + -75.471115, + -49.331673 + ], + [ + -75.017227, + -49.899445 + ], + [ + -75.005005, + -49.508057 + ], + [ + -74.646393, + -49.35556 + ], + [ + -74.920013, + -49.68306 + ], + [ + -74.771118, + -50.055 + ], + [ + -74.412781, + -49.732506 + ], + [ + -74.608337, + -48.455833 + ] + ] + ], + [ + [ + [ + -74.4189, + -48.304726 + ], + [ + -74.599731, + -48.151672 + ], + [ + -74.537231, + -48.333893 + ], + [ + -74.4189, + -48.304726 + ] + ] + ], + [ + [ + [ + -74.504456, + -45.539452 + ], + [ + -74.438065, + -45.423889 + ], + [ + -74.570007, + -45.529167 + ], + [ + -74.504456, + -45.539452 + ] + ] + ], + [ + [ + [ + -74.455566, + -44.693893 + ], + [ + -74.578339, + -44.620003 + ], + [ + -74.673615, + -44.668617 + ], + [ + -74.455566, + -44.693893 + ] + ] + ], + [ + [ + [ + -74.717224, + -52.087227 + ], + [ + -74.487793, + -51.95723 + ], + [ + -74.551956, + -51.927504 + ], + [ + -74.717224, + -52.087227 + ] + ] + ], + [ + [ + [ + -74.536118, + -51.279167 + ], + [ + -74.7939, + -51.20945 + ], + [ + -75.021118, + -51.468338 + ], + [ + -74.536118, + -51.279167 + ] + ] + ], + [ + [ + [ + -74.738342, + -50.5 + ], + [ + -74.543625, + -50.381393 + ], + [ + -74.753067, + -50.388336 + ], + [ + -74.738342, + -50.5 + ] + ] + ], + [ + [ + [ + -74.620285, + -45.75695 + ], + [ + -74.548615, + -45.577507 + ], + [ + -74.68251, + -45.636948 + ], + [ + -74.620285, + -45.75695 + ] + ] + ], + [ + [ + [ + -74.651398, + -50.588615 + ], + [ + -74.58168, + -50.532227 + ], + [ + -74.685837, + -50.521666 + ], + [ + -74.651398, + -50.588615 + ] + ] + ], + [ + [ + [ + -74.762512, + -52.188339 + ], + [ + -74.596115, + -52.073616 + ], + [ + -74.785278, + -52.121391 + ], + [ + -74.762512, + -52.188339 + ] + ] + ], + [ + [ + [ + -74.863617, + -52.139168 + ], + [ + -74.599167, + -51.840561 + ], + [ + -74.746948, + -51.833893 + ], + [ + -74.863617, + -52.139168 + ] + ] + ], + [ + [ + [ + -74.739456, + -52.316948 + ], + [ + -74.62001, + -52.207779 + ], + [ + -74.820557, + -52.229446 + ], + [ + -74.739456, + -52.316948 + ] + ] + ], + [ + [ + [ + -74.646118, + -43.612503 + ], + [ + -74.862503, + -43.5625 + ], + [ + -74.7939, + -43.647781 + ], + [ + -74.646118, + -43.612503 + ] + ] + ], + [ + [ + [ + -74.689178, + -50.890839 + ], + [ + -74.748901, + -50.70195 + ], + [ + -74.954727, + -50.731117 + ], + [ + -74.689178, + -50.890839 + ] + ] + ], + [ + [ + [ + -74.715561, + -45.851952 + ], + [ + -75.101959, + -45.874168 + ], + [ + -75.083069, + -46.088615 + ], + [ + -74.715561, + -45.851952 + ] + ] + ], + [ + [ + [ + -74.777237, + -44.6875 + ], + [ + -74.72612, + -44.597778 + ], + [ + -74.804169, + -44.549171 + ], + [ + -74.777237, + -44.6875 + ] + ] + ], + [ + [ + [ + -74.752792, + -45.707779 + ], + [ + -74.869171, + -45.605835 + ], + [ + -74.876678, + -45.649727 + ], + [ + -74.752792, + -45.707779 + ] + ] + ], + [ + [ + [ + -74.781113, + -51.821671 + ], + [ + -74.93251, + -51.643616 + ], + [ + -74.969727, + -52.118057 + ], + [ + -74.781113, + -51.821671 + ] + ] + ], + [ + [ + [ + -75.048615, + -50.166946 + ], + [ + -75.399733, + -50.036667 + ], + [ + -75.143616, + -50.246391 + ], + [ + -75.458618, + -50.364174 + ], + [ + -74.789734, + -50.149445 + ], + [ + -75.048615, + -50.166946 + ] + ] + ], + [ + [ + [ + -74.805283, + -47.898056 + ], + [ + -75.266678, + -48.031952 + ], + [ + -74.869736, + -48.069168 + ], + [ + -74.805283, + -47.898056 + ] + ] + ], + [ + [ + [ + -74.979446, + -48.7425 + ], + [ + -74.825562, + -48.661667 + ], + [ + -74.991394, + -48.648895 + ], + [ + -74.979446, + -48.7425 + ] + ] + ], + [ + [ + [ + -74.99556, + -51.177223 + ], + [ + -74.857224, + -51.135284 + ], + [ + -74.940002, + -51.098618 + ], + [ + -74.99556, + -51.177223 + ] + ] + ], + [ + [ + [ + -74.920563, + -49.295006 + ], + [ + -74.972504, + -49.031113 + ], + [ + -75.24028, + -49.150284 + ], + [ + -74.920563, + -49.295006 + ] + ] + ], + [ + [ + [ + -74.925003, + -48.155838 + ], + [ + -75.256958, + -48.073334 + ], + [ + -75.044174, + -48.443611 + ], + [ + -74.925003, + -48.155838 + ] + ] + ], + [ + [ + [ + -74.954727, + -47.783058 + ], + [ + -74.951401, + -47.70639 + ], + [ + -75.075287, + -47.69445 + ], + [ + -74.954727, + -47.783058 + ] + ] + ], + [ + [ + [ + -75.089737, + -51.901672 + ], + [ + -74.972504, + -51.723618 + ], + [ + -75.070847, + -51.74028 + ], + [ + -75.089737, + -51.901672 + ] + ] + ], + [ + [ + [ + -74.993895, + -50.813896 + ], + [ + -74.979736, + -50.664452 + ], + [ + -75.070847, + -50.652229 + ], + [ + -74.993895, + -50.813896 + ] + ] + ], + [ + [ + [ + -75.00029, + -51.395561 + ], + [ + -75.205292, + -51.299171 + ], + [ + -75.310287, + -51.634171 + ], + [ + -75.00029, + -51.395561 + ] + ] + ], + [ + [ + [ + -75.069458, + -44.92556 + ], + [ + -75.023056, + -44.84639 + ], + [ + -75.111679, + -44.778336 + ], + [ + -75.069458, + -44.92556 + ] + ] + ], + [ + [ + [ + -75.12056, + -48.833618 + ], + [ + -75.071396, + -48.634445 + ], + [ + -75.248337, + -48.771393 + ], + [ + -75.12056, + -48.833618 + ] + ] + ], + [ + [ + [ + -75.176117, + -48.999725 + ], + [ + -75.08223, + -48.889168 + ], + [ + -75.3125, + -48.800003 + ], + [ + -75.176117, + -48.999725 + ] + ] + ], + [ + [ + [ + -75.09639, + -50.516396 + ], + [ + -75.515015, + -50.663063 + ], + [ + -75.288895, + -50.785835 + ], + [ + -75.09639, + -50.516396 + ] + ] + ], + [ + [ + [ + -75.131958, + -47.848892 + ], + [ + -75.134445, + -47.698334 + ], + [ + -75.303619, + -47.773338 + ], + [ + -75.131958, + -47.848892 + ] + ] + ], + [ + [ + [ + -75.306946, + -49.671951 + ], + [ + -75.591949, + -49.78389 + ], + [ + -75.173889, + -49.903061 + ], + [ + -75.306946, + -49.671951 + ] + ] + ], + [ + [ + [ + -75.239456, + -48.270561 + ], + [ + -75.582504, + -48.08667 + ], + [ + -75.234451, + -48.711395 + ], + [ + -75.239456, + -48.270561 + ] + ] + ], + [ + [ + [ + -75.281403, + -48.890007 + ], + [ + -75.656677, + -48.938896 + ], + [ + -75.5, + -49.046394 + ], + [ + -75.32251, + -48.954445 + ], + [ + -75.257782, + -49.081947 + ], + [ + -75.281403, + -48.890007 + ] + ] + ], + [ + [ + [ + -75.281677, + -48.713341 + ], + [ + -75.348068, + -48.635559 + ], + [ + -75.654724, + -48.768059 + ], + [ + -75.281677, + -48.713341 + ] + ] + ], + [ + [ + [ + -75.285843, + -49.100281 + ], + [ + -75.358902, + -48.985558 + ], + [ + -75.656403, + -49.216949 + ], + [ + -75.285843, + -49.100281 + ] + ] + ], + [ + [ + [ + -75.32251, + -48.604172 + ], + [ + -75.650558, + -48.481949 + ], + [ + -75.60112, + -48.691948 + ], + [ + -75.32251, + -48.604172 + ] + ] + ], + [ + [ + [ + -75.48056, + -49.547226 + ], + [ + -75.484451, + -49.481117 + ], + [ + -75.578903, + -49.464729 + ], + [ + -75.48056, + -49.547226 + ] + ] + ], + [ + [ + [ + -78.772507, + -33.623611 + ], + [ + -78.888336, + -33.580559 + ], + [ + -78.991669, + -33.66806 + ], + [ + -78.772507, + -33.623611 + ] + ] + ], + [ + [ + [ + -79.882507, + -26.346947 + ], + [ + -79.869446, + -26.340836 + ], + [ + -79.906952, + -26.34639 + ], + [ + -79.882507, + -26.346947 + ] + ] + ], + [ + [ + [ + -80.07695, + -26.261669 + ], + [ + -80.080566, + -26.251392 + ], + [ + -80.099731, + -26.261391 + ], + [ + -80.07695, + -26.261669 + ] + ] + ], + [ + [ + [ + -80.737793, + -33.779449 + ], + [ + -80.735291, + -33.689444 + ], + [ + -80.774733, + -33.741951 + ], + [ + -80.737793, + -33.779449 + ] + ] + ], + [ + [ + [ + -105.45639, + -26.460556 + ], + [ + -105.474167, + -26.453056 + ], + [ + -105.459457, + -26.464724 + ], + [ + -105.45639, + -26.460556 + ] + ] + ], + [ + [ + [ + -109.241386, + -27.133057 + ], + [ + -109.390839, + -27.066669 + ], + [ + -109.449173, + -27.193058 + ], + [ + -109.241386, + -27.133057 + ] + ] + ] + ] + }, + "name" : "Chile", + "iso2" : "CL", + "iso3" : "CHL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ZL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -81.097229, + 19.308887 + ], + [ + -81.254456, + 19.353886 + ], + [ + -81.401123, + 19.28833 + ], + [ + -81.097229, + 19.308887 + ] + ] + ], + [ + [ + [ + -80.097504, + 19.654163 + ], + [ + -79.966675, + 19.707222 + ], + [ + -80.075836, + 19.697498 + ], + [ + -80.097504, + 19.654163 + ] + ] + ], + [ + [ + [ + -79.866394, + 19.686943 + ], + [ + -79.732788, + 19.748608 + ], + [ + -79.893341, + 19.693333 + ], + [ + -79.866394, + 19.686943 + ] + ] + ] + ] + }, + "name" : "Cayman Islands", + "iso2" : "KY", + "iso3" : "CYM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Zb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 9.687222, + 3.574722 + ], + [ + 9.6425, + 3.578611 + ], + [ + 9.62611, + 3.551111 + ], + [ + 9.687222, + 3.574722 + ] + ] + ], + [ + [ + [ + 15.499008, + 7.526609 + ], + [ + 15.201944, + 8.485832 + ], + [ + 13.957499, + 9.638611 + ], + [ + 14.194769, + 9.98175 + ], + [ + 15.68185, + 9.989649 + ], + [ + 15.061666, + 10.789999 + ], + [ + 15.042597, + 12.078888 + ], + [ + 14.577221, + 12.738609 + ], + [ + 14.500875, + 13.001314 + ], + [ + 14.07472, + 13.081665 + ], + [ + 14.174444, + 12.396666 + ], + [ + 14.645277, + 12.188332 + ], + [ + 14.646387, + 11.575832 + ], + [ + 13.80722, + 11.055832 + ], + [ + 12.796944, + 8.769722 + ], + [ + 12.253887, + 8.408054 + ], + [ + 11.864166, + 7.084722 + ], + [ + 11.340277, + 6.440833 + ], + [ + 10.615, + 7.06861 + ], + [ + 9.795555, + 6.801666 + ], + [ + 8.865276, + 5.841944 + ], + [ + 8.591738, + 4.810932 + ], + [ + 8.504166, + 4.527778 + ], + [ + 8.845833, + 4.638055 + ], + [ + 8.975832, + 4.096666 + ], + [ + 9.7225, + 3.865278 + ], + [ + 9.811764, + 2.343698 + ], + [ + 10.02611, + 2.168056 + ], + [ + 11.339764, + 2.168611 + ], + [ + 12.523611, + 2.283333 + ], + [ + 13.293888, + 2.163611 + ], + [ + 14.564999, + 2.169444 + ], + [ + 16.07222, + 1.654166 + ], + [ + 16.207222, + 2.220833 + ], + [ + 16.103054, + 2.898333 + ], + [ + 14.732777, + 4.623055 + ], + [ + 14.419167, + 6.035277 + ], + [ + 15.499008, + 7.526609 + ] + ] + ] + ] + }, + "name" : "Cameroon", + "iso2" : "CM", + "iso3" : "CMR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Zr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 14.07472, + 13.081665 + ], + [ + 14.500875, + 13.001314 + ], + [ + 14.577221, + 12.738609 + ], + [ + 15.042597, + 12.078888 + ], + [ + 15.061666, + 10.789999 + ], + [ + 15.68185, + 9.989649 + ], + [ + 14.194769, + 9.98175 + ], + [ + 13.957499, + 9.638611 + ], + [ + 15.201944, + 8.485832 + ], + [ + 15.499008, + 7.526609 + ], + [ + 18.588886, + 8.040277 + ], + [ + 19.058792, + 8.578382 + ], + [ + 18.988888, + 8.964167 + ], + [ + 20.371666, + 9.108332 + ], + [ + 21.715553, + 10.290554 + ], + [ + 21.719444, + 10.639444 + ], + [ + 22.866505, + 10.922447 + ], + [ + 22.466942, + 12.621666 + ], + [ + 21.827774, + 12.797499 + ], + [ + 22.294167, + 13.35861 + ], + [ + 22.084442, + 13.779165 + ], + [ + 22.554996, + 14.125555 + ], + [ + 22.384163, + 14.554165 + ], + [ + 22.935833, + 15.11611 + ], + [ + 22.937222, + 15.561943 + ], + [ + 23.999603, + 15.698709 + ], + [ + 24.002747, + 19.499065 + ], + [ + 16.000832, + 23.450554 + ], + [ + 14.997889, + 23.000591 + ], + [ + 15.202499, + 21.495831 + ], + [ + 15.996666, + 20.353054 + ], + [ + 15.489166, + 16.914165 + ], + [ + 13.468887, + 14.461111 + ], + [ + 13.62512, + 13.718338 + ], + [ + 14.07472, + 13.081665 + ] + ] + ] + }, + "name" : "Chad", + "iso2" : "TD", + "iso3" : "TCD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Z71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 43.86055, + -12.356112 + ], + [ + 43.622772, + -12.258335 + ], + [ + 43.66861, + -12.3575 + ], + [ + 43.86055, + -12.356112 + ] + ] + ], + [ + [ + [ + 44.487495, + -12.093056 + ], + [ + 44.206665, + -12.161945 + ], + [ + 44.513611, + -12.38028 + ], + [ + 44.487495, + -12.093056 + ] + ] + ], + [ + [ + [ + 43.459717, + -11.935556 + ], + [ + 43.281387, + -11.379723 + ], + [ + 43.219162, + -11.761112 + ], + [ + 43.459717, + -11.935556 + ] + ] + ] + ] + }, + "name" : "Comoros", + "iso2" : "KM", + "iso3" : "COM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "aL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -78.121399, + 2.500834 + ], + [ + -78.091675, + 2.539446 + ], + [ + -78.127792, + 2.643057 + ], + [ + -78.189178, + 2.640554 + ], + [ + -78.215561, + 2.57778 + ], + [ + -78.121399, + 2.500834 + ] + ] + ], + [ + [ + [ + -77.986389, + 2.542501 + ], + [ + -77.960281, + 2.557222 + ], + [ + -77.948334, + 2.627779 + ], + [ + -77.977509, + 2.651945 + ], + [ + -78.045563, + 2.583055 + ], + [ + -77.986389, + 2.542501 + ] + ] + ], + [ + [ + [ + -77.857513, + 2.573336 + ], + [ + -77.786957, + 2.592779 + ], + [ + -77.921112, + 2.693892 + ], + [ + -77.857513, + 2.573336 + ] + ] + ], + [ + [ + [ + -77.76973, + 2.591391 + ], + [ + -77.749725, + 2.615 + ], + [ + -77.827789, + 2.70389 + ], + [ + -77.884735, + 2.717222 + ], + [ + -77.839737, + 2.64028 + ], + [ + -77.76973, + 2.591391 + ] + ] + ], + [ + [ + [ + -77.568893, + 3.069166 + ], + [ + -77.530563, + 3.209444 + ], + [ + -77.662781, + 3.075834 + ], + [ + -77.568893, + 3.069166 + ] + ] + ], + [ + [ + [ + -77.448334, + 4.074167 + ], + [ + -77.494171, + 4.204168 + ], + [ + -77.535568, + 4.167223 + ], + [ + -77.448334, + 4.074167 + ] + ] + ], + [ + [ + [ + -77.54306, + 4.193335 + ], + [ + -77.319733, + 4.251665 + ], + [ + -77.426117, + 4.334723 + ], + [ + -77.54306, + 4.193335 + ] + ] + ], + [ + [ + [ + -71.324722, + 11.853056 + ], + [ + -71.115845, + 12.10111 + ], + [ + -71.563614, + 12.453611 + ], + [ + -73.284454, + 11.295557 + ], + [ + -74.155014, + 11.331388 + ], + [ + -74.390564, + 10.743055 + ], + [ + -74.592224, + 10.878054 + ], + [ + -74.28862, + 11.002501 + ], + [ + -74.860809, + 11.125486 + ], + [ + -75.26973, + 10.798334 + ], + [ + -75.629456, + 9.453611 + ], + [ + -76.928345, + 8.568335 + ], + [ + -76.75528, + 7.91889 + ], + [ + -77.366669, + 8.675001 + ], + [ + -77.215561, + 7.937223 + ], + [ + -77.573898, + 7.525278 + ], + [ + -77.746674, + 7.722223 + ], + [ + -77.889725, + 7.228891 + ], + [ + -77.340012, + 6.567778 + ], + [ + -77.49028, + 6.190832 + ], + [ + -77.240845, + 5.75139 + ], + [ + -77.532227, + 5.518888 + ], + [ + -77.347778, + 5.240557 + ], + [ + -77.384171, + 4.341944 + ], + [ + -77.239182, + 4.26 + ], + [ + -77.434174, + 4.028334 + ], + [ + -77.028624, + 3.91778 + ], + [ + -77.740845, + 2.604723 + ], + [ + -77.792511, + 2.567499 + ], + [ + -77.867233, + 2.560278 + ], + [ + -77.940002, + 2.655001 + ], + [ + -77.948624, + 2.559446 + ], + [ + -77.986954, + 2.522501 + ], + [ + -78.125565, + 2.486944 + ], + [ + -78.265015, + 2.519167 + ], + [ + -78.343613, + 2.436666 + ], + [ + -78.440567, + 2.509443 + ], + [ + -78.565292, + 2.429167 + ], + [ + -78.584166, + 1.768888 + ], + [ + -79.053345, + 1.628332 + ], + [ + -78.809723, + 1.43778 + ], + [ + -78.591675, + 1.243055 + ], + [ + -77.379456, + 0.384722 + ], + [ + -76.243057, + 0.395555 + ], + [ + -75.285843, + -0.119722 + ], + [ + -74.776947, + -0.204166 + ], + [ + -74.227234, + -1.027777 + ], + [ + -73.556395, + -1.370832 + ], + [ + -72.881958, + -2.506388 + ], + [ + -71.698059, + -2.146944 + ], + [ + -70.288345, + -2.504999 + ], + [ + -70.067505, + -2.755556 + ], + [ + -70.724167, + -3.779722 + ], + [ + -69.956924, + -4.236874 + ], + [ + -69.378067, + -1.338055 + ], + [ + -69.607513, + -0.5175 + ], + [ + -70.05806, + -0.157499 + ], + [ + -70.044174, + 0.590834 + ], + [ + -69.124725, + 0.645002 + ], + [ + -69.270004, + 1.038336 + ], + [ + -69.842224, + 1.072222 + ], + [ + -69.8461, + 1.710455 + ], + [ + -68.153061, + 1.724169 + ], + [ + -68.196396, + 1.977503 + ], + [ + -67.914734, + 1.745279 + ], + [ + -67.424179, + 2.143888 + ], + [ + -67.076675, + 1.173334 + ], + [ + -66.871887, + 1.221643 + ], + [ + -67.192505, + 2.3925 + ], + [ + -67.828339, + 2.825003 + ], + [ + -67.290558, + 3.397501 + ], + [ + -67.859726, + 4.558611 + ], + [ + -67.454453, + 6.193056 + ], + [ + -69.245285, + 6.081388 + ], + [ + -70.119171, + 6.975836 + ], + [ + -72, + 7.018888 + ], + [ + -72.47168, + 7.491945 + ], + [ + -72.325287, + 8.095556 + ], + [ + -72.779724, + 9.080278 + ], + [ + -73.378067, + 9.171389 + ], + [ + -72.493057, + 11.121111 + ], + [ + -72.209351, + 11.250002 + ], + [ + -71.977234, + 11.664999 + ], + [ + -71.324722, + 11.853056 + ] + ], + [ + [ + -78.545288, + 2.416113 + ], + [ + -78.553619, + 2.406668 + ], + [ + -78.550293, + 2.433332 + ], + [ + -78.544174, + 2.432501 + ], + [ + -78.545288, + 2.416113 + ] + ] + ], + [ + [ + [ + -81.710281, + 12.490835 + ], + [ + -81.688339, + 12.591112 + ], + [ + -81.719727, + 12.550001 + ], + [ + -81.710281, + 12.490835 + ] + ] + ], + [ + [ + [ + -81.36557, + 13.323057 + ], + [ + -81.353897, + 13.378611 + ], + [ + -81.38945, + 13.335001 + ], + [ + -81.36557, + 13.323057 + ] + ] + ] + ] + }, + "name" : "Colombia", + "iso2" : "CO", + "iso3" : "COL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ab1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -85.115845, + 10.07361 + ], + [ + -85.109177, + 10.105833 + ], + [ + -85.161957, + 10.122499 + ], + [ + -85.198059, + 10.110554 + ], + [ + -85.176117, + 10.077499 + ], + [ + -85.115845, + 10.07361 + ] + ] + ], + [ + [ + [ + -83.645798, + 10.924847 + ], + [ + -83.915558, + 10.708611 + ], + [ + -85.087784, + 11.009998 + ], + [ + -85.692383, + 11.076061 + ], + [ + -85.911392, + 10.891109 + ], + [ + -85.631958, + 10.626389 + ], + [ + -85.861679, + 10.368332 + ], + [ + -85.664459, + 9.908609 + ], + [ + -85.142227, + 9.589443 + ], + [ + -84.897232, + 9.807499 + ], + [ + -85.228622, + 10.088888 + ], + [ + -85.243057, + 10.204166 + ], + [ + -84.74028, + 9.966665 + ], + [ + -84.61528, + 9.575832 + ], + [ + -83.624176, + 9.035276 + ], + [ + -83.730835, + 8.583055 + ], + [ + -83.291122, + 8.370277 + ], + [ + -83.341675, + 8.726944 + ], + [ + -82.898849, + 8.025669 + ], + [ + -82.710846, + 8.93111 + ], + [ + -82.934723, + 9.471666 + ], + [ + -82.563568, + 9.562876 + ], + [ + -83.645798, + 10.924847 + ] + ] + ] + ] + }, + "name" : "Costa Rica", + "iso2" : "CR", + "iso3" : "CRI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ar1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 22.866505, + 10.922447 + ], + [ + 21.719444, + 10.639444 + ], + [ + 21.715553, + 10.290554 + ], + [ + 20.371666, + 9.108332 + ], + [ + 18.988888, + 8.964167 + ], + [ + 19.058792, + 8.578382 + ], + [ + 18.588886, + 8.040277 + ], + [ + 15.499008, + 7.526609 + ], + [ + 14.419167, + 6.035277 + ], + [ + 14.732777, + 4.623055 + ], + [ + 16.103054, + 2.898333 + ], + [ + 16.207222, + 2.220833 + ], + [ + 16.659721, + 3.533333 + ], + [ + 17.475277, + 3.713055 + ], + [ + 18.624958, + 3.479444 + ], + [ + 18.541943, + 4.335555 + ], + [ + 19.421387, + 5.134166 + ], + [ + 20.585552, + 4.41 + ], + [ + 22.379166, + 4.1275 + ], + [ + 22.895832, + 4.821111 + ], + [ + 23.420277, + 4.59111 + ], + [ + 24.394165, + 5.115555 + ], + [ + 24.734444, + 4.910832 + ], + [ + 25.542221, + 5.381389 + ], + [ + 25.891666, + 5.192499 + ], + [ + 27.455276, + 5.016388 + ], + [ + 27.142776, + 5.771944 + ], + [ + 26.437496, + 6.077777 + ], + [ + 26.404999, + 6.646388 + ], + [ + 25.206944, + 7.497499 + ], + [ + 25.25333, + 7.850555 + ], + [ + 24.192497, + 8.30361 + ], + [ + 24.201111, + 8.686943 + ], + [ + 23.517776, + 8.714167 + ], + [ + 23.669167, + 9.866943 + ], + [ + 22.866505, + 10.922447 + ] + ] + ] + }, + "name" : "Central African Republic", + "iso2" : "CF", + "iso3" : "CAF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "a71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -78.327789, + 20.513613 + ], + [ + -78.34584, + 20.569445 + ], + [ + -78.458344, + 20.605555 + ], + [ + -78.327789, + 20.513613 + ] + ] + ], + [ + [ + [ + -78.381958, + 20.637777 + ], + [ + -78.402786, + 20.675833 + ], + [ + -78.412231, + 20.647223 + ], + [ + -78.381958, + 20.637777 + ] + ] + ], + [ + [ + [ + -78.441681, + 20.710554 + ], + [ + -78.458618, + 20.731668 + ], + [ + -78.547501, + 20.703611 + ], + [ + -78.441681, + 20.710554 + ] + ] + ], + [ + [ + [ + -78.767502, + 20.70611 + ], + [ + -78.763626, + 20.730555 + ], + [ + -78.821945, + 20.756945 + ], + [ + -78.767502, + 20.70611 + ] + ] + ], + [ + [ + [ + -75.487228, + 20.728888 + ], + [ + -75.515015, + 20.791945 + ], + [ + -75.578064, + 20.781111 + ], + [ + -75.487228, + 20.728888 + ] + ] + ], + [ + [ + [ + -78.847504, + 20.771666 + ], + [ + -78.931671, + 20.834166 + ], + [ + -78.965836, + 20.809999 + ], + [ + -78.847504, + 20.771666 + ] + ] + ], + [ + [ + [ + -78.977783, + 20.839445 + ], + [ + -78.969727, + 20.874166 + ], + [ + -79.077515, + 20.893888 + ], + [ + -78.977783, + 20.839445 + ] + ] + ], + [ + [ + [ + -79.084457, + 20.898333 + ], + [ + -79.176682, + 21.008612 + ], + [ + -79.225571, + 21.000555 + ], + [ + -79.084457, + 20.898333 + ] + ] + ], + [ + [ + [ + -79.302231, + 21.064444 + ], + [ + -79.3414, + 21.121111 + ], + [ + -79.384171, + 21.119722 + ], + [ + -79.302231, + 21.064444 + ] + ] + ], + [ + [ + [ + -79.406403, + 21.104723 + ], + [ + -79.402512, + 21.121111 + ], + [ + -79.451126, + 21.122778 + ], + [ + -79.406403, + 21.104723 + ] + ] + ], + [ + [ + [ + -81.530838, + 21.600279 + ], + [ + -81.366959, + 21.711943 + ], + [ + -81.556946, + 21.622778 + ], + [ + -81.530838, + 21.600279 + ] + ] + ], + [ + [ + [ + -82.545288, + 21.571112 + ], + [ + -82.974457, + 21.942778 + ], + [ + -83.089447, + 21.785555 + ], + [ + -82.937225, + 21.58 + ], + [ + -83.193069, + 21.621389 + ], + [ + -82.897232, + 21.432779 + ], + [ + -82.545288, + 21.571112 + ] + ] + ], + [ + [ + [ + -77.915054, + 22.094698 + ], + [ + -77.638336, + 21.953054 + ], + [ + -77.653336, + 22.069723 + ], + [ + -77.915054, + 22.094698 + ] + ] + ], + [ + [ + [ + -77.84639, + 22.10639 + ], + [ + -77.997513, + 22.285276 + ], + [ + -78.044174, + 22.186666 + ], + [ + -77.84639, + 22.10639 + ] + ] + ], + [ + [ + [ + -77.777237, + 22.195002 + ], + [ + -77.850006, + 22.294722 + ], + [ + -77.771666, + 22.168055 + ], + [ + -77.777237, + 22.195002 + ] + ] + ], + [ + [ + [ + -78.118622, + 22.413889 + ], + [ + -78.311401, + 22.403891 + ], + [ + -78.019455, + 22.261946 + ], + [ + -78.118622, + 22.413889 + ] + ] + ], + [ + [ + [ + -78.3414, + 22.533888 + ], + [ + -78.696671, + 22.514723 + ], + [ + -78.425293, + 22.4125 + ], + [ + -78.3414, + 22.533888 + ] + ] + ], + [ + [ + [ + -78.976395, + 22.637499 + ], + [ + -78.968903, + 22.669168 + ], + [ + -79.054459, + 22.665277 + ], + [ + -78.976395, + 22.637499 + ] + ] + ], + [ + [ + [ + -79.323059, + 22.614721 + ], + [ + -79.576126, + 22.809999 + ], + [ + -79.632507, + 22.800001 + ], + [ + -79.323059, + 22.614721 + ] + ] + ], + [ + [ + [ + -79.891953, + 22.928335 + ], + [ + -79.883057, + 22.965277 + ], + [ + -79.958618, + 22.9475 + ], + [ + -79.891953, + 22.928335 + ] + ] + ], + [ + [ + [ + -80.232788, + 22.995001 + ], + [ + -80.349457, + 22.981668 + ], + [ + -80.234177, + 22.956388 + ], + [ + -80.232788, + 22.995001 + ] + ] + ], + [ + [ + [ + -80.049454, + 23.02611 + ], + [ + -80.076675, + 23.074446 + ], + [ + -80.077225, + 23.041945 + ], + [ + -80.049454, + 23.02611 + ] + ] + ], + [ + [ + [ + -80.146393, + 23.070276 + ], + [ + -80.199448, + 23.121946 + ], + [ + -80.224167, + 23.099443 + ], + [ + -80.146393, + 23.070276 + ] + ] + ], + [ + [ + [ + -80.927504, + 23.125555 + ], + [ + -80.973618, + 23.1075 + ], + [ + -80.797226, + 23.150557 + ], + [ + -80.927504, + 23.125555 + ] + ] + ], + [ + [ + [ + -75.085281, + 19.893042 + ], + [ + -74.141403, + 20.252222 + ], + [ + -75.736679, + 20.696943 + ], + [ + -75.70723, + 21.121946 + ], + [ + -76.896118, + 21.306391 + ], + [ + -77.54306, + 21.918612 + ], + [ + -77.341124, + 21.63611 + ], + [ + -80.03334, + 22.951113 + ], + [ + -80.278624, + 22.905279 + ], + [ + -80.544449, + 22.99111 + ], + [ + -80.633057, + 23.098333 + ], + [ + -81.134735, + 23.023054 + ], + [ + -81.285568, + 23.119722 + ], + [ + -81.226959, + 23.161665 + ], + [ + -81.500839, + 23.055555 + ], + [ + -81.580566, + 23.155554 + ], + [ + -82.003891, + 23.186388 + ], + [ + -84.07695, + 22.660555 + ], + [ + -84.338058, + 22.01222 + ], + [ + -84.953339, + 21.859999 + ], + [ + -84.026123, + 21.914999 + ], + [ + -82.763901, + 22.700556 + ], + [ + -81.88501, + 22.680834 + ], + [ + -81.648895, + 22.491388 + ], + [ + -82.163071, + 22.398333 + ], + [ + -81.823059, + 22.183611 + ], + [ + -80.491959, + 22.177221 + ], + [ + -79.987793, + 21.723612 + ], + [ + -78.75029, + 21.639166 + ], + [ + -78.050293, + 20.69972 + ], + [ + -77.236389, + 20.663057 + ], + [ + -77.115845, + 20.365 + ], + [ + -77.722504, + 19.832777 + ], + [ + -75.223724, + 19.901556 + ], + [ + -75.15918, + 19.960695 + ], + [ + -75.13974, + 19.962873 + ], + [ + -75.085281, + 19.893042 + ] + ] + ], + [ + [ + [ + -80.493057, + 23.188055 + ], + [ + -80.558624, + 23.203611 + ], + [ + -80.579727, + 23.176111 + ], + [ + -80.493057, + 23.188055 + ] + ] + ] + ] + }, + "name" : "Cuba", + "iso2" : "CU", + "iso3" : "CUB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "bL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -24.368336, + 14.812222 + ], + [ + -24.381668, + 15.047499 + ], + [ + -24.52528, + 14.92111 + ], + [ + -24.368336, + 14.812222 + ] + ] + ], + [ + [ + [ + -23.446667, + 14.982777 + ], + [ + -23.76667, + 15.253054 + ], + [ + -23.681393, + 14.935555 + ], + [ + -23.446667, + 14.982777 + ] + ] + ], + [ + [ + [ + -22.706112, + 16.036388 + ], + [ + -22.798615, + 16.235275 + ], + [ + -22.957779, + 16.089443 + ], + [ + -22.706112, + 16.036388 + ] + ] + ], + [ + [ + [ + -24.034168, + 16.594166 + ], + [ + -24.432224, + 16.644165 + ], + [ + -24.321392, + 16.482777 + ], + [ + -24.034168, + 16.594166 + ] + ] + ], + [ + [ + [ + -24.926113, + 16.799999 + ], + [ + -24.933056, + 16.921387 + ], + [ + -25.093334, + 16.83083 + ], + [ + -24.926113, + 16.799999 + ] + ] + ], + [ + [ + [ + -25.281391, + 16.91333 + ], + [ + -24.974445, + 17.112778 + ], + [ + -25.33028, + 17.096386 + ], + [ + -25.281391, + 16.91333 + ] + ] + ] + ] + }, + "name" : "Cape Verde", + "iso2" : "CV", + "iso3" : "CPV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "bb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -157.890564, + -21.938053 + ], + [ + -157.921967, + -21.880283 + ], + [ + -157.962799, + -21.904167 + ], + [ + -157.890564, + -21.938053 + ] + ] + ], + [ + [ + [ + -159.741119, + -21.254169 + ], + [ + -159.752502, + -21.193054 + ], + [ + -159.833893, + -21.195831 + ], + [ + -159.741119, + -21.254169 + ] + ] + ], + [ + [ + [ + -157.316437, + -20.188053 + ], + [ + -157.309174, + -20.147781 + ], + [ + -157.332214, + -20.13306 + ], + [ + -157.316437, + -20.188053 + ] + ] + ], + [ + [ + [ + -158.098358, + -20.016113 + ], + [ + -158.08197, + -19.986942 + ], + [ + -158.118591, + -19.973057 + ], + [ + -158.098358, + -20.016113 + ] + ] + ], + [ + [ + [ + -158.27948, + -19.817783 + ], + [ + -158.291382, + -19.833332 + ], + [ + -158.262512, + -19.836666 + ], + [ + -158.27948, + -19.817783 + ] + ] + ], + [ + [ + [ + -157.708649, + -19.853054 + ], + [ + -157.713928, + -19.770283 + ], + [ + -157.741364, + -19.814167 + ], + [ + -157.708649, + -19.853054 + ] + ] + ], + [ + [ + [ + -158.92865, + -19.270283 + ], + [ + -158.951935, + -19.242496 + ], + [ + -158.943909, + -19.27195 + ], + [ + -158.92865, + -19.270283 + ] + ] + ], + [ + [ + [ + -159.78833, + -18.890556 + ], + [ + -159.78421, + -18.841393 + ], + [ + -159.803345, + -18.861389 + ], + [ + -159.78833, + -18.890556 + ] + ] + ], + [ + [ + [ + -163.16333, + -18.089443 + ], + [ + -163.154724, + -18.056667 + ], + [ + -163.170319, + -18.079449 + ], + [ + -163.16333, + -18.089443 + ] + ] + ], + [ + [ + [ + -165.422241, + -11.548334 + ], + [ + -165.414185, + -11.537781 + ], + [ + -165.435028, + -11.5375 + ], + [ + -165.422241, + -11.548334 + ] + ] + ], + [ + [ + [ + -165.82666, + -10.888334 + ], + [ + -165.831146, + -10.876945 + ], + [ + -165.850281, + -10.884169 + ], + [ + -165.82666, + -10.888334 + ] + ] + ], + [ + [ + [ + -161.022827, + -10.431391 + ], + [ + -161.048615, + -10.392778 + ], + [ + -161.043335, + -10.419724 + ], + [ + -161.022827, + -10.431391 + ] + ] + ], + [ + [ + [ + -160.975586, + -10.395555 + ], + [ + -160.973602, + -10.378057 + ], + [ + -161.012512, + -10.352777 + ], + [ + -160.975586, + -10.395555 + ] + ] + ], + [ + [ + [ + -161.084442, + -10.041945 + ], + [ + -161.072266, + -10.008059 + ], + [ + -161.090576, + -10.018333 + ], + [ + -161.084442, + -10.041945 + ] + ] + ], + [ + [ + [ + -157.941681, + -8.982502 + ], + [ + -158.008362, + -8.951389 + ], + [ + -157.97226, + -8.981943 + ], + [ + -157.941681, + -8.982502 + ] + ] + ] + ] + }, + "name" : "Cook Islands", + "iso2" : "CK", + "iso3" : "COK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "br1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 33.652618, + 35.354103 + ], + [ + 32.274162, + 35.043884 + ], + [ + 33.030838, + 34.56255 + ], + [ + 34.083328, + 34.959442 + ], + [ + 33.921387, + 35.272774 + ], + [ + 34.590271, + 35.690277 + ], + [ + 33.652618, + 35.354103 + ] + ] + ] + }, + "name" : "Cyprus", + "iso2" : "CY", + "iso3" : "CYP" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "b71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 11.513887, + 54.82972 + ], + [ + 10.989891, + 54.790848 + ], + [ + 11.85611, + 54.683327 + ], + [ + 11.513887, + 54.82972 + ] + ] + ], + [ + [ + [ + 12.038055, + 54.892494 + ], + [ + 11.708611, + 54.936661 + ], + [ + 11.964443, + 54.561661 + ], + [ + 12.038055, + 54.892494 + ] + ] + ], + [ + [ + [ + 10.432777, + 54.84166 + ], + [ + 10.184166, + 54.97361 + ], + [ + 10.248333, + 54.90416 + ], + [ + 10.432777, + 54.84166 + ] + ] + ], + [ + [ + [ + 12.557499, + 54.964165 + ], + [ + 12.311943, + 55.035271 + ], + [ + 12.115833, + 54.90416 + ], + [ + 12.557499, + 54.964165 + ] + ] + ], + [ + [ + [ + 10.615, + 54.950272 + ], + [ + 10.631943, + 55.043327 + ], + [ + 10.49861, + 55.006386 + ], + [ + 10.615, + 54.950272 + ] + ] + ], + [ + [ + [ + 9.7925, + 55.074997 + ], + [ + 9.630554, + 55.049438 + ], + [ + 10.07111, + 54.87471 + ], + [ + 9.7925, + 55.074997 + ] + ] + ], + [ + [ + [ + 10.756943, + 54.777222 + ], + [ + 10.949165, + 55.16111 + ], + [ + 10.681944, + 54.908607 + ], + [ + 10.756943, + 54.777222 + ] + ] + ], + [ + [ + [ + 15.051666, + 54.994995 + ], + [ + 14.746387, + 55.295555 + ], + [ + 14.679722, + 55.099716 + ], + [ + 15.051666, + 54.994995 + ] + ] + ], + [ + [ + [ + 8.46361, + 55.33416 + ], + [ + 8.458332, + 55.426384 + ], + [ + 8.360277, + 55.457771 + ], + [ + 8.46361, + 55.33416 + ] + ] + ], + [ + [ + [ + 10.745277, + 55.482216 + ], + [ + 10.619165, + 55.619164 + ], + [ + 10.478611, + 55.438049 + ], + [ + 10.309721, + 55.616943 + ], + [ + 9.904999, + 55.505829 + ], + [ + 9.813055, + 55.547493 + ], + [ + 9.74861, + 55.540276 + ], + [ + 9.675554, + 55.499161 + ], + [ + 9.810833, + 55.436661 + ], + [ + 9.896944, + 55.279716 + ], + [ + 10.005833, + 55.193329 + ], + [ + 10.11861, + 55.178886 + ], + [ + 10.152777, + 55.084442 + ], + [ + 10.497776, + 55.028885 + ], + [ + 10.782776, + 55.122498 + ], + [ + 10.745277, + 55.482216 + ] + ] + ], + [ + [ + [ + 12.579443, + 55.551384 + ], + [ + 12.67861, + 55.590553 + ], + [ + 12.60611, + 55.696106 + ], + [ + 12.579443, + 55.551384 + ] + ] + ], + [ + [ + [ + 10.630554, + 55.865555 + ], + [ + 10.523611, + 55.981384 + ], + [ + 10.527498, + 55.765831 + ], + [ + 10.630554, + 55.865555 + ] + ] + ], + [ + [ + [ + 12.567221, + 55.992218 + ], + [ + 11.859444, + 55.96666 + ], + [ + 12.05722, + 55.653328 + ], + [ + 11.763887, + 55.964722 + ], + [ + 10.87361, + 55.732498 + ], + [ + 11.246666, + 55.199715 + ], + [ + 12.071943, + 54.968605 + ], + [ + 12.461666, + 55.286385 + ], + [ + 12.190832, + 55.478607 + ], + [ + 12.567221, + 55.992218 + ] + ] + ], + [ + [ + [ + 11.565832, + 56.67083 + ], + [ + 11.648054, + 56.723328 + ], + [ + 11.503332, + 56.707771 + ], + [ + 11.565832, + 56.67083 + ] + ] + ], + [ + [ + [ + 8.924721, + 56.91861 + ], + [ + 8.509722, + 56.741661 + ], + [ + 8.766943, + 56.692215 + ], + [ + 8.924721, + 56.91861 + ] + ] + ], + [ + [ + [ + 9.974274, + 57.071732 + ], + [ + 9.309444, + 57.001938 + ], + [ + 9.1782, + 56.916031 + ], + [ + 9.321665, + 56.525551 + ], + [ + 9.075567, + 56.807449 + ], + [ + 8.728333, + 56.482216 + ], + [ + 8.165277, + 56.653328 + ], + [ + 8.108332, + 56.017776 + ], + [ + 8.397221, + 55.897499 + ], + [ + 8.127222, + 55.98555 + ], + [ + 8.087221, + 55.548882 + ], + [ + 8.623888, + 55.427498 + ], + [ + 8.664545, + 54.913094 + ], + [ + 9.445358, + 54.825401 + ], + [ + 9.768055, + 54.891106 + ], + [ + 9.459166, + 55.123886 + ], + [ + 9.68861, + 55.196938 + ], + [ + 9.588333, + 55.421661 + ], + [ + 9.704166, + 55.531105 + ], + [ + 9.819166, + 55.604721 + ], + [ + 9.549999, + 55.705826 + ], + [ + 9.992777, + 55.704994 + ], + [ + 10.24679, + 56.178551 + ], + [ + 10.963055, + 56.439438 + ], + [ + 9.866388, + 56.650276 + ], + [ + 10.305277, + 56.748055 + ], + [ + 10.311891, + 56.981304 + ], + [ + 9.974274, + 57.071732 + ] + ] + ], + [ + [ + [ + 11.195833, + 57.310829 + ], + [ + 10.854443, + 57.263054 + ], + [ + 10.997499, + 57.223328 + ], + [ + 11.195833, + 57.310829 + ] + ] + ], + [ + [ + [ + 10.432499, + 57.592216 + ], + [ + 10.645953, + 57.736267 + ], + [ + 8.617222, + 57.121666 + ], + [ + 8.240276, + 56.707222 + ], + [ + 8.554998, + 56.582497 + ], + [ + 8.591389, + 56.686104 + ], + [ + 8.415797, + 56.678127 + ], + [ + 8.670832, + 56.945274 + ], + [ + 9.115549, + 57.052773 + ], + [ + 9.243889, + 56.995552 + ], + [ + 10.006666, + 57.089989 + ], + [ + 10.336616, + 56.991665 + ], + [ + 10.432499, + 57.592216 + ] + ] + ] + ] + }, + "name" : "Denmark", + "iso2" : "DK", + "iso3" : "DNK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "cL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 43.249222, + 11.469534 + ], + [ + 42.866806, + 11.585428 + ], + [ + 42.508606, + 11.567221 + ], + [ + 43.413887, + 12.056944 + ], + [ + 43.121384, + 12.708332 + ], + [ + 42.399719, + 12.469721 + ], + [ + 41.828606, + 11.74 + ], + [ + 41.789719, + 11.008055 + ], + [ + 42.944092, + 11.002438 + ], + [ + 43.249222, + 11.469534 + ] + ] + ] + }, + "name" : "Djibouti", + "iso2" : "DJ", + "iso3" : "DJI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "cb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -61.363617, + 15.198055 + ], + [ + -61.253334, + 15.461388 + ], + [ + -61.452225, + 15.631943 + ], + [ + -61.363617, + 15.198055 + ] + ] + ] + }, + "name" : "Dominica", + "iso2" : "DM", + "iso3" : "DMA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "cr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -71.532227, + 17.540276 + ], + [ + -71.463058, + 17.581944 + ], + [ + -71.522232, + 17.615276 + ], + [ + -71.532227, + 17.540276 + ] + ] + ], + [ + [ + [ + -68.574448, + 18.129444 + ], + [ + -68.78389, + 18.195 + ], + [ + -68.731949, + 18.119999 + ], + [ + -68.574448, + 18.129444 + ] + ] + ], + [ + [ + [ + -70.783615, + 19.846664 + ], + [ + -71.754181, + 19.70583 + ], + [ + -71.715836, + 18.749722 + ], + [ + -72.003067, + 18.60083 + ], + [ + -71.767868, + 18.038502 + ], + [ + -71.422501, + 17.601944 + ], + [ + -71.079727, + 18.301109 + ], + [ + -70.690002, + 18.433887 + ], + [ + -70.510834, + 18.194721 + ], + [ + -69.881668, + 18.469444 + ], + [ + -68.449722, + 18.355831 + ], + [ + -68.325562, + 18.616665 + ], + [ + -68.729172, + 18.952774 + ], + [ + -69.631668, + 19.101665 + ], + [ + -69.22168, + 19.362221 + ], + [ + -69.753616, + 19.289444 + ], + [ + -69.936401, + 19.671108 + ], + [ + -70.783615, + 19.846664 + ] + ] + ] + ] + }, + "name" : "Dominican Republic", + "iso2" : "DO", + "iso3" : "DOM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "c71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -80.193344, + -3.034721 + ], + [ + -79.903061, + -2.719721 + ], + [ + -80.20668, + -2.724167 + ], + [ + -80.193344, + -3.034721 + ] + ] + ], + [ + [ + [ + -79.838623, + -2.641945 + ], + [ + -79.856674, + -2.466667 + ], + [ + -79.886948, + -2.626944 + ], + [ + -79.838623, + -2.641945 + ] + ] + ], + [ + [ + [ + -89.621124, + -1.406666 + ], + [ + -89.648346, + -1.343889 + ], + [ + -89.751953, + -1.360832 + ], + [ + -89.621124, + -1.406666 + ] + ] + ], + [ + [ + [ + -90.434448, + -1.355278 + ], + [ + -90.365845, + -1.269167 + ], + [ + -90.481674, + -1.219166 + ], + [ + -90.434448, + -1.355278 + ] + ] + ], + [ + [ + [ + -90.043335, + -0.838888 + ], + [ + -90.039734, + -0.809444 + ], + [ + -90.08223, + -0.801111 + ], + [ + -90.043335, + -0.838888 + ] + ] + ], + [ + [ + [ + -89.443619, + -0.936666 + ], + [ + -89.258621, + -0.6875 + ], + [ + -89.629456, + -0.927221 + ], + [ + -89.443619, + -0.936666 + ] + ] + ], + [ + [ + [ + -90.260559, + -0.75111 + ], + [ + -90.190567, + -0.542778 + ], + [ + -90.535278, + -0.583889 + ], + [ + -90.260559, + -0.75111 + ] + ] + ], + [ + [ + [ + -91.498901, + -0.496111 + ], + [ + -91.471115, + -0.248056 + ], + [ + -91.663895, + -0.316111 + ], + [ + -91.498901, + -0.496111 + ] + ] + ], + [ + [ + [ + -90.547501, + -0.305 + ], + [ + -90.793335, + -0.149443 + ], + [ + -90.874451, + -0.27 + ], + [ + -90.547501, + -0.305 + ] + ] + ], + [ + [ + [ + -91.218903, + -0.01111 + ], + [ + -91.605835, + -0.004999 + ], + [ + -91.080566, + -0.587221 + ], + [ + -91.376114, + -1.026667 + ], + [ + -90.810837, + -0.7325 + ], + [ + -91.218903, + -0.01111 + ] + ] + ], + [ + [ + [ + -90.459166, + 0.26639 + ], + [ + -90.40834, + 0.326944 + ], + [ + -90.532501, + 0.346666 + ], + [ + -90.459166, + 0.26639 + ] + ] + ], + [ + [ + [ + -90.751114, + 0.547503 + ], + [ + -90.792236, + 0.651667 + ], + [ + -90.799728, + 0.563334 + ], + [ + -90.751114, + 0.547503 + ] + ] + ], + [ + [ + [ + -75.285843, + -0.119722 + ], + [ + -76.243057, + 0.395555 + ], + [ + -77.379456, + 0.384722 + ], + [ + -78.591675, + 1.243055 + ], + [ + -78.809723, + 1.43778 + ], + [ + -80.059723, + 0.828611 + ], + [ + -80.068344, + 0.06278 + ], + [ + -80.501953, + -0.3675 + ], + [ + -80.264725, + -0.627222 + ], + [ + -80.911118, + -1.031111 + ], + [ + -80.890015, + -2.320555 + ], + [ + -80.256393, + -2.736389 + ], + [ + -79.763626, + -2.009167 + ], + [ + -79.84584, + -2.376389 + ], + [ + -79.727509, + -2.602777 + ], + [ + -79.948059, + -3.198334 + ], + [ + -80.340424, + -3.380516 + ], + [ + -80.153336, + -3.884228 + ], + [ + -80.467224, + -3.986944 + ], + [ + -80.467789, + -4.43889 + ], + [ + -79.649733, + -4.432777 + ], + [ + -79.054825, + -5.009132 + ], + [ + -78.70903, + -4.584787 + ], + [ + -78.337509, + -3.422777 + ], + [ + -76.660629, + -2.572134 + ], + [ + -75.559174, + -1.534166 + ], + [ + -75.21608, + -0.965336 + ], + [ + -75.62796, + -0.108858 + ], + [ + -75.285843, + -0.119722 + ] + ], + [ + [ + -78.912231, + 1.239168 + ], + [ + -78.998901, + 1.275 + ], + [ + -78.903336, + 1.367781 + ], + [ + -78.912231, + 1.239168 + ] + ] + ] + ] + }, + "name" : "Ecuador", + "iso2" : "EC", + "iso3" : "ECU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "dL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 34.026384, + 27.498335 + ], + [ + 33.917498, + 27.526388 + ], + [ + 34.041941, + 27.442221 + ], + [ + 34.026384, + 27.498335 + ] + ] + ], + [ + [ + [ + 32.04722, + 31.143332 + ], + [ + 32.049997, + 31.153334 + ], + [ + 32.042772, + 31.158056 + ], + [ + 32.04722, + 31.143332 + ] + ] + ], + [ + [ + [ + 33.476664, + 31.137499 + ], + [ + 33.400553, + 31.181665 + ], + [ + 33.266665, + 31.215277 + ], + [ + 33.476664, + 31.137499 + ] + ] + ], + [ + [ + [ + 33.195276, + 31.232779 + ], + [ + 33.096109, + 31.2325 + ], + [ + 32.976664, + 31.168333 + ], + [ + 33.101664, + 31.227221 + ], + [ + 33.261385, + 31.214998 + ], + [ + 33.195276, + 31.232779 + ] + ] + ], + [ + [ + [ + 25.316668, + 31.501112 + ], + [ + 25.151667, + 31.646944 + ], + [ + 24.706667, + 30.168612 + ], + [ + 24.997778, + 29.248888 + ], + [ + 25.001425, + 21.999697 + ], + [ + 31.271112, + 21.998335 + ], + [ + 31.455557, + 22.232222 + ], + [ + 31.45389, + 21.998335 + ], + [ + 36.888468, + 22.000113 + ], + [ + 35.670557, + 22.965834 + ], + [ + 35.483057, + 23.938334 + ], + [ + 35.813051, + 23.916113 + ], + [ + 35.138613, + 24.5175 + ], + [ + 33.558886, + 27.883055 + ], + [ + 32.34083, + 29.596945 + ], + [ + 32.574999, + 30.005278 + ], + [ + 33.242777, + 28.554445 + ], + [ + 34.254442, + 27.728613 + ], + [ + 34.903803, + 29.486708 + ], + [ + 34.26758, + 31.216543 + ], + [ + 34.216661, + 31.323332 + ], + [ + 33.743891, + 31.133333 + ], + [ + 33.532778, + 31.116945 + ], + [ + 33.410555, + 31.154722 + ], + [ + 33.14361, + 31.058332 + ], + [ + 33.149721, + 31.101667 + ], + [ + 33.111666, + 31.193056 + ], + [ + 32.717218, + 31.032499 + ], + [ + 32.21055, + 31.288057 + ], + [ + 32.143068, + 31.074167 + ], + [ + 31.77389, + 31.271666 + ], + [ + 31.9, + 31.531111 + ], + [ + 32.204996, + 31.289999 + ], + [ + 31.92148, + 31.529886 + ], + [ + 31.027777, + 31.600557 + ], + [ + 29.069445, + 30.821665 + ], + [ + 27.33111, + 31.374998 + ], + [ + 25.316668, + 31.501112 + ] + ], + [ + [ + 34.00139, + 26.707224 + ], + [ + 33.960001, + 26.788332 + ], + [ + 33.994722, + 26.749723 + ], + [ + 34.00139, + 26.707224 + ] + ] + ] + ] + }, + "name" : "Egypt", + "iso2" : "EG", + "iso3" : "EGY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "db1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -9.656389, + 53.222223 + ], + [ + -9.660833, + 53.280001 + ], + [ + -9.724724, + 53.268053 + ], + [ + -9.656389, + 53.222223 + ] + ] + ], + [ + [ + [ + -9.964169, + 54.01861 + ], + [ + -10.268612, + 53.975 + ], + [ + -9.955002, + 53.876665 + ], + [ + -9.964169, + 54.01861 + ] + ] + ], + [ + [ + [ + -8.518612, + 54.964167 + ], + [ + -8.490557, + 54.994722 + ], + [ + -8.546946, + 55.011942 + ], + [ + -8.518612, + 54.964167 + ] + ] + ], + [ + [ + [ + -6.266975, + 54.099833 + ], + [ + -7.030834, + 54.417772 + ], + [ + -7.559444, + 54.12694 + ], + [ + -8.159445, + 54.441942 + ], + [ + -7.406389, + 54.953333 + ], + [ + -7.252506, + 55.070597 + ], + [ + -6.931667, + 55.235834 + ], + [ + -7.393888, + 55.379442 + ], + [ + -7.681389, + 54.948328 + ], + [ + -7.657499, + 55.274439 + ], + [ + -8.317501, + 55.108889 + ], + [ + -8.800835, + 54.691668 + ], + [ + -8.188334, + 54.633608 + ], + [ + -8.668335, + 54.349443 + ], + [ + -8.471668, + 54.27389 + ], + [ + -10.112223, + 54.229998 + ], + [ + -10.124445, + 54.096384 + ], + [ + -10.006111, + 54.218889 + ], + [ + -9.787779, + 53.941942 + ], + [ + -9.940556, + 53.866945 + ], + [ + -9.56139, + 53.85972 + ], + [ + -10.175835, + 53.407778 + ], + [ + -8.941113, + 53.264162 + ], + [ + -9.93639, + 52.555834 + ], + [ + -8.818335, + 52.665552 + ], + [ + -10.460835, + 52.182222 + ], + [ + -9.757778, + 52.148607 + ], + [ + -10.338593, + 51.782923 + ], + [ + -9.577501, + 51.872217 + ], + [ + -10.132502, + 51.593332 + ], + [ + -9.535557, + 51.750002 + ], + [ + -9.817501, + 51.445551 + ], + [ + -9.234167, + 51.480555 + ], + [ + -6.994722, + 52.282778 + ], + [ + -6.361111, + 52.1775 + ], + [ + -6.013056, + 52.945002 + ], + [ + -6.266975, + 54.099833 + ] + ], + [ + [ + -8.436945, + 54.944445 + ], + [ + -8.45389, + 54.954996 + ], + [ + -8.438612, + 54.955278 + ], + [ + -8.436945, + 54.944445 + ] + ] + ] + ] + }, + "name" : "Ireland", + "iso2" : "IE", + "iso3" : "IRL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "dr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 5.641388, + -1.474722 + ], + [ + 5.633888, + -1.420556 + ], + [ + 5.615277, + -1.469167 + ], + [ + 5.641388, + -1.474722 + ] + ] + ], + [ + [ + [ + 11.339764, + 2.168611 + ], + [ + 10.02611, + 2.168056 + ], + [ + 9.811764, + 2.343698 + ], + [ + 9.356943, + 1.167222 + ], + [ + 9.803976, + 1.002608 + ], + [ + 11.353888, + 1.001944 + ], + [ + 11.339764, + 2.168611 + ] + ] + ], + [ + [ + [ + 8.856667, + 3.499444 + ], + [ + 8.958887, + 3.703888 + ], + [ + 8.68611, + 3.741666 + ], + [ + 8.44611, + 3.274444 + ], + [ + 8.856667, + 3.499444 + ] + ] + ] + ] + }, + "name" : "Equatorial Guinea", + "iso2" : "GQ", + "iso3" : "GNQ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "d71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 23.990829, + 58.099998 + ], + [ + 24.022186, + 58.142746 + ], + [ + 23.947773, + 58.147217 + ], + [ + 23.990829, + 58.099998 + ] + ] + ], + [ + [ + [ + 22.990829, + 58.597771 + ], + [ + 21.83194, + 58.504997 + ], + [ + 22.201385, + 58.144714 + ], + [ + 21.99416, + 57.922768 + ], + [ + 23.332775, + 58.441658 + ], + [ + 22.990829, + 58.597771 + ] + ] + ], + [ + [ + [ + 23.364998, + 58.529991 + ], + [ + 23.247459, + 58.671051 + ], + [ + 23.057774, + 58.60833 + ], + [ + 23.364998, + 58.529991 + ] + ] + ], + [ + [ + [ + 23.277222, + 58.963051 + ], + [ + 23.391663, + 58.998047 + ], + [ + 23.110828, + 59.024712 + ], + [ + 23.277222, + 58.963051 + ] + ] + ], + [ + [ + [ + 22.749718, + 59 + ], + [ + 22.042221, + 58.939987 + ], + [ + 23.045277, + 58.83638 + ], + [ + 22.749718, + 59 + ] + ] + ], + [ + [ + [ + 27.372059, + 57.535637 + ], + [ + 27.823051, + 57.873878 + ], + [ + 27.426105, + 58.813606 + ], + [ + 28.170359, + 59.30978 + ], + [ + 28.015831, + 59.4786 + ], + [ + 25.780277, + 59.628876 + ], + [ + 23.464161, + 59.206383 + ], + [ + 23.483051, + 58.80999 + ], + [ + 23.874996, + 58.7686 + ], + [ + 23.495548, + 58.694153 + ], + [ + 23.728607, + 58.370827 + ], + [ + 24.555553, + 58.327217 + ], + [ + 24.31498, + 57.871826 + ], + [ + 25.294998, + 58.084435 + ], + [ + 26.511387, + 57.5261 + ], + [ + 27.372059, + 57.535637 + ] + ] + ] + ] + }, + "name" : "Estonia", + "iso2" : "EE", + "iso3" : "EST" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "eL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 40.087219, + 15.851665 + ], + [ + 39.977776, + 15.605 + ], + [ + 40.419441, + 15.573889 + ], + [ + 40.087219, + 15.851665 + ] + ] + ], + [ + [ + [ + 40.113327, + 16.055832 + ], + [ + 40.030273, + 16.095276 + ], + [ + 39.979721, + 16.012218 + ], + [ + 40.113327, + 16.055832 + ] + ] + ], + [ + [ + [ + 43.121384, + 12.708332 + ], + [ + 41.170555, + 14.6325 + ], + [ + 40.17083, + 14.97361 + ], + [ + 39.881386, + 15.489443 + ], + [ + 39.721107, + 15.084166 + ], + [ + 38.797775, + 17.653332 + ], + [ + 38.600693, + 17.994881 + ], + [ + 37.423286, + 17.034214 + ], + [ + 36.995827, + 17.073887 + ], + [ + 36.973053, + 16.269444 + ], + [ + 36.443283, + 15.149952 + ], + [ + 36.542816, + 14.262053 + ], + [ + 37.291664, + 14.451944 + ], + [ + 37.572212, + 14.102253 + ], + [ + 37.911385, + 14.88361 + ], + [ + 38.44944, + 14.4175 + ], + [ + 39.024021, + 14.655162 + ], + [ + 40.228058, + 14.443506 + ], + [ + 42.399719, + 12.469721 + ], + [ + 43.121384, + 12.708332 + ] + ] + ] + ] + }, + "name" : "Eritrea", + "iso2" : "ER", + "iso3" : "ERI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "eb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -87.686401, + 13.168333 + ], + [ + -87.723068, + 13.214722 + ], + [ + -87.72168, + 13.168055 + ], + [ + -87.686401, + 13.168333 + ] + ] + ], + [ + [ + [ + -87.815582, + 13.405386 + ], + [ + -87.75029, + 13.864166 + ], + [ + -88.47084, + 13.855276 + ], + [ + -89.339737, + 14.416111 + ], + [ + -89.348312, + 14.431982 + ], + [ + -90.09639, + 13.745832 + ], + [ + -88.53862, + 13.194166 + ], + [ + -87.93779, + 13.156387 + ], + [ + -87.815582, + 13.405386 + ] + ] + ] + ] + }, + "name" : "El Salvador", + "iso2" : "SV", + "iso3" : "SLV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "er1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 36.542816, + 14.262053 + ], + [ + 36.142693, + 12.706923 + ], + [ + 35.70108, + 12.666115 + ], + [ + 35.096939, + 11.826944 + ], + [ + 34.864441, + 10.734999 + ], + [ + 34.594444, + 10.887777 + ], + [ + 34.28611, + 10.554165 + ], + [ + 34.120552, + 8.577221 + ], + [ + 33.252777, + 8.458611 + ], + [ + 32.991104, + 7.924999 + ], + [ + 33.711388, + 7.660277 + ], + [ + 34.70472, + 6.677777 + ], + [ + 35.301941, + 5.378055 + ], + [ + 35.821663, + 5.32861 + ], + [ + 35.940552, + 4.622499 + ], + [ + 37.039719, + 4.375555 + ], + [ + 38.121109, + 3.611666 + ], + [ + 39.524437, + 3.406389 + ], + [ + 40.783768, + 4.287975 + ], + [ + 41.171387, + 3.9425 + ], + [ + 41.905167, + 3.980322 + ], + [ + 43.686386, + 4.891944 + ], + [ + 44.950829, + 4.902499 + ], + [ + 47.988243, + 8.004107 + ], + [ + 47.01194, + 8.00111 + ], + [ + 44.010551, + 9.007221 + ], + [ + 42.848053, + 10.22361 + ], + [ + 42.663055, + 10.6325 + ], + [ + 42.944092, + 11.002438 + ], + [ + 41.789719, + 11.008055 + ], + [ + 41.828606, + 11.74 + ], + [ + 42.399719, + 12.469721 + ], + [ + 40.228058, + 14.443506 + ], + [ + 39.024021, + 14.655162 + ], + [ + 38.44944, + 14.4175 + ], + [ + 37.911385, + 14.88361 + ], + [ + 37.572212, + 14.102253 + ], + [ + 37.291664, + 14.451944 + ], + [ + 36.542816, + 14.262053 + ] + ] + ] + }, + "name" : "Ethiopia", + "iso2" : "ET", + "iso3" : "ETH" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "e71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 13.833611, + 48.773605 + ], + [ + 12.758333, + 48.123886 + ], + [ + 13.016666, + 47.470276 + ], + [ + 12.735554, + 47.684166 + ], + [ + 11.095554, + 47.396111 + ], + [ + 10.478054, + 47.591942 + ], + [ + 10.173332, + 47.274719 + ], + [ + 9.566724, + 47.540451 + ], + [ + 9.533569, + 47.274544 + ], + [ + 9.598635, + 47.063835 + ], + [ + 10.471235, + 46.871353 + ], + [ + 12.127777, + 47.001663 + ], + [ + 12.440554, + 46.690826 + ], + [ + 13.718655, + 46.526611 + ], + [ + 14.544998, + 46.407494 + ], + [ + 16.111805, + 46.86972 + ], + [ + 16.510555, + 47.00666 + ], + [ + 16.713886, + 47.543884 + ], + [ + 16.450554, + 47.698051 + ], + [ + 17.053886, + 47.709442 + ], + [ + 17.166386, + 48.012497 + ], + [ + 16.946182, + 48.619064 + ], + [ + 15.025833, + 49.018883 + ], + [ + 14.70028, + 48.581379 + ], + [ + 13.833611, + 48.773605 + ] + ] + ] + }, + "name" : "Austria", + "iso2" : "AT", + "iso3" : "AUT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "fL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 13.833611, + 48.773605 + ], + [ + 14.70028, + 48.581379 + ], + [ + 15.025833, + 49.018883 + ], + [ + 16.946182, + 48.619064 + ], + [ + 18.851246, + 49.517357 + ], + [ + 18.577221, + 49.914444 + ], + [ + 17.657776, + 50.108055 + ], + [ + 17.722775, + 50.319717 + ], + [ + 16.890274, + 50.439438 + ], + [ + 17.00222, + 50.216942 + ], + [ + 16.641941, + 50.10833 + ], + [ + 16.20583, + 50.423882 + ], + [ + 16.341942, + 50.66111 + ], + [ + 14.828333, + 50.865829 + ], + [ + 14.309721, + 51.053604 + ], + [ + 12.093704, + 50.322533 + ], + [ + 12.674444, + 49.424995 + ], + [ + 13.833611, + 48.773605 + ] + ] + ] + }, + "name" : "Czech Republic", + "iso2" : "CZ", + "iso3" : "CZE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "fb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -54.603783, + 2.329195 + ], + [ + -52.909729, + 2.195833 + ], + [ + -51.684067, + 4.034163 + ], + [ + -51.850563, + 4.653333 + ], + [ + -52.040001, + 4.331388 + ], + [ + -52.285278, + 4.937499 + ], + [ + -53.494339, + 5.572342 + ], + [ + -53.939728, + 5.744721 + ], + [ + -54.166946, + 5.346944 + ], + [ + -54.477501, + 4.747777 + ], + [ + -54.001114, + 3.448333 + ], + [ + -54.603783, + 2.329195 + ] + ] + ] + }, + "name" : "French Guiana", + "iso2" : "GF", + "iso3" : "GUF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "fr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 22.833612, + 59.956385 + ], + [ + 22.917501, + 59.898333 + ], + [ + 23.0725, + 59.951113 + ], + [ + 22.833612, + 59.956385 + ] + ] + ], + [ + [ + [ + 22.438887, + 59.995829 + ], + [ + 22.440554, + 60.072496 + ], + [ + 22.351946, + 60.066942 + ], + [ + 22.438887, + 59.995829 + ] + ] + ], + [ + [ + [ + 21.598055, + 60.098055 + ], + [ + 21.655554, + 60.15555 + ], + [ + 21.485277, + 60.113886 + ], + [ + 21.598055, + 60.098055 + ] + ] + ], + [ + [ + [ + 21.748888, + 60.111383 + ], + [ + 21.885279, + 60.177217 + ], + [ + 21.715555, + 60.183054 + ], + [ + 21.748888, + 60.111383 + ] + ] + ], + [ + [ + [ + 21.396666, + 60.178606 + ], + [ + 21.268332, + 60.188051 + ], + [ + 21.385279, + 60.156664 + ], + [ + 21.396666, + 60.178606 + ] + ] + ], + [ + [ + [ + 22.000834, + 60.129442 + ], + [ + 22.060835, + 60.20389 + ], + [ + 21.937498, + 60.17 + ], + [ + 22.000834, + 60.129442 + ] + ] + ], + [ + [ + [ + 25.848612, + 60.195551 + ], + [ + 25.874998, + 60.211107 + ], + [ + 25.810556, + 60.204165 + ], + [ + 25.848612, + 60.195551 + ] + ] + ], + [ + [ + [ + 22.824446, + 60.227221 + ], + [ + 22.587778, + 60.202501 + ], + [ + 22.44972, + 60.218332 + ], + [ + 22.469465, + 60.000002 + ], + [ + 22.824446, + 60.227221 + ] + ] + ], + [ + [ + [ + 22.242224, + 60.181108 + ], + [ + 22.294443, + 60.248606 + ], + [ + 22.217779, + 60.218607 + ], + [ + 22.242224, + 60.181108 + ] + ] + ], + [ + [ + [ + 22.342222, + 60.283052 + ], + [ + 22.096109, + 60.307779 + ], + [ + 22.068888, + 60.26861 + ], + [ + 22.342222, + 60.283052 + ] + ] + ], + [ + [ + [ + 22.383333, + 60.288332 + ], + [ + 22.476946, + 60.32361 + ], + [ + 22.325277, + 60.334719 + ], + [ + 22.383333, + 60.288332 + ] + ] + ], + [ + [ + [ + 21.982779, + 60.324167 + ], + [ + 21.807501, + 60.465555 + ], + [ + 21.789999, + 60.372499 + ], + [ + 21.982779, + 60.324167 + ] + ] + ], + [ + [ + [ + 21.751665, + 60.498331 + ], + [ + 21.763334, + 60.522501 + ], + [ + 21.730001, + 60.520273 + ], + [ + 21.684446, + 60.452776 + ], + [ + 21.751665, + 60.498331 + ] + ] + ], + [ + [ + [ + 21.483332, + 60.520273 + ], + [ + 21.321943, + 60.543055 + ], + [ + 21.432501, + 60.469721 + ], + [ + 21.483332, + 60.520273 + ] + ] + ], + [ + [ + [ + 21.32889, + 60.481112 + ], + [ + 21.226946, + 60.5525 + ], + [ + 21.275835, + 60.478052 + ], + [ + 21.32889, + 60.481112 + ] + ] + ], + [ + [ + [ + 21.290277, + 60.612223 + ], + [ + 21.214167, + 60.619722 + ], + [ + 21.289167, + 60.561388 + ], + [ + 21.290277, + 60.612223 + ] + ] + ], + [ + [ + [ + 21.327501, + 60.877222 + ], + [ + 21.357222, + 60.921946 + ], + [ + 21.254168, + 60.958887 + ], + [ + 21.327501, + 60.877222 + ] + ] + ], + [ + [ + [ + 21.080278, + 63.281389 + ], + [ + 21.246946, + 63.144724 + ], + [ + 21.427221, + 63.196939 + ], + [ + 21.080278, + 63.281389 + ] + ] + ], + [ + [ + [ + 22.180834, + 63.265276 + ], + [ + 22.192499, + 63.321939 + ], + [ + 22.040834, + 63.30694 + ], + [ + 22.180834, + 63.265276 + ] + ] + ], + [ + [ + [ + 21.323332, + 63.289164 + ], + [ + 21.381109, + 63.341112 + ], + [ + 21.231943, + 63.325556 + ], + [ + 21.323332, + 63.289164 + ] + ] + ], + [ + [ + [ + 22.87361, + 63.799997 + ], + [ + 22.806112, + 63.87694 + ], + [ + 22.671389, + 63.794443 + ], + [ + 22.87361, + 63.799997 + ] + ] + ], + [ + [ + [ + 24.734999, + 64.944445 + ], + [ + 25.035002, + 65.036104 + ], + [ + 24.551668, + 65.024996 + ], + [ + 24.734999, + 64.944445 + ] + ] + ], + [ + [ + [ + 24.462221, + 65.763887 + ], + [ + 24.503054, + 65.78055 + ], + [ + 24.436945, + 65.769716 + ], + [ + 24.462221, + 65.763887 + ] + ] + ], + [ + [ + [ + 28.957342, + 69.051622 + ], + [ + 28.784166, + 69.160555 + ], + [ + 29.176111, + 69.635271 + ], + [ + 28.165834, + 69.912218 + ], + [ + 26.449999, + 69.927217 + ], + [ + 25.945833, + 69.673326 + ], + [ + 25.76111, + 68.989168 + ], + [ + 24.934919, + 68.580812 + ], + [ + 23.976389, + 68.832491 + ], + [ + 22.398333, + 68.711107 + ], + [ + 21.320833, + 69.326113 + ], + [ + 20.580931, + 69.060305 + ], + [ + 21.809168, + 68.570543 + ], + [ + 23.666113, + 67.941668 + ], + [ + 23.431112, + 67.465548 + ], + [ + 23.767778, + 67.416109 + ], + [ + 23.571665, + 67.156664 + ], + [ + 24.007776, + 66.800554 + ], + [ + 23.661943, + 66.312212 + ], + [ + 24.167009, + 65.814028 + ], + [ + 24.689165, + 65.896105 + ], + [ + 24.669168, + 65.654711 + ], + [ + 25.310835, + 65.51111 + ], + [ + 25.447222, + 64.954714 + ], + [ + 24.542223, + 64.802492 + ], + [ + 24.343332, + 64.523607 + ], + [ + 23.318888, + 63.896662 + ], + [ + 22.188055, + 63.463053 + ], + [ + 22.337221, + 63.273607 + ], + [ + 21.497778, + 63.210001 + ], + [ + 21.68611, + 63.024996 + ], + [ + 21.064722, + 62.612223 + ], + [ + 21.668055, + 61.546946 + ], + [ + 21.35861, + 60.653612 + ], + [ + 22.632223, + 60.391939 + ], + [ + 22.447222, + 60.24444 + ], + [ + 22.574999, + 60.21055 + ], + [ + 22.662779, + 60.222223 + ], + [ + 23.055834, + 60.353334 + ], + [ + 23.086943, + 60.346941 + ], + [ + 22.874445, + 60.145555 + ], + [ + 23.338335, + 60.019999 + ], + [ + 22.909723, + 59.804995 + ], + [ + 25.92, + 60.241663 + ], + [ + 26.659166, + 60.647501 + ], + [ + 26.497221, + 60.446939 + ], + [ + 27.807833, + 60.546404 + ], + [ + 31.58893, + 62.914415 + ], + [ + 29.993334, + 63.743608 + ], + [ + 30.578054, + 64.221376 + ], + [ + 29.636667, + 64.928057 + ], + [ + 29.818888, + 65.653322 + ], + [ + 30.134165, + 65.719164 + ], + [ + 29.074999, + 66.89583 + ], + [ + 30.028612, + 67.694719 + ], + [ + 28.693335, + 68.197496 + ], + [ + 28.457499, + 68.531939 + ], + [ + 28.820555, + 68.844439 + ], + [ + 28.431944, + 68.896944 + ], + [ + 28.957342, + 69.051622 + ] + ], + [ + [ + 25.677221, + 60.234995 + ], + [ + 25.598055, + 60.207773 + ], + [ + 25.56111, + 60.265833 + ], + [ + 25.677221, + 60.234995 + ] + ], + [ + [ + 23.705828, + 59.927217 + ], + [ + 23.370001, + 59.911386 + ], + [ + 23.538328, + 59.960276 + ], + [ + 23.705828, + 59.927217 + ] + ] + ] + ] + }, + "name" : "Finland", + "iso2" : "FI", + "iso3" : "FIN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "f71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -178.707764, + -20.674442 + ], + [ + -178.73056, + -20.646114 + ], + [ + -178.737213, + -20.666115 + ], + [ + -178.707764, + -20.674442 + ] + ] + ], + [ + [ + [ + -178.211426, + -19.852505 + ], + [ + -178.19809, + -19.835838 + ], + [ + -178.209747, + -19.826389 + ], + [ + -178.211426, + -19.852505 + ] + ] + ], + [ + [ + [ + -178.396698, + -19.185001 + ], + [ + -178.398621, + -19.129169 + ], + [ + -178.425049, + -19.177502 + ], + [ + -178.396698, + -19.185001 + ] + ] + ], + [ + [ + [ + 179.779694, + -19.195278 + ], + [ + 179.773041, + -19.123333 + ], + [ + 179.740234, + -19.188053 + ], + [ + 179.779694, + -19.195278 + ] + ] + ], + [ + [ + [ + -178.538605, + -19.181946 + ], + [ + -178.585846, + -19.113613 + ], + [ + -178.596954, + -19.155834 + ], + [ + -178.538605, + -19.181946 + ] + ] + ], + [ + [ + [ + 178.498291, + -18.989998 + ], + [ + 178.306915, + -18.935555 + ], + [ + 177.95108, + -19.13139 + ], + [ + 178.498291, + -18.989998 + ] + ] + ], + [ + [ + [ + -178.936707, + -18.989445 + ], + [ + -178.949432, + -18.925835 + ], + [ + -178.967224, + -18.978336 + ], + [ + -178.936707, + -18.989445 + ] + ] + ], + [ + [ + [ + -179.78363, + -18.946388 + ], + [ + -179.845001, + -18.922504 + ], + [ + -179.868896, + -19.005283 + ], + [ + -179.78363, + -18.946388 + ] + ] + ], + [ + [ + [ + 178.528046, + -18.910831 + ], + [ + 178.521637, + -18.859722 + ], + [ + 178.476624, + -18.883057 + ], + [ + 178.528046, + -18.910831 + ] + ] + ], + [ + [ + [ + -178.498627, + -18.674725 + ], + [ + -178.473053, + -18.650558 + ], + [ + -178.506683, + -18.635281 + ], + [ + -178.498627, + -18.674725 + ] + ] + ], + [ + [ + [ + 179.91275, + -18.641945 + ], + [ + 179.963867, + -18.540558 + ], + [ + 179.837463, + -18.576389 + ], + [ + 179.91275, + -18.641945 + ] + ] + ], + [ + [ + [ + 177.6633, + -18.590279 + ], + [ + 177.630798, + -18.491943 + ], + [ + 177.61911, + -18.538334 + ], + [ + 177.6633, + -18.590279 + ] + ] + ], + [ + [ + [ + 178.132721, + -18.4175 + ], + [ + 178.139709, + -18.351944 + ], + [ + 178.109406, + -18.407501 + ], + [ + 178.132721, + -18.4175 + ] + ] + ], + [ + [ + [ + -178.778351, + -18.249725 + ], + [ + -178.747528, + -18.201389 + ], + [ + -178.828613, + -18.190002 + ], + [ + -178.778351, + -18.249725 + ] + ] + ], + [ + [ + [ + 179.351898, + -18.121113 + ], + [ + 179.266663, + -17.936111 + ], + [ + 179.245789, + -18.036388 + ], + [ + 179.351898, + -18.121113 + ] + ] + ], + [ + [ + [ + -179.011719, + -17.995277 + ], + [ + -178.991119, + -17.950832 + ], + [ + -179.068359, + -17.932503 + ], + [ + -179.011719, + -17.995277 + ] + ] + ], + [ + [ + [ + -178.286987, + -17.96611 + ], + [ + -178.244476, + -17.917778 + ], + [ + -178.347809, + -17.894165 + ], + [ + -178.286987, + -17.96611 + ] + ] + ], + [ + [ + [ + 179.421906, + -17.848335 + ], + [ + 179.421082, + -17.797222 + ], + [ + 179.392761, + -17.786388 + ], + [ + 179.421906, + -17.848335 + ] + ] + ], + [ + [ + [ + -179.292511, + -17.783897 + ], + [ + -179.319153, + -17.727509 + ], + [ + -179.331146, + -17.771954 + ], + [ + -179.292511, + -17.783897 + ] + ] + ], + [ + [ + [ + 178.820251, + -17.742775 + ], + [ + 178.791931, + -17.621113 + ], + [ + 178.747742, + -17.719719 + ], + [ + 178.820251, + -17.742775 + ] + ] + ], + [ + [ + [ + -179.141998, + -17.476952 + ], + [ + -179.143341, + -17.431114 + ], + [ + -179.178894, + -17.433064 + ], + [ + -179.141998, + -17.476952 + ] + ] + ], + [ + [ + [ + 178.280823, + -17.403053 + ], + [ + 177.510254, + -17.509445 + ], + [ + 177.299133, + -18.078613 + ], + [ + 178.67804, + -18.078335 + ], + [ + 178.280823, + -17.403053 + ] + ] + ], + [ + [ + [ + 177.112457, + -17.314445 + ], + [ + 177.141937, + -17.247776 + ], + [ + 177.10025, + -17.271114 + ], + [ + 177.112457, + -17.314445 + ] + ] + ], + [ + [ + [ + -179.128632, + -17.283611 + ], + [ + -179.121429, + -17.258617 + ], + [ + -179.162811, + -17.250835 + ], + [ + -179.128632, + -17.283611 + ] + ] + ], + [ + [ + [ + 179.399414, + -17.394444 + ], + [ + 179.433044, + -17.242222 + ], + [ + 179.357178, + -17.259445 + ], + [ + 179.399414, + -17.394444 + ] + ] + ], + [ + [ + [ + -178.925293, + -17.257225 + ], + [ + -179.02005, + -17.153053 + ], + [ + -178.98584, + -17.318058 + ], + [ + -178.925293, + -17.257225 + ] + ] + ], + [ + [ + [ + 177.263611, + -17.123611 + ], + [ + 177.281097, + -17.051945 + ], + [ + 177.177185, + -17.163612 + ], + [ + 177.263611, + -17.123611 + ] + ] + ], + [ + [ + [ + 178.333038, + -16.835835 + ], + [ + 178.277191, + -16.789444 + ], + [ + 178.282196, + -16.833889 + ], + [ + 178.333038, + -16.835835 + ] + ] + ], + [ + [ + [ + 179.947479, + -17.002781 + ], + [ + 180, + -16.787395 + ], + [ + 179.882446, + -16.964165 + ], + [ + 179.947479, + -17.002781 + ] + ] + ], + [ + [ + [ + -179.993317, + -16.955276 + ], + [ + -179.821106, + -16.781094 + ], + [ + -179.861633, + -16.680321 + ], + [ + -179.993317, + -16.955276 + ] + ] + ], + [ + [ + [ + 177.443024, + -16.83778 + ], + [ + 177.593018, + -16.687778 + ], + [ + 177.559967, + -16.677498 + ], + [ + 177.443024, + -16.83778 + ] + ] + ], + [ + [ + [ + 179.929413, + -16.659164 + ], + [ + 179.947754, + -16.613056 + ], + [ + 179.916656, + -16.625832 + ], + [ + 179.88443, + -16.657501 + ], + [ + 179.914154, + -16.661945 + ], + [ + 179.929413, + -16.659164 + ] + ] + ], + [ + [ + [ + 180, + -16.537918 + ], + [ + 180, + -16.494274 + ], + [ + 179.981079, + -16.524445 + ], + [ + 180, + -16.537918 + ] + ] + ], + [ + [ + [ + -179.976166, + -16.535278 + ], + [ + -179.896423, + -16.43111 + ], + [ + -179.988617, + -16.476952 + ], + [ + -179.976166, + -16.535278 + ] + ] + ], + [ + [ + [ + 179.958008, + -16.197498 + ], + [ + 178.478851, + -16.78167 + ], + [ + 178.747192, + -17.011948 + ], + [ + 179.265808, + -16.690556 + ], + [ + 179.902191, + -16.769447 + ], + [ + 179.951904, + -16.741943 + ], + [ + 179.871338, + -16.665001 + ], + [ + 179.950256, + -16.513058 + ], + [ + 179.932465, + -16.460831 + ], + [ + 179.478577, + -16.701111 + ], + [ + 179.958008, + -16.197498 + ] + ] + ], + [ + [ + [ + -179.968872, + -16.16761 + ], + [ + -179.941132, + -16.128345 + ], + [ + -180, + -16.154732 + ], + [ + -179.968872, + -16.16761 + ] + ] + ], + [ + [ + [ + 177.119415, + -12.514446 + ], + [ + 177.11911, + -12.484722 + ], + [ + 177.026917, + -12.507223 + ], + [ + 177.119415, + -12.514446 + ] + ] + ] + ] + }, + "name" : "Fiji", + "iso2" : "FJ", + "iso3" : "FJI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "gL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -59.691673, + -52.242783 + ], + [ + -59.683891, + -52.172783 + ], + [ + -59.753334, + -52.170006 + ], + [ + -59.761116, + -52.273613 + ], + [ + -59.691673, + -52.242783 + ] + ] + ], + [ + [ + [ + -58.435005, + -52.093895 + ], + [ + -58.432503, + -51.99028 + ], + [ + -58.53389, + -52.024445 + ], + [ + -58.435005, + -52.093895 + ] + ] + ], + [ + [ + [ + -61.224449, + -51.864723 + ], + [ + -61.215004, + -51.797226 + ], + [ + -61.313896, + -51.824722 + ], + [ + -61.224449, + -51.864723 + ] + ] + ], + [ + [ + [ + -61.034447, + -51.869446 + ], + [ + -60.940559, + -51.800285 + ], + [ + -61.149445, + -51.848892 + ], + [ + -60.867783, + -51.903336 + ], + [ + -61.034447, + -51.869446 + ] + ] + ], + [ + [ + [ + -61.195839, + -51.699448 + ], + [ + -61.305, + -51.693062 + ], + [ + -61.315834, + -51.733612 + ], + [ + -61.195839, + -51.699448 + ] + ] + ], + [ + [ + [ + -59.210556, + -51.410561 + ], + [ + -60.019447, + -51.380005 + ], + [ + -60.132225, + -51.494728 + ], + [ + -60.642227, + -51.35556 + ], + [ + -60.163612, + -51.661392 + ], + [ + -60.638336, + -51.722229 + ], + [ + -60.180557, + -51.758896 + ], + [ + -60.980835, + -52.061951 + ], + [ + -60.368057, + -52.159172 + ], + [ + -59.210556, + -51.410561 + ] + ] + ], + [ + [ + [ + -58.696671, + -51.33667 + ], + [ + -59.718056, + -52.121117 + ], + [ + -59.348061, + -52.343056 + ], + [ + -59.449173, + -52.140839 + ], + [ + -59.035278, + -52.14389 + ], + [ + -59.289726, + -52.004173 + ], + [ + -58.64695, + -52.067223 + ], + [ + -58.940559, + -51.801949 + ], + [ + -57.731392, + -51.692223 + ], + [ + -58.142784, + -51.553894 + ], + [ + -57.761673, + -51.538338 + ], + [ + -57.911949, + -51.376396 + ], + [ + -58.279449, + -51.417503 + ], + [ + -58.226952, + -51.654449 + ], + [ + -58.696671, + -51.33667 + ] + ] + ], + [ + [ + [ + -59.935562, + -51.350838 + ], + [ + -59.906113, + -51.303062 + ], + [ + -60.025284, + -51.297783 + ], + [ + -59.935562, + -51.350838 + ] + ] + ], + [ + [ + [ + -60.110558, + -51.405281 + ], + [ + -60.068062, + -51.307503 + ], + [ + -60.300285, + -51.271393 + ], + [ + -60.110558, + -51.405281 + ] + ] + ], + [ + [ + [ + -59.508339, + -51.337502 + ], + [ + -59.479172, + -51.264725 + ], + [ + -59.811111, + -51.26973 + ], + [ + -59.508339, + -51.337502 + ] + ] + ] + ] + }, + "name" : "Falkland Islands (Malvinas)", + "iso2" : "FK", + "iso3" : "FLK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "gb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 153.674408, + 5.286943 + ], + [ + 153.711365, + 5.319721 + ], + [ + 153.659973, + 5.291666 + ], + [ + 153.674408, + 5.286943 + ] + ] + ], + [ + [ + [ + 163.007477, + 5.263055 + ], + [ + 163.016388, + 5.378332 + ], + [ + 162.904144, + 5.307221 + ], + [ + 163.007477, + 5.263055 + ] + ] + ], + [ + [ + [ + 143.063599, + 6.707222 + ], + [ + 143.063599, + 6.719443 + ], + [ + 143.054688, + 6.714722 + ], + [ + 143.063599, + 6.707222 + ] + ] + ], + [ + [ + [ + 149.320251, + 6.698332 + ], + [ + 149.324982, + 6.721944 + ], + [ + 149.313293, + 6.702499 + ], + [ + 149.320251, + 6.698332 + ] + ] + ], + [ + [ + [ + 157.9422, + 6.71861 + ], + [ + 157.952454, + 6.734444 + ], + [ + 157.931915, + 6.721944 + ], + [ + 157.9422, + 6.71861 + ] + ] + ], + [ + [ + [ + 157.973572, + 6.738332 + ], + [ + 157.992737, + 6.751944 + ], + [ + 157.964142, + 6.74111 + ], + [ + 157.973572, + 6.738332 + ] + ] + ], + [ + [ + [ + 158.29776, + 6.78611 + ], + [ + 158.318848, + 6.930277 + ], + [ + 158.120789, + 6.929721 + ], + [ + 158.29776, + 6.78611 + ] + ] + ], + [ + [ + [ + 158.253876, + 6.983333 + ], + [ + 158.259979, + 7.000278 + ], + [ + 158.241638, + 6.992777 + ], + [ + 158.253876, + 6.983333 + ] + ] + ], + [ + [ + [ + 151.860504, + 7.31861 + ], + [ + 151.866638, + 7.35861 + ], + [ + 151.839966, + 7.370276 + ], + [ + 151.860504, + 7.31861 + ] + ] + ], + [ + [ + [ + 149.20163, + 7.363333 + ], + [ + 149.203033, + 7.376388 + ], + [ + 149.194702, + 7.361388 + ], + [ + 149.20163, + 7.363333 + ] + ] + ], + [ + [ + [ + 149.191345, + 7.375554 + ], + [ + 149.188019, + 7.384444 + ], + [ + 149.177765, + 7.382499 + ], + [ + 149.191345, + 7.375554 + ] + ] + ], + [ + [ + [ + 143.920258, + 7.379721 + ], + [ + 143.914154, + 7.391388 + ], + [ + 143.911926, + 7.382499 + ], + [ + 143.920258, + 7.379721 + ] + ] + ], + [ + [ + [ + 151.63916, + 7.326666 + ], + [ + 151.608307, + 7.395277 + ], + [ + 151.5672, + 7.34111 + ], + [ + 151.63916, + 7.326666 + ] + ] + ], + [ + [ + [ + 151.911652, + 7.444999 + ], + [ + 151.866638, + 7.463888 + ], + [ + 151.85495, + 7.423888 + ], + [ + 151.911652, + 7.444999 + ] + ] + ], + [ + [ + [ + 146.193298, + 7.504167 + ], + [ + 146.187195, + 7.515555 + ], + [ + 146.179688, + 7.510833 + ], + [ + 146.193298, + 7.504167 + ] + ] + ], + [ + [ + [ + 149.674988, + 8.575554 + ], + [ + 149.688873, + 8.617496 + ], + [ + 149.659424, + 8.590275 + ], + [ + 149.674988, + 8.575554 + ] + ] + ], + [ + [ + [ + 150.378021, + 8.617496 + ], + [ + 150.366638, + 8.626387 + ], + [ + 150.373291, + 8.612776 + ], + [ + 150.378021, + 8.617496 + ] + ] + ], + [ + [ + [ + 150.130249, + 8.978331 + ], + [ + 150.128021, + 8.992496 + ], + [ + 150.118286, + 8.976387 + ], + [ + 150.130249, + 8.978331 + ] + ] + ], + [ + [ + [ + 138.209137, + 9.523888 + ], + [ + 138.133606, + 9.571943 + ], + [ + 138.060242, + 9.415276 + ], + [ + 138.209137, + 9.523888 + ] + ] + ] + ] + }, + "name" : "Micronesia, Federated States of", + "iso2" : "FM", + "iso3" : "FSM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "gr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -143.482483, + -27.914448 + ], + [ + -143.483917, + -27.900276 + ], + [ + -143.508911, + -27.890839 + ], + [ + -143.482483, + -27.914448 + ] + ] + ], + [ + [ + [ + -144.307526, + -27.642776 + ], + [ + -144.285553, + -27.577499 + ], + [ + -144.324738, + -27.553333 + ], + [ + -144.307526, + -27.642776 + ] + ] + ], + [ + [ + [ + -147.689758, + -23.881668 + ], + [ + -147.648621, + -23.853336 + ], + [ + -147.720306, + -23.865276 + ], + [ + -147.689758, + -23.881668 + ] + ] + ], + [ + [ + [ + -149.483337, + -23.401943 + ], + [ + -149.457214, + -23.361671 + ], + [ + -149.52533, + -23.373894 + ], + [ + -149.483337, + -23.401943 + ] + ] + ], + [ + [ + [ + -135.051941, + -23.163887 + ], + [ + -135.031708, + -23.143333 + ], + [ + -135.06308, + -23.156113 + ], + [ + -135.051941, + -23.163887 + ] + ] + ], + [ + [ + [ + -134.985535, + -23.139442 + ], + [ + -134.941406, + -23.085838 + ], + [ + -135.015564, + -23.12167 + ], + [ + -134.985535, + -23.139442 + ] + ] + ], + [ + [ + [ + -152.860016, + -22.656387 + ], + [ + -152.826416, + -22.634171 + ], + [ + -152.845551, + -22.605003 + ], + [ + -152.860016, + -22.656387 + ] + ] + ], + [ + [ + [ + -151.36557, + -22.518616 + ], + [ + -151.350281, + -22.464725 + ], + [ + -151.387817, + -22.425835 + ], + [ + -151.36557, + -22.518616 + ] + ] + ], + [ + [ + [ + -138.714722, + -22.271667 + ], + [ + -138.743591, + -22.204449 + ], + [ + -138.796661, + -22.22028 + ], + [ + -138.714722, + -22.271667 + ] + ] + ], + [ + [ + [ + -140.609467, + -21.71917 + ], + [ + -140.666687, + -21.655834 + ], + [ + -140.66864, + -21.708332 + ], + [ + -140.609467, + -21.71917 + ] + ] + ], + [ + [ + [ + -144.956146, + -19.923332 + ], + [ + -144.958344, + -19.895283 + ], + [ + -144.965027, + -19.929169 + ], + [ + -144.956146, + -19.923332 + ] + ] + ], + [ + [ + [ + -150.648071, + -17.662498 + ], + [ + -150.645294, + -17.642498 + ], + [ + -150.669464, + -17.645283 + ], + [ + -150.648071, + -17.662498 + ] + ] + ], + [ + [ + [ + -149.211426, + -17.733891 + ], + [ + -149.632507, + -17.549999 + ], + [ + -149.179199, + -17.870834 + ], + [ + -149.211426, + -17.733891 + ] + ] + ], + [ + [ + [ + -149.848602, + -17.573612 + ], + [ + -149.786133, + -17.46917 + ], + [ + -149.937256, + -17.484165 + ], + [ + -149.848602, + -17.573612 + ] + ] + ], + [ + [ + [ + -149.532257, + -16.974445 + ], + [ + -149.544189, + -16.964443 + ], + [ + -149.54306, + -16.974998 + ], + [ + -149.532257, + -16.974445 + ] + ] + ], + [ + [ + [ + -149.572266, + -16.969723 + ], + [ + -149.586121, + -16.956108 + ], + [ + -149.59198, + -16.980003 + ], + [ + -149.572266, + -16.969723 + ] + ] + ], + [ + [ + [ + -150.998322, + -16.824169 + ], + [ + -150.994476, + -16.762505 + ], + [ + -151.040039, + -16.786118 + ], + [ + -150.998322, + -16.824169 + ] + ] + ], + [ + [ + [ + -151.40033, + -16.888332 + ], + [ + -151.475037, + -16.740276 + ], + [ + -151.476654, + -16.895283 + ], + [ + -151.40033, + -16.888332 + ] + ] + ], + [ + [ + [ + -151.03833, + -16.769726 + ], + [ + -151.007233, + -16.74472 + ], + [ + -151.037537, + -16.693054 + ], + [ + -151.03833, + -16.769726 + ] + ] + ], + [ + [ + [ + -151.458344, + -16.673332 + ], + [ + -151.441101, + -16.599171 + ], + [ + -151.532257, + -16.589443 + ], + [ + -151.458344, + -16.673332 + ] + ] + ], + [ + [ + [ + -151.748627, + -16.534451 + ], + [ + -151.742249, + -16.490833 + ], + [ + -151.775879, + -16.473331 + ], + [ + -151.748627, + -16.534451 + ] + ] + ], + [ + [ + [ + -146.335846, + -16.164722 + ], + [ + -146.334991, + -16.113056 + ], + [ + -146.38446, + -16.110279 + ], + [ + -146.335846, + -16.164722 + ] + ] + ], + [ + [ + [ + -148.23526, + -15.848612 + ], + [ + -148.28363, + -15.800835 + ], + [ + -148.26532, + -15.846947 + ], + [ + -148.23526, + -15.848612 + ] + ] + ], + [ + [ + [ + -144.621948, + -15.74861 + ], + [ + -144.633667, + -15.708055 + ], + [ + -144.646393, + -15.73889 + ], + [ + -144.621948, + -15.74861 + ] + ] + ], + [ + [ + [ + -138.656708, + -10.549725 + ], + [ + -138.618347, + -10.465555 + ], + [ + -138.695587, + -10.431112 + ], + [ + -138.656708, + -10.549725 + ] + ] + ], + [ + [ + [ + -139.107483, + -9.978058 + ], + [ + -139.047791, + -9.914167 + ], + [ + -139.125824, + -9.906113 + ], + [ + -139.107483, + -9.978058 + ] + ] + ], + [ + [ + [ + -138.955261, + -9.743055 + ], + [ + -139.172546, + -9.780281 + ], + [ + -138.809479, + -9.744999 + ], + [ + -138.955261, + -9.743055 + ] + ] + ], + [ + [ + [ + -140.07724, + -9.450556 + ], + [ + -140.086121, + -9.324724 + ], + [ + -140.147827, + -9.380556 + ], + [ + -140.07724, + -9.450556 + ] + ] + ], + [ + [ + [ + -139.58252, + -8.87361 + ], + [ + -139.611969, + -8.95639 + ], + [ + -139.504181, + -8.917225 + ], + [ + -139.58252, + -8.87361 + ] + ] + ], + [ + [ + [ + -140.026428, + -8.901112 + ], + [ + -140.249756, + -8.802778 + ], + [ + -140.189453, + -8.954166 + ], + [ + -140.026428, + -8.901112 + ] + ] + ], + [ + [ + [ + -140.704712, + -8.044168 + ], + [ + -140.637817, + -7.959446 + ], + [ + -140.709747, + -7.965556 + ], + [ + -140.704712, + -8.044168 + ] + ] + ], + [ + [ + [ + -140.584991, + -7.92389 + ], + [ + -140.56308, + -7.888333 + ], + [ + -140.60614, + -7.913611 + ], + [ + -140.584991, + -7.92389 + ] + ] + ] + ] + }, + "name" : "French Polynesia", + "iso2" : "PF", + "iso3" : "PYF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "g71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 9.485832, + 42.615273 + ], + [ + 9.457777, + 42.643326 + ], + [ + 9.49472, + 42.603607 + ], + [ + 9.485832, + 42.615273 + ] + ] + ], + [ + [ + [ + 9.446665, + 42.678886 + ], + [ + 9.353054, + 43.003883 + ], + [ + 9.293888, + 42.675552 + ], + [ + 8.575832, + 42.383606 + ], + [ + 8.789165, + 41.558052 + ], + [ + 9.180832, + 41.364716 + ], + [ + 9.553333, + 42.115555 + ], + [ + 9.446665, + 42.678886 + ] + ] + ], + [ + [ + [ + -1.194445, + 45.822495 + ], + [ + -1.233056, + 45.964722 + ], + [ + -1.401667, + 46.050552 + ], + [ + -1.194445, + 45.822495 + ] + ] + ], + [ + [ + [ + -1.260834, + 46.156387 + ], + [ + -1.474445, + 46.255829 + ], + [ + -1.553056, + 46.244995 + ], + [ + -1.260834, + 46.156387 + ] + ] + ], + [ + [ + [ + -2.270833, + 46.693329 + ], + [ + -2.385, + 46.725555 + ], + [ + -2.363889, + 46.698051 + ], + [ + -2.270833, + 46.693329 + ] + ] + ], + [ + [ + [ + -2.196945, + 47.01722 + ], + [ + -2.284722, + 47.020554 + ], + [ + -2.145, + 46.90583 + ], + [ + -2.196945, + 47.01722 + ] + ] + ], + [ + [ + [ + -3.066667, + 47.306664 + ], + [ + -3.258611, + 47.376106 + ], + [ + -3.215834, + 47.302498 + ], + [ + -3.066667, + 47.306664 + ] + ] + ], + [ + [ + [ + -5.055, + 48.454163 + ], + [ + -5.064723, + 48.483055 + ], + [ + -5.134723, + 48.458328 + ], + [ + -5.055, + 48.454163 + ] + ] + ], + [ + [ + [ + -3.576667, + 48.803886 + ], + [ + -3.563334, + 48.808609 + ], + [ + -3.575556, + 48.812492 + ], + [ + -3.576667, + 48.803886 + ] + ] + ], + [ + [ + [ + 2.541667, + 51.09111 + ], + [ + 1.625, + 50.877777 + ], + [ + 1.461111, + 50.124161 + ], + [ + 0.074167, + 49.526665 + ], + [ + 0.424722, + 49.45166 + ], + [ + -1.113889, + 49.365273 + ], + [ + -1.264167, + 49.684166 + ], + [ + -1.941667, + 49.723885 + ], + [ + -1.368889, + 48.643608 + ], + [ + -2.685278, + 48.501663 + ], + [ + -3.220834, + 48.870552 + ], + [ + -4.777779, + 48.509438 + ], + [ + -4.186111, + 48.299995 + ], + [ + -4.726142, + 48.040581 + ], + [ + -4.366389, + 47.804161 + ], + [ + -3.106389, + 47.472221 + ], + [ + -2.698056, + 47.637215 + ], + [ + -2.361111, + 47.504166 + ], + [ + -2.540278, + 47.296661 + ], + [ + -2.289167, + 47.238884 + ], + [ + -2.003334, + 47.31916 + ], + [ + -1.728611, + 47.210831 + ], + [ + -2.134167, + 47.278053 + ], + [ + -2.170834, + 47.126663 + ], + [ + -1.984167, + 47.034439 + ], + [ + -2.130834, + 46.838333 + ], + [ + -1.114635, + 46.316582 + ], + [ + -1.067778, + 45.908882 + ], + [ + -1.240834, + 45.70166 + ], + [ + -0.776667, + 45.461105 + ], + [ + -0.536667, + 44.895554 + ], + [ + -1.083889, + 45.564438 + ], + [ + -1.250278, + 44.662498 + ], + [ + -1.036111, + 44.675278 + ], + [ + -1.780877, + 43.359924 + ], + [ + -0.562222, + 42.781387 + ], + [ + 1.445833, + 42.601944 + ], + [ + 1.78172, + 42.569962 + ], + [ + 1.723611, + 42.509438 + ], + [ + 3.177655, + 42.436806 + ], + [ + 3.081388, + 43.069443 + ], + [ + 3.964722, + 43.540833 + ], + [ + 5.031388, + 43.556664 + ], + [ + 6.165277, + 43.050552 + ], + [ + 7.391609, + 43.727547 + ], + [ + 7.387777, + 43.748604 + ], + [ + 7.416111, + 43.770554 + ], + [ + 7.439293, + 43.757523 + ], + [ + 7.528055, + 43.788605 + ], + [ + 7.662222, + 44.17083 + ], + [ + 6.976388, + 44.284164 + ], + [ + 7.031666, + 44.831383 + ], + [ + 6.61976, + 45.110138 + ], + [ + 7.127777, + 45.257774 + ], + [ + 6.79897, + 45.78067 + ], + [ + 7.038054, + 45.931938 + ], + [ + 6.791389, + 46.434166 + ], + [ + 5.966666, + 46.209442 + ], + [ + 6.990555, + 47.497215 + ], + [ + 7.588268, + 47.58448 + ], + [ + 7.578888, + 48.11972 + ], + [ + 8.226078, + 48.964417 + ], + [ + 6.36217, + 49.459389 + ], + [ + 5.80788, + 49.545044 + ], + [ + 4.873055, + 49.797218 + ], + [ + 4.832503, + 50.16861 + ], + [ + 4.149238, + 49.978371 + ], + [ + 4.165, + 50.283051 + ], + [ + 2.541667, + 51.09111 + ] + ] + ] + ] + }, + "name" : "France", + "iso2" : "FR", + "iso3" : "FRA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "hL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -16.56567, + 13.589998 + ], + [ + -16.394726, + 13.330555 + ], + [ + -16.14389, + 13.454166 + ], + [ + -15.295834, + 13.491665 + ], + [ + -16.162224, + 13.425278 + ], + [ + -16.200836, + 13.251665 + ], + [ + -16.73167, + 13.44972 + ], + [ + -16.750874, + 13.059977 + ], + [ + -15.809723, + 13.159721 + ], + [ + -15.803612, + 13.347776 + ], + [ + -15.285002, + 13.374443 + ], + [ + -15.111668, + 13.595833 + ], + [ + -14.351112, + 13.237778 + ], + [ + -13.798613, + 13.406387 + ], + [ + -15.070278, + 13.826387 + ], + [ + -16.56567, + 13.589998 + ] + ] + ] + }, + "name" : "Gambia", + "iso2" : "GM", + "iso3" : "GMB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "hb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 9.007776, + -0.767778 + ], + [ + 9.006666, + -0.598888 + ], + [ + 8.946665, + -0.658333 + ], + [ + 9.007776, + -0.767778 + ] + ] + ], + [ + [ + [ + 12.523611, + 2.283335 + ], + [ + 11.339766, + 2.168612 + ], + [ + 11.353888, + 1.001944 + ], + [ + 9.803976, + 1.002607 + ], + [ + 9.564722, + 0.983057 + ], + [ + 9.6, + 0.481112 + ], + [ + 9.30361, + 0.528334 + ], + [ + 9.92111, + 0.185278 + ], + [ + 9.347502, + 0.363058 + ], + [ + 9.298334, + -0.371666 + ], + [ + 9.013887, + -0.819166 + ], + [ + 8.710001, + -0.641111 + ], + [ + 9.513887, + -1.596666 + ], + [ + 8.983057, + -1.234167 + ], + [ + 9.615278, + -2.376667 + ], + [ + 10.130556, + -2.52 + ], + [ + 9.700834, + -2.445555 + ], + [ + 11.140661, + -3.925276 + ], + [ + 11.496946, + -3.506945 + ], + [ + 11.925833, + -3.636944 + ], + [ + 11.574167, + -2.333332 + ], + [ + 12.478056, + -2.327221 + ], + [ + 12.65, + -1.8225 + ], + [ + 13.001509, + -2.367672 + ], + [ + 13.482779, + -2.4375 + ], + [ + 13.76222, + -2.088888 + ], + [ + 14.110834, + -2.493055 + ], + [ + 14.429724, + -1.891666 + ], + [ + 14.51861, + -0.609167 + ], + [ + 13.848333, + -0.19861 + ], + [ + 14.487223, + 0.91361 + ], + [ + 14.18889, + 1.39139 + ], + [ + 13.186785, + 1.222475 + ], + [ + 13.29389, + 2.16361 + ], + [ + 12.523611, + 2.283335 + ] + ], + [ + [ + 9.554445, + 0.274446 + ], + [ + 9.538057, + 0.270834 + ], + [ + 9.544443, + 0.285002 + ], + [ + 9.554445, + 0.274446 + ] + ] + ] + ] + }, + "name" : "Gabon", + "iso2" : "GA", + "iso3" : "GAB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "hr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 43.46077, + 41.112961 + ], + [ + 45.022942, + 41.29705 + ], + [ + 45.336655, + 41.462494 + ], + [ + 46.520821, + 41.049988 + ], + [ + 46.693871, + 41.312202 + ], + [ + 46.194427, + 41.685822 + ], + [ + 46.451752, + 41.897057 + ], + [ + 44.934708, + 42.760277 + ], + [ + 43.911934, + 42.583321 + ], + [ + 42.849991, + 43.179153 + ], + [ + 40.253387, + 43.58252 + ], + [ + 40.002968, + 43.379265 + ], + [ + 41.428596, + 42.738045 + ], + [ + 41.547623, + 42.405777 + ], + [ + 41.776093, + 41.841927 + ], + [ + 41.531559, + 41.523876 + ], + [ + 42.827492, + 41.584991 + ], + [ + 43.46077, + 41.112961 + ] + ] + ] + }, + "name" : "Georgia", + "iso2" : "GE", + "iso3" : "GEO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "h71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -3.103041, + 5.085022 + ], + [ + -2.058889, + 4.730833 + ], + [ + -1.613333, + 5.020833 + ], + [ + -0.795556, + 5.208055 + ], + [ + 0.255833, + 5.757777 + ], + [ + 0.662222, + 5.754167 + ], + [ + 0.63953, + 5.845486 + ], + [ + 0.488889, + 6.043611 + ], + [ + 0.208197, + 6.089699 + ], + [ + 0.51209, + 6.055245 + ], + [ + 0.634444, + 5.948055 + ], + [ + 0.692222, + 5.748055 + ], + [ + 1.198891, + 6.100546 + ], + [ + 0.525, + 6.947778 + ], + [ + 0.727222, + 8.321388 + ], + [ + 0.382735, + 8.760756 + ], + [ + 0.550833, + 9.411388 + ], + [ + 0.2175, + 9.457222 + ], + [ + 0.368333, + 10.259443 + ], + [ + -0.149762, + 11.13854 + ], + [ + -0.618333, + 10.911665 + ], + [ + -2.834048, + 11.002007 + ], + [ + -2.685561, + 9.481817 + ], + [ + -2.487778, + 8.197777 + ], + [ + -3.249167, + 6.611388 + ], + [ + -2.764445, + 5.579166 + ], + [ + -2.928128, + 5.100222 + ], + [ + -3.102272, + 5.109545 + ], + [ + -3.103041, + 5.085022 + ] + ] + ] + }, + "name" : "Ghana", + "iso2" : "GH", + "iso3" : "GHA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "iL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -61.746948, + 11.997499 + ], + [ + -61.628616, + 12.048054 + ], + [ + -61.611946, + 12.23111 + ], + [ + -61.746948, + 11.997499 + ] + ] + ], + [ + [ + [ + -61.580002, + 12.295555 + ], + [ + -61.578896, + 12.323055 + ], + [ + -61.589172, + 12.298054 + ], + [ + -61.580002, + 12.295555 + ] + ] + ], + [ + [ + [ + -61.428337, + 12.453609 + ], + [ + -61.434448, + 12.529165 + ], + [ + -61.496948, + 12.443609 + ], + [ + -61.428337, + 12.453609 + ] + ] + ] + ] + }, + "name" : "Grenada", + "iso2" : "GD", + "iso3" : "GRD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ib1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -43.648056, + 59.84749 + ], + [ + -43.958054, + 59.979715 + ], + [ + -44.115555, + 59.829165 + ], + [ + -43.648056, + 59.84749 + ] + ] + ], + [ + [ + [ + -43.295006, + 59.920832 + ], + [ + -43.20417, + 59.968325 + ], + [ + -43.327782, + 59.997217 + ], + [ + -43.295006, + 59.920832 + ] + ] + ], + [ + [ + [ + -44.313889, + 59.871935 + ], + [ + -43.992226, + 60.008333 + ], + [ + -44.244164, + 60.011667 + ], + [ + -44.313889, + 59.871935 + ] + ] + ], + [ + [ + [ + -43.399994, + 59.926104 + ], + [ + -43.453331, + 60.03805 + ], + [ + -43.509171, + 59.912493 + ], + [ + -43.399994, + 59.926104 + ] + ] + ], + [ + [ + [ + -43.354172, + 60.084436 + ], + [ + -44.132774, + 60.140833 + ], + [ + -43.131111, + 60.055269 + ], + [ + -43.354172, + 60.084436 + ] + ] + ], + [ + [ + [ + -44.409439, + 59.947771 + ], + [ + -44.201668, + 60.046106 + ], + [ + -44.434441, + 60.141382 + ], + [ + -44.497498, + 60.008608 + ], + [ + -44.409439, + 59.947771 + ] + ] + ], + [ + [ + [ + -45.232498, + 60.143328 + ], + [ + -45.266113, + 60.187494 + ], + [ + -45.299995, + 60.14583 + ], + [ + -45.232498, + 60.143328 + ] + ] + ], + [ + [ + [ + -45.365004, + 60.185266 + ], + [ + -45.152222, + 60.376383 + ], + [ + -45.353889, + 60.382494 + ], + [ + -45.365004, + 60.185266 + ] + ] + ], + [ + [ + [ + -45.95472, + 60.615549 + ], + [ + -45.783333, + 60.660822 + ], + [ + -45.961388, + 60.683878 + ], + [ + -45.982773, + 60.67277 + ], + [ + -45.996948, + 60.626657 + ], + [ + -45.95472, + 60.615549 + ] + ] + ], + [ + [ + [ + -45.888611, + 60.695826 + ], + [ + -46.00695, + 60.706385 + ], + [ + -46.20472, + 60.67277 + ], + [ + -46.091942, + 60.635553 + ], + [ + -45.985203, + 60.692228 + ], + [ + -45.888611, + 60.695826 + ] + ] + ], + [ + [ + [ + -46.345551, + 60.668055 + ], + [ + -46.277222, + 60.772219 + ], + [ + -46.499443, + 60.69916 + ], + [ + -46.345551, + 60.668055 + ] + ] + ], + [ + [ + [ + -47.754173, + 60.804712 + ], + [ + -48.238892, + 60.795549 + ], + [ + -47.902779, + 60.676386 + ], + [ + -47.754173, + 60.804712 + ] + ] + ], + [ + [ + [ + -46.980278, + 60.772768 + ], + [ + -47.011116, + 60.808046 + ], + [ + -47.049446, + 60.805269 + ], + [ + -46.980278, + 60.772768 + ] + ] + ], + [ + [ + [ + -47.161385, + 60.798052 + ], + [ + -47.152779, + 60.816668 + ], + [ + -47.226944, + 60.818056 + ], + [ + -47.161385, + 60.798052 + ] + ] + ], + [ + [ + [ + -47.231384, + 60.841936 + ], + [ + -47.178337, + 60.871935 + ], + [ + -47.258614, + 60.855829 + ], + [ + -47.231384, + 60.841936 + ] + ] + ], + [ + [ + [ + -47.101944, + 60.822771 + ], + [ + -47.083611, + 60.874712 + ], + [ + -47.192497, + 60.835825 + ], + [ + -47.101944, + 60.822771 + ] + ] + ], + [ + [ + [ + -46.753616, + 60.750277 + ], + [ + -46.164444, + 60.922495 + ], + [ + -46.845001, + 60.760553 + ], + [ + -46.753616, + 60.750277 + ] + ] + ], + [ + [ + [ + -47.029442, + 60.897219 + ], + [ + -46.958054, + 60.925554 + ], + [ + -47.050278, + 60.895273 + ], + [ + -47.029442, + 60.897219 + ] + ] + ], + [ + [ + [ + -47.140839, + 60.87916 + ], + [ + -47.073334, + 60.926661 + ], + [ + -47.171669, + 60.883608 + ], + [ + -47.140839, + 60.87916 + ] + ] + ], + [ + [ + [ + -46.466393, + 60.92222 + ], + [ + -46.429443, + 60.975824 + ], + [ + -46.518608, + 60.993608 + ], + [ + -46.526665, + 60.988886 + ], + [ + -46.514168, + 60.930552 + ], + [ + -46.466393, + 60.92222 + ] + ] + ], + [ + [ + [ + -48.073616, + 61.053881 + ], + [ + -48.243332, + 61.098604 + ], + [ + -48.370552, + 61.078608 + ], + [ + -48.073616, + 61.053881 + ] + ] + ], + [ + [ + [ + -48.934441, + 61.249163 + ], + [ + -48.724167, + 61.291384 + ], + [ + -48.874168, + 61.301386 + ], + [ + -48.934441, + 61.249163 + ] + ] + ], + [ + [ + [ + -48.583328, + 61.312769 + ], + [ + -48.523331, + 61.361109 + ], + [ + -48.833061, + 61.334993 + ], + [ + -48.583328, + 61.312769 + ] + ] + ], + [ + [ + [ + -42.453056, + 61.441378 + ], + [ + -42.389725, + 61.488886 + ], + [ + -42.496666, + 61.454996 + ], + [ + -42.453056, + 61.441378 + ] + ] + ], + [ + [ + [ + -49.089722, + 61.633333 + ], + [ + -49.149445, + 61.700548 + ], + [ + -49.194443, + 61.66221 + ], + [ + -49.089722, + 61.633333 + ] + ] + ], + [ + [ + [ + -49.392227, + 61.706942 + ], + [ + -49.349998, + 61.743052 + ], + [ + -49.485275, + 61.75139 + ], + [ + -49.392227, + 61.706942 + ] + ] + ], + [ + [ + [ + -42.269165, + 61.750277 + ], + [ + -42.121109, + 61.772768 + ], + [ + -42.084442, + 61.874994 + ], + [ + -42.269165, + 61.750277 + ] + ] + ], + [ + [ + [ + -49.440552, + 61.874712 + ], + [ + -49.419449, + 61.930552 + ], + [ + -49.634171, + 61.930826 + ], + [ + -49.440552, + 61.874712 + ] + ] + ], + [ + [ + [ + -49.66333, + 62.180277 + ], + [ + -49.650276, + 62.237772 + ], + [ + -49.79834, + 62.213884 + ], + [ + -49.66333, + 62.180277 + ] + ] + ], + [ + [ + [ + -42.277222, + 62.577219 + ], + [ + -42.125557, + 62.496386 + ], + [ + -42.131111, + 62.564714 + ], + [ + -42.277222, + 62.577219 + ] + ] + ], + [ + [ + [ + -41.996109, + 62.774996 + ], + [ + -42.447777, + 62.75139 + ], + [ + -41.861946, + 62.73472 + ], + [ + -41.996109, + 62.774996 + ] + ] + ], + [ + [ + [ + -41.561386, + 62.873606 + ], + [ + -41.458336, + 63.01639 + ], + [ + -41.588608, + 63.002497 + ], + [ + -41.561386, + 62.873606 + ] + ] + ], + [ + [ + [ + -50.636665, + 63.073885 + ], + [ + -50.755005, + 63.061937 + ], + [ + -50.67028, + 63.02527 + ], + [ + -50.636665, + 63.073885 + ] + ] + ], + [ + [ + [ + -41.333885, + 63.050272 + ], + [ + -41.373329, + 63.109995 + ], + [ + -41.52639, + 63.081385 + ], + [ + -41.333885, + 63.050272 + ] + ] + ], + [ + [ + [ + -41.209442, + 63.15777 + ], + [ + -41.466393, + 63.171381 + ], + [ + -41.184441, + 63.122766 + ], + [ + -41.209442, + 63.15777 + ] + ] + ], + [ + [ + [ + -50.799728, + 63.081667 + ], + [ + -50.682777, + 63.116663 + ], + [ + -50.788055, + 63.186655 + ], + [ + -50.799728, + 63.081667 + ] + ] + ], + [ + [ + [ + -50.618057, + 63.114717 + ], + [ + -50.468605, + 63.153322 + ], + [ + -50.612221, + 63.201662 + ], + [ + -50.618057, + 63.114717 + ] + ] + ], + [ + [ + [ + -41.095833, + 63.221102 + ], + [ + -41.871941, + 63.466661 + ], + [ + -41.430832, + 63.231379 + ], + [ + -41.095833, + 63.221102 + ] + ] + ], + [ + [ + [ + -51.273613, + 63.476938 + ], + [ + -51.20472, + 63.499163 + ], + [ + -51.358055, + 63.483332 + ], + [ + -51.273613, + 63.476938 + ] + ] + ], + [ + [ + [ + -52.000839, + 64.127764 + ], + [ + -51.90583, + 64.188875 + ], + [ + -52.063614, + 64.163881 + ], + [ + -52.000839, + 64.127764 + ] + ] + ], + [ + [ + [ + -40.674171, + 64.291368 + ], + [ + -41.05278, + 64.232759 + ], + [ + -40.679443, + 64.208605 + ], + [ + -40.674171, + 64.291368 + ] + ] + ], + [ + [ + [ + -41.125557, + 64.288317 + ], + [ + -41.296951, + 64.317217 + ], + [ + -41.374168, + 64.28499 + ], + [ + -41.125557, + 64.288317 + ] + ] + ], + [ + [ + [ + -51.567223, + 64.256105 + ], + [ + -51.321388, + 64.326387 + ], + [ + -51.43972, + 64.36249 + ], + [ + -51.567223, + 64.256105 + ] + ] + ], + [ + [ + [ + -51.239723, + 64.214708 + ], + [ + -50.819168, + 64.541658 + ], + [ + -51.025002, + 64.549425 + ], + [ + -51.341942, + 64.253328 + ], + [ + -51.239723, + 64.214708 + ] + ] + ], + [ + [ + [ + -51.323616, + 64.373598 + ], + [ + -51.091942, + 64.566668 + ], + [ + -51.421387, + 64.413317 + ], + [ + -51.323616, + 64.373598 + ] + ] + ], + [ + [ + [ + -52.083061, + 64.591372 + ], + [ + -52.119995, + 64.629152 + ], + [ + -52.14917, + 64.627199 + ], + [ + -52.141945, + 64.597765 + ], + [ + -52.083061, + 64.591372 + ] + ] + ], + [ + [ + [ + -40.18, + 64.431093 + ], + [ + -40.542778, + 64.844149 + ], + [ + -40.864723, + 64.908602 + ], + [ + -40.18, + 64.431093 + ] + ] + ], + [ + [ + [ + -40.495834, + 65.015276 + ], + [ + -40.556389, + 65.073885 + ], + [ + -40.625275, + 65.038591 + ], + [ + -40.495834, + 65.015276 + ] + ] + ], + [ + [ + [ + -52.396666, + 65.109423 + ], + [ + -52.245003, + 65.181658 + ], + [ + -52.361389, + 65.186922 + ], + [ + -52.396666, + 65.109423 + ] + ] + ], + [ + [ + [ + -39.494446, + 65.319994 + ], + [ + -39.804443, + 65.333879 + ], + [ + -39.564444, + 65.265825 + ], + [ + -39.494446, + 65.319994 + ] + ] + ], + [ + [ + [ + -39.277779, + 65.461382 + ], + [ + -39.238892, + 65.508608 + ], + [ + -39.386948, + 65.50194 + ], + [ + -39.277779, + 65.461382 + ] + ] + ], + [ + [ + [ + -52.928337, + 65.425264 + ], + [ + -52.871941, + 65.513613 + ], + [ + -53.087776, + 65.492479 + ], + [ + -52.928337, + 65.425264 + ] + ] + ], + [ + [ + [ + -38.849167, + 65.518602 + ], + [ + -38.761116, + 65.541658 + ], + [ + -38.958611, + 65.517763 + ], + [ + -38.849167, + 65.518602 + ] + ] + ], + [ + [ + [ + -37.037506, + 65.532763 + ], + [ + -37.213333, + 65.578051 + ], + [ + -37.191536, + 65.532625 + ], + [ + -37.037506, + 65.532763 + ] + ] + ], + [ + [ + [ + -52.995003, + 65.548876 + ], + [ + -52.848053, + 65.644152 + ], + [ + -53.232498, + 65.59833 + ], + [ + -52.995003, + 65.548876 + ] + ] + ], + [ + [ + [ + -36.995552, + 65.584429 + ], + [ + -36.992226, + 65.701097 + ], + [ + -37.212502, + 65.68442 + ], + [ + -36.995552, + 65.584429 + ] + ] + ], + [ + [ + [ + -37.394165, + 65.813601 + ], + [ + -37.989166, + 65.69832 + ], + [ + -37.485001, + 65.60721 + ], + [ + -37.394165, + 65.813601 + ] + ] + ], + [ + [ + [ + -36.79834, + 65.750551 + ], + [ + -36.776947, + 65.863878 + ], + [ + -36.942772, + 65.819719 + ], + [ + -36.79834, + 65.750551 + ] + ] + ], + [ + [ + [ + -36.319725, + 65.821932 + ], + [ + -36.18306, + 65.878038 + ], + [ + -36.371109, + 65.877474 + ], + [ + -36.319725, + 65.821932 + ] + ] + ], + [ + [ + [ + -36.619995, + 65.795259 + ], + [ + -36.507225, + 65.956942 + ], + [ + -36.748337, + 65.909716 + ], + [ + -36.736664, + 65.801653 + ], + [ + -36.619995, + 65.795259 + ] + ] + ], + [ + [ + [ + -53.525276, + 66.042482 + ], + [ + -53.423058, + 66.084429 + ], + [ + -53.679726, + 66.081942 + ], + [ + -53.525276, + 66.042482 + ] + ] + ], + [ + [ + [ + -35.499725, + 66.17415 + ], + [ + -35.385002, + 66.240816 + ], + [ + -35.537506, + 66.225542 + ], + [ + -35.499725, + 66.17415 + ] + ] + ], + [ + [ + [ + -33.861946, + 66.793871 + ], + [ + -33.884445, + 66.872484 + ], + [ + -33.970551, + 66.839708 + ], + [ + -33.861946, + 66.793871 + ] + ] + ], + [ + [ + [ + -53.070839, + 66.866091 + ], + [ + -53.464165, + 66.798876 + ], + [ + -52.868233, + 66.897219 + ], + [ + -53.070839, + 66.866091 + ] + ] + ], + [ + [ + [ + -33.431114, + 67.142214 + ], + [ + -33.342224, + 67.204714 + ], + [ + -33.476105, + 67.180544 + ], + [ + -33.431114, + 67.142214 + ] + ] + ], + [ + [ + [ + -33.252228, + 67.295259 + ], + [ + -33.25695, + 67.376085 + ], + [ + -33.327782, + 67.336107 + ], + [ + -33.252228, + 67.295259 + ] + ] + ], + [ + [ + [ + -53.65889, + 67.675814 + ], + [ + -53.587776, + 67.733599 + ], + [ + -53.763062, + 67.776934 + ], + [ + -53.65889, + 67.675814 + ] + ] + ], + [ + [ + [ + -53.347221, + 68.009996 + ], + [ + -53.225273, + 68.058596 + ], + [ + -53.473053, + 68.069155 + ], + [ + -53.347221, + 68.009996 + ] + ] + ], + [ + [ + [ + -51.293335, + 68.100817 + ], + [ + -51.205275, + 68.121645 + ], + [ + -52.007507, + 68.076662 + ], + [ + -51.293335, + 68.100817 + ] + ] + ], + [ + [ + [ + -29.838055, + 68.140825 + ], + [ + -29.694721, + 68.208605 + ], + [ + -30.011669, + 68.207491 + ], + [ + -29.838055, + 68.140825 + ] + ] + ], + [ + [ + [ + -52.070839, + 68.115267 + ], + [ + -51.45417, + 68.257769 + ], + [ + -52.315834, + 68.168871 + ], + [ + -52.070839, + 68.115267 + ] + ] + ], + [ + [ + [ + -52.988892, + 68.357759 + ], + [ + -52.854172, + 68.433321 + ], + [ + -53.019722, + 68.494432 + ], + [ + -53.211945, + 68.401384 + ], + [ + -52.988892, + 68.357759 + ] + ] + ], + [ + [ + [ + -52.64167, + 68.529985 + ], + [ + -52.439438, + 68.560808 + ], + [ + -52.694717, + 68.546099 + ], + [ + -52.64167, + 68.529985 + ] + ] + ], + [ + [ + [ + -52.749725, + 68.484713 + ], + [ + -52.809441, + 68.568605 + ], + [ + -52.884171, + 68.548876 + ], + [ + -52.749725, + 68.484713 + ] + ] + ], + [ + [ + [ + -51.94194, + 68.594439 + ], + [ + -51.803329, + 68.627199 + ], + [ + -52.421387, + 68.571383 + ], + [ + -51.94194, + 68.594439 + ] + ] + ], + [ + [ + [ + -51.035278, + 68.639437 + ], + [ + -51.12944, + 68.682756 + ], + [ + -51.232773, + 68.666658 + ], + [ + -51.035278, + 68.639437 + ] + ] + ], + [ + [ + [ + -52.134726, + 68.701097 + ], + [ + -52.634171, + 68.710268 + ], + [ + -53.120552, + 68.56415 + ], + [ + -52.134726, + 68.701097 + ] + ] + ], + [ + [ + [ + -23.286667, + 69.6411 + ], + [ + -23.289444, + 69.738314 + ], + [ + -23.593056, + 69.713045 + ], + [ + -23.286667, + 69.6411 + ] + ] + ], + [ + [ + [ + -50.50528, + 69.810534 + ], + [ + -50.409721, + 69.861101 + ], + [ + -50.606392, + 69.856371 + ], + [ + -50.50528, + 69.810534 + ] + ] + ], + [ + [ + [ + -50.923332, + 69.892763 + ], + [ + -51.388054, + 69.705263 + ], + [ + -50.958336, + 69.550539 + ], + [ + -50.653885, + 69.836657 + ], + [ + -50.923332, + 69.892763 + ] + ] + ], + [ + [ + [ + -52.693054, + 69.917482 + ], + [ + -54.429169, + 70.30971 + ], + [ + -54.829727, + 70.078325 + ], + [ + -54.229439, + 69.913042 + ], + [ + -54.936111, + 69.845537 + ], + [ + -54.389442, + 69.675264 + ], + [ + -54.994446, + 69.694704 + ], + [ + -53.347496, + 69.579714 + ], + [ + -54.269165, + 69.402208 + ], + [ + -53.574722, + 69.229433 + ], + [ + -51.833328, + 69.626085 + ], + [ + -52.693054, + 69.917482 + ] + ] + ], + [ + [ + [ + -54.661385, + 70.372484 + ], + [ + -55.027779, + 70.483049 + ], + [ + -54.934723, + 70.375536 + ], + [ + -54.661385, + 70.372484 + ] + ] + ], + [ + [ + [ + -51.512779, + 70.653872 + ], + [ + -51.692497, + 70.72777 + ], + [ + -51.861671, + 70.722216 + ], + [ + -51.512779, + 70.653872 + ] + ] + ], + [ + [ + [ + -27.685276, + 70.733873 + ], + [ + -27.276112, + 70.874987 + ], + [ + -27.736942, + 70.882204 + ], + [ + -27.685276, + 70.733873 + ] + ] + ], + [ + [ + [ + -25.394722, + 70.911654 + ], + [ + -27.14959, + 70.874392 + ], + [ + -28.136665, + 70.454714 + ], + [ + -26.029724, + 70.521105 + ], + [ + -25.294445, + 70.659716 + ], + [ + -25.394722, + 70.911654 + ] + ] + ], + [ + [ + [ + -51.565834, + 70.864702 + ], + [ + -52.023056, + 70.979158 + ], + [ + -52.162216, + 70.88666 + ], + [ + -51.565834, + 70.864702 + ] + ] + ], + [ + [ + [ + -25.308891, + 71.014437 + ], + [ + -25.460556, + 71.104158 + ], + [ + -25.579166, + 71.102205 + ], + [ + -25.308891, + 71.014437 + ] + ] + ], + [ + [ + [ + -25.282501, + 71.131929 + ], + [ + -25.359722, + 71.205263 + ], + [ + -25.472775, + 71.150545 + ], + [ + -25.282501, + 71.131929 + ] + ] + ], + [ + [ + [ + -53.64917, + 71.024157 + ], + [ + -53.376389, + 71.114992 + ], + [ + -53.598053, + 71.313311 + ], + [ + -53.99028, + 71.131365 + ], + [ + -53.64917, + 71.024157 + ] + ] + ], + [ + [ + [ + -52.571388, + 71.346102 + ], + [ + -53.184441, + 71.321383 + ], + [ + -52.328339, + 71.287767 + ], + [ + -52.571388, + 71.346102 + ] + ] + ], + [ + [ + [ + -53.133614, + 71.661928 + ], + [ + -53.474442, + 71.652483 + ], + [ + -52.756111, + 71.660265 + ], + [ + -53.133614, + 71.661928 + ] + ] + ], + [ + [ + [ + -55.559166, + 71.819155 + ], + [ + -55.409996, + 71.890276 + ], + [ + -55.805557, + 71.878862 + ], + [ + -55.559166, + 71.819155 + ] + ] + ], + [ + [ + [ + -55.796112, + 72.070543 + ], + [ + -55.725273, + 72.126085 + ], + [ + -55.938606, + 72.079439 + ], + [ + -55.796112, + 72.070543 + ] + ] + ], + [ + [ + [ + -55.374168, + 72.159716 + ], + [ + -55.015282, + 72.377199 + ], + [ + -55.688889, + 72.198595 + ], + [ + -55.374168, + 72.159716 + ] + ] + ], + [ + [ + [ + -55.065002, + 72.52527 + ], + [ + -55.030556, + 72.588884 + ], + [ + -55.383331, + 72.545259 + ], + [ + -55.065002, + 72.52527 + ] + ] + ], + [ + [ + [ + -55.650276, + 72.582491 + ], + [ + -55.943054, + 72.593599 + ], + [ + -55.99472, + 72.557482 + ], + [ + -55.650276, + 72.582491 + ] + ] + ], + [ + [ + [ + -55.131943, + 72.600817 + ], + [ + -54.946663, + 72.672213 + ], + [ + -55.262222, + 72.597765 + ], + [ + -55.131943, + 72.600817 + ] + ] + ], + [ + [ + [ + -54.832504, + 72.695528 + ], + [ + -54.872498, + 72.756945 + ], + [ + -55.0625, + 72.718325 + ], + [ + -54.832504, + 72.695528 + ] + ] + ], + [ + [ + [ + -55.70417, + 72.714998 + ], + [ + -55.639442, + 72.777773 + ], + [ + -56.226105, + 72.706102 + ], + [ + -55.70417, + 72.714998 + ] + ] + ], + [ + [ + [ + -55.285561, + 72.681093 + ], + [ + -54.964722, + 72.811373 + ], + [ + -55.849442, + 72.611376 + ], + [ + -55.285561, + 72.681093 + ] + ] + ], + [ + [ + [ + -55.946663, + 72.82361 + ], + [ + -55.992226, + 72.786654 + ], + [ + -55.801666, + 72.792482 + ], + [ + -55.946663, + 72.82361 + ] + ] + ], + [ + [ + [ + -23.608612, + 72.834993 + ], + [ + -24.484444, + 72.825823 + ], + [ + -22.562778, + 72.138887 + ], + [ + -22.134167, + 72.271654 + ], + [ + -22.756947, + 72.441362 + ], + [ + -21.932499, + 72.399157 + ], + [ + -23.608612, + 72.834993 + ] + ] + ], + [ + [ + [ + -55.586388, + 72.890276 + ], + [ + -55.536667, + 72.822496 + ], + [ + -55.352501, + 72.852205 + ], + [ + -55.586388, + 72.890276 + ] + ] + ], + [ + [ + [ + -24.896666, + 72.777773 + ], + [ + -24.771389, + 72.910814 + ], + [ + -25.210831, + 72.851656 + ], + [ + -24.896666, + 72.777773 + ] + ] + ], + [ + [ + [ + -22.549168, + 73.007219 + ], + [ + -24.58889, + 72.957491 + ], + [ + -21.865833, + 72.713884 + ], + [ + -22.549168, + 73.007219 + ] + ] + ], + [ + [ + [ + -55.753334, + 73.011385 + ], + [ + -55.693886, + 73.032213 + ], + [ + -55.889725, + 73.02582 + ], + [ + -55.753334, + 73.011385 + ] + ] + ], + [ + [ + [ + -55.075562, + 72.965548 + ], + [ + -55.518608, + 73.045824 + ], + [ + -55.689163, + 72.993593 + ], + [ + -55.075562, + 72.965548 + ] + ] + ], + [ + [ + [ + -21.353333, + 73.091372 + ], + [ + -21.173054, + 73.134432 + ], + [ + -21.462776, + 73.118593 + ], + [ + -21.353333, + 73.091372 + ] + ] + ], + [ + [ + [ + -56.201942, + 73.15555 + ], + [ + -56.273331, + 73.218874 + ], + [ + -56.331673, + 73.172213 + ], + [ + -56.201942, + 73.15555 + ] + ] + ], + [ + [ + [ + -56.097778, + 73.086382 + ], + [ + -55.815552, + 73.224703 + ], + [ + -56.01722, + 73.228594 + ], + [ + -56.097778, + 73.086382 + ] + ] + ], + [ + [ + [ + -55.686386, + 73.282763 + ], + [ + -55.654167, + 73.356371 + ], + [ + -55.871666, + 73.327776 + ], + [ + -55.686386, + 73.282763 + ] + ] + ], + [ + [ + [ + -55.953888, + 73.29915 + ], + [ + -55.830833, + 73.373308 + ], + [ + -56.153328, + 73.304155 + ], + [ + -55.953888, + 73.29915 + ] + ] + ], + [ + [ + [ + -55.53167, + 73.318056 + ], + [ + -55.328339, + 73.394991 + ], + [ + -55.593887, + 73.344149 + ], + [ + -55.53167, + 73.318056 + ] + ] + ], + [ + [ + [ + -24.360001, + 73.411928 + ], + [ + -25.243053, + 73.405825 + ], + [ + -25.290836, + 73.327776 + ], + [ + -25.712776, + 73.186373 + ], + [ + -22.93861, + 73.134722 + ], + [ + -25.010281, + 73.30942 + ], + [ + -23.209999, + 73.233599 + ], + [ + -24.360001, + 73.411928 + ] + ] + ], + [ + [ + [ + -55.589722, + 73.38109 + ], + [ + -55.470833, + 73.431932 + ], + [ + -56.115837, + 73.556643 + ], + [ + -55.589722, + 73.38109 + ] + ] + ], + [ + [ + [ + -56.410278, + 73.541933 + ], + [ + -56.188606, + 73.627474 + ], + [ + -56.558609, + 73.556368 + ], + [ + -56.410278, + 73.541933 + ] + ] + ], + [ + [ + [ + -56.344162, + 73.672487 + ], + [ + -56.965553, + 73.658037 + ], + [ + -56.833328, + 73.611376 + ], + [ + -56.344162, + 73.672487 + ] + ] + ], + [ + [ + [ + -56.368607, + 73.7661 + ], + [ + -56.436943, + 73.768053 + ], + [ + -56.205559, + 73.718325 + ], + [ + -56.368607, + 73.7661 + ] + ] + ], + [ + [ + [ + -55.956665, + 73.834719 + ], + [ + -56.777222, + 73.875811 + ], + [ + -56.323334, + 73.783327 + ], + [ + -55.956665, + 73.834719 + ] + ] + ], + [ + [ + [ + -20.016113, + 73.884432 + ], + [ + -20.113613, + 73.932756 + ], + [ + -20.234722, + 73.926378 + ], + [ + -20.016113, + 73.884432 + ] + ] + ], + [ + [ + [ + -20.926945, + 74.419985 + ], + [ + -21.990833, + 74.227205 + ], + [ + -20.12389, + 74.201097 + ], + [ + -20.926945, + 74.419985 + ] + ] + ], + [ + [ + [ + -56.53083, + 74.53055 + ], + [ + -57.556664, + 74.488314 + ], + [ + -56.462776, + 74.504168 + ], + [ + -56.53083, + 74.53055 + ] + ] + ], + [ + [ + [ + -56.982773, + 74.553591 + ], + [ + -56.838608, + 74.591661 + ], + [ + -57.095551, + 74.557482 + ], + [ + -56.982773, + 74.553591 + ] + ] + ], + [ + [ + [ + -57.185272, + 74.576097 + ], + [ + -57.083061, + 74.613039 + ], + [ + -57.281944, + 74.581667 + ], + [ + -57.185272, + 74.576097 + ] + ] + ], + [ + [ + [ + -18.838612, + 74.538317 + ], + [ + -18.752781, + 74.656099 + ], + [ + -19.219997, + 74.581102 + ], + [ + -18.838612, + 74.538317 + ] + ] + ], + [ + [ + [ + -18.530003, + 74.712206 + ], + [ + -18.383057, + 74.620256 + ], + [ + -18.300556, + 74.705263 + ], + [ + -18.530003, + 74.712206 + ] + ] + ], + [ + [ + [ + -57.476387, + 74.706102 + ], + [ + -57.431114, + 74.717485 + ], + [ + -57.727219, + 74.721926 + ], + [ + -57.476387, + 74.706102 + ] + ] + ], + [ + [ + [ + -20.166943, + 74.897493 + ], + [ + -19.960556, + 74.992479 + ], + [ + -20.493053, + 75.030825 + ], + [ + -20.687778, + 74.811647 + ], + [ + -20.084446, + 74.702776 + ], + [ + -19.729164, + 74.858599 + ], + [ + -20.166943, + 74.897493 + ] + ] + ], + [ + [ + [ + -17.808334, + 75.306093 + ], + [ + -18.839169, + 75.328325 + ], + [ + -18.915554, + 75.004168 + ], + [ + -17.319721, + 75.13109 + ], + [ + -18.215275, + 75.225267 + ], + [ + -17.808334, + 75.306093 + ] + ] + ], + [ + [ + [ + -65.049438, + 76.013887 + ], + [ + -64.955566, + 76.054979 + ], + [ + -65.221115, + 76.045534 + ], + [ + -65.049438, + 76.013887 + ] + ] + ], + [ + [ + [ + -64.055557, + 76.05942 + ], + [ + -64.014725, + 76.110537 + ], + [ + -64.146118, + 76.09305 + ], + [ + -64.055557, + 76.05942 + ] + ] + ], + [ + [ + [ + -61.899445, + 76.129702 + ], + [ + -61.881668, + 76.186647 + ], + [ + -61.962219, + 76.178591 + ], + [ + -61.899445, + 76.129702 + ] + ] + ], + [ + [ + [ + -20.343056, + 76.264162 + ], + [ + -20.158611, + 76.346941 + ], + [ + -20.660831, + 76.338884 + ], + [ + -20.343056, + 76.264162 + ] + ] + ], + [ + [ + [ + -69.976105, + 76.394152 + ], + [ + -69.894455, + 76.436922 + ], + [ + -70.188324, + 76.43915 + ], + [ + -69.976105, + 76.394152 + ] + ] + ], + [ + [ + [ + -20.388054, + 76.451662 + ], + [ + -20.26778, + 76.495256 + ], + [ + -20.496109, + 76.474993 + ], + [ + -20.388054, + 76.451662 + ] + ] + ], + [ + [ + [ + -21.353054, + 76.47249 + ], + [ + -21.249443, + 76.499712 + ], + [ + -21.489719, + 76.489702 + ], + [ + -21.353054, + 76.47249 + ] + ] + ], + [ + [ + [ + -20.793335, + 76.389986 + ], + [ + -20.720833, + 76.513887 + ], + [ + -21.141109, + 76.447481 + ], + [ + -20.793335, + 76.389986 + ] + ] + ], + [ + [ + [ + -69.669449, + 76.53055 + ], + [ + -69.464722, + 76.579439 + ], + [ + -70.036392, + 76.563311 + ], + [ + -69.669449, + 76.53055 + ] + ] + ], + [ + [ + [ + -20.712776, + 76.560808 + ], + [ + -20.625557, + 76.579439 + ], + [ + -20.939442, + 76.523317 + ], + [ + -20.712776, + 76.560808 + ] + ] + ], + [ + [ + [ + -21.083057, + 76.569155 + ], + [ + -20.963886, + 76.629152 + ], + [ + -21.547501, + 76.615267 + ], + [ + -21.083057, + 76.569155 + ] + ] + ], + [ + [ + [ + -19.648056, + 76.69832 + ], + [ + -19.605555, + 76.726381 + ], + [ + -19.857224, + 76.731936 + ], + [ + -19.648056, + 76.69832 + ] + ] + ], + [ + [ + [ + -18.653053, + 76.601656 + ], + [ + -19.019169, + 76.759432 + ], + [ + -18.763058, + 76.58777 + ], + [ + -19.141945, + 76.529436 + ], + [ + -18.635277, + 75.889986 + ], + [ + -18.653053, + 76.601656 + ] + ] + ], + [ + [ + [ + -19.691944, + 76.781939 + ], + [ + -19.59, + 76.811647 + ], + [ + -19.809166, + 76.788591 + ], + [ + -19.691944, + 76.781939 + ] + ] + ], + [ + [ + [ + -20.192776, + 76.822496 + ], + [ + -20.210556, + 76.868593 + ], + [ + -20.389442, + 76.847216 + ], + [ + -20.192776, + 76.822496 + ] + ] + ], + [ + [ + [ + -71.942215, + 77.30443 + ], + [ + -71.34584, + 77.375811 + ], + [ + -72.573898, + 77.413881 + ], + [ + -71.942215, + 77.30443 + ] + ] + ], + [ + [ + [ + -70.66777, + 77.457766 + ], + [ + -71.299438, + 77.447756 + ], + [ + -70.056381, + 77.399157 + ], + [ + -70.66777, + 77.457766 + ] + ] + ], + [ + [ + [ + -66.196381, + 77.504442 + ], + [ + -66.731384, + 77.507219 + ], + [ + -66.660828, + 77.488588 + ], + [ + -66.196381, + 77.504442 + ] + ] + ], + [ + [ + [ + -19.834446, + 77.505556 + ], + [ + -19.83028, + 77.554705 + ], + [ + -20.041668, + 77.565813 + ], + [ + -19.834446, + 77.505556 + ] + ] + ], + [ + [ + [ + -66.900558, + 77.591661 + ], + [ + -66.625824, + 77.636385 + ], + [ + -66.97084, + 77.599428 + ], + [ + -66.900558, + 77.591661 + ] + ] + ], + [ + [ + [ + -18.037224, + 77.666094 + ], + [ + -17.584166, + 77.83777 + ], + [ + -18.242222, + 77.679979 + ], + [ + -18.037224, + 77.666094 + ] + ] + ], + [ + [ + [ + -19.940556, + 77.966661 + ], + [ + -20.490833, + 77.954714 + ], + [ + -19.775833, + 77.830553 + ], + [ + -19.229164, + 77.829714 + ], + [ + -19.940556, + 77.966661 + ] + ] + ], + [ + [ + [ + -19.542225, + 77.916094 + ], + [ + -19.613613, + 77.971926 + ], + [ + -19.699722, + 77.964998 + ], + [ + -19.542225, + 77.916094 + ] + ] + ], + [ + [ + [ + -21.31028, + 77.885546 + ], + [ + -21.111111, + 78.012209 + ], + [ + -21.428055, + 77.923601 + ], + [ + -21.31028, + 77.885546 + ] + ] + ], + [ + [ + [ + -20.536114, + 78.015825 + ], + [ + -20.362778, + 78.051653 + ], + [ + -20.631943, + 78.032488 + ], + [ + -20.536114, + 78.015825 + ] + ] + ], + [ + [ + [ + -19.276669, + 78.117754 + ], + [ + -19.298889, + 78.175814 + ], + [ + -19.383331, + 78.127199 + ], + [ + -19.276669, + 78.117754 + ] + ] + ], + [ + [ + [ + -19.043335, + 78.076937 + ], + [ + -18.829723, + 78.176378 + ], + [ + -19.191944, + 78.117754 + ], + [ + -19.043335, + 78.076937 + ] + ] + ], + [ + [ + [ + -20.915833, + 78.146105 + ], + [ + -20.855555, + 78.16527 + ], + [ + -21.043055, + 78.181368 + ], + [ + -20.915833, + 78.146105 + ] + ] + ], + [ + [ + [ + -20.526669, + 78.161379 + ], + [ + -20.302223, + 78.21332 + ], + [ + -20.783333, + 78.191362 + ], + [ + -20.526669, + 78.161379 + ] + ] + ], + [ + [ + [ + -19.490555, + 78.241365 + ], + [ + -19.422775, + 78.276659 + ], + [ + -19.595001, + 78.24721 + ], + [ + -19.490555, + 78.241365 + ] + ] + ], + [ + [ + [ + -19.15889, + 78.240267 + ], + [ + -18.885555, + 78.295259 + ], + [ + -19.353333, + 78.283327 + ], + [ + -19.15889, + 78.240267 + ] + ] + ], + [ + [ + [ + -19.633331, + 78.276659 + ], + [ + -19.490555, + 78.330553 + ], + [ + -19.677498, + 78.386385 + ], + [ + -19.633331, + 78.276659 + ] + ] + ], + [ + [ + [ + -19.288334, + 78.313875 + ], + [ + -19.081944, + 78.363039 + ], + [ + -19.4025, + 78.394442 + ], + [ + -19.288334, + 78.313875 + ] + ] + ], + [ + [ + [ + -18.969997, + 78.392488 + ], + [ + -18.881111, + 78.428865 + ], + [ + -19.097778, + 78.425264 + ], + [ + -18.969997, + 78.392488 + ] + ] + ], + [ + [ + [ + -19.12611, + 78.455263 + ], + [ + -18.964165, + 78.474993 + ], + [ + -19.254169, + 78.445818 + ], + [ + -19.12611, + 78.455263 + ] + ] + ], + [ + [ + [ + -18.571945, + 78.578051 + ], + [ + -18.314724, + 78.673601 + ], + [ + -18.738888, + 78.606096 + ], + [ + -18.571945, + 78.578051 + ] + ] + ], + [ + [ + [ + -18.243053, + 78.750826 + ], + [ + -18.075558, + 78.817766 + ], + [ + -18.297222, + 78.856096 + ], + [ + -18.243053, + 78.750826 + ] + ] + ], + [ + [ + [ + -19.346947, + 78.811373 + ], + [ + -19.190834, + 78.953051 + ], + [ + -19.756668, + 78.795259 + ], + [ + -19.346947, + 78.811373 + ] + ] + ], + [ + [ + [ + -18.037224, + 78.992754 + ], + [ + -17.556389, + 79.164156 + ], + [ + -17.849998, + 79.215548 + ], + [ + -18.037224, + 78.992754 + ] + ] + ], + [ + [ + [ + -19.375, + 79.126375 + ], + [ + -19.314444, + 79.231371 + ], + [ + -19.496666, + 79.195818 + ], + [ + -19.375, + 79.126375 + ] + ] + ], + [ + [ + [ + -19.908333, + 80.059145 + ], + [ + -19.01889, + 80.163607 + ], + [ + -19.756947, + 80.241365 + ], + [ + -20.014168, + 80.096651 + ], + [ + -19.908333, + 80.059145 + ] + ] + ], + [ + [ + [ + -66.595276, + 80.608599 + ], + [ + -66.531677, + 80.61693 + ], + [ + -66.896118, + 80.671099 + ], + [ + -66.595276, + 80.608599 + ] + ] + ], + [ + [ + [ + -20.597221, + 81.672487 + ], + [ + -20.164444, + 81.681932 + ], + [ + -20.971111, + 81.714434 + ], + [ + -20.597221, + 81.672487 + ] + ] + ], + [ + [ + [ + -18.585556, + 81.646654 + ], + [ + -18.304447, + 81.662203 + ], + [ + -19.245831, + 81.777773 + ], + [ + -18.585556, + 81.646654 + ] + ] + ], + [ + [ + [ + -19.777779, + 81.870256 + ], + [ + -20.306667, + 82.130541 + ], + [ + -20.781944, + 82.133883 + ], + [ + -19.777779, + 81.870256 + ] + ] + ], + [ + [ + [ + -18.858334, + 81.974428 + ], + [ + -18.792225, + 81.99193 + ], + [ + -19.413887, + 82.205553 + ], + [ + -18.858334, + 81.974428 + ] + ] + ], + [ + [ + [ + -51.468887, + 81.968325 + ], + [ + -51.19194, + 81.993593 + ], + [ + -53.357506, + 82.224993 + ], + [ + -51.468887, + 81.968325 + ] + ] + ], + [ + [ + [ + -51.888611, + 82.208879 + ], + [ + -51.79528, + 82.214159 + ], + [ + -52.293892, + 82.277483 + ], + [ + -51.888611, + 82.208879 + ] + ] + ], + [ + [ + [ + -48.212502, + 82.39583 + ], + [ + -48.034729, + 82.464434 + ], + [ + -48.864449, + 82.539156 + ], + [ + -48.212502, + 82.39583 + ] + ] + ], + [ + [ + [ + -46.003059, + 82.644442 + ], + [ + -47.749168, + 82.624987 + ], + [ + -45.076668, + 82.055819 + ], + [ + -44.737221, + 82.095827 + ], + [ + -45.067223, + 82.216661 + ], + [ + -44.418892, + 82.366091 + ], + [ + -46.003059, + 82.644442 + ] + ] + ], + [ + [ + [ + -40.174446, + 82.660265 + ], + [ + -40.289169, + 82.69803 + ], + [ + -40.472496, + 82.686373 + ], + [ + -40.174446, + 82.660265 + ] + ] + ], + [ + [ + [ + -49.95472, + 82.769991 + ], + [ + -49.723053, + 82.779985 + ], + [ + -50.067223, + 82.775545 + ], + [ + -49.95472, + 82.769991 + ] + ] + ], + [ + [ + [ + -47.568611, + 82.782488 + ], + [ + -47.442497, + 82.803865 + ], + [ + -48.41555, + 82.84804 + ], + [ + -47.568611, + 82.782488 + ] + ] + ], + [ + [ + [ + -46.443886, + 82.832491 + ], + [ + -46.407501, + 82.836107 + ], + [ + -47.262505, + 82.930819 + ], + [ + -46.443886, + 82.832491 + ] + ] + ], + [ + [ + [ + -39.570557, + 82.996645 + ], + [ + -39.277496, + 83.081377 + ], + [ + -40.546112, + 83.153322 + ], + [ + -39.570557, + 82.996645 + ] + ] + ], + [ + [ + [ + -38.318611, + 83.133608 + ], + [ + -38.009171, + 83.152483 + ], + [ + -38.659721, + 83.164705 + ], + [ + -38.318611, + 83.133608 + ] + ] + ], + [ + [ + [ + -39.904999, + 82.998873 + ], + [ + -40.836945, + 83.163607 + ], + [ + -41.482773, + 83.164995 + ], + [ + -39.904999, + 82.998873 + ] + ] + ], + [ + [ + [ + -40.157776, + 83.203325 + ], + [ + -40.086945, + 83.211657 + ], + [ + -40.57917, + 83.219713 + ], + [ + -40.157776, + 83.203325 + ] + ] + ], + [ + [ + [ + -41.037224, + 83.208605 + ], + [ + -41.001671, + 83.212206 + ], + [ + -41.606392, + 83.224428 + ], + [ + -41.037224, + 83.208605 + ] + ] + ], + [ + [ + [ + -42.097778, + 83.242205 + ], + [ + -41.959442, + 83.251665 + ], + [ + -42.41806, + 83.253878 + ], + [ + -42.097778, + 83.242205 + ] + ] + ], + [ + [ + [ + -39.646111, + 83.262209 + ], + [ + -40.673332, + 83.280275 + ], + [ + -38.639725, + 83.115816 + ], + [ + -39.646111, + 83.262209 + ] + ] + ], + [ + [ + [ + -41.244446, + 83.287767 + ], + [ + -41.45639, + 83.327211 + ], + [ + -41.684441, + 83.313601 + ], + [ + -41.244446, + 83.287767 + ] + ] + ], + [ + [ + [ + -38.902779, + 83.290545 + ], + [ + -39.223885, + 83.396944 + ], + [ + -39.621941, + 83.336931 + ], + [ + -38.902779, + 83.290545 + ] + ] + ], + [ + [ + [ + -32.300278, + 83.570269 + ], + [ + -38.856392, + 83.431658 + ], + [ + -36.877495, + 83.147219 + ], + [ + -39.150276, + 82.980272 + ], + [ + -38.574448, + 82.744143 + ], + [ + -42.695, + 83.274431 + ], + [ + -45.524719, + 83.12221 + ], + [ + -43.386665, + 82.914431 + ], + [ + -46.889999, + 82.961107 + ], + [ + -40.135277, + 82.714434 + ], + [ + -39.752785, + 82.398882 + ], + [ + -41.550278, + 82.73665 + ], + [ + -41.898056, + 82.732759 + ], + [ + -41.682777, + 82.478045 + ], + [ + -42.142775, + 82.76166 + ], + [ + -45.765839, + 82.764437 + ], + [ + -42.299171, + 82.216661 + ], + [ + -44.190552, + 82.312487 + ], + [ + -44.79528, + 82.189974 + ], + [ + -44.502502, + 82.089708 + ], + [ + -44.925278, + 81.989702 + ], + [ + -44.183327, + 81.834154 + ], + [ + -44.639999, + 81.754168 + ], + [ + -50.317505, + 82.518328 + ], + [ + -51.118889, + 82.494143 + ], + [ + -49.43222, + 81.927767 + ], + [ + -51.065552, + 81.932207 + ], + [ + -49.614723, + 81.640276 + ], + [ + -52.89917, + 82.034151 + ], + [ + -53.634445, + 81.513323 + ], + [ + -53.823616, + 81.69359 + ], + [ + -53.559723, + 82.116091 + ], + [ + -54.50528, + 82.365541 + ], + [ + -59.466942, + 81.996935 + ], + [ + -56.478333, + 81.332491 + ], + [ + -58.899445, + 81.864702 + ], + [ + -60.806664, + 81.879976 + ], + [ + -61.452225, + 81.753054 + ], + [ + -60.770836, + 81.500551 + ], + [ + -61.313332, + 81.355822 + ], + [ + -61.056664, + 81.119707 + ], + [ + -63.371666, + 81.155825 + ], + [ + -62.794449, + 80.751101 + ], + [ + -63.680557, + 81.143877 + ], + [ + -67.480835, + 80.325548 + ], + [ + -67.049728, + 80.057482 + ], + [ + -63.78447, + 80.148333 + ], + [ + -65.068893, + 80.009157 + ], + [ + -64.823334, + 79.533602 + ], + [ + -65.976669, + 79.101656 + ], + [ + -72.552216, + 78.521105 + ], + [ + -72.849442, + 78.31415 + ], + [ + -72.456665, + 78.286379 + ], + [ + -73.053604, + 78.157213 + ], + [ + -71.320007, + 77.763613 + ], + [ + -69.968613, + 77.833605 + ], + [ + -70.602783, + 77.678041 + ], + [ + -69.483612, + 77.753603 + ], + [ + -70.289993, + 77.563601 + ], + [ + -69.25029, + 77.453051 + ], + [ + -68.699432, + 77.663881 + ], + [ + -68.344727, + 77.498598 + ], + [ + -66.72583, + 77.680819 + ], + [ + -66.055557, + 77.491365 + ], + [ + -66.659164, + 77.414431 + ], + [ + -66.238327, + 77.248598 + ], + [ + -69.101669, + 77.271929 + ], + [ + -66.170837, + 77.193316 + ], + [ + -66.448608, + 77.133883 + ], + [ + -71.375275, + 77.056093 + ], + [ + -67.982224, + 76.67943 + ], + [ + -69.633331, + 76.380816 + ], + [ + -68.500565, + 76.086931 + ], + [ + -66.458618, + 75.909716 + ], + [ + -67.306107, + 76.167482 + ], + [ + -65.769455, + 76.275545 + ], + [ + -65.553329, + 76.233873 + ], + [ + -65.888336, + 76.09833 + ], + [ + -65.479721, + 76.018602 + ], + [ + -63.440834, + 76.373308 + ], + [ + -60.878609, + 76.152483 + ], + [ + -58.408051, + 75.715273 + ], + [ + -58.208893, + 75.441927 + ], + [ + -58.697777, + 75.346376 + ], + [ + -56.192497, + 74.551653 + ], + [ + -56.797226, + 74.443316 + ], + [ + -56.131111, + 74.383883 + ], + [ + -56.713333, + 74.340822 + ], + [ + -56.309166, + 74.287203 + ], + [ + -57.325005, + 74.107759 + ], + [ + -56.129166, + 74.278322 + ], + [ + -56.409721, + 74.066088 + ], + [ + -55.60778, + 73.720263 + ], + [ + -56.075836, + 73.648607 + ], + [ + -55.085831, + 73.362764 + ], + [ + -55.697777, + 73.066668 + ], + [ + -54.850555, + 73.014437 + ], + [ + -54.604721, + 72.828051 + ], + [ + -54.870552, + 72.642488 + ], + [ + -54.62722, + 72.621645 + ], + [ + -55.016396, + 72.519991 + ], + [ + -54.296394, + 72.479982 + ], + [ + -55.626389, + 72.457491 + ], + [ + -54.682777, + 72.366381 + ], + [ + -55.580002, + 71.998873 + ], + [ + -55.29834, + 71.928591 + ], + [ + -54.384445, + 72.22249 + ], + [ + -55.90583, + 71.678591 + ], + [ + -55.323616, + 71.386934 + ], + [ + -53.91555, + 71.441927 + ], + [ + -54.100281, + 71.707491 + ], + [ + -53.396666, + 71.851931 + ], + [ + -53.955002, + 72.322496 + ], + [ + -53.56028, + 72.358034 + ], + [ + -53.857506, + 72.321657 + ], + [ + -53.321945, + 71.822222 + ], + [ + -52.684441, + 72.001665 + ], + [ + -53.250557, + 71.702776 + ], + [ + -51.640556, + 71.711107 + ], + [ + -52.983612, + 71.41527 + ], + [ + -51.348053, + 71.486101 + ], + [ + -52.555557, + 71.171373 + ], + [ + -51.645554, + 71.361376 + ], + [ + -52.249443, + 71.123308 + ], + [ + -51.226662, + 71.141665 + ], + [ + -51.485275, + 71.063036 + ], + [ + -50.928886, + 70.988588 + ], + [ + -51.952499, + 71.021105 + ], + [ + -50.633057, + 70.740267 + ], + [ + -51.438606, + 70.747759 + ], + [ + -50.618889, + 70.628588 + ], + [ + -51.345001, + 70.566668 + ], + [ + -50.93972, + 70.46776 + ], + [ + -51.037224, + 70.430819 + ], + [ + -50.490555, + 70.509722 + ], + [ + -50.676392, + 70.322771 + ], + [ + -52.722221, + 70.744707 + ], + [ + -54.063332, + 70.829714 + ], + [ + -54.626389, + 70.651934 + ], + [ + -52.312775, + 70.046648 + ], + [ + -50.214165, + 70.021654 + ], + [ + -50.589165, + 69.921923 + ], + [ + -50.313614, + 69.873308 + ], + [ + -50.191666, + 69.757494 + ], + [ + -50.883057, + 69.491365 + ], + [ + -50.20472, + 69.521929 + ], + [ + -51.122772, + 69.201387 + ], + [ + -50.380829, + 69.338884 + ], + [ + -50.138611, + 69.177477 + ], + [ + -50.687775, + 69.117754 + ], + [ + -50.209442, + 68.960817 + ], + [ + -51.069725, + 69.13109 + ], + [ + -51.292503, + 68.748323 + ], + [ + -50.656387, + 68.825548 + ], + [ + -50.865837, + 68.614702 + ], + [ + -52.46167, + 68.544985 + ], + [ + -53.079727, + 68.323046 + ], + [ + -53.389168, + 68.327776 + ], + [ + -52.419167, + 68.180544 + ], + [ + -50.82, + 68.503603 + ], + [ + -51.183609, + 68.398882 + ], + [ + -50.956665, + 68.182756 + ], + [ + -51.434166, + 68.19832 + ], + [ + -50.153053, + 67.933321 + ], + [ + -50.56945, + 67.90082 + ], + [ + -51.188606, + 68.063601 + ], + [ + -51.85778, + 68.041933 + ], + [ + -52.802223, + 68.168871 + ], + [ + -52.414444, + 68.062761 + ], + [ + -53.321114, + 68.18442 + ], + [ + -52.059998, + 67.975267 + ], + [ + -53.187218, + 68.043322 + ], + [ + -52.954559, + 67.978983 + ], + [ + -53.753616, + 67.601091 + ], + [ + -51.059998, + 67.974154 + ], + [ + -51.331116, + 67.868868 + ], + [ + -50.417503, + 67.844439 + ], + [ + -51.230827, + 67.697206 + ], + [ + -50.969719, + 67.62221 + ], + [ + -50.650276, + 67.651659 + ], + [ + -50.288612, + 67.744982 + ], + [ + -49.936661, + 67.693865 + ], + [ + -50.274445, + 67.731096 + ], + [ + -50.852226, + 67.590822 + ], + [ + -50.071945, + 67.509996 + ], + [ + -50.700554, + 67.491655 + ], + [ + -51.330284, + 67.675814 + ], + [ + -51.809441, + 67.625811 + ], + [ + -52.496109, + 67.769716 + ], + [ + -53.881111, + 67.263887 + ], + [ + -53.79834, + 67.202776 + ], + [ + -53.252228, + 67.320543 + ], + [ + -51.151665, + 67.423311 + ], + [ + -51.525833, + 67.351091 + ], + [ + -50.351112, + 67.180544 + ], + [ + -51.189438, + 67.123598 + ], + [ + -51.524719, + 67.323046 + ], + [ + -52.15139, + 67.369982 + ], + [ + -53.477219, + 67.239153 + ], + [ + -53.58889, + 67.214998 + ], + [ + -53.379997, + 67.202211 + ], + [ + -53.816666, + 67.178865 + ], + [ + -53.965553, + 67.074709 + ], + [ + -52.228882, + 66.839983 + ], + [ + -53.451942, + 66.637499 + ], + [ + -52.416389, + 66.546373 + ], + [ + -53.633331, + 66.504442 + ], + [ + -53.61972, + 66.243319 + ], + [ + -53.118332, + 66.285814 + ], + [ + -53.476662, + 66.098879 + ], + [ + -51.189438, + 66.917757 + ], + [ + -50.334724, + 67.071932 + ], + [ + -50.632217, + 67.015825 + ], + [ + -49.99778, + 66.980822 + ], + [ + -50.95639, + 66.93471 + ], + [ + -50.32917, + 66.833055 + ], + [ + -51.271385, + 66.843874 + ], + [ + -53.462219, + 66.034151 + ], + [ + -51.831947, + 66.055819 + ], + [ + -53.268333, + 65.746935 + ], + [ + -52.688889, + 65.805544 + ], + [ + -52.801941, + 65.538881 + ], + [ + -52.469162, + 65.640825 + ], + [ + -52.49778, + 65.387209 + ], + [ + -51.934441, + 65.546373 + ], + [ + -51.948051, + 65.658876 + ], + [ + -51.484726, + 65.763048 + ], + [ + -51.209166, + 65.796099 + ], + [ + -50.545837, + 65.706942 + ], + [ + -51.243889, + 65.759722 + ], + [ + -51.694443, + 65.698595 + ], + [ + -51.901108, + 65.623873 + ], + [ + -51.720833, + 65.582216 + ], + [ + -52.558891, + 65.327486 + ], + [ + -52.099724, + 65.239153 + ], + [ + -52.211388, + 64.806643 + ], + [ + -51.246948, + 65.017488 + ], + [ + -52.120277, + 64.720263 + ], + [ + -52.057503, + 64.599085 + ], + [ + -52.10556, + 64.387209 + ], + [ + -52.039169, + 64.399157 + ], + [ + -52.00695, + 64.2036 + ], + [ + -51.224167, + 64.762209 + ], + [ + -50.636665, + 64.753054 + ], + [ + -50.978607, + 65.219713 + ], + [ + -50.560555, + 64.768053 + ], + [ + -49.998886, + 64.869143 + ], + [ + -50.065552, + 64.529161 + ], + [ + -49.584297, + 64.337648 + ], + [ + -50.856667, + 64.633043 + ], + [ + -50.173058, + 64.44832 + ], + [ + -50.352226, + 64.382753 + ], + [ + -50.856392, + 64.415545 + ], + [ + -51.041946, + 64.275545 + ], + [ + -50.843056, + 64.254168 + ], + [ + -50.950836, + 64.21805 + ], + [ + -51.761391, + 64.181932 + ], + [ + -50.04834, + 64.194139 + ], + [ + -51.601944, + 64.034716 + ], + [ + -51.443329, + 63.804995 + ], + [ + -50.924171, + 63.932497 + ], + [ + -51.559441, + 63.709162 + ], + [ + -50.504723, + 63.667215 + ], + [ + -51.221382, + 63.439432 + ], + [ + -50.276108, + 63.401384 + ], + [ + -51.10778, + 63.339434 + ], + [ + -50.059845, + 63.228754 + ], + [ + -50.606392, + 63.094439 + ], + [ + -50.149994, + 63.015276 + ], + [ + -50.379997, + 62.784441 + ], + [ + -50.191502, + 62.933661 + ], + [ + -49.701393, + 63.057497 + ], + [ + -50.150833, + 62.930826 + ], + [ + -50.317223, + 62.743052 + ], + [ + -50.280281, + 62.704714 + ], + [ + -49.947495, + 62.827219 + ], + [ + -50.31778, + 62.495272 + ], + [ + -49.293892, + 62.17222 + ], + [ + -49.669449, + 61.995546 + ], + [ + -48.840553, + 62.076944 + ], + [ + -49.440277, + 61.842218 + ], + [ + -48.763062, + 61.98472 + ], + [ + -49.148888, + 61.718599 + ], + [ + -48.599213, + 61.636339 + ], + [ + -49.297501, + 61.557497 + ], + [ + -48.344162, + 61.604998 + ], + [ + -49.066109, + 61.39805 + ], + [ + -48.378609, + 61.363886 + ], + [ + -48.637222, + 61.238047 + ], + [ + -48.410278, + 61.132212 + ], + [ + -47.917221, + 61.324167 + ], + [ + -48.218887, + 61.184992 + ], + [ + -47.833611, + 61.041941 + ], + [ + -48.406387, + 60.988329 + ], + [ + -47.689438, + 61.004999 + ], + [ + -48.238892, + 60.819719 + ], + [ + -47.447777, + 60.820276 + ], + [ + -47.31945, + 60.867769 + ], + [ + -47.809441, + 60.87916 + ], + [ + -47.023056, + 60.976099 + ], + [ + -46.914444, + 60.933329 + ], + [ + -46.958611, + 60.863329 + ], + [ + -46.857224, + 60.797495 + ], + [ + -46.705275, + 60.88138 + ], + [ + -46.835274, + 60.930277 + ], + [ + -46.581673, + 60.905825 + ], + [ + -46.523331, + 61.015276 + ], + [ + -46.442223, + 60.999163 + ], + [ + -46.38028, + 61.041109 + ], + [ + -46.406105, + 61.084162 + ], + [ + -46.229439, + 60.97471 + ], + [ + -45.915001, + 61.090273 + ], + [ + -45.839996, + 61.164995 + ], + [ + -46.009726, + 61.223047 + ], + [ + -45.769722, + 61.333605 + ], + [ + -45.65361, + 61.142221 + ], + [ + -46.065552, + 60.921106 + ], + [ + -45.199722, + 61.189989 + ], + [ + -46.221382, + 60.753611 + ], + [ + -45.253059, + 60.901934 + ], + [ + -45.849724, + 60.697489 + ], + [ + -45.671776, + 60.676329 + ], + [ + -45.978333, + 60.573885 + ], + [ + -45.313332, + 60.699999 + ], + [ + -45.491943, + 60.489992 + ], + [ + -45.099167, + 60.64583 + ], + [ + -45.203331, + 60.435266 + ], + [ + -44.626106, + 60.733332 + ], + [ + -45.189995, + 60.12916 + ], + [ + -44.470833, + 60.557215 + ], + [ + -45.152779, + 60.074167 + ], + [ + -44.604172, + 59.982492 + ], + [ + -44.456665, + 60.148333 + ], + [ + -44.080559, + 60.286386 + ], + [ + -44.100838, + 60.384165 + ], + [ + -43.137505, + 60.079439 + ], + [ + -43.16861, + 60.397493 + ], + [ + -44.202499, + 60.593325 + ], + [ + -42.749443, + 60.683603 + ], + [ + -43.526665, + 60.837214 + ], + [ + -42.79084, + 60.801104 + ], + [ + -43.484444, + 60.933329 + ], + [ + -42.70472, + 61.057772 + ], + [ + -43.612778, + 61.127771 + ], + [ + -42.629997, + 61.09833 + ], + [ + -43.246109, + 61.339159 + ], + [ + -42.507507, + 61.355272 + ], + [ + -43.07917, + 61.593607 + ], + [ + -42.434723, + 61.557215 + ], + [ + -42.869446, + 61.77305 + ], + [ + -42.115837, + 62.006662 + ], + [ + -42.54084, + 61.943605 + ], + [ + -42.261116, + 62.242495 + ], + [ + -42.979164, + 62.515276 + ], + [ + -42.162216, + 62.383883 + ], + [ + -43.147224, + 62.757776 + ], + [ + -41.755562, + 62.839434 + ], + [ + -41.61528, + 62.987497 + ], + [ + -42.174446, + 63.201662 + ], + [ + -41.429169, + 63.126383 + ], + [ + -41.907501, + 63.464716 + ], + [ + -41.687218, + 63.524996 + ], + [ + -41.113335, + 63.307215 + ], + [ + -41.580833, + 63.487772 + ], + [ + -41.238335, + 63.404436 + ], + [ + -41.394165, + 63.552217 + ], + [ + -41.113335, + 63.385271 + ], + [ + -40.998886, + 63.407495 + ], + [ + -41.17067, + 63.513605 + ], + [ + -40.748337, + 63.509165 + ], + [ + -41.617775, + 63.792223 + ], + [ + -40.518059, + 63.697214 + ], + [ + -40.838608, + 63.945543 + ], + [ + -40.56778, + 64.109148 + ], + [ + -41.56945, + 64.265551 + ], + [ + -41.50695, + 64.325823 + ], + [ + -41.325836, + 64.341372 + ], + [ + -41.091667, + 64.302202 + ], + [ + -40.788055, + 64.384432 + ], + [ + -40.358894, + 64.34833 + ], + [ + -41.155556, + 64.964434 + ], + [ + -39.755562, + 65.242754 + ], + [ + -40.09639, + 65.567217 + ], + [ + -38.241943, + 65.629427 + ], + [ + -38.100838, + 65.803041 + ], + [ + -38.483612, + 66.010271 + ], + [ + -38.051941, + 65.912493 + ], + [ + -37.691666, + 66.259722 + ], + [ + -38.10611, + 66.386934 + ], + [ + -37.184723, + 66.341661 + ], + [ + -37.811386, + 66.03055 + ], + [ + -37.193054, + 65.769152 + ], + [ + -37.077499, + 66.062197 + ], + [ + -36.980278, + 65.837496 + ], + [ + -36.521111, + 65.984713 + ], + [ + -36.566666, + 66.076662 + ], + [ + -36.343056, + 66.079988 + ], + [ + -36.331947, + 65.907213 + ], + [ + -35.587502, + 66.110262 + ], + [ + -35.851669, + 66.433596 + ], + [ + -34.719994, + 66.33832 + ], + [ + -34.406944, + 66.540819 + ], + [ + -34.429726, + 66.741365 + ], + [ + -34.26722, + 66.575823 + ], + [ + -33.973053, + 66.990541 + ], + [ + -33.365837, + 67.246935 + ], + [ + -33.600555, + 67.37137 + ], + [ + -33.198608, + 67.688036 + ], + [ + -32.122772, + 67.857759 + ], + [ + -31.999165, + 68.095263 + ], + [ + -32.400276, + 68.199419 + ], + [ + -32.133331, + 68.196093 + ], + [ + -32.485001, + 68.619982 + ], + [ + -32.007225, + 68.261934 + ], + [ + -31.535835, + 68.239428 + ], + [ + -31.745831, + 68.210817 + ], + [ + -31.571667, + 68.066942 + ], + [ + -30.030281, + 68.11165 + ], + [ + -30.196945, + 68.242479 + ], + [ + -29.862221, + 68.413607 + ], + [ + -29.378056, + 68.19887 + ], + [ + -26.363335, + 68.667482 + ], + [ + -24.072777, + 69.478045 + ], + [ + -24.343334, + 69.604433 + ], + [ + -23.579166, + 69.623598 + ], + [ + -23.930553, + 69.755266 + ], + [ + -22.079166, + 70.129702 + ], + [ + -25.229164, + 70.414431 + ], + [ + -27.341946, + 69.962496 + ], + [ + -28.542778, + 70.04471 + ], + [ + -26.322224, + 70.373034 + ], + [ + -29.206944, + 70.394152 + ], + [ + -27.914164, + 70.867205 + ], + [ + -28.409164, + 70.975817 + ], + [ + -26.478886, + 70.960268 + ], + [ + -25.411388, + 71.349154 + ], + [ + -28.466942, + 71.552477 + ], + [ + -27.325001, + 71.709719 + ], + [ + -28.639721, + 72.124422 + ], + [ + -24.739998, + 71.332216 + ], + [ + -23.345833, + 70.43915 + ], + [ + -22.622776, + 70.446642 + ], + [ + -22.506947, + 70.850542 + ], + [ + -22.377224, + 70.441652 + ], + [ + -21.47472, + 70.53998 + ], + [ + -21.929165, + 70.802202 + ], + [ + -21.68111, + 71.068331 + ], + [ + -22.333889, + 71.053591 + ], + [ + -21.6875, + 71.149157 + ], + [ + -21.961666, + 71.263887 + ], + [ + -21.603611, + 71.323046 + ], + [ + -21.805557, + 71.509432 + ], + [ + -22.473331, + 71.263048 + ], + [ + -22.50639, + 71.549715 + ], + [ + -21.895832, + 71.740816 + ], + [ + -23.125557, + 71.626085 + ], + [ + -22.494442, + 71.892763 + ], + [ + -24.588333, + 72.421099 + ], + [ + -25.526669, + 72.12137 + ], + [ + -25.289169, + 72.384432 + ], + [ + -25.908333, + 72.413881 + ], + [ + -24.609444, + 72.523317 + ], + [ + -24.842499, + 72.719439 + ], + [ + -26.462776, + 72.572222 + ], + [ + -26.304722, + 72.72777 + ], + [ + -27.388332, + 72.836657 + ], + [ + -25.05389, + 73.082766 + ], + [ + -26.449165, + 73.19359 + ], + [ + -27.497498, + 72.924425 + ], + [ + -27.728611, + 73.129702 + ], + [ + -26.387501, + 73.241365 + ], + [ + -27.337502, + 73.492479 + ], + [ + -26.012501, + 73.242205 + ], + [ + -25.721386, + 73.263613 + ], + [ + -25.315002, + 73.461657 + ], + [ + -24.674168, + 73.513323 + ], + [ + -25.686943, + 73.952486 + ], + [ + -24.463055, + 73.535814 + ], + [ + -24.044167, + 73.814699 + ], + [ + -22.178333, + 73.624697 + ], + [ + -24.032223, + 73.702486 + ], + [ + -22.379166, + 73.250551 + ], + [ + -20.501114, + 73.452776 + ], + [ + -20.283058, + 73.879976 + ], + [ + -21.748608, + 74.058321 + ], + [ + -21.821667, + 73.651094 + ], + [ + -21.980553, + 73.998034 + ], + [ + -22.492495, + 74.074434 + ], + [ + -22.053055, + 74.283876 + ], + [ + -22.479164, + 74.311922 + ], + [ + -21.765003, + 74.419436 + ], + [ + -22.082779, + 74.59833 + ], + [ + -19.684998, + 74.23749 + ], + [ + -18.977776, + 74.481661 + ], + [ + -21.11972, + 74.661654 + ], + [ + -20.60611, + 74.736925 + ], + [ + -20.762779, + 74.846941 + ], + [ + -20.638889, + 75.061922 + ], + [ + -22.435555, + 75.163881 + ], + [ + -20.515003, + 75.140825 + ], + [ + -22.511391, + 75.530825 + ], + [ + -21.406387, + 75.455553 + ], + [ + -22.251114, + 75.664156 + ], + [ + -19.882778, + 75.14583 + ], + [ + -19.335556, + 75.404985 + ], + [ + -19.825001, + 75.909151 + ], + [ + -21.98222, + 75.99193 + ], + [ + -19.805836, + 76.228594 + ], + [ + -21.68222, + 76.239153 + ], + [ + -21.573055, + 76.436647 + ], + [ + -22.506947, + 76.44803 + ], + [ + -21.814444, + 76.590273 + ], + [ + -22.738888, + 76.704439 + ], + [ + -21.605, + 76.644716 + ], + [ + -20.939442, + 76.842485 + ], + [ + -21.728886, + 76.883608 + ], + [ + -20.723053, + 76.988314 + ], + [ + -18.305279, + 76.806093 + ], + [ + -18.120556, + 76.94832 + ], + [ + -18.395832, + 77.34276 + ], + [ + -21.053612, + 77.543871 + ], + [ + -18.956665, + 77.628862 + ], + [ + -19.239998, + 77.763048 + ], + [ + -20.311947, + 77.870821 + ], + [ + -20.86639, + 78.015276 + ], + [ + -21.578335, + 77.56415 + ], + [ + -22.039444, + 77.688311 + ], + [ + -20.906387, + 78.624147 + ], + [ + -21.426945, + 78.644442 + ], + [ + -20.926388, + 78.689974 + ], + [ + -21.182499, + 78.809984 + ], + [ + -20.018059, + 78.877199 + ], + [ + -19.914722, + 78.964159 + ], + [ + -20.09111, + 79.063601 + ], + [ + -19.378334, + 79.274996 + ], + [ + -19.078888, + 79.200548 + ], + [ + -19.573612, + 79.331102 + ], + [ + -19.868889, + 79.153048 + ], + [ + -19.63139, + 79.661379 + ], + [ + -17.449165, + 80.055819 + ], + [ + -19.289444, + 80.103319 + ], + [ + -20.326946, + 79.760546 + ], + [ + -20.755001, + 79.864992 + ], + [ + -20.554722, + 80.105822 + ], + [ + -19.700832, + 80.285814 + ], + [ + -17.113888, + 80.236925 + ], + [ + -16.113888, + 80.502489 + ], + [ + -21.247498, + 80.575548 + ], + [ + -16.005001, + 80.728594 + ], + [ + -12.155001, + 81.603319 + ], + [ + -16.700554, + 81.931932 + ], + [ + -17.534725, + 81.853594 + ], + [ + -17.353889, + 81.701937 + ], + [ + -18.017223, + 81.46805 + ], + [ + -20.305557, + 81.451097 + ], + [ + -19.940834, + 81.683046 + ], + [ + -24.511669, + 80.540819 + ], + [ + -22.23111, + 81.465822 + ], + [ + -22.016945, + 81.933046 + ], + [ + -24.002224, + 82.009722 + ], + [ + -24.210556, + 81.70833 + ], + [ + -27.328613, + 81.380816 + ], + [ + -27.630833, + 81.486101 + ], + [ + -25.202499, + 81.989428 + ], + [ + -33.098335, + 81.773882 + ], + [ + -29.90472, + 82.093325 + ], + [ + -31.618889, + 82.207491 + ], + [ + -25.06889, + 82.152483 + ], + [ + -21.314167, + 82.608034 + ], + [ + -23.992775, + 82.911654 + ], + [ + -25.901112, + 82.777483 + ], + [ + -24.751114, + 83.000826 + ], + [ + -25.142223, + 83.162767 + ], + [ + -35.617775, + 82.901094 + ], + [ + -25.650555, + 83.291658 + ], + [ + -32.300278, + 83.570269 + ] + ], + [ + [ + -20.113335, + 77.653322 + ], + [ + -20.008335, + 77.606936 + ], + [ + -20.438332, + 77.628862 + ], + [ + -20.113335, + 77.653322 + ] + ] + ] + ] + }, + "name" : "Greenland", + "iso2" : "GL", + "iso3" : "GRL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ir1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 8.710257, + 47.69681 + ], + [ + 8.670557, + 47.711107 + ], + [ + 8.678595, + 47.693346 + ], + [ + 8.710257, + 47.69681 + ] + ] + ], + [ + [ + [ + 6.806391, + 53.602221 + ], + [ + 6.658335, + 53.586107 + ], + [ + 6.746946, + 53.560274 + ], + [ + 6.806391, + 53.602221 + ] + ] + ], + [ + [ + [ + 6.939444, + 53.669443 + ], + [ + 7.088335, + 53.684168 + ], + [ + 6.87639, + 53.670275 + ], + [ + 6.939444, + 53.669443 + ] + ] + ], + [ + [ + [ + 7.242498, + 53.704439 + ], + [ + 7.346945, + 53.721109 + ], + [ + 7.135836, + 53.70611 + ], + [ + 7.242498, + 53.704439 + ] + ] + ], + [ + [ + [ + 8.191111, + 53.724718 + ], + [ + 8.142778, + 53.733606 + ], + [ + 8.120001, + 53.713053 + ], + [ + 8.191111, + 53.724718 + ] + ] + ], + [ + [ + [ + 7.622225, + 53.754442 + ], + [ + 7.485834, + 53.757502 + ], + [ + 7.467779, + 53.733057 + ], + [ + 7.622225, + 53.754442 + ] + ] + ], + [ + [ + [ + 7.75889, + 53.760553 + ], + [ + 7.81278, + 53.775553 + ], + [ + 7.664446, + 53.761667 + ], + [ + 7.75889, + 53.760553 + ] + ] + ], + [ + [ + [ + 8.42528, + 53.928057 + ], + [ + 8.455, + 53.963053 + ], + [ + 8.411665, + 53.955553 + ], + [ + 8.42528, + 53.928057 + ] + ] + ], + [ + [ + [ + 13.940279, + 54.024996 + ], + [ + 13.934446, + 54.027773 + ], + [ + 13.925833, + 54.018328 + ], + [ + 13.940279, + 54.024996 + ] + ] + ], + [ + [ + [ + 8.695555, + 54.041109 + ], + [ + 8.693335, + 54.082499 + ], + [ + 8.671389, + 54.077776 + ], + [ + 8.695555, + 54.041109 + ] + ] + ], + [ + [ + [ + 14.001318, + 54.065363 + ], + [ + 13.759165, + 54.159998 + ], + [ + 14.056005, + 53.984865 + ], + [ + 13.823431, + 53.853746 + ], + [ + 14.218889, + 53.86902 + ], + [ + 14.225557, + 53.928606 + ], + [ + 14.001318, + 54.065363 + ] + ] + ], + [ + [ + [ + 10.979445, + 54.380556 + ], + [ + 11.003054, + 54.37694 + ], + [ + 11.017778, + 54.380274 + ], + [ + 10.979445, + 54.380556 + ] + ] + ], + [ + [ + [ + 8.893057, + 54.461939 + ], + [ + 8.960554, + 54.519167 + ], + [ + 8.815001, + 54.500834 + ], + [ + 8.893057, + 54.461939 + ] + ] + ], + [ + [ + [ + 11.312777, + 54.406946 + ], + [ + 11.184168, + 54.519999 + ], + [ + 11.006388, + 54.461664 + ], + [ + 11.312777, + 54.406946 + ] + ] + ], + [ + [ + [ + 8.662779, + 54.494165 + ], + [ + 8.710833, + 54.551668 + ], + [ + 8.591112, + 54.527773 + ], + [ + 8.662779, + 54.494165 + ] + ] + ], + [ + [ + [ + 13.07361, + 54.488611 + ], + [ + 13.151388, + 54.602777 + ], + [ + 13.096666, + 54.590555 + ], + [ + 13.07361, + 54.488611 + ] + ] + ], + [ + [ + [ + 13.383055, + 54.638887 + ], + [ + 13.244722, + 54.559168 + ], + [ + 13.503092, + 54.493097 + ], + [ + 13.146963, + 54.545607 + ], + [ + 13.2675, + 54.382502 + ], + [ + 13.118334, + 54.333887 + ], + [ + 13.730833, + 54.275835 + ], + [ + 13.383055, + 54.638887 + ] + ] + ], + [ + [ + [ + 8.364443, + 54.613329 + ], + [ + 8.353888, + 54.711664 + ], + [ + 8.294443, + 54.666666 + ], + [ + 8.364443, + 54.613329 + ] + ] + ], + [ + [ + [ + 8.567778, + 54.685274 + ], + [ + 8.551111, + 54.753885 + ], + [ + 8.396944, + 54.713884 + ], + [ + 8.567778, + 54.685274 + ] + ] + ], + [ + [ + [ + 10.979445, + 54.380556 + ], + [ + 9.870279, + 54.454439 + ], + [ + 9.972776, + 54.76111 + ], + [ + 9.44536, + 54.825403 + ], + [ + 8.664545, + 54.913095 + ], + [ + 8.393332, + 55.053057 + ], + [ + 8.281111, + 54.746943 + ], + [ + 8.580549, + 54.86788 + ], + [ + 9.016943, + 54.498331 + ], + [ + 8.599443, + 54.333887 + ], + [ + 8.883612, + 54.294168 + ], + [ + 8.899721, + 53.940828 + ], + [ + 9.832499, + 53.536386 + ], + [ + 8.665556, + 53.893885 + ], + [ + 8.503054, + 53.354166 + ], + [ + 8.008333, + 53.710001 + ], + [ + 7.295835, + 53.685274 + ], + [ + 7.015554, + 53.414721 + ], + [ + 7.208364, + 53.242807 + ], + [ + 7.051668, + 52.64361 + ], + [ + 6.68889, + 52.549166 + ], + [ + 7.065557, + 52.385828 + ], + [ + 6.82889, + 51.965555 + ], + [ + 5.9625, + 51.807779 + ], + [ + 6.222223, + 51.46583 + ], + [ + 5.864721, + 51.046106 + ], + [ + 6.011801, + 50.757273 + ], + [ + 6.398207, + 50.323175 + ], + [ + 6.134417, + 50.127848 + ], + [ + 6.524446, + 49.808611 + ], + [ + 6.362169, + 49.459391 + ], + [ + 8.22608, + 48.964418 + ], + [ + 7.57889, + 48.119722 + ], + [ + 7.58827, + 47.584482 + ], + [ + 7.697226, + 47.543329 + ], + [ + 8.576422, + 47.591372 + ], + [ + 8.566111, + 47.80694 + ], + [ + 9.566725, + 47.540453 + ], + [ + 10.173334, + 47.274721 + ], + [ + 10.478056, + 47.591944 + ], + [ + 11.095556, + 47.396112 + ], + [ + 12.735556, + 47.684168 + ], + [ + 13.016668, + 47.470278 + ], + [ + 12.758333, + 48.123888 + ], + [ + 13.833612, + 48.773607 + ], + [ + 12.674444, + 49.424997 + ], + [ + 12.093706, + 50.322535 + ], + [ + 14.309721, + 51.053606 + ], + [ + 14.828333, + 50.865831 + ], + [ + 15.03639, + 51.285555 + ], + [ + 14.599443, + 51.818605 + ], + [ + 14.640276, + 52.572496 + ], + [ + 14.149168, + 52.86278 + ], + [ + 14.275629, + 53.699068 + ], + [ + 13.813055, + 53.845278 + ], + [ + 13.718332, + 54.169718 + ], + [ + 13.455832, + 54.096109 + ], + [ + 13.02389, + 54.399721 + ], + [ + 12.369722, + 54.265001 + ], + [ + 12.924166, + 54.426943 + ], + [ + 12.526945, + 54.474161 + ], + [ + 10.818537, + 53.890055 + ], + [ + 10.979445, + 54.380556 + ] + ], + [ + [ + 11.459166, + 53.961107 + ], + [ + 11.373888, + 53.988611 + ], + [ + 11.488611, + 54.02305 + ], + [ + 11.459166, + 53.961107 + ] + ], + [ + [ + 11.544168, + 54.061388 + ], + [ + 11.51111, + 54.048609 + ], + [ + 11.612421, + 54.104586 + ], + [ + 11.544168, + 54.061388 + ] + ], + [ + [ + 12.729723, + 54.416666 + ], + [ + 12.68611, + 54.418329 + ], + [ + 12.702776, + 54.428331 + ], + [ + 12.729723, + 54.416666 + ] + ] + ] + ] + }, + "name" : "Germany", + "iso2" : "DE", + "iso3" : "DEU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "i71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 144.709412, + 13.234997 + ], + [ + 144.875244, + 13.65361 + ], + [ + 144.655243, + 13.427776 + ], + [ + 144.709412, + 13.234997 + ] + ] + ] + }, + "name" : "Guam", + "iso2" : "GU", + "iso3" : "GUM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "jL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 24.128609, + 34.856667 + ], + [ + 24.04472, + 34.849998 + ], + [ + 24.128609, + 34.808884 + ], + [ + 24.128609, + 34.856667 + ] + ] + ], + [ + [ + [ + 26.900555, + 35.358887 + ], + [ + 27.019997, + 35.430832 + ], + [ + 26.898052, + 35.419998 + ], + [ + 26.900555, + 35.358887 + ] + ] + ], + [ + [ + [ + 23.858608, + 35.52166 + ], + [ + 23.606388, + 35.613327 + ], + [ + 23.521111, + 35.288055 + ], + [ + 24.752777, + 34.942215 + ], + [ + 26.290554, + 35.131104 + ], + [ + 23.858608, + 35.52166 + ] + ] + ], + [ + [ + [ + 27.157497, + 35.445831 + ], + [ + 27.228054, + 35.826385 + ], + [ + 27.066109, + 35.604996 + ], + [ + 27.157497, + 35.445831 + ] + ] + ], + [ + [ + [ + 23.332222, + 35.825272 + ], + [ + 23.325832, + 35.872215 + ], + [ + 23.273052, + 35.899994 + ], + [ + 23.332222, + 35.825272 + ] + ] + ], + [ + [ + [ + 23.049442, + 36.13694 + ], + [ + 23.10722, + 36.243889 + ], + [ + 22.929443, + 36.37944 + ], + [ + 23.049442, + 36.13694 + ] + ] + ], + [ + [ + [ + 25.838882, + 36.348053 + ], + [ + 25.771111, + 36.401932 + ], + [ + 25.73027, + 36.369713 + ], + [ + 25.838882, + 36.348053 + ] + ] + ], + [ + [ + [ + 25.399162, + 36.39444 + ], + [ + 25.406666, + 36.410553 + ], + [ + 25.391388, + 36.408051 + ], + [ + 25.399162, + 36.39444 + ] + ] + ], + [ + [ + [ + 27.786663, + 35.890549 + ], + [ + 28.225826, + 36.453049 + ], + [ + 27.719719, + 36.1661 + ], + [ + 27.786663, + 35.890549 + ] + ] + ], + [ + [ + [ + 27.400272, + 36.372498 + ], + [ + 27.445827, + 36.4086 + ], + [ + 27.297771, + 36.464432 + ], + [ + 27.400272, + 36.372498 + ] + ] + ], + [ + [ + [ + 25.457771, + 36.333611 + ], + [ + 25.486382, + 36.408051 + ], + [ + 25.371941, + 36.472488 + ], + [ + 25.457771, + 36.333611 + ] + ] + ], + [ + [ + [ + 26.342216, + 36.506386 + ], + [ + 26.460548, + 36.598053 + ], + [ + 26.262497, + 36.59166 + ], + [ + 26.342216, + 36.506386 + ] + ] + ], + [ + [ + [ + 27.854717, + 36.527222 + ], + [ + 27.859718, + 36.650269 + ], + [ + 27.764996, + 36.574997 + ], + [ + 27.854717, + 36.527222 + ] + ] + ], + [ + [ + [ + 24.950275, + 36.590553 + ], + [ + 24.938332, + 36.632774 + ], + [ + 24.840832, + 36.658882 + ], + [ + 24.950275, + 36.590553 + ] + ] + ], + [ + [ + [ + 25.089722, + 36.633881 + ], + [ + 25.187775, + 36.71666 + ], + [ + 25.102219, + 36.693329 + ], + [ + 25.089722, + 36.633881 + ] + ] + ], + [ + [ + [ + 21.785831, + 36.736938 + ], + [ + 21.760555, + 36.754997 + ], + [ + 21.750553, + 36.712494 + ], + [ + 21.774998, + 36.697777 + ], + [ + 21.785831, + 36.736938 + ] + ] + ], + [ + [ + [ + 24.413609, + 36.660271 + ], + [ + 24.548054, + 36.759438 + ], + [ + 24.349163, + 36.746109 + ], + [ + 24.413609, + 36.660271 + ] + ] + ], + [ + [ + [ + 25.385551, + 36.651665 + ], + [ + 25.407219, + 36.717766 + ], + [ + 25.275829, + 36.78138 + ], + [ + 25.385551, + 36.651665 + ] + ] + ], + [ + [ + [ + 24.662777, + 36.747498 + ], + [ + 24.665276, + 36.776382 + ], + [ + 24.609722, + 36.778328 + ], + [ + 24.662777, + 36.747498 + ] + ] + ], + [ + [ + [ + 21.698608, + 36.739166 + ], + [ + 21.728333, + 36.79277 + ], + [ + 21.704441, + 36.796661 + ], + [ + 21.698608, + 36.739166 + ] + ] + ], + [ + [ + [ + 24.558609, + 36.775551 + ], + [ + 24.562496, + 36.84861 + ], + [ + 24.521111, + 36.823883 + ], + [ + 24.558609, + 36.775551 + ] + ] + ], + [ + [ + [ + 25.459995, + 36.82222 + ], + [ + 25.474159, + 36.869164 + ], + [ + 25.42083, + 36.83194 + ], + [ + 25.459995, + 36.82222 + ] + ] + ], + [ + [ + [ + 25.826664, + 36.779709 + ], + [ + 25.976662, + 36.874161 + ], + [ + 25.736938, + 36.784431 + ], + [ + 25.826664, + 36.779709 + ] + ] + ], + [ + [ + [ + 26.965832, + 36.681664 + ], + [ + 27.352776, + 36.872208 + ], + [ + 27.064159, + 36.838875 + ], + [ + 26.965832, + 36.681664 + ] + ] + ], + [ + [ + [ + 25.680832, + 36.878052 + ], + [ + 25.651939, + 36.906097 + ], + [ + 25.609161, + 36.886658 + ], + [ + 25.680832, + 36.878052 + ] + ] + ], + [ + [ + [ + 25.076664, + 36.951935 + ], + [ + 25.083881, + 37.04248 + ], + [ + 25.023605, + 36.999146 + ], + [ + 25.076664, + 36.951935 + ] + ] + ], + [ + [ + [ + 24.711941, + 36.903053 + ], + [ + 24.765274, + 36.958328 + ], + [ + 24.641109, + 37.042221 + ], + [ + 24.711941, + 36.903053 + ] + ] + ], + [ + [ + [ + 26.975552, + 36.924431 + ], + [ + 27.048328, + 36.993607 + ], + [ + 26.890831, + 37.076378 + ], + [ + 26.975552, + 36.924431 + ] + ] + ], + [ + [ + [ + 25.834438, + 37.09304 + ], + [ + 25.825554, + 37.125542 + ], + [ + 25.782494, + 37.119987 + ], + [ + 25.834438, + 37.09304 + ] + ] + ], + [ + [ + [ + 25.250275, + 37.008324 + ], + [ + 25.268604, + 37.138611 + ], + [ + 25.098328, + 37.027489 + ], + [ + 25.250275, + 37.008324 + ] + ] + ], + [ + [ + [ + 26.886662, + 37.096657 + ], + [ + 26.85833, + 37.181107 + ], + [ + 26.769161, + 37.176384 + ], + [ + 26.886662, + 37.096657 + ] + ] + ], + [ + [ + [ + 25.461388, + 36.919434 + ], + [ + 25.54472, + 37.198044 + ], + [ + 25.341106, + 37.074997 + ], + [ + 25.461388, + 36.919434 + ] + ] + ], + [ + [ + [ + 24.535, + 37.182495 + ], + [ + 24.414719, + 37.12722 + ], + [ + 24.509163, + 37.112778 + ], + [ + 24.535, + 37.182495 + ] + ] + ], + [ + [ + [ + 26.767494, + 37.186935 + ], + [ + 26.787495, + 37.20694 + ], + [ + 26.772221, + 37.206657 + ], + [ + 26.767494, + 37.186935 + ] + ] + ], + [ + [ + [ + 23.156666, + 37.240273 + ], + [ + 23.150555, + 37.272774 + ], + [ + 23.096943, + 37.277496 + ], + [ + 23.156666, + 37.240273 + ] + ] + ], + [ + [ + [ + 23.410831, + 37.300827 + ], + [ + 23.583332, + 37.364166 + ], + [ + 23.373886, + 37.299721 + ], + [ + 23.410831, + 37.300827 + ] + ] + ], + [ + [ + [ + 24.379444, + 37.305832 + ], + [ + 24.48333, + 37.398048 + ], + [ + 24.442776, + 37.481667 + ], + [ + 24.379444, + 37.305832 + ] + ] + ], + [ + [ + [ + 25.359161, + 37.407776 + ], + [ + 25.463608, + 37.469719 + ], + [ + 25.313889, + 37.488045 + ], + [ + 25.359161, + 37.407776 + ] + ] + ], + [ + [ + [ + 24.952499, + 37.385551 + ], + [ + 24.889721, + 37.512497 + ], + [ + 24.884441, + 37.363609 + ], + [ + 24.952499, + 37.385551 + ] + ] + ], + [ + [ + [ + 23.497776, + 37.504715 + ], + [ + 23.522499, + 37.524162 + ], + [ + 23.432777, + 37.526665 + ], + [ + 23.497776, + 37.504715 + ] + ] + ], + [ + [ + [ + 25.228333, + 37.534431 + ], + [ + 25.238888, + 37.621941 + ], + [ + 24.97583, + 37.675552 + ], + [ + 25.228333, + 37.534431 + ] + ] + ], + [ + [ + [ + 24.298611, + 37.526382 + ], + [ + 24.394165, + 37.673332 + ], + [ + 24.298332, + 37.654999 + ], + [ + 24.298611, + 37.526382 + ] + ] + ], + [ + [ + [ + 26.020828, + 37.514435 + ], + [ + 26.361111, + 37.686661 + ], + [ + 26.06805, + 37.631943 + ], + [ + 26.020828, + 37.514435 + ] + ] + ], + [ + [ + [ + 23.513054, + 37.691666 + ], + [ + 23.563889, + 37.762772 + ], + [ + 23.425552, + 37.762497 + ], + [ + 23.513054, + 37.691666 + ] + ] + ], + [ + [ + [ + 27.069443, + 37.711937 + ], + [ + 26.748608, + 37.811378 + ], + [ + 26.571663, + 37.730553 + ], + [ + 27.069443, + 37.711937 + ] + ] + ], + [ + [ + [ + 20.898052, + 37.805275 + ], + [ + 20.621944, + 37.860832 + ], + [ + 20.831108, + 37.646385 + ], + [ + 20.898052, + 37.805275 + ] + ] + ], + [ + [ + [ + 24.791664, + 37.998329 + ], + [ + 24.713333, + 37.872772 + ], + [ + 24.960278, + 37.685555 + ], + [ + 24.791664, + 37.998329 + ] + ] + ], + [ + [ + [ + 23.462498, + 37.878609 + ], + [ + 23.538887, + 37.985832 + ], + [ + 23.437496, + 37.985832 + ], + [ + 23.462498, + 37.878609 + ] + ] + ], + [ + [ + [ + 20.612499, + 38.394165 + ], + [ + 20.341389, + 38.177216 + ], + [ + 20.7925, + 38.060272 + ], + [ + 20.612499, + 38.394165 + ] + ] + ], + [ + [ + [ + 20.735554, + 38.309998 + ], + [ + 20.648888, + 38.500275 + ], + [ + 20.644722, + 38.398048 + ], + [ + 20.735554, + 38.309998 + ] + ] + ], + [ + [ + [ + 26.025555, + 38.176941 + ], + [ + 26.159443, + 38.544434 + ], + [ + 25.861664, + 38.583611 + ], + [ + 26.025555, + 38.176941 + ] + ] + ], + [ + [ + [ + 20.903053, + 38.545555 + ], + [ + 20.938889, + 38.60527 + ], + [ + 20.899166, + 38.566383 + ], + [ + 20.903053, + 38.545555 + ] + ] + ], + [ + [ + [ + 25.599995, + 38.531937 + ], + [ + 25.613331, + 38.589989 + ], + [ + 25.52916, + 38.599709 + ], + [ + 25.599995, + 38.531937 + ] + ] + ], + [ + [ + [ + 20.643608, + 38.581108 + ], + [ + 20.701385, + 38.834717 + ], + [ + 20.557777, + 38.683884 + ], + [ + 20.643608, + 38.581108 + ] + ] + ], + [ + [ + [ + 24.683052, + 38.79805 + ], + [ + 24.458332, + 38.962776 + ], + [ + 24.553333, + 38.768326 + ], + [ + 24.683052, + 38.79805 + ] + ] + ], + [ + [ + [ + 23.461941, + 38.853333 + ], + [ + 22.829998, + 38.829163 + ], + [ + 24.564163, + 37.987221 + ], + [ + 24.153889, + 38.64666 + ], + [ + 23.461941, + 38.853333 + ] + ] + ], + [ + [ + [ + 23.736664, + 39.074715 + ], + [ + 23.786663, + 39.124161 + ], + [ + 23.590832, + 39.204437 + ], + [ + 23.736664, + 39.074715 + ] + ] + ], + [ + [ + [ + 23.50861, + 39.159721 + ], + [ + 23.461388, + 39.208328 + ], + [ + 23.392498, + 39.152222 + ], + [ + 23.50861, + 39.159721 + ] + ] + ], + [ + [ + [ + 20.19833, + 39.174438 + ], + [ + 20.123608, + 39.236382 + ], + [ + 20.136665, + 39.200554 + ], + [ + 20.19833, + 39.174438 + ] + ] + ], + [ + [ + [ + 23.862499, + 39.136665 + ], + [ + 23.978054, + 39.260277 + ], + [ + 23.953609, + 39.289719 + ], + [ + 23.862499, + 39.136665 + ] + ] + ], + [ + [ + [ + 26.377216, + 39.273598 + ], + [ + 25.832222, + 39.183601 + ], + [ + 26.614441, + 39.012497 + ], + [ + 26.377216, + 39.273598 + ] + ] + ], + [ + [ + [ + 24.992496, + 39.466385 + ], + [ + 25.053608, + 39.530823 + ], + [ + 25.006386, + 39.563309 + ], + [ + 24.992496, + 39.466385 + ] + ] + ], + [ + [ + [ + 19.926109, + 39.794441 + ], + [ + 19.641388, + 39.744438 + ], + [ + 20.111664, + 39.363052 + ], + [ + 19.846664, + 39.649162 + ], + [ + 19.926109, + 39.794441 + ] + ] + ], + [ + [ + [ + 19.404163, + 39.843605 + ], + [ + 19.430553, + 39.867493 + ], + [ + 19.378887, + 39.868607 + ], + [ + 19.404163, + 39.843605 + ] + ] + ], + [ + [ + [ + 25.441666, + 40.004715 + ], + [ + 25.05444, + 39.86055 + ], + [ + 25.355827, + 39.786385 + ], + [ + 25.441666, + 40.004715 + ] + ] + ], + [ + [ + [ + 25.601662, + 40.398041 + ], + [ + 25.694717, + 40.466103 + ], + [ + 25.443886, + 40.475822 + ], + [ + 25.601662, + 40.398041 + ] + ] + ], + [ + [ + [ + 24.773331, + 40.63166 + ], + [ + 24.645275, + 40.797775 + ], + [ + 24.509441, + 40.658051 + ], + [ + 24.773331, + 40.63166 + ] + ] + ], + [ + [ + [ + 26.361095, + 41.711052 + ], + [ + 26.294167, + 41.708054 + ], + [ + 26.066109, + 41.697495 + ], + [ + 26.139996, + 41.354713 + ], + [ + 25.285, + 41.24305 + ], + [ + 24.263885, + 41.570549 + ], + [ + 22.935604, + 41.342125 + ], + [ + 20.98349, + 40.855888 + ], + [ + 20.671944, + 40.098053 + ], + [ + 20.010029, + 39.6912 + ], + [ + 20.731941, + 38.952499 + ], + [ + 21.149998, + 39.001938 + ], + [ + 20.73222, + 38.801109 + ], + [ + 20.989441, + 38.669998 + ], + [ + 21.147778, + 38.304161 + ], + [ + 22.403332, + 38.448051 + ], + [ + 23.226109, + 38.153053 + ], + [ + 22.868053, + 37.938049 + ], + [ + 21.85833, + 38.340828 + ], + [ + 21.106388, + 37.854439 + ], + [ + 21.649719, + 37.44194 + ], + [ + 21.704441, + 36.815277 + ], + [ + 22.152775, + 37.02166 + ], + [ + 22.488888, + 36.386108 + ], + [ + 22.634163, + 36.804443 + ], + [ + 23.19833, + 36.431938 + ], + [ + 22.72583, + 37.568329 + ], + [ + 23.513611, + 37.429443 + ], + [ + 22.991386, + 37.880554 + ], + [ + 23.515553, + 38.04055 + ], + [ + 24.034443, + 37.651665 + ], + [ + 24.073887, + 38.196938 + ], + [ + 22.523331, + 38.857216 + ], + [ + 23.072777, + 39.036942 + ], + [ + 22.937775, + 39.358604 + ], + [ + 23.344997, + 39.178055 + ], + [ + 22.594997, + 40.012215 + ], + [ + 22.59111, + 40.476662 + ], + [ + 22.941387, + 40.630554 + ], + [ + 23.709999, + 39.911942 + ], + [ + 23.353611, + 40.245277 + ], + [ + 23.93222, + 39.943054 + ], + [ + 23.727776, + 40.350555 + ], + [ + 24.398331, + 40.151939 + ], + [ + 23.735275, + 40.754997 + ], + [ + 25.138054, + 41.011375 + ], + [ + 26.04472, + 40.735825 + ], + [ + 26.633884, + 41.354439 + ], + [ + 26.361095, + 41.711052 + ] + ] + ] + ] + }, + "name" : "Greece", + "iso2" : "GR", + "iso3" : "GRC" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "jb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -89.141953, + 17.818886 + ], + [ + -90.982422, + 17.820652 + ], + [ + -90.983902, + 17.256107 + ], + [ + -91.4375, + 17.241108 + ], + [ + -90.406403, + 16.416386 + ], + [ + -90.441956, + 16.088333 + ], + [ + -91.729172, + 16.074997 + ], + [ + -92.24678, + 14.550547 + ], + [ + -91.384735, + 13.978888 + ], + [ + -90.627625, + 13.930555 + ], + [ + -90.09639, + 13.745832 + ], + [ + -89.348312, + 14.431982 + ], + [ + -89.150375, + 15.073481 + ], + [ + -88.214737, + 15.724443 + ], + [ + -88.910568, + 15.89361 + ], + [ + -89.216171, + 15.889851 + ], + [ + -89.141953, + 17.818886 + ] + ] + ] + }, + "name" : "Guatemala", + "iso2" : "GT", + "iso3" : "GTM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "jr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -15.016848, + 10.956451 + ], + [ + -14.693056, + 11.035276 + ], + [ + -14.664446, + 10.476665 + ], + [ + -13.602783, + 9.734441 + ], + [ + -13.29561, + 9.032143 + ], + [ + -12.456112, + 9.888332 + ], + [ + -11.214445, + 9.997499 + ], + [ + -10.571526, + 9.059532 + ], + [ + -10.695835, + 8.298611 + ], + [ + -10.266651, + 8.488377 + ], + [ + -9.48365, + 8.346931 + ], + [ + -9.485161, + 7.361989 + ], + [ + -9.106945, + 7.198889 + ], + [ + -8.660557, + 7.695 + ], + [ + -8.469749, + 7.561325 + ], + [ + -7.946838, + 8.018505 + ], + [ + -8.198057, + 8.496666 + ], + [ + -7.646536, + 8.378416 + ], + [ + -7.957778, + 8.813332 + ], + [ + -7.732779, + 9.088055 + ], + [ + -8.143612, + 9.533888 + ], + [ + -7.973984, + 10.165611 + ], + [ + -8.289722, + 11.007776 + ], + [ + -8.680557, + 10.966389 + ], + [ + -8.357779, + 11.305555 + ], + [ + -8.53388, + 11.49391 + ], + [ + -9.155556, + 12.486111 + ], + [ + -9.701946, + 12.029163 + ], + [ + -10.323893, + 12.224997 + ], + [ + -10.652748, + 11.892609 + ], + [ + -10.92889, + 12.224442 + ], + [ + -11.315556, + 12.022774 + ], + [ + -11.373058, + 12.407774 + ], + [ + -12.345404, + 12.301748 + ], + [ + -13.713139, + 12.677221 + ], + [ + -13.971035, + 12.154758 + ], + [ + -13.709167, + 11.715277 + ], + [ + -14.686945, + 11.509722 + ], + [ + -15.016848, + 10.956451 + ] + ] + ] + }, + "name" : "Guinea", + "iso2" : "GN", + "iso3" : "GIN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "j71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -58.450562, + 6.896944 + ], + [ + -58.328056, + 6.956666 + ], + [ + -58.413338, + 6.969166 + ], + [ + -58.450562, + 6.896944 + ] + ] + ], + [ + [ + [ + -57.248505, + 5.486111 + ], + [ + -57.199722, + 6.147499 + ], + [ + -58.314728, + 6.894722 + ], + [ + -58.646118, + 6.42611 + ], + [ + -58.472778, + 7.349999 + ], + [ + -59.789169, + 8.34111 + ], + [ + -59.99028, + 8.535276 + ], + [ + -59.825562, + 8.236111 + ], + [ + -60.71917, + 7.535555 + ], + [ + -60.288612, + 7.057221 + ], + [ + -61.134026, + 6.711042 + ], + [ + -61.389725, + 5.94 + ], + [ + -60.73037, + 5.204799 + ], + [ + -60.098335, + 5.217222 + ], + [ + -60.147507, + 4.5175 + ], + [ + -59.675835, + 4.388888 + ], + [ + -59.568611, + 3.899444 + ], + [ + -59.989449, + 2.693611 + ], + [ + -59.642784, + 1.731111 + ], + [ + -58.806946, + 1.185555 + ], + [ + -57.324722, + 1.975278 + ], + [ + -56.470634, + 1.944499 + ], + [ + -57.301392, + 3.3775 + ], + [ + -57.642227, + 3.356389 + ], + [ + -58.047226, + 4.008333 + ], + [ + -57.92334, + 4.821944 + ], + [ + -57.327225, + 5.026111 + ], + [ + -57.248505, + 5.486111 + ] + ] + ] + ] + }, + "name" : "Guyana", + "iso2" : "GY", + "iso3" : "GUY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "kL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -73.584732, + 18.056944 + ], + [ + -73.706116, + 18.101389 + ], + [ + -73.667511, + 18.057222 + ], + [ + -73.584732, + 18.056944 + ] + ] + ], + [ + [ + [ + -72.815567, + 18.698889 + ], + [ + -72.857224, + 18.835001 + ], + [ + -73.300003, + 18.927221 + ], + [ + -72.815567, + 18.698889 + ] + ] + ], + [ + [ + [ + -72.673615, + 19.916666 + ], + [ + -73.465286, + 19.687777 + ], + [ + -72.723343, + 19.455 + ], + [ + -72.800293, + 19.033056 + ], + [ + -72.350006, + 18.530279 + ], + [ + -74.268066, + 18.665834 + ], + [ + -74.446671, + 18.34194 + ], + [ + -73.881668, + 18.022779 + ], + [ + -73.386398, + 18.261946 + ], + [ + -71.767868, + 18.038504 + ], + [ + -72.003067, + 18.600832 + ], + [ + -71.715836, + 18.749723 + ], + [ + -71.754181, + 19.705832 + ], + [ + -72.673615, + 19.916666 + ] + ], + [ + [ + -73.739456, + 18.584166 + ], + [ + -73.798065, + 18.624723 + ], + [ + -73.715286, + 18.624445 + ], + [ + -73.739456, + 18.584166 + ] + ] + ], + [ + [ + [ + -72.628342, + 19.986944 + ], + [ + -72.811951, + 20.092222 + ], + [ + -72.95639, + 20.056665 + ], + [ + -72.628342, + 19.986944 + ] + ] + ] + ] + }, + "name" : "Haiti", + "iso2" : "HT", + "iso3" : "HTI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "kb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -87.622513, + 13.246387 + ], + [ + -87.614731, + 13.28611 + ], + [ + -87.669724, + 13.278332 + ], + [ + -87.622513, + 13.246387 + ] + ] + ], + [ + [ + [ + -87.571945, + 13.36861 + ], + [ + -87.65834, + 13.335833 + ], + [ + -87.58168, + 13.30361 + ], + [ + -87.571945, + 13.36861 + ] + ] + ], + [ + [ + [ + -83.131851, + 14.992979 + ], + [ + -84.077515, + 15.351387 + ], + [ + -84.208618, + 15.549999 + ], + [ + -83.85556, + 15.459999 + ], + [ + -84.264725, + 15.828609 + ], + [ + -85.841949, + 16.010555 + ], + [ + -88.214737, + 15.724443 + ], + [ + -89.150375, + 15.073481 + ], + [ + -89.348312, + 14.431982 + ], + [ + -89.339737, + 14.416111 + ], + [ + -88.47084, + 13.855276 + ], + [ + -87.75029, + 13.864166 + ], + [ + -87.815582, + 13.405386 + ], + [ + -87.396393, + 13.410831 + ], + [ + -87.301392, + 12.986599 + ], + [ + -86.695007, + 13.296944 + ], + [ + -86.763016, + 13.751621 + ], + [ + -86.015839, + 14.065832 + ], + [ + -85.732315, + 13.829235 + ], + [ + -84.906677, + 14.808611 + ], + [ + -84.482788, + 14.617777 + ], + [ + -83.239731, + 14.982498 + ], + [ + -83.131851, + 14.992979 + ] + ] + ], + [ + [ + [ + -86.883621, + 16.086666 + ], + [ + -86.876114, + 16.121666 + ], + [ + -86.991669, + 16.087219 + ], + [ + -86.883621, + 16.086666 + ] + ] + ], + [ + [ + [ + -86.599731, + 16.296108 + ], + [ + -86.263336, + 16.423332 + ], + [ + -86.410278, + 16.421665 + ], + [ + -86.599731, + 16.296108 + ] + ] + ], + [ + [ + [ + -85.944733, + 16.409721 + ], + [ + -85.835556, + 16.498886 + ], + [ + -85.900284, + 16.49472 + ], + [ + -85.944733, + 16.409721 + ] + ] + ], + [ + [ + [ + -83.946671, + 17.405277 + ], + [ + -83.944458, + 17.414165 + ], + [ + -83.955292, + 17.417774 + ], + [ + -83.946671, + 17.405277 + ] + ] + ], + [ + [ + [ + -83.910568, + 17.409721 + ], + [ + -83.910004, + 17.41861 + ], + [ + -83.926392, + 17.416664 + ], + [ + -83.910568, + 17.409721 + ] + ] + ] + ] + }, + "name" : "Honduras", + "iso2" : "HN", + "iso3" : "HND" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "kr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 16.903891, + 42.726107 + ], + [ + 16.939722, + 42.768328 + ], + [ + 16.81389, + 42.768053 + ], + [ + 16.903891, + 42.726107 + ] + ] + ], + [ + [ + [ + 17.745001, + 42.691942 + ], + [ + 17.399443, + 42.797777 + ], + [ + 17.321665, + 42.788057 + ], + [ + 17.745001, + 42.691942 + ] + ] + ], + [ + [ + [ + 16.820555, + 42.960001 + ], + [ + 16.633055, + 42.981112 + ], + [ + 17.183611, + 42.918612 + ], + [ + 16.820555, + 42.960001 + ] + ] + ], + [ + [ + [ + 17.298887, + 43.006945 + ], + [ + 17.004168, + 43.046663 + ], + [ + 18.503199, + 42.449442 + ], + [ + 18.455557, + 42.565828 + ], + [ + 17.649843, + 42.889078 + ], + [ + 17.298887, + 43.006945 + ] + ] + ], + [ + [ + [ + 16.208334, + 43.022219 + ], + [ + 16.251944, + 43.072496 + ], + [ + 16.050554, + 43.063051 + ], + [ + 16.208334, + 43.022219 + ] + ] + ], + [ + [ + [ + 16.562037, + 43.230852 + ], + [ + 16.373056, + 43.194162 + ], + [ + 17.190084, + 43.126055 + ], + [ + 16.562037, + 43.230852 + ] + ] + ], + [ + [ + [ + 16.851667, + 43.269167 + ], + [ + 16.753054, + 43.36278 + ], + [ + 16.404722, + 43.329721 + ], + [ + 16.851667, + 43.269167 + ] + ] + ], + [ + [ + [ + 16.390554, + 43.332773 + ], + [ + 16.326387, + 43.394167 + ], + [ + 16.198332, + 43.411661 + ], + [ + 16.390554, + 43.332773 + ] + ] + ], + [ + [ + [ + 15.687498, + 43.630831 + ], + [ + 15.662222, + 43.665834 + ], + [ + 15.606668, + 43.674997 + ], + [ + 15.687498, + 43.630831 + ] + ] + ], + [ + [ + [ + 15.346388, + 43.808886 + ], + [ + 15.225, + 43.873056 + ], + [ + 15.376669, + 43.775927 + ], + [ + 15.346388, + 43.808886 + ] + ] + ], + [ + [ + [ + 15.446665, + 43.887217 + ], + [ + 15.376944, + 43.96805 + ], + [ + 15.260832, + 44.006662 + ], + [ + 15.446665, + 43.887217 + ] + ] + ], + [ + [ + [ + 15.250555, + 44.016665 + ], + [ + 15.243055, + 44.053057 + ], + [ + 15.062498, + 44.157221 + ], + [ + 15.250555, + 44.016665 + ] + ] + ], + [ + [ + [ + 14.855276, + 44.17528 + ], + [ + 15.137499, + 43.896387 + ], + [ + 15.226389, + 43.90111 + ], + [ + 14.855276, + 44.17528 + ] + ] + ], + [ + [ + [ + 14.838655, + 44.609503 + ], + [ + 15.248888, + 44.327776 + ], + [ + 14.732779, + 44.698053 + ], + [ + 14.838655, + 44.609503 + ] + ] + ], + [ + [ + [ + 14.521944, + 44.474161 + ], + [ + 14.3375, + 44.710276 + ], + [ + 14.367498, + 44.590273 + ], + [ + 14.521944, + 44.474161 + ] + ] + ], + [ + [ + [ + 14.757311, + 44.803755 + ], + [ + 14.659254, + 44.794737 + ], + [ + 14.865278, + 44.706667 + ], + [ + 14.757311, + 44.803755 + ] + ] + ], + [ + [ + [ + 14.455076, + 44.9097 + ], + [ + 14.315279, + 45.174997 + ], + [ + 14.400278, + 44.915277 + ], + [ + 14.294138, + 44.907248 + ], + [ + 14.493334, + 44.606386 + ], + [ + 14.455076, + 44.9097 + ] + ] + ], + [ + [ + [ + 14.755835, + 44.941385 + ], + [ + 14.539167, + 45.239443 + ], + [ + 14.428888, + 45.078333 + ], + [ + 14.755835, + 44.941385 + ] + ] + ], + [ + [ + [ + 16.5725, + 46.475275 + ], + [ + 15.654722, + 46.219446 + ], + [ + 15.697779, + 45.844164 + ], + [ + 15.174459, + 45.425821 + ], + [ + 14.601389, + 45.67528 + ], + [ + 13.591742, + 45.481699 + ], + [ + 13.899168, + 44.774439 + ], + [ + 14.292776, + 45.324999 + ], + [ + 14.482779, + 45.311106 + ], + [ + 15.988333, + 43.504442 + ], + [ + 16.884443, + 43.403055 + ], + [ + 17.578527, + 42.943827 + ], + [ + 16.143057, + 44.199442 + ], + [ + 15.786665, + 45.171946 + ], + [ + 18.251944, + 45.138887 + ], + [ + 19.039721, + 44.861383 + ], + [ + 19.423887, + 45.225832 + ], + [ + 18.980326, + 45.378626 + ], + [ + 18.817022, + 45.912966 + ], + [ + 17.669443, + 45.835001 + ], + [ + 16.607874, + 46.476236 + ], + [ + 16.5725, + 46.475275 + ] + ] + ] + ] + }, + "name" : "Croatia", + "iso2" : "HR", + "iso3" : "HRV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "k71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 18.81702, + 45.912964 + ], + [ + 20.261024, + 46.114853 + ], + [ + 20.726955, + 46.17556 + ], + [ + 21.176666, + 46.295555 + ], + [ + 22.032497, + 47.530273 + ], + [ + 22.894804, + 47.95454 + ], + [ + 22.151442, + 48.411919 + ], + [ + 20.660553, + 48.563332 + ], + [ + 18.655277, + 47.758606 + ], + [ + 17.251656, + 48.024994 + ], + [ + 17.166386, + 48.012497 + ], + [ + 17.053886, + 47.709442 + ], + [ + 16.450554, + 47.698051 + ], + [ + 16.713886, + 47.543884 + ], + [ + 16.510555, + 47.00666 + ], + [ + 16.111805, + 46.86972 + ], + [ + 16.607872, + 46.476234 + ], + [ + 17.669441, + 45.834999 + ], + [ + 18.81702, + 45.912964 + ] + ] + ] + }, + "name" : "Hungary", + "iso2" : "HU", + "iso3" : "HUN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "lL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -15.070835, + 66.1436 + ], + [ + -14.710835, + 66.367218 + ], + [ + -15.381945, + 66.142776 + ], + [ + -16.527779, + 66.508041 + ], + [ + -16.594723, + 66.09111 + ], + [ + -18.299446, + 66.174713 + ], + [ + -18.069447, + 65.643326 + ], + [ + -18.784168, + 66.191101 + ], + [ + -19.453056, + 66.056381 + ], + [ + -19.451668, + 65.72583 + ], + [ + -20.179169, + 66.12944 + ], + [ + -20.424446, + 66.083054 + ], + [ + -20.446667, + 65.494995 + ], + [ + -20.927223, + 65.588882 + ], + [ + -21.084446, + 65.159164 + ], + [ + -21.777779, + 65.765823 + ], + [ + -21.33778, + 65.733322 + ], + [ + -21.603058, + 65.953323 + ], + [ + -21.399445, + 66.027222 + ], + [ + -22.9375, + 66.466385 + ], + [ + -23.188614, + 66.349716 + ], + [ + -22.43417, + 66.267776 + ], + [ + -22.972225, + 66.221375 + ], + [ + -22.424725, + 65.847488 + ], + [ + -23.473614, + 66.199158 + ], + [ + -23.665558, + 66.111099 + ], + [ + -23.371113, + 65.986664 + ], + [ + -23.81889, + 66.013321 + ], + [ + -23.213337, + 65.837494 + ], + [ + -23.873058, + 65.866653 + ], + [ + -23.226391, + 65.741653 + ], + [ + -24.105835, + 65.806656 + ], + [ + -23.805557, + 65.530548 + ], + [ + -24.542225, + 65.497772 + ], + [ + -21.698612, + 65.449158 + ], + [ + -22.56139, + 65.171097 + ], + [ + -21.835835, + 65.030273 + ], + [ + -24.059532, + 64.890884 + ], + [ + -22.407223, + 64.812485 + ], + [ + -22.170834, + 64.453888 + ], + [ + -21.508057, + 64.645554 + ], + [ + -22.102501, + 64.314438 + ], + [ + -21.36278, + 64.384987 + ], + [ + -22.703335, + 64.080826 + ], + [ + -22.689167, + 63.80555 + ], + [ + -21.053612, + 63.945 + ], + [ + -18.710003, + 63.391106 + ], + [ + -15.383335, + 64.371933 + ], + [ + -14.925001, + 64.26416 + ], + [ + -14.539167, + 64.406097 + ], + [ + -14.511112, + 64.797485 + ], + [ + -13.499445, + 65.069153 + ], + [ + -14.034723, + 65.193054 + ], + [ + -13.570278, + 65.25943 + ], + [ + -13.611389, + 65.509995 + ], + [ + -14.563612, + 65.494995 + ], + [ + -14.336668, + 65.783051 + ], + [ + -14.848333, + 65.731384 + ], + [ + -14.618891, + 65.994431 + ], + [ + -15.070835, + 66.1436 + ] + ] + ] + }, + "name" : "Iceland", + "iso2" : "IS", + "iso3" : "ISL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "lb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 93.912767, + 7.028612 + ], + [ + 93.671099, + 7.181944 + ], + [ + 93.82387, + 6.745554 + ], + [ + 93.912767, + 7.028612 + ] + ] + ], + [ + [ + [ + 93.662203, + 7.405832 + ], + [ + 93.664156, + 7.414721 + ], + [ + 93.654436, + 7.417501 + ], + [ + 93.662203, + 7.405832 + ] + ] + ], + [ + [ + [ + 93.639437, + 7.247221 + ], + [ + 93.728319, + 7.32472 + ], + [ + 93.69359, + 7.43889 + ], + [ + 93.639437, + 7.247221 + ] + ] + ], + [ + [ + [ + 93.454714, + 7.868891 + ], + [ + 93.317492, + 7.997499 + ], + [ + 93.349428, + 7.879999 + ], + [ + 93.454714, + 7.868891 + ] + ] + ], + [ + [ + [ + 93.57361, + 7.927778 + ], + [ + 93.540545, + 8.015554 + ], + [ + 93.502779, + 7.977221 + ], + [ + 93.57361, + 7.927778 + ] + ] + ], + [ + [ + [ + 93.488039, + 7.98889 + ], + [ + 93.513323, + 8.226389 + ], + [ + 93.443041, + 8.153612 + ], + [ + 93.488039, + 7.98889 + ] + ] + ], + [ + [ + [ + 73.032213, + 8.246664 + ], + [ + 73.078875, + 8.310278 + ], + [ + 73.02083, + 8.26861 + ], + [ + 73.032213, + 8.246664 + ] + ] + ], + [ + [ + [ + 93.169146, + 8.201387 + ], + [ + 93.073885, + 8.348055 + ], + [ + 93.059984, + 8.271666 + ], + [ + 93.169146, + 8.201387 + ] + ] + ], + [ + [ + [ + 93.609423, + 8.429998 + ], + [ + 93.626085, + 8.508055 + ], + [ + 93.601931, + 8.565275 + ], + [ + 93.609423, + 8.429998 + ] + ] + ], + [ + [ + [ + 92.774431, + 9.12472 + ], + [ + 92.76166, + 9.263613 + ], + [ + 92.708879, + 9.16361 + ], + [ + 92.774431, + 9.12472 + ] + ] + ], + [ + [ + [ + 73.637499, + 10.052778 + ], + [ + 73.64554, + 10.097498 + ], + [ + 73.630266, + 10.071112 + ], + [ + 73.637499, + 10.052778 + ] + ] + ], + [ + [ + [ + 72.633608, + 10.550833 + ], + [ + 72.650545, + 10.577497 + ], + [ + 72.624697, + 10.552778 + ], + [ + 72.633608, + 10.550833 + ] + ] + ], + [ + [ + [ + 73.684145, + 10.823053 + ], + [ + 73.685259, + 10.83 + ], + [ + 73.662203, + 10.827776 + ], + [ + 73.684145, + 10.823053 + ] + ] + ], + [ + [ + [ + 72.179979, + 10.817499 + ], + [ + 72.197481, + 10.872774 + ], + [ + 72.170534, + 10.809721 + ], + [ + 72.179979, + 10.817499 + ] + ] + ], + [ + [ + [ + 92.492754, + 10.518332 + ], + [ + 92.494982, + 10.90111 + ], + [ + 92.346651, + 10.694166 + ], + [ + 92.492754, + 10.518332 + ] + ] + ], + [ + [ + [ + 72.29915, + 10.938055 + ], + [ + 72.301378, + 10.954165 + ], + [ + 72.289431, + 10.942778 + ], + [ + 72.29915, + 10.938055 + ] + ] + ], + [ + [ + [ + 72.749422, + 11.108889 + ], + [ + 72.74721, + 11.120554 + ], + [ + 72.73665, + 11.107222 + ], + [ + 72.749422, + 11.108889 + ] + ] + ], + [ + [ + [ + 72.107485, + 11.202776 + ], + [ + 72.108034, + 11.215555 + ], + [ + 72.099718, + 11.201109 + ], + [ + 72.107485, + 11.202776 + ] + ] + ], + [ + [ + [ + 72.778322, + 11.188887 + ], + [ + 72.789156, + 11.256945 + ], + [ + 72.77083, + 11.201109 + ], + [ + 72.778322, + 11.188887 + ] + ] + ], + [ + [ + [ + 73.006945, + 11.476664 + ], + [ + 73.013323, + 11.502222 + ], + [ + 73.004442, + 11.507502 + ], + [ + 73.006945, + 11.476664 + ] + ] + ], + [ + [ + [ + 92.633043, + 11.354166 + ], + [ + 92.703325, + 11.385557 + ], + [ + 92.643602, + 11.514166 + ], + [ + 92.633043, + 11.354166 + ] + ] + ], + [ + [ + [ + 92.271379, + 11.524443 + ], + [ + 92.27582, + 11.58222 + ], + [ + 92.216936, + 11.594721 + ], + [ + 92.271379, + 11.524443 + ] + ] + ], + [ + [ + [ + 72.712496, + 11.688612 + ], + [ + 72.715273, + 11.699999 + ], + [ + 72.700823, + 11.686388 + ], + [ + 72.712496, + 11.688612 + ] + ] + ], + [ + [ + [ + 93.058321, + 11.888613 + ], + [ + 92.978594, + 12.033609 + ], + [ + 92.943316, + 11.982775 + ], + [ + 93.058321, + 11.888613 + ] + ] + ], + [ + [ + [ + 93.13611, + 12.131941 + ], + [ + 93.131365, + 12.149168 + ], + [ + 93.125536, + 12.13389 + ], + [ + 93.13611, + 12.131941 + ] + ] + ], + [ + [ + [ + 92.717058, + 12.182806 + ], + [ + 92.524431, + 11.854166 + ], + [ + 92.718599, + 11.49111 + ], + [ + 92.717058, + 12.182806 + ] + ] + ], + [ + [ + [ + 93.093874, + 12.088053 + ], + [ + 93.086657, + 12.20722 + ], + [ + 93.060808, + 12.143888 + ], + [ + 93.093874, + 12.088053 + ] + ] + ], + [ + [ + [ + 93.865541, + 12.259165 + ], + [ + 93.873308, + 12.277498 + ], + [ + 93.848604, + 12.275831 + ], + [ + 93.865541, + 12.259165 + ] + ] + ], + [ + [ + [ + 92.782534, + 12.28768 + ], + [ + 92.783327, + 12.29389 + ], + [ + 92.774157, + 12.290556 + ], + [ + 92.782534, + 12.28768 + ] + ] + ], + [ + [ + [ + 92.831614, + 12.316526 + ], + [ + 92.754274, + 12.071337 + ], + [ + 92.901659, + 12.265833 + ], + [ + 92.831614, + 12.316526 + ] + ] + ], + [ + [ + [ + 92.904985, + 12.380831 + ], + [ + 92.910814, + 12.404165 + ], + [ + 92.872759, + 12.405832 + ], + [ + 92.904985, + 12.380831 + ] + ] + ], + [ + [ + [ + 92.928591, + 12.909166 + ], + [ + 92.758883, + 12.304998 + ], + [ + 92.98749, + 12.508612 + ], + [ + 92.928591, + 12.909166 + ] + ] + ], + [ + [ + [ + 92.691088, + 12.79611 + ], + [ + 92.714434, + 12.99 + ], + [ + 92.668871, + 12.855276 + ], + [ + 92.691088, + 12.79611 + ] + ] + ], + [ + [ + [ + 92.875811, + 13.39139 + ], + [ + 92.876085, + 13.403887 + ], + [ + 92.866655, + 13.400557 + ], + [ + 92.875811, + 13.39139 + ] + ] + ], + [ + [ + [ + 94.276934, + 13.41361 + ], + [ + 94.284151, + 13.444166 + ], + [ + 94.263887, + 13.430277 + ], + [ + 94.276934, + 13.41361 + ] + ] + ], + [ + [ + [ + 93.064425, + 13.237497 + ], + [ + 93.003878, + 13.571112 + ], + [ + 92.813417, + 12.897921 + ], + [ + 93.064425, + 13.237497 + ] + ] + ], + [ + [ + [ + 93.049425, + 13.639444 + ], + [ + 93.036379, + 13.679998 + ], + [ + 92.993044, + 13.661665 + ], + [ + 93.049425, + 13.639444 + ] + ] + ], + [ + [ + [ + 80.94803, + 15.736666 + ], + [ + 80.99193, + 15.765833 + ], + [ + 80.878588, + 15.843332 + ], + [ + 80.94803, + 15.736666 + ] + ] + ], + [ + [ + [ + 82.370867, + 16.867777 + ], + [ + 82.368868, + 16.871111 + ], + [ + 82.370821, + 16.858332 + ], + [ + 82.370867, + 16.867777 + ] + ] + ], + [ + [ + [ + 88.897219, + 21.525 + ], + [ + 88.908602, + 21.568609 + ], + [ + 88.836382, + 21.605833 + ], + [ + 88.825548, + 21.559443 + ], + [ + 88.844988, + 21.526945 + ], + [ + 88.897219, + 21.525 + ] + ] + ], + [ + [ + [ + 72.71805, + 21.606386 + ], + [ + 72.7661, + 21.655275 + ], + [ + 72.603319, + 21.64361 + ], + [ + 72.71805, + 21.606386 + ] + ] + ], + [ + [ + [ + 88.134722, + 21.619997 + ], + [ + 88.132479, + 21.876108 + ], + [ + 88.044985, + 21.66083 + ], + [ + 88.134722, + 21.619997 + ] + ] + ], + [ + [ + [ + 88.646379, + 21.825556 + ], + [ + 88.641939, + 21.921663 + ], + [ + 88.579165, + 21.826944 + ], + [ + 88.593599, + 21.797777 + ], + [ + 88.644991, + 21.784723 + ], + [ + 88.646379, + 21.825556 + ] + ] + ], + [ + [ + [ + 88.088594, + 21.849443 + ], + [ + 88.135271, + 21.907499 + ], + [ + 88.113039, + 21.948606 + ], + [ + 88.088594, + 21.849443 + ] + ] + ], + [ + [ + [ + 81.025362, + 30.204355 + ], + [ + 79.092485, + 31.437498 + ], + [ + 78.767214, + 31.309999 + ], + [ + 78.397768, + 32.548609 + ], + [ + 78.760546, + 32.635553 + ], + [ + 78.971102, + 32.350832 + ], + [ + 79.530275, + 32.754168 + ], + [ + 78.811647, + 33.525827 + ], + [ + 78.985353, + 34.350016 + ], + [ + 78.309145, + 34.642496 + ], + [ + 78.075548, + 35.445826 + ], + [ + 77.823931, + 35.501329 + ], + [ + 77.042482, + 35.099161 + ], + [ + 76.869982, + 34.658884 + ], + [ + 73.941652, + 34.646387 + ], + [ + 73.913317, + 34.068605 + ], + [ + 74.295824, + 33.977488 + ], + [ + 73.990541, + 33.743883 + ], + [ + 74.01639, + 33.188601 + ], + [ + 75.381289, + 32.214243 + ], + [ + 74.605326, + 31.877119 + ], + [ + 74.69459, + 31.053961 + ], + [ + 73.872499, + 30.3901 + ], + [ + 73.933405, + 30.136003 + ], + [ + 73.397493, + 29.942774 + ], + [ + 71.896944, + 27.961943 + ], + [ + 70.829439, + 27.706385 + ], + [ + 70.368319, + 28.020834 + ], + [ + 69.580278, + 27.17333 + ], + [ + 69.506105, + 26.754446 + ], + [ + 70.183596, + 26.536112 + ], + [ + 70.088045, + 25.982775 + ], + [ + 70.666384, + 25.698332 + ], + [ + 71.105822, + 24.416388 + ], + [ + 70.014711, + 24.169718 + ], + [ + 68.783052, + 24.332777 + ], + [ + 68.74721, + 23.969995 + ], + [ + 68.197802, + 23.766687 + ], + [ + 68.321383, + 23.580832 + ], + [ + 68.741365, + 23.844164 + ], + [ + 68.433046, + 23.429998 + ], + [ + 69.215822, + 22.840277 + ], + [ + 70.506945, + 23.102221 + ], + [ + 70.165545, + 22.548334 + ], + [ + 68.944429, + 22.294165 + ], + [ + 70.81888, + 20.697496 + ], + [ + 72.110537, + 21.201941 + ], + [ + 72.151934, + 22.283888 + ], + [ + 72.919146, + 22.267778 + ], + [ + 72.500826, + 21.976664 + ], + [ + 72.734423, + 21.986383 + ], + [ + 72.541658, + 21.663885 + ], + [ + 73.130816, + 21.753611 + ], + [ + 72.56415, + 21.378054 + ], + [ + 72.93442, + 20.774721 + ], + [ + 72.664156, + 19.870832 + ], + [ + 73.047228, + 19.217257 + ], + [ + 72.78055, + 19.312498 + ], + [ + 72.769991, + 18.943052 + ], + [ + 73.055544, + 19.011946 + ], + [ + 72.853868, + 18.660555 + ], + [ + 73.447756, + 16.055834 + ], + [ + 74.411928, + 14.483332 + ], + [ + 74.810259, + 12.864721 + ], + [ + 75.688875, + 11.435278 + ], + [ + 76.575823, + 8.876944 + ], + [ + 77.536104, + 8.071943 + ], + [ + 78.060534, + 8.364164 + ], + [ + 78.396654, + 9.08972 + ], + [ + 79.451387, + 9.15 + ], + [ + 78.908037, + 9.479719 + ], + [ + 79.324999, + 10.280832 + ], + [ + 79.859713, + 10.288889 + ], + [ + 79.763048, + 11.64889 + ], + [ + 80.349718, + 13.334166 + ], + [ + 80.049425, + 13.617777 + ], + [ + 80.313036, + 13.439165 + ], + [ + 80.048876, + 15.048887 + ], + [ + 80.279436, + 15.699167 + ], + [ + 80.825274, + 15.751944 + ], + [ + 80.891939, + 16.02611 + ], + [ + 81.017275, + 15.775557 + ], + [ + 81.313372, + 16.363333 + ], + [ + 82.301699, + 16.583055 + ], + [ + 82.364428, + 17.100832 + ], + [ + 84.106371, + 18.292223 + ], + [ + 85.434885, + 19.887011 + ], + [ + 85.451387, + 19.660276 + ], + [ + 86.420259, + 19.982775 + ], + [ + 87.02556, + 20.674829 + ], + [ + 86.96332, + 21.381941 + ], + [ + 87.796373, + 21.698885 + ], + [ + 88.168047, + 22.091665 + ], + [ + 87.907763, + 22.421663 + ], + [ + 88.199419, + 22.155275 + ], + [ + 88.254168, + 21.548609 + ], + [ + 88.496096, + 21.950274 + ], + [ + 88.572222, + 21.559999 + ], + [ + 88.628588, + 21.749163 + ], + [ + 88.556932, + 21.813334 + ], + [ + 88.667757, + 22.202219 + ], + [ + 88.707216, + 21.566389 + ], + [ + 88.784426, + 21.556944 + ], + [ + 88.855547, + 21.632776 + ], + [ + 89.007494, + 21.6 + ], + [ + 89.088884, + 21.628054 + ], + [ + 89.005556, + 21.903608 + ], + [ + 89.063005, + 22.115477 + ], + [ + 88.986101, + 23.20833 + ], + [ + 88.563875, + 23.65222 + ], + [ + 88.750536, + 24.220984 + ], + [ + 88.043322, + 24.684164 + ], + [ + 88.450823, + 25.187777 + ], + [ + 89.009432, + 25.288332 + ], + [ + 88.110537, + 25.835554 + ], + [ + 88.433046, + 26.55139 + ], + [ + 89.342775, + 26.017031 + ], + [ + 89.739153, + 26.156385 + ], + [ + 89.845263, + 25.28861 + ], + [ + 92.406374, + 25.030554 + ], + [ + 92.12137, + 24.393332 + ], + [ + 91.373293, + 24.101942 + ], + [ + 91.159426, + 23.640554 + ], + [ + 91.613604, + 22.943052 + ], + [ + 91.949999, + 23.732218 + ], + [ + 92.283327, + 23.705275 + ], + [ + 92.600817, + 21.982218 + ], + [ + 93.196642, + 22.256388 + ], + [ + 93.338732, + 24.077917 + ], + [ + 94.151094, + 23.855276 + ], + [ + 94.734423, + 25.024721 + ], + [ + 94.625536, + 25.397776 + ], + [ + 95.178041, + 26.058889 + ], + [ + 95.141375, + 26.612497 + ], + [ + 96.194139, + 27.270834 + ], + [ + 97.13666, + 27.085833 + ], + [ + 96.88666, + 27.606108 + ], + [ + 97.348879, + 28.222773 + ], + [ + 96.401934, + 28.35111 + ], + [ + 96.615816, + 28.790277 + ], + [ + 96.470827, + 29.056665 + ], + [ + 96.169146, + 28.903608 + ], + [ + 96.395266, + 29.255278 + ], + [ + 96.077486, + 29.468607 + ], + [ + 95.387774, + 29.035276 + ], + [ + 94.647509, + 29.33346 + ], + [ + 92.544985, + 27.86194 + ], + [ + 91.657763, + 27.764723 + ], + [ + 92.113604, + 27.297499 + ], + [ + 92.069994, + 26.861944 + ], + [ + 89.643053, + 26.715273 + ], + [ + 88.893877, + 26.975554 + ], + [ + 88.917727, + 27.320326 + ], + [ + 88.831667, + 28.013334 + ], + [ + 88.142794, + 27.866056 + ], + [ + 88.014711, + 26.364721 + ], + [ + 85.855547, + 26.570276 + ], + [ + 84.147219, + 27.511389 + ], + [ + 83.291368, + 27.337778 + ], + [ + 82.066401, + 27.914156 + ], + [ + 80.055819, + 28.836111 + ], + [ + 80.376925, + 29.748606 + ], + [ + 81.025362, + 30.204355 + ] + ], + [ + [ + 86.283602, + 20.038054 + ], + [ + 86.25139, + 20.045 + ], + [ + 86.276094, + 20.050001 + ], + [ + 86.283602, + 20.038054 + ] + ] + ] + ] + }, + "name" : "India", + "iso2" : "IN", + "iso3" : "IND" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "lr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 54.034439, + 26.484718 + ], + [ + 54.018883, + 26.554165 + ], + [ + 53.903603, + 26.53611 + ], + [ + 54.034439, + 26.484718 + ] + ] + ], + [ + [ + [ + 53.318054, + 26.797775 + ], + [ + 53.151657, + 26.846386 + ], + [ + 53.203323, + 26.802498 + ], + [ + 53.318054, + 26.797775 + ] + ] + ], + [ + [ + [ + 56.346657, + 26.82222 + ], + [ + 56.4086, + 26.885551 + ], + [ + 56.34388, + 26.884163 + ], + [ + 56.346657, + 26.82222 + ] + ] + ], + [ + [ + [ + 55.734993, + 26.838051 + ], + [ + 55.688599, + 26.929161 + ], + [ + 55.632767, + 26.79472 + ], + [ + 55.734993, + 26.838051 + ] + ] + ], + [ + [ + [ + 56.24527, + 26.927494 + ], + [ + 55.75222, + 26.951939 + ], + [ + 55.769989, + 26.792774 + ], + [ + 55.283607, + 26.558609 + ], + [ + 56.24527, + 26.927494 + ] + ] + ], + [ + [ + [ + 56.470825, + 27.037777 + ], + [ + 56.509163, + 27.071663 + ], + [ + 56.469986, + 27.108608 + ], + [ + 56.434715, + 27.086941 + ], + [ + 56.470825, + 27.037777 + ] + ] + ], + [ + [ + [ + 50.32888, + 29.20805 + ], + [ + 50.338326, + 29.268887 + ], + [ + 50.291382, + 29.278053 + ], + [ + 50.32888, + 29.20805 + ] + ] + ], + [ + [ + [ + 61.276558, + 35.607246 + ], + [ + 61.157211, + 36.649994 + ], + [ + 60.333054, + 36.656097 + ], + [ + 59.338882, + 37.539162 + ], + [ + 57.450272, + 37.939156 + ], + [ + 57.212212, + 38.281937 + ], + [ + 55.442764, + 38.086105 + ], + [ + 54.681107, + 37.443604 + ], + [ + 53.90564, + 37.350853 + ], + [ + 53.943321, + 36.799995 + ], + [ + 51.101105, + 36.728874 + ], + [ + 50.191376, + 37.38916 + ], + [ + 49.102486, + 37.643044 + ], + [ + 48.888283, + 38.442406 + ], + [ + 48.020821, + 38.835541 + ], + [ + 48.359787, + 39.385216 + ], + [ + 47.976662, + 39.719231 + ], + [ + 46.540375, + 38.875587 + ], + [ + 46.178246, + 38.841148 + ], + [ + 45.004433, + 39.416382 + ], + [ + 44.813042, + 39.630814 + ], + [ + 44.60582, + 39.78054 + ], + [ + 44.4161, + 39.425262 + ], + [ + 44.034157, + 39.384995 + ], + [ + 44.484154, + 38.345543 + ], + [ + 44.223969, + 37.899151 + ], + [ + 44.61805, + 37.727768 + ], + [ + 44.787338, + 37.149712 + ], + [ + 45.405823, + 35.990829 + ], + [ + 46.346939, + 35.817215 + ], + [ + 45.979988, + 35.584717 + ], + [ + 46.171364, + 35.113411 + ], + [ + 45.797733, + 34.91404 + ], + [ + 45.401054, + 33.979568 + ], + [ + 46.181938, + 33.260277 + ], + [ + 46.107216, + 32.967491 + ], + [ + 47.434158, + 32.397774 + ], + [ + 47.864441, + 31.798607 + ], + [ + 47.693878, + 31.00111 + ], + [ + 48.036385, + 30.997494 + ], + [ + 48.032494, + 30.491383 + ], + [ + 48.545555, + 29.96303 + ], + [ + 48.920547, + 30.043053 + ], + [ + 48.984993, + 30.513054 + ], + [ + 49.551384, + 30.0075 + ], + [ + 50.048607, + 30.207222 + ], + [ + 51.430275, + 27.937775 + ], + [ + 52.440269, + 27.640831 + ], + [ + 53.747772, + 26.70916 + ], + [ + 54.794716, + 26.489994 + ], + [ + 56.132767, + 27.160275 + ], + [ + 56.690544, + 27.148331 + ], + [ + 57.318054, + 25.770832 + ], + [ + 61.611031, + 25.197647 + ], + [ + 61.858047, + 26.234718 + ], + [ + 63.176384, + 26.631107 + ], + [ + 63.341934, + 27.122498 + ], + [ + 62.782494, + 27.260555 + ], + [ + 62.78138, + 28.266941 + ], + [ + 61.905548, + 28.554996 + ], + [ + 60.868599, + 29.863884 + ], + [ + 61.851105, + 31.021111 + ], + [ + 61.713608, + 31.383331 + ], + [ + 60.84388, + 31.498329 + ], + [ + 60.582497, + 33.066101 + ], + [ + 60.943047, + 33.51944 + ], + [ + 60.527771, + 33.644157 + ], + [ + 60.508331, + 34.140274 + ], + [ + 60.878876, + 34.319717 + ], + [ + 60.721657, + 34.522217 + ], + [ + 61.276558, + 35.607246 + ] + ] + ] + ] + }, + "name" : "Iran (Islamic Republic of)", + "iso2" : "IR", + "iso3" : "IRN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "l71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 35.25972, + 31.78722 + ], + [ + 35.248886, + 31.808887 + ], + [ + 35.251663, + 31.788055 + ], + [ + 35.25972, + 31.78722 + ] + ] + ], + [ + [ + [ + 35.623634, + 33.245728 + ], + [ + 35.10083, + 33.093605 + ], + [ + 34.490547, + 31.596096 + ], + [ + 34.33416, + 31.25972 + ], + [ + 34.267578, + 31.216541 + ], + [ + 34.903801, + 29.486706 + ], + [ + 34.97998, + 29.545753 + ], + [ + 35.478195, + 31.497322 + ], + [ + 34.884995, + 31.391388 + ], + [ + 35.282494, + 32.516937 + ], + [ + 35.552567, + 32.394196 + ], + [ + 35.648888, + 32.685272 + ], + [ + 35.623634, + 33.245728 + ] + ] + ] + ] + }, + "name" : "Israel", + "iso2" : "IL", + "iso3" : "ISR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "mL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 13.718655, + 46.526611 + ], + [ + 12.440554, + 46.690826 + ], + [ + 12.127777, + 47.001663 + ], + [ + 10.471235, + 46.871353 + ], + [ + 10.465277, + 46.546387 + ], + [ + 10.050278, + 46.539993 + ], + [ + 10.129999, + 46.227219 + ], + [ + 9.281944, + 46.495827 + ], + [ + 9.036665, + 45.837776 + ], + [ + 8.436388, + 46.463333 + ], + [ + 7.855742, + 45.919052 + ], + [ + 7.038054, + 45.931938 + ], + [ + 6.79897, + 45.78067 + ], + [ + 7.127777, + 45.257774 + ], + [ + 6.61976, + 45.110138 + ], + [ + 7.031666, + 44.831383 + ], + [ + 6.976388, + 44.284164 + ], + [ + 7.662222, + 44.17083 + ], + [ + 7.528055, + 43.788605 + ], + [ + 8.748888, + 44.429161 + ], + [ + 10.107498, + 44.0075 + ], + [ + 11.098888, + 42.393051 + ], + [ + 15.666666, + 40.03083 + ], + [ + 16.2225, + 38.910828 + ], + [ + 15.631666, + 38.011665 + ], + [ + 16.062496, + 37.924164 + ], + [ + 16.594997, + 38.800827 + ], + [ + 17.169167, + 38.963333 + ], + [ + 17.151108, + 39.389999 + ], + [ + 16.486664, + 39.767494 + ], + [ + 16.913609, + 40.445549 + ], + [ + 17.859165, + 40.283607 + ], + [ + 18.349442, + 39.791939 + ], + [ + 18.512218, + 40.136665 + ], + [ + 18.011665, + 40.64444 + ], + [ + 15.932499, + 41.47805 + ], + [ + 16.141941, + 41.914162 + ], + [ + 14.739721, + 42.085548 + ], + [ + 14.016666, + 42.669998 + ], + [ + 13.621666, + 43.553886 + ], + [ + 12.368332, + 44.246666 + ], + [ + 12.245554, + 44.715828 + ], + [ + 12.539165, + 44.961105 + ], + [ + 12.16111, + 45.263885 + ], + [ + 12.281387, + 45.468048 + ], + [ + 13.193333, + 45.778053 + ], + [ + 13.716944, + 45.596107 + ], + [ + 13.919167, + 45.637497 + ], + [ + 13.48, + 46.011108 + ], + [ + 13.669167, + 46.177498 + ], + [ + 13.383055, + 46.297218 + ], + [ + 13.718655, + 46.526611 + ] + ], + [ + [ + 12.459166, + 43.896111 + ], + [ + 12.415798, + 43.957954 + ], + [ + 12.509998, + 43.986938 + ], + [ + 12.459166, + 43.896111 + ] + ], + [ + [ + 12.44509, + 41.903118 + ], + [ + 12.451653, + 41.907989 + ], + [ + 12.45666, + 41.901426 + ], + [ + 12.44509, + 41.903118 + ] + ] + ], + [ + [ + [ + 12.422777, + 45.420555 + ], + [ + 12.373333, + 45.428055 + ], + [ + 12.32361, + 45.343887 + ], + [ + 12.422777, + 45.420555 + ] + ] + ], + [ + [ + [ + 9.844166, + 43.034439 + ], + [ + 9.831665, + 43.075554 + ], + [ + 9.804165, + 43.063889 + ], + [ + 9.806944, + 43.00972 + ], + [ + 9.844166, + 43.034439 + ] + ] + ], + [ + [ + [ + 10.441111, + 42.844444 + ], + [ + 10.101944, + 42.772499 + ], + [ + 10.423054, + 42.708885 + ], + [ + 10.441111, + 42.844444 + ] + ] + ], + [ + [ + [ + 10.088333, + 42.57222 + ], + [ + 10.101665, + 42.593605 + ], + [ + 10.081944, + 42.618889 + ], + [ + 10.088333, + 42.57222 + ] + ] + ], + [ + [ + [ + 10.915833, + 42.325272 + ], + [ + 10.877777, + 42.388054 + ], + [ + 10.866388, + 42.358604 + ], + [ + 10.915833, + 42.325272 + ] + ] + ], + [ + [ + [ + 10.316666, + 42.317497 + ], + [ + 10.326111, + 42.34333 + ], + [ + 10.293055, + 42.349998 + ], + [ + 10.316666, + 42.317497 + ] + ] + ], + [ + [ + [ + 9.513332, + 41.14666 + ], + [ + 8.192499, + 40.913605 + ], + [ + 8.556665, + 39.866104 + ], + [ + 8.406944, + 38.958611 + ], + [ + 8.859165, + 38.879166 + ], + [ + 9.018332, + 39.266388 + ], + [ + 9.569166, + 39.150551 + ], + [ + 9.825832, + 40.526108 + ], + [ + 9.513332, + 41.14666 + ] + ] + ], + [ + [ + [ + 8.339167, + 41.062492 + ], + [ + 8.32111, + 41.121384 + ], + [ + 8.215277, + 40.992493 + ], + [ + 8.339167, + 41.062492 + ] + ] + ], + [ + [ + [ + 12.964167, + 40.883888 + ], + [ + 12.988054, + 40.931389 + ], + [ + 12.950277, + 40.91777 + ], + [ + 12.964167, + 40.883888 + ] + ] + ], + [ + [ + [ + 13.951387, + 40.701385 + ], + [ + 13.948055, + 40.742493 + ], + [ + 13.853888, + 40.734718 + ], + [ + 13.951387, + 40.701385 + ] + ] + ], + [ + [ + [ + 14.210554, + 40.560555 + ], + [ + 14.197222, + 40.536659 + ], + [ + 14.261944, + 40.55555 + ], + [ + 14.210554, + 40.560555 + ] + ] + ], + [ + [ + [ + 8.292221, + 39.093605 + ], + [ + 8.302776, + 39.189995 + ], + [ + 8.223888, + 39.164719 + ], + [ + 8.292221, + 39.093605 + ] + ] + ], + [ + [ + [ + 15.21361, + 38.770554 + ], + [ + 15.239166, + 38.806107 + ], + [ + 15.190277, + 38.79055 + ], + [ + 15.21361, + 38.770554 + ] + ] + ], + [ + [ + [ + 13.173332, + 38.690277 + ], + [ + 13.198332, + 38.711388 + ], + [ + 13.162222, + 38.714439 + ], + [ + 13.173332, + 38.690277 + ] + ] + ], + [ + [ + [ + 14.868332, + 38.531387 + ], + [ + 14.86861, + 38.578049 + ], + [ + 14.794722, + 38.567772 + ], + [ + 14.868332, + 38.531387 + ] + ] + ], + [ + [ + [ + 14.955276, + 38.445549 + ], + [ + 14.963888, + 38.517494 + ], + [ + 14.912222, + 38.516663 + ], + [ + 14.955276, + 38.445549 + ] + ] + ], + [ + [ + [ + 14.988888, + 38.364166 + ], + [ + 14.958887, + 38.431107 + ], + [ + 14.941111, + 38.399437 + ], + [ + 14.988888, + 38.364166 + ] + ] + ], + [ + [ + [ + 15.528889, + 38.13694 + ], + [ + 13.768888, + 37.970551 + ], + [ + 13.316666, + 38.21833 + ], + [ + 12.422222, + 37.796104 + ], + [ + 15.081388, + 36.649162 + ], + [ + 15.316666, + 37.008888 + ], + [ + 15.086666, + 37.479439 + ], + [ + 15.528889, + 38.13694 + ] + ] + ], + [ + [ + [ + 12.073889, + 37.953606 + ], + [ + 12.059166, + 37.989166 + ], + [ + 12.029999, + 37.986938 + ], + [ + 12.073889, + 37.953606 + ] + ] + ], + [ + [ + [ + 12.354166, + 37.906105 + ], + [ + 12.339167, + 37.934441 + ], + [ + 12.271387, + 37.936386 + ], + [ + 12.354166, + 37.906105 + ] + ] + ], + [ + [ + [ + 12.015833, + 36.738327 + ], + [ + 12.048332, + 36.796944 + ], + [ + 11.930832, + 36.82972 + ], + [ + 12.015833, + 36.738327 + ] + ] + ] + ] + }, + "name" : "Italy", + "iso2" : "IT", + "iso3" : "ITA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "mb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -3.102272, + 5.109545 + ], + [ + -3.168334, + 5.117222 + ], + [ + -3.103041, + 5.085022 + ], + [ + -3.102272, + 5.109545 + ] + ] + ], + [ + [ + [ + -4.787278, + 5.168312 + ], + [ + -4.004445, + 5.231667 + ], + [ + -4.146389, + 5.277222 + ], + [ + -4.787278, + 5.168312 + ] + ] + ], + [ + [ + [ + -4.787278, + 5.168312 + ], + [ + -3.807778, + 5.375555 + ], + [ + -4.004168, + 5.253611 + ], + [ + -3.297223, + 5.118055 + ], + [ + -3.1425, + 5.367777 + ], + [ + -2.928128, + 5.100222 + ], + [ + -2.764445, + 5.579166 + ], + [ + -3.249167, + 6.611388 + ], + [ + -2.487778, + 8.197777 + ], + [ + -2.685561, + 9.481817 + ], + [ + -3.633611, + 9.954443 + ], + [ + -4.704445, + 9.698055 + ], + [ + -5.51985, + 10.436272 + ], + [ + -6.111389, + 10.197777 + ], + [ + -6.243402, + 10.735256 + ], + [ + -6.988056, + 10.147499 + ], + [ + -7.635556, + 10.448332 + ], + [ + -7.973984, + 10.165611 + ], + [ + -8.143612, + 9.533888 + ], + [ + -7.732779, + 9.088055 + ], + [ + -7.957778, + 8.813332 + ], + [ + -7.646536, + 8.378416 + ], + [ + -8.198057, + 8.496666 + ], + [ + -7.946838, + 8.018505 + ], + [ + -8.469749, + 7.561325 + ], + [ + -8.308334, + 6.860833 + ], + [ + -8.606384, + 6.507815 + ], + [ + -7.423334, + 5.839444 + ], + [ + -7.525402, + 4.352806 + ], + [ + -5.002929, + 5.129237 + ], + [ + -5.319723, + 5.230833 + ], + [ + -4.787278, + 5.168312 + ] + ] + ] + ] + }, + "name" : "Cote d'Ivoire", + "iso2" : "CI", + "iso3" : "CIV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "mr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 48.545555, + 29.96303 + ], + [ + 48.032494, + 30.491383 + ], + [ + 48.036385, + 30.997494 + ], + [ + 47.693878, + 31.00111 + ], + [ + 47.864441, + 31.798607 + ], + [ + 47.434158, + 32.397774 + ], + [ + 46.107216, + 32.967491 + ], + [ + 46.181938, + 33.260277 + ], + [ + 45.401054, + 33.979568 + ], + [ + 45.797733, + 34.91404 + ], + [ + 46.171364, + 35.113411 + ], + [ + 45.979988, + 35.584717 + ], + [ + 46.346939, + 35.817215 + ], + [ + 45.405823, + 35.990829 + ], + [ + 44.787338, + 37.149712 + ], + [ + 44.317215, + 36.970543 + ], + [ + 44.116379, + 37.316376 + ], + [ + 42.790825, + 37.38472 + ], + [ + 42.355614, + 37.106926 + ], + [ + 41.290276, + 36.355553 + ], + [ + 41.003876, + 34.419434 + ], + [ + 38.794701, + 33.377594 + ], + [ + 39.196743, + 32.154942 + ], + [ + 40.41333, + 31.94833 + ], + [ + 42.084999, + 31.11166 + ], + [ + 44.721661, + 29.19833 + ], + [ + 46.546944, + 29.104198 + ], + [ + 47.169991, + 30.01527 + ], + [ + 47.931099, + 30.018887 + ], + [ + 47.943474, + 30.017555 + ], + [ + 48.158875, + 30.038052 + ], + [ + 48.443047, + 29.927498 + ], + [ + 48.54332, + 29.926662 + ], + [ + 48.545555, + 29.96303 + ] + ] + ] + }, + "name" : "Iraq", + "iso2" : "IQ", + "iso3" : "IRQ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "m71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 153.95859, + 24.295 + ], + [ + 153.952761, + 24.321386 + ], + [ + 153.939699, + 24.300833 + ], + [ + 153.95859, + 24.295 + ] + ] + ], + [ + [ + [ + 123.870821, + 24.252501 + ], + [ + 123.921923, + 24.371111 + ], + [ + 123.678865, + 24.316111 + ], + [ + 123.870821, + 24.252501 + ] + ] + ], + [ + [ + [ + 122.996935, + 24.438887 + ], + [ + 123.009432, + 24.46694 + ], + [ + 122.935259, + 24.458052 + ], + [ + 122.996935, + 24.438887 + ] + ] + ], + [ + [ + [ + 131.264162, + 24.454996 + ], + [ + 131.273592, + 24.475828 + ], + [ + 131.243013, + 24.484442 + ], + [ + 131.264162, + 24.454996 + ] + ] + ], + [ + [ + [ + 124.26166, + 24.457499 + ], + [ + 124.324434, + 24.5875 + ], + [ + 124.075823, + 24.424719 + ], + [ + 124.219149, + 24.335276 + ], + [ + 124.26166, + 24.457499 + ] + ] + ], + [ + [ + [ + 141.309145, + 24.748053 + ], + [ + 141.357454, + 24.788889 + ], + [ + 141.290255, + 24.778055 + ], + [ + 141.309145, + 24.748053 + ] + ] + ], + [ + [ + [ + 125.356371, + 24.776667 + ], + [ + 125.263323, + 24.884165 + ], + [ + 125.257219, + 24.729162 + ], + [ + 125.451105, + 24.739717 + ], + [ + 125.356371, + 24.776667 + ] + ] + ], + [ + [ + [ + 141.293581, + 25.418329 + ], + [ + 141.293581, + 25.451387 + ], + [ + 141.268312, + 25.445276 + ], + [ + 141.293581, + 25.418329 + ] + ] + ], + [ + [ + [ + 131.243837, + 25.816668 + ], + [ + 131.250826, + 25.872221 + ], + [ + 131.20801, + 25.833334 + ], + [ + 131.243837, + 25.816668 + ] + ] + ], + [ + [ + [ + 126.761934, + 26.386942 + ], + [ + 126.692202, + 26.360556 + ], + [ + 126.787203, + 26.296946 + ], + [ + 126.761934, + 26.386942 + ] + ] + ], + [ + [ + [ + 142.177767, + 26.622499 + ], + [ + 142.153048, + 26.68722 + ], + [ + 142.111361, + 26.715273 + ], + [ + 142.177767, + 26.622499 + ] + ] + ], + [ + [ + [ + 128.252779, + 26.638887 + ], + [ + 128.287203, + 26.854998 + ], + [ + 127.883883, + 26.667498 + ], + [ + 127.652773, + 26.083055 + ], + [ + 128.252779, + 26.638887 + ] + ] + ], + [ + [ + [ + 142.232454, + 27.033335 + ], + [ + 142.233309, + 27.089167 + ], + [ + 142.178316, + 27.075277 + ], + [ + 142.232454, + 27.033335 + ] + ] + ], + [ + [ + [ + 142.194704, + 27.148333 + ], + [ + 142.194124, + 27.191107 + ], + [ + 142.178591, + 27.156664 + ], + [ + 142.194704, + 27.148333 + ] + ] + ], + [ + [ + [ + 140.878023, + 27.225828 + ], + [ + 140.872194, + 27.243052 + ], + [ + 140.864138, + 27.219442 + ], + [ + 140.878023, + 27.225828 + ] + ] + ], + [ + [ + [ + 128.609133, + 27.358889 + ], + [ + 128.701906, + 27.445829 + ], + [ + 128.523592, + 27.41361 + ], + [ + 128.609133, + 27.358889 + ] + ] + ], + [ + [ + [ + 142.195528, + 27.599165 + ], + [ + 142.1933, + 27.617777 + ], + [ + 142.169985, + 27.62472 + ], + [ + 142.195528, + 27.599165 + ] + ] + ], + [ + [ + [ + 142.089144, + 27.717775 + ], + [ + 142.086916, + 27.732218 + ], + [ + 142.06885, + 27.726664 + ], + [ + 142.089144, + 27.717775 + ] + ] + ], + [ + [ + [ + 128.951082, + 27.675829 + ], + [ + 129.02997, + 27.774443 + ], + [ + 128.947481, + 27.907499 + ], + [ + 128.951082, + 27.675829 + ] + ] + ], + [ + [ + [ + 129.336092, + 28.075277 + ], + [ + 129.191072, + 28.188608 + ], + [ + 129.219118, + 28.097776 + ], + [ + 129.336092, + 28.075277 + ] + ] + ], + [ + [ + [ + 129.992189, + 28.281668 + ], + [ + 130.027468, + 28.366388 + ], + [ + 129.91498, + 28.29611 + ], + [ + 129.992189, + 28.281668 + ] + ] + ], + [ + [ + [ + 129.715517, + 28.451109 + ], + [ + 129.143587, + 28.250277 + ], + [ + 129.375521, + 28.115274 + ], + [ + 129.715517, + 28.451109 + ] + ] + ], + [ + [ + [ + 129.733034, + 29.60972 + ], + [ + 129.741335, + 29.663332 + ], + [ + 129.706087, + 29.647497 + ], + [ + 129.733034, + 29.60972 + ] + ] + ], + [ + [ + [ + 129.896364, + 29.874166 + ], + [ + 129.8519, + 29.852221 + ], + [ + 129.921907, + 29.819719 + ], + [ + 129.896364, + 29.874166 + ] + ] + ], + [ + [ + [ + 129.963015, + 29.95722 + ], + [ + 129.928591, + 30.000002 + ], + [ + 129.927462, + 29.97444 + ], + [ + 129.963015, + 29.95722 + ] + ] + ], + [ + [ + [ + 130.558596, + 30.236383 + ], + [ + 130.666384, + 30.381941 + ], + [ + 130.382723, + 30.393888 + ], + [ + 130.558596, + 30.236383 + ] + ] + ], + [ + [ + [ + 140.330263, + 30.462496 + ], + [ + 140.329134, + 30.479162 + ], + [ + 140.303041, + 30.475275 + ], + [ + 140.330263, + 30.462496 + ] + ] + ], + [ + [ + [ + 130.906099, + 30.354719 + ], + [ + 131.053591, + 30.840277 + ], + [ + 130.869417, + 30.469717 + ], + [ + 130.906099, + 30.354719 + ] + ] + ], + [ + [ + [ + 129.721346, + 31.632219 + ], + [ + 129.782747, + 31.793333 + ], + [ + 129.670534, + 31.658331 + ], + [ + 129.721346, + 31.632219 + ] + ] + ], + [ + [ + [ + 140.025545, + 31.933054 + ], + [ + 140.009706, + 31.946665 + ], + [ + 139.999392, + 31.942495 + ], + [ + 140.025545, + 31.933054 + ] + ] + ], + [ + [ + [ + 130.157747, + 32.108889 + ], + [ + 130.195528, + 32.176943 + ], + [ + 130.116365, + 32.216661 + ], + [ + 130.157747, + 32.108889 + ] + ] + ], + [ + [ + [ + 130.369417, + 32.374712 + ], + [ + 130.44803, + 32.505274 + ], + [ + 130.209414, + 32.443048 + ], + [ + 130.369417, + 32.374712 + ] + ] + ], + [ + [ + [ + 130.02997, + 32.194994 + ], + [ + 130.20859, + 32.334993 + ], + [ + 130.157198, + 32.543612 + ], + [ + 130.02997, + 32.194994 + ] + ] + ], + [ + [ + [ + 128.90082, + 32.643053 + ], + [ + 128.660799, + 32.781939 + ], + [ + 128.601076, + 32.618601 + ], + [ + 128.90082, + 32.643053 + ] + ] + ], + [ + [ + [ + 139.841646, + 33.034998 + ], + [ + 139.864138, + 33.101664 + ], + [ + 139.743563, + 33.138048 + ], + [ + 139.841646, + 33.034998 + ] + ] + ], + [ + [ + [ + 129.100527, + 32.978601 + ], + [ + 129.117739, + 33.145548 + ], + [ + 129.055544, + 32.816385 + ], + [ + 129.100527, + 32.978601 + ] + ] + ], + [ + [ + [ + 129.392214, + 33.164713 + ], + [ + 129.564699, + 33.386942 + ], + [ + 129.454134, + 33.331667 + ], + [ + 129.392214, + 33.164713 + ] + ] + ], + [ + [ + [ + 132.276094, + 33.759439 + ], + [ + 132.230532, + 33.795275 + ], + [ + 132.185518, + 33.783335 + ], + [ + 132.276094, + 33.759439 + ] + ] + ], + [ + [ + [ + 129.754702, + 33.726938 + ], + [ + 129.701632, + 33.856943 + ], + [ + 129.658876, + 33.744997 + ], + [ + 129.754702, + 33.726938 + ] + ] + ], + [ + [ + [ + 139.618288, + 33.832216 + ], + [ + 139.601076, + 33.887774 + ], + [ + 139.582735, + 33.843607 + ], + [ + 139.618288, + 33.832216 + ] + ] + ], + [ + [ + [ + 132.326082, + 33.894716 + ], + [ + 132.451632, + 33.92277 + ], + [ + 132.18442, + 33.907495 + ], + [ + 132.326082, + 33.894716 + ] + ] + ], + [ + [ + [ + 131.214144, + 33.595545 + ], + [ + 130.690798, + 33.935823 + ], + [ + 129.578859, + 33.353609 + ], + [ + 129.944124, + 32.992495 + ], + [ + 129.675539, + 33.069994 + ], + [ + 129.746065, + 32.561106 + ], + [ + 130.346071, + 32.664438 + ], + [ + 130.211092, + 33.170832 + ], + [ + 130.605532, + 32.791384 + ], + [ + 130.446077, + 32.620546 + ], + [ + 130.587465, + 32.631937 + ], + [ + 130.569704, + 32.442492 + ], + [ + 130.162477, + 32.006945 + ], + [ + 130.228029, + 31.248884 + ], + [ + 130.63553, + 31.178885 + ], + [ + 130.534426, + 31.528887 + ], + [ + 130.808596, + 31.684164 + ], + [ + 130.666384, + 30.996664 + ], + [ + 131.343019, + 31.373888 + ], + [ + 131.989412, + 32.830553 + ], + [ + 131.902773, + 33.256945 + ], + [ + 131.51639, + 33.265551 + ], + [ + 131.66971, + 33.647493 + ], + [ + 131.214144, + 33.595545 + ] + ], + [ + [ + 129.833315, + 33.341105 + ], + [ + 129.813601, + 33.397776 + ], + [ + 129.861086, + 33.375551 + ], + [ + 129.833315, + 33.341105 + ] + ] + ], + [ + [ + [ + 139.526094, + 34.032495 + ], + [ + 139.560518, + 34.106104 + ], + [ + 139.48218, + 34.069994 + ], + [ + 139.526094, + 34.032495 + ] + ] + ], + [ + [ + [ + 132.545534, + 34.111109 + ], + [ + 132.528872, + 34.182497 + ], + [ + 132.456636, + 34.086939 + ], + [ + 132.557467, + 34.061106 + ], + [ + 132.545534, + 34.111109 + ] + ] + ], + [ + [ + [ + 132.448854, + 34.115549 + ], + [ + 132.481905, + 34.279161 + ], + [ + 132.38553, + 34.243608 + ], + [ + 132.448854, + 34.115549 + ] + ] + ], + [ + [ + [ + 132.971071, + 34.185823 + ], + [ + 133.050539, + 34.209719 + ], + [ + 133.029696, + 34.291109 + ], + [ + 132.971071, + 34.185823 + ] + ] + ], + [ + [ + [ + 129.23691, + 34.082216 + ], + [ + 129.349398, + 34.279993 + ], + [ + 129.21747, + 34.321939 + ], + [ + 129.23691, + 34.082216 + ] + ] + ], + [ + [ + [ + 134.223574, + 34.344439 + ], + [ + 133.524141, + 33.961382 + ], + [ + 132.899141, + 34.107775 + ], + [ + 132.01581, + 33.337214 + ], + [ + 132.372469, + 33.466387 + ], + [ + 132.803041, + 32.735552 + ], + [ + 133.598848, + 33.50139 + ], + [ + 134.187746, + 33.238329 + ], + [ + 134.753054, + 33.826105 + ], + [ + 134.223574, + 34.344439 + ] + ] + ], + [ + [ + [ + 139.278872, + 34.321108 + ], + [ + 139.296083, + 34.419718 + ], + [ + 139.248568, + 34.350832 + ], + [ + 139.278872, + 34.321108 + ] + ] + ], + [ + [ + [ + 134.350801, + 34.434435 + ], + [ + 134.368563, + 34.550272 + ], + [ + 134.192751, + 34.509996 + ], + [ + 134.350801, + 34.434435 + ] + ] + ], + [ + [ + [ + 134.790255, + 34.193323 + ], + [ + 135.018038, + 34.592768 + ], + [ + 134.666933, + 34.296946 + ], + [ + 134.790255, + 34.193323 + ] + ] + ], + [ + [ + [ + 129.339968, + 34.294718 + ], + [ + 129.463869, + 34.689432 + ], + [ + 129.300264, + 34.55694 + ], + [ + 129.339968, + 34.294718 + ] + ] + ], + [ + [ + [ + 139.45331, + 34.672495 + ], + [ + 139.371614, + 34.781664 + ], + [ + 139.369967, + 34.692492 + ], + [ + 139.45331, + 34.672495 + ] + ] + ], + [ + [ + [ + 133.070528, + 35.990274 + ], + [ + 133.010805, + 36.014444 + ], + [ + 133.022219, + 35.991381 + ], + [ + 133.070528, + 35.990274 + ] + ] + ], + [ + [ + [ + 133.098848, + 36.029993 + ], + [ + 133.131899, + 36.1 + ], + [ + 133.074678, + 36.079996 + ], + [ + 133.098848, + 36.029993 + ] + ] + ], + [ + [ + [ + 133.002199, + 36.033052 + ], + [ + 133.086641, + 36.12388 + ], + [ + 132.953035, + 36.066385 + ], + [ + 133.002199, + 36.033052 + ] + ] + ], + [ + [ + [ + 133.291933, + 36.324999 + ], + [ + 133.252474, + 36.152491 + ], + [ + 133.378572, + 36.200548 + ], + [ + 133.291933, + 36.324999 + ] + ] + ], + [ + [ + [ + 137.057467, + 37.143053 + ], + [ + 136.911104, + 37.143328 + ], + [ + 136.954134, + 37.089434 + ], + [ + 137.057467, + 37.143053 + ] + ] + ], + [ + [ + [ + 138.435244, + 38.047495 + ], + [ + 138.51639, + 38.320276 + ], + [ + 138.218294, + 37.800829 + ], + [ + 138.435244, + 38.047495 + ] + ] + ], + [ + [ + [ + 141.270815, + 41.342493 + ], + [ + 140.918856, + 41.530275 + ], + [ + 140.763033, + 41.17277 + ], + [ + 141.228853, + 41.22999 + ], + [ + 141.149416, + 40.862215 + ], + [ + 140.724977, + 40.829165 + ], + [ + 140.348574, + 41.248049 + ], + [ + 140.268862, + 40.806658 + ], + [ + 139.852755, + 40.601107 + ], + [ + 140.02054, + 40.230822 + ], + [ + 139.702456, + 39.93194 + ], + [ + 140.038301, + 39.803049 + ], + [ + 140.022768, + 39.378603 + ], + [ + 139.42441, + 38.151659 + ], + [ + 138.580538, + 37.398607 + ], + [ + 137.302462, + 36.746386 + ], + [ + 136.863283, + 37.08777 + ], + [ + 136.921358, + 37.197214 + ], + [ + 137.037477, + 37.18194 + ], + [ + 137.355227, + 37.431383 + ], + [ + 137.356356, + 37.504717 + ], + [ + 136.786928, + 37.362215 + ], + [ + 136.712465, + 36.75139 + ], + [ + 135.959414, + 35.973322 + ], + [ + 136.072756, + 35.648607 + ], + [ + 133.088015, + 35.581667 + ], + [ + 131.40555, + 34.419443 + ], + [ + 130.946352, + 34.416384 + ], + [ + 130.893312, + 33.921663 + ], + [ + 131.74579, + 34.053606 + ], + [ + 132.050539, + 33.772493 + ], + [ + 132.367739, + 34.358606 + ], + [ + 135.33359, + 34.718325 + ], + [ + 135.063295, + 33.877771 + ], + [ + 135.772219, + 33.454996 + ], + [ + 136.343843, + 34.189714 + ], + [ + 136.899141, + 34.266939 + ], + [ + 136.519442, + 34.692492 + ], + [ + 136.846926, + 35.078333 + ], + [ + 136.877748, + 34.72027 + ], + [ + 137.347475, + 34.722216 + ], + [ + 137.036104, + 34.564714 + ], + [ + 138.214144, + 34.599161 + ], + [ + 138.744967, + 35.122766 + ], + [ + 138.847475, + 34.592493 + ], + [ + 139.171083, + 35.236109 + ], + [ + 139.676638, + 35.135271 + ], + [ + 139.968569, + 35.660822 + ], + [ + 139.770266, + 34.953325 + ], + [ + 140.334688, + 35.13138 + ], + [ + 140.837191, + 35.743326 + ], + [ + 140.565523, + 36.247492 + ], + [ + 140.975527, + 36.987772 + ], + [ + 140.953585, + 38.14805 + ], + [ + 141.52582, + 38.26639 + ], + [ + 142.069704, + 39.546663 + ], + [ + 141.270815, + 41.342493 + ] + ] + ], + [ + [ + [ + 139.563021, + 42.228601 + ], + [ + 139.433321, + 42.201937 + ], + [ + 139.428316, + 42.061663 + ], + [ + 139.563021, + 42.228601 + ] + ] + ], + [ + [ + [ + 145.290865, + 43.53866 + ], + [ + 145.361086, + 43.555552 + ], + [ + 145.220003, + 43.602552 + ], + [ + 145.290865, + 43.53866 + ] + ] + ], + [ + [ + [ + 143.970247, + 44.141108 + ], + [ + 143.811922, + 44.168055 + ], + [ + 143.877748, + 44.147776 + ], + [ + 143.970247, + 44.141108 + ] + ] + ], + [ + [ + [ + 141.259432, + 45.098047 + ], + [ + 141.308321, + 45.188883 + ], + [ + 141.134706, + 45.213884 + ], + [ + 141.259432, + 45.098047 + ] + ] + ], + [ + [ + [ + 142.048311, + 45.404711 + ], + [ + 141.578035, + 45.232492 + ], + [ + 141.797213, + 44.624994 + ], + [ + 141.407198, + 43.291384 + ], + [ + 140.467745, + 43.367212 + ], + [ + 140.528872, + 43.000551 + ], + [ + 139.836367, + 42.615274 + ], + [ + 140.069704, + 41.419161 + ], + [ + 141.199129, + 41.798334 + ], + [ + 140.284975, + 42.253054 + ], + [ + 140.461641, + 42.567774 + ], + [ + 140.986086, + 42.295 + ], + [ + 141.790529, + 42.606386 + ], + [ + 143.239962, + 41.924166 + ], + [ + 143.989687, + 42.906656 + ], + [ + 145.822206, + 43.36944 + ], + [ + 145.256105, + 43.314997 + ], + [ + 145.069979, + 43.774714 + ], + [ + 145.34247, + 44.344156 + ], + [ + 144.779421, + 43.913324 + ], + [ + 143.772219, + 44.094156 + ], + [ + 142.048311, + 45.404711 + ] + ] + ], + [ + [ + [ + 141.039431, + 45.266939 + ], + [ + 141.074404, + 45.414156 + ], + [ + 140.973574, + 45.465273 + ], + [ + 141.039431, + 45.266939 + ] + ] + ] + ] + }, + "name" : "Japan", + "iso2" : "JP", + "iso3" : "JPN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "nL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -77.131958, + 17.878887 + ], + [ + -76.221115, + 17.904163 + ], + [ + -76.945282, + 18.394444 + ], + [ + -78.339737, + 18.362499 + ], + [ + -77.733337, + 17.84861 + ], + [ + -77.131958, + 17.878887 + ] + ] + ] + }, + "name" : "Jamaica", + "iso2" : "JM", + "iso3" : "JAM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "nb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 34.97998, + 29.545753 + ], + [ + 34.961388, + 29.360832 + ], + [ + 36.07, + 29.188889 + ], + [ + 36.743607, + 29.864719 + ], + [ + 37.502777, + 30.00222 + ], + [ + 38.001389, + 30.504166 + ], + [ + 37.005272, + 31.505554 + ], + [ + 39.196743, + 32.154942 + ], + [ + 38.794701, + 33.377594 + ], + [ + 36.837776, + 32.313606 + ], + [ + 35.648888, + 32.685272 + ], + [ + 35.552567, + 32.394196 + ], + [ + 35.478195, + 31.497322 + ], + [ + 34.97998, + 29.545753 + ] + ] + ] + }, + "name" : "Jordan", + "iso2" : "JO", + "iso3" : "JOR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "nr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 41.138054, + -2.124444 + ], + [ + 41.063889, + -2.044167 + ], + [ + 40.950272, + -2.173611 + ], + [ + 41.138054, + -2.124444 + ] + ] + ], + [ + [ + [ + 35.940552, + 4.622499 + ], + [ + 34.388191, + 4.609682 + ], + [ + 33.996666, + 4.222777 + ], + [ + 34.463333, + 3.671389 + ], + [ + 35.00972, + 1.895278 + ], + [ + 33.907219, + 0.103056 + ], + [ + 33.920273, + -1.001111 + ], + [ + 37.602776, + -2.995833 + ], + [ + 37.613609, + -3.504167 + ], + [ + 39.203026, + -4.669618 + ], + [ + 40.236664, + -2.663333 + ], + [ + 40.638054, + -2.55 + ], + [ + 40.854996, + -2.236111 + ], + [ + 40.963608, + -2.298889 + ], + [ + 40.891663, + -2.019167 + ], + [ + 41.315277, + -1.958056 + ], + [ + 41.558159, + -1.674868 + ], + [ + 40.998329, + -0.866111 + ], + [ + 40.986595, + 2.829956 + ], + [ + 41.905167, + 3.980322 + ], + [ + 41.171387, + 3.9425 + ], + [ + 40.783768, + 4.287975 + ], + [ + 39.524437, + 3.406389 + ], + [ + 38.121109, + 3.611666 + ], + [ + 37.039719, + 4.375555 + ], + [ + 35.940552, + 4.622499 + ] + ] + ] + ] + }, + "name" : "Kenya", + "iso2" : "KE", + "iso3" : "KEN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "n71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 80.234024, + 42.19622 + ], + [ + 79.194702, + 42.795792 + ], + [ + 75.664429, + 42.807457 + ], + [ + 74.293594, + 43.216904 + ], + [ + 73.583878, + 43.038574 + ], + [ + 73.519714, + 42.408005 + ], + [ + 71.747208, + 42.823586 + ], + [ + 71.171097, + 42.691353 + ], + [ + 70.97081, + 42.254669 + ], + [ + 71.276382, + 42.195511 + ], + [ + 70.187195, + 41.52829 + ], + [ + 71.418045, + 41.118553 + ], + [ + 71.69136, + 41.556335 + ], + [ + 72.19548, + 41.006592 + ], + [ + 73.173035, + 40.822998 + ], + [ + 71.710541, + 40.145767 + ], + [ + 70.98204, + 40.244843 + ], + [ + 70.498032, + 39.90683 + ], + [ + 69.540817, + 40.131378 + ], + [ + 69.306091, + 39.539436 + ], + [ + 70.997757, + 39.40094 + ], + [ + 71.473038, + 39.6213 + ], + [ + 72.248596, + 39.191856 + ], + [ + 73.655685, + 39.454826 + ], + [ + 73.994431, + 40.046043 + ], + [ + 74.86026, + 40.519386 + ], + [ + 75.578049, + 40.647995 + ], + [ + 75.697205, + 40.29911 + ], + [ + 76.345825, + 40.35022 + ], + [ + 76.873871, + 41.014107 + ], + [ + 78.080826, + 41.040787 + ], + [ + 80.234024, + 42.19622 + ] + ] + ] + }, + "name" : "Kyrgyzstan", + "iso2" : "KG", + "iso3" : "KGZ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "oL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 124.8461, + 39.497215 + ], + [ + 124.934143, + 39.60833 + ], + [ + 124.88916, + 39.605553 + ], + [ + 124.8461, + 39.497215 + ] + ] + ], + [ + [ + [ + 128.363556, + 38.625244 + ], + [ + 127.393051, + 39.200829 + ], + [ + 127.506943, + 39.724709 + ], + [ + 129.709412, + 40.829994 + ], + [ + 129.699402, + 41.648605 + ], + [ + 130.697418, + 42.292206 + ], + [ + 130.638885, + 42.406937 + ], + [ + 130.60437, + 42.42186 + ], + [ + 129.907532, + 43.005821 + ], + [ + 129.711914, + 42.444153 + ], + [ + 128.925812, + 42.024437 + ], + [ + 128.058868, + 42.003326 + ], + [ + 128.155823, + 41.382492 + ], + [ + 126.91304, + 41.796104 + ], + [ + 126.016937, + 40.899994 + ], + [ + 124.373596, + 40.09362 + ], + [ + 124.624153, + 39.594994 + ], + [ + 124.744431, + 39.776939 + ], + [ + 125.123032, + 39.557213 + ], + [ + 125.448318, + 39.576385 + ], + [ + 125.139977, + 38.796387 + ], + [ + 125.65332, + 38.627213 + ], + [ + 124.993591, + 38.588326 + ], + [ + 124.664703, + 38.121101 + ], + [ + 125.268051, + 38.072769 + ], + [ + 124.980553, + 37.924438 + ], + [ + 125.512207, + 37.88694 + ], + [ + 125.342758, + 37.671379 + ], + [ + 125.724426, + 37.91082 + ], + [ + 125.589157, + 38.027214 + ], + [ + 126.688492, + 37.833908 + ], + [ + 127.106087, + 38.287498 + ], + [ + 128.079956, + 38.311935 + ], + [ + 128.363556, + 38.625244 + ] + ] + ] + ] + }, + "name" : "Korea, Democratic People's Republic of", + "iso2" : "KP", + "iso3" : "PRK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ob1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -151.78363, + -11.466391 + ], + [ + -151.814453, + -11.392502 + ], + [ + -151.808044, + -11.449722 + ], + [ + -151.78363, + -11.466391 + ] + ] + ], + [ + [ + [ + -152.391418, + -10.105278 + ], + [ + -152.395599, + -10.095835 + ], + [ + -152.406708, + -10.097221 + ], + [ + -152.391418, + -10.105278 + ] + ] + ], + [ + [ + [ + -150.224152, + -9.954166 + ], + [ + -150.220551, + -9.923891 + ], + [ + -150.233063, + -9.938614 + ], + [ + -150.224152, + -9.954166 + ] + ] + ], + [ + [ + [ + -150.225281, + -9.915834 + ], + [ + -150.219177, + -9.901392 + ], + [ + -150.228882, + -9.890835 + ], + [ + -150.225281, + -9.915834 + ] + ] + ], + [ + [ + [ + -155.878052, + -5.64 + ], + [ + -155.85614, + -5.619445 + ], + [ + -155.92807, + -5.61889 + ], + [ + -155.878052, + -5.64 + ] + ] + ], + [ + [ + [ + -172.1875, + -4.531668 + ], + [ + -172.196381, + -4.491944 + ], + [ + -172.231384, + -4.504446 + ], + [ + -172.1875, + -4.531668 + ] + ] + ], + [ + [ + [ + -171.231689, + -4.46139 + ], + [ + -171.235535, + -4.438055 + ], + [ + -171.264496, + -4.446388 + ], + [ + -171.231689, + -4.46139 + ] + ] + ], + [ + [ + [ + -154.939209, + -4.045555 + ], + [ + -155.016113, + -4.060834 + ], + [ + -154.95639, + -4.102501 + ], + [ + -154.939209, + -4.045555 + ] + ] + ], + [ + [ + [ + -171.078064, + -3.141667 + ], + [ + -171.086426, + -3.108889 + ], + [ + -171.089722, + -3.137501 + ], + [ + -171.078064, + -3.141667 + ] + ] + ], + [ + [ + [ + -171.627808, + -2.8325 + ], + [ + -171.725586, + -2.772778 + ], + [ + -171.626373, + -2.869445 + ], + [ + -171.627808, + -2.8325 + ] + ] + ], + [ + [ + [ + 176.848297, + -2.669445 + ], + [ + 176.833313, + -2.633889 + ], + [ + 176.774139, + -2.607778 + ], + [ + 176.848297, + -2.669445 + ] + ] + ], + [ + [ + [ + 175.971893, + -2.505 + ], + [ + 175.964417, + -2.481111 + ], + [ + 175.960236, + -2.505834 + ], + [ + 175.971893, + -2.505 + ] + ] + ], + [ + [ + [ + 175.58609, + -1.919722 + ], + [ + 175.592743, + -1.883333 + ], + [ + 175.54776, + -1.821667 + ], + [ + 175.58609, + -1.919722 + ] + ] + ], + [ + [ + [ + 175.531372, + -1.806111 + ], + [ + 175.519714, + -1.777778 + ], + [ + 175.493561, + -1.769722 + ], + [ + 175.531372, + -1.806111 + ] + ] + ], + [ + [ + [ + 175.041931, + -1.5525 + ], + [ + 175.046082, + -1.434722 + ], + [ + 175.001648, + -1.528611 + ], + [ + 175.041931, + -1.5525 + ] + ] + ], + [ + [ + [ + 174.873291, + -1.408056 + ], + [ + 174.853577, + -1.399167 + ], + [ + 174.857452, + -1.408611 + ], + [ + 174.873291, + -1.408056 + ] + ] + ], + [ + [ + [ + 176.464691, + -1.435278 + ], + [ + 176.421356, + -1.348333 + ], + [ + 176.390533, + -1.324445 + ], + [ + 176.464691, + -1.435278 + ] + ] + ], + [ + [ + [ + 175.954681, + -1.279167 + ], + [ + 175.934143, + -1.3025 + ], + [ + 176.018311, + -1.389444 + ], + [ + 175.954681, + -1.279167 + ] + ] + ], + [ + [ + [ + 174.767761, + -1.255833 + ], + [ + 174.767212, + -1.207222 + ], + [ + 174.71637, + -1.14 + ], + [ + 174.767761, + -1.255833 + ] + ] + ], + [ + [ + [ + 174.489685, + -0.816667 + ], + [ + 174.495789, + -0.770278 + ], + [ + 174.458008, + -0.653611 + ], + [ + 174.489685, + -0.816667 + ] + ] + ], + [ + [ + [ + 174.458862, + -0.651667 + ], + [ + 174.392487, + -0.594722 + ], + [ + 174.377167, + -0.5975 + ], + [ + 174.458862, + -0.651667 + ] + ] + ], + [ + [ + [ + 173.618011, + 0.133611 + ], + [ + 173.631622, + 0.216667 + ], + [ + 173.604126, + 0.2125 + ], + [ + 173.618011, + 0.133611 + ] + ] + ], + [ + [ + [ + 173.409698, + 0.203611 + ], + [ + 173.425537, + 0.215278 + ], + [ + 173.402191, + 0.233056 + ], + [ + 173.409698, + 0.203611 + ] + ] + ], + [ + [ + [ + 173.384979, + 0.244167 + ], + [ + 173.376617, + 0.266111 + ], + [ + 173.371338, + 0.250278 + ], + [ + 173.384979, + 0.244167 + ] + ] + ], + [ + [ + [ + 173.931915, + 0.298055 + ], + [ + 173.939423, + 0.320833 + ], + [ + 173.923584, + 0.302222 + ], + [ + 173.931915, + 0.298055 + ] + ] + ], + [ + [ + [ + 173.830536, + 0.448333 + ], + [ + 173.804962, + 0.431111 + ], + [ + 173.921631, + 0.379722 + ], + [ + 173.830536, + 0.448333 + ] + ] + ], + [ + [ + [ + 173.021912, + 1.006667 + ], + [ + 172.981354, + 0.821667 + ], + [ + 173.084137, + 0.951944 + ], + [ + 173.021912, + 1.006667 + ] + ] + ], + [ + [ + [ + 172.939697, + 1.336111 + ], + [ + 172.943573, + 1.345833 + ], + [ + 172.914154, + 1.346389 + ], + [ + 172.939697, + 1.336111 + ] + ] + ], + [ + [ + [ + 173.126617, + 1.349166 + ], + [ + 173.11911, + 1.373333 + ], + [ + 173.098572, + 1.351389 + ], + [ + 173.126617, + 1.349166 + ] + ] + ], + [ + [ + [ + 173.062195, + 1.410278 + ], + [ + 173.034698, + 1.444444 + ], + [ + 173.039703, + 1.417778 + ], + [ + 173.062195, + 1.410278 + ] + ] + ], + [ + [ + [ + 173.012756, + 1.4725 + ], + [ + 172.997192, + 1.500556 + ], + [ + 173.016388, + 1.465 + ], + [ + 173.012756, + 1.4725 + ] + ] + ], + [ + [ + [ + 172.981903, + 1.529444 + ], + [ + 172.955231, + 1.619166 + ], + [ + 172.960785, + 1.553333 + ], + [ + 172.981903, + 1.529444 + ] + ] + ], + [ + [ + [ + 172.884705, + 1.838333 + ], + [ + 172.858002, + 1.861666 + ], + [ + 172.834137, + 1.863611 + ], + [ + 172.884705, + 1.838333 + ] + ] + ], + [ + [ + [ + 173.014984, + 1.706111 + ], + [ + 173.027191, + 1.821111 + ], + [ + 172.929962, + 1.936111 + ], + [ + 173.014984, + 1.706111 + ] + ] + ], + [ + [ + [ + 172.891663, + 1.93 + ], + [ + 172.885529, + 1.943889 + ], + [ + 172.882721, + 1.932777 + ], + [ + 172.891663, + 1.93 + ] + ] + ], + [ + [ + [ + 173.328857, + 1.940278 + ], + [ + 173.349396, + 1.965833 + ], + [ + 173.311096, + 1.958055 + ], + [ + 173.328857, + 1.940278 + ] + ] + ], + [ + [ + [ + 173.343018, + 1.982777 + ], + [ + 173.325256, + 2.015833 + ], + [ + 173.313599, + 1.973889 + ], + [ + 173.343018, + 1.982777 + ] + ] + ], + [ + [ + [ + -157.431671, + 2.021388 + ], + [ + -157.571381, + 1.858888 + ], + [ + -157.179443, + 1.714444 + ], + [ + -157.431671, + 2.021388 + ] + ] + ], + [ + [ + [ + 172.870239, + 3.064444 + ], + [ + 172.749115, + 3.024166 + ], + [ + 172.774994, + 3.002222 + ], + [ + 172.870239, + 3.064444 + ] + ] + ], + [ + [ + [ + 172.968292, + 3.24861 + ], + [ + 172.976624, + 3.296389 + ], + [ + 172.957458, + 3.281388 + ], + [ + 172.968292, + 3.24861 + ] + ] + ], + [ + [ + [ + -159.340027, + 3.920833 + ], + [ + -159.40448, + 3.864166 + ], + [ + -159.271698, + 3.789722 + ], + [ + -159.340027, + 3.920833 + ] + ] + ], + [ + [ + [ + -160.394745, + 4.685554 + ], + [ + -160.37973, + 4.718332 + ], + [ + -160.405609, + 4.725276 + ], + [ + -160.394745, + 4.685554 + ] + ] + ] + ] + }, + "name" : "Kiribati", + "iso2" : "KI", + "iso3" : "KIR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "or1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 126.622208, + 33.23999 + ], + [ + 126.898041, + 33.523323 + ], + [ + 126.158333, + 33.314713 + ], + [ + 126.622208, + 33.23999 + ] + ] + ], + [ + [ + [ + 126.765549, + 34.280823 + ], + [ + 126.701393, + 34.38694 + ], + [ + 126.651382, + 34.316101 + ], + [ + 126.765549, + 34.280823 + ] + ] + ], + [ + [ + [ + 127.213608, + 34.418884 + ], + [ + 127.222717, + 34.483627 + ], + [ + 127.111366, + 34.460274 + ], + [ + 127.213608, + 34.418884 + ] + ] + ], + [ + [ + [ + 127.790817, + 34.476379 + ], + [ + 127.770828, + 34.53833 + ], + [ + 127.711929, + 34.526657 + ], + [ + 127.790817, + 34.476379 + ] + ] + ], + [ + [ + [ + 126.186653, + 34.351387 + ], + [ + 126.380257, + 34.494713 + ], + [ + 126.243317, + 34.573326 + ], + [ + 126.186653, + 34.351387 + ] + ] + ], + [ + [ + [ + 127.803864, + 34.575554 + ], + [ + 127.768051, + 34.664154 + ], + [ + 127.734421, + 34.613327 + ], + [ + 127.803864, + 34.575554 + ] + ] + ], + [ + [ + [ + 125.991364, + 34.668053 + ], + [ + 125.981369, + 34.716934 + ], + [ + 125.914993, + 34.692215 + ], + [ + 125.991364, + 34.668053 + ] + ] + ], + [ + [ + [ + 125.993042, + 34.791939 + ], + [ + 125.890549, + 34.728043 + ], + [ + 126.009163, + 34.759995 + ], + [ + 125.993042, + 34.791939 + ] + ] + ], + [ + [ + [ + 128.085785, + 34.830276 + ], + [ + 128.024139, + 34.913879 + ], + [ + 127.974152, + 34.85833 + ], + [ + 128.085785, + 34.830276 + ] + ] + ], + [ + [ + [ + 126.063599, + 34.854439 + ], + [ + 126.062759, + 34.928329 + ], + [ + 125.983597, + 34.864998 + ], + [ + 126.063599, + 34.854439 + ] + ] + ], + [ + [ + [ + 127.9561, + 34.800827 + ], + [ + 127.879967, + 34.929436 + ], + [ + 127.857208, + 34.723877 + ], + [ + 128.060791, + 34.701103 + ], + [ + 127.9561, + 34.800827 + ] + ] + ], + [ + [ + [ + 128.754425, + 34.876938 + ], + [ + 128.488556, + 34.856384 + ], + [ + 128.594116, + 34.697769 + ], + [ + 128.754425, + 34.876938 + ] + ] + ], + [ + [ + [ + 126.106087, + 35.046944 + ], + [ + 126.162201, + 35.143326 + ], + [ + 126.059982, + 35.090828 + ], + [ + 126.106087, + 35.046944 + ] + ] + ], + [ + [ + [ + 126.428307, + 36.399719 + ], + [ + 126.346939, + 36.591103 + ], + [ + 126.335823, + 36.438599 + ], + [ + 126.428307, + 36.399719 + ] + ] + ], + [ + [ + [ + 126.169434, + 36.825829 + ], + [ + 126.172447, + 36.836838 + ], + [ + 126.161102, + 36.838043 + ], + [ + 126.169434, + 36.825829 + ] + ] + ], + [ + [ + [ + 130.887482, + 37.453323 + ], + [ + 130.919434, + 37.545273 + ], + [ + 130.807465, + 37.518326 + ], + [ + 130.887482, + 37.453323 + ] + ] + ], + [ + [ + [ + 126.501389, + 37.594437 + ], + [ + 126.400543, + 37.818886 + ], + [ + 126.373032, + 37.621658 + ], + [ + 126.501389, + 37.594437 + ] + ] + ], + [ + [ + [ + 124.695534, + 37.9161 + ], + [ + 124.72554, + 37.981659 + ], + [ + 124.615257, + 37.968597 + ], + [ + 124.695534, + 37.9161 + ] + ] + ], + [ + [ + [ + 126.688492, + 37.833908 + ], + [ + 126.865807, + 37.266937 + ], + [ + 126.661102, + 37.156097 + ], + [ + 126.992203, + 36.91082 + ], + [ + 126.502487, + 37.052773 + ], + [ + 126.123596, + 36.70916 + ], + [ + 126.497208, + 36.723877 + ], + [ + 126.544418, + 36.136406 + ], + [ + 126.872993, + 36.054718 + ], + [ + 126.474701, + 35.635826 + ], + [ + 126.687759, + 35.533333 + ], + [ + 126.431374, + 35.023323 + ], + [ + 126.249153, + 35.116661 + ], + [ + 126.659714, + 34.812767 + ], + [ + 126.266937, + 34.683327 + ], + [ + 126.556374, + 34.300545 + ], + [ + 126.772491, + 34.582771 + ], + [ + 126.889427, + 34.412491 + ], + [ + 127.328598, + 34.74305 + ], + [ + 127.124687, + 34.537216 + ], + [ + 127.389427, + 34.4711 + ], + [ + 127.493874, + 34.851662 + ], + [ + 127.640823, + 34.616936 + ], + [ + 127.593323, + 34.941658 + ], + [ + 129.136932, + 35.112213 + ], + [ + 129.439423, + 35.475822 + ], + [ + 129.433594, + 37.058884 + ], + [ + 128.532471, + 38.330551 + ], + [ + 128.363556, + 38.625244 + ], + [ + 128.079956, + 38.311935 + ], + [ + 127.106087, + 38.287498 + ], + [ + 126.688492, + 37.833908 + ] + ] + ] + ] + }, + "name" : "Korea, Republic of", + "iso2" : "KR", + "iso3" : "KOR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "o71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 48.362488, + 29.450272 + ], + [ + 48.26693, + 29.441109 + ], + [ + 48.388329, + 29.395554 + ], + [ + 48.362488, + 29.450272 + ] + ] + ], + [ + [ + [ + 48.224709, + 29.594719 + ], + [ + 48.359444, + 29.744999 + ], + [ + 48.152222, + 29.99194 + ], + [ + 48.224709, + 29.594719 + ] + ] + ], + [ + [ + [ + 48.032219, + 29.968052 + ], + [ + 48.111664, + 30.023048 + ], + [ + 48.037766, + 30.011105 + ], + [ + 48.008606, + 29.973885 + ], + [ + 48.032219, + 29.968052 + ] + ] + ], + [ + [ + [ + 47.943474, + 30.017555 + ], + [ + 47.931099, + 30.018887 + ], + [ + 47.169991, + 30.01527 + ], + [ + 46.546944, + 29.104198 + ], + [ + 47.459991, + 28.999439 + ], + [ + 47.688881, + 28.538883 + ], + [ + 48.416588, + 28.545277 + ], + [ + 48.028603, + 29.344994 + ], + [ + 47.707222, + 29.375832 + ], + [ + 48.167213, + 29.553055 + ], + [ + 47.943474, + 30.017555 + ] + ] + ] + ] + }, + "name" : "Kuwait", + "iso2" : "KW", + "iso3" : "KWT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "pL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 50.116104, + 44.838043 + ], + [ + 50.11277, + 45.077492 + ], + [ + 49.978867, + 44.956383 + ], + [ + 50.116104, + 44.838043 + ] + ] + ], + [ + [ + [ + 50.291664, + 44.949997 + ], + [ + 50.342766, + 45.083054 + ], + [ + 50.265549, + 45.036659 + ], + [ + 50.291664, + 44.949997 + ] + ] + ], + [ + [ + [ + 53.024994, + 46.2286 + ], + [ + 53.097488, + 46.296661 + ], + [ + 53.046387, + 46.367493 + ], + [ + 52.960274, + 46.266388 + ], + [ + 53.024994, + 46.2286 + ] + ] + ], + [ + [ + [ + 80.234024, + 42.19622 + ], + [ + 80.171921, + 42.660507 + ], + [ + 80.578598, + 42.891075 + ], + [ + 80.376648, + 43.025238 + ], + [ + 80.817215, + 43.156067 + ], + [ + 80.362762, + 44.125244 + ], + [ + 80.520828, + 44.732475 + ], + [ + 79.871094, + 44.904976 + ], + [ + 81.688309, + 45.350815 + ], + [ + 82.561646, + 45.129417 + ], + [ + 82.649429, + 45.43026 + ], + [ + 82.317764, + 45.570534 + ], + [ + 83.040543, + 47.212212 + ], + [ + 84.75943, + 46.826385 + ], + [ + 85.529312, + 47.060165 + ], + [ + 85.759155, + 48.387772 + ], + [ + 86.5961, + 48.53611 + ], + [ + 86.874695, + 49.110825 + ], + [ + 87.348206, + 49.092621 + ], + [ + 86.616653, + 49.587212 + ], + [ + 86.774994, + 49.788887 + ], + [ + 86.191086, + 49.472488 + ], + [ + 85.258606, + 49.591377 + ], + [ + 85.014435, + 50.075829 + ], + [ + 84.363037, + 50.212212 + ], + [ + 83.456375, + 51.002495 + ], + [ + 81.468048, + 50.742218 + ], + [ + 80.687836, + 51.31472 + ], + [ + 80.077957, + 50.758087 + ], + [ + 77.908035, + 53.271103 + ], + [ + 76.521652, + 53.993881 + ], + [ + 76.811646, + 54.447769 + ], + [ + 74.429153, + 53.4786 + ], + [ + 73.437195, + 53.436104 + ], + [ + 73.238586, + 53.64444 + ], + [ + 73.763885, + 54.065544 + ], + [ + 72.613312, + 54.145271 + ], + [ + 72.468597, + 53.908882 + ], + [ + 72.051651, + 54.387772 + ], + [ + 72.196091, + 54.137497 + ], + [ + 71.185532, + 54.103325 + ], + [ + 70.996933, + 54.339157 + ], + [ + 71.27887, + 54.690269 + ], + [ + 70.843323, + 55.301933 + ], + [ + 69.185532, + 55.34388 + ], + [ + 65.483322, + 54.638046 + ], + [ + 65.216385, + 54.318886 + ], + [ + 63.172218, + 54.186378 + ], + [ + 62.547493, + 53.879433 + ], + [ + 61.01416, + 53.947487 + ], + [ + 61.226936, + 53.811935 + ], + [ + 60.905548, + 53.62027 + ], + [ + 61.577492, + 53.513329 + ], + [ + 61.184715, + 53.306656 + ], + [ + 62.118324, + 53.004166 + ], + [ + 61.099159, + 52.981659 + ], + [ + 60.694153, + 52.680824 + ], + [ + 61.061935, + 52.342491 + ], + [ + 60.00222, + 51.958328 + ], + [ + 61.685822, + 51.265831 + ], + [ + 61.381378, + 50.783607 + ], + [ + 60.04361, + 50.863327 + ], + [ + 59.542496, + 50.478325 + ], + [ + 58.337769, + 51.156097 + ], + [ + 57.481934, + 50.864716 + ], + [ + 56.510826, + 51.083328 + ], + [ + 55.69249, + 50.532494 + ], + [ + 54.647217, + 51.036942 + ], + [ + 54.523933, + 50.528839 + ], + [ + 54.506386, + 50.856941 + ], + [ + 53.428604, + 51.491661 + ], + [ + 52.603325, + 51.45694 + ], + [ + 52.338326, + 51.782211 + ], + [ + 51.303047, + 51.479713 + ], + [ + 50.7733, + 51.76918 + ], + [ + 48.697487, + 50.591934 + ], + [ + 48.796944, + 49.941933 + ], + [ + 48.251663, + 49.869713 + ], + [ + 47.520828, + 50.436378 + ], + [ + 46.929436, + 49.863609 + ], + [ + 46.79583, + 49.339714 + ], + [ + 47.062767, + 49.142769 + ], + [ + 46.499161, + 48.417496 + ], + [ + 47.122765, + 48.27166 + ], + [ + 47.383324, + 47.688881 + ], + [ + 48.20443, + 47.704987 + ], + [ + 49.027206, + 46.776093 + ], + [ + 48.560547, + 46.564995 + ], + [ + 49.222527, + 46.346306 + ], + [ + 51.189987, + 47.114716 + ], + [ + 53.194153, + 46.714996 + ], + [ + 52.996658, + 46.488045 + ], + [ + 53.164154, + 46.317215 + ], + [ + 53.085823, + 46.007217 + ], + [ + 52.733047, + 45.549438 + ], + [ + 53.228043, + 45.337769 + ], + [ + 51.405266, + 45.370544 + ], + [ + 50.953049, + 44.861938 + ], + [ + 51.570274, + 44.513885 + ], + [ + 50.239433, + 44.576385 + ], + [ + 50.839989, + 44.193047 + ], + [ + 51.265549, + 43.153046 + ], + [ + 52.738327, + 42.710274 + ], + [ + 52.440071, + 41.740936 + ], + [ + 53.014999, + 42.138885 + ], + [ + 54.17305, + 42.337212 + ], + [ + 55.45694, + 41.286659 + ], + [ + 56.000961, + 41.328453 + ], + [ + 55.99749, + 45.001106 + ], + [ + 58.569717, + 45.571106 + ], + [ + 62.025108, + 43.484787 + ], + [ + 64.931366, + 43.73777 + ], + [ + 65.82193, + 42.877213 + ], + [ + 66.123871, + 42.996941 + ], + [ + 66.02916, + 42.003052 + ], + [ + 66.526382, + 42.003052 + ], + [ + 66.719986, + 41.174995 + ], + [ + 67.935532, + 41.183327 + ], + [ + 68.455261, + 40.597771 + ], + [ + 69.056366, + 41.379433 + ], + [ + 70.97081, + 42.254669 + ], + [ + 71.171097, + 42.691353 + ], + [ + 71.747208, + 42.823586 + ], + [ + 73.519714, + 42.408005 + ], + [ + 73.583878, + 43.038574 + ], + [ + 74.293594, + 43.216904 + ], + [ + 75.664429, + 42.807457 + ], + [ + 79.194702, + 42.795792 + ], + [ + 80.234024, + 42.19622 + ] + ] + ] + ] + }, + "name" : "Kazakhstan", + "iso2" : "KZ", + "iso3" : "KAZ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "pb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 107.5466, + 14.708618 + ], + [ + 107.695251, + 15.270832 + ], + [ + 107.175537, + 15.784164 + ], + [ + 107.464706, + 16.078609 + ], + [ + 106.685532, + 16.45805 + ], + [ + 106.561096, + 16.996941 + ], + [ + 105.183319, + 18.334442 + ], + [ + 105.193863, + 18.642494 + ], + [ + 103.879433, + 19.29361 + ], + [ + 104.037247, + 19.692944 + ], + [ + 104.640266, + 19.611942 + ], + [ + 104.979156, + 20.004997 + ], + [ + 104.381927, + 20.444717 + ], + [ + 104.6436, + 20.660275 + ], + [ + 104.109154, + 20.977219 + ], + [ + 103.693588, + 20.657219 + ], + [ + 103.170532, + 20.846664 + ], + [ + 102.976089, + 21.739437 + ], + [ + 102.676651, + 21.65583 + ], + [ + 102.140747, + 22.396286 + ], + [ + 101.738037, + 22.496941 + ], + [ + 101.574432, + 22.20916 + ], + [ + 101.787201, + 21.144161 + ], + [ + 101.281937, + 21.180275 + ], + [ + 101.148239, + 21.572636 + ], + [ + 100.09137, + 20.348606 + ], + [ + 100.58046, + 20.157768 + ], + [ + 100.503601, + 19.526665 + ], + [ + 101.281097, + 19.562218 + ], + [ + 100.921371, + 17.567219 + ], + [ + 101.162773, + 17.459995 + ], + [ + 102.089394, + 18.214983 + ], + [ + 102.683594, + 17.819996 + ], + [ + 103.397217, + 18.434994 + ], + [ + 103.985527, + 18.321663 + ], + [ + 104.718323, + 17.50333 + ], + [ + 104.747208, + 16.528332 + ], + [ + 105.637772, + 15.659721 + ], + [ + 105.536102, + 14.563332 + ], + [ + 105.210602, + 14.349648 + ], + [ + 106.056641, + 13.929998 + ], + [ + 106.004707, + 14.373053 + ], + [ + 106.540741, + 14.598724 + ], + [ + 106.853592, + 14.303053 + ], + [ + 107.5466, + 14.708618 + ] + ] + ] + }, + "name" : "Lao People's Democratic Republic", + "iso2" : "LA", + "iso3" : "LAO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "pr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 35.623634, + 33.245728 + ], + [ + 36.623741, + 34.204994 + ], + [ + 36.459999, + 34.635277 + ], + [ + 35.972771, + 34.647499 + ], + [ + 35.10083, + 33.093605 + ], + [ + 35.623634, + 33.245728 + ] + ] + ] + }, + "name" : "Lebanon", + "iso2" : "LB", + "iso3" : "LBN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "p71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 24.31498, + 57.871826 + ], + [ + 24.407497, + 57.25666 + ], + [ + 23.785831, + 56.970268 + ], + [ + 22.610275, + 57.756386 + ], + [ + 21.73333, + 57.576942 + ], + [ + 21.053608, + 56.83638 + ], + [ + 21.068607, + 56.435547 + ], + [ + 21.051685, + 56.077309 + ], + [ + 22.139439, + 56.423607 + ], + [ + 25, + 56.295547 + ], + [ + 26.613209, + 55.674835 + ], + [ + 28.168011, + 56.150154 + ], + [ + 27.70166, + 56.914711 + ], + [ + 27.861107, + 57.302216 + ], + [ + 27.372059, + 57.535637 + ], + [ + 26.511387, + 57.5261 + ], + [ + 25.294998, + 58.084435 + ], + [ + 24.31498, + 57.871826 + ] + ] + ] + }, + "name" : "Latvia", + "iso2" : "LV", + "iso3" : "LVA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "qL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 26.613209, + 55.674835 + ], + [ + 26.45583, + 55.341377 + ], + [ + 26.819717, + 55.281105 + ], + [ + 25.788887, + 54.87027 + ], + [ + 25.547497, + 54.332771 + ], + [ + 25.785275, + 54.160545 + ], + [ + 23.50404, + 53.947044 + ], + [ + 23.94083, + 52.732208 + ], + [ + 23.1654, + 52.282276 + ], + [ + 23.638607, + 52.079437 + ], + [ + 23.604633, + 51.527695 + ], + [ + 24.396664, + 51.886658 + ], + [ + 25.775829, + 51.939156 + ], + [ + 30.551414, + 51.251846 + ], + [ + 30.943096, + 52.073792 + ], + [ + 31.783886, + 52.108047 + ], + [ + 31.266941, + 53.024712 + ], + [ + 32.741104, + 53.463051 + ], + [ + 31.764225, + 53.80262 + ], + [ + 31.844162, + 54.064438 + ], + [ + 30.781387, + 54.79361 + ], + [ + 31.02972, + 55.043327 + ], + [ + 30.926247, + 55.60257 + ], + [ + 28.168011, + 56.150154 + ], + [ + 26.613209, + 55.674835 + ] + ] + ] + }, + "name" : "Belarus", + "iso2" : "BY", + "iso3" : "BLR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "qb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 21.044441, + 55.326385 + ], + [ + 21.089996, + 55.719986 + ], + [ + 20.942833, + 55.287201 + ], + [ + 20.984814, + 55.27655 + ], + [ + 21.044441, + 55.326385 + ] + ] + ], + [ + [ + [ + 26.613209, + 55.674835 + ], + [ + 25, + 56.295547 + ], + [ + 22.139439, + 56.423607 + ], + [ + 21.051685, + 56.077309 + ], + [ + 21.263935, + 55.248985 + ], + [ + 21.431385, + 55.251938 + ], + [ + 22.842495, + 54.896942 + ], + [ + 22.785885, + 54.363838 + ], + [ + 23.50404, + 53.947044 + ], + [ + 25.785275, + 54.160545 + ], + [ + 25.547497, + 54.332771 + ], + [ + 25.788887, + 54.87027 + ], + [ + 26.819717, + 55.281105 + ], + [ + 26.45583, + 55.341377 + ], + [ + 26.613209, + 55.674835 + ] + ] + ] + ] + }, + "name" : "Lithuania", + "iso2" : "LT", + "iso3" : "LTU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "qr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -11.492331, + 6.927091 + ], + [ + -10.806074, + 6.403 + ], + [ + -9.142778, + 5.055555 + ], + [ + -7.525402, + 4.352806 + ], + [ + -7.423334, + 5.839444 + ], + [ + -8.606384, + 6.507815 + ], + [ + -8.308334, + 6.860833 + ], + [ + -8.469749, + 7.561325 + ], + [ + -8.660557, + 7.695 + ], + [ + -9.106945, + 7.198889 + ], + [ + -9.485161, + 7.361989 + ], + [ + -9.48365, + 8.346931 + ], + [ + -10.266651, + 8.488377 + ], + [ + -11.492331, + 6.927091 + ] + ] + ] + }, + "name" : "Liberia", + "iso2" : "LR", + "iso3" : "LBR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "q71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 17.166386, + 48.012497 + ], + [ + 17.251656, + 48.024994 + ], + [ + 18.655277, + 47.758606 + ], + [ + 20.660553, + 48.563332 + ], + [ + 22.151442, + 48.411919 + ], + [ + 22.558052, + 49.079437 + ], + [ + 21.618889, + 49.436386 + ], + [ + 20.074444, + 49.175278 + ], + [ + 19.475555, + 49.599998 + ], + [ + 18.851246, + 49.517357 + ], + [ + 16.946182, + 48.619064 + ], + [ + 17.166386, + 48.012497 + ] + ] + ] + }, + "name" : "Slovakia", + "iso2" : "SK", + "iso3" : "SVK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "rL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 9.533569, + 47.274544 + ], + [ + 9.474637, + 47.057457 + ], + [ + 9.598635, + 47.063835 + ], + [ + 9.533569, + 47.274544 + ] + ] + ] + }, + "name" : "Liechtenstein", + "iso2" : "LI", + "iso3" : "LIE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "rb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 9.537113, + 30.23439 + ], + [ + 9.303888, + 30.122498 + ], + [ + 9.766388, + 29.427776 + ], + [ + 9.948332, + 27.824444 + ], + [ + 9.871666, + 26.514164 + ], + [ + 9.398333, + 26.153332 + ], + [ + 10.252222, + 24.605831 + ], + [ + 11.558887, + 24.302498 + ], + [ + 11.986475, + 23.522305 + ], + [ + 13.543888, + 23.16861 + ], + [ + 14.234999, + 22.614166 + ], + [ + 14.997889, + 23.000591 + ], + [ + 16.000832, + 23.450554 + ], + [ + 24.002747, + 19.499065 + ], + [ + 24.000832, + 20.001942 + ], + [ + 25.000832, + 19.999119 + ], + [ + 25.001423, + 21.999695 + ], + [ + 24.997776, + 29.248886 + ], + [ + 24.706665, + 30.16861 + ], + [ + 25.151665, + 31.646942 + ], + [ + 24.973888, + 31.969997 + ], + [ + 23.247196, + 32.216225 + ], + [ + 23.112499, + 32.6325 + ], + [ + 21.621387, + 32.933609 + ], + [ + 20.084442, + 32.184715 + ], + [ + 20.060555, + 30.855274 + ], + [ + 19.001389, + 30.266941 + ], + [ + 17.370831, + 31.081665 + ], + [ + 15.761665, + 31.385555 + ], + [ + 15.165833, + 32.398605 + ], + [ + 11.526081, + 33.171135 + ], + [ + 11.567499, + 32.442215 + ], + [ + 10.287222, + 31.694164 + ], + [ + 10.21361, + 30.730831 + ], + [ + 9.537113, + 30.23439 + ] + ] + ] + }, + "name" : "Libyan Arab Jamahiriya", + "iso2" : "LY", + "iso3" : "LBY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "rr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 49.833612, + -17.089724 + ], + [ + 50.010553, + -16.725559 + ], + [ + 49.860552, + -16.913891 + ], + [ + 49.833612, + -17.089724 + ] + ] + ], + [ + [ + [ + 47.219721, + -15.436668 + ], + [ + 47.219446, + -15.420834 + ], + [ + 47.206667, + -15.420557 + ], + [ + 47.200556, + -15.427502 + ], + [ + 47.207773, + -15.434446 + ], + [ + 47.219721, + -15.436668 + ] + ] + ], + [ + [ + [ + 48.342501, + -13.418055 + ], + [ + 48.281389, + -13.196667 + ], + [ + 48.205553, + -13.39139 + ], + [ + 48.342501, + -13.418055 + ] + ] + ], + [ + [ + [ + 49.356943, + -12.090834 + ], + [ + 48.730829, + -12.434168 + ], + [ + 48.959444, + -12.822224 + ], + [ + 48.739717, + -13.427223 + ], + [ + 48.287218, + -13.808056 + ], + [ + 47.905275, + -13.59639 + ], + [ + 48.048334, + -14.155556 + ], + [ + 47.699442, + -14.420557 + ], + [ + 48.001665, + -14.765556 + ], + [ + 47.811277, + -14.603889 + ], + [ + 47.427217, + -15.110556 + ], + [ + 47.454996, + -14.665279 + ], + [ + 47.058329, + -15.185001 + ], + [ + 47.11194, + -15.305557 + ], + [ + 47.235647, + -15.41292 + ], + [ + 47.223619, + -15.448465 + ], + [ + 46.959444, + -15.558056 + ], + [ + 46.947222, + -15.198891 + ], + [ + 46.338335, + -15.624723 + ], + [ + 46.477221, + -15.966112 + ], + [ + 46.151384, + -15.703611 + ], + [ + 44.459162, + -16.184448 + ], + [ + 43.93722, + -17.479446 + ], + [ + 44.482218, + -19.97028 + ], + [ + 43.500551, + -21.333889 + ], + [ + 43.238886, + -22.282501 + ], + [ + 44.017221, + -24.985279 + ], + [ + 45.214724, + -25.588337 + ], + [ + 47.133051, + -24.928059 + ], + [ + 49.788607, + -16.83028 + ], + [ + 49.633608, + -15.557501 + ], + [ + 49.866106, + -15.432501 + ], + [ + 50.172777, + -15.979723 + ], + [ + 50.433611, + -15.580002 + ], + [ + 49.943331, + -13.039446 + ], + [ + 49.356943, + -12.090834 + ] + ], + [ + [ + 49.604441, + -12.62639 + ], + [ + 49.594446, + -12.623611 + ], + [ + 49.595835, + -12.610001 + ], + [ + 49.604441, + -12.62639 + ] + ] + ] + ] + }, + "name" : "Madagascar", + "iso2" : "MG", + "iso3" : "MDG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "r71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -60.86084, + 14.402777 + ], + [ + -60.940834, + 14.740833 + ], + [ + -61.174728, + 14.876944 + ], + [ + -60.86084, + 14.402777 + ] + ] + ] + }, + "name" : "Martinique", + "iso2" : "MQ", + "iso3" : "MTQ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "sL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 91.020248, + 46.600109 + ], + [ + 90.681931, + 45.57972 + ], + [ + 90.896942, + 45.253052 + ], + [ + 93.554703, + 44.957214 + ], + [ + 95.416656, + 44.293884 + ], + [ + 95.336105, + 44.020828 + ], + [ + 96.383041, + 42.731102 + ], + [ + 100.835541, + 42.678047 + ], + [ + 105.012207, + 41.581383 + ], + [ + 107.471916, + 42.466103 + ], + [ + 109.313599, + 42.429993 + ], + [ + 110.440536, + 42.777771 + ], + [ + 111.958328, + 43.692215 + ], + [ + 111.421371, + 44.382492 + ], + [ + 111.98082, + 45.09166 + ], + [ + 113.638046, + 44.74527 + ], + [ + 114.545258, + 45.389435 + ], + [ + 115.701927, + 45.458603 + ], + [ + 116.585541, + 46.29583 + ], + [ + 117.421097, + 46.578331 + ], + [ + 119.897491, + 46.675552 + ], + [ + 119.72998, + 47.164154 + ], + [ + 118.539337, + 47.994751 + ], + [ + 117.801086, + 48.010551 + ], + [ + 117.372192, + 47.653595 + ], + [ + 115.592194, + 47.919441 + ], + [ + 116.71138, + 49.830467 + ], + [ + 114.313026, + 50.284164 + ], + [ + 113.09082, + 49.598602 + ], + [ + 110.788589, + 49.149437 + ], + [ + 108.57222, + 49.333603 + ], + [ + 107.949142, + 49.678047 + ], + [ + 107.977127, + 49.943626 + ], + [ + 106.66304, + 50.3386 + ], + [ + 102.918587, + 50.315269 + ], + [ + 102.327766, + 50.569717 + ], + [ + 102.218872, + 51.333603 + ], + [ + 98.930267, + 52.143608 + ], + [ + 97.827774, + 51.001106 + ], + [ + 98.289703, + 50.293884 + ], + [ + 97.34082, + 49.734436 + ], + [ + 94.635269, + 50.024437 + ], + [ + 94.274994, + 50.569443 + ], + [ + 92.322769, + 50.814995 + ], + [ + 87.840698, + 49.172951 + ], + [ + 87.973312, + 48.576942 + ], + [ + 88.65332, + 48.18277 + ], + [ + 90.074432, + 47.886383 + ], + [ + 91.020248, + 46.600109 + ] + ] + ] + }, + "name" : "Mongolia", + "iso2" : "MN", + "iso3" : "MNG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "sb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -62.171394, + 16.671387 + ], + [ + -62.20195, + 16.81361 + ], + [ + -62.236671, + 16.711941 + ], + [ + -62.171394, + 16.671387 + ] + ] + ] + }, + "name" : "Montserrat", + "iso2" : "MS", + "iso3" : "MSR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "sr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 20.589642, + 41.882187 + ], + [ + 20.492775, + 41.331108 + ], + [ + 20.82111, + 40.908882 + ], + [ + 20.98349, + 40.855888 + ], + [ + 22.935604, + 41.342125 + ], + [ + 23.014721, + 41.762215 + ], + [ + 22.365276, + 42.323883 + ], + [ + 21.630444, + 42.141091 + ], + [ + 20.589642, + 41.882187 + ] + ] + ] + }, + "name" : "The former Yugoslav Republic of Macedonia", + "iso2" : "MK", + "iso3" : "MKD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "s71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -11.373058, + 12.407774 + ], + [ + -11.315556, + 12.022774 + ], + [ + -10.92889, + 12.224442 + ], + [ + -10.652748, + 11.892609 + ], + [ + -10.323893, + 12.224997 + ], + [ + -9.701946, + 12.029163 + ], + [ + -9.155556, + 12.486111 + ], + [ + -8.53388, + 11.49391 + ], + [ + -8.357779, + 11.305555 + ], + [ + -8.680557, + 10.966389 + ], + [ + -8.289722, + 11.007776 + ], + [ + -7.973984, + 10.165611 + ], + [ + -7.635556, + 10.448332 + ], + [ + -6.988056, + 10.147499 + ], + [ + -6.243402, + 10.735256 + ], + [ + -6.111389, + 10.197777 + ], + [ + -5.51985, + 10.436272 + ], + [ + -5.273056, + 11.843887 + ], + [ + -4.4175, + 12.300831 + ], + [ + -4.337223, + 13.121666 + ], + [ + -3.964253, + 13.50383 + ], + [ + -3.437675, + 13.166498 + ], + [ + -3.2575, + 13.696665 + ], + [ + -2.879167, + 13.655554 + ], + [ + -2.474722, + 14.287498 + ], + [ + -2.006945, + 14.187777 + ], + [ + -1.980834, + 14.474722 + ], + [ + -0.725278, + 15.082777 + ], + [ + 0.235048, + 14.915068 + ], + [ + 1.3125, + 15.286665 + ], + [ + 3.523981, + 15.358152 + ], + [ + 4.200833, + 16.393887 + ], + [ + 4.245, + 18.645275 + ], + [ + 4.245277, + 19.146664 + ], + [ + 3.331944, + 18.976387 + ], + [ + 3.233055, + 19.820274 + ], + [ + 1.795833, + 20.308331 + ], + [ + 1.1675, + 20.741108 + ], + [ + 1.169662, + 21.102543 + ], + [ + -4.806111, + 25.000275 + ], + [ + -6.577223, + 24.999165 + ], + [ + -5.601389, + 16.507774 + ], + [ + -5.335, + 16.328053 + ], + [ + -5.49505, + 15.498371 + ], + [ + -9.333612, + 15.499722 + ], + [ + -9.338057, + 15.704721 + ], + [ + -9.411112, + 15.443888 + ], + [ + -10.716387, + 15.438902 + ], + [ + -10.899637, + 15.106874 + ], + [ + -11.494167, + 15.646387 + ], + [ + -11.841391, + 14.863054 + ], + [ + -12.244833, + 14.764385 + ], + [ + -12.057222, + 13.664721 + ], + [ + -11.378056, + 12.988054 + ], + [ + -11.373058, + 12.407774 + ] + ] + ] + }, + "name" : "Mali", + "iso2" : "ML", + "iso3" : "MLI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "tL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -2.209445, + 35.085831 + ], + [ + -2.914722, + 35.273605 + ], + [ + -2.925278, + 35.266663 + ], + [ + -2.946945, + 35.329163 + ], + [ + -4.695834, + 35.208885 + ], + [ + -5.345834, + 35.84166 + ], + [ + -5.395557, + 35.916336 + ], + [ + -5.918744, + 35.790649 + ], + [ + -6.843056, + 34.018608 + ], + [ + -9.053169, + 32.734802 + ], + [ + -9.809168, + 31.446663 + ], + [ + -9.640278, + 30.168053 + ], + [ + -10.138056, + 29.428055 + ], + [ + -11.458057, + 28.334442 + ], + [ + -13.174961, + 27.666958 + ], + [ + -8.666668, + 27.666664 + ], + [ + -8.667223, + 28.709442 + ], + [ + -7.123889, + 29.636944 + ], + [ + -5.538334, + 29.902496 + ], + [ + -4.920556, + 30.508053 + ], + [ + -3.626667, + 30.970554 + ], + [ + -3.818334, + 31.695553 + ], + [ + -2.853889, + 32.088333 + ], + [ + -1.180556, + 32.11055 + ], + [ + -1.010278, + 32.508331 + ], + [ + -1.668056, + 33.261108 + ], + [ + -1.747222, + 34.747215 + ], + [ + -2.209445, + 35.085831 + ] + ] + ] + }, + "name" : "Morocco", + "iso2" : "MA", + "iso3" : "MAR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "tb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 57.572495, + -20.514168 + ], + [ + 57.624443, + -19.986389 + ], + [ + 57.304718, + -20.449169 + ], + [ + 57.572495, + -20.514168 + ] + ] + ], + [ + [ + [ + 63.466385, + -19.735836 + ], + [ + 63.461105, + -19.673058 + ], + [ + 63.328606, + -19.738056 + ], + [ + 63.466385, + -19.735836 + ] + ] + ], + [ + [ + [ + 56.564438, + -10.397223 + ], + [ + 56.513611, + -10.316668 + ], + [ + 56.511665, + -10.346668 + ], + [ + 56.564438, + -10.397223 + ] + ] + ] + ] + }, + "name" : "Mauritius", + "iso2" : "MU", + "iso3" : "MUS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "tr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -16.427502, + 19.603611 + ], + [ + -16.344448, + 19.866386 + ], + [ + -16.460003, + 19.699718 + ], + [ + -16.427502, + 19.603611 + ] + ] + ], + [ + [ + [ + -4.806111, + 25.000275 + ], + [ + -6.662778, + 26.129166 + ], + [ + -8.66679, + 27.290459 + ], + [ + -8.666945, + 26.000275 + ], + [ + -12.000557, + 26 + ], + [ + -12.000278, + 23.454441 + ], + [ + -13.105278, + 22.893055 + ], + [ + -12.999723, + 21.338055 + ], + [ + -15.741997, + 21.338284 + ], + [ + -16.953056, + 21.338333 + ], + [ + -17.05233, + 20.764095 + ], + [ + -16.919724, + 21.161663 + ], + [ + -16.196392, + 20.223053 + ], + [ + -16.511669, + 19.352219 + ], + [ + -16.039448, + 17.728054 + ], + [ + -16.527679, + 16.060249 + ], + [ + -16.280834, + 16.519722 + ], + [ + -14.345278, + 16.638611 + ], + [ + -12.244833, + 14.764385 + ], + [ + -11.841391, + 14.863054 + ], + [ + -11.494167, + 15.646387 + ], + [ + -10.899637, + 15.106874 + ], + [ + -10.716387, + 15.438902 + ], + [ + -9.411112, + 15.443888 + ], + [ + -9.338057, + 15.704721 + ], + [ + -9.333612, + 15.499722 + ], + [ + -5.49505, + 15.498371 + ], + [ + -5.335, + 16.328053 + ], + [ + -5.601389, + 16.507774 + ], + [ + -6.577223, + 24.999165 + ], + [ + -4.806111, + 25.000275 + ] + ] + ] + ] + }, + "name" : "Mauritania", + "iso2" : "MR", + "iso3" : "MRT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "t71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 14.562222, + 35.820274 + ], + [ + 14.326387, + 35.978882 + ], + [ + 14.374998, + 35.847496 + ], + [ + 14.562222, + 35.820274 + ] + ] + ], + [ + [ + [ + 14.2675, + 36.011383 + ], + [ + 14.34111, + 36.033882 + ], + [ + 14.18111, + 36.060829 + ], + [ + 14.2675, + 36.011383 + ] + ] + ] + ] + }, + "name" : "Malta", + "iso2" : "MT", + "iso3" : "MLT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "uL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 55.874718, + 17.490833 + ], + [ + 55.859718, + 17.516666 + ], + [ + 55.829163, + 17.49361 + ], + [ + 55.874718, + 17.490833 + ] + ] + ], + [ + [ + [ + 56.024162, + 17.484165 + ], + [ + 56.093605, + 17.514721 + ], + [ + 55.957497, + 17.519165 + ], + [ + 56.024162, + 17.484165 + ] + ] + ], + [ + [ + [ + 58.842773, + 20.441109 + ], + [ + 58.899719, + 20.693054 + ], + [ + 58.649719, + 20.168888 + ], + [ + 58.842773, + 20.441109 + ] + ] + ], + [ + [ + [ + 56.373528, + 24.979382 + ], + [ + 56.104164, + 24.734722 + ], + [ + 56.037498, + 24.938889 + ], + [ + 55.779442, + 24.563889 + ], + [ + 56.024719, + 24.076111 + ], + [ + 55.510277, + 23.972775 + ], + [ + 55.199165, + 22.699718 + ], + [ + 55.666107, + 21.999722 + ], + [ + 55, + 20 + ], + [ + 51.99929, + 18.999344 + ], + [ + 53.114441, + 16.642778 + ], + [ + 55.039993, + 17.018608 + ], + [ + 55.436943, + 17.828888 + ], + [ + 56.353333, + 17.934166 + ], + [ + 56.814484, + 18.747684 + ], + [ + 57.803886, + 18.969444 + ], + [ + 57.829437, + 20.218887 + ], + [ + 58.210831, + 20.612499 + ], + [ + 58.515831, + 20.411663 + ], + [ + 59.811386, + 22.226665 + ], + [ + 58.609444, + 23.633053 + ], + [ + 57.164993, + 23.937775 + ], + [ + 56.373528, + 24.979382 + ] + ] + ], + [ + [ + [ + 56.269722, + 25.636015 + ], + [ + 56.365368, + 26.382389 + ], + [ + 56.079941, + 26.065559 + ], + [ + 56.183331, + 25.654989 + ], + [ + 56.269722, + 25.636015 + ] + ] + ] + ] + }, + "name" : "Oman", + "iso2" : "OM", + "iso3" : "OMN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ub1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 73.176376, + -0.689722 + ], + [ + 73.171921, + -0.681667 + ], + [ + 73.156372, + -0.683889 + ], + [ + 73.176376, + -0.689722 + ] + ] + ], + [ + [ + [ + 73.201385, + -0.680833 + ], + [ + 73.201935, + -0.667222 + ], + [ + 73.188309, + -0.684722 + ], + [ + 73.201385, + -0.680833 + ] + ] + ], + [ + [ + [ + 73.12915, + -0.668889 + ], + [ + 73.121368, + -0.653333 + ], + [ + 73.125259, + -0.668889 + ], + [ + 73.12915, + -0.668889 + ] + ] + ], + [ + [ + [ + 73.23082, + -0.648056 + ], + [ + 73.242203, + -0.617778 + ], + [ + 73.226089, + -0.6325 + ], + [ + 73.23082, + -0.648056 + ] + ] + ], + [ + [ + [ + 73.116379, + -0.635833 + ], + [ + 73.09137, + -0.5825 + ], + [ + 73.09082, + -0.606667 + ], + [ + 73.116379, + -0.635833 + ] + ] + ], + [ + [ + [ + 73.248032, + -0.605278 + ], + [ + 73.249146, + -0.576111 + ], + [ + 73.235809, + -0.585556 + ], + [ + 73.248032, + -0.605278 + ] + ] + ], + [ + [ + [ + 73.44693, + -0.299444 + ], + [ + 73.442474, + -0.285278 + ], + [ + 73.428314, + -0.286389 + ], + [ + 73.44693, + -0.299444 + ] + ] + ], + [ + [ + [ + 73.106934, + 0.211944 + ], + [ + 73.103317, + 0.228889 + ], + [ + 73.095535, + 0.228056 + ], + [ + 73.106934, + 0.211944 + ] + ] + ], + [ + [ + [ + 73.214706, + 0.230833 + ], + [ + 73.220261, + 0.239167 + ], + [ + 73.209152, + 0.24 + ], + [ + 73.214706, + 0.230833 + ] + ] + ], + [ + [ + [ + 73.044983, + 0.259444 + ], + [ + 73.033051, + 0.272778 + ], + [ + 73.034424, + 0.261389 + ], + [ + 73.044983, + 0.259444 + ] + ] + ], + [ + [ + [ + 73.375809, + 0.28 + ], + [ + 73.3797, + 0.291944 + ], + [ + 73.367203, + 0.281389 + ], + [ + 73.375809, + 0.28 + ] + ] + ], + [ + [ + [ + 73.513046, + 0.378333 + ], + [ + 73.508881, + 0.3925 + ], + [ + 73.504715, + 0.383889 + ], + [ + 73.513046, + 0.378333 + ] + ] + ], + [ + [ + [ + 72.943039, + 0.488611 + ], + [ + 72.937195, + 0.499722 + ], + [ + 72.938034, + 0.485555 + ], + [ + 72.943039, + 0.488611 + ] + ] + ], + [ + [ + [ + 73.498032, + 0.499722 + ], + [ + 73.487762, + 0.508055 + ], + [ + 73.493042, + 0.496944 + ], + [ + 73.498032, + 0.499722 + ] + ] + ], + [ + [ + [ + 73.374695, + 1.781667 + ], + [ + 73.374695, + 1.795278 + ], + [ + 73.361374, + 1.788611 + ], + [ + 73.374695, + 1.781667 + ] + ] + ], + [ + [ + [ + 73.399155, + 1.793889 + ], + [ + 73.407761, + 1.805833 + ], + [ + 73.397766, + 1.806389 + ], + [ + 73.399155, + 1.793889 + ] + ] + ], + [ + [ + [ + 73.287201, + 1.831944 + ], + [ + 73.284424, + 1.823055 + ], + [ + 73.297211, + 1.819166 + ], + [ + 73.287201, + 1.831944 + ] + ] + ], + [ + [ + [ + 73.506943, + 1.826667 + ], + [ + 73.516663, + 1.847222 + ], + [ + 73.49498, + 1.823055 + ], + [ + 73.506943, + 1.826667 + ] + ] + ], + [ + [ + [ + 73.250549, + 1.889166 + ], + [ + 73.247757, + 1.898333 + ], + [ + 73.241928, + 1.886111 + ], + [ + 73.250549, + 1.889166 + ] + ] + ], + [ + [ + [ + 73.549988, + 1.896389 + ], + [ + 73.549713, + 1.937222 + ], + [ + 73.539978, + 1.891944 + ], + [ + 73.549988, + 1.896389 + ] + ] + ], + [ + [ + [ + 73.55304, + 1.965 + ], + [ + 73.547211, + 1.978333 + ], + [ + 73.548325, + 1.964166 + ], + [ + 73.55304, + 1.965 + ] + ] + ], + [ + [ + [ + 73.323044, + 1.985 + ], + [ + 73.322495, + 1.995555 + ], + [ + 73.313873, + 1.986388 + ], + [ + 73.323044, + 1.985 + ] + ] + ], + [ + [ + [ + 73.588882, + 2.1075 + ], + [ + 73.567764, + 2.11 + ], + [ + 73.559143, + 2.09611 + ], + [ + 73.588882, + 2.1075 + ] + ] + ], + [ + [ + [ + 73.123871, + 2.190555 + ], + [ + 73.121918, + 2.196944 + ], + [ + 73.11026, + 2.196944 + ], + [ + 73.123871, + 2.190555 + ] + ] + ], + [ + [ + [ + 72.930817, + 2.314444 + ], + [ + 72.92276, + 2.328888 + ], + [ + 72.919983, + 2.3225 + ], + [ + 72.930817, + 2.314444 + ] + ] + ], + [ + [ + [ + 73.366653, + 2.384444 + ], + [ + 73.368591, + 2.409721 + ], + [ + 73.350266, + 2.440833 + ], + [ + 73.366653, + 2.384444 + ] + ] + ], + [ + [ + [ + 73.319717, + 2.492499 + ], + [ + 73.311096, + 2.504722 + ], + [ + 73.313599, + 2.491944 + ], + [ + 73.319717, + 2.492499 + ] + ] + ], + [ + [ + [ + 72.876083, + 2.681388 + ], + [ + 72.866379, + 2.69611 + ], + [ + 72.866379, + 2.684999 + ], + [ + 72.876083, + 2.681388 + ] + ] + ], + [ + [ + [ + 73.025269, + 2.734444 + ], + [ + 73.034988, + 2.747499 + ], + [ + 73.018875, + 2.736944 + ], + [ + 73.025269, + 2.734444 + ] + ] + ], + [ + [ + [ + 73.356644, + 2.771666 + ], + [ + 73.349426, + 2.781944 + ], + [ + 73.348877, + 2.770833 + ], + [ + 73.356644, + 2.771666 + ] + ] + ], + [ + [ + [ + 73.017761, + 2.946944 + ], + [ + 73.012207, + 2.954722 + ], + [ + 73.005829, + 2.946944 + ], + [ + 73.017761, + 2.946944 + ] + ] + ], + [ + [ + [ + 73.579987, + 2.948888 + ], + [ + 73.585541, + 2.967499 + ], + [ + 73.574432, + 2.950555 + ], + [ + 73.579987, + 2.948888 + ] + ] + ], + [ + [ + [ + 72.982208, + 3.101944 + ], + [ + 72.982758, + 3.110833 + ], + [ + 72.973877, + 3.108055 + ], + [ + 72.982208, + 3.101944 + ] + ] + ], + [ + [ + [ + 73.587204, + 3.367777 + ], + [ + 73.59082, + 3.376944 + ], + [ + 73.581665, + 3.372221 + ], + [ + 73.587204, + 3.367777 + ] + ] + ], + [ + [ + [ + 73.753326, + 3.446388 + ], + [ + 73.751389, + 3.452499 + ], + [ + 73.747757, + 3.451111 + ], + [ + 73.753326, + 3.446388 + ] + ] + ], + [ + [ + [ + 72.802765, + 3.510278 + ], + [ + 72.798599, + 3.516944 + ], + [ + 72.78804, + 3.511111 + ], + [ + 72.802765, + 3.510278 + ] + ] + ], + [ + [ + [ + 72.92276, + 3.544167 + ], + [ + 72.9272, + 3.559721 + ], + [ + 72.908035, + 3.537777 + ], + [ + 72.92276, + 3.544167 + ] + ] + ], + [ + [ + [ + 72.697479, + 3.714166 + ], + [ + 72.699417, + 3.724166 + ], + [ + 72.687759, + 3.724721 + ], + [ + 72.697479, + 3.714166 + ] + ] + ], + [ + [ + [ + 73.473877, + 3.933055 + ], + [ + 73.48027, + 3.940555 + ], + [ + 73.465546, + 3.932222 + ], + [ + 73.473877, + 3.933055 + ] + ] + ], + [ + [ + [ + 72.709717, + 3.995555 + ], + [ + 72.707764, + 4.003611 + ], + [ + 72.697754, + 4.000833 + ], + [ + 72.709717, + 3.995555 + ] + ] + ], + [ + [ + [ + 73.512207, + 4.093611 + ], + [ + 73.503052, + 4.106943 + ], + [ + 73.501938, + 4.096388 + ], + [ + 73.512207, + 4.093611 + ] + ] + ], + [ + [ + [ + 73.503601, + 4.164165 + ], + [ + 73.505264, + 4.17861 + ], + [ + 73.491089, + 4.174999 + ], + [ + 73.503601, + 4.164165 + ] + ] + ], + [ + [ + [ + 73.5186, + 4.191387 + ], + [ + 73.511383, + 4.182221 + ], + [ + 73.51915, + 4.176388 + ], + [ + 73.5186, + 4.191387 + ] + ] + ], + [ + [ + [ + 72.959717, + 4.26861 + ], + [ + 72.962494, + 4.262221 + ], + [ + 72.977768, + 4.261666 + ], + [ + 72.959717, + 4.26861 + ] + ] + ], + [ + [ + [ + 72.969711, + 4.877776 + ], + [ + 72.98027, + 4.901111 + ], + [ + 72.970261, + 4.898055 + ], + [ + 72.969711, + 4.877776 + ] + ] + ], + [ + [ + [ + 73.589706, + 5.27361 + ], + [ + 73.589706, + 5.286943 + ], + [ + 73.56694, + 5.277499 + ], + [ + 73.589706, + 5.27361 + ] + ] + ], + [ + [ + [ + 73.320267, + 5.36111 + ], + [ + 73.333603, + 5.366666 + ], + [ + 73.314987, + 5.365276 + ], + [ + 73.320267, + 5.36111 + ] + ] + ], + [ + [ + [ + 73.635269, + 5.385555 + ], + [ + 73.637497, + 5.412777 + ], + [ + 73.620255, + 5.420833 + ], + [ + 73.635269, + 5.385555 + ] + ] + ], + [ + [ + [ + 73.384155, + 5.709722 + ], + [ + 73.392761, + 5.72861 + ], + [ + 73.387772, + 5.741943 + ], + [ + 73.384155, + 5.709722 + ] + ] + ], + [ + [ + [ + 72.991364, + 5.76111 + ], + [ + 72.981659, + 5.771666 + ], + [ + 72.981659, + 5.758888 + ], + [ + 72.991364, + 5.76111 + ] + ] + ], + [ + [ + [ + 73.436371, + 5.827222 + ], + [ + 73.451096, + 5.849166 + ], + [ + 73.429703, + 5.827222 + ], + [ + 73.436371, + 5.827222 + ] + ] + ], + [ + [ + [ + 72.968872, + 5.850832 + ], + [ + 72.961105, + 5.867777 + ], + [ + 72.964996, + 5.847499 + ], + [ + 72.968872, + 5.850832 + ] + ] + ], + [ + [ + [ + 73.433044, + 5.902222 + ], + [ + 73.422211, + 5.911666 + ], + [ + 73.423599, + 5.90361 + ], + [ + 73.433044, + 5.902222 + ] + ] + ], + [ + [ + [ + 73.398331, + 5.955277 + ], + [ + 73.393326, + 5.96861 + ], + [ + 73.379425, + 5.971388 + ], + [ + 73.398331, + 5.955277 + ] + ] + ], + [ + [ + [ + 72.933319, + 5.960833 + ], + [ + 72.926086, + 5.971944 + ], + [ + 72.928314, + 5.954999 + ], + [ + 72.933319, + 5.960833 + ] + ] + ], + [ + [ + [ + 73.270538, + 6.185276 + ], + [ + 73.269989, + 6.193054 + ], + [ + 73.2686, + 6.175277 + ], + [ + 73.270538, + 6.185276 + ] + ] + ], + [ + [ + [ + 73.248032, + 6.231943 + ], + [ + 73.234711, + 6.23611 + ], + [ + 73.2397, + 6.227499 + ], + [ + 73.248032, + 6.231943 + ] + ] + ], + [ + [ + [ + 73.204437, + 6.317499 + ], + [ + 73.20166, + 6.327499 + ], + [ + 73.190811, + 6.324721 + ], + [ + 73.204437, + 6.317499 + ] + ] + ], + [ + [ + [ + 73.050262, + 6.429166 + ], + [ + 73.041367, + 6.444165 + ], + [ + 73.040817, + 6.429999 + ], + [ + 73.050262, + 6.429166 + ] + ] + ], + [ + [ + [ + 73.06749, + 6.661388 + ], + [ + 73.068054, + 6.672776 + ], + [ + 73.059982, + 6.657499 + ], + [ + 73.06749, + 6.661388 + ] + ] + ], + [ + [ + [ + 73.101089, + 6.696943 + ], + [ + 73.102478, + 6.715555 + ], + [ + 73.093323, + 6.697221 + ], + [ + 73.101089, + 6.696943 + ] + ] + ], + [ + [ + [ + 73.136932, + 6.726388 + ], + [ + 73.161926, + 6.784165 + ], + [ + 73.12915, + 6.733888 + ], + [ + 73.136932, + 6.726388 + ] + ] + ], + [ + [ + [ + 73.181366, + 6.8325 + ], + [ + 73.184143, + 6.81861 + ], + [ + 73.20166, + 6.828888 + ], + [ + 73.181366, + 6.8325 + ] + ] + ], + [ + [ + [ + 73.205261, + 6.883611 + ], + [ + 73.209991, + 6.926388 + ], + [ + 73.195526, + 6.889443 + ], + [ + 73.205261, + 6.883611 + ] + ] + ], + [ + [ + [ + 73.198868, + 6.947498 + ], + [ + 73.193588, + 6.97861 + ], + [ + 73.19165, + 6.951111 + ], + [ + 73.198868, + 6.947498 + ] + ] + ], + [ + [ + [ + 72.985535, + 7.012221 + ], + [ + 72.974991, + 7.029444 + ], + [ + 72.97998, + 7.011666 + ], + [ + 72.985535, + 7.012221 + ] + ] + ], + [ + [ + [ + 72.916092, + 7.081666 + ], + [ + 72.911926, + 7.094999 + ], + [ + 72.902771, + 7.093055 + ], + [ + 72.916092, + 7.081666 + ] + ] + ] + ] + }, + "name" : "Maldives", + "iso2" : "MV", + "iso3" : "MDV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ur1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -114.742783, + 18.322779 + ], + [ + -114.723892, + 18.353334 + ], + [ + -114.80307, + 18.332777 + ], + [ + -114.742783, + 18.322779 + ] + ] + ], + [ + [ + [ + -87.372787, + 18.400278 + ], + [ + -87.32695, + 18.453333 + ], + [ + -87.33168, + 18.503054 + ], + [ + -87.372787, + 18.400278 + ] + ] + ], + [ + [ + [ + -87.251678, + 18.64139 + ], + [ + -87.265015, + 18.733889 + ], + [ + -87.259445, + 18.627779 + ], + [ + -87.251678, + 18.64139 + ] + ] + ], + [ + [ + [ + -91.828613, + 18.639166 + ], + [ + -91.523895, + 18.770555 + ], + [ + -91.646118, + 18.753611 + ], + [ + -91.828613, + 18.639166 + ] + ] + ], + [ + [ + [ + -110.926117, + 18.721109 + ], + [ + -111.003342, + 18.865 + ], + [ + -111.071404, + 18.768332 + ], + [ + -110.926117, + 18.721109 + ] + ] + ], + [ + [ + [ + -110.78862, + 19.308054 + ], + [ + -110.813339, + 19.341665 + ], + [ + -110.835854, + 19.271387 + ], + [ + -110.78862, + 19.308054 + ] + ] + ], + [ + [ + [ + -86.732788, + 20.585554 + ], + [ + -86.938904, + 20.539446 + ], + [ + -87, + 20.256388 + ], + [ + -86.732788, + 20.585554 + ] + ] + ], + [ + [ + [ + -86.701401, + 21.197222 + ], + [ + -86.749176, + 21.28639 + ], + [ + -86.738892, + 21.24 + ], + [ + -86.701401, + 21.197222 + ] + ] + ], + [ + [ + [ + -106.195557, + 21.255278 + ], + [ + -106.19751, + 21.33861 + ], + [ + -106.265007, + 21.336668 + ], + [ + -106.195557, + 21.255278 + ] + ] + ], + [ + [ + [ + -106.386673, + 21.420832 + ], + [ + -106.335564, + 21.498888 + ], + [ + -106.511398, + 21.450277 + ], + [ + -106.386673, + 21.420832 + ] + ] + ], + [ + [ + [ + -106.515007, + 21.513056 + ], + [ + -106.530006, + 21.690832 + ], + [ + -106.645844, + 21.688334 + ], + [ + -106.515007, + 21.513056 + ] + ] + ], + [ + [ + [ + -106.656403, + 21.752501 + ], + [ + -106.670563, + 21.816389 + ], + [ + -106.675293, + 21.741388 + ], + [ + -106.656403, + 21.752501 + ] + ] + ], + [ + [ + [ + -97.818893, + 22.682501 + ], + [ + -97.78418, + 22.774168 + ], + [ + -97.830841, + 22.697222 + ], + [ + -97.818893, + 22.682501 + ] + ] + ], + [ + [ + [ + -97.773056, + 22.791388 + ], + [ + -97.760284, + 22.834166 + ], + [ + -97.781403, + 22.804998 + ], + [ + -97.773056, + 22.791388 + ] + ] + ], + [ + [ + [ + -109.784447, + 24.135 + ], + [ + -109.915558, + 24.368891 + ], + [ + -109.871399, + 24.187498 + ], + [ + -109.784447, + 24.135 + ] + ] + ], + [ + [ + [ + -111.532501, + 24.378054 + ], + [ + -111.670288, + 24.371946 + ], + [ + -111.494743, + 24.351389 + ], + [ + -111.532501, + 24.378054 + ] + ] + ], + [ + [ + [ + -111.705841, + 24.331667 + ], + [ + -111.836937, + 24.541113 + ], + [ + -112.016678, + 24.532499 + ], + [ + -111.705841, + 24.331667 + ] + ] + ], + [ + [ + [ + -110.328056, + 24.400835 + ], + [ + -110.300003, + 24.484446 + ], + [ + -110.401947, + 24.58 + ], + [ + -110.328056, + 24.400835 + ] + ] + ], + [ + [ + [ + -110.536957, + 24.882223 + ], + [ + -110.578903, + 25.033888 + ], + [ + -110.705002, + 25.093889 + ], + [ + -110.536957, + 24.882223 + ] + ] + ], + [ + [ + [ + -112.046112, + 24.519167 + ], + [ + -112.202507, + 24.844999 + ], + [ + -112.133621, + 25.281111 + ], + [ + -112.252792, + 24.809999 + ], + [ + -112.046112, + 24.519167 + ] + ] + ], + [ + [ + [ + -108.842789, + 25.42861 + ], + [ + -109.011124, + 25.438334 + ], + [ + -108.789169, + 25.372221 + ], + [ + -108.842789, + 25.42861 + ] + ] + ], + [ + [ + [ + -110.796951, + 25.594999 + ], + [ + -110.808327, + 25.695833 + ], + [ + -110.825287, + 25.6425 + ], + [ + -110.796951, + 25.594999 + ] + ] + ], + [ + [ + [ + -111.19751, + 25.844999 + ], + [ + -111.08667, + 26.074446 + ], + [ + -111.191391, + 26.038889 + ], + [ + -111.19751, + 25.844999 + ] + ] + ], + [ + [ + [ + -110.546112, + 27.309999 + ], + [ + -110.590286, + 27.415277 + ], + [ + -110.597504, + 27.336111 + ], + [ + -110.546112, + 27.309999 + ] + ] + ], + [ + [ + [ + -114.220001, + 27.738333 + ], + [ + -114.24501, + 27.814444 + ], + [ + -114.323898, + 27.816668 + ], + [ + -114.220001, + 27.738333 + ] + ] + ], + [ + [ + [ + -115.173889, + 28.027498 + ], + [ + -115.240837, + 28.370554 + ], + [ + -115.326683, + 28.138334 + ], + [ + -115.173889, + 28.027498 + ] + ] + ], + [ + [ + [ + -112.76001, + 28.593611 + ], + [ + -112.796402, + 28.644167 + ], + [ + -112.885834, + 28.683889 + ], + [ + -112.76001, + 28.593611 + ] + ] + ], + [ + [ + [ + -112.58168, + 28.670279 + ], + [ + -112.540848, + 28.735834 + ], + [ + -112.603622, + 28.727221 + ], + [ + -112.58168, + 28.670279 + ] + ] + ], + [ + [ + [ + -118.289169, + 28.881666 + ], + [ + -118.310013, + 29.195276 + ], + [ + -118.404167, + 29.147779 + ], + [ + -118.289169, + 28.881666 + ] + ] + ], + [ + [ + [ + -112.261948, + 28.773333 + ], + [ + -112.34584, + 29.23361 + ], + [ + -112.564178, + 28.878332 + ], + [ + -112.261948, + 28.773333 + ] + ] + ], + [ + [ + [ + -113.135559, + 29.019724 + ], + [ + -113.588623, + 29.583612 + ], + [ + -113.592215, + 29.425833 + ], + [ + -113.135559, + 29.019724 + ] + ] + ], + [ + [ + [ + -114.650848, + 31.690554 + ], + [ + -114.790283, + 31.799444 + ], + [ + -114.763634, + 31.7125 + ], + [ + -114.650848, + 31.690554 + ] + ] + ], + [ + [ + [ + -97.140739, + 25.966429 + ], + [ + -99.104736, + 26.434999 + ], + [ + -99.505005, + 27.570276 + ], + [ + -101.405014, + 29.772779 + ], + [ + -102.305847, + 29.889444 + ], + [ + -103.375, + 29.023611 + ], + [ + -104.540009, + 29.67111 + ], + [ + -104.900558, + 30.572779 + ], + [ + -106.400848, + 31.750277 + ], + [ + -108.208618, + 31.783335 + ], + [ + -108.208344, + 31.333055 + ], + [ + -111.045837, + 31.333055 + ], + [ + -113.052887, + 31.971071 + ], + [ + -114.80983, + 32.50699 + ], + [ + -114.719093, + 32.718458 + ], + [ + -117.122374, + 32.535334 + ], + [ + -115.693893, + 29.768332 + ], + [ + -114.063606, + 28.527224 + ], + [ + -114.310562, + 27.865557 + ], + [ + -113.983063, + 27.702501 + ], + [ + -114.988892, + 27.721109 + ], + [ + -113.597504, + 26.736944 + ], + [ + -113.128342, + 26.958887 + ], + [ + -113.220291, + 26.705557 + ], + [ + -112.396666, + 26.272779 + ], + [ + -112.106117, + 25.518332 + ], + [ + -112.070847, + 25.613054 + ], + [ + -112.087509, + 24.756109 + ], + [ + -110.316681, + 23.567499 + ], + [ + -110.004997, + 22.88611 + ], + [ + -109.410843, + 23.468332 + ], + [ + -110.213623, + 24.351946 + ], + [ + -110.354172, + 24.115835 + ], + [ + -110.660568, + 24.337778 + ], + [ + -111.560837, + 26.723612 + ], + [ + -111.842215, + 26.903055 + ], + [ + -111.858612, + 26.661943 + ], + [ + -112.862793, + 28.433332 + ], + [ + -114.545288, + 30.001112 + ], + [ + -115.031677, + 31.968054 + ], + [ + -113.08667, + 31.227221 + ], + [ + -112.164726, + 28.972502 + ], + [ + -111.10556, + 27.938334 + ], + [ + -110.509743, + 27.866388 + ], + [ + -110.529715, + 27.371111 + ], + [ + -109.103897, + 26.283609 + ], + [ + -109.388062, + 25.756109 + ], + [ + -108.828056, + 25.798334 + ], + [ + -109.108902, + 25.52611 + ], + [ + -108.767792, + 25.542223 + ], + [ + -108.39418, + 25.141111 + ], + [ + -108.042511, + 25.07361 + ], + [ + -107.999184, + 24.652498 + ], + [ + -105.816963, + 22.660276 + ], + [ + -105.189453, + 21.437498 + ], + [ + -105.544449, + 20.785002 + ], + [ + -105.244171, + 20.574167 + ], + [ + -105.680008, + 20.386389 + ], + [ + -104.983612, + 19.339445 + ], + [ + -103.450012, + 18.313612 + ], + [ + -101.950012, + 17.977499 + ], + [ + -101.011124, + 17.265276 + ], + [ + -97.785004, + 15.968611 + ], + [ + -96.47612, + 15.64361 + ], + [ + -94.861954, + 16.4275 + ], + [ + -94.789734, + 16.257776 + ], + [ + -94.578064, + 16.318335 + ], + [ + -94.724731, + 16.196665 + ], + [ + -94.057785, + 16.040834 + ], + [ + -94.368057, + 16.294443 + ], + [ + -92.772781, + 15.174444 + ], + [ + -92.24678, + 14.550547 + ], + [ + -91.729172, + 16.074999 + ], + [ + -90.441956, + 16.088335 + ], + [ + -90.406403, + 16.416388 + ], + [ + -91.4375, + 17.24111 + ], + [ + -90.983902, + 17.256109 + ], + [ + -90.982422, + 17.820654 + ], + [ + -89.141953, + 17.818888 + ], + [ + -88.377792, + 18.482779 + ], + [ + -88.2995, + 18.482931 + ], + [ + -88.037506, + 18.869444 + ], + [ + -87.847504, + 18.190832 + ], + [ + -87.411667, + 19.57889 + ], + [ + -87.738892, + 19.674723 + ], + [ + -86.772781, + 21.151388 + ], + [ + -87.027786, + 21.590277 + ], + [ + -88.451401, + 21.568888 + ], + [ + -90.327515, + 21.031389 + ], + [ + -90.454727, + 19.975279 + ], + [ + -91.475006, + 18.439444 + ], + [ + -91.814728, + 18.383055 + ], + [ + -91.99501, + 18.727777 + ], + [ + -94.478897, + 18.146666 + ], + [ + -94.802231, + 18.522501 + ], + [ + -95.911392, + 18.825277 + ], + [ + -97.176117, + 20.684999 + ], + [ + -97.889725, + 22.600832 + ], + [ + -97.140739, + 25.966429 + ] + ], + [ + [ + -109.948898, + 27.024443 + ], + [ + -110.034447, + 27.091391 + ], + [ + -109.9814, + 27.076387 + ], + [ + -109.948898, + 27.024443 + ] + ], + [ + [ + -97.607788, + 21.736666 + ], + [ + -97.674179, + 21.790277 + ], + [ + -97.685562, + 21.859999 + ], + [ + -97.607788, + 21.736666 + ] + ] + ] + ] + }, + "name" : "Mexico", + "iso2" : "MX", + "iso3" : "MEX" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "u71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 104.120241, + 2.318892 + ], + [ + 104.101068, + 2.294168 + ], + [ + 104.15497, + 2.287779 + ], + [ + 104.120241, + 2.318892 + ] + ] + ], + [ + [ + [ + 111.370821, + 2.360277 + ], + [ + 111.413881, + 2.376112 + ], + [ + 111.376925, + 2.495279 + ], + [ + 111.383883, + 2.680002 + ], + [ + 111.327478, + 2.781389 + ], + [ + 111.303591, + 2.448057 + ], + [ + 111.370821, + 2.360277 + ] + ] + ], + [ + [ + [ + 104.171083, + 2.705278 + ], + [ + 104.221628, + 2.729723 + ], + [ + 104.171915, + 2.895002 + ], + [ + 104.171083, + 2.705278 + ] + ] + ], + [ + [ + [ + 117.903559, + 4.174044 + ], + [ + 117.726648, + 4.169722 + ], + [ + 117.686922, + 4.168337 + ], + [ + 117.903559, + 4.174044 + ] + ] + ], + [ + [ + [ + 118.681932, + 4.499723 + ], + [ + 118.689425, + 4.441111 + ], + [ + 118.762774, + 4.463614 + ], + [ + 118.681932, + 4.499723 + ] + ] + ], + [ + [ + [ + 118.509722, + 4.554445 + ], + [ + 118.499422, + 4.529165 + ], + [ + 118.517488, + 4.536112 + ], + [ + 118.509722, + 4.554445 + ] + ] + ], + [ + [ + [ + 118.570269, + 4.600832 + ], + [ + 118.478868, + 4.689165 + ], + [ + 118.343874, + 4.670553 + ], + [ + 118.570269, + 4.600832 + ] + ] + ], + [ + [ + [ + 115.233049, + 5.259722 + ], + [ + 115.24193, + 5.384722 + ], + [ + 115.158335, + 5.257776 + ], + [ + 115.233049, + 5.259722 + ] + ] + ], + [ + [ + [ + 100.288858, + 5.256109 + ], + [ + 100.320253, + 5.427778 + ], + [ + 100.183855, + 5.4625 + ], + [ + 100.288858, + 5.256109 + ] + ] + ], + [ + [ + [ + 115.672213, + 5.707224 + ], + [ + 115.654428, + 5.735834 + ], + [ + 115.627764, + 5.728334 + ], + [ + 115.672213, + 5.707224 + ] + ] + ], + [ + [ + [ + 118.171923, + 5.812223 + ], + [ + 118.233049, + 5.848333 + ], + [ + 118.178865, + 5.84889 + ], + [ + 118.171923, + 5.812223 + ] + ] + ], + [ + [ + [ + 116.05942, + 6.003057 + ], + [ + 116.056643, + 6.039999 + ], + [ + 116.016939, + 6.035833 + ], + [ + 116.05942, + 6.003057 + ] + ] + ], + [ + [ + [ + 115.609156, + 6.195276 + ], + [ + 115.607759, + 6.221109 + ], + [ + 115.592745, + 6.204721 + ], + [ + 115.609156, + 6.195276 + ] + ] + ], + [ + [ + [ + 99.873293, + 6.416109 + ], + [ + 99.640825, + 6.419722 + ], + [ + 99.813021, + 6.156668 + ], + [ + 99.873293, + 6.416109 + ] + ] + ], + [ + [ + [ + 100.65497, + 6.448332 + ], + [ + 100.214983, + 6.711111 + ], + [ + 100.127115, + 6.424948 + ], + [ + 100.697191, + 3.903891 + ], + [ + 101.29442, + 3.268888 + ], + [ + 101.284975, + 2.841112 + ], + [ + 103.51214, + 1.269529 + ], + [ + 103.959414, + 1.646944 + ], + [ + 104.275805, + 1.365557 + ], + [ + 103.435793, + 2.933889 + ], + [ + 103.409975, + 4.858053 + ], + [ + 102.095232, + 6.236139 + ], + [ + 101.833864, + 5.743334 + ], + [ + 101.569979, + 5.916666 + ], + [ + 101.139688, + 5.631945 + ], + [ + 101.115519, + 6.248888 + ], + [ + 100.65497, + 6.448332 + ] + ] + ], + [ + [ + [ + 117.493593, + 6.742498 + ], + [ + 117.337198, + 6.651388 + ], + [ + 117.466928, + 6.6425 + ], + [ + 117.493593, + 6.742498 + ] + ] + ], + [ + [ + [ + 117.592058, + 4.169821 + ], + [ + 118.552202, + 4.351667 + ], + [ + 118.140551, + 4.888334 + ], + [ + 119.27582, + 5.344999 + ], + [ + 118.373598, + 5.807501 + ], + [ + 117.960276, + 5.681391 + ], + [ + 118.008883, + 6.061666 + ], + [ + 117.503054, + 5.896112 + ], + [ + 117.738878, + 6.390001 + ], + [ + 117.290819, + 6.635836 + ], + [ + 117.178308, + 6.990278 + ], + [ + 116.789148, + 6.579168 + ], + [ + 116.762499, + 7.023611 + ], + [ + 115.848879, + 5.56389 + ], + [ + 115.378862, + 5.39889 + ], + [ + 115.546099, + 5.053057 + ], + [ + 115.145784, + 4.903242 + ], + [ + 115.22304, + 4.804998 + ], + [ + 115.343325, + 4.311945 + ], + [ + 115.029131, + 4.820211 + ], + [ + 115.018435, + 4.895796 + ], + [ + 114.6411, + 4.018888 + ], + [ + 114.095079, + 4.59054 + ], + [ + 113.010538, + 3.160555 + ], + [ + 111.444704, + 2.691668 + ], + [ + 111.450274, + 2.368612 + ], + [ + 111.368113, + 2.339094 + ], + [ + 111.223314, + 2.42111 + ], + [ + 111.168589, + 2.152224 + ], + [ + 111.372759, + 2.150835 + ], + [ + 111.000002, + 1.575556 + ], + [ + 111.376925, + 1.343889 + ], + [ + 110.33333, + 1.802221 + ], + [ + 109.928308, + 1.689165 + ], + [ + 109.648569, + 2.073408 + ], + [ + 109.669985, + 1.613054 + ], + [ + 110.555254, + 0.853891 + ], + [ + 111.827211, + 0.998613 + ], + [ + 112.472765, + 1.568056 + ], + [ + 113.658335, + 1.224722 + ], + [ + 114.562761, + 1.433611 + ], + [ + 114.804705, + 2.248888 + ], + [ + 115.2372, + 2.522501 + ], + [ + 115.139711, + 2.906111 + ], + [ + 115.495531, + 3.040003 + ], + [ + 115.685259, + 4.171946 + ], + [ + 116.049425, + 4.279444 + ], + [ + 117.592058, + 4.169821 + ] + ] + ], + [ + [ + [ + 117.283335, + 7.314722 + ], + [ + 117.07416, + 7.2875 + ], + [ + 117.066675, + 7.101942 + ], + [ + 117.283335, + 7.314722 + ] + ] + ], + [ + [ + [ + 116.872484, + 7.219999 + ], + [ + 117.018885, + 7.26639 + ], + [ + 117.003328, + 7.353334 + ], + [ + 116.872484, + 7.219999 + ] + ] + ] + ] + }, + "name" : "Malaysia", + "iso2" : "MY", + "iso3" : "MYS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "vL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 32.954437, + -26.058613 + ], + [ + 32.980553, + -25.972778 + ], + [ + 32.895271, + -26.040836 + ], + [ + 32.954437, + -26.058613 + ] + ] + ], + [ + [ + [ + 35.488327, + -21.685001 + ], + [ + 35.479439, + -21.523891 + ], + [ + 35.435555, + -21.783337 + ], + [ + 35.488327, + -21.685001 + ] + ] + ], + [ + [ + [ + 39.901382, + -16.413334 + ], + [ + 39.861382, + -16.278057 + ], + [ + 39.810829, + -16.363056 + ], + [ + 39.901382, + -16.413334 + ] + ] + ], + [ + [ + [ + 32.890427, + -26.847145 + ], + [ + 32.952499, + -26.083889 + ], + [ + 32.837494, + -26.293056 + ], + [ + 32.576111, + -25.975559 + ], + [ + 32.813889, + -25.60778 + ], + [ + 35.012215, + -24.654167 + ], + [ + 35.497215, + -24.105278 + ], + [ + 35.545273, + -22.232502 + ], + [ + 35.312492, + -22.418056 + ], + [ + 34.619164, + -19.617779 + ], + [ + 34.899162, + -19.857224 + ], + [ + 36.252777, + -18.891392 + ], + [ + 36.943886, + -18.108612 + ], + [ + 36.841385, + -17.877224 + ], + [ + 39.094444, + -16.986389 + ], + [ + 40.587776, + -15.479723 + ], + [ + 40.846107, + -14.697779 + ], + [ + 40.409996, + -12.961945 + ], + [ + 40.646942, + -12.760834 + ], + [ + 40.500832, + -11.031946 + ], + [ + 40.436813, + -10.478174 + ], + [ + 39.268051, + -11.168056 + ], + [ + 37.941383, + -11.285002 + ], + [ + 37.462044, + -11.727329 + ], + [ + 36.18972, + -11.706667 + ], + [ + 35.838333, + -11.414722 + ], + [ + 34.966728, + -11.572111 + ], + [ + 34.626106, + -11.575834 + ], + [ + 34.375275, + -12.155834 + ], + [ + 34.566383, + -13.342224 + ], + [ + 35.924164, + -14.885557 + ], + [ + 35.814438, + -16.019447 + ], + [ + 35.1353, + -16.553375 + ], + [ + 35.290054, + -17.134266 + ], + [ + 34.255554, + -15.899168 + ], + [ + 34.589722, + -15.282778 + ], + [ + 34.522217, + -14.571667 + ], + [ + 33.633331, + -14.539722 + ], + [ + 33.222229, + -14.012566 + ], + [ + 30.213017, + -14.981716 + ], + [ + 30.415756, + -15.631872 + ], + [ + 30.422775, + -16.009167 + ], + [ + 31.276665, + -16.018612 + ], + [ + 32.98114, + -16.709053 + ], + [ + 32.987808, + -17.265003 + ], + [ + 33.073051, + -18.348892 + ], + [ + 32.699165, + -18.944447 + ], + [ + 33.018883, + -19.943336 + ], + [ + 32.50222, + -20.598614 + ], + [ + 32.488876, + -21.344448 + ], + [ + 31.297504, + -22.414764 + ], + [ + 32.016106, + -24.459446 + ], + [ + 31.96851, + -25.95784 + ], + [ + 32.1334, + -26.839626 + ], + [ + 32.890427, + -26.847145 + ] + ], + [ + [ + 34.602776, + -12.011946 + ], + [ + 34.629997, + -12.012501 + ], + [ + 34.623886, + -12.036667 + ], + [ + 34.602776, + -12.011946 + ] + ], + [ + [ + 34.723885, + -12.032778 + ], + [ + 34.754715, + -12.044168 + ], + [ + 34.732216, + -12.095556 + ], + [ + 34.723885, + -12.032778 + ] + ] + ] + ] + }, + "name" : "Mozambique", + "iso2" : "MZ", + "iso3" : "MOZ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "vb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 34.723885, + -12.032778 + ], + [ + 34.732216, + -12.095556 + ], + [ + 34.754715, + -12.044168 + ], + [ + 34.723885, + -12.032778 + ] + ] + ], + [ + [ + [ + 34.602776, + -12.011946 + ], + [ + 34.623886, + -12.036667 + ], + [ + 34.629997, + -12.012501 + ], + [ + 34.602776, + -12.011946 + ] + ] + ], + [ + [ + [ + 34.966728, + -11.572111 + ], + [ + 34.325272, + -9.732779 + ], + [ + 33.13472, + -9.494167 + ], + [ + 32.940399, + -9.405077 + ], + [ + 33.702278, + -10.561857 + ], + [ + 33.250549, + -10.886667 + ], + [ + 33.273331, + -12.144445 + ], + [ + 33.54583, + -12.359446 + ], + [ + 33.046387, + -12.603889 + ], + [ + 32.678886, + -13.60639 + ], + [ + 33.222229, + -14.012566 + ], + [ + 33.633331, + -14.539722 + ], + [ + 34.522217, + -14.571667 + ], + [ + 34.589722, + -15.282778 + ], + [ + 34.255554, + -15.899168 + ], + [ + 35.290054, + -17.134266 + ], + [ + 35.1353, + -16.553375 + ], + [ + 35.814438, + -16.019447 + ], + [ + 35.924164, + -14.885557 + ], + [ + 34.566383, + -13.342224 + ], + [ + 34.375275, + -12.155834 + ], + [ + 34.626106, + -11.575834 + ], + [ + 34.966728, + -11.572111 + ] + ] + ] + ] + }, + "name" : "Malawi", + "iso2" : "MW", + "iso3" : "MWI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "vr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 167.534424, + -22.69389 + ], + [ + 167.531372, + -22.651112 + ], + [ + 167.508026, + -22.688332 + ], + [ + 167.534424, + -22.69389 + ] + ] + ], + [ + [ + [ + 167.501648, + -22.672222 + ], + [ + 167.553864, + -22.612499 + ], + [ + 167.434692, + -22.543056 + ], + [ + 167.501648, + -22.672222 + ] + ] + ], + [ + [ + [ + 166.816071, + -22.463333 + ], + [ + 166.811646, + -22.395 + ], + [ + 166.772491, + -22.456108 + ], + [ + 166.816071, + -22.463333 + ] + ] + ], + [ + [ + [ + 171.313873, + -22.33139 + ], + [ + 171.304962, + -22.327778 + ], + [ + 171.300812, + -22.334999 + ], + [ + 171.313873, + -22.33139 + ] + ] + ], + [ + [ + [ + 166.050537, + -22.079445 + ], + [ + 166.050537, + -22.036667 + ], + [ + 166.027191, + -22.054722 + ], + [ + 166.050537, + -22.079445 + ] + ] + ], + [ + [ + [ + 166.450256, + -21.704445 + ], + [ + 166.440796, + -21.68861 + ], + [ + 166.415527, + -21.691387 + ], + [ + 166.450256, + -21.704445 + ] + ] + ], + [ + [ + [ + 168.002197, + -21.451942 + ], + [ + 167.808868, + -21.385834 + ], + [ + 168.120239, + -21.631111 + ], + [ + 168.002197, + -21.451942 + ] + ] + ], + [ + [ + [ + 167.842743, + -21.14389 + ], + [ + 167.80246, + -21.100277 + ], + [ + 167.801361, + -21.119446 + ], + [ + 167.842743, + -21.14389 + ] + ] + ], + [ + [ + [ + 166.448029, + -20.734165 + ], + [ + 166.459137, + -20.719719 + ], + [ + 166.38858, + -20.72583 + ], + [ + 166.448029, + -20.734165 + ] + ] + ], + [ + [ + [ + 167.287201, + -20.75639 + ], + [ + 167.059692, + -20.988609 + ], + [ + 167.398041, + -21.177776 + ], + [ + 167.287201, + -20.75639 + ] + ] + ], + [ + [ + [ + 166.624664, + -20.406109 + ], + [ + 166.499115, + -20.717777 + ], + [ + 166.625793, + -20.601665 + ], + [ + 166.624664, + -20.406109 + ] + ] + ], + [ + [ + [ + 164.288025, + -20.255558 + ], + [ + 164.270264, + -20.219719 + ], + [ + 164.275269, + -20.248886 + ], + [ + 164.288025, + -20.255558 + ] + ] + ], + [ + [ + [ + 163.943848, + -20.170555 + ], + [ + 163.906921, + -20.14389 + ], + [ + 163.922485, + -20.16972 + ], + [ + 163.943848, + -20.170555 + ] + ] + ], + [ + [ + [ + 164.31665, + -20.327225 + ], + [ + 163.98941, + -20.087223 + ], + [ + 165.259979, + -21.558056 + ], + [ + 166.116364, + -21.946388 + ], + [ + 166.451904, + -22.316666 + ], + [ + 167.014709, + -22.321388 + ], + [ + 164.31665, + -20.327225 + ] + ] + ], + [ + [ + [ + 164.234131, + -20.161945 + ], + [ + 164.1633, + -20.065277 + ], + [ + 164.161102, + -20.113335 + ], + [ + 164.234131, + -20.161945 + ] + ] + ], + [ + [ + [ + 163.821625, + -20.082779 + ], + [ + 163.817749, + -20.040836 + ], + [ + 163.796936, + -20.040836 + ], + [ + 163.821625, + -20.082779 + ] + ] + ], + [ + [ + [ + 163.977173, + -20.081669 + ], + [ + 163.949402, + -20.002224 + ], + [ + 163.939972, + -20.068058 + ], + [ + 163.977173, + -20.081669 + ] + ] + ], + [ + [ + [ + 163.671906, + -19.785835 + ], + [ + 163.700806, + -19.766392 + ], + [ + 163.61969, + -19.625832 + ], + [ + 163.671906, + -19.785835 + ] + ] + ], + [ + [ + [ + 163.607452, + -19.604168 + ], + [ + 163.57663, + -19.549446 + ], + [ + 163.568024, + -19.573055 + ], + [ + 163.607452, + -19.604168 + ] + ] + ], + [ + [ + [ + 159.949402, + -19.343334 + ], + [ + 159.978851, + -19.171665 + ], + [ + 159.95108, + -19.114445 + ], + [ + 159.949402, + -19.343334 + ] + ] + ] + ] + }, + "name" : "New Caledonia", + "iso2" : "NC", + "iso3" : "NCL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "v71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -169.89389, + -19.145557 + ], + [ + -169.817505, + -18.96833 + ], + [ + -169.931671, + -19.016666 + ], + [ + -169.89389, + -19.145557 + ] + ] + ] + }, + "name" : "Niue", + "iso2" : "NU", + "iso3" : "NIU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "wL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 4.245277, + 19.146664 + ], + [ + 4.245, + 18.645275 + ], + [ + 4.200833, + 16.393887 + ], + [ + 3.523981, + 15.358152 + ], + [ + 1.3125, + 15.286665 + ], + [ + 0.235048, + 14.915068 + ], + [ + 0.602222, + 13.703888 + ], + [ + 1.285306, + 13.349957 + ], + [ + 0.991667, + 13.371666 + ], + [ + 0.989167, + 13.047222 + ], + [ + 1.578333, + 12.629999 + ], + [ + 2.1425, + 12.694443 + ], + [ + 2.397925, + 11.896152 + ], + [ + 2.378054, + 12.240274 + ], + [ + 2.83862, + 12.396658 + ], + [ + 3.604459, + 11.693274 + ], + [ + 4.1425, + 13.476944 + ], + [ + 5.874722, + 13.749443 + ], + [ + 6.423055, + 13.605276 + ], + [ + 6.933332, + 12.997221 + ], + [ + 7.815, + 13.352777 + ], + [ + 9.634932, + 12.802435 + ], + [ + 10.724165, + 13.386389 + ], + [ + 12.459166, + 13.066111 + ], + [ + 13.62512, + 13.718338 + ], + [ + 13.468887, + 14.461111 + ], + [ + 15.489166, + 16.914165 + ], + [ + 15.996666, + 20.353054 + ], + [ + 15.202499, + 21.495831 + ], + [ + 14.997889, + 23.000591 + ], + [ + 14.234999, + 22.614166 + ], + [ + 13.543888, + 23.16861 + ], + [ + 11.986475, + 23.522305 + ], + [ + 7.450807, + 20.852863 + ], + [ + 5.812499, + 19.44611 + ], + [ + 4.245277, + 19.146664 + ] + ] + ] + }, + "name" : "Niger", + "iso2" : "NE", + "iso3" : "NER" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "wb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -69.882233, + 12.41111 + ], + [ + -70.063065, + 12.628611 + ], + [ + -70.059448, + 12.538055 + ], + [ + -69.882233, + 12.41111 + ] + ] + ] + }, + "name" : "Aruba", + "iso2" : "AW", + "iso3" : "ABW" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "wr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -63.167778, + 18.164444 + ], + [ + -62.993057, + 18.227219 + ], + [ + -62.970001, + 18.272221 + ], + [ + -63.167778, + 18.164444 + ] + ] + ] + }, + "name" : "Anguilla", + "iso2" : "AI", + "iso3" : "AIA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "w71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 6.134414, + 50.127846 + ], + [ + 6.398204, + 50.323174 + ], + [ + 6.011798, + 50.757271 + ], + [ + 5.640833, + 50.839722 + ], + [ + 5.849171, + 51.15638 + ], + [ + 5.041389, + 51.486664 + ], + [ + 4.252368, + 51.375145 + ], + [ + 4.302375, + 51.263184 + ], + [ + 4.238898, + 51.350426 + ], + [ + 3.370866, + 51.373856 + ], + [ + 2.541667, + 51.09111 + ], + [ + 4.165, + 50.283051 + ], + [ + 4.149238, + 49.978371 + ], + [ + 4.832503, + 50.16861 + ], + [ + 4.873055, + 49.797218 + ], + [ + 5.80788, + 49.545044 + ], + [ + 6.026256, + 50.181252 + ], + [ + 6.134414, + 50.127846 + ] + ] + ] + }, + "name" : "Belgium", + "iso2" : "BE", + "iso3" : "BEL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "xL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 114.246094, + 22.203327 + ], + [ + 114.201103, + 22.290554 + ], + [ + 114.124977, + 22.279999 + ], + [ + 114.246094, + 22.203327 + ] + ] + ], + [ + [ + [ + 113.896652, + 22.195827 + ], + [ + 114.04776, + 22.339996 + ], + [ + 113.825272, + 22.232216 + ], + [ + 113.896652, + 22.195827 + ] + ] + ], + [ + [ + [ + 114.314148, + 22.342773 + ], + [ + 114.296097, + 22.368053 + ], + [ + 114.295258, + 22.345829 + ], + [ + 114.314148, + 22.342773 + ] + ] + ], + [ + [ + [ + 114.219437, + 22.474438 + ], + [ + 114.222596, + 22.550548 + ], + [ + 114.03333, + 22.509138 + ], + [ + 114.296104, + 22.260561 + ], + [ + 114.219437, + 22.474438 + ] + ] + ] + ] + }, + "name" : "Hong Kong", + "iso2" : "HK", + "iso3" : "HKG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "xb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 145.281647, + 14.158333 + ], + [ + 145.237183, + 14.194998 + ], + [ + 145.119965, + 14.122498 + ], + [ + 145.281647, + 14.158333 + ] + ] + ], + [ + [ + [ + 145.535248, + 14.828331 + ], + [ + 145.570251, + 14.844997 + ], + [ + 145.529694, + 14.848331 + ], + [ + 145.535248, + 14.828331 + ] + ] + ], + [ + [ + [ + 145.624115, + 14.908054 + ], + [ + 145.633026, + 15.083887 + ], + [ + 145.572205, + 15.009998 + ], + [ + 145.624115, + 14.908054 + ] + ] + ], + [ + [ + [ + 145.736084, + 15.13361 + ], + [ + 145.818024, + 15.265833 + ], + [ + 145.679138, + 15.105276 + ], + [ + 145.736084, + 15.13361 + ] + ] + ], + [ + [ + [ + 145.655823, + 16.334721 + ], + [ + 145.714691, + 16.355831 + ], + [ + 145.63443, + 16.376106 + ], + [ + 145.655823, + 16.334721 + ] + ] + ], + [ + [ + [ + 145.798309, + 16.680275 + ], + [ + 145.801636, + 16.70055 + ], + [ + 145.774994, + 16.705273 + ], + [ + 145.798309, + 16.680275 + ] + ] + ], + [ + [ + [ + 145.860779, + 17.28722 + ], + [ + 145.867462, + 17.304165 + ], + [ + 145.84024, + 17.317219 + ], + [ + 145.860779, + 17.28722 + ] + ] + ], + [ + [ + [ + 145.860779, + 17.567776 + ], + [ + 145.833862, + 17.604996 + ], + [ + 145.824402, + 17.577496 + ], + [ + 145.860779, + 17.567776 + ] + ] + ], + [ + [ + [ + 145.736084, + 18.043888 + ], + [ + 145.824402, + 18.163052 + ], + [ + 145.779144, + 18.17083 + ], + [ + 145.736084, + 18.043888 + ] + ] + ], + [ + [ + [ + 145.679138, + 18.721382 + ], + [ + 145.71051, + 18.76833 + ], + [ + 145.6633, + 18.810276 + ], + [ + 145.679138, + 18.721382 + ] + ] + ], + [ + [ + [ + 145.405823, + 19.652775 + ], + [ + 145.415253, + 19.677219 + ], + [ + 145.38916, + 19.688885 + ], + [ + 145.405823, + 19.652775 + ] + ] + ], + [ + [ + [ + 145.256927, + 20.01083 + ], + [ + 145.27359, + 20.036385 + ], + [ + 145.242188, + 20.052219 + ], + [ + 145.256927, + 20.01083 + ] + ] + ], + [ + [ + [ + 144.921082, + 20.51833 + ], + [ + 144.913605, + 20.556385 + ], + [ + 144.899139, + 20.526108 + ], + [ + 144.921082, + 20.51833 + ] + ] + ] + ] + }, + "name" : "Northern Mariana Islands", + "iso2" : "MP", + "iso3" : "MNP" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "xr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -6.655277, + 61.389444 + ], + [ + -6.724445, + 61.573328 + ], + [ + -6.962778, + 61.619165 + ], + [ + -6.655277, + 61.389444 + ] + ] + ], + [ + [ + [ + -6.604166, + 61.821665 + ], + [ + -6.908333, + 61.904718 + ], + [ + -6.652222, + 61.742777 + ], + [ + -6.604166, + 61.821665 + ] + ] + ], + [ + [ + [ + -7.049723, + 62.067774 + ], + [ + -7.434999, + 62.140276 + ], + [ + -7.201666, + 62.01861 + ], + [ + -7.049723, + 62.067774 + ] + ] + ], + [ + [ + [ + -6.706944, + 61.937494 + ], + [ + -7.210833, + 62.284723 + ], + [ + -7.232222, + 62.172495 + ], + [ + -6.706944, + 61.937494 + ] + ] + ], + [ + [ + [ + -6.657499, + 62.092501 + ], + [ + -6.60111, + 62.196939 + ], + [ + -7.060278, + 62.313608 + ], + [ + -6.657499, + 62.092501 + ] + ] + ], + [ + [ + [ + -6.620001, + 62.229723 + ], + [ + -6.720833, + 62.331385 + ], + [ + -6.685833, + 62.244997 + ], + [ + -6.620001, + 62.229723 + ] + ] + ], + [ + [ + [ + -6.418612, + 62.183886 + ], + [ + -6.574402, + 62.349878 + ], + [ + -6.5725, + 62.211664 + ], + [ + -6.418612, + 62.183886 + ] + ] + ], + [ + [ + [ + -6.406111, + 62.284441 + ], + [ + -6.545279, + 62.386942 + ], + [ + -6.480278, + 62.297777 + ], + [ + -6.406111, + 62.284441 + ] + ] + ] + ] + }, + "name" : "Faroe Islands", + "iso2" : "FO", + "iso3" : "FRO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "x71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 1.723611, + 42.509438 + ], + [ + 1.78172, + 42.569962 + ], + [ + 1.445833, + 42.601944 + ], + [ + 1.723611, + 42.509438 + ] + ] + ] + }, + "name" : "Andorra", + "iso2" : "AD", + "iso3" : "AND" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "yL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -5.334508, + 36.16256 + ], + [ + -5.355799, + 36.163307 + ], + [ + -5.33823, + 36.112175 + ], + [ + -5.334508, + 36.16256 + ] + ] + ] + }, + "name" : "Gibraltar", + "iso2" : "GI", + "iso3" : "GIB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "yb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -4.777779, + 54.05555 + ], + [ + -4.394444, + 54.186386 + ], + [ + -4.354167, + 54.410828 + ], + [ + -4.777779, + 54.05555 + ] + ] + ] + }, + "name" : "Isle of Man", + "iso2" : "IM", + "iso3" : "IMN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "yr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 6.134414, + 50.127846 + ], + [ + 6.026256, + 50.181252 + ], + [ + 5.80788, + 49.545044 + ], + [ + 6.36217, + 49.459389 + ], + [ + 6.524444, + 49.808609 + ], + [ + 6.134414, + 50.127846 + ] + ] + ] + }, + "name" : "Luxembourg", + "iso2" : "LU", + "iso3" : "LUX" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "y71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 113.531662, + 22.194736 + ], + [ + 113.552467, + 22.183052 + ], + [ + 113.554428, + 22.21273 + ], + [ + 113.531662, + 22.194736 + ] + ] + ] + }, + "name" : "Macau", + "iso2" : "MO", + "iso3" : "MAC" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "zL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 7.439293, + 43.757523 + ], + [ + 7.416111, + 43.770554 + ], + [ + 7.387777, + 43.748604 + ], + [ + 7.391609, + 43.727547 + ], + [ + 7.439293, + 43.757523 + ] + ] + ] + }, + "name" : "Monaco", + "iso2" : "MC", + "iso3" : "MCO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "zb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 34.267578, + 31.216541 + ], + [ + 34.33416, + 31.25972 + ], + [ + 34.490547, + 31.596096 + ], + [ + 34.21666, + 31.32333 + ], + [ + 34.267578, + 31.216541 + ] + ] + ], + [ + [ + [ + 35.552567, + 32.394196 + ], + [ + 35.282494, + 32.516937 + ], + [ + 34.884995, + 31.391388 + ], + [ + 35.478195, + 31.497322 + ], + [ + 35.552567, + 32.394196 + ] + ], + [ + [ + 35.25972, + 31.78722 + ], + [ + 35.251663, + 31.788055 + ], + [ + 35.248886, + 31.808887 + ], + [ + 35.25972, + 31.78722 + ] + ] + ] + ] + }, + "name" : "Palestine", + "iso2" : "PS", + "iso3" : "PSE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "zr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 18.455555, + 42.565826 + ], + [ + 18.503197, + 42.44944 + ], + [ + 19.367771, + 41.848999 + ], + [ + 19.645832, + 42.61805 + ], + [ + 20.071423, + 42.560913 + ], + [ + 20.295954, + 42.824291 + ], + [ + 20.348888, + 42.886383 + ], + [ + 19.228809, + 43.513214 + ], + [ + 18.699997, + 43.255554 + ], + [ + 18.455555, + 42.565826 + ] + ] + ] + }, + "name" : "Montenegro", + "iso2" : "ME", + "iso3" : "MNE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "z71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 45.282494, + -12.804167 + ], + [ + 45.283051, + -12.747501 + ], + [ + 45.262497, + -12.76889 + ], + [ + 45.282494, + -12.804167 + ] + ] + ], + [ + [ + [ + 45.204994, + -12.849724 + ], + [ + 45.078888, + -12.6625 + ], + [ + 45.097496, + -12.985834 + ], + [ + 45.204994, + -12.849724 + ] + ] + ] + ] + }, + "name" : "Mayotte", + "iso2" : "YT", + "iso3" : "MYT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "0L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 20.210831, + 59.979996 + ], + [ + 20.205276, + 60.063606 + ], + [ + 19.999165, + 60.055275 + ], + [ + 20.210831, + 59.979996 + ] + ] + ], + [ + [ + [ + 20.270554, + 60.057495 + ], + [ + 20.292221, + 60.125275 + ], + [ + 20.215553, + 60.13916 + ], + [ + 20.270554, + 60.057495 + ] + ] + ], + [ + [ + [ + 19.676666, + 60.156944 + ], + [ + 19.601944, + 60.255829 + ], + [ + 19.510555, + 60.175278 + ], + [ + 19.676666, + 60.156944 + ] + ] + ], + [ + [ + [ + 20.397221, + 60.195 + ], + [ + 20.441109, + 60.253052 + ], + [ + 20.366108, + 60.265549 + ], + [ + 20.397221, + 60.195 + ] + ] + ], + [ + [ + [ + 20.084721, + 60.350273 + ], + [ + 19.648331, + 60.25666 + ], + [ + 19.943886, + 60.04277 + ], + [ + 20.277496, + 60.274162 + ], + [ + 20.084721, + 60.350273 + ] + ] + ] + ] + }, + "name" : "Åland Islands", + "iso2" : "AX", + "iso3" : "ALA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "0b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 167.964966, + -29.081112 + ], + [ + 167.997742, + -29.025002 + ], + [ + 167.912476, + -29.00528 + ], + [ + 167.964966, + -29.081112 + ] + ] + ] + }, + "name" : "Norfolk Island", + "iso2" : "NF", + "iso3" : "NFK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "0r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 96.914154, + -12.198055 + ], + [ + 96.914703, + -12.151945 + ], + [ + 96.902481, + -12.199999 + ], + [ + 96.914154, + -12.198055 + ] + ] + ], + [ + [ + [ + 96.862762, + -12.196112 + ], + [ + 96.826385, + -12.128332 + ], + [ + 96.819443, + -12.178057 + ], + [ + 96.862762, + -12.196112 + ] + ] + ] + ] + }, + "name" : "Cocos (Keeling) Islands", + "iso2" : "CC", + "iso3" : "CCK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "071E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -60.220001, + -80.285843 + ], + [ + -60.173615, + -79.71167 + ], + [ + -60.695007, + -79.610001 + ], + [ + -62.550003, + -80.258896 + ], + [ + -67.031952, + -80.166397 + ], + [ + -61.843895, + -80.836395 + ], + [ + -60.908615, + -80.748337 + ], + [ + -60.220001, + -80.285843 + ] + ] + ], + [ + [ + [ + 162.159731, + -79.061676 + ], + [ + 161.925844, + -78.981674 + ], + [ + 161.947786, + -79.030838 + ], + [ + 162.159731, + -79.061676 + ] + ] + ], + [ + [ + [ + -162.133362, + -78.741119 + ], + [ + -163.816406, + -79.207504 + ], + [ + -161.085846, + -79.835281 + ], + [ + -158.532501, + -79.713898 + ], + [ + -162.133362, + -78.741119 + ] + ] + ], + [ + [ + [ + -39.972504, + -78.554733 + ], + [ + -41.930557, + -78.591949 + ], + [ + -37.45945, + -78.640289 + ], + [ + -39.972504, + -78.554733 + ] + ] + ], + [ + [ + [ + -70.945557, + -79.650009 + ], + [ + -67.31723, + -78.503616 + ], + [ + -70.304169, + -78.805283 + ], + [ + -71.855286, + -79.420288 + ], + [ + -70.945557, + -79.650009 + ] + ] + ], + [ + [ + [ + 167.315554, + -78.253616 + ], + [ + 167.677492, + -78.117523 + ], + [ + 166.871645, + -78.208084 + ], + [ + 167.315554, + -78.253616 + ] + ] + ], + [ + [ + [ + 166.352205, + -78.313629 + ], + [ + 166.774172, + -78.221115 + ], + [ + 166.065554, + -78.114746 + ], + [ + 166.352205, + -78.313629 + ] + ] + ], + [ + [ + [ + -44.114449, + -78.698898 + ], + [ + -43.891113, + -78.361954 + ], + [ + -44.841949, + -78.101395 + ], + [ + -48.272781, + -78.056395 + ], + [ + -50.183617, + -78.650558 + ], + [ + -50.666115, + -79.588623 + ], + [ + -54.90889, + -80.718613 + ], + [ + -52.055557, + -80.902786 + ], + [ + -44.286392, + -80.339737 + ], + [ + -44.066673, + -80.257507 + ], + [ + -44.572502, + -80.092224 + ], + [ + -43.354446, + -79.779724 + ], + [ + -43.466118, + -79.470291 + ], + [ + -44.583336, + -79.333893 + ], + [ + -43.793335, + -79.003616 + ], + [ + -45.575279, + -78.851959 + ], + [ + -44.114449, + -78.698898 + ] + ] + ], + [ + [ + [ + -148.761139, + -77.44223 + ], + [ + -148.829468, + -77.401398 + ], + [ + -149.035278, + -77.416946 + ], + [ + -148.761139, + -77.44223 + ] + ] + ], + [ + [ + [ + -150.20752, + -77.37001 + ], + [ + -150.076416, + -77.340561 + ], + [ + -151.193909, + -77.271957 + ], + [ + -150.20752, + -77.37001 + ] + ] + ], + [ + [ + [ + -148.858612, + -77.354736 + ], + [ + -149.161682, + -77.258896 + ], + [ + -149.51947, + -77.290848 + ], + [ + -148.858612, + -77.354736 + ] + ] + ], + [ + [ + [ + 167.716951, + -77.405838 + ], + [ + 166.631655, + -77.172806 + ], + [ + 166.21335, + -77.538635 + ], + [ + 166.882509, + -77.671951 + ], + [ + 166.547762, + -77.70668 + ], + [ + 166.776644, + -77.857788 + ], + [ + 169.451113, + -77.496689 + ], + [ + 167.716951, + -77.405838 + ] + ] + ], + [ + [ + [ + -147.252228, + -77.165558 + ], + [ + -147.0625, + -77.173889 + ], + [ + -147.532806, + -77.151947 + ], + [ + -147.252228, + -77.165558 + ] + ] + ], + [ + [ + [ + -147.896973, + -77.429733 + ], + [ + -147.590851, + -77.33168 + ], + [ + -147.708893, + -77.189453 + ], + [ + -148.464447, + -77.070557 + ], + [ + -148.864197, + -77.270844 + ], + [ + -147.896973, + -77.429733 + ] + ] + ], + [ + [ + [ + -147.633636, + -77.103348 + ], + [ + -147.654724, + -77.040009 + ], + [ + -147.835297, + -77.034729 + ], + [ + -147.633636, + -77.103348 + ] + ] + ], + [ + [ + [ + -148.511688, + -76.907791 + ], + [ + -149.194733, + -76.950562 + ], + [ + -148.206696, + -76.978058 + ], + [ + -148.511688, + -76.907791 + ] + ] + ], + [ + [ + [ + -149.478363, + -76.898346 + ], + [ + -150.736389, + -76.951126 + ], + [ + -149.07251, + -77.100845 + ], + [ + -149.478363, + -76.898346 + ] + ] + ], + [ + [ + [ + -146.710846, + -76.979172 + ], + [ + -146.223358, + -76.897507 + ], + [ + -146.991669, + -76.851395 + ], + [ + -146.710846, + -76.979172 + ] + ] + ], + [ + [ + [ + -148.533905, + -76.722504 + ], + [ + -149.169189, + -76.732224 + ], + [ + -148.157227, + -76.765289 + ], + [ + -148.533905, + -76.722504 + ] + ] + ], + [ + [ + [ + -149.83197, + -76.664459 + ], + [ + -150.701416, + -76.719452 + ], + [ + -150.320862, + -76.781677 + ], + [ + -149.83197, + -76.664459 + ] + ] + ], + [ + [ + [ + -148.409454, + -76.689453 + ], + [ + -148.619171, + -76.618057 + ], + [ + -148.77475, + -76.652786 + ], + [ + -148.409454, + -76.689453 + ] + ] + ], + [ + [ + [ + -147.433624, + -76.688614 + ], + [ + -147.5914, + -76.593903 + ], + [ + -147.954193, + -76.591124 + ], + [ + -147.433624, + -76.688614 + ] + ] + ], + [ + [ + [ + -146.772247, + -76.714172 + ], + [ + -146.760834, + -76.570557 + ], + [ + -147.251404, + -76.57695 + ], + [ + -146.772247, + -76.714172 + ] + ] + ], + [ + [ + [ + -147.347229, + -76.613892 + ], + [ + -147.474731, + -76.55751 + ], + [ + -147.618073, + -76.556946 + ], + [ + -147.347229, + -76.613892 + ] + ] + ], + [ + [ + [ + 168.603334, + -76.232788 + ], + [ + 168.490816, + -76.158615 + ], + [ + 168.361086, + -76.162506 + ], + [ + 168.603334, + -76.232788 + ] + ] + ], + [ + [ + [ + -146.585571, + -76.305557 + ], + [ + -146.573059, + -76.220291 + ], + [ + -146.776123, + -76.087233 + ], + [ + -147.278076, + -76.113342 + ], + [ + -146.585571, + -76.305557 + ] + ] + ], + [ + [ + [ + -146.790558, + -75.855835 + ], + [ + -146.859467, + -75.805557 + ], + [ + -147.003632, + -75.819458 + ], + [ + -146.790558, + -75.855835 + ] + ] + ], + [ + [ + [ + -145.1539, + -75.736679 + ], + [ + -145.571686, + -75.55278 + ], + [ + -145.867279, + -75.604553 + ], + [ + -145.1539, + -75.736679 + ] + ] + ], + [ + [ + [ + -143.001404, + -75.526123 + ], + [ + -143.082245, + -75.465286 + ], + [ + -143.280853, + -75.491669 + ], + [ + -143.001404, + -75.526123 + ] + ] + ], + [ + [ + [ + -132.371948, + -74.464172 + ], + [ + -132.205292, + -74.392502 + ], + [ + -132.661957, + -74.419174 + ], + [ + -132.371948, + -74.464172 + ] + ] + ], + [ + [ + [ + -131.38974, + -74.346954 + ], + [ + -132.007782, + -74.429169 + ], + [ + -130.744751, + -74.415009 + ], + [ + -131.38974, + -74.346954 + ] + ] + ], + [ + [ + [ + -127.391113, + -74.580292 + ], + [ + -127.036118, + -74.392227 + ], + [ + -128.160858, + -74.254181 + ], + [ + -127.391113, + -74.580292 + ] + ] + ], + [ + [ + [ + -117.114182, + -74.334166 + ], + [ + -116.751678, + -74.247223 + ], + [ + -117.198334, + -74.328339 + ], + [ + -117.114182, + -74.334166 + ] + ] + ], + [ + [ + [ + -20.467503, + -74.330292 + ], + [ + -20.369446, + -74.121674 + ], + [ + -21.603615, + -74.450836 + ], + [ + -20.119446, + -74.850571 + ], + [ + -20.467503, + -74.330292 + ] + ] + ], + [ + [ + [ + -115.930283, + -73.961945 + ], + [ + -117.241119, + -74.1875 + ], + [ + -116.273621, + -74.153624 + ], + [ + -115.930283, + -73.961945 + ] + ] + ], + [ + [ + [ + -122.149727, + -73.614456 + ], + [ + -123.159393, + -73.734039 + ], + [ + -122.414459, + -73.87056 + ], + [ + -122.629997, + -74.320847 + ], + [ + -122.132233, + -74.368057 + ], + [ + -118.549454, + -73.928894 + ], + [ + -122.149727, + -73.614456 + ] + ] + ], + [ + [ + [ + 169.824434, + -73.595581 + ], + [ + 169.868593, + -73.289169 + ], + [ + 169.388033, + -73.533081 + ], + [ + 169.824434, + -73.595581 + ] + ] + ], + [ + [ + [ + -78.048065, + -73.44223 + ], + [ + -77.636398, + -73.300003 + ], + [ + -78.346115, + -73.252792 + ], + [ + -78.048065, + -73.44223 + ] + ] + ], + [ + [ + [ + -126.118347, + -73.247223 + ], + [ + -127.392502, + -73.417786 + ], + [ + -125.252792, + -74.063904 + ], + [ + -123.724167, + -74.100571 + ], + [ + -124.23056, + -73.689178 + ], + [ + -125.134171, + -73.718063 + ], + [ + -126.118347, + -73.247223 + ] + ] + ], + [ + [ + [ + -73.891113, + -73.425003 + ], + [ + -73.498901, + -73.153624 + ], + [ + -74.064178, + -73.325562 + ], + [ + -73.891113, + -73.425003 + ] + ] + ], + [ + [ + [ + -104.865013, + -73.238892 + ], + [ + -104.550293, + -73.186676 + ], + [ + -105.241119, + -73.054733 + ], + [ + -104.865013, + -73.238892 + ] + ] + ], + [ + [ + [ + -89.74501, + -72.875565 + ], + [ + -90.379456, + -73.047791 + ], + [ + -89.45668, + -72.91362 + ], + [ + -89.74501, + -72.875565 + ] + ] + ], + [ + [ + [ + -74.222778, + -72.97612 + ], + [ + -75.386124, + -72.818069 + ], + [ + -75.720291, + -72.945557 + ], + [ + -75.395279, + -73.060013 + ], + [ + -76.093613, + -73.209457 + ], + [ + -74.465561, + -73.648346 + ], + [ + -74.222778, + -72.97612 + ] + ] + ], + [ + [ + [ + -93.759445, + -72.911667 + ], + [ + -93.805847, + -72.815002 + ], + [ + -94.138062, + -72.839172 + ], + [ + -93.759445, + -72.911667 + ] + ] + ], + [ + [ + [ + -98.148056, + -72.730011 + ], + [ + -97.825287, + -72.663345 + ], + [ + -98.343613, + -72.699448 + ], + [ + -98.148056, + -72.730011 + ] + ] + ], + [ + [ + [ + -99.740845, + -72.623611 + ], + [ + -100.858612, + -72.665558 + ], + [ + -98.930283, + -72.673615 + ], + [ + -99.740845, + -72.623611 + ] + ] + ], + [ + [ + [ + -95.33139, + -72.671951 + ], + [ + -94.696762, + -72.614197 + ], + [ + -95.518341, + -72.649445 + ], + [ + -95.33139, + -72.671951 + ] + ] + ], + [ + [ + [ + -91.337233, + -73.156952 + ], + [ + -90.806395, + -72.592789 + ], + [ + -91.617233, + -72.604736 + ], + [ + -91.337233, + -73.156952 + ] + ] + ], + [ + [ + [ + -93.36528, + -72.654449 + ], + [ + -93.170288, + -72.575562 + ], + [ + -93.461426, + -72.584518 + ], + [ + -93.36528, + -72.654449 + ] + ] + ], + [ + [ + [ + -61.038612, + -72.559723 + ], + [ + -60.970001, + -72.527512 + ], + [ + -61.135002, + -72.545013 + ], + [ + -61.038612, + -72.559723 + ] + ] + ], + [ + [ + [ + -78.420013, + -72.56778 + ], + [ + -79.247513, + -72.402512 + ], + [ + -79.461395, + -72.566391 + ], + [ + -78.841675, + -72.771393 + ], + [ + -79.421677, + -72.960007 + ], + [ + -78.806366, + -73.181656 + ], + [ + -77.594452, + -72.910004 + ], + [ + -77.439178, + -72.588623 + ], + [ + -78.420013, + -72.56778 + ] + ] + ], + [ + [ + [ + -68.816116, + -72.474457 + ], + [ + -68.598068, + -72.385834 + ], + [ + -68.977509, + -72.460556 + ], + [ + -68.816116, + -72.474457 + ] + ] + ], + [ + [ + [ + -60.336945, + -72.257507 + ], + [ + -60.343613, + -72.194168 + ], + [ + -60.501944, + -72.199722 + ], + [ + -60.336945, + -72.257507 + ] + ] + ], + [ + [ + [ + 68.482012, + -72.277786 + ], + [ + 68.820024, + -72.165283 + ], + [ + 68.693132, + -72.088913 + ], + [ + 68.482012, + -72.277786 + ] + ] + ], + [ + [ + [ + 69.797564, + -72.033081 + ], + [ + 69.957293, + -71.91864 + ], + [ + 69.773088, + -71.92363 + ], + [ + 69.797564, + -72.033081 + ] + ] + ], + [ + [ + [ + -98.80307, + -71.886673 + ], + [ + -99.30751, + -71.943893 + ], + [ + -98.833069, + -72.131393 + ], + [ + -100.235001, + -72.130844 + ], + [ + -100.510559, + -72.023621 + ], + [ + -100.061661, + -71.935135 + ], + [ + -100.414459, + -71.881393 + ], + [ + -102.56279, + -72.124725 + ], + [ + -98.616119, + -72.568893 + ], + [ + -95.675842, + -72.360565 + ], + [ + -96.596115, + -72.286667 + ], + [ + -95.821671, + -72.189453 + ], + [ + -95.995148, + -72.080002 + ], + [ + -97.258057, + -72.222229 + ], + [ + -96.342636, + -72.002197 + ], + [ + -96.650558, + -71.873337 + ], + [ + -97.349457, + -71.862503 + ], + [ + -97.686401, + -72.181946 + ], + [ + -98.136307, + -71.892899 + ], + [ + -98.196671, + -72.199173 + ], + [ + -98.560562, + -72.131119 + ], + [ + -98.297501, + -71.871948 + ], + [ + -98.80307, + -71.886673 + ] + ] + ], + [ + [ + [ + 0.452028, + -71.100586 + ], + [ + 0.586733, + -71.064453 + ], + [ + 0.239809, + -71.033615 + ], + [ + 0.452028, + -71.100586 + ] + ] + ], + [ + [ + [ + -60.53553, + -71.056351 + ], + [ + -60.624725, + -70.88501 + ], + [ + -60.959166, + -70.945282 + ], + [ + -60.53553, + -71.056351 + ] + ] + ], + [ + [ + [ + -7.879444, + -70.733902 + ], + [ + -7.725277, + -70.710281 + ], + [ + -8.043612, + -70.700012 + ], + [ + -7.879444, + -70.733902 + ] + ] + ], + [ + [ + [ + -2.389999, + -70.751953 + ], + [ + -3.455, + -70.693069 + ], + [ + -2.796389, + -71.039734 + ], + [ + -1.982777, + -70.816391 + ], + [ + -2.389999, + -70.751953 + ] + ] + ], + [ + [ + [ + -73.685287, + -70.680283 + ], + [ + -76.63501, + -71.060287 + ], + [ + -74.306122, + -71.010284 + ], + [ + -73.685287, + -70.680283 + ] + ] + ], + [ + [ + [ + 2.050657, + -70.699722 + ], + [ + 2.216734, + -70.636398 + ], + [ + 1.895933, + -70.646118 + ], + [ + 2.050657, + -70.699722 + ] + ] + ], + [ + [ + [ + -60.81945, + -70.662231 + ], + [ + -60.631393, + -70.54834 + ], + [ + -61.159172, + -70.575836 + ], + [ + -60.81945, + -70.662231 + ] + ] + ], + [ + [ + [ + 2.957579, + -70.625 + ], + [ + 3.32733, + -70.468918 + ], + [ + 2.613157, + -70.50502 + ], + [ + 2.957579, + -70.625 + ] + ] + ], + [ + [ + [ + -6.040277, + -70.579178 + ], + [ + -5.969852, + -70.417952 + ], + [ + -6.376682, + -70.476074 + ], + [ + -6.040277, + -70.579178 + ] + ] + ], + [ + [ + [ + -3.128056, + -70.504181 + ], + [ + -2.644167, + -70.415283 + ], + [ + -3.329721, + -70.483337 + ], + [ + -3.128056, + -70.504181 + ] + ] + ], + [ + [ + [ + 163.386141, + -70.380569 + ], + [ + 163.483339, + -70.353897 + ], + [ + 163.3053, + -70.349182 + ], + [ + 163.386141, + -70.380569 + ] + ] + ], + [ + [ + [ + 72.227007, + -70.613083 + ], + [ + 71.930071, + -70.294174 + ], + [ + 71.688128, + -70.338348 + ], + [ + 72.227007, + -70.613083 + ] + ] + ], + [ + [ + [ + -1.790277, + -70.231949 + ], + [ + -1.897221, + -70.1689 + ], + [ + -1.973055, + -70.181671 + ], + [ + -1.790277, + -70.231949 + ] + ] + ], + [ + [ + [ + 13.109552, + -70.057251 + ], + [ + 12.481745, + -70.110565 + ], + [ + 13.221186, + -70.137512 + ], + [ + 13.109552, + -70.057251 + ] + ] + ], + [ + [ + [ + 15.992849, + -70.172241 + ], + [ + 16.362055, + -70.017517 + ], + [ + 15.360346, + -70.0289 + ], + [ + 15.992849, + -70.172241 + ] + ] + ], + [ + [ + [ + -61.385002, + -70.015289 + ], + [ + -61.292503, + -69.934174 + ], + [ + -61.528061, + -69.965286 + ], + [ + -61.385002, + -70.015289 + ] + ] + ], + [ + [ + [ + -74.842224, + -69.815842 + ], + [ + -75.861389, + -70.055283 + ], + [ + -74.452515, + -70.021666 + ], + [ + -74.842224, + -69.815842 + ] + ] + ], + [ + [ + [ + 38.231485, + -69.67807 + ], + [ + 38.231485, + -69.646666 + ], + [ + 38.056192, + -69.636688 + ], + [ + 38.231485, + -69.67807 + ] + ] + ], + [ + [ + [ + -72.355286, + -69.757507 + ], + [ + -72.044449, + -69.693069 + ], + [ + -72.945282, + -69.600845 + ], + [ + -72.355286, + -69.757507 + ] + ] + ], + [ + [ + [ + -62.042229, + -69.720001 + ], + [ + -61.715561, + -69.468613 + ], + [ + -62.327225, + -69.107513 + ], + [ + -62.042229, + -69.720001 + ] + ] + ], + [ + [ + [ + 155.873629, + -69.151123 + ], + [ + 155.883699, + -69.058975 + ], + [ + 155.52585, + -69.00058 + ], + [ + 155.873629, + -69.151123 + ] + ] + ], + [ + [ + [ + 155.200838, + -69.046112 + ], + [ + 155.308901, + -68.98114 + ], + [ + 154.95392, + -69.017227 + ], + [ + 155.200838, + -69.046112 + ] + ] + ], + [ + [ + [ + -70.156952, + -68.848618 + ], + [ + -72.253342, + -69.20723 + ], + [ + -71.645844, + -69.517502 + ], + [ + -71.815002, + -69.984177 + ], + [ + -71.389175, + -70.230011 + ], + [ + -72.460846, + -70.601959 + ], + [ + -71.020844, + -70.803345 + ], + [ + -70.613892, + -71.166397 + ], + [ + -72.926392, + -71.115845 + ], + [ + -73.159729, + -71.185013 + ], + [ + -72.411957, + -71.336395 + ], + [ + -73.679169, + -71.358063 + ], + [ + -73.529175, + -71.643341 + ], + [ + -74.389175, + -71.434174 + ], + [ + -74.435837, + -71.693069 + ], + [ + -75.141953, + -71.577789 + ], + [ + -75.466124, + -71.85112 + ], + [ + -74.043335, + -72.208893 + ], + [ + -73.581116, + -72.047226 + ], + [ + -73.879181, + -71.820557 + ], + [ + -72.866669, + -71.934174 + ], + [ + -72.267502, + -71.646118 + ], + [ + -70.947235, + -72.038895 + ], + [ + -72.045013, + -72.194458 + ], + [ + -70.521957, + -72.207779 + ], + [ + -73.194458, + -72.431395 + ], + [ + -72.376114, + -72.727783 + ], + [ + -69.26001, + -72.564178 + ], + [ + -68.391678, + -72.233902 + ], + [ + -68.071396, + -71.638336 + ], + [ + -68.377228, + -70.649445 + ], + [ + -70.084166, + -69.263626 + ], + [ + -70.156952, + -68.848618 + ] + ] + ], + [ + [ + [ + -90.594452, + -68.925842 + ], + [ + -90.486954, + -68.827789 + ], + [ + -90.751404, + -68.799179 + ], + [ + -90.594452, + -68.925842 + ] + ] + ], + [ + [ + [ + -63.446945, + -68.851395 + ], + [ + -63.413338, + -68.837233 + ], + [ + -63.627785, + -68.796951 + ], + [ + -63.446945, + -68.851395 + ] + ] + ], + [ + [ + [ + -60.718056, + -68.75473 + ], + [ + -60.829727, + -68.661118 + ], + [ + -61.081673, + -68.679459 + ], + [ + -60.718056, + -68.75473 + ] + ] + ], + [ + [ + [ + -67.507507, + -67.810013 + ], + [ + -67.084166, + -67.631393 + ], + [ + -67.815292, + -67.689178 + ], + [ + -67.507507, + -67.810013 + ] + ] + ], + [ + [ + [ + 47.671183, + -67.586685 + ], + [ + 47.407869, + -67.624725 + ], + [ + 47.898043, + -67.594284 + ], + [ + 47.671183, + -67.586685 + ] + ] + ], + [ + [ + [ + 59.35531, + -67.33168 + ], + [ + 59.416468, + -67.320572 + ], + [ + 59.269258, + -67.290283 + ], + [ + 59.35531, + -67.33168 + ] + ] + ], + [ + [ + [ + 164.787233, + -67.595291 + ], + [ + 164.840029, + -67.42363 + ], + [ + 164.561678, + -67.271666 + ], + [ + 164.787233, + -67.595291 + ] + ] + ], + [ + [ + [ + 58.64255, + -67.126419 + ], + [ + 58.671473, + -67.12001 + ], + [ + 58.52865, + -67.117798 + ], + [ + 58.64255, + -67.126419 + ] + ] + ], + [ + [ + [ + 58.86062, + -67.121948 + ], + [ + 58.8248, + -67.102249 + ], + [ + 58.774195, + -67.108612 + ], + [ + 58.86062, + -67.121948 + ] + ] + ], + [ + [ + [ + 50.346468, + -67.116394 + ], + [ + 50.250093, + -67.067795 + ], + [ + 50.130648, + -67.074188 + ], + [ + 50.346468, + -67.116394 + ] + ] + ], + [ + [ + [ + 48.793978, + -66.756134 + ], + [ + 48.291475, + -66.820007 + ], + [ + 48.397318, + -66.890289 + ], + [ + 48.793978, + -66.756134 + ] + ] + ], + [ + [ + [ + 86.065325, + -67.001129 + ], + [ + 86.183901, + -66.922516 + ], + [ + 85.871965, + -66.773895 + ], + [ + 85.37282, + -66.746689 + ], + [ + 86.065325, + -67.001129 + ] + ] + ], + [ + [ + [ + 86.4928, + -66.774733 + ], + [ + 86.732012, + -66.712233 + ], + [ + 86.301699, + -66.711136 + ], + [ + 86.4928, + -66.774733 + ] + ] + ], + [ + [ + [ + -67.244171, + -66.747787 + ], + [ + -67.459732, + -66.697235 + ], + [ + -67.541946, + -66.869736 + ], + [ + -67.244171, + -66.747787 + ] + ] + ], + [ + [ + [ + -68.100281, + -67.393341 + ], + [ + -67.674728, + -67.15918 + ], + [ + -67.910843, + -66.848892 + ], + [ + -67.585556, + -66.613892 + ], + [ + -69.228897, + -67.541397 + ], + [ + -68.565002, + -67.748062 + ], + [ + -68.100281, + -67.393341 + ] + ] + ], + [ + [ + [ + 99.294497, + -66.748611 + ], + [ + 99.520876, + -66.590027 + ], + [ + 99.215883, + -66.723068 + ], + [ + 99.294497, + -66.748611 + ] + ] + ], + [ + [ + [ + 163.106966, + -66.756134 + ], + [ + 163.118349, + -66.623062 + ], + [ + 162.94919, + -66.572235 + ], + [ + 163.106966, + -66.756134 + ] + ] + ], + [ + [ + [ + 85.332842, + -66.628616 + ], + [ + 85.284197, + -66.520294 + ], + [ + 85.151995, + -66.590286 + ], + [ + 85.332842, + -66.628616 + ] + ] + ], + [ + [ + [ + 98.771975, + -66.491974 + ], + [ + 98.862795, + -66.454468 + ], + [ + 98.601992, + -66.433334 + ], + [ + 98.771975, + -66.491974 + ] + ] + ], + [ + [ + [ + 97.229189, + -66.4664 + ], + [ + 97.353106, + -66.423889 + ], + [ + 97.088381, + -66.415283 + ], + [ + 97.229189, + -66.4664 + ] + ] + ], + [ + [ + [ + 162.568087, + -66.435028 + ], + [ + 162.601412, + -66.350586 + ], + [ + 162.300295, + -66.188919 + ], + [ + 162.568087, + -66.435028 + ] + ] + ], + [ + [ + [ + 100.273073, + -66.192795 + ], + [ + 100.351679, + -66.143631 + ], + [ + 100.229738, + -66.148895 + ], + [ + 100.273073, + -66.192795 + ] + ] + ], + [ + [ + [ + 96.767519, + -66.259735 + ], + [ + 96.847795, + -66.121689 + ], + [ + 96.260012, + -66.188919 + ], + [ + 96.767519, + -66.259735 + ] + ] + ], + [ + [ + [ + -66.732224, + -66.310562 + ], + [ + -66.575562, + -66.088058 + ], + [ + -66.743057, + -66.117783 + ], + [ + -66.732224, + -66.310562 + ] + ] + ], + [ + [ + [ + 100.55475, + -66.147232 + ], + [ + 100.756411, + -66.079193 + ], + [ + 100.618654, + -66.046951 + ], + [ + 100.55475, + -66.147232 + ] + ] + ], + [ + [ + [ + 100.821413, + -66.026947 + ], + [ + 100.817263, + -65.997528 + ], + [ + 100.772829, + -66.013336 + ], + [ + 100.821413, + -66.026947 + ] + ] + ], + [ + [ + [ + 100.927553, + -66.005569 + ], + [ + 100.958925, + -65.968338 + ], + [ + 100.84363, + -65.983078 + ], + [ + 100.927553, + -66.005569 + ] + ] + ], + [ + [ + [ + 100.770571, + -65.861389 + ], + [ + 100.99811, + -65.808914 + ], + [ + 100.708071, + -65.832794 + ], + [ + 100.770571, + -65.861389 + ] + ] + ], + [ + [ + [ + 92.698931, + -65.798355 + ], + [ + 92.495058, + -65.672241 + ], + [ + 92.268923, + -65.764175 + ], + [ + 92.698931, + -65.798355 + ] + ] + ], + [ + [ + [ + -65.666946, + -65.687225 + ], + [ + -65.918335, + -65.529724 + ], + [ + -66.161118, + -65.868895 + ], + [ + -65.666946, + -65.687225 + ] + ] + ], + [ + [ + [ + 100.754999, + -65.678619 + ], + [ + 101.256655, + -65.503769 + ], + [ + 100.24695, + -65.583618 + ], + [ + 100.754999, + -65.678619 + ] + ] + ], + [ + [ + [ + 103.2428, + -65.295837 + ], + [ + 102.773935, + -65.140289 + ], + [ + 103.472528, + -65.450012 + ], + [ + 103.2428, + -65.295837 + ] + ] + ], + [ + [ + [ + -59.436111, + -65.255844 + ], + [ + -59.533058, + -65.109451 + ], + [ + -59.813057, + -65.107224 + ], + [ + -59.436111, + -65.255844 + ] + ] + ], + [ + [ + [ + -63.144173, + -64.781403 + ], + [ + -63.555, + -64.893066 + ], + [ + -63.324448, + -64.911957 + ], + [ + -63.144173, + -64.781403 + ] + ] + ], + [ + [ + [ + -57.279167, + -64.552504 + ], + [ + -56.855003, + -64.338623 + ], + [ + -57.488617, + -64.496399 + ], + [ + -57.279167, + -64.552504 + ] + ] + ], + [ + [ + [ + -63.306671, + -64.428619 + ], + [ + -63.089447, + -64.296677 + ], + [ + -64.220566, + -64.67334 + ], + [ + -63.640007, + -64.833893 + ], + [ + -62.760284, + -64.560287 + ], + [ + -63.306671, + -64.428619 + ] + ] + ], + [ + [ + [ + -56.815002, + -64.316956 + ], + [ + -56.575562, + -64.219727 + ], + [ + -56.758339, + -64.237793 + ], + [ + -56.815002, + -64.316956 + ] + ] + ], + [ + [ + [ + -62.300003, + -64.434448 + ], + [ + -62.011673, + -64.214172 + ], + [ + -62.48056, + -64.043335 + ], + [ + -62.704727, + -64.466124 + ], + [ + -62.300003, + -64.434448 + ] + ] + ], + [ + [ + [ + -57.815834, + -63.961395 + ], + [ + -58.428612, + -64.113342 + ], + [ + -58.080833, + -64.084732 + ], + [ + -58.239449, + -64.325012 + ], + [ + -57.912781, + -64.445282 + ], + [ + -57.03334, + -64.172501 + ], + [ + -57.815834, + -63.961395 + ] + ] + ], + [ + [ + [ + -57.570557, + -63.787781 + ], + [ + -57.694725, + -63.816391 + ], + [ + -57.045563, + -63.822784 + ], + [ + -57.570557, + -63.787781 + ] + ] + ], + [ + [ + [ + -60.738335, + -63.86834 + ], + [ + -60.531395, + -63.651672 + ], + [ + -60.764168, + -63.660561 + ], + [ + -60.738335, + -63.86834 + ] + ] + ], + [ + [ + [ + -55.976669, + -63.58139 + ], + [ + -55.707779, + -63.452507 + ], + [ + -56.205559, + -63.452782 + ], + [ + -55.976669, + -63.58139 + ] + ] + ], + [ + [ + [ + -62.154167, + -63.324173 + ], + [ + -61.943335, + -63.28167 + ], + [ + -62.260284, + -63.253891 + ], + [ + -62.154167, + -63.324173 + ] + ] + ], + [ + [ + [ + -56.946396, + -63.450562 + ], + [ + -57.205002, + -63.205559 + ], + [ + -58.910835, + -63.533058 + ], + [ + -59.445839, + -63.893059 + ], + [ + -60.991669, + -64.035843 + ], + [ + -60.941948, + -64.277512 + ], + [ + -61.93528, + -64.690567 + ], + [ + -62.453613, + -64.589172 + ], + [ + -62.617783, + -64.755005 + ], + [ + -62.31945, + -64.858902 + ], + [ + -62.938057, + -64.797501 + ], + [ + -63.090561, + -65.133896 + ], + [ + -63.879448, + -65.018341 + ], + [ + -64.05307, + -65.421951 + ], + [ + -63.712784, + -65.502502 + ], + [ + -64.659729, + -65.74028 + ], + [ + -64.453339, + -65.981674 + ], + [ + -65.689728, + -66.125 + ], + [ + -66.497223, + -66.622513 + ], + [ + -66.404724, + -66.885559 + ], + [ + -67.48584, + -67.077225 + ], + [ + -67.623901, + -67.553619 + ], + [ + -66.427231, + -67.53334 + ], + [ + -67.157227, + -68.010559 + ], + [ + -66.589737, + -68.238068 + ], + [ + -67.165558, + -68.293335 + ], + [ + -66.932236, + -68.773895 + ], + [ + -67.494446, + -68.815567 + ], + [ + -66.657791, + -69.017792 + ], + [ + -68.838058, + -69.417236 + ], + [ + -67.703903, + -70.593063 + ], + [ + -67.400284, + -71.040009 + ], + [ + -67.537231, + -71.454727 + ], + [ + -66.859177, + -71.895569 + ], + [ + -66.797226, + -72.407791 + ], + [ + -69.428345, + -73.197235 + ], + [ + -76.962784, + -73.873062 + ], + [ + -76.618347, + -73.576675 + ], + [ + -78.789734, + -73.693069 + ], + [ + -78.958893, + -73.392502 + ], + [ + -80.695557, + -73.050568 + ], + [ + -80.51918, + -73.446396 + ], + [ + -81.275284, + -73.369446 + ], + [ + -81.041397, + -73.715561 + ], + [ + -82.134171, + -73.943344 + ], + [ + -85.599731, + -73.558334 + ], + [ + -85.47084, + -73.349731 + ], + [ + -85.966675, + -73.041397 + ], + [ + -86.840836, + -73.336395 + ], + [ + -88.709166, + -73.179459 + ], + [ + -88.335846, + -72.816116 + ], + [ + -89.261124, + -72.63945 + ], + [ + -89.537231, + -72.633621 + ], + [ + -89.321121, + -73.054169 + ], + [ + -90.861115, + -73.326675 + ], + [ + -102.099167, + -73.084732 + ], + [ + -103.176117, + -72.733337 + ], + [ + -103.603348, + -72.891953 + ], + [ + -103.036118, + -73.326401 + ], + [ + -99.175568, + -73.619171 + ], + [ + -103.013344, + -73.629181 + ], + [ + -102.901398, + -73.875839 + ], + [ + -101.65834, + -73.998901 + ], + [ + -101.331947, + -74.48056 + ], + [ + -100.248062, + -74.490845 + ], + [ + -100.515556, + -74.671112 + ], + [ + -100.151123, + -74.760834 + ], + [ + -100.851669, + -74.814728 + ], + [ + -99.510284, + -75.092514 + ], + [ + -110.383057, + -75.306122 + ], + [ + -110.96167, + -75.157791 + ], + [ + -109.928886, + -74.761398 + ], + [ + -110.154715, + -74.28418 + ], + [ + -111.503891, + -74.191681 + ], + [ + -111.385834, + -74.462233 + ], + [ + -111.724457, + -74.587233 + ], + [ + -111.343063, + -74.759445 + ], + [ + -112.654167, + -74.858612 + ], + [ + -113.555557, + -74.634445 + ], + [ + -112.930283, + -74.455002 + ], + [ + -113.433617, + -74.472229 + ], + [ + -113.186401, + -74.1689 + ], + [ + -114.003616, + -73.889175 + ], + [ + -114.810013, + -74.104736 + ], + [ + -114.697777, + -74.469177 + ], + [ + -117.396957, + -74.530838 + ], + [ + -117.743057, + -74.308624 + ], + [ + -118.531677, + -74.613617 + ], + [ + -121.478348, + -74.742508 + ], + [ + -133.262512, + -74.847229 + ], + [ + -134.303894, + -74.532791 + ], + [ + -146.295288, + -76.039734 + ], + [ + -145.479462, + -76.443344 + ], + [ + -146.491669, + -76.367508 + ], + [ + -148.101288, + -76.095657 + ], + [ + -149.506134, + -76.387512 + ], + [ + -146.932251, + -76.45195 + ], + [ + -145.45639, + -76.760284 + ], + [ + -146.102234, + -76.840012 + ], + [ + -145.298889, + -77.029175 + ], + [ + -146.301392, + -76.999176 + ], + [ + -145.842804, + -77.114182 + ], + [ + -146.227509, + -77.165009 + ], + [ + -145.878906, + -77.306395 + ], + [ + -146.268616, + -77.4664 + ], + [ + -147.032227, + -77.22084 + ], + [ + -147.071686, + -77.372787 + ], + [ + -147.493073, + -77.296951 + ], + [ + -147.5914, + -77.422226 + ], + [ + -148.581116, + -77.504456 + ], + [ + -148.585571, + -77.594452 + ], + [ + -148.732788, + -77.625565 + ], + [ + -149.414185, + -77.570847 + ], + [ + -149.08725, + -77.696121 + ], + [ + -149.662231, + -77.761124 + ], + [ + -152.061127, + -77.325287 + ], + [ + -153.106415, + -77.497223 + ], + [ + -153.083618, + -77.286667 + ], + [ + -153.790283, + -77.174728 + ], + [ + -155.861389, + -77.084457 + ], + [ + -156.483337, + -77.358612 + ], + [ + -157.753082, + -77.108063 + ], + [ + -157.69696, + -77.571396 + ], + [ + -158.175842, + -77.859726 + ], + [ + -157.910278, + -78.001953 + ], + [ + -153.750305, + -78.308334 + ], + [ + -155.906403, + -78.719727 + ], + [ + -146.811951, + -79.887512 + ], + [ + -145.52417, + -80.460556 + ], + [ + -148.413361, + -81.357513 + ], + [ + -154.921692, + -81.001953 + ], + [ + -156.960022, + -81.251678 + ], + [ + -154.205017, + -81.552231 + ], + [ + -153.989197, + -81.629181 + ], + [ + -154.891418, + -81.905014 + ], + [ + -151.794189, + -82.577789 + ], + [ + -153.007507, + -83.087509 + ], + [ + -153.05307, + -84.012787 + ], + [ + -149.294739, + -84.561951 + ], + [ + -138.589447, + -84.984726 + ], + [ + -139.661407, + -85.24501 + ], + [ + -148.138336, + -85.090836 + ], + [ + -150.239471, + -85.463623 + ], + [ + -157.483337, + -85.448624 + ], + [ + -180, + -84.305344 + ], + [ + -180, + -90 + ], + [ + 180, + -90 + ], + [ + 180, + -84.302246 + ], + [ + 171.905031, + -83.801697 + ], + [ + 172.318605, + -83.597229 + ], + [ + 169.250826, + -83.330017 + ], + [ + 167.469728, + -83.439178 + ], + [ + 168.692476, + -83.146408 + ], + [ + 163.446138, + -82.26503 + ], + [ + 163.859468, + -82.174179 + ], + [ + 162.27585, + -81.662231 + ], + [ + 160.391115, + -81.521408 + ], + [ + 162.193911, + -81.297806 + ], + [ + 160.626131, + -81.205017 + ], + [ + 160.839449, + -81.078079 + ], + [ + 160.503084, + -80.952789 + ], + [ + 160.843904, + -80.893066 + ], + [ + 160.015566, + -80.780304 + ], + [ + 161.174471, + -80.635559 + ], + [ + 159.75696, + -80.569748 + ], + [ + 160.89197, + -80.377502 + ], + [ + 158.057253, + -80.280563 + ], + [ + 160.524446, + -80.041397 + ], + [ + 159.092806, + -79.971115 + ], + [ + 160.73807, + -79.453079 + ], + [ + 160.04056, + -79.155838 + ], + [ + 160.494173, + -79.020859 + ], + [ + 164.494448, + -78.569748 + ], + [ + 167.269442, + -78.655838 + ], + [ + 165.683596, + -78.391693 + ], + [ + 165.54001, + -78.003357 + ], + [ + 164.206697, + -78.14389 + ], + [ + 164.565004, + -77.736389 + ], + [ + 163.610842, + -77.696121 + ], + [ + 163.896975, + -77.46669 + ], + [ + 163.238344, + -77.041397 + ], + [ + 162.332796, + -76.951416 + ], + [ + 163.069735, + -76.73085 + ], + [ + 162.623629, + -76.619461 + ], + [ + 162.932253, + -76.583084 + ], + [ + 162.875582, + -76.247787 + ], + [ + 162.337801, + -76.167236 + ], + [ + 163.136965, + -75.936676 + ], + [ + 162.539736, + -75.108917 + ], + [ + 163.871675, + -74.953354 + ], + [ + 163.656679, + -74.77446 + ], + [ + 164.142519, + -74.616119 + ], + [ + 165.333315, + -74.672806 + ], + [ + 164.780855, + -74.136963 + ], + [ + 166.129152, + -74.127243 + ], + [ + 165.548586, + -73.93251 + ], + [ + 167.561678, + -73.403351 + ], + [ + 169.079165, + -73.527527 + ], + [ + 169.26642, + -73.083908 + ], + [ + 170.322237, + -72.580307 + ], + [ + 170.304171, + -72.300842 + ], + [ + 169.871645, + -72.379196 + ], + [ + 170.129976, + -72.051407 + ], + [ + 170.994448, + -71.864197 + ], + [ + 170.453035, + -71.351669 + ], + [ + 170.215273, + -71.282791 + ], + [ + 170.272249, + -71.660019 + ], + [ + 167.767519, + -70.780838 + ], + [ + 166.463045, + -70.70195 + ], + [ + 166.771669, + -70.611679 + ], + [ + 163.553896, + -70.465286 + ], + [ + 163.78528, + -70.628067 + ], + [ + 163.520845, + -70.675003 + ], + [ + 162.753908, + -70.280304 + ], + [ + 160.968904, + -70.255569 + ], + [ + 157.236391, + -68.94252 + ], + [ + 156.336123, + -69.24057 + ], + [ + 154.856691, + -69.102524 + ], + [ + 154.286684, + -68.863083 + ], + [ + 154.685854, + -68.615004 + ], + [ + 153.778353, + -68.343628 + ], + [ + 153.768618, + -68.922241 + ], + [ + 151.18503, + -68.980026 + ], + [ + 150.992525, + -68.390854 + ], + [ + 148.813356, + -68.335281 + ], + [ + 148.217226, + -68.127243 + ], + [ + 148.648073, + -67.989197 + ], + [ + 148.029451, + -67.844467 + ], + [ + 146.953341, + -68.141693 + ], + [ + 147.15085, + -67.99086 + ], + [ + 146.642794, + -67.709457 + ], + [ + 145.315004, + -67.613342 + ], + [ + 145.875307, + -67.195862 + ], + [ + 145.404451, + -67.017227 + ], + [ + 144.585573, + -67.245285 + ], + [ + 143.400026, + -66.851135 + ], + [ + 142.566408, + -66.994171 + ], + [ + 134.947786, + -66.093063 + ], + [ + 135.272249, + -65.436401 + ], + [ + 134.437838, + -64.926132 + ], + [ + 134.100618, + -65.123062 + ], + [ + 134.436403, + -66.001419 + ], + [ + 134.245302, + -66.201126 + ], + [ + 130.351992, + -66.225845 + ], + [ + 128.83478, + -67.142517 + ], + [ + 126.928652, + -66.834457 + ], + [ + 126.988359, + -66.453583 + ], + [ + 126.356165, + -66.279724 + ], + [ + 125.19002, + -66.734192 + ], + [ + 122.183359, + -66.547806 + ], + [ + 117.767, + -66.989746 + ], + [ + 116.18004, + -66.366684 + ], + [ + 114.518358, + -66.472778 + ], + [ + 114.431429, + -66.179474 + ], + [ + 113.31534, + -65.713348 + ], + [ + 110.891726, + -66.063629 + ], + [ + 110.629763, + -66.486679 + ], + [ + 108.824221, + -66.831131 + ], + [ + 107.804781, + -66.398361 + ], + [ + 102.626162, + -65.901123 + ], + [ + 100.95392, + -66.080841 + ], + [ + 99.283083, + -66.880844 + ], + [ + 98.261965, + -66.516113 + ], + [ + 97.564455, + -66.74057 + ], + [ + 92.005312, + -66.533905 + ], + [ + 88.967226, + -66.761398 + ], + [ + 88.227236, + -66.036392 + ], + [ + 88.109499, + -66.652527 + ], + [ + 87.50252, + -66.894745 + ], + [ + 85.791689, + -67.17778 + ], + [ + 83.403399, + -67.156677 + ], + [ + 82.665041, + -67.39389 + ], + [ + 82.014482, + -67.251678 + ], + [ + 81.469744, + -67.505295 + ], + [ + 82.057268, + -67.672241 + ], + [ + 78.116411, + -68.459732 + ], + [ + 77.747271, + -69.116974 + ], + [ + 72.90114, + -70.021957 + ], + [ + 72.615618, + -70.203613 + ], + [ + 72.863115, + -70.432785 + ], + [ + 71.504473, + -70.953903 + ], + [ + 71.248125, + -71.38945 + ], + [ + 71.449785, + -71.546112 + ], + [ + 70.864946, + -71.930145 + ], + [ + 68.936419, + -72.425003 + ], + [ + 67.337557, + -72.063339 + ], + [ + 67.90114, + -71.64447 + ], + [ + 67.605303, + -71.583084 + ], + [ + 69.243914, + -70.670578 + ], + [ + 69.144793, + -70.33139 + ], + [ + 68.661699, + -70.367798 + ], + [ + 68.850298, + -70.532242 + ], + [ + 68.59395, + -70.770584 + ], + [ + 67.646135, + -70.386398 + ], + [ + 68.094744, + -69.879471 + ], + [ + 69.205339, + -69.863907 + ], + [ + 69.340044, + -69.638626 + ], + [ + 68.871172, + -69.379471 + ], + [ + 69.74312, + -69.363083 + ], + [ + 69.292009, + -69.102783 + ], + [ + 70.102007, + -68.523895 + ], + [ + 69.644793, + -67.753906 + ], + [ + 59.11062, + -67.412231 + ], + [ + 56.729525, + -66.901123 + ], + [ + 57.311975, + -66.563339 + ], + [ + 55.619234, + -66.006958 + ], + [ + 53.778963, + -65.840027 + ], + [ + 50.413118, + -66.441971 + ], + [ + 50.169771, + -66.743057 + ], + [ + 50.689486, + -67.181395 + ], + [ + 49.151705, + -67.088623 + ], + [ + 49.163973, + -66.862808 + ], + [ + 48.262857, + -67.167526 + ], + [ + 49.167269, + -67.383362 + ], + [ + 48.217012, + -67.634445 + ], + [ + 47.395609, + -67.722519 + ], + [ + 47.009501, + -67.550308 + ], + [ + 47.448954, + -67.417801 + ], + [ + 46.551432, + -67.277252 + ], + [ + 46.246431, + -67.357513 + ], + [ + 46.308931, + -67.641693 + ], + [ + 41.103128, + -68.523895 + ], + [ + 39.760355, + -68.954468 + ], + [ + 39.701761, + -69.648636 + ], + [ + 38.65037, + -69.988632 + ], + [ + 38.564493, + -69.50058 + ], + [ + 38.239237, + -69.992798 + ], + [ + 37.14506, + -69.664749 + ], + [ + 37.850931, + -69.533905 + ], + [ + 37.916178, + -69.251419 + ], + [ + 36.722574, + -69.728073 + ], + [ + 36.126444, + -69.533615 + ], + [ + 36.41453, + -69.314453 + ], + [ + 34.14036, + -68.482788 + ], + [ + 33.424234, + -68.651413 + ], + [ + 33.445047, + -68.957245 + ], + [ + 32.902323, + -69.276947 + ], + [ + 31.083422, + -69.773895 + ], + [ + 23.246756, + -70.546417 + ], + [ + 18.036489, + -69.969177 + ], + [ + 15.705927, + -70.278624 + ], + [ + 14.165644, + -70.158905 + ], + [ + 12.740351, + -70.281128 + ], + [ + 12.046747, + -70.717514 + ], + [ + 11.270624, + -70.710281 + ], + [ + 8.682856, + -70.074463 + ], + [ + 9.090387, + -70.318344 + ], + [ + 8.480646, + -70.477249 + ], + [ + 7.55731, + -70.16835 + ], + [ + 6.699522, + -70.586395 + ], + [ + 2.80316, + -70.846954 + ], + [ + -0.297499, + -71.65889 + ], + [ + -0.923056, + -71.589172 + ], + [ + -0.777222, + -71.389175 + ], + [ + -1.053333, + -71.276672 + ], + [ + -2.093889, + -71.486115 + ], + [ + -2.261667, + -71.170837 + ], + [ + -6.009167, + -71.4189 + ], + [ + -6.103889, + -71.144455 + ], + [ + -5.441111, + -70.882507 + ], + [ + -6.021111, + -70.699722 + ], + [ + -7.723333, + -71.429169 + ], + [ + -7.337778, + -71.691956 + ], + [ + -8.366945, + -71.825836 + ], + [ + -8.930834, + -71.233612 + ], + [ + -9.878714, + -70.90097 + ], + [ + -10.43, + -70.986954 + ], + [ + -10.048613, + -71.111389 + ], + [ + -11.019445, + -71.657227 + ], + [ + -11.592779, + -71.561951 + ], + [ + -11.556507, + -71.278824 + ], + [ + -12.276945, + -71.377502 + ], + [ + -11.325834, + -71.965012 + ], + [ + -11.657778, + -72.32695 + ], + [ + -13.406113, + -72.823059 + ], + [ + -14.469168, + -72.796677 + ], + [ + -13.731112, + -73.020844 + ], + [ + -16.023613, + -73.320282 + ], + [ + -16.898891, + -73.773056 + ], + [ + -16.069168, + -73.747513 + ], + [ + -16.91917, + -73.97612 + ], + [ + -16.326115, + -74.063904 + ], + [ + -13.704723, + -73.941956 + ], + [ + -17.147224, + -74.784729 + ], + [ + -18.25639, + -75.495834 + ], + [ + -17.758057, + -75.729736 + ], + [ + -28.305279, + -76.565292 + ], + [ + -33.886116, + -77.660568 + ], + [ + -36.30278, + -78.779175 + ], + [ + -33.001114, + -79.453903 + ], + [ + -27.085556, + -79.013336 + ], + [ + -30.210556, + -79.666672 + ], + [ + -28.0625, + -80.00473 + ], + [ + -28.319447, + -80.276947 + ], + [ + -41.488892, + -81.383347 + ], + [ + -43.08445, + -81.851395 + ], + [ + -53.725838, + -82.150284 + ], + [ + -58.210838, + -83.03334 + ], + [ + -59.079727, + -82.965836 + ], + [ + -58.783058, + -82.645004 + ], + [ + -59.648056, + -82.433899 + ], + [ + -74.693893, + -80.697235 + ], + [ + -76.089447, + -80.197235 + ], + [ + -79.849457, + -79.954453 + ], + [ + -77.321945, + -80.011398 + ], + [ + -76.083618, + -79.645844 + ], + [ + -77.029449, + -79.279449 + ], + [ + -80.202789, + -79.228897 + ], + [ + -80.635559, + -79.619171 + ], + [ + -84.107788, + -78.36084 + ], + [ + -78.957504, + -78.813339 + ], + [ + -77.487503, + -78.526672 + ], + [ + -81.470001, + -77.897232 + ], + [ + -80.60556, + -77.886398 + ], + [ + -81.496948, + -77.657791 + ], + [ + -74.853348, + -78.141113 + ], + [ + -72.839737, + -77.640015 + ], + [ + -75.632782, + -77.508621 + ], + [ + -78.476669, + -76.407227 + ], + [ + -77.771666, + -75.9189 + ], + [ + -76.380569, + -76.065002 + ], + [ + -75.444458, + -76.546402 + ], + [ + -70.476395, + -76.707779 + ], + [ + -69.385284, + -76.296112 + ], + [ + -63.429169, + -75.450562 + ], + [ + -63.094727, + -75.325562 + ], + [ + -64.447784, + -75.297791 + ], + [ + -63.09584, + -75.130844 + ], + [ + -63.989449, + -75.008057 + ], + [ + -63.051392, + -74.895279 + ], + [ + -63.245834, + -74.604172 + ], + [ + -62.531395, + -74.982513 + ], + [ + -61.887505, + -74.83223 + ], + [ + -61.75528, + -74.306395 + ], + [ + -61.036392, + -74.098343 + ], + [ + -61.762505, + -73.913895 + ], + [ + -60.587784, + -73.706116 + ], + [ + -61.609169, + -73.546112 + ], + [ + -61.83667, + -73.366394 + ], + [ + -61.436394, + -73.343613 + ], + [ + -61.919449, + -73.143066 + ], + [ + -60.599724, + -73.360291 + ], + [ + -59.849449, + -73.233063 + ], + [ + -59.77417, + -72.900284 + ], + [ + -60.617226, + -73.028624 + ], + [ + -60.616112, + -72.643341 + ], + [ + -61.270836, + -72.700287 + ], + [ + -61.549728, + -72.422791 + ], + [ + -60.852501, + -72.388901 + ], + [ + -61.074722, + -72.16362 + ], + [ + -60.865837, + -72.003067 + ], + [ + -62.552504, + -72.047501 + ], + [ + -60.904167, + -71.736389 + ], + [ + -61.929726, + -71.656403 + ], + [ + -60.942505, + -71.15834 + ], + [ + -61.38028, + -70.815292 + ], + [ + -62.128891, + -70.86557 + ], + [ + -61.484451, + -70.520279 + ], + [ + -62.490837, + -70.380569 + ], + [ + -61.940834, + -70.229172 + ], + [ + -62.635002, + -69.853348 + ], + [ + -62.475838, + -69.453064 + ], + [ + -63.638893, + -69.227234 + ], + [ + -63.368057, + -69.050003 + ], + [ + -63.706673, + -68.742508 + ], + [ + -63.210556, + -68.786957 + ], + [ + -63.974167, + -68.536392 + ], + [ + -62.72834, + -68.410004 + ], + [ + -64.390015, + -68.513336 + ], + [ + -63.85778, + -68.842789 + ], + [ + -65.313339, + -68.711395 + ], + [ + -65.091675, + -68.441956 + ], + [ + -65.59668, + -68.347504 + ], + [ + -64.768341, + -68.122787 + ], + [ + -65.723618, + -68.148056 + ], + [ + -65.329178, + -67.974731 + ], + [ + -65.617783, + -67.880005 + ], + [ + -65.290283, + -67.67334 + ], + [ + -65.613892, + -67.559174 + ], + [ + -64.770569, + -67.31723 + ], + [ + -64.837784, + -66.951401 + ], + [ + -63.743614, + -66.891678 + ], + [ + -64.196671, + -66.720291 + ], + [ + -63.67556, + -66.218338 + ], + [ + -62.608894, + -66.728348 + ], + [ + -62.443611, + -66.430283 + ], + [ + -62.885284, + -66.262787 + ], + [ + -62.181395, + -66.180283 + ], + [ + -61.71389, + -66.469177 + ], + [ + -61.416672, + -66.12529 + ], + [ + -60.936951, + -66.26001 + ], + [ + -60.557503, + -65.945282 + ], + [ + -61.87278, + -66.171951 + ], + [ + -62.459724, + -65.904724 + ], + [ + -61.68306, + -65.53862 + ], + [ + -62.089729, + -65.440292 + ], + [ + -61.95945, + -65.180283 + ], + [ + -59.918892, + -64.412231 + ], + [ + -59.50528, + -64.537231 + ], + [ + -59.493057, + -64.316116 + ], + [ + -58.778641, + -64.535812 + ], + [ + -58.600838, + -63.948891 + ], + [ + -57.380005, + -63.460556 + ], + [ + -56.72139, + -63.594727 + ], + [ + -56.946396, + -63.450562 + ] + ] + ], + [ + [ + [ + -55.470001, + -63.143333 + ], + [ + -56.543335, + -63.364449 + ], + [ + -55.002785, + -63.28389 + ], + [ + -55.470001, + -63.143333 + ] + ] + ], + [ + [ + [ + -56.265007, + -63.169449 + ], + [ + -55.97084, + -63.054451 + ], + [ + -56.584724, + -63.035004 + ], + [ + -56.265007, + -63.169449 + ] + ] + ], + [ + [ + [ + -60.47184, + -62.900898 + ], + [ + -60.742481, + -62.973991 + ], + [ + -60.580002, + -63.008057 + ], + [ + -60.47184, + -62.900898 + ] + ] + ], + [ + [ + [ + -62.691391, + -63.095001 + ], + [ + -62.260559, + -62.881668 + ], + [ + -62.489449, + -62.921112 + ], + [ + -62.691391, + -63.095001 + ] + ] + ], + [ + [ + [ + -61.358612, + -62.813614 + ], + [ + -61.150558, + -62.708618 + ], + [ + -61.479172, + -62.753891 + ], + [ + -61.358612, + -62.813614 + ] + ] + ], + [ + [ + [ + -60.51667, + -62.553894 + ], + [ + -61.172501, + -62.575005 + ], + [ + -59.816948, + -62.614174 + ], + [ + -60.51667, + -62.553894 + ] + ] + ], + [ + [ + [ + -59.665558, + -62.556946 + ], + [ + -59.542229, + -62.498611 + ], + [ + -59.979172, + -62.450836 + ], + [ + -59.665558, + -62.556946 + ] + ] + ], + [ + [ + [ + -59.439171, + -62.447226 + ], + [ + -59.327507, + -62.371391 + ], + [ + -59.678337, + -62.363892 + ], + [ + -59.439171, + -62.447226 + ] + ] + ], + [ + [ + [ + -58.9925, + -62.347778 + ], + [ + -58.816391, + -62.298058 + ], + [ + -59.208893, + -62.285561 + ], + [ + -58.9925, + -62.347778 + ] + ] + ], + [ + [ + [ + -57.621948, + -61.909729 + ], + [ + -58.400284, + -61.938614 + ], + [ + -58.986389, + -62.214447 + ], + [ + -57.621948, + -61.909729 + ] + ] + ], + [ + [ + [ + -55.092224, + -61.098061 + ], + [ + -55.494446, + -61.126671 + ], + [ + -54.646393, + -61.092781 + ], + [ + -55.092224, + -61.098061 + ] + ] + ], + [ + [ + [ + -54.046951, + -61.269447 + ], + [ + -54.032227, + -61.088058 + ], + [ + -54.200562, + -61.236115 + ], + [ + -54.046951, + -61.269447 + ] + ] + ], + [ + [ + [ + -44.428062, + -60.723335 + ], + [ + -44.531395, + -60.67556 + ], + [ + -44.784729, + -60.734451 + ], + [ + -44.428062, + -60.723335 + ] + ] + ], + [ + [ + [ + -45.00528, + -60.725281 + ], + [ + -45.025841, + -60.641945 + ], + [ + -45.071114, + -60.631111 + ], + [ + -45.00528, + -60.725281 + ] + ] + ], + [ + [ + [ + -45.550835, + -60.547226 + ], + [ + -46.023613, + -60.61084 + ], + [ + -45.145279, + -60.766113 + ], + [ + -45.550835, + -60.547226 + ] + ] + ] + ] + }, + "name" : "Antarctica", + "iso2" : "AQ", + "iso3" : "ATA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "1L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 3.361389, + -54.462784 + ], + [ + 3.483611, + -54.402229 + ], + [ + 3.366944, + -54.399727 + ], + [ + 3.361389, + -54.462784 + ] + ] + ] + }, + "name" : "Bouvet Island", + "iso2" : "BV", + "iso3" : "BVT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "1b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 69.812777, + -49.678062 + ], + [ + 69.795, + -49.647224 + ], + [ + 69.761934, + -49.65889 + ], + [ + 69.812777, + -49.678062 + ] + ] + ], + [ + [ + [ + 68.789156, + -49.361671 + ], + [ + 68.801668, + -49.328339 + ], + [ + 68.644442, + -49.343613 + ], + [ + 68.789156, + -49.361671 + ] + ] + ], + [ + [ + [ + 69.606661, + -49.207779 + ], + [ + 69.678331, + -49.153061 + ], + [ + 69.533052, + -49.196671 + ], + [ + 69.606661, + -49.207779 + ] + ] + ], + [ + [ + [ + 69.264711, + -49.091118 + ], + [ + 69.368883, + -48.886391 + ], + [ + 69.216387, + -48.967224 + ], + [ + 69.264711, + -49.091118 + ] + ] + ], + [ + [ + [ + 69.152224, + -48.98806 + ], + [ + 69.242495, + -48.892502 + ], + [ + 69.222216, + -48.856117 + ], + [ + 69.152224, + -48.98806 + ] + ] + ], + [ + [ + [ + 69.491106, + -48.882782 + ], + [ + 69.517214, + -48.860283 + ], + [ + 69.401934, + -48.83445 + ], + [ + 69.491106, + -48.882782 + ] + ] + ], + [ + [ + [ + 69.001101, + -48.797501 + ], + [ + 68.797777, + -49.721947 + ], + [ + 69.643328, + -49.501396 + ], + [ + 70.253603, + -49.691116 + ], + [ + 69.774721, + -49.394173 + ], + [ + 70.566668, + -49.245003 + ], + [ + 70.323885, + -49.050835 + ], + [ + 69.582766, + -49.304451 + ], + [ + 69.282488, + -49.186394 + ], + [ + 69.621935, + -48.978058 + ], + [ + 69.217211, + -49.125557 + ], + [ + 69.103884, + -48.995834 + ], + [ + 69.063051, + -49.119728 + ], + [ + 69.001101, + -48.797501 + ] + ], + [ + [ + 69.904436, + -49.477226 + ], + [ + 69.84305, + -49.45945 + ], + [ + 69.825274, + -49.425835 + ], + [ + 69.904436, + -49.477226 + ] + ], + [ + [ + 70.011934, + -49.571945 + ], + [ + 69.835543, + -49.508057 + ], + [ + 69.921099, + -49.513062 + ], + [ + 70.011934, + -49.571945 + ] + ] + ], + [ + [ + [ + 68.675554, + -48.64389 + ], + [ + 68.668612, + -48.628059 + ], + [ + 68.606112, + -48.639725 + ], + [ + 68.675554, + -48.64389 + ] + ] + ], + [ + [ + [ + 68.797777, + -48.615004 + ], + [ + 68.824709, + -48.570557 + ], + [ + 68.787218, + -48.577225 + ], + [ + 68.797777, + -48.615004 + ] + ] + ], + [ + [ + [ + 52.254442, + -46.457504 + ], + [ + 52.257219, + -46.378059 + ], + [ + 52.088335, + -46.411118 + ], + [ + 52.254442, + -46.457504 + ] + ] + ], + [ + [ + [ + 51.819445, + -46.453613 + ], + [ + 51.780001, + -46.341118 + ], + [ + 51.651941, + -46.374168 + ], + [ + 51.819445, + -46.453613 + ] + ] + ], + [ + [ + [ + 50.272219, + -46.131393 + ], + [ + 50.27389, + -46.050835 + ], + [ + 50.176943, + -46.0625 + ], + [ + 50.272219, + -46.131393 + ] + ] + ], + [ + [ + [ + 77.529436, + -38.737785 + ], + [ + 77.506105, + -38.703896 + ], + [ + 77.499712, + -38.731117 + ], + [ + 77.529436, + -38.737785 + ] + ] + ], + [ + [ + [ + 77.554155, + -37.902779 + ], + [ + 77.554445, + -37.822502 + ], + [ + 77.483889, + -37.835281 + ], + [ + 77.554155, + -37.902779 + ] + ] + ], + [ + [ + [ + 42.757776, + -17.075001 + ], + [ + 42.756945, + -17.059723 + ], + [ + 42.721109, + -17.055557 + ], + [ + 42.757776, + -17.075001 + ] + ] + ] + ] + }, + "name" : "French Southern and Antarctic Lands", + "iso2" : "TF", + "iso3" : "ATF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "1r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 73.77388, + -53.125031 + ], + [ + 73.234436, + -52.987785 + ], + [ + 73.474442, + -53.194168 + ], + [ + 73.77388, + -53.125031 + ] + ] + ] + }, + "name" : "Heard Island and McDonald Islands", + "iso2" : "HM", + "iso3" : "HMD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "171E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 72.487198, + -7.381944 + ], + [ + 72.448868, + -7.234445 + ], + [ + 72.359146, + -7.265278 + ], + [ + 72.487198, + -7.381944 + ] + ] + ], + [ + [ + [ + 71.348328, + -6.658889 + ], + [ + 71.365265, + -6.651667 + ], + [ + 71.343323, + -6.656667 + ], + [ + 71.348328, + -6.658889 + ] + ] + ], + [ + [ + [ + 71.266388, + -6.391945 + ], + [ + 71.266098, + -6.366666 + ], + [ + 71.258606, + -6.382222 + ], + [ + 71.266388, + -6.391945 + ] + ] + ], + [ + [ + [ + 71.347763, + -6.206944 + ], + [ + 71.360809, + -6.174167 + ], + [ + 71.338593, + -6.195833 + ], + [ + 71.347763, + -6.206944 + ] + ] + ], + [ + [ + [ + 71.782486, + -5.440277 + ], + [ + 71.766388, + -5.429722 + ], + [ + 71.759995, + -5.431389 + ], + [ + 71.782486, + -5.440277 + ] + ] + ], + [ + [ + [ + 72.216385, + -5.362222 + ], + [ + 72.208603, + -5.348056 + ], + [ + 72.207764, + -5.354445 + ], + [ + 72.216385, + -5.362222 + ] + ] + ], + [ + [ + [ + 72.232483, + -5.319722 + ], + [ + 72.228043, + -5.315833 + ], + [ + 72.2211, + -5.335556 + ], + [ + 72.232483, + -5.319722 + ] + ] + ], + [ + [ + [ + 71.742203, + -5.291111 + ], + [ + 71.748596, + -5.265556 + ], + [ + 71.74054, + -5.271111 + ], + [ + 71.742203, + -5.291111 + ] + ] + ], + [ + [ + [ + 71.869431, + -5.257778 + ], + [ + 71.882202, + -5.256111 + ], + [ + 71.870255, + -5.249722 + ], + [ + 71.869431, + -5.257778 + ] + ] + ] + ] + }, + "name" : "British Indian Ocean Territory", + "iso2" : "IO", + "iso3" : "IOT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "2L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 105.701401, + -10.51097 + ], + [ + 105.736603, + -10.38408 + ], + [ + 105.628998, + -10.43731 + ], + [ + 105.701401, + -10.51097 + ] + ] + ] + }, + "name" : "Christmas Island", + "iso2" : "CX", + "iso3" : "CXR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "2b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -160.021149, + -0.398056 + ], + [ + -160.017792, + -0.374722 + ], + [ + -160.048615, + -0.383611 + ], + [ + -160.021149, + -0.398056 + ] + ] + ], + [ + [ + [ + -176.456146, + 0.215833 + ], + [ + -176.453918, + 0.226111 + ], + [ + -176.468323, + 0.222222 + ], + [ + -176.456146, + 0.215833 + ] + ] + ], + [ + [ + [ + -176.632202, + 0.793055 + ], + [ + -176.643097, + 0.812778 + ], + [ + -176.64447, + 0.795555 + ], + [ + -176.632202, + 0.793055 + ] + ] + ], + [ + [ + [ + -169.522522, + 16.728882 + ], + [ + -169.531708, + 16.732491 + ], + [ + -169.543884, + 16.726379 + ], + [ + -169.522522, + 16.728882 + ] + ] + ], + [ + [ + [ + 166.646362, + 19.279442 + ], + [ + 166.627594, + 19.324577 + ], + [ + 166.607452, + 19.304996 + ], + [ + 166.646362, + 19.279442 + ] + ] + ], + [ + [ + [ + -177.334442, + 28.194157 + ], + [ + -177.317505, + 28.200829 + ], + [ + -177.321686, + 28.213608 + ], + [ + -177.334442, + 28.194157 + ] + ] + ], + [ + [ + [ + -177.388062, + 28.186378 + ], + [ + -177.358032, + 28.219162 + ], + [ + -177.389771, + 28.212769 + ], + [ + -177.388062, + 28.186378 + ] + ] + ] + ] + }, + "name" : "United States Minor Outlying Islands", + "iso2" : "UM", + "iso3" : "UMI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "2r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 169.846069, + -20.252224 + ], + [ + 169.886658, + -20.170555 + ], + [ + 169.745514, + -20.149445 + ], + [ + 169.846069, + -20.252224 + ] + ] + ], + [ + [ + [ + 170.217468, + -19.559444 + ], + [ + 170.232452, + -19.52417 + ], + [ + 170.205231, + -19.525002 + ], + [ + 170.217468, + -19.559444 + ] + ] + ], + [ + [ + [ + 169.498291, + -19.545002 + ], + [ + 169.232452, + -19.350277 + ], + [ + 169.349701, + -19.636944 + ], + [ + 169.498291, + -19.545002 + ] + ] + ], + [ + [ + [ + 169.594971, + -19.273613 + ], + [ + 169.594971, + -19.231388 + ], + [ + 169.578583, + -19.262501 + ], + [ + 169.594971, + -19.273613 + ] + ] + ], + [ + [ + [ + 169.305237, + -18.978886 + ], + [ + 169.018585, + -18.639999 + ], + [ + 168.989136, + -18.880833 + ], + [ + 169.305237, + -18.978886 + ] + ] + ], + [ + [ + [ + 168.574677, + -17.692776 + ], + [ + 168.311096, + -17.531391 + ], + [ + 168.148041, + -17.719719 + ], + [ + 168.574677, + -17.692776 + ] + ] + ], + [ + [ + [ + 168.399139, + -16.78278 + ], + [ + 168.148315, + -16.580555 + ], + [ + 168.168579, + -16.805279 + ], + [ + 168.399139, + -16.78278 + ] + ] + ], + [ + [ + [ + 168.231079, + -16.516113 + ], + [ + 168.242462, + -16.429165 + ], + [ + 168.201355, + -16.500557 + ], + [ + 168.231079, + -16.516113 + ] + ] + ], + [ + [ + [ + 168.21524, + -16.174168 + ], + [ + 167.917755, + -16.260281 + ], + [ + 168.304138, + -16.339443 + ], + [ + 168.21524, + -16.174168 + ] + ] + ], + [ + [ + [ + 167.416656, + -16.110001 + ], + [ + 167.177765, + -15.899168 + ], + [ + 167.41748, + -16.532223 + ], + [ + 167.772491, + -16.535 + ], + [ + 167.416656, + -16.110001 + ] + ] + ], + [ + [ + [ + 167.209137, + -15.755556 + ], + [ + 167.227173, + -15.637779 + ], + [ + 167.077454, + -15.640278 + ], + [ + 167.209137, + -15.755556 + ] + ] + ], + [ + [ + [ + 167.258606, + -15.588055 + ], + [ + 167.276917, + -15.546112 + ], + [ + 167.239136, + -15.574444 + ], + [ + 167.258606, + -15.588055 + ] + ] + ], + [ + [ + [ + 167.202454, + -15.60861 + ], + [ + 167.21051, + -15.580278 + ], + [ + 167.190521, + -15.529167 + ], + [ + 167.16275, + -15.535833 + ], + [ + 167.110229, + -15.59 + ], + [ + 167.202454, + -15.60861 + ] + ] + ], + [ + [ + [ + 168.210785, + -15.998055 + ], + [ + 168.266663, + -15.870832 + ], + [ + 168.15332, + -15.492222 + ], + [ + 168.210785, + -15.998055 + ] + ] + ], + [ + [ + [ + 167.855804, + -15.485832 + ], + [ + 168.002197, + -15.290001 + ], + [ + 167.668304, + -15.446945 + ], + [ + 167.855804, + -15.485832 + ] + ] + ], + [ + [ + [ + 167.175262, + -15.266666 + ], + [ + 167.179413, + -15.256668 + ], + [ + 167.163605, + -15.254168 + ], + [ + 167.175262, + -15.266666 + ] + ] + ], + [ + [ + [ + 167.14444, + -14.971388 + ], + [ + 167.151093, + -14.957777 + ], + [ + 167.096344, + -14.932501 + ], + [ + 167.14444, + -14.971388 + ] + ] + ], + [ + [ + [ + 168.169128, + -15.395834 + ], + [ + 168.190247, + -15.214722 + ], + [ + 168.105804, + -14.92 + ], + [ + 168.169128, + -15.395834 + ] + ] + ], + [ + [ + [ + 166.802765, + -15.157501 + ], + [ + 166.592743, + -14.624443 + ], + [ + 166.761932, + -15.642778 + ], + [ + 166.814697, + -15.663055 + ], + [ + 166.902771, + -15.582777 + ], + [ + 167.071625, + -15.598055 + ], + [ + 167.151154, + -15.520343 + ], + [ + 167.237717, + -15.524258 + ], + [ + 167.058868, + -14.945 + ], + [ + 166.802765, + -15.157501 + ] + ] + ], + [ + [ + [ + 167.527466, + -14.326666 + ], + [ + 167.588287, + -14.172777 + ], + [ + 167.413605, + -14.178888 + ], + [ + 167.527466, + -14.326666 + ] + ] + ], + [ + [ + [ + 167.479126, + -13.948334 + ], + [ + 167.577759, + -13.847221 + ], + [ + 167.476624, + -13.706667 + ], + [ + 167.479126, + -13.948334 + ] + ] + ], + [ + [ + [ + 167.705536, + -13.675001 + ], + [ + 167.687744, + -13.621666 + ], + [ + 167.623566, + -13.691944 + ], + [ + 167.705536, + -13.675001 + ] + ] + ], + [ + [ + [ + 167.347198, + -13.56139 + ], + [ + 167.322205, + -13.486944 + ], + [ + 167.293304, + -13.52639 + ], + [ + 167.347198, + -13.56139 + ] + ] + ], + [ + [ + [ + 166.67746, + -13.452499 + ], + [ + 166.694122, + -13.415834 + ], + [ + 166.650818, + -13.409723 + ], + [ + 166.67746, + -13.452499 + ] + ] + ], + [ + [ + [ + 166.631622, + -13.381388 + ], + [ + 166.641357, + -13.356943 + ], + [ + 166.596069, + -13.334166 + ], + [ + 166.631622, + -13.381388 + ] + ] + ], + [ + [ + [ + 166.620239, + -13.271389 + ], + [ + 166.638306, + -13.221666 + ], + [ + 166.587463, + -13.223055 + ], + [ + 166.620239, + -13.271389 + ] + ] + ], + [ + [ + [ + 166.559692, + -13.186388 + ], + [ + 166.564972, + -13.091944 + ], + [ + 166.521362, + -13.070555 + ], + [ + 166.559692, + -13.186388 + ] + ] + ] + ] + }, + "name" : "Vanuatu", + "iso2" : "VU", + "iso3" : "VUT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "271E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 7.466389, + 4.445277 + ], + [ + 7.411944, + 4.488055 + ], + [ + 7.335833, + 4.443055 + ], + [ + 7.466389, + 4.445277 + ] + ] + ], + [ + [ + [ + 7.20361, + 4.380555 + ], + [ + 7.316667, + 4.4725 + ], + [ + 7.22611, + 4.52 + ], + [ + 7.20361, + 4.380555 + ] + ] + ], + [ + [ + [ + 13.62512, + 13.718338 + ], + [ + 12.459166, + 13.066111 + ], + [ + 10.724165, + 13.386389 + ], + [ + 9.634932, + 12.802435 + ], + [ + 7.815, + 13.352777 + ], + [ + 6.933332, + 12.997221 + ], + [ + 6.423055, + 13.605276 + ], + [ + 5.874722, + 13.749443 + ], + [ + 4.1425, + 13.476944 + ], + [ + 3.604459, + 11.693274 + ], + [ + 3.855, + 10.584999 + ], + [ + 3.095, + 9.090555 + ], + [ + 2.789444, + 9.043888 + ], + [ + 2.719606, + 6.365505 + ], + [ + 3.807222, + 6.612778 + ], + [ + 3.388611, + 6.443333 + ], + [ + 4.525833, + 6.304999 + ], + [ + 5.175278, + 5.575555 + ], + [ + 5.501111, + 5.620555 + ], + [ + 5.257222, + 5.435555 + ], + [ + 5.639722, + 5.536111 + ], + [ + 5.345277, + 5.33 + ], + [ + 5.451944, + 4.923055 + ], + [ + 6.104166, + 4.272778 + ], + [ + 6.694166, + 4.33 + ], + [ + 6.727221, + 4.605 + ], + [ + 6.848611, + 4.348332 + ], + [ + 6.768055, + 4.774722 + ], + [ + 7.005555, + 4.369444 + ], + [ + 6.962222, + 4.725277 + ], + [ + 7.073055, + 4.434722 + ], + [ + 7.071666, + 4.753888 + ], + [ + 7.676944, + 4.496388 + ], + [ + 8.591738, + 4.810932 + ], + [ + 8.865276, + 5.841944 + ], + [ + 9.795555, + 6.801666 + ], + [ + 10.615, + 7.06861 + ], + [ + 11.340277, + 6.440833 + ], + [ + 11.864166, + 7.084722 + ], + [ + 12.253887, + 8.408054 + ], + [ + 12.796944, + 8.769722 + ], + [ + 13.80722, + 11.055832 + ], + [ + 14.646387, + 11.575832 + ], + [ + 14.645277, + 12.188332 + ], + [ + 14.174444, + 12.396666 + ], + [ + 14.07472, + 13.081665 + ], + [ + 13.62512, + 13.718338 + ] + ] + ] + ] + }, + "name" : "Nigeria", + "iso2" : "NG", + "iso3" : "NGA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "3L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 3.764166, + 51.345278 + ], + [ + 4.238897, + 51.350428 + ], + [ + 3.370867, + 51.373857 + ], + [ + 3.764166, + 51.345278 + ] + ] + ], + [ + [ + [ + 5.763887, + 52.415277 + ], + [ + 5.855558, + 52.492495 + ], + [ + 5.855558, + 52.544168 + ], + [ + 5.643614, + 52.601107 + ], + [ + 5.135557, + 52.380274 + ], + [ + 5.428614, + 52.264162 + ], + [ + 5.534166, + 52.283335 + ], + [ + 5.573057, + 52.368052 + ], + [ + 5.763887, + 52.415277 + ] + ] + ], + [ + [ + [ + 5.423334, + 52.636385 + ], + [ + 5.039495, + 52.633654 + ], + [ + 5.051794, + 52.394117 + ], + [ + 5.423334, + 52.636385 + ] + ] + ], + [ + [ + [ + 4.764723, + 52.990274 + ], + [ + 4.883333, + 53.184168 + ], + [ + 4.713888, + 53.056108 + ], + [ + 4.764723, + 52.990274 + ] + ] + ], + [ + [ + [ + 4.957224, + 53.23778 + ], + [ + 5.10639, + 53.303331 + ], + [ + 4.879999, + 53.214441 + ], + [ + 4.957224, + 53.23778 + ] + ] + ], + [ + [ + [ + 7.208364, + 53.242807 + ], + [ + 6.871668, + 53.416109 + ], + [ + 4.734167, + 52.955553 + ], + [ + 4.58, + 52.471666 + ], + [ + 5.028334, + 52.375834 + ], + [ + 5.033335, + 52.634165 + ], + [ + 5.304167, + 52.706942 + ], + [ + 5.100279, + 52.948053 + ], + [ + 5.364168, + 53.070276 + ], + [ + 5.420557, + 52.964441 + ], + [ + 5.368612, + 52.877779 + ], + [ + 5.718351, + 52.838022 + ], + [ + 5.599169, + 52.757776 + ], + [ + 5.599443, + 52.658609 + ], + [ + 5.855001, + 52.606913 + ], + [ + 5.878057, + 52.509439 + ], + [ + 5.774168, + 52.405275 + ], + [ + 5.624723, + 52.354166 + ], + [ + 5.533609, + 52.267221 + ], + [ + 5.424444, + 52.248606 + ], + [ + 4.584433, + 52.461504 + ], + [ + 3.865557, + 51.814997 + ], + [ + 4.167753, + 51.685572 + ], + [ + 3.687502, + 51.709719 + ], + [ + 4.286112, + 51.44861 + ], + [ + 3.440832, + 51.53583 + ], + [ + 4.252371, + 51.375147 + ], + [ + 5.041391, + 51.486666 + ], + [ + 5.849173, + 51.156382 + ], + [ + 5.640833, + 50.839724 + ], + [ + 6.011801, + 50.757273 + ], + [ + 5.864721, + 51.046106 + ], + [ + 6.222223, + 51.46583 + ], + [ + 5.9625, + 51.807779 + ], + [ + 6.82889, + 51.965555 + ], + [ + 7.065557, + 52.385828 + ], + [ + 6.68889, + 52.549166 + ], + [ + 7.051668, + 52.64361 + ], + [ + 7.208364, + 53.242807 + ] + ] + ], + [ + [ + [ + 5.213057, + 53.35 + ], + [ + 5.581945, + 53.447779 + ], + [ + 5.16889, + 53.373888 + ], + [ + 5.213057, + 53.35 + ] + ] + ], + [ + [ + [ + 5.699167, + 53.462778 + ], + [ + 5.633055, + 53.441668 + ], + [ + 5.956114, + 53.462778 + ], + [ + 5.699167, + 53.462778 + ] + ] + ], + [ + [ + [ + 6.135, + 53.453608 + ], + [ + 6.341112, + 53.502779 + ], + [ + 6.14889, + 53.497499 + ], + [ + 6.135, + 53.453608 + ] + ] + ] + ] + }, + "name" : "Netherlands", + "iso2" : "NL", + "iso3" : "NLD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "3b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 5.336946, + 61.592775 + ], + [ + 5.148611, + 61.59305 + ], + [ + 5.27389, + 61.557775 + ], + [ + 5.130835, + 61.526667 + ], + [ + 5.804998, + 61.452776 + ], + [ + 4.948889, + 61.412775 + ], + [ + 5.634169, + 61.360552 + ], + [ + 4.953333, + 61.258608 + ], + [ + 5.397223, + 61.068605 + ], + [ + 5.749166, + 61.152773 + ], + [ + 6.498335, + 61.130274 + ], + [ + 6.520407, + 61.246202 + ], + [ + 6.703611, + 61.401384 + ], + [ + 6.564165, + 61.218332 + ], + [ + 6.955557, + 61.109995 + ], + [ + 7.278055, + 61.158609 + ], + [ + 7.353891, + 61.189997 + ], + [ + 7.273054, + 61.278887 + ], + [ + 7.309168, + 61.362497 + ], + [ + 7.574446, + 61.479441 + ], + [ + 7.303888, + 61.294443 + ], + [ + 7.428614, + 61.181391 + ], + [ + 7.000834, + 61.096109 + ], + [ + 7.11389, + 60.860277 + ], + [ + 6.590555, + 61.151384 + ], + [ + 6.372225, + 61.061945 + ], + [ + 5.920835, + 61.123056 + ], + [ + 5.419443, + 61.025553 + ], + [ + 5.007776, + 61.037218 + ], + [ + 5.533609, + 60.872499 + ], + [ + 5.236387, + 60.77389 + ], + [ + 5.433611, + 60.627222 + ], + [ + 4.928888, + 60.798883 + ], + [ + 5.261389, + 60.553057 + ], + [ + 5.700834, + 60.694162 + ], + [ + 5.702501, + 60.454439 + ], + [ + 5.142221, + 60.346384 + ], + [ + 5.411112, + 60.129717 + ], + [ + 5.734446, + 60.386942 + ], + [ + 5.747225, + 59.986666 + ], + [ + 6.220835, + 60.4125 + ], + [ + 7.108057, + 60.494165 + ], + [ + 6.521112, + 60.076662 + ], + [ + 6.640554, + 60.410273 + ], + [ + 6.204721, + 60.295557 + ], + [ + 5.698336, + 59.832773 + ], + [ + 6.306391, + 59.843332 + ], + [ + 5.178057, + 59.508333 + ], + [ + 5.51111, + 59.274996 + ], + [ + 6.468889, + 59.555277 + ], + [ + 5.866388, + 59.072222 + ], + [ + 6.623335, + 59.051668 + ], + [ + 6.168612, + 58.832224 + ], + [ + 5.552778, + 59.032778 + ], + [ + 5.457777, + 58.74444 + ], + [ + 6.767221, + 58.238329 + ], + [ + 6.597776, + 58.070276 + ], + [ + 8.211111, + 58.115557 + ], + [ + 8.248056, + 58.201944 + ], + [ + 8.510279, + 58.270273 + ], + [ + 8.691946, + 58.377222 + ], + [ + 8.712645, + 58.441938 + ], + [ + 8.995832, + 58.59833 + ], + [ + 9.191111, + 58.658335 + ], + [ + 9.409445, + 58.841387 + ], + [ + 9.693056, + 58.983057 + ], + [ + 9.540834, + 59.114717 + ], + [ + 10.231112, + 59.038607 + ], + [ + 10.51639, + 59.310831 + ], + [ + 10.222223, + 59.727495 + ], + [ + 10.558054, + 59.543055 + ], + [ + 10.527498, + 59.875277 + ], + [ + 10.748335, + 59.886942 + ], + [ + 10.557779, + 59.728609 + ], + [ + 10.797499, + 59.186388 + ], + [ + 11.429193, + 58.987642 + ], + [ + 11.751112, + 59.090273 + ], + [ + 11.815962, + 59.846102 + ], + [ + 12.494165, + 60.111109 + ], + [ + 12.594446, + 60.516939 + ], + [ + 12.210001, + 61.002497 + ], + [ + 12.856112, + 61.362497 + ], + [ + 12.124445, + 61.728609 + ], + [ + 12.295832, + 62.261667 + ], + [ + 11.936388, + 63.272219 + ], + [ + 12.139444, + 63.584162 + ], + [ + 12.938055, + 64.053331 + ], + [ + 13.988333, + 64.018053 + ], + [ + 14.116388, + 64.470552 + ], + [ + 13.6625, + 64.582766 + ], + [ + 14.493055, + 65.313601 + ], + [ + 14.504999, + 66.132494 + ], + [ + 15.468054, + 66.283876 + ], + [ + 15.36278, + 66.479998 + ], + [ + 16.353888, + 67.017778 + ], + [ + 16.085833, + 67.411654 + ], + [ + 16.726946, + 67.899157 + ], + [ + 17.884165, + 67.945543 + ], + [ + 18.090834, + 68.507769 + ], + [ + 19.937777, + 68.337496 + ], + [ + 20.350279, + 68.786654 + ], + [ + 20.096945, + 69.042223 + ], + [ + 20.580931, + 69.060305 + ], + [ + 21.320833, + 69.326113 + ], + [ + 22.398333, + 68.711107 + ], + [ + 23.976389, + 68.832491 + ], + [ + 24.934919, + 68.580812 + ], + [ + 25.76111, + 68.989168 + ], + [ + 25.945833, + 69.673326 + ], + [ + 26.449999, + 69.927217 + ], + [ + 28.165834, + 69.912218 + ], + [ + 29.176111, + 69.635271 + ], + [ + 28.784166, + 69.160555 + ], + [ + 28.957342, + 69.051622 + ], + [ + 30.103334, + 69.663057 + ], + [ + 30.910002, + 69.548876 + ], + [ + 30.854841, + 69.792315 + ], + [ + 29.486666, + 69.65555 + ], + [ + 29.737501, + 69.905275 + ], + [ + 29.365557, + 69.855272 + ], + [ + 29.671667, + 69.967501 + ], + [ + 28.612501, + 70.107775 + ], + [ + 31.078054, + 70.289156 + ], + [ + 29.036112, + 70.874163 + ], + [ + 28.527498, + 70.726656 + ], + [ + 28.038889, + 70.061937 + ], + [ + 28.335554, + 70.505556 + ], + [ + 27.851667, + 70.478884 + ], + [ + 28.295, + 70.71277 + ], + [ + 27.647501, + 70.605272 + ], + [ + 28.550833, + 70.968325 + ], + [ + 27.651667, + 71.113054 + ], + [ + 27.13611, + 70.95833 + ], + [ + 27.565554, + 70.80472 + ], + [ + 27.029444, + 70.474154 + ], + [ + 26.504999, + 70.363054 + ], + [ + 26.570276, + 70.93889 + ], + [ + 25.234724, + 70.089724 + ], + [ + 24.942499, + 70.08777 + ], + [ + 25.273054, + 70.398882 + ], + [ + 25.07361, + 70.500002 + ], + [ + 25.907778, + 70.88666 + ], + [ + 24.591944, + 70.963045 + ], + [ + 24.245554, + 70.777224 + ], + [ + 24.729166, + 70.621935 + ], + [ + 23.660002, + 70.42 + ], + [ + 23.311945, + 69.940828 + ], + [ + 22.287779, + 70.038881 + ], + [ + 22.950556, + 70.205553 + ], + [ + 21.300001, + 70.246935 + ], + [ + 22.096666, + 70.113329 + ], + [ + 21.797224, + 70.033602 + ], + [ + 22.101667, + 69.740831 + ], + [ + 21.307222, + 70.019716 + ], + [ + 20.48139, + 69.638887 + ], + [ + 20.853056, + 69.489168 + ], + [ + 19.946943, + 69.256105 + ], + [ + 20.304167, + 69.968325 + ], + [ + 19.679167, + 69.429445 + ], + [ + 19.75889, + 69.810274 + ], + [ + 18.944166, + 69.613054 + ], + [ + 19.440554, + 69.225832 + ], + [ + 18.256945, + 69.486376 + ], + [ + 18.152224, + 69.152224 + ], + [ + 17.425833, + 68.905001 + ], + [ + 17.792501, + 68.756945 + ], + [ + 17.236113, + 68.754717 + ], + [ + 17.680277, + 68.654436 + ], + [ + 16.459444, + 68.508043 + ], + [ + 17.552778, + 68.523882 + ], + [ + 17.200834, + 68.366945 + ], + [ + 17.354723, + 68.173876 + ], + [ + 16.317221, + 68.366945 + ], + [ + 16.805834, + 68.13138 + ], + [ + 16.103334, + 68.276934 + ], + [ + 16.715277, + 68.066668 + ], + [ + 16.207499, + 68.001665 + ], + [ + 16.495832, + 67.794161 + ], + [ + 16.217222, + 67.888048 + ], + [ + 15.972223, + 68.245546 + ], + [ + 15.283056, + 68.035555 + ], + [ + 15.961111, + 68.013048 + ], + [ + 15.871111, + 67.923326 + ], + [ + 14.758055, + 67.805269 + ], + [ + 15.899168, + 67.558886 + ], + [ + 15.541113, + 67.476946 + ], + [ + 15.640001, + 67.26639 + ], + [ + 15.035833, + 67.570543 + ], + [ + 14.361666, + 67.233889 + ], + [ + 15.739721, + 67.172487 + ], + [ + 13.546946, + 66.926668 + ], + [ + 13.990835, + 66.783602 + ], + [ + 13.228056, + 66.712496 + ], + [ + 13.725557, + 66.601946 + ], + [ + 12.969999, + 66.518328 + ], + [ + 13.53639, + 66.303606 + ], + [ + 13.027224, + 66.186098 + ], + [ + 14.146666, + 66.321657 + ], + [ + 12.673887, + 66.066942 + ], + [ + 12.959444, + 66.042223 + ], + [ + 12.931944, + 65.974993 + ], + [ + 13.121946, + 65.940279 + ], + [ + 13.175001, + 65.849154 + ], + [ + 12.667501, + 65.916933 + ], + [ + 12.78861, + 65.636385 + ], + [ + 12.360834, + 65.647768 + ], + [ + 12.638056, + 65.418886 + ], + [ + 12.248888, + 65.228609 + ], + [ + 12.939722, + 65.308321 + ], + [ + 12.624723, + 65.133608 + ], + [ + 12.14889, + 65.039156 + ], + [ + 12.047499, + 65.055834 + ], + [ + 12.019445, + 65.02611 + ], + [ + 11.975, + 65.065828 + ], + [ + 11.297224, + 64.883608 + ], + [ + 12.224443, + 64.937212 + ], + [ + 11.438334, + 64.711107 + ], + [ + 11.728056, + 64.579714 + ], + [ + 11.221666, + 64.316103 + ], + [ + 10.972223, + 64.601381 + ], + [ + 10.495291, + 64.423815 + ], + [ + 9.982222, + 63.990557 + ], + [ + 10.189722, + 63.930552 + ], + [ + 9.54389, + 63.763613 + ], + [ + 10.098333, + 63.761942 + ], + [ + 9.789167, + 63.6625 + ], + [ + 10.047777, + 63.496111 + ], + [ + 10.941946, + 63.738054 + ], + [ + 11.077223, + 63.837496 + ], + [ + 10.904165, + 63.894167 + ], + [ + 10.574167, + 63.804995 + ], + [ + 11.180277, + 64.008043 + ], + [ + 11.305834, + 64.116381 + ], + [ + 11.358332, + 64.110552 + ], + [ + 11.318888, + 64.032213 + ], + [ + 11.492777, + 64.019442 + ], + [ + 11.090555, + 63.878328 + ], + [ + 11.455832, + 63.787218 + ], + [ + 10.658888, + 63.549997 + ], + [ + 10.910276, + 63.451113 + ], + [ + 10.047224, + 63.406107 + ], + [ + 10.256666, + 63.26111 + ], + [ + 9.647501, + 63.623888 + ], + [ + 9.149721, + 63.484163 + ], + [ + 9.427778, + 63.37694 + ], + [ + 9.004999, + 63.467501 + ], + [ + 8.652777, + 63.409166 + ], + [ + 8.763613, + 63.345278 + ], + [ + 8.477777, + 63.293612 + ], + [ + 8.938334, + 63.206667 + ], + [ + 8.159166, + 63.120279 + ], + [ + 8.530832, + 62.841387 + ], + [ + 7.879168, + 63.010553 + ], + [ + 8.548334, + 62.653887 + ], + [ + 7.03639, + 62.967501 + ], + [ + 6.958887, + 62.722498 + ], + [ + 8.145277, + 62.689997 + ], + [ + 6.246946, + 62.574717 + ], + [ + 6.649836, + 62.498384 + ], + [ + 6.257223, + 62.448885 + ], + [ + 6.781389, + 62.478334 + ], + [ + 7.415556, + 62.2325 + ], + [ + 7.043058, + 62.08639 + ], + [ + 6.876112, + 62.414995 + ], + [ + 6.388334, + 62.369722 + ], + [ + 6.538057, + 62.104723 + ], + [ + 6.306665, + 62.371668 + ], + [ + 5.918058, + 62.21583 + ], + [ + 6.357222, + 62.055277 + ], + [ + 5.150278, + 62.211939 + ], + [ + 5.403612, + 62.016108 + ], + [ + 5.148054, + 61.892221 + ], + [ + 6.763613, + 61.868052 + ], + [ + 4.938055, + 61.676386 + ], + [ + 5.336946, + 61.592775 + ] + ], + [ + [ + 5.336946, + 61.592775 + ], + [ + 5.345335, + 61.586332 + ], + [ + 5.276834, + 61.587999 + ], + [ + 5.336946, + 61.592775 + ] + ], + [ + [ + 5.778334, + 58.947496 + ], + [ + 5.760836, + 58.945833 + ], + [ + 5.754999, + 58.956385 + ], + [ + 5.778334, + 58.947496 + ] + ] + ], + [ + [ + [ + 30.155554, + 69.781664 + ], + [ + 30.126112, + 69.797487 + ], + [ + 30.110556, + 69.787218 + ], + [ + 30.155554, + 69.781664 + ] + ] + ], + [ + [ + [ + 29.826666, + 69.756945 + ], + [ + 30.048056, + 69.827501 + ], + [ + 29.841944, + 69.910265 + ], + [ + 29.826666, + 69.756945 + ] + ] + ], + [ + [ + [ + 25.828054, + 71.098604 + ], + [ + 25.286112, + 71.02083 + ], + [ + 26.219721, + 71.033602 + ], + [ + 25.828054, + 71.098604 + ] + ] + ], + [ + [ + [ + 24.799444, + 71.023882 + ], + [ + 24.853613, + 71.089983 + ], + [ + 24.639444, + 71.060823 + ], + [ + 24.799444, + 71.023882 + ] + ] + ], + [ + [ + [ + 24.061945, + 70.908876 + ], + [ + 24.243891, + 70.951937 + ], + [ + 23.880835, + 70.993608 + ], + [ + 24.061945, + 70.908876 + ] + ] + ], + [ + [ + [ + 23.871111, + 70.512209 + ], + [ + 24.125834, + 70.615267 + ], + [ + 23.634165, + 70.696383 + ], + [ + 23.871111, + 70.512209 + ] + ] + ], + [ + [ + [ + 23.595835, + 70.578051 + ], + [ + 22.85111, + 70.405825 + ], + [ + 23.230555, + 70.278322 + ], + [ + 23.595835, + 70.578051 + ] + ] + ], + [ + [ + [ + 23.451666, + 70.783602 + ], + [ + 21.94972, + 70.646105 + ], + [ + 22.784166, + 70.519716 + ], + [ + 23.451666, + 70.783602 + ] + ] + ], + [ + [ + [ + 22.834723, + 70.332216 + ], + [ + 22.368612, + 70.334444 + ], + [ + 23.022779, + 70.259432 + ], + [ + 22.834723, + 70.332216 + ] + ] + ], + [ + [ + [ + 21.772779, + 70.266665 + ], + [ + 21.841391, + 70.350267 + ], + [ + 21.697779, + 70.381945 + ], + [ + 21.772779, + 70.266665 + ] + ] + ], + [ + [ + [ + 21.730276, + 69.931108 + ], + [ + 21.717222, + 69.949709 + ], + [ + 21.668612, + 69.941942 + ], + [ + 21.730276, + 69.931108 + ] + ] + ], + [ + [ + [ + 20.892569, + 70.030817 + ], + [ + 20.757776, + 69.989992 + ], + [ + 21.102499, + 70.004717 + ], + [ + 20.892569, + 70.030817 + ] + ] + ], + [ + [ + [ + 21.000834, + 70.019716 + ], + [ + 21.049166, + 70.049715 + ], + [ + 20.951944, + 70.025835 + ], + [ + 21.000834, + 70.019716 + ] + ] + ], + [ + [ + [ + 20.919722, + 70.079439 + ], + [ + 20.861387, + 70.149157 + ], + [ + 20.814722, + 70.116106 + ], + [ + 20.919722, + 70.079439 + ] + ] + ], + [ + [ + [ + 20.831945, + 70.19388 + ], + [ + 20.385279, + 70.098879 + ], + [ + 20.783888, + 70.056383 + ], + [ + 20.831945, + 70.19388 + ] + ] + ], + [ + [ + [ + 20.680277, + 69.808611 + ], + [ + 20.739168, + 69.905275 + ], + [ + 20.556391, + 69.851107 + ], + [ + 20.680277, + 69.808611 + ] + ] + ], + [ + [ + [ + 20.11278, + 70.104723 + ], + [ + 19.536112, + 70.248323 + ], + [ + 19.769999, + 70.065279 + ], + [ + 20.11278, + 70.104723 + ] + ] + ], + [ + [ + [ + 19.959166, + 70.005556 + ], + [ + 19.996111, + 70.012774 + ], + [ + 19.899168, + 70.0161 + ], + [ + 19.959166, + 70.005556 + ] + ] + ], + [ + [ + [ + 19.567221, + 69.851656 + ], + [ + 19.897779, + 69.972216 + ], + [ + 19.459444, + 69.842501 + ], + [ + 19.567221, + 69.851656 + ] + ] + ], + [ + [ + [ + 19.300554, + 70.02611 + ], + [ + 18.721109, + 69.93416 + ], + [ + 19.691946, + 69.994722 + ], + [ + 19.300554, + 70.02611 + ] + ] + ], + [ + [ + [ + 19.6075, + 70.101946 + ], + [ + 19.431391, + 70.177767 + ], + [ + 19.349722, + 70.13138 + ], + [ + 19.6075, + 70.101946 + ] + ] + ], + [ + [ + [ + 19.185278, + 70.122499 + ], + [ + 19.23361, + 70.254442 + ], + [ + 19.033609, + 70.161104 + ], + [ + 19.185278, + 70.122499 + ] + ] + ], + [ + [ + [ + 18.785002, + 70.111376 + ], + [ + 18.684446, + 69.99666 + ], + [ + 19.002779, + 70.084154 + ], + [ + 18.785002, + 70.111376 + ] + ] + ], + [ + [ + [ + 18.890001, + 69.691942 + ], + [ + 18.693056, + 69.884432 + ], + [ + 18.75139, + 69.682772 + ], + [ + 17.996946, + 69.588335 + ], + [ + 18.890001, + 69.691942 + ] + ] + ], + [ + [ + [ + 17.63661, + 69.516047 + ], + [ + 16.930834, + 69.392488 + ], + [ + 17.173887, + 69.195833 + ], + [ + 16.775278, + 69.06444 + ], + [ + 18.003611, + 69.190279 + ], + [ + 18.074167, + 69.430834 + ], + [ + 17.63661, + 69.516047 + ] + ] + ], + [ + [ + [ + 17.416945, + 68.995821 + ], + [ + 17.561388, + 69.094988 + ], + [ + 17.352777, + 69.024157 + ], + [ + 17.416945, + 68.995821 + ] + ] + ], + [ + [ + [ + 17.241667, + 68.788607 + ], + [ + 17.437777, + 68.865267 + ], + [ + 17.083612, + 68.910265 + ], + [ + 17.241667, + 68.788607 + ] + ] + ], + [ + [ + [ + 17.116388, + 68.752489 + ], + [ + 17.000555, + 68.854433 + ], + [ + 16.813055, + 68.728334 + ], + [ + 17.116388, + 68.752489 + ] + ] + ], + [ + [ + [ + 16.537222, + 68.879717 + ], + [ + 16.601667, + 68.945543 + ], + [ + 16.26111, + 68.966661 + ], + [ + 16.537222, + 68.879717 + ] + ] + ], + [ + [ + [ + 15.988054, + 68.75194 + ], + [ + 15.63611, + 68.946657 + ], + [ + 15.451666, + 68.762209 + ], + [ + 15.71361, + 68.69861 + ], + [ + 14.986666, + 68.247499 + ], + [ + 16.565001, + 68.651934 + ], + [ + 16.178888, + 68.851656 + ], + [ + 15.739443, + 68.52611 + ], + [ + 15.988054, + 68.75194 + ] + ] + ], + [ + [ + [ + 16.405554, + 68.411104 + ], + [ + 16.326944, + 68.533602 + ], + [ + 16.094446, + 68.396654 + ], + [ + 16.405554, + 68.411104 + ] + ] + ], + [ + [ + [ + 15.522501, + 68.906099 + ], + [ + 16.148054, + 69.286379 + ], + [ + 15.560278, + 69.094713 + ], + [ + 15.522501, + 68.906099 + ] + ] + ], + [ + [ + [ + 15.903334, + 67.978884 + ], + [ + 15.85111, + 68.013613 + ], + [ + 15.498888, + 67.98778 + ], + [ + 15.903334, + 67.978884 + ] + ] + ], + [ + [ + [ + 15.382776, + 68.845278 + ], + [ + 15.087778, + 69.008043 + ], + [ + 15.148611, + 68.812212 + ], + [ + 14.371111, + 68.683611 + ], + [ + 15.059168, + 68.572496 + ], + [ + 15.382776, + 68.845278 + ] + ] + ], + [ + [ + [ + 15.202223, + 67.90027 + ], + [ + 15.30361, + 67.920275 + ], + [ + 14.931665, + 67.923876 + ], + [ + 15.202223, + 67.90027 + ] + ] + ], + [ + [ + [ + 15.026388, + 68.354998 + ], + [ + 15.16889, + 68.450548 + ], + [ + 14.19972, + 68.152224 + ], + [ + 15.026388, + 68.354998 + ] + ] + ], + [ + [ + [ + 14.954443, + 68.872774 + ], + [ + 14.885279, + 68.933321 + ], + [ + 14.839167, + 68.881945 + ], + [ + 14.954443, + 68.872774 + ] + ] + ], + [ + [ + [ + 14.870554, + 68.211657 + ], + [ + 14.940554, + 68.268053 + ], + [ + 14.826113, + 68.254442 + ], + [ + 14.870554, + 68.211657 + ] + ] + ], + [ + [ + [ + 14.253054, + 67.358599 + ], + [ + 14.374998, + 67.422213 + ], + [ + 14.216665, + 67.358324 + ], + [ + 14.253054, + 67.358599 + ] + ] + ], + [ + [ + [ + 14.257776, + 67.133043 + ], + [ + 13.99111, + 67.0786 + ], + [ + 14.191946, + 66.999437 + ], + [ + 14.257776, + 67.133043 + ] + ] + ], + [ + [ + [ + 14.203611, + 68.239168 + ], + [ + 14.214167, + 68.301104 + ], + [ + 14.049444, + 68.303331 + ], + [ + 14.203611, + 68.239168 + ] + ] + ], + [ + [ + [ + 13.968332, + 68.238329 + ], + [ + 13.44972, + 68.067492 + ], + [ + 14.135832, + 68.239443 + ], + [ + 13.968332, + 68.238329 + ] + ] + ], + [ + [ + [ + 13.973333, + 68.253328 + ], + [ + 13.990557, + 68.309999 + ], + [ + 13.883333, + 68.302217 + ], + [ + 13.973333, + 68.253328 + ] + ] + ], + [ + [ + [ + 13.438055, + 68.11278 + ], + [ + 13.299166, + 68.149721 + ], + [ + 13.163057, + 68.011385 + ], + [ + 13.438055, + 68.11278 + ] + ] + ], + [ + [ + [ + 12.986666, + 66.228334 + ], + [ + 13.158335, + 66.277498 + ], + [ + 12.930834, + 66.226381 + ], + [ + 12.986666, + 66.228334 + ] + ] + ], + [ + [ + [ + 12.841944, + 67.808611 + ], + [ + 13.134443, + 67.952501 + ], + [ + 13.155832, + 68.081102 + ], + [ + 12.841944, + 67.808611 + ] + ] + ], + [ + [ + [ + 12.542501, + 65.896944 + ], + [ + 12.903612, + 66.008608 + ], + [ + 12.573889, + 66.010546 + ], + [ + 12.414999, + 65.893602 + ], + [ + 12.542501, + 65.896944 + ] + ] + ], + [ + [ + [ + 12.796667, + 66.214434 + ], + [ + 12.870832, + 66.277498 + ], + [ + 12.715834, + 66.247499 + ], + [ + 12.796667, + 66.214434 + ] + ] + ], + [ + [ + [ + 12.352499, + 66.022493 + ], + [ + 12.657221, + 66.104723 + ], + [ + 12.563334, + 66.217775 + ], + [ + 12.352499, + 66.022493 + ] + ] + ], + [ + [ + [ + 12.075277, + 65.211382 + ], + [ + 12.502779, + 65.391939 + ], + [ + 12.258055, + 65.576113 + ], + [ + 12.075277, + 65.211382 + ] + ] + ], + [ + [ + [ + 12.156389, + 65.051378 + ], + [ + 12.285002, + 65.084444 + ], + [ + 12.315279, + 65.109987 + ], + [ + 12.183611, + 65.20833 + ], + [ + 11.981668, + 65.076387 + ], + [ + 12.156389, + 65.051378 + ] + ] + ], + [ + [ + [ + 11.974165, + 65.62694 + ], + [ + 11.894445, + 65.704439 + ], + [ + 11.758612, + 65.616945 + ], + [ + 11.974165, + 65.62694 + ] + ] + ], + [ + [ + [ + 11.636667, + 65.065279 + ], + [ + 11.772779, + 65.113604 + ], + [ + 11.531389, + 65.060823 + ], + [ + 11.636667, + 65.065279 + ] + ] + ], + [ + [ + [ + 11.453611, + 64.514162 + ], + [ + 11.03861, + 64.628878 + ], + [ + 11.175554, + 64.506945 + ], + [ + 11.453611, + 64.514162 + ] + ] + ], + [ + [ + [ + 11.351389, + 64.649996 + ], + [ + 11.176111, + 64.644442 + ], + [ + 11.310835, + 64.596666 + ], + [ + 11.351389, + 64.649996 + ] + ] + ], + [ + [ + [ + 11.261667, + 64.884722 + ], + [ + 11.106112, + 64.950274 + ], + [ + 10.824999, + 64.844988 + ], + [ + 11.261667, + 64.884722 + ] + ] + ], + [ + [ + [ + 11.110834, + 64.965822 + ], + [ + 10.777777, + 64.918886 + ], + [ + 10.73139, + 64.860277 + ], + [ + 11.110834, + 64.965822 + ] + ] + ], + [ + [ + [ + 8.494165, + 63.428331 + ], + [ + 9.17639, + 63.564722 + ], + [ + 8.280001, + 63.464724 + ], + [ + 8.494165, + 63.428331 + ] + ] + ], + [ + [ + [ + 8.808332, + 63.810274 + ], + [ + 8.269999, + 63.678888 + ], + [ + 8.794443, + 63.697496 + ], + [ + 8.808332, + 63.810274 + ] + ] + ], + [ + [ + [ + 8.743612, + 58.409723 + ], + [ + 8.761389, + 58.421389 + ], + [ + 8.761389, + 58.436663 + ], + [ + 8.737501, + 58.434999 + ], + [ + 8.726946, + 58.412775 + ], + [ + 8.743612, + 58.409723 + ] + ] + ], + [ + [ + [ + 8.511946, + 63.319162 + ], + [ + 8.675833, + 63.346666 + ], + [ + 8.431112, + 63.331942 + ], + [ + 8.511946, + 63.319162 + ] + ] + ], + [ + [ + [ + 8.391111, + 63.159166 + ], + [ + 8.576113, + 63.18944 + ], + [ + 8.437498, + 63.283884 + ], + [ + 8.269724, + 63.266108 + ], + [ + 8.391111, + 63.159166 + ] + ] + ], + [ + [ + [ + 8.060278, + 63.141665 + ], + [ + 8.186388, + 63.153055 + ], + [ + 7.92639, + 63.171946 + ], + [ + 8.060278, + 63.141665 + ] + ] + ], + [ + [ + [ + 8.162222, + 63.361383 + ], + [ + 8.091665, + 63.466661 + ], + [ + 7.778334, + 63.405832 + ], + [ + 8.162222, + 63.361383 + ] + ] + ], + [ + [ + [ + 7.809725, + 63.023333 + ], + [ + 7.915277, + 63.079165 + ], + [ + 7.679445, + 63.056108 + ], + [ + 7.809725, + 63.023333 + ] + ] + ], + [ + [ + [ + 7.548334, + 62.948328 + ], + [ + 7.711946, + 63.002497 + ], + [ + 7.365557, + 62.996386 + ], + [ + 7.548334, + 62.948328 + ] + ] + ], + [ + [ + [ + 6.886389, + 62.776941 + ], + [ + 6.940557, + 62.844446 + ], + [ + 6.775835, + 62.845552 + ], + [ + 6.886389, + 62.776941 + ] + ] + ], + [ + [ + [ + 6.736666, + 62.667223 + ], + [ + 6.919443, + 62.709162 + ], + [ + 6.649721, + 62.681391 + ], + [ + 6.736666, + 62.667223 + ] + ] + ], + [ + [ + [ + 6.253889, + 62.391665 + ], + [ + 6.333612, + 62.413332 + ], + [ + 6.023054, + 62.435556 + ], + [ + 6.253889, + 62.391665 + ] + ] + ], + [ + [ + [ + 5.95278, + 59.228334 + ], + [ + 6.059168, + 59.260828 + ], + [ + 5.909723, + 59.274164 + ], + [ + 5.95278, + 59.228334 + ] + ] + ], + [ + [ + [ + 5.954721, + 60.089441 + ], + [ + 6.016947, + 60.146662 + ], + [ + 5.924166, + 60.145273 + ], + [ + 5.954721, + 60.089441 + ] + ] + ], + [ + [ + [ + 5.840555, + 62.24 + ], + [ + 5.977503, + 62.411112 + ], + [ + 5.804998, + 62.366945 + ], + [ + 5.840555, + 62.24 + ] + ] + ], + [ + [ + [ + 5.961946, + 58.972223 + ], + [ + 5.958887, + 58.983889 + ], + [ + 5.945002, + 58.977495 + ], + [ + 5.961946, + 58.972223 + ] + ] + ], + [ + [ + [ + 5.647779, + 62.187494 + ], + [ + 5.808058, + 62.27305 + ], + [ + 5.506109, + 62.224443 + ], + [ + 5.647779, + 62.187494 + ] + ] + ], + [ + [ + [ + 5.726389, + 59.078051 + ], + [ + 5.68889, + 59.129168 + ], + [ + 5.548334, + 59.130556 + ], + [ + 5.726389, + 59.078051 + ] + ] + ], + [ + [ + [ + 5.550001, + 60.431391 + ], + [ + 5.675833, + 60.683054 + ], + [ + 5.360003, + 60.52389 + ], + [ + 5.550001, + 60.431391 + ] + ] + ], + [ + [ + [ + 5.525, + 59.893328 + ], + [ + 5.658056, + 60.075274 + ], + [ + 5.360834, + 59.99222 + ], + [ + 5.525, + 59.893328 + ] + ] + ], + [ + [ + [ + 5.413057, + 59.751665 + ], + [ + 5.468332, + 59.886385 + ], + [ + 5.276388, + 59.966944 + ], + [ + 5.413057, + 59.751665 + ] + ] + ], + [ + [ + [ + 5.287779, + 59.218889 + ], + [ + 5.183611, + 59.411943 + ], + [ + 5.155279, + 59.146944 + ], + [ + 5.287779, + 59.218889 + ] + ] + ], + [ + [ + [ + 5.268057, + 60.004999 + ], + [ + 5.172777, + 60.121668 + ], + [ + 5.168058, + 60.031389 + ], + [ + 5.268057, + 60.004999 + ] + ] + ], + [ + [ + [ + 5.263334, + 59.798609 + ], + [ + 5.1075, + 59.864443 + ], + [ + 5.14889, + 59.58111 + ], + [ + 5.263334, + 59.798609 + ] + ] + ], + [ + [ + [ + 5.216944, + 60.241945 + ], + [ + 5.233335, + 60.254717 + ], + [ + 5.19972, + 60.251108 + ], + [ + 5.216944, + 60.241945 + ] + ] + ], + [ + [ + [ + 4.934168, + 61.774164 + ], + [ + 5.221945, + 61.845552 + ], + [ + 4.804167, + 61.840555 + ], + [ + 4.934168, + 61.774164 + ] + ] + ], + [ + [ + [ + 5.195276, + 60.408884 + ], + [ + 5.179445, + 60.482775 + ], + [ + 5.000834, + 60.531107 + ], + [ + 5.195276, + 60.408884 + ] + ] + ], + [ + [ + [ + 5.185278, + 60.506105 + ], + [ + 5.121668, + 60.578051 + ], + [ + 4.926947, + 60.605272 + ], + [ + 5.185278, + 60.506105 + ] + ] + ], + [ + [ + [ + 5.158335, + 60.581667 + ], + [ + 4.980001, + 60.714724 + ], + [ + 4.854445, + 60.7325 + ], + [ + 5.158335, + 60.581667 + ] + ] + ], + [ + [ + [ + 5.068056, + 61.923052 + ], + [ + 5.127222, + 61.992495 + ], + [ + 5.009722, + 62.013613 + ], + [ + 5.068056, + 61.923052 + ] + ] + ], + [ + [ + [ + 5.111944, + 60.185831 + ], + [ + 4.942499, + 60.4275 + ], + [ + 4.946943, + 60.249163 + ], + [ + 5.111944, + 60.185831 + ] + ] + ], + [ + [ + [ + 4.986387, + 61.104441 + ], + [ + 4.788057, + 61.146387 + ], + [ + 4.804724, + 61.044443 + ], + [ + 4.986387, + 61.104441 + ] + ] + ], + [ + [ + [ + 4.69639, + 60.987223 + ], + [ + 4.628057, + 61.06444 + ], + [ + 4.630835, + 61.006662 + ], + [ + 4.69639, + 60.987223 + ] + ] + ] + ] + }, + "name" : "Norway", + "iso2" : "NO", + "iso3" : "NOR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "3r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 82.066399, + 27.914154 + ], + [ + 83.291367, + 27.337776 + ], + [ + 84.147217, + 27.511387 + ], + [ + 85.855545, + 26.570274 + ], + [ + 88.014709, + 26.364719 + ], + [ + 88.142792, + 27.866055 + ], + [ + 87.192749, + 27.823051 + ], + [ + 86.686371, + 28.112217 + ], + [ + 86.444977, + 27.908051 + ], + [ + 86.183594, + 28.163883 + ], + [ + 86.014435, + 27.882774 + ], + [ + 85.721375, + 28.279163 + ], + [ + 85.106644, + 28.309441 + ], + [ + 85.189972, + 28.603329 + ], + [ + 84.481094, + 28.73666 + ], + [ + 84.119141, + 29.259998 + ], + [ + 83.552765, + 29.185829 + ], + [ + 82.10054, + 30.34222 + ], + [ + 81.421097, + 30.385273 + ], + [ + 81.223602, + 30.010277 + ], + [ + 81.02536, + 30.204353 + ], + [ + 80.376923, + 29.748604 + ], + [ + 80.055817, + 28.836109 + ], + [ + 82.066399, + 27.914154 + ] + ] + ] + }, + "name" : "Nepal", + "iso2" : "NP", + "iso3" : "NPL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "371E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 166.929138, + -0.552222 + ], + [ + 166.958588, + -0.506389 + ], + [ + 166.930542, + -0.493333 + ], + [ + 166.929138, + -0.552222 + ] + ] + ] + }, + "name" : "Nauru", + "iso2" : "NR", + "iso3" : "NRU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "4L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -54.166946, + 5.346944 + ], + [ + -54.030006, + 5.821111 + ], + [ + -55.127968, + 5.822173 + ], + [ + -55.836395, + 5.956666 + ], + [ + -55.899559, + 5.671908 + ], + [ + -56.972504, + 5.996944 + ], + [ + -57.248505, + 5.486111 + ], + [ + -57.327225, + 5.026111 + ], + [ + -57.92334, + 4.821944 + ], + [ + -58.047226, + 4.008333 + ], + [ + -57.642227, + 3.356389 + ], + [ + -57.301392, + 3.3775 + ], + [ + -56.470634, + 1.944499 + ], + [ + -55.904167, + 1.893055 + ], + [ + -55.965836, + 2.532777 + ], + [ + -54.603783, + 2.329195 + ], + [ + -54.001114, + 3.448333 + ], + [ + -54.477501, + 4.747777 + ], + [ + -54.166946, + 5.346944 + ] + ] + ] + }, + "name" : "Suriname", + "iso2" : "SR", + "iso3" : "SUR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "4b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -83.712509, + 11.868332 + ], + [ + -83.714447, + 11.988054 + ], + [ + -83.731949, + 11.903332 + ], + [ + -83.712509, + 11.868332 + ] + ] + ], + [ + [ + [ + -83.048889, + 12.145555 + ], + [ + -83.021393, + 12.184166 + ], + [ + -83.05751, + 12.183611 + ], + [ + -83.048889, + 12.145555 + ] + ] + ], + [ + [ + [ + -82.964737, + 12.286943 + ], + [ + -82.97139, + 12.312498 + ], + [ + -82.983337, + 12.313055 + ], + [ + -82.964737, + 12.286943 + ] + ] + ], + [ + [ + [ + -82.750839, + 14.353888 + ], + [ + -82.733612, + 14.418888 + ], + [ + -82.789734, + 14.374998 + ], + [ + -82.750839, + 14.353888 + ] + ] + ], + [ + [ + [ + -83.131851, + 14.992979 + ], + [ + -83.239731, + 14.982498 + ], + [ + -84.482788, + 14.617777 + ], + [ + -84.906677, + 14.808611 + ], + [ + -85.732315, + 13.829235 + ], + [ + -86.015839, + 14.065832 + ], + [ + -86.763016, + 13.751621 + ], + [ + -86.695007, + 13.296944 + ], + [ + -87.301392, + 12.986599 + ], + [ + -87.692505, + 12.912222 + ], + [ + -85.692383, + 11.076061 + ], + [ + -85.087784, + 11.009998 + ], + [ + -83.915558, + 10.708611 + ], + [ + -83.645798, + 10.924847 + ], + [ + -83.83168, + 11.874722 + ], + [ + -83.604446, + 12.819443 + ], + [ + -83.482788, + 12.403889 + ], + [ + -83.551117, + 13.450554 + ], + [ + -83.186951, + 14.323889 + ], + [ + -83.421402, + 14.80611 + ], + [ + -83.131851, + 14.992979 + ] + ] + ] + ] + }, + "name" : "Nicaragua", + "iso2" : "NI", + "iso3" : "NIC" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "4r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 169.185516, + -52.57695 + ], + [ + 169.205231, + -52.441383 + ], + [ + 169.000824, + -52.507225 + ], + [ + 169.185516, + -52.57695 + ] + ] + ], + [ + [ + [ + 166.096619, + -50.923058 + ], + [ + 166.22052, + -50.887505 + ], + [ + 165.923584, + -50.856392 + ], + [ + 166.096619, + -50.923058 + ] + ] + ], + [ + [ + [ + 165.995544, + -50.603638 + ], + [ + 166.003601, + -50.595001 + ], + [ + 165.969421, + -50.605003 + ], + [ + 165.995544, + -50.603638 + ] + ] + ], + [ + [ + [ + 166.250824, + -50.82695 + ], + [ + 166.199402, + -50.527222 + ], + [ + 165.886932, + -50.804443 + ], + [ + 166.250824, + -50.82695 + ] + ] + ], + [ + [ + [ + 166.321899, + -50.50695 + ], + [ + 166.331909, + -50.49472 + ], + [ + 166.284973, + -50.50528 + ], + [ + 166.321899, + -50.50695 + ] + ] + ], + [ + [ + [ + 178.816376, + -49.723885 + ], + [ + 178.814972, + -49.613617 + ], + [ + 178.71524, + -49.685272 + ], + [ + 178.816376, + -49.723885 + ] + ] + ], + [ + [ + [ + 166.632172, + -48.04084 + ], + [ + 166.622192, + -47.995552 + ], + [ + 166.563873, + -48.039444 + ], + [ + 166.632172, + -48.04084 + ] + ] + ], + [ + [ + [ + 179.076904, + -47.680595 + ], + [ + 179.069702, + -47.661667 + ], + [ + 179.049133, + -47.67556 + ], + [ + 179.076904, + -47.680595 + ] + ] + ], + [ + [ + [ + 167.434967, + -47.248611 + ], + [ + 167.486908, + -47.214165 + ], + [ + 167.426636, + -47.222496 + ], + [ + 167.434967, + -47.248611 + ] + ] + ], + [ + [ + [ + 167.685791, + -46.796669 + ], + [ + 167.718842, + -46.771385 + ], + [ + 167.663605, + -46.760002 + ], + [ + 167.685791, + -46.796669 + ] + ] + ], + [ + [ + [ + 168.191925, + -46.905273 + ], + [ + 167.775818, + -46.700279 + ], + [ + 167.519135, + -47.27417 + ], + [ + 168.191925, + -46.905273 + ] + ] + ], + [ + [ + [ + 166.71637, + -45.741669 + ], + [ + 166.710785, + -45.61528 + ], + [ + 166.504974, + -45.719162 + ], + [ + 166.71637, + -45.741669 + ] + ] + ], + [ + [ + [ + 167.009979, + -45.31028 + ], + [ + 166.962189, + -45.153328 + ], + [ + 166.891357, + -45.250282 + ], + [ + 167.009979, + -45.31028 + ] + ] + ], + [ + [ + [ + -176.162231, + -44.324722 + ], + [ + -176.115814, + -44.263336 + ], + [ + -176.23584, + -44.234734 + ], + [ + -176.162231, + -44.324722 + ] + ] + ], + [ + [ + [ + -176.45224, + -43.736122 + ], + [ + -176.848053, + -43.812225 + ], + [ + -176.53421, + -43.870277 + ], + [ + -176.60556, + -44.119171 + ], + [ + -176.45224, + -43.736122 + ] + ] + ], + [ + [ + [ + 174.399414, + -41.115837 + ], + [ + 174.322754, + -41.1325 + ], + [ + 174.371887, + -41.148613 + ], + [ + 174.344421, + -41.18306 + ], + [ + 174.193298, + -41.232498 + ], + [ + 174.37439, + -41.203056 + ], + [ + 174.399414, + -41.115837 + ] + ] + ], + [ + [ + [ + 173.805817, + -40.92778 + ], + [ + 173.963867, + -40.710556 + ], + [ + 173.823303, + -40.762505 + ], + [ + 173.805817, + -40.92778 + ] + ] + ], + [ + [ + [ + 172.861359, + -40.507782 + ], + [ + 172.108856, + -40.885559 + ], + [ + 172.064972, + -41.40361 + ], + [ + 170.794128, + -42.90139 + ], + [ + 168.374969, + -44.037781 + ], + [ + 167.507202, + -45.001396 + ], + [ + 166.996918, + -45.145836 + ], + [ + 167.211914, + -45.475273 + ], + [ + 166.821625, + -45.320557 + ], + [ + 166.704407, + -45.574448 + ], + [ + 167.041351, + -45.501396 + ], + [ + 166.775818, + -45.662773 + ], + [ + 166.987183, + -45.709724 + ], + [ + 166.484406, + -46.01445 + ], + [ + 169.008026, + -46.680832 + ], + [ + 170.783051, + -45.878334 + ], + [ + 170.554413, + -45.888054 + ], + [ + 171.293579, + -44.343613 + ], + [ + 172.424988, + -43.733612 + ], + [ + 173.091644, + -43.856392 + ], + [ + 172.760803, + -43.239166 + ], + [ + 174.289154, + -41.748337 + ], + [ + 174.044434, + -41.442497 + ], + [ + 174.326904, + -41.222771 + ], + [ + 174.20636, + -41.269447 + ], + [ + 174.026642, + -41.236115 + ], + [ + 174.323853, + -41.003334 + ], + [ + 173.10553, + -41.313332 + ], + [ + 173.013306, + -40.796669 + ], + [ + 172.656921, + -40.653328 + ], + [ + 172.861359, + -40.507782 + ] + ] + ], + [ + [ + [ + 177.001373, + -37.870552 + ], + [ + 176.97995, + -37.848053 + ], + [ + 176.964691, + -37.863617 + ], + [ + 177.001373, + -37.870552 + ] + ] + ], + [ + [ + [ + 176.438568, + -37.650276 + ], + [ + 176.459412, + -37.622772 + ], + [ + 176.44693, + -37.604721 + ], + [ + 176.438568, + -37.650276 + ] + ] + ], + [ + [ + [ + 175.166077, + -36.833885 + ], + [ + 175.193848, + -36.727493 + ], + [ + 175.002472, + -36.792778 + ], + [ + 175.166077, + -36.833885 + ] + ] + ], + [ + [ + [ + 175.827179, + -36.630829 + ], + [ + 175.80246, + -36.576111 + ], + [ + 175.770264, + -36.580833 + ], + [ + 175.827179, + -36.630829 + ] + ] + ], + [ + [ + [ + 174.863861, + -36.459724 + ], + [ + 174.907196, + -36.451668 + ], + [ + 174.869965, + -36.388893 + ], + [ + 174.863861, + -36.459724 + ] + ] + ], + [ + [ + [ + 175.149414, + -36.213333 + ], + [ + 175.121887, + -36.170555 + ], + [ + 175.079681, + -36.200836 + ], + [ + 175.149414, + -36.213333 + ] + ] + ], + [ + [ + [ + 175.544708, + -36.347778 + ], + [ + 175.371887, + -36.070557 + ], + [ + 175.358856, + -36.229439 + ], + [ + 175.544708, + -36.347778 + ] + ] + ], + [ + [ + [ + 173.038879, + -34.436943 + ], + [ + 172.722473, + -34.495277 + ], + [ + 173.087463, + -35.211388 + ], + [ + 173.380524, + -35.528053 + ], + [ + 173.655548, + -35.313332 + ], + [ + 173.398865, + -35.573891 + ], + [ + 174.080811, + -36.409439 + ], + [ + 173.913879, + -35.86972 + ], + [ + 174.505249, + -36.231384 + ], + [ + 174.268585, + -36.342224 + ], + [ + 174.453033, + -36.651108 + ], + [ + 174.187744, + -36.496948 + ], + [ + 174.502472, + -37.037506 + ], + [ + 174.887482, + -37.059166 + ], + [ + 174.549713, + -37.073616 + ], + [ + 174.974976, + -37.75 + ], + [ + 174.594421, + -38.815834 + ], + [ + 173.751923, + -39.288612 + ], + [ + 175.155548, + -40.095833 + ], + [ + 175.127747, + -40.713615 + ], + [ + 174.591919, + -41.27861 + ], + [ + 175.323029, + -41.614449 + ], + [ + 176.834137, + -40.181671 + ], + [ + 177.054962, + -39.204445 + ], + [ + 177.909973, + -39.25695 + ], + [ + 178.565521, + -37.713333 + ], + [ + 178.018005, + -37.550831 + ], + [ + 177.159424, + -38.013336 + ], + [ + 175.994415, + -37.638893 + ], + [ + 175.84079, + -36.754173 + ], + [ + 175.353577, + -36.481941 + ], + [ + 175.579132, + -37.244446 + ], + [ + 174.854401, + -36.847778 + ], + [ + 174.319977, + -35.232773 + ], + [ + 173.450806, + -34.807777 + ], + [ + 173.269135, + -35.019722 + ], + [ + 173.038879, + -34.436943 + ] + ] + ], + [ + [ + [ + 172.157196, + -34.173889 + ], + [ + 172.18692, + -34.152496 + ], + [ + 172.133331, + -34.153328 + ], + [ + 172.157196, + -34.173889 + ] + ] + ], + [ + [ + [ + -178.605286, + -30.581116 + ], + [ + -178.612518, + -30.574448 + ], + [ + -178.613068, + -30.587223 + ], + [ + -178.605286, + -30.581116 + ] + ] + ], + [ + [ + [ + -177.84613, + -29.278614 + ], + [ + -177.952484, + -29.226112 + ], + [ + -177.923615, + -29.284725 + ], + [ + -177.84613, + -29.278614 + ] + ] + ] + ] + }, + "name" : "New Zealand", + "iso2" : "NZ", + "iso3" : "NZL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "471E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -54.598915, + -25.573223 + ], + [ + -54.330559, + -24.679449 + ], + [ + -54.407227, + -23.916668 + ], + [ + -55.411667, + -23.95639 + ], + [ + -55.849724, + -22.288891 + ], + [ + -57.985107, + -22.091827 + ], + [ + -57.814445, + -20.971947 + ], + [ + -58.15889, + -20.168056 + ], + [ + -58.15139, + -19.828056 + ], + [ + -59.09584, + -19.348892 + ], + [ + -61.7425, + -19.645 + ], + [ + -62.643768, + -22.238903 + ], + [ + -61.007782, + -23.813335 + ], + [ + -57.756111, + -25.176945 + ], + [ + -57.576668, + -25.549446 + ], + [ + -58.604622, + -27.316921 + ], + [ + -55.736115, + -27.439445 + ], + [ + -54.698334, + -26.438335 + ], + [ + -54.598915, + -25.573223 + ] + ] + ] + }, + "name" : "Paraguay", + "iso2" : "PY", + "iso3" : "PRY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "5L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -69.568436, + -10.951092 + ], + [ + -70.631393, + -11.009167 + ], + [ + -70.514664, + -9.428001 + ], + [ + -71.298889, + -9.996389 + ], + [ + -72.14389, + -10.004723 + ], + [ + -72.366394, + -9.494446 + ], + [ + -73.205292, + -9.407223 + ], + [ + -72.964172, + -8.983334 + ], + [ + -74.010559, + -7.541389 + ], + [ + -73.744171, + -6.876945 + ], + [ + -73.123901, + -6.447223 + ], + [ + -72.851959, + -5.124722 + ], + [ + -70.765839, + -4.146389 + ], + [ + -69.956924, + -4.236874 + ], + [ + -70.724167, + -3.779723 + ], + [ + -70.067505, + -2.755556 + ], + [ + -70.288345, + -2.505 + ], + [ + -71.698059, + -2.146945 + ], + [ + -72.881958, + -2.506389 + ], + [ + -73.556396, + -1.370833 + ], + [ + -74.227234, + -1.027778 + ], + [ + -74.776947, + -0.204167 + ], + [ + -75.285843, + -0.119722 + ], + [ + -75.62796, + -0.108859 + ], + [ + -75.21608, + -0.965336 + ], + [ + -75.559174, + -1.534167 + ], + [ + -76.660629, + -2.572135 + ], + [ + -78.337509, + -3.422778 + ], + [ + -78.70903, + -4.584787 + ], + [ + -79.054825, + -5.009132 + ], + [ + -79.649734, + -4.432778 + ], + [ + -80.467789, + -4.43889 + ], + [ + -80.467224, + -3.986945 + ], + [ + -80.153336, + -3.884228 + ], + [ + -80.340424, + -3.380517 + ], + [ + -81.289734, + -4.31 + ], + [ + -80.871399, + -5.652223 + ], + [ + -81.174728, + -6.086667 + ], + [ + -79.982788, + -6.764445 + ], + [ + -78.989731, + -8.226946 + ], + [ + -77.652512, + -11.292223 + ], + [ + -76.196945, + -13.418335 + ], + [ + -76.39389, + -13.898056 + ], + [ + -75.933334, + -14.658056 + ], + [ + -75.047501, + -15.469168 + ], + [ + -71.497513, + -17.296947 + ], + [ + -70.405487, + -18.348545 + ], + [ + -69.951126, + -18.242779 + ], + [ + -69.499725, + -17.50528 + ], + [ + -69.618896, + -17.214725 + ], + [ + -68.82251, + -16.339725 + ], + [ + -69.421951, + -15.618057 + ], + [ + -69.136948, + -15.245834 + ], + [ + -69.366394, + -14.802502 + ], + [ + -68.853058, + -14.199167 + ], + [ + -68.974457, + -12.869722 + ], + [ + -68.673904, + -12.50115 + ], + [ + -69.568436, + -10.951092 + ] + ] + ] + }, + "name" : "Peru", + "iso2" : "PE", + "iso3" : "PER" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "5b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 67.449417, + 24.002777 + ], + [ + 67.458878, + 24.007221 + ], + [ + 67.481659, + 24.042774 + ], + [ + 67.458878, + 24.056942 + ], + [ + 67.379425, + 24.051662 + ], + [ + 67.411926, + 24.005833 + ], + [ + 67.449417, + 24.002777 + ] + ] + ], + [ + [ + [ + 61.611031, + 25.197647 + ], + [ + 64.113876, + 25.453327 + ], + [ + 64.651932, + 25.162773 + ], + [ + 66.506378, + 25.402496 + ], + [ + 66.141602, + 25.503941 + ], + [ + 66.359421, + 25.613609 + ], + [ + 66.732758, + 25.197495 + ], + [ + 66.645538, + 24.829163 + ], + [ + 67.254166, + 24.746105 + ], + [ + 67.151657, + 24.610554 + ], + [ + 67.27388, + 24.425827 + ], + [ + 67.338043, + 24.089718 + ], + [ + 67.461197, + 24.065355 + ], + [ + 67.486649, + 24.045277 + ], + [ + 67.500671, + 23.974043 + ], + [ + 67.53804, + 23.938129 + ], + [ + 67.493591, + 23.890831 + ], + [ + 68.1978, + 23.766685 + ], + [ + 68.747208, + 23.969994 + ], + [ + 68.783051, + 24.332775 + ], + [ + 70.014709, + 24.169716 + ], + [ + 71.10582, + 24.416386 + ], + [ + 70.666382, + 25.69833 + ], + [ + 70.088043, + 25.982773 + ], + [ + 70.183594, + 26.53611 + ], + [ + 69.506104, + 26.754444 + ], + [ + 69.580276, + 27.173328 + ], + [ + 70.368317, + 28.020832 + ], + [ + 70.829437, + 27.706383 + ], + [ + 71.896942, + 27.961941 + ], + [ + 73.397491, + 29.942772 + ], + [ + 73.933403, + 30.136002 + ], + [ + 73.872498, + 30.390099 + ], + [ + 74.694588, + 31.053961 + ], + [ + 74.605324, + 31.877119 + ], + [ + 75.381287, + 32.214241 + ], + [ + 74.016388, + 33.188599 + ], + [ + 73.99054, + 33.743881 + ], + [ + 74.295822, + 33.977486 + ], + [ + 73.913315, + 34.068604 + ], + [ + 73.94165, + 34.646385 + ], + [ + 76.86998, + 34.658882 + ], + [ + 77.04248, + 35.099159 + ], + [ + 77.823929, + 35.501328 + ], + [ + 76.166382, + 35.819717 + ], + [ + 75.864426, + 36.659676 + ], + [ + 74.81749, + 37.021767 + ], + [ + 74.56543, + 37.027817 + ], + [ + 72.556641, + 36.821266 + ], + [ + 71.243576, + 36.129715 + ], + [ + 71.649429, + 35.424995 + ], + [ + 70.987488, + 34.551102 + ], + [ + 71.08194, + 34.055824 + ], + [ + 69.906372, + 34.035271 + ], + [ + 70.326935, + 33.33194 + ], + [ + 69.505264, + 33.034164 + ], + [ + 69.328247, + 31.940365 + ], + [ + 68.833054, + 31.603886 + ], + [ + 68.166092, + 31.833054 + ], + [ + 67.575546, + 31.53194 + ], + [ + 67.778046, + 31.332218 + ], + [ + 66.723038, + 31.212215 + ], + [ + 66.395538, + 30.94083 + ], + [ + 66.256653, + 29.85194 + ], + [ + 62.484436, + 29.406105 + ], + [ + 60.868599, + 29.863884 + ], + [ + 61.905548, + 28.554996 + ], + [ + 62.78138, + 28.266941 + ], + [ + 62.782494, + 27.260555 + ], + [ + 63.341934, + 27.122498 + ], + [ + 63.176384, + 26.631107 + ], + [ + 61.858047, + 26.234718 + ], + [ + 61.611031, + 25.197647 + ] + ] + ] + ] + }, + "name" : "Pakistan", + "iso2" : "PK", + "iso3" : "PAK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "5r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 18.851246, + 49.517357 + ], + [ + 19.475555, + 49.599998 + ], + [ + 20.074444, + 49.175278 + ], + [ + 21.618889, + 49.436386 + ], + [ + 22.558052, + 49.079437 + ], + [ + 22.886074, + 49.002914 + ], + [ + 22.680828, + 49.572495 + ], + [ + 24.111385, + 50.56694 + ], + [ + 23.604633, + 51.527695 + ], + [ + 23.638607, + 52.079437 + ], + [ + 23.1654, + 52.282276 + ], + [ + 23.94083, + 52.732208 + ], + [ + 23.50404, + 53.947044 + ], + [ + 22.785885, + 54.363838 + ], + [ + 19.797007, + 54.43755 + ], + [ + 19.226662, + 54.32888 + ], + [ + 19.651108, + 54.455826 + ], + [ + 19.627258, + 54.463272 + ], + [ + 18.836388, + 54.353333 + ], + [ + 18.582775, + 54.435272 + ], + [ + 18.405277, + 54.74305 + ], + [ + 18.739998, + 54.685272 + ], + [ + 18.334999, + 54.836662 + ], + [ + 17.918888, + 54.82666 + ], + [ + 14.225555, + 53.928604 + ], + [ + 14.218887, + 53.869019 + ], + [ + 14.614166, + 53.816383 + ], + [ + 14.275627, + 53.699066 + ], + [ + 14.149166, + 52.862778 + ], + [ + 14.640276, + 52.572495 + ], + [ + 14.599443, + 51.818604 + ], + [ + 15.036388, + 51.285553 + ], + [ + 14.828333, + 50.865829 + ], + [ + 16.341942, + 50.66111 + ], + [ + 16.20583, + 50.423882 + ], + [ + 16.641941, + 50.10833 + ], + [ + 17.00222, + 50.216942 + ], + [ + 16.890274, + 50.439438 + ], + [ + 17.722775, + 50.319717 + ], + [ + 17.657776, + 50.108055 + ], + [ + 18.577221, + 49.914444 + ], + [ + 18.851246, + 49.517357 + ] + ] + ] + }, + "name" : "Poland", + "iso2" : "PL", + "iso3" : "POL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "571E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -81.778624, + 7.276388 + ], + [ + -81.818619, + 7.290003 + ], + [ + -81.797501, + 7.225836 + ], + [ + -81.778624, + 7.276388 + ] + ] + ], + [ + [ + [ + -81.205841, + 7.486666 + ], + [ + -81.033615, + 7.570833 + ], + [ + -81.249725, + 7.488333 + ], + [ + -81.205841, + 7.486666 + ] + ] + ], + [ + [ + [ + -81.649445, + 7.384169 + ], + [ + -81.758621, + 7.634169 + ], + [ + -81.874176, + 7.491114 + ], + [ + -81.649445, + 7.384169 + ] + ] + ], + [ + [ + [ + -81.103897, + 7.717779 + ], + [ + -81.124176, + 7.75889 + ], + [ + -81.14917, + 7.741667 + ], + [ + -81.103897, + 7.717779 + ] + ] + ], + [ + [ + [ + -81.165283, + 7.822779 + ], + [ + -81.161392, + 7.841665 + ], + [ + -81.173615, + 7.818056 + ], + [ + -81.165283, + 7.822779 + ] + ] + ], + [ + [ + [ + -82.340561, + 8.0875 + ], + [ + -82.319733, + 8.136667 + ], + [ + -82.366394, + 8.088888 + ], + [ + -82.340561, + 8.0875 + ] + ] + ], + [ + [ + [ + -82.213348, + 8.1975 + ], + [ + -82.313339, + 8.218889 + ], + [ + -82.295288, + 8.193609 + ], + [ + -82.213348, + 8.1975 + ] + ] + ], + [ + [ + [ + -82.332504, + 8.23361 + ], + [ + -82.314178, + 8.271666 + ], + [ + -82.336121, + 8.292501 + ], + [ + -82.403624, + 8.253054 + ], + [ + -82.332504, + 8.23361 + ] + ] + ], + [ + [ + [ + -79.106949, + 8.201113 + ], + [ + -79.055847, + 8.25139 + ], + [ + -79.097504, + 8.309168 + ], + [ + -79.106949, + 8.201113 + ] + ] + ], + [ + [ + [ + -79.076401, + 8.369722 + ], + [ + -79.075836, + 8.408609 + ], + [ + -79.114456, + 8.415277 + ], + [ + -79.076401, + 8.369722 + ] + ] + ], + [ + [ + [ + -78.851395, + 8.28861 + ], + [ + -78.960281, + 8.447222 + ], + [ + -78.959166, + 8.292223 + ], + [ + -78.851395, + 8.28861 + ] + ] + ], + [ + [ + [ + -82.015015, + 9.12639 + ], + [ + -82.045837, + 9.17639 + ], + [ + -82.049179, + 9.144167 + ], + [ + -82.015015, + 9.12639 + ] + ] + ], + [ + [ + [ + -82.079178, + 9.284445 + ], + [ + -82.20639, + 9.348333 + ], + [ + -82.124451, + 9.271944 + ], + [ + -82.079178, + 9.284445 + ] + ] + ], + [ + [ + [ + -82.224457, + 9.335001 + ], + [ + -82.224731, + 9.352499 + ], + [ + -82.229446, + 9.3375 + ], + [ + -82.224457, + 9.335001 + ] + ] + ], + [ + [ + [ + -82.239182, + 9.330278 + ], + [ + -82.258347, + 9.429167 + ], + [ + -82.314453, + 9.424723 + ], + [ + -82.239182, + 9.330278 + ] + ] + ], + [ + [ + [ + -77.366669, + 8.675001 + ], + [ + -78.035568, + 9.230001 + ], + [ + -79.463058, + 9.568056 + ], + [ + -81.196121, + 8.780279 + ], + [ + -81.883896, + 9.174444 + ], + [ + -81.816391, + 8.945276 + ], + [ + -82.236954, + 8.997778 + ], + [ + -82.563568, + 9.562876 + ], + [ + -82.934723, + 9.471666 + ], + [ + -82.710846, + 8.931112 + ], + [ + -82.898848, + 8.025671 + ], + [ + -82.72168, + 8.317221 + ], + [ + -82.287231, + 8.313334 + ], + [ + -82.191956, + 8.194445 + ], + [ + -81.738617, + 8.1625 + ], + [ + -81.496948, + 7.69861 + ], + [ + -81.217789, + 7.607222 + ], + [ + -81.178864, + 7.854994 + ], + [ + -81.05806, + 7.873335 + ], + [ + -80.925293, + 7.250002 + ], + [ + -80.433334, + 7.244444 + ], + [ + -79.989731, + 7.516111 + ], + [ + -80.473618, + 8.212778 + ], + [ + -78.978622, + 9.142778 + ], + [ + -78.414169, + 8.344168 + ], + [ + -78.107513, + 8.455832 + ], + [ + -77.779175, + 8.155001 + ], + [ + -78.139175, + 8.403891 + ], + [ + -78.257233, + 8.101946 + ], + [ + -78.43306, + 8.051943 + ], + [ + -77.889725, + 7.228891 + ], + [ + -77.746674, + 7.722223 + ], + [ + -77.573898, + 7.525278 + ], + [ + -77.215561, + 7.937223 + ], + [ + -77.366669, + 8.675001 + ] + ], + [ + [ + -77.986954, + 8.242224 + ], + [ + -78.003067, + 8.251112 + ], + [ + -77.992233, + 8.250555 + ], + [ + -77.986954, + 8.242224 + ] + ] + ] + ] + }, + "name" : "Panama", + "iso2" : "PA", + "iso3" : "PAN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "6L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -17.102501, + 32.823328 + ], + [ + -16.943611, + 32.637499 + ], + [ + -16.715557, + 32.75889 + ], + [ + -17.102501, + 32.823328 + ] + ] + ], + [ + [ + [ + -16.285835, + 33.094164 + ], + [ + -16.325558, + 33.108057 + ], + [ + -16.400558, + 33.038607 + ], + [ + -16.285835, + 33.094164 + ] + ] + ], + [ + [ + [ + -25.016392, + 36.969721 + ], + [ + -25.086391, + 37.023607 + ], + [ + -25.200558, + 36.985834 + ], + [ + -25.016392, + 36.969721 + ] + ] + ], + [ + [ + [ + -25.585003, + 37.826662 + ], + [ + -25.13028, + 37.811663 + ], + [ + -25.864723, + 37.850557 + ], + [ + -25.585003, + 37.826662 + ] + ] + ], + [ + [ + [ + -28.141113, + 38.449884 + ], + [ + -28.549446, + 38.527224 + ], + [ + -28.037781, + 38.406946 + ], + [ + -28.141113, + 38.449884 + ] + ] + ], + [ + [ + [ + -27.086945, + 38.631388 + ], + [ + -27.065834, + 38.764162 + ], + [ + -27.385002, + 38.76333 + ], + [ + -27.086945, + 38.631388 + ] + ] + ], + [ + [ + [ + -31.215557, + 39.353334 + ], + [ + -31.123058, + 39.448885 + ], + [ + -31.21389, + 39.521944 + ], + [ + -31.215557, + 39.353334 + ] + ] + ], + [ + [ + [ + -7.431854, + 37.253191 + ], + [ + -7.446945, + 37.699442 + ], + [ + -6.939167, + 38.178057 + ], + [ + -7.321112, + 38.449442 + ], + [ + -6.954792, + 39.026384 + ], + [ + -7.532505, + 39.66942 + ], + [ + -7.017221, + 39.674997 + ], + [ + -6.931667, + 41.018053 + ], + [ + -6.187222, + 41.579721 + ], + [ + -6.594166, + 41.953608 + ], + [ + -8.204723, + 41.87472 + ], + [ + -8.201223, + 42.152742 + ], + [ + -8.745008, + 41.952501 + ], + [ + -8.660833, + 40.68722 + ], + [ + -9.484446, + 38.710001 + ], + [ + -8.984446, + 38.947779 + ], + [ + -9.183889, + 38.419718 + ], + [ + -8.673334, + 38.413889 + ], + [ + -8.990278, + 37.02305 + ], + [ + -7.431854, + 37.253191 + ] + ] + ] + ] + }, + "name" : "Portugal", + "iso2" : "PT", + "iso3" : "PRT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "6b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 153.770815, + -11.616388 + ], + [ + 153.19803, + -11.324167 + ], + [ + 153.37607, + -11.567223 + ], + [ + 153.770815, + -11.616388 + ] + ] + ], + [ + [ + [ + 154.297762, + -11.391945 + ], + [ + 154.153872, + -11.314167 + ], + [ + 154.003328, + -11.38389 + ], + [ + 154.297762, + -11.391945 + ] + ] + ], + [ + [ + [ + 153.24106, + -11.26889 + ], + [ + 153.091066, + -11.197222 + ], + [ + 153.210512, + -11.285833 + ], + [ + 153.24106, + -11.26889 + ] + ] + ], + [ + [ + [ + 152.873293, + -10.662222 + ], + [ + 152.540804, + -10.630554 + ], + [ + 152.744417, + -10.716665 + ], + [ + 152.873293, + -10.662222 + ] + ] + ], + [ + [ + [ + 151.069704, + -10.611111 + ], + [ + 150.909975, + -10.654722 + ], + [ + 151.042208, + -10.676945 + ], + [ + 151.069704, + -10.611111 + ] + ] + ], + [ + [ + [ + 150.892214, + -10.650833 + ], + [ + 150.90027, + -10.553055 + ], + [ + 150.790804, + -10.542223 + ], + [ + 150.892214, + -10.650833 + ] + ] + ], + [ + [ + [ + 151.11606, + -10.046667 + ], + [ + 150.759981, + -9.707777 + ], + [ + 150.95859, + -10.110277 + ], + [ + 151.229128, + -10.201111 + ], + [ + 151.281374, + -9.923334 + ], + [ + 151.11606, + -10.046667 + ] + ] + ], + [ + [ + [ + 150.666658, + -9.438334 + ], + [ + 150.421907, + -9.389444 + ], + [ + 150.921633, + -9.670834 + ], + [ + 150.666658, + -9.438334 + ] + ] + ], + [ + [ + [ + 150.339144, + -9.524723 + ], + [ + 150.18915, + -9.211111 + ], + [ + 150.108309, + -9.36861 + ], + [ + 150.339144, + -9.524723 + ] + ] + ], + [ + [ + [ + 152.814974, + -8.972776 + ], + [ + 152.497744, + -9.021666 + ], + [ + 152.997194, + -9.173056 + ], + [ + 152.814974, + -8.972776 + ] + ] + ], + [ + [ + [ + 151.124971, + -8.425556 + ], + [ + 150.99692, + -8.528612 + ], + [ + 151.144442, + -8.830555 + ], + [ + 151.124971, + -8.425556 + ] + ] + ], + [ + [ + [ + 143.638033, + -8.733055 + ], + [ + 143.467196, + -8.527779 + ], + [ + 143.183596, + -8.42 + ], + [ + 143.638033, + -8.733055 + ] + ] + ], + [ + [ + [ + 143.572756, + -8.493889 + ], + [ + 143.57831, + -8.373888 + ], + [ + 143.314425, + -8.376665 + ], + [ + 143.572756, + -8.493889 + ] + ] + ], + [ + [ + [ + 143.687197, + -8.439722 + ], + [ + 143.672213, + -8.354445 + ], + [ + 143.60718, + -8.332777 + ], + [ + 143.687197, + -8.439722 + ] + ] + ], + [ + [ + [ + 143.697481, + -8.245277 + ], + [ + 143.733309, + -8.174723 + ], + [ + 143.651644, + -8.199722 + ], + [ + 143.697481, + -8.245277 + ] + ] + ], + [ + [ + [ + 143.677767, + -8.174723 + ], + [ + 143.700258, + -8.10611 + ], + [ + 143.604952, + -8.108889 + ], + [ + 143.677767, + -8.174723 + ] + ] + ], + [ + [ + [ + 143.731081, + -8.071667 + ], + [ + 143.565248, + -8.02 + ], + [ + 143.588564, + -8.071667 + ], + [ + 143.731081, + -8.071667 + ] + ] + ], + [ + [ + [ + 145.193575, + -7.867222 + ], + [ + 145.182467, + -7.827778 + ], + [ + 145.180544, + -7.861111 + ], + [ + 145.193575, + -7.867222 + ] + ] + ], + [ + [ + [ + 143.999697, + -7.824444 + ], + [ + 143.966921, + -7.748333 + ], + [ + 143.877169, + -7.709723 + ], + [ + 143.999697, + -7.824444 + ] + ] + ], + [ + [ + [ + 154.882448, + -5.543333 + ], + [ + 154.744387, + -5.939779 + ], + [ + 155.239962, + -6.622499 + ], + [ + 155.918581, + -6.807777 + ], + [ + 154.882448, + -5.543333 + ] + ] + ], + [ + [ + [ + 148.061495, + -5.777117 + ], + [ + 147.780275, + -5.494165 + ], + [ + 147.865114, + -5.747753 + ], + [ + 148.061495, + -5.777117 + ] + ] + ], + [ + [ + [ + 148.12079, + -5.468332 + ], + [ + 148.099703, + -5.377499 + ], + [ + 148.071627, + -5.424444 + ], + [ + 148.12079, + -5.468332 + ] + ] + ], + [ + [ + [ + 147.602175, + -5.361944 + ], + [ + 147.609133, + -5.288055 + ], + [ + 147.560518, + -5.31889 + ], + [ + 147.602175, + -5.361944 + ] + ] + ], + [ + [ + [ + 147.153322, + -5.44972 + ], + [ + 147.121065, + -5.191111 + ], + [ + 147.008028, + -5.350277 + ], + [ + 147.153322, + -5.44972 + ] + ] + ], + [ + [ + [ + 154.675539, + -5.440832 + ], + [ + 154.639162, + -5.016388 + ], + [ + 154.530275, + -5.133888 + ], + [ + 154.675539, + -5.440832 + ] + ] + ], + [ + [ + [ + 149.156923, + -4.923056 + ], + [ + 149.161928, + -4.866388 + ], + [ + 149.118013, + -4.889444 + ], + [ + 149.156923, + -4.923056 + ] + ] + ], + [ + [ + [ + 146.246614, + -4.8575 + ], + [ + 146.219973, + -4.788332 + ], + [ + 146.199404, + -4.833611 + ], + [ + 146.246614, + -4.8575 + ] + ] + ], + [ + [ + [ + 149.557192, + -4.718889 + ], + [ + 149.540255, + -4.653889 + ], + [ + 149.455812, + -4.679167 + ], + [ + 149.557192, + -4.718889 + ] + ] + ], + [ + [ + [ + 159.516939, + -4.578056 + ], + [ + 159.518862, + -4.536388 + ], + [ + 159.511385, + -4.576666 + ], + [ + 159.516939, + -4.578056 + ] + ] + ], + [ + [ + [ + 145.951357, + -4.764444 + ], + [ + 145.98163, + -4.5275 + ], + [ + 145.872469, + -4.672499 + ], + [ + 145.951357, + -4.764444 + ] + ] + ], + [ + [ + [ + 154.155245, + -4.438055 + ], + [ + 154.152773, + -4.379444 + ], + [ + 154.132723, + -4.371666 + ], + [ + 154.155245, + -4.438055 + ] + ] + ], + [ + [ + [ + 152.235231, + -4.207222 + ], + [ + 151.51166, + -4.204445 + ], + [ + 151.676088, + -4.908054 + ], + [ + 150.92441, + -5.487221 + ], + [ + 150.164431, + -5.551388 + ], + [ + 150.088869, + -5.007778 + ], + [ + 149.8808, + -5.535 + ], + [ + 148.428591, + -5.451111 + ], + [ + 148.323092, + -5.675377 + ], + [ + 149.056917, + -6.164165 + ], + [ + 150.468569, + -6.276112 + ], + [ + 151.459414, + -5.535833 + ], + [ + 152.096071, + -5.457222 + ], + [ + 151.970797, + -4.993332 + ], + [ + 152.405825, + -4.688889 + ], + [ + 152.235231, + -4.207222 + ] + ], + [ + [ + 149.053591, + -6.094166 + ], + [ + 149.043856, + -6.088612 + ], + [ + 149.05414, + -6.083889 + ], + [ + 149.053591, + -6.094166 + ] + ] + ], + [ + [ + [ + 145.057741, + -4.135277 + ], + [ + 145.109957, + -4.098333 + ], + [ + 145.06885, + -4.045 + ], + [ + 145.057741, + -4.135277 + ] + ] + ], + [ + [ + [ + 153.64554, + -4.140278 + ], + [ + 153.658602, + -4.019167 + ], + [ + 153.584414, + -4.095833 + ], + [ + 153.64554, + -4.140278 + ] + ] + ], + [ + [ + [ + 153.258333, + -3.498888 + ], + [ + 153.233583, + -3.446667 + ], + [ + 153.19385, + -3.468611 + ], + [ + 153.258333, + -3.498888 + ] + ] + ], + [ + [ + [ + 154.83304, + -3.510277 + ], + [ + 154.79941, + -3.424999 + ], + [ + 154.818575, + -3.530277 + ], + [ + 154.83304, + -3.510277 + ] + ] + ], + [ + [ + [ + 153.345247, + -3.411943 + ], + [ + 153.33359, + -3.371389 + ], + [ + 153.262484, + -3.404444 + ], + [ + 153.345247, + -3.411943 + ] + ] + ], + [ + [ + [ + 152.646364, + -3.228611 + ], + [ + 152.599703, + -3.048056 + ], + [ + 152.538881, + -3.10611 + ], + [ + 152.646364, + -3.228611 + ] + ] + ], + [ + [ + [ + 150.941347, + -2.921944 + ], + [ + 150.766085, + -2.979443 + ], + [ + 151.021639, + -2.971943 + ], + [ + 150.941347, + -2.921944 + ] + ] + ], + [ + [ + [ + 152.069979, + -3.001389 + ], + [ + 152.078859, + -2.928333 + ], + [ + 151.973574, + -2.848055 + ], + [ + 152.069979, + -3.001389 + ] + ] + ], + [ + [ + [ + 152.002199, + -2.828888 + ], + [ + 151.932467, + -2.708332 + ], + [ + 151.931643, + -2.8325 + ], + [ + 152.002199, + -2.828888 + ] + ] + ], + [ + [ + [ + 150.906527, + -2.635944 + ], + [ + 150.729677, + -2.740555 + ], + [ + 152.282473, + -3.572777 + ], + [ + 152.691652, + -4.180555 + ], + [ + 152.735506, + -4.660833 + ], + [ + 152.974672, + -4.766666 + ], + [ + 152.989687, + -4.075832 + ], + [ + 152.055819, + -3.247778 + ], + [ + 150.906527, + -2.635944 + ] + ] + ], + [ + [ + [ + 141.007021, + -9.128468 + ], + [ + 142.638887, + -9.334723 + ], + [ + 143.331636, + -9.028334 + ], + [ + 143.110231, + -8.470278 + ], + [ + 142.137209, + -8.225555 + ], + [ + 143.61191, + -8.243889 + ], + [ + 143.358309, + -7.9025 + ], + [ + 143.95801, + -7.978622 + ], + [ + 143.664827, + -7.467649 + ], + [ + 144.213015, + -7.795277 + ], + [ + 144.52054, + -7.501944 + ], + [ + 146.089693, + -8.09111 + ], + [ + 146.586641, + -8.999165 + ], + [ + 146.972475, + -9.029167 + ], + [ + 147.055239, + -9.466665 + ], + [ + 147.952456, + -10.145834 + ], + [ + 149.747744, + -10.342777 + ], + [ + 150.209688, + -10.700556 + ], + [ + 150.691347, + -10.561111 + ], + [ + 150.369112, + -10.321945 + ], + [ + 150.878298, + -10.231667 + ], + [ + 149.914156, + -10.048889 + ], + [ + 149.71747, + -9.826666 + ], + [ + 150.008883, + -9.631388 + ], + [ + 149.219973, + -9.474722 + ], + [ + 149.314699, + -9.01889 + ], + [ + 148.604128, + -9.0825 + ], + [ + 148.135256, + -8.066111 + ], + [ + 147.178591, + -7.463888 + ], + [ + 146.961367, + -6.747221 + ], + [ + 147.869417, + -6.660833 + ], + [ + 147.47687, + -5.974192 + ], + [ + 145.76639, + -5.485277 + ], + [ + 145.735506, + -4.802776 + ], + [ + 144.51166, + -3.820833 + ], + [ + 141.889986, + -2.969999 + ], + [ + 141.002474, + -2.607084 + ], + [ + 141.007021, + -9.128468 + ] + ] + ], + [ + [ + [ + 152.022219, + -2.6675 + ], + [ + 151.983858, + -2.596111 + ], + [ + 151.957735, + -2.664722 + ], + [ + 152.022219, + -2.6675 + ] + ] + ], + [ + [ + [ + 150.458315, + -2.65361 + ], + [ + 150.216372, + -2.377777 + ], + [ + 149.94858, + -2.471666 + ], + [ + 150.458315, + -2.65361 + ] + ] + ], + [ + [ + [ + 147.812471, + -2.349722 + ], + [ + 147.879122, + -2.293612 + ], + [ + 147.815248, + -2.24361 + ], + [ + 147.812471, + -2.349722 + ] + ] + ], + [ + [ + [ + 147.300814, + -2.025278 + ], + [ + 146.638582, + -1.978611 + ], + [ + 146.524996, + -2.190832 + ], + [ + 147.300814, + -2.025278 + ] + ] + ], + [ + [ + [ + 142.866365, + -1.697777 + ], + [ + 142.821077, + -1.695833 + ], + [ + 142.813601, + -1.732777 + ], + [ + 142.866365, + -1.697777 + ] + ] + ], + [ + [ + [ + 149.719698, + -1.433332 + ], + [ + 149.527773, + -1.454443 + ], + [ + 149.731905, + -1.603333 + ], + [ + 149.719698, + -1.433332 + ] + ] + ], + [ + [ + [ + 144.521914, + -1.395554 + ], + [ + 144.51639, + -1.381943 + ], + [ + 144.505556, + -1.380556 + ], + [ + 144.521914, + -1.395554 + ] + ] + ], + [ + [ + [ + 144.52054, + -1.120832 + ], + [ + 144.517214, + -1.098333 + ], + [ + 144.514437, + -1.11611 + ], + [ + 144.52054, + -1.120832 + ] + ] + ] + ] + }, + "name" : "Papua New Guinea", + "iso2" : "PG", + "iso3" : "PNG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "6r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -15.885834, + 11.052221 + ], + [ + -15.94639, + 11.195 + ], + [ + -15.981112, + 11.049444 + ], + [ + -15.885834, + 11.052221 + ] + ] + ], + [ + [ + [ + -16.005836, + 11.068333 + ], + [ + -15.980556, + 11.202499 + ], + [ + -16.06139, + 11.163055 + ], + [ + -16.005836, + 11.068333 + ] + ] + ], + [ + [ + [ + -16.088058, + 11.025555 + ], + [ + -16.0825, + 11.206944 + ], + [ + -16.244167, + 11.100555 + ], + [ + -16.088058, + 11.025555 + ] + ] + ], + [ + [ + [ + -15.862223, + 11.199999 + ], + [ + -15.830278, + 11.300833 + ], + [ + -15.906389, + 11.224998 + ], + [ + -15.862223, + 11.199999 + ] + ] + ], + [ + [ + [ + -15.740002, + 11.166943 + ], + [ + -15.667501, + 11.306389 + ], + [ + -15.77639, + 11.225832 + ], + [ + -15.740002, + 11.166943 + ] + ] + ], + [ + [ + [ + -16.17778, + 11.215277 + ], + [ + -16.160835, + 11.290277 + ], + [ + -16.264446, + 11.281666 + ], + [ + -16.17778, + 11.215277 + ] + ] + ], + [ + [ + [ + -15.679724, + 11.439444 + ], + [ + -15.665834, + 11.502222 + ], + [ + -15.743057, + 11.458332 + ], + [ + -15.679724, + 11.439444 + ] + ] + ], + [ + [ + [ + -16.21278, + 11.439722 + ], + [ + -16.164448, + 11.514999 + ], + [ + -16.300556, + 11.449444 + ], + [ + -16.21278, + 11.439722 + ] + ] + ], + [ + [ + [ + -16.250557, + 11.536665 + ], + [ + -16.39389, + 11.545832 + ], + [ + -16.419445, + 11.482777 + ], + [ + -16.250557, + 11.536665 + ] + ] + ], + [ + [ + [ + -15.952501, + 11.423054 + ], + [ + -15.958334, + 11.594166 + ], + [ + -16.065002, + 11.44972 + ], + [ + -15.952501, + 11.423054 + ] + ] + ], + [ + [ + [ + -15.553057, + 11.517221 + ], + [ + -15.472223, + 11.631109 + ], + [ + -15.633612, + 11.535276 + ], + [ + -15.553057, + 11.517221 + ] + ] + ], + [ + [ + [ + -16.031948, + 11.755833 + ], + [ + -15.978334, + 11.905832 + ], + [ + -16.162224, + 11.86861 + ], + [ + -16.031948, + 11.755833 + ] + ] + ], + [ + [ + [ + -16.236389, + 11.836943 + ], + [ + -16.184723, + 11.876665 + ], + [ + -16.30167, + 11.971666 + ], + [ + -16.236389, + 11.836943 + ] + ] + ], + [ + [ + [ + -13.713139, + 12.677221 + ], + [ + -14.516945, + 12.679722 + ], + [ + -16.71777, + 12.322426 + ], + [ + -16.110558, + 12.330832 + ], + [ + -16.334446, + 12.15111 + ], + [ + -16.333893, + 11.996664 + ], + [ + -16.128056, + 11.881943 + ], + [ + -15.852779, + 12.016666 + ], + [ + -15.704445, + 12.004444 + ], + [ + -15.963335, + 11.734165 + ], + [ + -15.003889, + 11.974165 + ], + [ + -14.931946, + 11.750832 + ], + [ + -15.556667, + 11.723331 + ], + [ + -15.027224, + 11.594166 + ], + [ + -15.509167, + 11.338055 + ], + [ + -15.26528, + 11.425913 + ], + [ + -15.407223, + 11.184999 + ], + [ + -15.022779, + 11.195276 + ], + [ + -15.016848, + 10.956451 + ], + [ + -14.686945, + 11.509722 + ], + [ + -13.709167, + 11.715277 + ], + [ + -13.971035, + 12.154758 + ], + [ + -13.713139, + 12.677221 + ] + ] + ] + ] + }, + "name" : "Guinea-Bissau", + "iso2" : "GW", + "iso3" : "GNB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "671E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 51.51759, + 25.383415 + ], + [ + 51.568054, + 25.908333 + ], + [ + 51.042496, + 26.049442 + ], + [ + 50.830956, + 24.749966 + ], + [ + 51.215164, + 24.620888 + ], + [ + 51.611664, + 25.010277 + ], + [ + 51.51759, + 25.383415 + ] + ] + ] + }, + "name" : "Qatar", + "iso2" : "QA", + "iso3" : "QAT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "7L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 55.709999, + -20.998058 + ], + [ + 55.219719, + -21.027779 + ], + [ + 55.674164, + -21.37389 + ], + [ + 55.709999, + -20.998058 + ] + ] + ] + }, + "name" : "Reunion", + "iso2" : "RE", + "iso3" : "REU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "7b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 22.894804, + 47.95454 + ], + [ + 22.032497, + 47.530273 + ], + [ + 21.176666, + 46.295555 + ], + [ + 20.726955, + 46.17556 + ], + [ + 20.261024, + 46.114853 + ], + [ + 21.513611, + 45.151108 + ], + [ + 21.400398, + 44.780823 + ], + [ + 22.146385, + 44.479164 + ], + [ + 22.479164, + 44.710274 + ], + [ + 22.764893, + 44.559006 + ], + [ + 22.457333, + 44.474358 + ], + [ + 22.681435, + 44.224701 + ], + [ + 23.044167, + 44.076111 + ], + [ + 22.875275, + 43.842499 + ], + [ + 24.179996, + 43.684715 + ], + [ + 25.430229, + 43.626778 + ], + [ + 27.036427, + 44.147339 + ], + [ + 28.583244, + 43.747765 + ], + [ + 28.868324, + 44.943047 + ], + [ + 29.549438, + 44.820267 + ], + [ + 29.664331, + 45.211803 + ], + [ + 28.21484, + 45.448647 + ], + [ + 28.119717, + 46.854404 + ], + [ + 26.634995, + 48.257164 + ], + [ + 24.919441, + 47.711662 + ], + [ + 22.894804, + 47.95454 + ] + ] + ] + }, + "name" : "Romania", + "iso2" : "RO", + "iso3" : "ROU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "7r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 26.634995, + 48.257164 + ], + [ + 28.119717, + 46.854404 + ], + [ + 28.21484, + 45.448647 + ], + [ + 28.971935, + 46.006653 + ], + [ + 28.994434, + 46.478325 + ], + [ + 30.11694, + 46.386101 + ], + [ + 29.949997, + 46.814156 + ], + [ + 29.184441, + 47.443047 + ], + [ + 29.141937, + 47.986092 + ], + [ + 27.755554, + 48.451385 + ], + [ + 26.634995, + 48.257164 + ] + ] + ] + }, + "name" : "Republic of Moldova", + "iso2" : "MD", + "iso3" : "MDA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "771E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 119.472216, + 4.648054 + ], + [ + 119.510538, + 4.763887 + ], + [ + 119.455835, + 4.908888 + ], + [ + 119.472216, + 4.648054 + ] + ] + ], + [ + [ + [ + 120.019152, + 5.030279 + ], + [ + 120.014711, + 5.030832 + ], + [ + 120.018885, + 5.028612 + ], + [ + 120.019152, + 5.030279 + ] + ] + ], + [ + [ + [ + 119.947199, + 5.076944 + ], + [ + 119.941095, + 5.083612 + ], + [ + 119.934145, + 5.075834 + ], + [ + 119.947199, + 5.076944 + ] + ] + ], + [ + [ + [ + 120.244143, + 5.300833 + ], + [ + 120.231089, + 5.325003 + ], + [ + 120.226648, + 5.306391 + ], + [ + 120.244143, + 5.300833 + ] + ] + ], + [ + [ + [ + 120.253603, + 5.233335 + ], + [ + 120.177759, + 5.343611 + ], + [ + 119.831102, + 5.059164 + ], + [ + 120.253603, + 5.233335 + ] + ] + ], + [ + [ + [ + 125.414705, + 5.361113 + ], + [ + 125.405825, + 5.430277 + ], + [ + 125.329988, + 5.38722 + ], + [ + 125.414705, + 5.361113 + ] + ] + ], + [ + [ + [ + 125.478319, + 5.388334 + ], + [ + 125.479433, + 5.491945 + ], + [ + 125.450274, + 5.421946 + ], + [ + 125.478319, + 5.388334 + ] + ] + ], + [ + [ + [ + 120.869715, + 5.491388 + ], + [ + 120.90999, + 5.536112 + ], + [ + 120.843325, + 5.585001 + ], + [ + 120.869715, + 5.491388 + ] + ] + ], + [ + [ + [ + 121.18387, + 5.7875 + ], + [ + 121.146379, + 5.84889 + ], + [ + 121.139162, + 5.785276 + ], + [ + 121.18387, + 5.7875 + ] + ] + ], + [ + [ + [ + 121.185259, + 6.039999 + ], + [ + 120.875528, + 5.92111 + ], + [ + 121.425814, + 5.952501 + ], + [ + 121.185259, + 6.039999 + ] + ] + ], + [ + [ + [ + 121.863039, + 6.01639 + ], + [ + 121.953325, + 6.051111 + ], + [ + 121.762774, + 6.090834 + ], + [ + 121.863039, + 6.01639 + ] + ] + ], + [ + [ + [ + 120.568331, + 6.244722 + ], + [ + 120.599718, + 6.396112 + ], + [ + 120.47777, + 6.264166 + ], + [ + 120.568331, + 6.244722 + ] + ] + ], + [ + [ + [ + 122.230272, + 6.660833 + ], + [ + 121.79471, + 6.593611 + ], + [ + 122.033869, + 6.411112 + ], + [ + 122.230272, + 6.660833 + ] + ] + ], + [ + [ + [ + 118.533602, + 7.035002 + ], + [ + 118.417215, + 7.022223 + ], + [ + 118.54027, + 6.965277 + ], + [ + 118.533602, + 7.035002 + ] + ] + ], + [ + [ + [ + 125.794985, + 6.932775 + ], + [ + 125.699144, + 7.191668 + ], + [ + 125.669985, + 7.075003 + ], + [ + 125.794985, + 6.932775 + ] + ] + ], + [ + [ + [ + 117.022219, + 7.808889 + ], + [ + 117.065538, + 8.078611 + ], + [ + 116.949999, + 8.032221 + ], + [ + 117.022219, + 7.808889 + ] + ] + ], + [ + [ + [ + 117.298868, + 8.182222 + ], + [ + 117.318048, + 8.33111 + ], + [ + 117.268053, + 8.306108 + ], + [ + 117.298868, + 8.182222 + ] + ] + ], + [ + [ + [ + 126.23665, + 9.008333 + ], + [ + 126.229433, + 9.013056 + ], + [ + 126.231661, + 8.998053 + ], + [ + 126.23665, + 9.008333 + ] + ] + ], + [ + [ + [ + 126.263613, + 8.997221 + ], + [ + 126.260538, + 9.006666 + ], + [ + 126.246645, + 9.013613 + ], + [ + 126.263613, + 8.997221 + ] + ] + ], + [ + [ + [ + 123.67499, + 9.226389 + ], + [ + 123.457209, + 9.190554 + ], + [ + 123.609423, + 9.092222 + ], + [ + 123.67499, + 9.226389 + ] + ] + ], + [ + [ + [ + 124.778589, + 9.075556 + ], + [ + 124.672762, + 9.253054 + ], + [ + 124.643602, + 9.155279 + ], + [ + 124.778589, + 9.075556 + ] + ] + ], + [ + [ + [ + 123.773615, + 9.544165 + ], + [ + 123.844995, + 9.63611 + ], + [ + 123.744715, + 9.595278 + ], + [ + 123.773615, + 9.544165 + ] + ] + ], + [ + [ + [ + 125.952478, + 9.557501 + ], + [ + 125.938311, + 9.756388 + ], + [ + 125.900545, + 9.616941 + ], + [ + 125.952478, + 9.557501 + ] + ] + ], + [ + [ + [ + 126.048601, + 9.231943 + ], + [ + 125.440264, + 9.809164 + ], + [ + 125.514711, + 9.006666 + ], + [ + 124.803865, + 9.001665 + ], + [ + 124.72748, + 8.486387 + ], + [ + 124.432215, + 8.615274 + ], + [ + 123.671099, + 7.95389 + ], + [ + 123.818048, + 8.476942 + ], + [ + 123.379152, + 8.727221 + ], + [ + 122.923029, + 8.150831 + ], + [ + 122.223314, + 7.962221 + ], + [ + 121.921099, + 6.994165 + ], + [ + 122.149988, + 6.905279 + ], + [ + 122.623873, + 7.773054 + ], + [ + 122.832766, + 7.275278 + ], + [ + 123.116381, + 7.729445 + ], + [ + 123.454714, + 7.367498 + ], + [ + 123.676653, + 7.812498 + ], + [ + 124.268602, + 7.374445 + ], + [ + 123.948595, + 6.823336 + ], + [ + 124.185808, + 6.210554 + ], + [ + 124.956942, + 5.851389 + ], + [ + 125.263613, + 6.091665 + ], + [ + 125.40555, + 5.563334 + ], + [ + 125.703325, + 6.027224 + ], + [ + 125.377199, + 6.719721 + ], + [ + 125.652208, + 7.236666 + ], + [ + 125.855555, + 7.349722 + ], + [ + 126.191652, + 6.272223 + ], + [ + 126.16527, + 6.881666 + ], + [ + 126.585825, + 7.285002 + ], + [ + 126.048601, + 9.231943 + ] + ] + ], + [ + [ + [ + 124.57416, + 9.854719 + ], + [ + 124.57416, + 9.863333 + ], + [ + 124.565538, + 9.861944 + ], + [ + 124.566095, + 9.849443 + ], + [ + 124.57416, + 9.854719 + ] + ] + ], + [ + [ + [ + 123.384432, + 9.878885 + ], + [ + 123.379702, + 9.888056 + ], + [ + 123.37221, + 9.880552 + ], + [ + 123.384432, + 9.878885 + ] + ] + ], + [ + [ + [ + 126.113039, + 9.744444 + ], + [ + 126.060259, + 10.054167 + ], + [ + 125.945536, + 9.830832 + ], + [ + 126.113039, + 9.744444 + ] + ] + ], + [ + [ + [ + 124.483873, + 10.050833 + ], + [ + 124.148882, + 10.146944 + ], + [ + 123.793322, + 9.729445 + ], + [ + 124.365541, + 9.626944 + ], + [ + 124.483873, + 10.050833 + ] + ] + ], + [ + [ + [ + 125.286928, + 9.909166 + ], + [ + 125.217485, + 10.122221 + ], + [ + 125.12665, + 10.155832 + ], + [ + 125.286928, + 9.909166 + ] + ] + ], + [ + [ + [ + 125.659418, + 9.82472 + ], + [ + 125.645266, + 10.468889 + ], + [ + 125.475275, + 10.131109 + ], + [ + 125.659418, + 9.82472 + ] + ] + ], + [ + [ + [ + 119.827211, + 10.439722 + ], + [ + 120.002489, + 10.591387 + ], + [ + 119.758333, + 10.556944 + ], + [ + 119.827211, + 10.439722 + ] + ] + ], + [ + [ + [ + 124.367205, + 10.607775 + ], + [ + 124.320543, + 10.706942 + ], + [ + 124.27582, + 10.587778 + ], + [ + 124.367205, + 10.607775 + ] + ] + ], + [ + [ + [ + 124.437479, + 10.624998 + ], + [ + 124.517488, + 10.659445 + ], + [ + 124.451395, + 10.714998 + ], + [ + 124.437479, + 10.624998 + ] + ] + ], + [ + [ + [ + 122.635271, + 10.443609 + ], + [ + 122.659418, + 10.748331 + ], + [ + 122.479715, + 10.487776 + ], + [ + 122.635271, + 10.443609 + ] + ] + ], + [ + [ + [ + 125.802469, + 10.688887 + ], + [ + 125.692202, + 10.82361 + ], + [ + 125.662493, + 10.750834 + ], + [ + 125.802469, + 10.688887 + ] + ] + ], + [ + [ + [ + 123.563875, + 10.794165 + ], + [ + 122.952478, + 10.894445 + ], + [ + 122.858324, + 10.097498 + ], + [ + 122.452768, + 9.973333 + ], + [ + 123.014711, + 9.033888 + ], + [ + 123.296373, + 9.229719 + ], + [ + 123.136385, + 9.836111 + ], + [ + 123.563875, + 10.794165 + ] + ] + ], + [ + [ + [ + 121.040545, + 10.791945 + ], + [ + 121.081102, + 10.905279 + ], + [ + 121.003885, + 10.836111 + ], + [ + 121.040545, + 10.791945 + ] + ] + ], + [ + [ + [ + 124.019876, + 11.118944 + ], + [ + 123.310259, + 9.411943 + ], + [ + 124.026934, + 10.381941 + ], + [ + 124.019876, + 11.118944 + ] + ] + ], + [ + [ + [ + 123.750818, + 11.147501 + ], + [ + 123.733049, + 11.300554 + ], + [ + 123.692751, + 11.221388 + ], + [ + 123.750818, + 11.147501 + ] + ] + ], + [ + [ + [ + 119.508577, + 11.335608 + ], + [ + 119.456102, + 10.723608 + ], + [ + 119.216928, + 10.959997 + ], + [ + 119.312479, + 10.582499 + ], + [ + 117.185808, + 8.325556 + ], + [ + 119.712488, + 10.497499 + ], + [ + 119.508577, + 11.335608 + ] + ] + ], + [ + [ + [ + 119.533869, + 11.362497 + ], + [ + 119.54027, + 11.373053 + ], + [ + 119.522219, + 11.366667 + ], + [ + 119.533869, + 11.362497 + ] + ] + ], + [ + [ + [ + 119.832491, + 11.376944 + ], + [ + 119.87137, + 11.506666 + ], + [ + 119.714708, + 11.47611 + ], + [ + 119.832491, + 11.376944 + ] + ] + ], + [ + [ + [ + 124.638895, + 11.293333 + ], + [ + 124.289705, + 11.541388 + ], + [ + 125.014711, + 10.027777 + ], + [ + 124.980272, + 10.379164 + ], + [ + 125.271654, + 10.297499 + ], + [ + 125.029985, + 11.195833 + ], + [ + 124.947481, + 11.425001 + ], + [ + 124.638895, + 11.293333 + ] + ] + ], + [ + [ + [ + 124.584719, + 11.472498 + ], + [ + 124.531374, + 11.67972 + ], + [ + 124.338884, + 11.680834 + ], + [ + 124.584719, + 11.472498 + ] + ] + ], + [ + [ + [ + 124.831675, + 11.528887 + ], + [ + 124.84276, + 11.591665 + ], + [ + 124.71805, + 11.727221 + ], + [ + 124.831675, + 11.528887 + ] + ] + ], + [ + [ + [ + 122.229433, + 11.797777 + ], + [ + 121.84804, + 11.76 + ], + [ + 122.098879, + 11.699999 + ], + [ + 121.943316, + 10.416388 + ], + [ + 123.128595, + 11.174444 + ], + [ + 123.153055, + 11.600275 + ], + [ + 122.880816, + 11.429167 + ], + [ + 122.229433, + 11.797777 + ] + ] + ], + [ + [ + [ + 119.965273, + 11.656942 + ], + [ + 120.070543, + 11.865 + ], + [ + 119.884989, + 11.97611 + ], + [ + 119.965273, + 11.656942 + ] + ], + [ + [ + 120.046373, + 11.823332 + ], + [ + 120.043871, + 11.824442 + ], + [ + 120.046099, + 11.826387 + ], + [ + 120.046373, + 11.823332 + ] + ] + ], + [ + [ + [ + 120.268053, + 11.826944 + ], + [ + 120.254442, + 11.982222 + ], + [ + 120.202768, + 11.946112 + ], + [ + 120.268053, + 11.826944 + ] + ] + ], + [ + [ + [ + 120.084719, + 11.958609 + ], + [ + 120.061655, + 11.992498 + ], + [ + 120.065538, + 11.964167 + ], + [ + 120.084719, + 11.958609 + ] + ] + ], + [ + [ + [ + 119.953585, + 12.021666 + ], + [ + 119.959414, + 12.036943 + ], + [ + 119.950258, + 12.030554 + ], + [ + 119.953585, + 12.021666 + ] + ] + ], + [ + [ + [ + 121.137499, + 12.157499 + ], + [ + 121.045824, + 12.290556 + ], + [ + 121.042765, + 12.229445 + ], + [ + 121.137499, + 12.157499 + ] + ] + ], + [ + [ + [ + 120.168299, + 12.11833 + ], + [ + 119.873873, + 12.314444 + ], + [ + 120.339983, + 11.992777 + ], + [ + 120.168299, + 12.11833 + ] + ] + ], + [ + [ + [ + 122.681093, + 12.308054 + ], + [ + 122.669436, + 12.48361 + ], + [ + 122.432482, + 12.461111 + ], + [ + 122.681093, + 12.308054 + ] + ] + ], + [ + [ + [ + 124.463884, + 12.520834 + ], + [ + 124.258043, + 12.555555 + ], + [ + 124.386934, + 12.190275 + ], + [ + 125.042482, + 11.747221 + ], + [ + 124.843599, + 11.466387 + ], + [ + 124.969995, + 11.4475 + ], + [ + 125.269442, + 11.128054 + ], + [ + 125.760271, + 11.011667 + ], + [ + 125.296946, + 12.457499 + ], + [ + 124.463884, + 12.520834 + ] + ], + [ + [ + 125.672495, + 11.089998 + ], + [ + 125.664705, + 11.102777 + ], + [ + 125.681932, + 11.103609 + ], + [ + 125.672495, + 11.089998 + ] + ] + ], + [ + [ + [ + 123.669436, + 12.346945 + ], + [ + 123.241655, + 12.606943 + ], + [ + 123.157763, + 11.908609 + ], + [ + 123.530275, + 12.208609 + ], + [ + 124.076395, + 11.718332 + ], + [ + 123.669436, + 12.346945 + ] + ] + ], + [ + [ + [ + 122.306932, + 12.486387 + ], + [ + 122.283052, + 12.633333 + ], + [ + 122.248034, + 12.56111 + ], + [ + 122.306932, + 12.486387 + ] + ] + ], + [ + [ + [ + 123.792215, + 12.344999 + ], + [ + 123.72777, + 12.601664 + ], + [ + 123.585543, + 12.660555 + ], + [ + 123.792215, + 12.344999 + ] + ] + ], + [ + [ + [ + 122.048601, + 12.176664 + ], + [ + 122.122759, + 12.676943 + ], + [ + 121.917482, + 12.304167 + ], + [ + 122.048601, + 12.176664 + ] + ] + ], + [ + [ + [ + 123.382479, + 12.691942 + ], + [ + 123.048601, + 13.134722 + ], + [ + 122.931932, + 13.109999 + ], + [ + 123.382479, + 12.691942 + ] + ] + ], + [ + [ + [ + 124.21805, + 13.172499 + ], + [ + 124.163309, + 13.232222 + ], + [ + 124.078325, + 13.211111 + ], + [ + 124.21805, + 13.172499 + ] + ] + ], + [ + [ + [ + 124.046099, + 13.220552 + ], + [ + 124.098879, + 13.260557 + ], + [ + 123.914995, + 13.286386 + ], + [ + 123.956102, + 13.2325 + ], + [ + 124.046099, + 13.220552 + ] + ] + ], + [ + [ + [ + 123.913042, + 13.243055 + ], + [ + 123.890482, + 13.27878 + ], + [ + 123.930819, + 13.324442 + ], + [ + 123.851091, + 13.351942 + ], + [ + 123.853868, + 13.267221 + ], + [ + 123.879152, + 13.229445 + ], + [ + 123.913042, + 13.243055 + ] + ] + ], + [ + [ + [ + 122.151384, + 13.395555 + ], + [ + 122.126085, + 13.421946 + ], + [ + 122.131655, + 13.400831 + ], + [ + 122.151384, + 13.395555 + ] + ] + ], + [ + [ + [ + 122.123438, + 13.404104 + ], + [ + 121.813311, + 13.44861 + ], + [ + 122.003328, + 13.202223 + ], + [ + 122.123438, + 13.404104 + ] + ] + ], + [ + [ + [ + 120.721651, + 13.477777 + ], + [ + 120.303308, + 13.443609 + ], + [ + 121.220545, + 12.230555 + ], + [ + 121.558321, + 12.60111 + ], + [ + 121.502214, + 13.14889 + ], + [ + 120.721651, + 13.477777 + ] + ] + ], + [ + [ + [ + 120.281939, + 13.754168 + ], + [ + 120.079988, + 13.849165 + ], + [ + 120.274698, + 13.668333 + ], + [ + 120.281939, + 13.754168 + ] + ] + ], + [ + [ + [ + 124.287363, + 13.946177 + ], + [ + 124.03055, + 13.663889 + ], + [ + 124.20804, + 13.515276 + ], + [ + 124.287363, + 13.946177 + ] + ] + ], + [ + [ + [ + 124.301088, + 13.952223 + ], + [ + 124.303041, + 13.96361 + ], + [ + 124.294146, + 13.958055 + ], + [ + 124.301088, + 13.952223 + ] + ] + ], + [ + [ + [ + 124.342211, + 13.942221 + ], + [ + 124.325274, + 13.981943 + ], + [ + 124.312761, + 13.955 + ], + [ + 124.342211, + 13.942221 + ] + ] + ], + [ + [ + [ + 122.171099, + 13.99861 + ], + [ + 122.124422, + 14.088888 + ], + [ + 121.917482, + 14.185278 + ], + [ + 122.171099, + 13.99861 + ] + ] + ], + [ + [ + [ + 122.254175, + 14.722498 + ], + [ + 122.213045, + 14.839167 + ], + [ + 122.098604, + 14.837778 + ], + [ + 122.254175, + 14.722498 + ] + ] + ], + [ + [ + [ + 122.050814, + 14.996664 + ], + [ + 121.819155, + 14.991667 + ], + [ + 121.930819, + 14.629164 + ], + [ + 122.050814, + 14.996664 + ] + ] + ], + [ + [ + [ + 120.000269, + 16.225554 + ], + [ + 120.002779, + 16.340555 + ], + [ + 119.974154, + 16.346666 + ], + [ + 119.924425, + 16.299444 + ], + [ + 120.000269, + 16.225554 + ] + ] + ], + [ + [ + [ + 121.256655, + 18.566111 + ], + [ + 120.570543, + 18.490831 + ], + [ + 120.421923, + 16.155832 + ], + [ + 120.156649, + 16.036112 + ], + [ + 119.935259, + 16.242773 + ], + [ + 119.919146, + 16.290277 + ], + [ + 119.928865, + 16.384996 + ], + [ + 119.786928, + 16.323053 + ], + [ + 120.086115, + 14.785276 + ], + [ + 120.493319, + 14.42972 + ], + [ + 120.551653, + 14.826944 + ], + [ + 120.956652, + 14.636946 + ], + [ + 120.592211, + 14.231112 + ], + [ + 120.661104, + 13.768332 + ], + [ + 121.279428, + 13.593889 + ], + [ + 121.754709, + 13.964445 + ], + [ + 122.607485, + 13.163889 + ], + [ + 122.560999, + 13.936567 + ], + [ + 123.322222, + 13.008612 + ], + [ + 124.028589, + 12.963053 + ], + [ + 123.848879, + 12.731943 + ], + [ + 124.082766, + 12.540556 + ], + [ + 124.195826, + 13.057775 + ], + [ + 123.762774, + 13.061666 + ], + [ + 123.531939, + 13.575556 + ], + [ + 123.92499, + 13.789167 + ], + [ + 123.34305, + 14.086943 + ], + [ + 123.099993, + 13.667498 + ], + [ + 122.71332, + 14.338331 + ], + [ + 122.165545, + 14.158056 + ], + [ + 122.233324, + 13.897223 + ], + [ + 121.733873, + 14.170832 + ], + [ + 121.378862, + 15.33222 + ], + [ + 122.533335, + 17.099443 + ], + [ + 122.170259, + 17.607222 + ], + [ + 122.241655, + 18.512777 + ], + [ + 121.936655, + 18.269445 + ], + [ + 121.256655, + 18.566111 + ] + ], + [ + [ + 122.735262, + 13.774168 + ], + [ + 122.72748, + 13.777224 + ], + [ + 122.744982, + 13.781668 + ], + [ + 122.735262, + 13.774168 + ] + ] + ], + [ + [ + [ + 121.400545, + 18.847219 + ], + [ + 121.484423, + 18.882776 + ], + [ + 121.279428, + 18.86611 + ], + [ + 121.400545, + 18.847219 + ] + ] + ], + [ + [ + [ + 121.882753, + 18.833334 + ], + [ + 121.946093, + 19.004446 + ], + [ + 121.833055, + 18.880552 + ], + [ + 121.882753, + 18.833334 + ] + ] + ], + [ + [ + [ + 121.25139, + 19.011946 + ], + [ + 121.220263, + 19.172773 + ], + [ + 121.201929, + 19.065275 + ], + [ + 121.25139, + 19.011946 + ] + ] + ], + [ + [ + [ + 121.539705, + 19.266668 + ], + [ + 121.53055, + 19.389719 + ], + [ + 121.372759, + 19.364443 + ], + [ + 121.539705, + 19.266668 + ] + ] + ], + [ + [ + [ + 121.974703, + 19.479998 + ], + [ + 121.993593, + 19.565275 + ], + [ + 121.903055, + 19.550276 + ], + [ + 121.974703, + 19.479998 + ] + ] + ], + [ + [ + [ + 121.886934, + 20.283335 + ], + [ + 121.846369, + 20.352777 + ], + [ + 121.841928, + 20.282499 + ], + [ + 121.886934, + 20.283335 + ] + ] + ], + [ + [ + [ + 121.954439, + 20.348608 + ], + [ + 122.026659, + 20.483332 + ], + [ + 121.923868, + 20.407221 + ], + [ + 121.954439, + 20.348608 + ] + ] + ], + [ + [ + [ + 121.812189, + 20.686663 + ], + [ + 121.883333, + 20.765276 + ], + [ + 121.870821, + 20.834723 + ], + [ + 121.812189, + 20.686663 + ] + ] + ], + [ + [ + [ + 121.956942, + 21.103609 + ], + [ + 121.949709, + 21.118055 + ], + [ + 121.949419, + 21.106108 + ], + [ + 121.956942, + 21.103609 + ] + ] + ] + ] + }, + "name" : "Philippines", + "iso2" : "PH", + "iso3" : "PHL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "8L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -67.880569, + 18.048332 + ], + [ + -67.84668, + 18.107498 + ], + [ + -67.930847, + 18.109722 + ], + [ + -67.880569, + 18.048332 + ] + ] + ], + [ + [ + [ + -65.441391, + 18.090275 + ], + [ + -65.301117, + 18.147778 + ], + [ + -65.580292, + 18.114719 + ], + [ + -65.441391, + 18.090275 + ] + ] + ], + [ + [ + [ + -65.242783, + 18.302219 + ], + [ + -65.338898, + 18.346664 + ], + [ + -65.275284, + 18.276943 + ], + [ + -65.242783, + 18.302219 + ] + ] + ], + [ + [ + [ + -66.996674, + 18.504997 + ], + [ + -67.266113, + 18.368053 + ], + [ + -67.187225, + 17.932499 + ], + [ + -65.603058, + 18.232498 + ], + [ + -66.996674, + 18.504997 + ] + ] + ] + ] + }, + "name" : "Puerto Rico", + "iso2" : "PR", + "iso3" : "PRI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "8b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 180, + 71.53586 + ], + [ + 178.617739, + 71.03554 + ], + [ + 178.791018, + 70.796404 + ], + [ + 180, + 70.99721 + ], + [ + 180, + 71.53586 + ] + ] + ], + [ + [ + [ + 130.604372, + 42.421862 + ], + [ + 130.638887, + 42.406939 + ], + [ + 130.69742, + 42.292208 + ], + [ + 130.699984, + 42.679163 + ], + [ + 131.221346, + 42.555826 + ], + [ + 131.810518, + 43.325556 + ], + [ + 132.056368, + 43.313326 + ], + [ + 131.943026, + 43.063883 + ], + [ + 132.352175, + 43.292772 + ], + [ + 132.310518, + 42.844439 + ], + [ + 133.151369, + 42.682215 + ], + [ + 135.129671, + 43.49888 + ], + [ + 140.175814, + 48.448603 + ], + [ + 140.407473, + 49.87166 + ], + [ + 140.695803, + 50.087496 + ], + [ + 140.460512, + 50.706659 + ], + [ + 141.514162, + 52.213327 + ], + [ + 140.705538, + 53.113054 + ], + [ + 141.199984, + 52.986383 + ], + [ + 141.41913, + 53.290277 + ], + [ + 139.74634, + 54.308886 + ], + [ + 138.641939, + 54.295275 + ], + [ + 138.444124, + 53.510553 + ], + [ + 138.239412, + 53.562494 + ], + [ + 138.553865, + 53.989435 + ], + [ + 137.310793, + 53.53277 + ], + [ + 137.859133, + 53.961382 + ], + [ + 137.307985, + 54.114443 + ], + [ + 137.738863, + 54.317217 + ], + [ + 137.187166, + 54.214716 + ], + [ + 137.061892, + 54.140833 + ], + [ + 137.289125, + 54.033609 + ], + [ + 137.172487, + 53.834719 + ], + [ + 136.760805, + 53.768602 + ], + [ + 136.816072, + 54.651384 + ], + [ + 135.736635, + 54.570551 + ], + [ + 135.154421, + 54.859438 + ], + [ + 140.49634, + 57.823328 + ], + [ + 140.68857, + 58.233881 + ], + [ + 142.1597, + 59.069162 + ], + [ + 143.926363, + 59.413324 + ], + [ + 148.898043, + 59.239161 + ], + [ + 148.743013, + 59.491663 + ], + [ + 149.598574, + 59.771379 + ], + [ + 152.287752, + 59.226938 + ], + [ + 151.07358, + 59.110552 + ], + [ + 151.30942, + 58.836939 + ], + [ + 152.877169, + 58.917498 + ], + [ + 153.368563, + 59.243052 + ], + [ + 154.74164, + 59.12694 + ], + [ + 155.190523, + 59.357805 + ], + [ + 154.114138, + 59.459719 + ], + [ + 154.232729, + 59.881937 + ], + [ + 157.486635, + 61.803324 + ], + [ + 159.247469, + 61.92222 + ], + [ + 159.531099, + 61.662767 + ], + [ + 160.354952, + 61.947489 + ], + [ + 159.827181, + 61.261385 + ], + [ + 159.78055, + 60.940828 + ], + [ + 160.391359, + 61.025827 + ], + [ + 160.137758, + 60.583605 + ], + [ + 162.403322, + 61.672495 + ], + [ + 163.288027, + 61.664438 + ], + [ + 162.950258, + 61.806383 + ], + [ + 163.263613, + 62.545 + ], + [ + 164.359407, + 62.712214 + ], + [ + 165.642488, + 62.452776 + ], + [ + 164.127748, + 62.28277 + ], + [ + 163.658327, + 60.871935 + ], + [ + 161.914431, + 60.42277 + ], + [ + 158.233309, + 58.019442 + ], + [ + 156.748842, + 57.728327 + ], + [ + 156.977755, + 57.414438 + ], + [ + 155.948854, + 56.666101 + ], + [ + 155.54413, + 55.303606 + ], + [ + 156.668306, + 50.881662 + ], + [ + 158.27582, + 51.936655 + ], + [ + 158.644716, + 52.894716 + ], + [ + 158.430544, + 53.021936 + ], + [ + 160.055239, + 53.093607 + ], + [ + 159.791658, + 53.514719 + ], + [ + 160.005831, + 54.139162 + ], + [ + 162.112185, + 54.761942 + ], + [ + 161.712465, + 55.496943 + ], + [ + 162.036928, + 56.061663 + ], + [ + 162.572206, + 56.267214 + ], + [ + 162.393587, + 56.399996 + ], + [ + 163.089144, + 56.534166 + ], + [ + 162.645266, + 56.191935 + ], + [ + 163.354677, + 56.198603 + ], + [ + 163.213869, + 56.740549 + ], + [ + 162.791353, + 56.791109 + ], + [ + 162.73691, + 57.357775 + ], + [ + 163.213594, + 57.836107 + ], + [ + 162.571077, + 57.951105 + ], + [ + 162.346071, + 57.684717 + ], + [ + 161.938875, + 58.074442 + ], + [ + 163.044771, + 59.010317 + ], + [ + 162.876345, + 59.128046 + ], + [ + 163.193575, + 59.053606 + ], + [ + 163.173037, + 59.55916 + ], + [ + 163.63553, + 60.045549 + ], + [ + 164.15555, + 59.852777 + ], + [ + 164.468569, + 60.111383 + ], + [ + 164.832186, + 59.781107 + ], + [ + 165.182467, + 59.981104 + ], + [ + 164.997194, + 60.129435 + ], + [ + 166.348574, + 60.486383 + ], + [ + 166.137758, + 59.815271 + ], + [ + 167.050264, + 60.323885 + ], + [ + 169.210238, + 60.622766 + ], + [ + 170.248842, + 59.909433 + ], + [ + 170.641939, + 60.417498 + ], + [ + 172.956087, + 61.302774 + ], + [ + 172.710787, + 61.429995 + ], + [ + 177.265535, + 62.574717 + ], + [ + 176.975527, + 62.865549 + ], + [ + 179.061373, + 62.284723 + ], + [ + 179.561098, + 62.621378 + ], + [ + 179.236635, + 62.994158 + ], + [ + 179.408602, + 63.142771 + ], + [ + 178.772219, + 63.594995 + ], + [ + 178.688021, + 63.383051 + ], + [ + 178.26166, + 63.562494 + ], + [ + 178.757479, + 63.639994 + ], + [ + 178.367464, + 64.273882 + ], + [ + 177.631899, + 64.31888 + ], + [ + 177.486086, + 64.761385 + ], + [ + 174.436647, + 64.688311 + ], + [ + 177.303316, + 64.827776 + ], + [ + 176.302767, + 65.04999 + ], + [ + 176.899721, + 65.083605 + ], + [ + 177.609407, + 64.71805 + ], + [ + 178.755556, + 64.682207 + ], + [ + 178.522219, + 64.588045 + ], + [ + 180, + 65.068911 + ], + [ + 180, + 68.980104 + ], + [ + 176.11191, + 69.890551 + ], + [ + 173.191927, + 69.779711 + ], + [ + 170.471895, + 70.134157 + ], + [ + 170.567202, + 69.778048 + ], + [ + 170.123842, + 69.609987 + ], + [ + 170.609133, + 69.580278 + ], + [ + 171.031923, + 69.042208 + ], + [ + 170.61194, + 68.756334 + ], + [ + 168.283327, + 69.241655 + ], + [ + 167.786928, + 69.776094 + ], + [ + 166.860506, + 69.490541 + ], + [ + 164.014437, + 69.767488 + ], + [ + 161.446077, + 69.385546 + ], + [ + 161.579683, + 68.914995 + ], + [ + 161.319429, + 68.792482 + ], + [ + 161.127748, + 68.555254 + ], + [ + 160.846071, + 68.522768 + ], + [ + 161.066072, + 68.563311 + ], + [ + 161.411654, + 68.979708 + ], + [ + 160.963869, + 69.103594 + ], + [ + 160.995241, + 69.58832 + ], + [ + 159.729677, + 69.834719 + ], + [ + 160.038027, + 70.40555 + ], + [ + 159.053865, + 70.869143 + ], + [ + 155.937197, + 71.094439 + ], + [ + 152.538301, + 70.83777 + ], + [ + 151.663607, + 70.980822 + ], + [ + 152.141085, + 70.997484 + ], + [ + 151.45331, + 71.343325 + ], + [ + 150.023592, + 71.207491 + ], + [ + 150.667757, + 71.489428 + ], + [ + 148.82358, + 71.669985 + ], + [ + 150.075258, + 71.883883 + ], + [ + 149.185244, + 72.22249 + ], + [ + 147.139711, + 72.317217 + ], + [ + 146.088289, + 71.793871 + ], + [ + 145.31885, + 71.658037 + ], + [ + 144.913301, + 71.695818 + ], + [ + 145.216341, + 71.827211 + ], + [ + 144.956911, + 71.95833 + ], + [ + 145.802401, + 71.925539 + ], + [ + 145.614962, + 72.080553 + ], + [ + 145.749117, + 72.207216 + ], + [ + 145.608309, + 72.243593 + ], + [ + 145.711641, + 72.252214 + ], + [ + 145.898317, + 72.206102 + ], + [ + 145.985506, + 72.061373 + ], + [ + 146.339968, + 72.128038 + ], + [ + 145.988558, + 72.025545 + ], + [ + 145.964663, + 71.846941 + ], + [ + 146.930269, + 72.30942 + ], + [ + 145.086367, + 72.259157 + ], + [ + 144.391939, + 72.171923 + ], + [ + 144.138582, + 72.27083 + ], + [ + 146.848024, + 72.34749 + ], + [ + 140.748842, + 72.889437 + ], + [ + 141.024141, + 72.585817 + ], + [ + 139.085238, + 72.233324 + ], + [ + 140.198305, + 72.203325 + ], + [ + 139.336641, + 71.945528 + ], + [ + 139.932467, + 71.484987 + ], + [ + 138.066072, + 71.57361 + ], + [ + 137.824129, + 71.383883 + ], + [ + 138.221346, + 71.262209 + ], + [ + 137.854128, + 71.111376 + ], + [ + 135.864962, + 71.639711 + ], + [ + 133.67914, + 71.433321 + ], + [ + 132.728029, + 71.941927 + ], + [ + 131.946627, + 71.289156 + ], + [ + 132.184694, + 71.214708 + ], + [ + 131.130251, + 70.731096 + ], + [ + 128.847445, + 71.601381 + ], + [ + 129.539949, + 71.722216 + ], + [ + 129.072481, + 72.00194 + ], + [ + 129.179934, + 71.800264 + ], + [ + 128.711641, + 71.77054 + ], + [ + 127.658602, + 72.34749 + ], + [ + 126.719149, + 72.388887 + ], + [ + 127.326082, + 71.898043 + ], + [ + 127.220545, + 71.392488 + ], + [ + 127.129412, + 71.851091 + ], + [ + 126.372484, + 72.353319 + ], + [ + 126.117754, + 72.266939 + ], + [ + 124.729715, + 72.626375 + ], + [ + 121.865808, + 72.96805 + ], + [ + 119.817759, + 72.935808 + ], + [ + 118.392214, + 73.235811 + ], + [ + 118.993876, + 73.489153 + ], + [ + 118.634432, + 73.571657 + ], + [ + 113.475275, + 73.504168 + ], + [ + 114.033869, + 73.341936 + ], + [ + 113.546946, + 73.242205 + ], + [ + 113.530825, + 72.960268 + ], + [ + 113.151094, + 72.839434 + ], + [ + 114.04471, + 72.597216 + ], + [ + 113.178591, + 72.723604 + ], + [ + 113.104433, + 72.853594 + ], + [ + 113.486368, + 72.95833 + ], + [ + 113.499422, + 73.334154 + ], + [ + 112.887774, + 73.964998 + ], + [ + 112.248323, + 73.706942 + ], + [ + 111.201395, + 73.967485 + ], + [ + 111.543322, + 74.044985 + ], + [ + 110.200411, + 74.024446 + ], + [ + 109.529161, + 73.770266 + ], + [ + 110.914324, + 73.696688 + ], + [ + 106.333879, + 73.187197 + ], + [ + 105.211931, + 72.764711 + ], + [ + 107.142488, + 73.614702 + ], + [ + 108.189699, + 73.670259 + ], + [ + 113.717485, + 75.408602 + ], + [ + 112.337198, + 75.846651 + ], + [ + 113.509432, + 75.532488 + ], + [ + 113.892488, + 75.849993 + ], + [ + 113.242754, + 76.262209 + ], + [ + 112.566675, + 76.040545 + ], + [ + 112.742754, + 76.328325 + ], + [ + 111.103868, + 76.755266 + ], + [ + 106.401094, + 76.509722 + ], + [ + 107.503603, + 76.922213 + ], + [ + 104.117205, + 77.090822 + ], + [ + 106.291933, + 77.362764 + ], + [ + 104.267488, + 77.675814 + ], + [ + 103.105555, + 77.631929 + ], + [ + 100.849718, + 76.878588 + ], + [ + 101.234713, + 76.753054 + ], + [ + 100.878313, + 76.551378 + ], + [ + 102.233599, + 76.377199 + ], + [ + 98.813875, + 76.492754 + ], + [ + 99.877199, + 76.091661 + ], + [ + 99.171923, + 75.569994 + ], + [ + 100.186258, + 75.168535 + ], + [ + 99.094439, + 75.554979 + ], + [ + 99.768328, + 76.031099 + ], + [ + 99.276934, + 76.214159 + ], + [ + 95.743868, + 75.850542 + ], + [ + 96.197756, + 76.085268 + ], + [ + 93.15555, + 76.097765 + ], + [ + 92.865267, + 75.94832 + ], + [ + 94.161928, + 75.942751 + ], + [ + 86.994982, + 75.151384 + ], + [ + 87.785814, + 75.022219 + ], + [ + 87.181658, + 74.989977 + ], + [ + 87.38666, + 74.943041 + ], + [ + 86.913042, + 74.61249 + ], + [ + 86.029161, + 74.813036 + ], + [ + 85.789156, + 74.630816 + ], + [ + 87.132753, + 74.369143 + ], + [ + 85.951097, + 74.280825 + ], + [ + 87.664995, + 73.894716 + ], + [ + 85.84804, + 73.475267 + ], + [ + 86.783602, + 72.994081 + ], + [ + 85.778322, + 73.459719 + ], + [ + 87.086931, + 73.859423 + ], + [ + 80.509996, + 73.571657 + ], + [ + 80.248598, + 73.31415 + ], + [ + 80.572496, + 73.220537 + ], + [ + 80.231096, + 73.173601 + ], + [ + 80.817217, + 72.966097 + ], + [ + 80.721376, + 72.526094 + ], + [ + 82.192476, + 72.283052 + ], + [ + 83.628588, + 71.623873 + ], + [ + 83.148333, + 71.236101 + ], + [ + 83.745531, + 70.459993 + ], + [ + 83.531664, + 70.339159 + ], + [ + 82.951662, + 70.320543 + ], + [ + 83.130541, + 70.20804 + ], + [ + 83.19359, + 70.123308 + ], + [ + 83.106936, + 70.068605 + ], + [ + 82.639162, + 70.174425 + ], + [ + 83.118868, + 70.887499 + ], + [ + 82.160265, + 70.577486 + ], + [ + 82.346102, + 70.198595 + ], + [ + 82.081102, + 70.567766 + ], + [ + 82.414431, + 70.771105 + ], + [ + 82.257494, + 71.259722 + ], + [ + 83.261644, + 71.721087 + ], + [ + 81.653048, + 71.70804 + ], + [ + 78.538042, + 72.403597 + ], + [ + 77.369982, + 72.098879 + ], + [ + 78.104738, + 71.876146 + ], + [ + 76.09749, + 71.928591 + ], + [ + 76.27054, + 71.571657 + ], + [ + 79.112764, + 71.002489 + ], + [ + 76.915819, + 71.069719 + ], + [ + 75.24193, + 71.376085 + ], + [ + 75.715822, + 72.556643 + ], + [ + 74.829988, + 72.834154 + ], + [ + 74.95804, + 72.109423 + ], + [ + 73.532198, + 71.819155 + ], + [ + 73.015276, + 71.421648 + ], + [ + 74.314989, + 70.673601 + ], + [ + 73.51639, + 69.755556 + ], + [ + 73.894442, + 69.425814 + ], + [ + 73.749422, + 69.168047 + ], + [ + 76.037203, + 69.2372 + ], + [ + 77.634996, + 68.907763 + ], + [ + 78.1747, + 68.265001 + ], + [ + 77.558596, + 68.143877 + ], + [ + 77.462496, + 67.762209 + ], + [ + 79.044847, + 67.567156 + ], + [ + 77.091936, + 67.778597 + ], + [ + 77.324434, + 68.516939 + ], + [ + 76.591661, + 68.968325 + ], + [ + 74.640551, + 68.769152 + ], + [ + 74.332766, + 68.380266 + ], + [ + 74.731661, + 68.143053 + ], + [ + 74.739977, + 67.691652 + ], + [ + 73.908876, + 67.298037 + ], + [ + 73.847216, + 66.981096 + ], + [ + 72.000002, + 66.219439 + ], + [ + 69.38611, + 66.507494 + ], + [ + 68.96776, + 66.804155 + ], + [ + 70.730822, + 66.757219 + ], + [ + 70.291368, + 66.623873 + ], + [ + 70.694979, + 66.508043 + ], + [ + 71.558596, + 66.645266 + ], + [ + 71.410265, + 66.966936 + ], + [ + 72.231096, + 67.16054 + ], + [ + 72.040545, + 67.296938 + ], + [ + 73.040819, + 67.724154 + ], + [ + 73.09804, + 68.216936 + ], + [ + 73.648043, + 68.457766 + ], + [ + 72.553865, + 68.976656 + ], + [ + 72.686373, + 69.849718 + ], + [ + 72.4247, + 70.270266 + ], + [ + 72.778048, + 70.418047 + ], + [ + 72.840548, + 70.865267 + ], + [ + 71.802477, + 71.47249 + ], + [ + 72.881929, + 72.281374 + ], + [ + 72.83333, + 72.708605 + ], + [ + 71.560534, + 72.909716 + ], + [ + 69.333879, + 72.94887 + ], + [ + 68.465548, + 71.818895 + ], + [ + 66.623034, + 71.051653 + ], + [ + 66.891665, + 71.077486 + ], + [ + 66.688875, + 70.760546 + ], + [ + 67.339708, + 70.750277 + ], + [ + 67.088045, + 70.217211 + ], + [ + 67.327776, + 70.09749 + ], + [ + 66.873308, + 70.001101 + ], + [ + 66.79915, + 69.57416 + ], + [ + 66.950274, + 69.528872 + ], + [ + 67.000551, + 69.699709 + ], + [ + 68.101656, + 69.546648 + ], + [ + 68.459719, + 68.978045 + ], + [ + 69.220263, + 68.957216 + ], + [ + 68.436373, + 68.224993 + ], + [ + 68.265001, + 68.187487 + ], + [ + 68.159426, + 68.411379 + ], + [ + 67.193041, + 68.704714 + ], + [ + 67.039156, + 68.789705 + ], + [ + 67.116091, + 68.84276 + ], + [ + 64.787767, + 69.142763 + ], + [ + 65.002779, + 69.298037 + ], + [ + 64.150545, + 69.541933 + ], + [ + 60.874437, + 69.863604 + ], + [ + 60.140551, + 69.57416 + ], + [ + 60.914438, + 68.904711 + ], + [ + 59.811663, + 68.681932 + ], + [ + 59.836107, + 68.366655 + ], + [ + 59.073328, + 68.421373 + ], + [ + 59.427217, + 68.745256 + ], + [ + 58.898333, + 68.999712 + ], + [ + 57.276102, + 68.555819 + ], + [ + 55.324732, + 68.550005 + ], + [ + 54.791941, + 68.163042 + ], + [ + 53.209993, + 68.261385 + ], + [ + 53.945826, + 68.399996 + ], + [ + 53.719713, + 68.651934 + ], + [ + 54.019159, + 68.855257 + ], + [ + 53.598879, + 68.908037 + ], + [ + 54.560823, + 68.992479 + ], + [ + 53.783609, + 68.96805 + ], + [ + 52.288332, + 68.614153 + ], + [ + 52.733049, + 68.466387 + ], + [ + 52.268602, + 68.305819 + ], + [ + 52.074717, + 68.544436 + ], + [ + 48.591105, + 67.934984 + ], + [ + 49.101107, + 67.628038 + ], + [ + 47.994997, + 67.65027 + ], + [ + 47.699717, + 66.986376 + ], + [ + 46.385553, + 66.739702 + ], + [ + 46.600832, + 66.853319 + ], + [ + 44.911936, + 67.372759 + ], + [ + 45.382494, + 67.735537 + ], + [ + 46.706942, + 67.813036 + ], + [ + 46.52083, + 68.144152 + ], + [ + 45.903322, + 68.48221 + ], + [ + 43.311663, + 68.684984 + ], + [ + 44.245829, + 68.270266 + ], + [ + 43.75194, + 67.31888 + ], + [ + 44.496386, + 66.907488 + ], + [ + 44.17444, + 65.874697 + ], + [ + 43.858049, + 66.176928 + ], + [ + 43.354715, + 66.038591 + ], + [ + 43.697489, + 66.235811 + ], + [ + 43.299723, + 66.422213 + ], + [ + 42.168329, + 66.522768 + ], + [ + 39.75139, + 65.550814 + ], + [ + 40.505831, + 64.535265 + ], + [ + 38.046946, + 64.6411 + ], + [ + 38.408602, + 64.858873 + ], + [ + 37.032213, + 65.20833 + ], + [ + 36.439714, + 64.942751 + ], + [ + 37.144716, + 64.408876 + ], + [ + 37.978876, + 64.316668 + ], + [ + 38.077494, + 64.017214 + ], + [ + 37.414995, + 63.803881 + ], + [ + 34.787775, + 64.547762 + ], + [ + 34.936106, + 64.83832 + ], + [ + 34.377771, + 65.378313 + ], + [ + 34.681665, + 65.451097 + ], + [ + 34.690828, + 65.803865 + ], + [ + 34.96361, + 65.71776 + ], + [ + 34.84749, + 65.901094 + ], + [ + 33.312769, + 66.316088 + ], + [ + 33.732492, + 66.423876 + ], + [ + 31.854998, + 67.153872 + ], + [ + 38.607775, + 66.052202 + ], + [ + 40.073328, + 66.277773 + ], + [ + 41.219713, + 66.83777 + ], + [ + 41.390551, + 67.122759 + ], + [ + 40.99222, + 67.716097 + ], + [ + 35.974993, + 69.173037 + ], + [ + 33.719156, + 69.331377 + ], + [ + 33.022768, + 68.953325 + ], + [ + 33.521662, + 69.421923 + ], + [ + 32.809992, + 69.296099 + ], + [ + 33.029417, + 69.471865 + ], + [ + 32.026396, + 69.636538 + ], + [ + 33.093607, + 69.747484 + ], + [ + 30.854841, + 69.792315 + ], + [ + 30.910002, + 69.548876 + ], + [ + 30.103334, + 69.663057 + ], + [ + 28.957342, + 69.051622 + ], + [ + 28.431944, + 68.896944 + ], + [ + 28.820555, + 68.844439 + ], + [ + 28.457499, + 68.531939 + ], + [ + 28.693335, + 68.197496 + ], + [ + 30.028612, + 67.694719 + ], + [ + 29.074999, + 66.89583 + ], + [ + 30.134165, + 65.719164 + ], + [ + 29.818888, + 65.653322 + ], + [ + 29.636667, + 64.928057 + ], + [ + 30.578054, + 64.221376 + ], + [ + 29.993334, + 63.743608 + ], + [ + 31.58893, + 62.914415 + ], + [ + 27.807833, + 60.546404 + ], + [ + 28.686663, + 60.735826 + ], + [ + 28.601942, + 60.384439 + ], + [ + 30.245829, + 59.975267 + ], + [ + 28.080278, + 59.796389 + ], + [ + 28.015833, + 59.478601 + ], + [ + 28.170359, + 59.309782 + ], + [ + 27.426107, + 58.813608 + ], + [ + 27.823053, + 57.87388 + ], + [ + 27.372061, + 57.535639 + ], + [ + 27.861109, + 57.302217 + ], + [ + 27.701662, + 56.914713 + ], + [ + 28.168013, + 56.150156 + ], + [ + 30.926249, + 55.602571 + ], + [ + 31.029722, + 55.043329 + ], + [ + 30.781389, + 54.793612 + ], + [ + 31.844164, + 54.06444 + ], + [ + 31.764227, + 53.802622 + ], + [ + 32.741106, + 53.463053 + ], + [ + 31.266943, + 53.024714 + ], + [ + 31.783888, + 52.108049 + ], + [ + 33.417704, + 52.355402 + ], + [ + 33.838884, + 52.360552 + ], + [ + 34.419718, + 51.808886 + ], + [ + 34.098047, + 51.653879 + ], + [ + 34.382212, + 51.263613 + ], + [ + 35.371889, + 51.041437 + ], + [ + 35.606653, + 50.36944 + ], + [ + 37.458605, + 50.439714 + ], + [ + 38.024225, + 49.903086 + ], + [ + 38.307772, + 50.073885 + ], + [ + 40.139765, + 49.601053 + ], + [ + 40.166941, + 49.248606 + ], + [ + 39.696657, + 49.010828 + ], + [ + 40.076662, + 48.874994 + ], + [ + 39.656939, + 48.616663 + ], + [ + 39.99888, + 48.29722 + ], + [ + 39.796389, + 47.857218 + ], + [ + 38.853601, + 47.860826 + ], + [ + 38.303324, + 47.558596 + ], + [ + 38.235826, + 47.10943 + ], + [ + 39.29999, + 47.076937 + ], + [ + 38.410814, + 46.828051 + ], + [ + 38.581659, + 46.650827 + ], + [ + 37.734995, + 46.669161 + ], + [ + 38.574434, + 46.089708 + ], + [ + 37.940264, + 46.025827 + ], + [ + 37.591372, + 45.627481 + ], + [ + 37.737207, + 45.299166 + ], + [ + 36.830828, + 45.436647 + ], + [ + 36.960543, + 45.274996 + ], + [ + 36.575274, + 45.18471 + ], + [ + 38.760279, + 44.270266 + ], + [ + 40.00297, + 43.379267 + ], + [ + 40.253389, + 43.582521 + ], + [ + 42.849993, + 43.179155 + ], + [ + 43.911936, + 42.583323 + ], + [ + 44.93471, + 42.760279 + ], + [ + 46.451754, + 41.897058 + ], + [ + 46.571383, + 41.871935 + ], + [ + 47.766932, + 41.196093 + ], + [ + 48.583956, + 41.835772 + ], + [ + 47.462214, + 43.019152 + ], + [ + 47.69832, + 43.868876 + ], + [ + 47.407206, + 43.501101 + ], + [ + 47.350267, + 44.026651 + ], + [ + 46.679712, + 44.523043 + ], + [ + 47.569155, + 45.557489 + ], + [ + 47.380274, + 45.744715 + ], + [ + 47.637217, + 45.553041 + ], + [ + 47.552217, + 45.769442 + ], + [ + 47.830545, + 45.655825 + ], + [ + 48.565821, + 45.96583 + ], + [ + 48.713327, + 45.830271 + ], + [ + 48.627764, + 46.082766 + ], + [ + 49.222528, + 46.346308 + ], + [ + 48.560549, + 46.564997 + ], + [ + 49.027208, + 46.776094 + ], + [ + 48.204432, + 47.704988 + ], + [ + 47.383326, + 47.688883 + ], + [ + 47.122766, + 48.271662 + ], + [ + 46.499163, + 48.417498 + ], + [ + 47.062769, + 49.142771 + ], + [ + 46.795832, + 49.339716 + ], + [ + 46.929438, + 49.863611 + ], + [ + 47.52083, + 50.43638 + ], + [ + 48.251665, + 49.869715 + ], + [ + 48.796946, + 49.941935 + ], + [ + 48.697489, + 50.591936 + ], + [ + 50.773302, + 51.769182 + ], + [ + 51.303049, + 51.479715 + ], + [ + 52.338327, + 51.782213 + ], + [ + 52.603327, + 51.456942 + ], + [ + 53.428606, + 51.491663 + ], + [ + 54.506388, + 50.856943 + ], + [ + 54.523935, + 50.528841 + ], + [ + 54.647219, + 51.036943 + ], + [ + 55.692492, + 50.532495 + ], + [ + 56.510828, + 51.08333 + ], + [ + 57.481936, + 50.864717 + ], + [ + 58.33777, + 51.156099 + ], + [ + 59.542498, + 50.478327 + ], + [ + 60.043612, + 50.863329 + ], + [ + 61.38138, + 50.783609 + ], + [ + 61.685823, + 51.265833 + ], + [ + 60.002222, + 51.95833 + ], + [ + 61.061937, + 52.342493 + ], + [ + 60.694155, + 52.680826 + ], + [ + 61.099161, + 52.981661 + ], + [ + 62.118326, + 53.004168 + ], + [ + 61.184717, + 53.306658 + ], + [ + 61.577494, + 53.51333 + ], + [ + 60.90555, + 53.620272 + ], + [ + 61.226938, + 53.811937 + ], + [ + 61.014162, + 53.947489 + ], + [ + 62.547495, + 53.879435 + ], + [ + 63.17222, + 54.18638 + ], + [ + 65.216387, + 54.318888 + ], + [ + 65.483324, + 54.638048 + ], + [ + 69.185534, + 55.343882 + ], + [ + 70.843325, + 55.301935 + ], + [ + 71.278872, + 54.690271 + ], + [ + 70.996935, + 54.339159 + ], + [ + 71.185534, + 54.103327 + ], + [ + 72.196093, + 54.137499 + ], + [ + 72.051653, + 54.387774 + ], + [ + 72.468599, + 53.908884 + ], + [ + 72.613314, + 54.145273 + ], + [ + 73.763887, + 54.065546 + ], + [ + 73.238588, + 53.644442 + ], + [ + 73.437197, + 53.436106 + ], + [ + 74.429155, + 53.478601 + ], + [ + 76.811647, + 54.447771 + ], + [ + 76.521654, + 53.993883 + ], + [ + 77.908037, + 53.271105 + ], + [ + 80.077959, + 50.758089 + ], + [ + 80.687838, + 51.314722 + ], + [ + 81.46805, + 50.74222 + ], + [ + 83.456377, + 51.002497 + ], + [ + 84.363039, + 50.212214 + ], + [ + 85.014437, + 50.07583 + ], + [ + 85.258608, + 49.591379 + ], + [ + 86.191088, + 49.47249 + ], + [ + 86.774996, + 49.788889 + ], + [ + 86.616655, + 49.587214 + ], + [ + 87.348207, + 49.092623 + ], + [ + 87.8407, + 49.172953 + ], + [ + 92.322771, + 50.814997 + ], + [ + 94.274996, + 50.569445 + ], + [ + 94.635271, + 50.024439 + ], + [ + 97.340822, + 49.734438 + ], + [ + 98.289705, + 50.293886 + ], + [ + 97.827776, + 51.001108 + ], + [ + 98.930269, + 52.14361 + ], + [ + 102.218874, + 51.333605 + ], + [ + 102.327768, + 50.569719 + ], + [ + 102.918589, + 50.315271 + ], + [ + 106.663042, + 50.338602 + ], + [ + 107.977129, + 49.943628 + ], + [ + 107.949144, + 49.678049 + ], + [ + 108.572222, + 49.333605 + ], + [ + 110.788591, + 49.149439 + ], + [ + 113.090822, + 49.598604 + ], + [ + 114.313028, + 50.284166 + ], + [ + 116.711382, + 49.830469 + ], + [ + 117.874712, + 49.520578 + ], + [ + 119.214159, + 50.015276 + ], + [ + 119.361368, + 50.336939 + ], + [ + 119.138605, + 50.394716 + ], + [ + 120.776659, + 52.115 + ], + [ + 120.71361, + 52.544718 + ], + [ + 120.029161, + 52.768053 + ], + [ + 120.863878, + 53.279718 + ], + [ + 123.382204, + 53.526659 + ], + [ + 126.095545, + 52.764444 + ], + [ + 127.586069, + 50.208567 + ], + [ + 127.529428, + 49.789164 + ], + [ + 130.671633, + 48.865 + ], + [ + 130.521639, + 48.607775 + ], + [ + 130.988558, + 47.688601 + ], + [ + 132.52109, + 47.710276 + ], + [ + 133.088564, + 48.101664 + ], + [ + 134.740755, + 48.26713 + ], + [ + 134.767214, + 47.707499 + ], + [ + 134.182467, + 47.323328 + ], + [ + 133.900179, + 46.250315 + ], + [ + 133.122194, + 45.128603 + ], + [ + 131.864687, + 45.345545 + ], + [ + 130.949984, + 44.841105 + ], + [ + 131.311373, + 43.392221 + ], + [ + 131.123293, + 42.910822 + ], + [ + 130.405245, + 42.71805 + ], + [ + 130.604372, + 42.421862 + ] + ], + [ + [ + 86.902208, + 73.697481 + ], + [ + 86.73665, + 73.595263 + ], + [ + 86.394991, + 73.58832 + ], + [ + 86.902208, + 73.697481 + ] + ], + [ + [ + 40.274439, + 64.874147 + ], + [ + 40.209719, + 64.992479 + ], + [ + 40.278879, + 64.945818 + ], + [ + 40.274439, + 64.874147 + ] + ] + ], + [ + [ + [ + 170.151094, + 69.734148 + ], + [ + 170.20331, + 69.788317 + ], + [ + 169.984957, + 69.748034 + ], + [ + 170.151094, + 69.734148 + ] + ] + ], + [ + [ + [ + 169.447481, + 69.80887 + ], + [ + 167.751925, + 69.827486 + ], + [ + 168.868288, + 69.567766 + ], + [ + 169.447481, + 69.80887 + ] + ] + ], + [ + [ + [ + 167.855806, + 54.681383 + ], + [ + 167.432985, + 54.863077 + ], + [ + 168.116915, + 54.507776 + ], + [ + 167.855806, + 54.681383 + ] + ] + ], + [ + [ + [ + 166.119112, + 55.328608 + ], + [ + 165.838015, + 55.264444 + ], + [ + 166.663027, + 54.674166 + ], + [ + 166.119112, + 55.328608 + ] + ] + ], + [ + [ + [ + 164.656923, + 59.084436 + ], + [ + 163.699404, + 59.014444 + ], + [ + 163.38553, + 58.559404 + ], + [ + 164.656923, + 59.084436 + ] + ] + ], + [ + [ + [ + 162.381899, + 70.679155 + ], + [ + 162.236635, + 70.659151 + ], + [ + 162.484957, + 70.651094 + ], + [ + 162.381899, + 70.679155 + ] + ] + ], + [ + [ + [ + 161.69385, + 70.750277 + ], + [ + 161.657747, + 70.808596 + ], + [ + 161.463289, + 70.803591 + ], + [ + 161.69385, + 70.750277 + ] + ] + ], + [ + [ + [ + 161.437746, + 69.408037 + ], + [ + 161.622194, + 69.588594 + ], + [ + 161.394991, + 69.590822 + ], + [ + 161.437746, + 69.408037 + ] + ] + ], + [ + [ + [ + 161.4433, + 68.889986 + ], + [ + 161.509157, + 68.915545 + ], + [ + 161.515261, + 68.9872 + ], + [ + 161.38611, + 69.10248 + ], + [ + 161.319979, + 69.241091 + ], + [ + 161.361361, + 69.358599 + ], + [ + 161.289339, + 69.415865 + ], + [ + 161.388887, + 69.459154 + ], + [ + 161.377748, + 69.532213 + ], + [ + 161.096346, + 69.470537 + ], + [ + 161.134432, + 69.089708 + ], + [ + 161.45801, + 68.995531 + ], + [ + 161.4433, + 68.889986 + ] + ] + ], + [ + [ + [ + 160.619112, + 70.814699 + ], + [ + 160.71979, + 70.818514 + ], + [ + 160.408022, + 70.919146 + ], + [ + 160.619112, + 70.814699 + ] + ] + ], + [ + [ + [ + 156.617739, + 77.103868 + ], + [ + 156.73218, + 77.125811 + ], + [ + 156.434145, + 77.135271 + ], + [ + 156.617739, + 77.103868 + ] + ] + ], + [ + [ + [ + 156.403826, + 50.653399 + ], + [ + 156.463869, + 50.86944 + ], + [ + 156.164431, + 50.728601 + ], + [ + 156.403826, + 50.653399 + ] + ] + ], + [ + [ + [ + 155.785524, + 50.184992 + ], + [ + 156.104128, + 50.76111 + ], + [ + 155.20859, + 50.080828 + ], + [ + 155.785524, + 50.184992 + ] + ] + ], + [ + [ + [ + 155.62079, + 50.806101 + ], + [ + 155.639162, + 50.920832 + ], + [ + 155.447756, + 50.897776 + ], + [ + 155.62079, + 50.806101 + ] + ] + ], + [ + [ + [ + 155.555819, + 59.321939 + ], + [ + 155.555819, + 59.359163 + ], + [ + 155.478304, + 59.317217 + ], + [ + 155.555819, + 59.321939 + ] + ] + ], + [ + [ + [ + 154.715792, + 49.263887 + ], + [ + 154.904421, + 49.624163 + ], + [ + 154.602449, + 49.373606 + ], + [ + 154.715792, + 49.263887 + ] + ] + ], + [ + [ + [ + 154.454683, + 49.169161 + ], + [ + 154.500551, + 49.074442 + ], + [ + 154.598848, + 49.11194 + ], + [ + 154.454683, + 49.169161 + ] + ] + ], + [ + [ + [ + 154.42499, + 49.733606 + ], + [ + 154.459963, + 49.813883 + ], + [ + 154.374971, + 49.824999 + ], + [ + 154.42499, + 49.733606 + ] + ] + ], + [ + [ + [ + 154.019442, + 48.723322 + ], + [ + 154.228853, + 48.902491 + ], + [ + 154.112185, + 48.894999 + ], + [ + 154.019442, + 48.723322 + ] + ] + ], + [ + [ + [ + 153.981905, + 48.926661 + ], + [ + 154.004702, + 48.96361 + ], + [ + 153.901918, + 48.969988 + ], + [ + 153.981905, + 48.926661 + ] + ] + ], + [ + [ + [ + 153.290529, + 48.053606 + ], + [ + 153.223299, + 48.133051 + ], + [ + 153.137758, + 48.101107 + ], + [ + 153.290529, + 48.053606 + ] + ] + ], + [ + [ + [ + 153.016085, + 47.693048 + ], + [ + 153.080263, + 47.714159 + ], + [ + 153.074129, + 47.808329 + ], + [ + 153.016085, + 47.693048 + ] + ] + ], + [ + [ + [ + 152.741335, + 76.107759 + ], + [ + 152.756655, + 76.211931 + ], + [ + 152.455233, + 76.156939 + ], + [ + 152.741335, + 76.107759 + ] + ] + ], + [ + [ + [ + 152.519136, + 47.307215 + ], + [ + 152.503878, + 47.377214 + ], + [ + 152.388033, + 47.344156 + ], + [ + 152.519136, + 47.307215 + ] + ] + ], + [ + [ + [ + 152.225527, + 47.174715 + ], + [ + 151.712191, + 46.801104 + ], + [ + 152.013033, + 46.888887 + ], + [ + 152.225527, + 47.174715 + ] + ] + ], + [ + [ + [ + 147.018312, + 75.334719 + ], + [ + 146.41498, + 75.586107 + ], + [ + 146.070253, + 75.226656 + ], + [ + 148.704409, + 74.759996 + ], + [ + 150.953035, + 75.139437 + ], + [ + 147.018312, + 75.334719 + ] + ] + ], + [ + [ + [ + 150.874117, + 46.440828 + ], + [ + 150.841921, + 46.471102 + ], + [ + 150.798525, + 46.449984 + ], + [ + 150.874117, + 46.440828 + ] + ] + ], + [ + [ + [ + 150.764986, + 46.703882 + ], + [ + 150.762209, + 46.727488 + ], + [ + 150.730806, + 46.722765 + ], + [ + 150.764986, + 46.703882 + ] + ] + ], + [ + [ + [ + 150.590517, + 59.019716 + ], + [ + 150.743837, + 59.11194 + ], + [ + 150.454561, + 59.017801 + ], + [ + 150.590517, + 59.019716 + ] + ] + ], + [ + [ + [ + 150.066378, + 45.84749 + ], + [ + 150.498568, + 46.192492 + ], + [ + 149.437471, + 45.583605 + ], + [ + 150.066378, + 45.84749 + ] + ] + ], + [ + [ + [ + 149.314425, + 76.753603 + ], + [ + 148.392214, + 76.643602 + ], + [ + 149.168856, + 76.650545 + ], + [ + 149.314425, + 76.753603 + ] + ] + ], + [ + [ + [ + 149.104677, + 59.187769 + ], + [ + 149.005251, + 59.211107 + ], + [ + 148.941011, + 59.141672 + ], + [ + 149.104677, + 59.187769 + ] + ] + ], + [ + [ + [ + 148.825258, + 45.334993 + ], + [ + 147.932741, + 45.421381 + ], + [ + 146.840517, + 44.415545 + ], + [ + 148.825258, + 45.334993 + ] + ] + ], + [ + [ + [ + 146.669985, + 43.704439 + ], + [ + 146.90497, + 43.839991 + ], + [ + 146.604677, + 43.803881 + ], + [ + 146.669985, + 43.704439 + ] + ] + ], + [ + [ + [ + 146.148043, + 44.509996 + ], + [ + 145.437471, + 43.716936 + ], + [ + 146.568026, + 44.438326 + ], + [ + 146.148043, + 44.509996 + ] + ] + ], + [ + [ + [ + 146.137484, + 43.458887 + ], + [ + 146.226076, + 43.525553 + ], + [ + 146.076082, + 43.51333 + ], + [ + 146.137484, + 43.458887 + ] + ] + ], + [ + [ + [ + 139.190798, + 76.072222 + ], + [ + 137.449984, + 75.954714 + ], + [ + 137.744692, + 75.748323 + ], + [ + 136.958559, + 75.604219 + ], + [ + 137.40497, + 75.352205 + ], + [ + 136.861361, + 75.349154 + ], + [ + 139.096071, + 74.647219 + ], + [ + 139.646944, + 74.979158 + ], + [ + 143.706911, + 74.938585 + ], + [ + 142.612459, + 75.099718 + ], + [ + 142.155245, + 75.375536 + ], + [ + 142.447481, + 75.711107 + ], + [ + 143.040529, + 75.66971 + ], + [ + 142.506044, + 75.453722 + ], + [ + 142.903597, + 75.133883 + ], + [ + 143.949709, + 75.026934 + ], + [ + 145.394716, + 75.517488 + ], + [ + 141.35663, + 76.180544 + ], + [ + 141.619692, + 76.012499 + ], + [ + 140.971895, + 76.039156 + ], + [ + 141.060793, + 75.645266 + ], + [ + 140.479128, + 75.63611 + ], + [ + 139.190798, + 76.072222 + ] + ] + ], + [ + [ + [ + 143.661928, + 49.312212 + ], + [ + 144.75165, + 48.641939 + ], + [ + 143.220797, + 51.521379 + ], + [ + 143.290804, + 53.130274 + ], + [ + 142.696627, + 54.424715 + ], + [ + 142.393862, + 54.237497 + ], + [ + 142.798311, + 53.697489 + ], + [ + 141.766939, + 53.371378 + ], + [ + 141.638033, + 52.315828 + ], + [ + 142.267214, + 51.120272 + ], + [ + 141.852449, + 48.750277 + ], + [ + 142.188875, + 47.975267 + ], + [ + 141.812746, + 46.586107 + ], + [ + 142.077456, + 45.891382 + ], + [ + 142.709688, + 46.744158 + ], + [ + 143.378572, + 46.548334 + ], + [ + 143.473848, + 46.092768 + ], + [ + 143.49164, + 46.808603 + ], + [ + 143.088289, + 46.801661 + ], + [ + 142.5347, + 48.002779 + ], + [ + 143.017763, + 49.139719 + ], + [ + 143.661928, + 49.312212 + ] + ], + [ + [ + 143.661928, + 49.312212 + ], + [ + 143.320253, + 49.313608 + ], + [ + 143.246065, + 49.37916 + ], + [ + 143.661928, + 49.312212 + ] + ] + ], + [ + [ + [ + 142.15497, + 73.889986 + ], + [ + 139.653597, + 73.402208 + ], + [ + 143.505831, + 73.230272 + ], + [ + 143.431917, + 73.522493 + ], + [ + 142.15497, + 73.889986 + ] + ] + ], + [ + [ + [ + 140.910799, + 76.066942 + ], + [ + 141.079409, + 76.109423 + ], + [ + 140.8472, + 76.095537 + ], + [ + 140.910799, + 76.066942 + ] + ] + ], + [ + [ + [ + 141.02054, + 73.992754 + ], + [ + 140.874392, + 74.271105 + ], + [ + 140.072756, + 74.097765 + ], + [ + 141.02054, + 73.992754 + ] + ] + ], + [ + [ + [ + 140.745943, + 75.651857 + ], + [ + 140.769991, + 75.677202 + ], + [ + 140.519442, + 75.705828 + ], + [ + 140.745943, + 75.651857 + ] + ] + ], + [ + [ + [ + 138.516085, + 71.856096 + ], + [ + 138.362459, + 71.885546 + ], + [ + 138.273867, + 71.859987 + ], + [ + 138.516085, + 71.856096 + ] + ] + ], + [ + [ + [ + 137.991335, + 54.885553 + ], + [ + 138.204134, + 55.043886 + ], + [ + 137.57831, + 55.190546 + ], + [ + 137.221315, + 54.773722 + ], + [ + 137.707186, + 54.618326 + ], + [ + 137.991335, + 54.885553 + ] + ] + ], + [ + [ + [ + 137.961092, + 71.503054 + ], + [ + 136.991335, + 71.515551 + ], + [ + 137.676912, + 71.411654 + ], + [ + 137.961092, + 71.503054 + ] + ] + ], + [ + [ + [ + 137.77997, + 54.366388 + ], + [ + 137.913881, + 54.507776 + ], + [ + 137.708315, + 54.368601 + ], + [ + 137.77997, + 54.366388 + ] + ] + ], + [ + [ + [ + 137.632174, + 54.41305 + ], + [ + 137.618563, + 54.565271 + ], + [ + 137.548861, + 54.504999 + ], + [ + 137.632174, + 54.41305 + ] + ] + ], + [ + [ + [ + 137.188295, + 55.102221 + ], + [ + 136.667269, + 54.905062 + ], + [ + 137.046083, + 54.917498 + ], + [ + 137.188295, + 55.102221 + ] + ] + ], + [ + [ + [ + 135.649996, + 74.2036 + ], + [ + 135.353579, + 74.252779 + ], + [ + 136.272493, + 73.935808 + ], + [ + 135.649996, + 74.2036 + ] + ] + ], + [ + [ + [ + 135.653872, + 75.364992 + ], + [ + 136.177767, + 75.619143 + ], + [ + 135.70801, + 75.849993 + ], + [ + 135.444124, + 75.440813 + ], + [ + 135.653872, + 75.364992 + ] + ] + ], + [ + [ + [ + 131.873293, + 42.956942 + ], + [ + 131.917208, + 43.021105 + ], + [ + 131.77997, + 43.04944 + ], + [ + 131.873293, + 42.956942 + ] + ] + ], + [ + [ + [ + 128.143038, + 72.578875 + ], + [ + 126.65027, + 72.436098 + ], + [ + 127.549715, + 72.433321 + ], + [ + 128.763613, + 72.07416 + ], + [ + 129.561098, + 72.225267 + ], + [ + 128.143038, + 72.578875 + ] + ] + ], + [ + [ + [ + 129.355806, + 72.702776 + ], + [ + 128.301912, + 72.787767 + ], + [ + 127.31415, + 72.653322 + ], + [ + 129.355806, + 72.702776 + ] + ] + ], + [ + [ + [ + 129.230257, + 72.831942 + ], + [ + 128.290529, + 72.866091 + ], + [ + 129.298037, + 72.800264 + ], + [ + 129.230257, + 72.831942 + ] + ] + ], + [ + [ + [ + 127.296373, + 73.517214 + ], + [ + 126.659418, + 73.416933 + ], + [ + 126.771929, + 73.076387 + ], + [ + 126.333879, + 72.897219 + ], + [ + 126.449999, + 72.78554 + ], + [ + 126.302469, + 72.501101 + ], + [ + 126.526934, + 72.400545 + ], + [ + 126.589434, + 72.535814 + ], + [ + 129.118288, + 73.094713 + ], + [ + 127.296373, + 73.517214 + ] + ] + ], + [ + [ + [ + 128.838869, + 72.576662 + ], + [ + 128.9722, + 72.590822 + ], + [ + 128.100527, + 72.63196 + ], + [ + 128.838869, + 72.576662 + ] + ] + ], + [ + [ + [ + 128.055544, + 73.483049 + ], + [ + 127.707766, + 73.53554 + ], + [ + 127.388048, + 73.520266 + ], + [ + 128.055544, + 73.483049 + ] + ] + ], + [ + [ + [ + 124.604433, + 73.728594 + ], + [ + 123.376925, + 73.662493 + ], + [ + 123.219149, + 73.404711 + ], + [ + 123.658869, + 73.168047 + ], + [ + 122.428041, + 72.981936 + ], + [ + 124.765001, + 72.670824 + ], + [ + 126.125528, + 72.300539 + ], + [ + 126.34833, + 72.379976 + ], + [ + 126.244432, + 72.518877 + ], + [ + 126.38582, + 72.792757 + ], + [ + 126.278055, + 72.879976 + ], + [ + 126.714998, + 73.084429 + ], + [ + 126.156649, + 73.374422 + ], + [ + 126.30887, + 73.545824 + ], + [ + 125.560259, + 73.403048 + ], + [ + 124.604433, + 73.728594 + ] + ] + ], + [ + [ + [ + 124.545259, + 73.853319 + ], + [ + 124.65999, + 73.898043 + ], + [ + 124.287775, + 73.884432 + ], + [ + 124.545259, + 73.853319 + ] + ] + ], + [ + [ + [ + 122.955835, + 72.863314 + ], + [ + 122.302469, + 72.937487 + ], + [ + 123.605822, + 72.777773 + ], + [ + 122.955835, + 72.863314 + ] + ] + ], + [ + [ + [ + 120.213884, + 73.042482 + ], + [ + 120.086931, + 73.152483 + ], + [ + 119.629702, + 73.114702 + ], + [ + 120.213884, + 73.042482 + ] + ] + ], + [ + [ + [ + 116.06888, + 74.286928 + ], + [ + 116.067492, + 74.369143 + ], + [ + 115.88582, + 74.320269 + ], + [ + 116.06888, + 74.286928 + ] + ] + ], + [ + [ + [ + 113.439974, + 76.360537 + ], + [ + 113.258883, + 76.436373 + ], + [ + 113.118761, + 76.369997 + ], + [ + 113.439974, + 76.360537 + ] + ] + ], + [ + [ + [ + 112.71332, + 74.498873 + ], + [ + 111.455553, + 74.316668 + ], + [ + 112.787775, + 74.091936 + ], + [ + 113.433321, + 74.393877 + ], + [ + 112.71332, + 74.498873 + ] + ] + ], + [ + [ + [ + 112.521929, + 76.622484 + ], + [ + 111.956652, + 76.598604 + ], + [ + 112.713884, + 76.510546 + ], + [ + 112.521929, + 76.622484 + ] + ] + ], + [ + [ + [ + 107.561922, + 77.254992 + ], + [ + 107.666658, + 77.330828 + ], + [ + 107.200274, + 77.233873 + ], + [ + 107.561922, + 77.254992 + ] + ] + ], + [ + [ + [ + 107.635271, + 78.166094 + ], + [ + 106.493044, + 78.121645 + ], + [ + 107.438875, + 78.049425 + ], + [ + 107.635271, + 78.166094 + ] + ] + ], + [ + [ + [ + 106.646654, + 77.376085 + ], + [ + 106.90082, + 77.459154 + ], + [ + 106.504175, + 77.389986 + ], + [ + 106.646654, + 77.376085 + ] + ] + ], + [ + [ + [ + 106.761385, + 78.303591 + ], + [ + 106.458605, + 78.334719 + ], + [ + 105.992754, + 78.214159 + ], + [ + 106.761385, + 78.303591 + ] + ] + ], + [ + [ + [ + 106.402483, + 77.303591 + ], + [ + 106.45833, + 77.315264 + ], + [ + 106.331675, + 77.318056 + ], + [ + 106.402483, + 77.303591 + ] + ] + ], + [ + [ + [ + 105.884722, + 77.261385 + ], + [ + 106.007769, + 77.282488 + ], + [ + 105.78055, + 77.274157 + ], + [ + 105.884722, + 77.261385 + ] + ] + ], + [ + [ + [ + 102.972765, + 79.331377 + ], + [ + 101.550814, + 79.34833 + ], + [ + 100.988878, + 79.061098 + ], + [ + 101.624422, + 78.98221 + ], + [ + 100.893885, + 78.976656 + ], + [ + 101.168055, + 78.758333 + ], + [ + 100.378313, + 78.745256 + ], + [ + 99.341372, + 78.019991 + ], + [ + 105.414431, + 78.564699 + ], + [ + 103.946932, + 79.133333 + ], + [ + 102.393335, + 78.8286 + ], + [ + 102.972765, + 79.331377 + ] + ] + ], + [ + [ + [ + 100.01082, + 79.62221 + ], + [ + 99.903597, + 79.599993 + ], + [ + 100.306643, + 79.664705 + ], + [ + 100.01082, + 79.62221 + ] + ] + ], + [ + [ + [ + 99.945818, + 79.401384 + ], + [ + 100.017763, + 79.433046 + ], + [ + 99.850542, + 79.415545 + ], + [ + 99.945818, + 79.401384 + ] + ] + ], + [ + [ + [ + 97.614992, + 80.165545 + ], + [ + 95.580278, + 80.111376 + ], + [ + 95.269442, + 80.01639 + ], + [ + 94.936647, + 80.099428 + ], + [ + 94.222216, + 79.897768 + ], + [ + 94.616091, + 79.811922 + ], + [ + 92.850817, + 79.553865 + ], + [ + 93.878038, + 79.601381 + ], + [ + 93.69887, + 79.456102 + ], + [ + 94.332491, + 79.465548 + ], + [ + 94.777208, + 79.084429 + ], + [ + 97.304705, + 78.845263 + ], + [ + 99.938875, + 78.953325 + ], + [ + 99.035265, + 79.29027 + ], + [ + 99.659151, + 79.295824 + ], + [ + 100.015268, + 79.82416 + ], + [ + 98.528597, + 80.052477 + ], + [ + 97.193041, + 79.702211 + ], + [ + 98.034426, + 80.067492 + ], + [ + 97.614992, + 80.165545 + ] + ] + ], + [ + [ + [ + 95.958605, + 81.217211 + ], + [ + 93.068605, + 80.994432 + ], + [ + 92.48749, + 80.767488 + ], + [ + 93.325548, + 80.805819 + ], + [ + 91.889437, + 80.457766 + ], + [ + 92.623873, + 80.384996 + ], + [ + 91.421373, + 80.307756 + ], + [ + 93.246645, + 80.305544 + ], + [ + 92.061647, + 80.170259 + ], + [ + 93.753054, + 79.995821 + ], + [ + 94.80971, + 80.139986 + ], + [ + 97.158876, + 80.233599 + ], + [ + 97.426378, + 80.310808 + ], + [ + 97.129152, + 80.662767 + ], + [ + 97.969439, + 80.715548 + ], + [ + 95.958605, + 81.217211 + ] + ] + ], + [ + [ + [ + 97.869982, + 76.770266 + ], + [ + 97.919436, + 76.83832 + ], + [ + 97.729433, + 76.818331 + ], + [ + 97.869982, + 76.770266 + ] + ] + ], + [ + [ + [ + 97.546373, + 76.582216 + ], + [ + 97.440538, + 76.714998 + ], + [ + 97.316378, + 76.606646 + ], + [ + 97.546373, + 76.582216 + ] + ] + ], + [ + [ + [ + 96.766939, + 75.975267 + ], + [ + 97.337282, + 76.102083 + ], + [ + 96.695818, + 76.011385 + ], + [ + 96.766939, + 75.975267 + ] + ] + ], + [ + [ + [ + 96.997484, + 76.277208 + ], + [ + 96.834429, + 76.346941 + ], + [ + 96.711107, + 76.21361 + ], + [ + 96.997484, + 76.277208 + ] + ] + ], + [ + [ + [ + 96.756945, + 76.322771 + ], + [ + 96.383043, + 76.331942 + ], + [ + 96.664705, + 76.292482 + ], + [ + 96.756945, + 76.322771 + ] + ] + ], + [ + [ + [ + 96.366381, + 76.301088 + ], + [ + 95.263613, + 76.213045 + ], + [ + 96.649431, + 76.248873 + ], + [ + 96.366381, + 76.301088 + ] + ] + ], + [ + [ + [ + 96.575548, + 77.130266 + ], + [ + 95.229158, + 76.993319 + ], + [ + 96.166094, + 76.989153 + ], + [ + 96.575548, + 77.130266 + ] + ] + ], + [ + [ + [ + 96.464083, + 76.706011 + ], + [ + 95.889162, + 76.62137 + ], + [ + 96.242205, + 76.609713 + ], + [ + 96.464083, + 76.706011 + ] + ] + ], + [ + [ + [ + 95.598879, + 76.669985 + ], + [ + 95.831942, + 76.685534 + ], + [ + 95.412767, + 76.699709 + ], + [ + 95.598879, + 76.669985 + ] + ] + ], + [ + [ + [ + 95.133043, + 76.702776 + ], + [ + 94.813036, + 76.648882 + ], + [ + 95.326937, + 76.661104 + ], + [ + 95.133043, + 76.702776 + ] + ] + ], + [ + [ + [ + 95.199419, + 76.157763 + ], + [ + 95.084505, + 76.220797 + ], + [ + 95.002779, + 76.172487 + ], + [ + 95.199419, + 76.157763 + ] + ] + ], + [ + [ + [ + 94.997484, + 76.269152 + ], + [ + 94.408037, + 76.204988 + ], + [ + 94.840273, + 76.17943 + ], + [ + 94.997484, + 76.269152 + ] + ] + ], + [ + [ + [ + 94.35721, + 76.574434 + ], + [ + 93.951815, + 76.609819 + ], + [ + 93.869982, + 76.584993 + ], + [ + 94.35721, + 76.574434 + ] + ] + ], + [ + [ + [ + 94.307756, + 80.016939 + ], + [ + 93.988253, + 80.009783 + ], + [ + 93.927477, + 79.968325 + ], + [ + 94.307756, + 80.016939 + ] + ] + ], + [ + [ + [ + 91.176378, + 80.053041 + ], + [ + 90.864428, + 80.057207 + ], + [ + 92.349993, + 79.72777 + ], + [ + 91.921648, + 79.673311 + ], + [ + 93.808596, + 79.888323 + ], + [ + 91.176378, + 80.053041 + ] + ] + ], + [ + [ + [ + 93.750551, + 78.155825 + ], + [ + 93.640276, + 78.222765 + ], + [ + 93.519716, + 78.187761 + ], + [ + 93.750551, + 78.155825 + ] + ] + ], + [ + [ + [ + 92.805544, + 79.382479 + ], + [ + 92.987764, + 79.416933 + ], + [ + 92.582216, + 79.406939 + ], + [ + 92.805544, + 79.382479 + ] + ] + ], + [ + [ + [ + 92.702211, + 79.071383 + ], + [ + 92.725542, + 79.074999 + ], + [ + 92.182619, + 79.127184 + ], + [ + 92.702211, + 79.071383 + ] + ] + ], + [ + [ + [ + 92.467485, + 79.429979 + ], + [ + 91.804155, + 79.412493 + ], + [ + 92.243593, + 79.379976 + ], + [ + 92.467485, + 79.429979 + ] + ] + ], + [ + [ + [ + 91.966387, + 77.599993 + ], + [ + 92.037767, + 77.630816 + ], + [ + 91.739702, + 77.647219 + ], + [ + 91.966387, + 77.599993 + ] + ] + ], + [ + [ + [ + 91.651094, + 79.651094 + ], + [ + 91.858873, + 79.664705 + ], + [ + 91.124422, + 79.72249 + ], + [ + 91.651094, + 79.651094 + ] + ] + ], + [ + [ + [ + 91.250277, + 81.063036 + ], + [ + 91.577211, + 81.143053 + ], + [ + 89.893602, + 81.168596 + ], + [ + 91.250277, + 81.063036 + ] + ] + ], + [ + [ + [ + 91.468599, + 79.454714 + ], + [ + 91.166094, + 79.526934 + ], + [ + 90.781939, + 79.54915 + ], + [ + 91.468599, + 79.454714 + ] + ] + ], + [ + [ + [ + 90.180269, + 77.115816 + ], + [ + 89.829714, + 77.140825 + ], + [ + 89.967211, + 77.113039 + ], + [ + 90.180269, + 77.115816 + ] + ] + ], + [ + [ + [ + 89.681658, + 77.284426 + ], + [ + 89.13582, + 77.204988 + ], + [ + 89.485262, + 77.179979 + ], + [ + 89.681658, + 77.284426 + ] + ] + ], + [ + [ + [ + 88.664705, + 77.096376 + ], + [ + 88.783052, + 77.004992 + ], + [ + 88.957216, + 77.125811 + ], + [ + 88.664705, + 77.096376 + ] + ] + ], + [ + [ + [ + 87.049715, + 74.979158 + ], + [ + 86.211107, + 74.898607 + ], + [ + 86.835268, + 74.826387 + ], + [ + 87.049715, + 74.979158 + ] + ] + ], + [ + [ + [ + 86.4872, + 73.908876 + ], + [ + 86.301378, + 73.977205 + ], + [ + 86.223314, + 73.966387 + ], + [ + 86.4872, + 73.908876 + ] + ] + ], + [ + [ + [ + 86.212496, + 74.518328 + ], + [ + 85.82361, + 74.570269 + ], + [ + 85.659426, + 74.470537 + ], + [ + 86.212496, + 74.518328 + ] + ] + ], + [ + [ + [ + 85.534426, + 74.127474 + ], + [ + 85.73279, + 74.168627 + ], + [ + 85.408876, + 74.189699 + ], + [ + 85.534426, + 74.127474 + ] + ] + ], + [ + [ + [ + 85.65555, + 74.791658 + ], + [ + 85.095537, + 74.747759 + ], + [ + 85.700274, + 74.721651 + ], + [ + 85.65555, + 74.791658 + ] + ] + ], + [ + [ + [ + 85.439425, + 74.4536 + ], + [ + 85.653322, + 74.529436 + ], + [ + 85.144991, + 74.54027 + ], + [ + 85.439425, + 74.4536 + ] + ] + ], + [ + [ + [ + 84.945253, + 74.47777 + ], + [ + 84.373034, + 74.448595 + ], + [ + 84.744432, + 74.395266 + ], + [ + 84.945253, + 74.47777 + ] + ] + ], + [ + [ + [ + 84.419146, + 74.031939 + ], + [ + 83.879427, + 74.006655 + ], + [ + 84.389437, + 73.955553 + ], + [ + 84.419146, + 74.031939 + ] + ] + ], + [ + [ + [ + 83.550264, + 70.46361 + ], + [ + 83.624422, + 70.524157 + ], + [ + 83.412493, + 70.440264 + ], + [ + 83.379702, + 70.364992 + ], + [ + 83.533602, + 70.377199 + ], + [ + 83.612764, + 70.437761 + ], + [ + 83.550264, + 70.46361 + ] + ] + ], + [ + [ + [ + 83.615816, + 74.09305 + ], + [ + 83.202776, + 74.149721 + ], + [ + 82.815813, + 74.091097 + ], + [ + 83.615816, + 74.09305 + ] + ] + ], + [ + [ + [ + 83.37221, + 70.686098 + ], + [ + 83.214159, + 70.807207 + ], + [ + 83.069719, + 70.397768 + ], + [ + 83.37221, + 70.686098 + ] + ] + ], + [ + [ + [ + 82.97304, + 75.969149 + ], + [ + 82.257219, + 75.958605 + ], + [ + 83.302477, + 75.941362 + ], + [ + 82.97304, + 75.969149 + ] + ] + ], + [ + [ + [ + 83.096941, + 70.124987 + ], + [ + 83.113604, + 70.193316 + ], + [ + 83.082766, + 70.218599 + ], + [ + 82.863878, + 70.251665 + ], + [ + 82.768602, + 70.208879 + ], + [ + 83.096941, + 70.124987 + ] + ] + ], + [ + [ + [ + 82.609713, + 74.048601 + ], + [ + 82.736376, + 74.098879 + ], + [ + 82.314699, + 74.114428 + ], + [ + 82.609713, + 74.048601 + ] + ] + ], + [ + [ + [ + 82.560259, + 77.461931 + ], + [ + 82.443865, + 77.510271 + ], + [ + 82.120256, + 77.50638 + ], + [ + 82.560259, + 77.461931 + ] + ] + ], + [ + [ + [ + 82.105822, + 75.412203 + ], + [ + 81.493044, + 75.358324 + ], + [ + 82.011934, + 75.172213 + ], + [ + 82.291933, + 75.330553 + ], + [ + 82.105822, + 75.412203 + ] + ] + ], + [ + [ + [ + 81.600267, + 75.935259 + ], + [ + 81.550814, + 75.923601 + ], + [ + 82.256945, + 75.869432 + ], + [ + 81.600267, + 75.935259 + ] + ] + ], + [ + [ + [ + 82.151934, + 75.115541 + ], + [ + 82.107485, + 75.158327 + ], + [ + 82.027208, + 75.128313 + ], + [ + 82.151934, + 75.115541 + ] + ] + ], + [ + [ + [ + 79.977205, + 80.952486 + ], + [ + 78.972765, + 80.837496 + ], + [ + 80.437761, + 80.926378 + ], + [ + 79.977205, + 80.952486 + ] + ] + ], + [ + [ + [ + 80.360537, + 73.500277 + ], + [ + 80.403597, + 73.546099 + ], + [ + 80.056643, + 73.555819 + ], + [ + 80.360537, + 73.500277 + ] + ] + ], + [ + [ + [ + 79.38611, + 74.617205 + ], + [ + 79.149157, + 74.603045 + ], + [ + 79.6122, + 74.594988 + ], + [ + 79.38611, + 74.617205 + ] + ] + ], + [ + [ + [ + 79.570833, + 72.730272 + ], + [ + 79.194704, + 73.095827 + ], + [ + 78.5786, + 72.845537 + ], + [ + 79.570833, + 72.730272 + ] + ] + ], + [ + [ + [ + 77.762499, + 72.295259 + ], + [ + 78.393053, + 72.489153 + ], + [ + 77.620256, + 72.630541 + ], + [ + 76.854708, + 72.329988 + ], + [ + 77.762499, + 72.295259 + ] + ] + ], + [ + [ + [ + 76.232485, + 79.601381 + ], + [ + 77.619707, + 79.512209 + ], + [ + 76.041933, + 79.634722 + ], + [ + 76.232485, + 79.601381 + ] + ] + ], + [ + [ + [ + 76.390276, + 73.52083 + ], + [ + 76.07416, + 73.521379 + ], + [ + 76.7661, + 73.43387 + ], + [ + 76.390276, + 73.52083 + ] + ] + ], + [ + [ + [ + 76.452776, + 73.190538 + ], + [ + 76.122759, + 73.207216 + ], + [ + 76.73749, + 73.153597 + ], + [ + 76.452776, + 73.190538 + ] + ] + ], + [ + [ + [ + 76.077776, + 73.558031 + ], + [ + 75.621096, + 73.54999 + ], + [ + 75.306322, + 73.418337 + ], + [ + 76.077776, + 73.558031 + ] + ] + ], + [ + [ + [ + 74.862764, + 73.089708 + ], + [ + 74.089708, + 73.02054 + ], + [ + 74.654436, + 72.855822 + ], + [ + 74.862764, + 73.089708 + ] + ] + ], + [ + [ + [ + 72.993044, + 72.60248 + ], + [ + 72.984987, + 72.676088 + ], + [ + 72.840548, + 72.67499 + ], + [ + 72.993044, + 72.60248 + ] + ] + ], + [ + [ + [ + 71.046938, + 73.500002 + ], + [ + 69.974428, + 73.407213 + ], + [ + 69.866381, + 73.032763 + ], + [ + 71.676653, + 73.176928 + ], + [ + 70.999147, + 73.288881 + ], + [ + 71.265001, + 73.436373 + ], + [ + 71.046938, + 73.500002 + ] + ] + ], + [ + [ + [ + 71.341097, + 73.324999 + ], + [ + 71.262774, + 73.414156 + ], + [ + 71.139986, + 73.289705 + ], + [ + 71.341097, + 73.324999 + ] + ] + ], + [ + [ + [ + 69.252214, + 66.78998 + ], + [ + 69.12665, + 66.788591 + ], + [ + 69.419436, + 66.769716 + ], + [ + 69.841097, + 66.478319 + ], + [ + 70.104433, + 66.531099 + ], + [ + 70.055254, + 66.703325 + ], + [ + 69.252214, + 66.78998 + ] + ] + ], + [ + [ + [ + 70.033876, + 66.723879 + ], + [ + 69.9536, + 66.76111 + ], + [ + 69.789156, + 66.780275 + ], + [ + 70.033876, + 66.723879 + ] + ] + ], + [ + [ + [ + 69.334993, + 66.654436 + ], + [ + 69.33333, + 66.718874 + ], + [ + 69.243319, + 66.693316 + ], + [ + 69.334993, + 66.654436 + ] + ] + ], + [ + [ + [ + 68.2661, + 76.958605 + ], + [ + 64.109713, + 76.311373 + ], + [ + 61.066385, + 76.273882 + ], + [ + 60.750002, + 76.006105 + ], + [ + 58.00139, + 75.67415 + ], + [ + 58.194712, + 75.58832 + ], + [ + 57.503328, + 75.492479 + ], + [ + 57.737215, + 75.323046 + ], + [ + 55.797777, + 75.146379 + ], + [ + 56.678606, + 74.952211 + ], + [ + 55.829721, + 74.796099 + ], + [ + 56.984583, + 74.687151 + ], + [ + 55.571665, + 74.659716 + ], + [ + 56.290552, + 74.491365 + ], + [ + 55.073328, + 74.264437 + ], + [ + 55.866388, + 74.10248 + ], + [ + 53.630548, + 73.755266 + ], + [ + 55.176104, + 73.706102 + ], + [ + 54.220545, + 73.323046 + ], + [ + 54.971659, + 73.442202 + ], + [ + 55.977488, + 73.317492 + ], + [ + 55.90777, + 73.440264 + ], + [ + 56.75889, + 73.246935 + ], + [ + 57.253328, + 73.487764 + ], + [ + 56.723047, + 73.673601 + ], + [ + 57.613611, + 73.662203 + ], + [ + 56.555826, + 73.882204 + ], + [ + 57.715273, + 73.713045 + ], + [ + 57.911661, + 73.915545 + ], + [ + 57.257502, + 74.076097 + ], + [ + 58.135828, + 73.985262 + ], + [ + 58.742769, + 74.266939 + ], + [ + 58.183352, + 74.573534 + ], + [ + 59.147219, + 74.438585 + ], + [ + 59.169443, + 74.719713 + ], + [ + 59.773325, + 74.591097 + ], + [ + 59.509996, + 74.794985 + ], + [ + 60.318605, + 74.760546 + ], + [ + 60.680277, + 74.933321 + ], + [ + 59.925554, + 74.999147 + ], + [ + 61.287775, + 75.326097 + ], + [ + 68.861101, + 76.541933 + ], + [ + 68.931368, + 76.782763 + ], + [ + 68.2661, + 76.958605 + ] + ] + ], + [ + [ + [ + 67.383043, + 68.777483 + ], + [ + 67.338594, + 68.819155 + ], + [ + 67.148882, + 68.821932 + ], + [ + 67.383043, + 68.777483 + ] + ] + ], + [ + [ + [ + 67.252489, + 69.444704 + ], + [ + 67.33832, + 69.588884 + ], + [ + 67.021105, + 69.486101 + ], + [ + 67.252489, + 69.444704 + ] + ] + ], + [ + [ + [ + 67.13109, + 69.361376 + ], + [ + 67.210543, + 69.425814 + ], + [ + 66.938036, + 69.44359 + ], + [ + 67.13109, + 69.361376 + ] + ] + ], + [ + [ + [ + 66.171923, + 69.08777 + ], + [ + 65.951937, + 69.093874 + ], + [ + 66.537767, + 68.94359 + ], + [ + 66.171923, + 69.08777 + ] + ] + ], + [ + [ + [ + 65.452486, + 81.027773 + ], + [ + 64.483599, + 81.191088 + ], + [ + 62.504168, + 80.818331 + ], + [ + 64.303041, + 80.729982 + ], + [ + 65.452486, + 81.027773 + ] + ] + ], + [ + [ + [ + 62.793329, + 81.708605 + ], + [ + 62.104166, + 81.672487 + ], + [ + 63.802774, + 81.653322 + ], + [ + 62.793329, + 81.708605 + ] + ] + ], + [ + [ + [ + 62.218325, + 80.811098 + ], + [ + 59.220827, + 80.642763 + ], + [ + 61.066103, + 80.403597 + ], + [ + 62.218325, + 80.811098 + ] + ] + ], + [ + [ + [ + 62.080828, + 81.544146 + ], + [ + 62.203608, + 81.564989 + ], + [ + 61.654436, + 81.603045 + ], + [ + 62.080828, + 81.544146 + ] + ] + ], + [ + [ + [ + 60.98527, + 80.916094 + ], + [ + 61.654161, + 81.110811 + ], + [ + 60.024996, + 80.991655 + ], + [ + 60.98527, + 80.916094 + ] + ] + ], + [ + [ + [ + 60.638887, + 81.272219 + ], + [ + 59.722216, + 81.283327 + ], + [ + 60.377489, + 81.244143 + ], + [ + 60.638887, + 81.272219 + ] + ] + ], + [ + [ + [ + 59.461107, + 70.276659 + ], + [ + 59.033052, + 70.478868 + ], + [ + 58.408602, + 70.250277 + ], + [ + 59.601664, + 69.712496 + ], + [ + 60.546106, + 69.79915 + ], + [ + 59.461107, + 70.276659 + ] + ] + ], + [ + [ + [ + 60.47249, + 76.15999 + ], + [ + 60.041109, + 76.156939 + ], + [ + 59.866106, + 76.104158 + ], + [ + 60.47249, + 76.15999 + ] + ] + ], + [ + [ + [ + 60.261667, + 80.163317 + ], + [ + 60.289438, + 80.166933 + ], + [ + 59.897776, + 80.191652 + ], + [ + 60.261667, + 80.163317 + ] + ] + ], + [ + [ + [ + 59.76639, + 81.170259 + ], + [ + 59.844713, + 81.179979 + ], + [ + 59.010828, + 81.207216 + ], + [ + 59.76639, + 81.170259 + ] + ] + ], + [ + [ + [ + 59.42222, + 79.920259 + ], + [ + 59.844713, + 80.068331 + ], + [ + 58.759165, + 80.022768 + ], + [ + 59.42222, + 79.920259 + ] + ] + ], + [ + [ + [ + 59.2875, + 81.742754 + ], + [ + 59.437769, + 81.816668 + ], + [ + 57.888887, + 81.706942 + ], + [ + 59.2875, + 81.742754 + ] + ] + ], + [ + [ + [ + 59.053324, + 81.28499 + ], + [ + 59.381662, + 81.32416 + ], + [ + 58.461939, + 81.338594 + ], + [ + 59.053324, + 81.28499 + ] + ] + ], + [ + [ + [ + 59.192492, + 75.888048 + ], + [ + 59.27833, + 75.908327 + ], + [ + 58.993608, + 75.8911 + ], + [ + 59.192492, + 75.888048 + ] + ] + ], + [ + [ + [ + 57.968325, + 80.489428 + ], + [ + 56.946383, + 80.474428 + ], + [ + 57.718599, + 80.09833 + ], + [ + 59.276384, + 80.334154 + ], + [ + 57.968325, + 80.489428 + ] + ] + ], + [ + [ + [ + 58.754717, + 75.896944 + ], + [ + 59.266939, + 75.969439 + ], + [ + 58.694712, + 75.899431 + ], + [ + 58.754717, + 75.896944 + ] + ] + ], + [ + [ + [ + 59.239435, + 69.175814 + ], + [ + 59.19388, + 69.233873 + ], + [ + 58.760553, + 69.333605 + ], + [ + 59.239435, + 69.175814 + ] + ] + ], + [ + [ + [ + 59.033884, + 74.34276 + ], + [ + 59.08111, + 74.409151 + ], + [ + 58.934992, + 74.358324 + ], + [ + 59.033884, + 74.34276 + ] + ] + ], + [ + [ + [ + 58.68638, + 79.944704 + ], + [ + 58.279161, + 79.926653 + ], + [ + 58.988047, + 79.89554 + ], + [ + 58.68638, + 79.944704 + ] + ] + ], + [ + [ + [ + 58.986658, + 80.791658 + ], + [ + 58.756662, + 80.896105 + ], + [ + 57.816385, + 80.805819 + ], + [ + 58.986658, + 80.791658 + ] + ] + ], + [ + [ + [ + 58.855272, + 80.640276 + ], + [ + 58.537775, + 80.605822 + ], + [ + 58.806383, + 80.582766 + ], + [ + 58.855272, + 80.640276 + ] + ] + ], + [ + [ + [ + 58.758051, + 81.07332 + ], + [ + 58.808046, + 81.09749 + ], + [ + 58.515276, + 81.104433 + ], + [ + 58.758051, + 81.07332 + ] + ] + ], + [ + [ + [ + 58.490831, + 81.55887 + ], + [ + 58.719713, + 81.599718 + ], + [ + 58.226656, + 81.581377 + ], + [ + 58.490831, + 81.55887 + ] + ] + ], + [ + [ + [ + 58.533335, + 80.953051 + ], + [ + 58.698877, + 81.025545 + ], + [ + 57.834162, + 81.045259 + ], + [ + 58.533335, + 80.953051 + ] + ] + ], + [ + [ + [ + 58.445269, + 81.114153 + ], + [ + 58.648607, + 81.134996 + ], + [ + 58.149439, + 81.128862 + ], + [ + 58.445269, + 81.114153 + ] + ] + ], + [ + [ + [ + 57.796663, + 81.529985 + ], + [ + 56.741381, + 81.448595 + ], + [ + 58.572496, + 81.411928 + ], + [ + 57.796663, + 81.529985 + ] + ] + ], + [ + [ + [ + 56.242495, + 81.101091 + ], + [ + 56.096384, + 81.089159 + ], + [ + 58.278605, + 80.91971 + ], + [ + 56.242495, + 81.101091 + ] + ] + ], + [ + [ + [ + 57.564997, + 81.125261 + ], + [ + 58.080553, + 81.209719 + ], + [ + 56.994715, + 81.165545 + ], + [ + 57.564997, + 81.125261 + ] + ] + ], + [ + [ + [ + 58.010553, + 80.6411 + ], + [ + 57.213053, + 80.603594 + ], + [ + 57.870829, + 80.553316 + ], + [ + 58.010553, + 80.6411 + ] + ] + ], + [ + [ + [ + 57.920832, + 68.803316 + ], + [ + 57.199999, + 68.718874 + ], + [ + 57.864717, + 68.761934 + ], + [ + 57.920832, + 68.803316 + ] + ] + ], + [ + [ + [ + 57.458048, + 81.313601 + ], + [ + 55.431665, + 81.271654 + ], + [ + 57.902773, + 81.29027 + ], + [ + 57.458048, + 81.313601 + ] + ] + ], + [ + [ + [ + 54.749437, + 81.109713 + ], + [ + 54.418329, + 81.006105 + ], + [ + 57.720827, + 80.792482 + ], + [ + 54.749437, + 81.109713 + ] + ] + ], + [ + [ + [ + 55.331667, + 73.329988 + ], + [ + 54.914438, + 73.422213 + ], + [ + 53.153322, + 73.155825 + ], + [ + 53.381937, + 72.88109 + ], + [ + 52.376383, + 72.724703 + ], + [ + 53.219439, + 72.647219 + ], + [ + 52.74888, + 72.633043 + ], + [ + 53.09749, + 72.594713 + ], + [ + 52.397219, + 72.076097 + ], + [ + 51.574442, + 72.070833 + ], + [ + 51.416101, + 71.737764 + ], + [ + 51.79722, + 71.474993 + ], + [ + 53.355829, + 71.567217 + ], + [ + 53.480547, + 71.291658 + ], + [ + 53.929438, + 71.466936 + ], + [ + 53.453325, + 71.26111 + ], + [ + 54.244997, + 71.12665 + ], + [ + 53.508333, + 71.086107 + ], + [ + 53.743326, + 70.943041 + ], + [ + 53.46361, + 70.813875 + ], + [ + 55.186319, + 70.552065 + ], + [ + 57.639994, + 70.726381 + ], + [ + 56.228045, + 71.194139 + ], + [ + 55.221018, + 71.925615 + ], + [ + 55.57583, + 72.195818 + ], + [ + 55.118052, + 72.44803 + ], + [ + 55.945543, + 72.666658 + ], + [ + 55.429438, + 72.784151 + ], + [ + 56.262217, + 72.960817 + ], + [ + 55.615274, + 72.961382 + ], + [ + 56.588602, + 73.137499 + ], + [ + 55.331667, + 73.329988 + ] + ] + ], + [ + [ + [ + 57.204714, + 70.508883 + ], + [ + 56.841661, + 70.599154 + ], + [ + 56.96583, + 70.517488 + ], + [ + 57.204714, + 70.508883 + ] + ] + ], + [ + [ + [ + 57.096941, + 80.34305 + ], + [ + 55.71361, + 80.101091 + ], + [ + 57.050547, + 80.074999 + ], + [ + 57.096941, + 80.34305 + ] + ] + ], + [ + [ + [ + 56.778879, + 80.735811 + ], + [ + 55.432497, + 80.70833 + ], + [ + 56.948603, + 80.692751 + ], + [ + 56.778879, + 80.735811 + ] + ] + ], + [ + [ + [ + 56.308046, + 80.381365 + ], + [ + 55.873049, + 80.435259 + ], + [ + 55.786112, + 80.407213 + ], + [ + 56.308046, + 80.381365 + ] + ] + ], + [ + [ + [ + 55.449999, + 80.851381 + ], + [ + 53.97555, + 80.817492 + ], + [ + 55.982767, + 80.795824 + ], + [ + 55.449999, + 80.851381 + ] + ] + ], + [ + [ + [ + 55.151102, + 80.220263 + ], + [ + 55.543886, + 80.293871 + ], + [ + 54.8575, + 80.252489 + ], + [ + 55.151102, + 80.220263 + ] + ] + ], + [ + [ + [ + 55.472315, + 68.909044 + ], + [ + 55.508425, + 68.912111 + ], + [ + 55.224566, + 68.909868 + ], + [ + 55.472315, + 68.909044 + ] + ] + ], + [ + [ + [ + 55.366938, + 80.428865 + ], + [ + 54.977488, + 80.416933 + ], + [ + 55.167498, + 80.369432 + ], + [ + 55.366938, + 80.428865 + ] + ] + ], + [ + [ + [ + 55.015833, + 80.556932 + ], + [ + 54.641108, + 80.528048 + ], + [ + 55.16305, + 80.494707 + ], + [ + 55.015833, + 80.556932 + ] + ] + ], + [ + [ + [ + 54.637217, + 80.393602 + ], + [ + 54.863054, + 80.450274 + ], + [ + 54.370272, + 80.405825 + ], + [ + 54.637217, + 80.393602 + ] + ] + ], + [ + [ + [ + 54.654161, + 68.955828 + ], + [ + 54.694155, + 68.991365 + ], + [ + 54.567774, + 68.955828 + ], + [ + 54.654161, + 68.955828 + ] + ] + ], + [ + [ + [ + 54.301661, + 80.419146 + ], + [ + 54.458887, + 80.498034 + ], + [ + 53.779993, + 80.469439 + ], + [ + 54.301661, + 80.419146 + ] + ] + ], + [ + [ + [ + 54.221933, + 80.204165 + ], + [ + 54.439714, + 80.298601 + ], + [ + 54.151384, + 80.299425 + ], + [ + 54.221933, + 80.204165 + ] + ] + ], + [ + [ + [ + 54.293612, + 81.33333 + ], + [ + 54.114717, + 81.347216 + ], + [ + 54.421938, + 81.270266 + ], + [ + 54.293612, + 81.33333 + ] + ] + ], + [ + [ + [ + 54.211939, + 68.249712 + ], + [ + 54.336939, + 68.303865 + ], + [ + 54.283052, + 68.336657 + ], + [ + 54.211939, + 68.249712 + ] + ] + ], + [ + [ + [ + 53.949717, + 68.292757 + ], + [ + 54.01333, + 68.3622 + ], + [ + 53.868883, + 68.346102 + ], + [ + 53.949717, + 68.292757 + ] + ] + ], + [ + [ + [ + 53.621103, + 80.294985 + ], + [ + 52.181383, + 80.271929 + ], + [ + 53.87166, + 80.256655 + ], + [ + 53.621103, + 80.294985 + ] + ] + ], + [ + [ + [ + 53.59527, + 71.110262 + ], + [ + 53.542498, + 71.18387 + ], + [ + 53.432497, + 71.136934 + ], + [ + 53.59527, + 71.110262 + ] + ] + ], + [ + [ + [ + 53.442217, + 80.484987 + ], + [ + 53.398607, + 80.62665 + ], + [ + 53.105272, + 80.619982 + ], + [ + 53.442217, + 80.484987 + ] + ] + ], + [ + [ + [ + 53.360552, + 71.292208 + ], + [ + 53.12916, + 71.358599 + ], + [ + 53.204165, + 71.311098 + ], + [ + 53.360552, + 71.292208 + ] + ] + ], + [ + [ + [ + 52.858606, + 71.378313 + ], + [ + 52.208887, + 71.305544 + ], + [ + 53.141939, + 70.978319 + ], + [ + 53.207499, + 71.251101 + ], + [ + 52.858606, + 71.378313 + ] + ] + ], + [ + [ + [ + 52.452494, + 80.321108 + ], + [ + 52.521379, + 80.330828 + ], + [ + 52.166666, + 80.350267 + ], + [ + 52.452494, + 80.321108 + ] + ] + ], + [ + [ + [ + 50.133051, + 80.846651 + ], + [ + 50.441378, + 80.903872 + ], + [ + 48.954165, + 80.731371 + ], + [ + 49.681383, + 80.717485 + ], + [ + 49.192217, + 80.521379 + ], + [ + 47.380274, + 80.450548 + ], + [ + 48.183878, + 80.331377 + ], + [ + 46.616388, + 80.290819 + ], + [ + 48.374163, + 80.087206 + ], + [ + 49.113054, + 80.182756 + ], + [ + 48.622766, + 80.300264 + ], + [ + 48.809717, + 80.376375 + ], + [ + 51.746943, + 80.712206 + ], + [ + 50.133051, + 80.846651 + ] + ] + ], + [ + [ + [ + 51.204996, + 80.038042 + ], + [ + 50.043886, + 79.97304 + ], + [ + 51.50194, + 79.931658 + ], + [ + 51.204996, + 80.038042 + ] + ] + ], + [ + [ + [ + 50.814157, + 68.37221 + ], + [ + 51.456659, + 68.476931 + ], + [ + 51.163881, + 68.495256 + ], + [ + 50.814157, + 68.37221 + ] + ] + ], + [ + [ + [ + 50.597216, + 81.046099 + ], + [ + 50.983332, + 81.100542 + ], + [ + 50.34749, + 81.090273 + ], + [ + 50.597216, + 81.046099 + ] + ] + ], + [ + [ + [ + 50.305269, + 69.161928 + ], + [ + 48.943323, + 69.506945 + ], + [ + 48.312769, + 69.279161 + ], + [ + 48.216105, + 68.894991 + ], + [ + 48.912767, + 68.736101 + ], + [ + 50.305269, + 69.161928 + ] + ] + ], + [ + [ + [ + 50.252779, + 80.146379 + ], + [ + 49.532213, + 80.152208 + ], + [ + 49.97249, + 80.054155 + ], + [ + 50.252779, + 80.146379 + ] + ] + ], + [ + [ + [ + 49.596102, + 80.072771 + ], + [ + 49.330278, + 80.061922 + ], + [ + 49.683054, + 80.036379 + ], + [ + 49.596102, + 80.072771 + ] + ] + ], + [ + [ + [ + 49.37916, + 79.989153 + ], + [ + 49.435266, + 80.002489 + ], + [ + 49.193605, + 80.032213 + ], + [ + 49.37916, + 79.989153 + ] + ] + ], + [ + [ + [ + 47.897776, + 80.803316 + ], + [ + 44.8575, + 80.616381 + ], + [ + 46.036386, + 80.572222 + ], + [ + 46.084162, + 80.436922 + ], + [ + 47.423609, + 80.588884 + ], + [ + 47.303324, + 80.657488 + ], + [ + 47.751665, + 80.76639 + ], + [ + 48.76639, + 80.646379 + ], + [ + 47.897776, + 80.803316 + ] + ] + ], + [ + [ + [ + 48.723314, + 45.69832 + ], + [ + 48.495829, + 45.882212 + ], + [ + 48.591928, + 45.747492 + ], + [ + 48.723314, + 45.69832 + ] + ] + ], + [ + [ + [ + 48.468882, + 45.673883 + ], + [ + 48.404428, + 45.794992 + ], + [ + 48.33777, + 45.797213 + ], + [ + 48.468882, + 45.673883 + ] + ] + ], + [ + [ + [ + 47.962496, + 45.504992 + ], + [ + 47.993876, + 45.536654 + ], + [ + 47.960276, + 45.653048 + ], + [ + 47.962496, + 45.504992 + ] + ] + ], + [ + [ + [ + 47.739717, + 43.932215 + ], + [ + 47.785555, + 43.958879 + ], + [ + 47.628038, + 43.974436 + ], + [ + 47.739717, + 43.932215 + ] + ] + ], + [ + [ + [ + 42.706659, + 66.686373 + ], + [ + 42.622766, + 66.782213 + ], + [ + 42.432497, + 66.758608 + ], + [ + 42.706659, + 66.686373 + ] + ] + ], + [ + [ + [ + 40.412493, + 64.653597 + ], + [ + 39.97471, + 64.682756 + ], + [ + 40.471376, + 64.566088 + ], + [ + 40.412493, + 64.653597 + ] + ] + ], + [ + [ + [ + 36.061663, + 65.190264 + ], + [ + 35.943323, + 65.181932 + ], + [ + 36.300829, + 65.201097 + ], + [ + 36.061663, + 65.190264 + ] + ] + ], + [ + [ + [ + 35.991106, + 64.325823 + ], + [ + 36.047495, + 64.355547 + ], + [ + 35.854441, + 64.405825 + ], + [ + 35.991106, + 64.325823 + ] + ] + ], + [ + [ + [ + 35.790834, + 64.973314 + ], + [ + 35.834436, + 65.168322 + ], + [ + 35.524698, + 65.158876 + ], + [ + 35.790834, + 64.973314 + ] + ] + ], + [ + [ + [ + 34.404711, + 69.339434 + ], + [ + 34.213373, + 69.402727 + ], + [ + 33.973047, + 69.366091 + ], + [ + 34.404711, + 69.339434 + ] + ] + ], + [ + [ + [ + 28.693052, + 60.267771 + ], + [ + 28.714998, + 60.31138 + ], + [ + 28.551111, + 60.349436 + ], + [ + 28.693052, + 60.267771 + ] + ] + ], + [ + [ + [ + 21.431387, + 55.25194 + ], + [ + 21.263937, + 55.248987 + ], + [ + 21.222498, + 54.93194 + ], + [ + 20.538054, + 54.949434 + ], + [ + 20.984816, + 55.276552 + ], + [ + 20.942835, + 55.287203 + ], + [ + 19.969442, + 54.957499 + ], + [ + 19.872713, + 54.640551 + ], + [ + 20.405001, + 54.679163 + ], + [ + 19.797007, + 54.437551 + ], + [ + 22.785887, + 54.36384 + ], + [ + 22.842497, + 54.896944 + ], + [ + 21.431387, + 55.25194 + ] + ] + ], + [ + [ + [ + 19.697779, + 54.479441 + ], + [ + 19.898203, + 54.625959 + ], + [ + 19.62726, + 54.463274 + ], + [ + 19.65111, + 54.455828 + ], + [ + 19.697779, + 54.479441 + ] + ] + ], + [ + [ + [ + -169.053345, + 65.749147 + ], + [ + -168.989746, + 65.808855 + ], + [ + -169.075012, + 65.815523 + ], + [ + -169.053345, + 65.749147 + ] + ] + ], + [ + [ + [ + -179.626129, + 68.906359 + ], + [ + -180, + 68.980104 + ], + [ + -180, + 65.068911 + ], + [ + -179.315002, + 65.536089 + ], + [ + -179.79837, + 65.870516 + ], + [ + -179.695587, + 66.183031 + ], + [ + -178.516998, + 66.402773 + ], + [ + -178.909454, + 65.993868 + ], + [ + -178.460541, + 65.736376 + ], + [ + -178.56308, + 65.51639 + ], + [ + -176.078064, + 65.470263 + ], + [ + -175.448883, + 64.784426 + ], + [ + -173.681671, + 64.347216 + ], + [ + -173.41333, + 64.619982 + ], + [ + -173.191406, + 64.254427 + ], + [ + -172.355835, + 64.458315 + ], + [ + -173.200867, + 64.786089 + ], + [ + -172.126129, + 65.086367 + ], + [ + -172.693359, + 65.232759 + ], + [ + -172.190552, + 65.446627 + ], + [ + -172.800293, + 65.681658 + ], + [ + -171.11557, + 65.476366 + ], + [ + -171.544189, + 65.833605 + ], + [ + -170.63559, + 65.610537 + ], + [ + -170.587799, + 65.863604 + ], + [ + -169.691101, + 66.072496 + ], + [ + -170.64447, + 66.2372 + ], + [ + -171.726105, + 66.955248 + ], + [ + -173.352509, + 66.838869 + ], + [ + -173.176697, + 67.063311 + ], + [ + -173.666962, + 67.131655 + ], + [ + -174.652527, + 67.063601 + ], + [ + -174.125275, + 66.989138 + ], + [ + -173.99585, + 66.691347 + ], + [ + -174.30307, + 66.577761 + ], + [ + -173.758667, + 66.44803 + ], + [ + -174.461945, + 66.301073 + ], + [ + -175.000336, + 66.671099 + ], + [ + -174.742798, + 66.773043 + ], + [ + -174.830292, + 67.382738 + ], + [ + -175.38031, + 67.344988 + ], + [ + -175.191101, + 67.510805 + ], + [ + -175.463623, + 67.707476 + ], + [ + -179.626129, + 68.906359 + ] + ] + ], + [ + [ + [ + -172.590576, + 64.70331 + ], + [ + -172.171112, + 64.795259 + ], + [ + -172.531158, + 64.843035 + ], + [ + -172.590576, + 64.70331 + ] + ] + ], + [ + [ + [ + -172.544464, + 64.613314 + ], + [ + -172.488312, + 64.633608 + ], + [ + -172.758087, + 64.660799 + ], + [ + -172.544464, + 64.613314 + ] + ] + ], + [ + [ + [ + -175.62085, + 71.377764 + ], + [ + -175.764191, + 71.42441 + ], + [ + -175.923615, + 71.425814 + ], + [ + -175.62085, + 71.377764 + ] + ] + ], + [ + [ + [ + -178.568604, + 71.56415 + ], + [ + -180, + 71.535845 + ], + [ + -180, + 70.99721 + ], + [ + -177.439453, + 71.226931 + ], + [ + -178.568604, + 71.56415 + ] + ] + ] + ] + }, + "name" : "Russia", + "iso2" : "RU", + "iso3" : "RUS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "8r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 29.024441, + -2.744722 + ], + [ + 29.85083, + -2.759722 + ], + [ + 29.952221, + -2.309445 + ], + [ + 30.57333, + -2.399167 + ], + [ + 30.894165, + -2.076111 + ], + [ + 30.48222, + -1.063334 + ], + [ + 29.974998, + -1.464445 + ], + [ + 29.596943, + -1.385834 + ], + [ + 28.868332, + -2.394444 + ], + [ + 29.024441, + -2.744722 + ] + ] + ] + }, + "name" : "Rwanda", + "iso2" : "RW", + "iso3" : "RWA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "871E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 41.957773, + 16.708887 + ], + [ + 42.179995, + 16.566946 + ], + [ + 41.753611, + 16.876112 + ], + [ + 41.957773, + 16.708887 + ] + ] + ], + [ + [ + [ + 41.986666, + 16.753332 + ], + [ + 41.845552, + 17.009165 + ], + [ + 41.837221, + 16.868612 + ], + [ + 41.986666, + 16.753332 + ] + ] + ], + [ + [ + [ + 37.080553, + 24.959166 + ], + [ + 37.041666, + 24.996946 + ], + [ + 37.03583, + 24.963057 + ], + [ + 37.080553, + 24.959166 + ] + ] + ], + [ + [ + [ + 35.754717, + 27.094721 + ], + [ + 35.726389, + 27.128611 + ], + [ + 35.757776, + 27.076944 + ], + [ + 35.754717, + 27.094721 + ] + ] + ], + [ + [ + [ + 49.53721, + 27.363607 + ], + [ + 49.452211, + 27.28583 + ], + [ + 49.638613, + 27.316385 + ], + [ + 49.53721, + 27.363607 + ] + ] + ], + [ + [ + [ + 34.593607, + 27.909166 + ], + [ + 34.546663, + 27.99861 + ], + [ + 34.49222, + 27.996111 + ], + [ + 34.593607, + 27.909166 + ] + ] + ], + [ + [ + [ + 44.721663, + 29.198332 + ], + [ + 42.085001, + 31.111662 + ], + [ + 40.413332, + 31.948332 + ], + [ + 39.196745, + 32.154943 + ], + [ + 37.005274, + 31.505556 + ], + [ + 38.00139, + 30.504168 + ], + [ + 37.502779, + 30.002222 + ], + [ + 36.743608, + 29.864721 + ], + [ + 36.070002, + 29.18889 + ], + [ + 34.96139, + 29.360834 + ], + [ + 34.571665, + 28.088888 + ], + [ + 35.160555, + 28.056665 + ], + [ + 37.235552, + 25.182501 + ], + [ + 37.441668, + 24.371389 + ], + [ + 38.452776, + 23.782499 + ], + [ + 39.062777, + 22.583334 + ], + [ + 39.176943, + 21.099165 + ], + [ + 40.759996, + 19.760279 + ], + [ + 42.789682, + 16.377504 + ], + [ + 43.20611, + 16.672224 + ], + [ + 43.309443, + 17.457224 + ], + [ + 44.467501, + 17.411943 + ], + [ + 46.33333, + 16.666666 + ], + [ + 46.333055, + 15.616945 + ], + [ + 48.76639, + 18.26639 + ], + [ + 51.999292, + 18.999346 + ], + [ + 55.000002, + 20.000002 + ], + [ + 55.666109, + 21.999723 + ], + [ + 55.199167, + 22.69972 + ], + [ + 52.58333, + 22.93889 + ], + [ + 51.583612, + 24.259722 + ], + [ + 51.215166, + 24.62089 + ], + [ + 50.830957, + 24.749968 + ], + [ + 49.993891, + 26.019999 + ], + [ + 50.159166, + 26.656668 + ], + [ + 48.838877, + 27.619719 + ], + [ + 48.41659, + 28.545279 + ], + [ + 47.688883, + 28.538885 + ], + [ + 47.459993, + 28.999441 + ], + [ + 46.546946, + 29.1042 + ], + [ + 44.721663, + 29.198332 + ] + ] + ] + ] + }, + "name" : "Saudi Arabia", + "iso2" : "SA", + "iso3" : "SAU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "9L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -62.55278, + 17.094166 + ], + [ + -62.599724, + 17.19722 + ], + [ + -62.621948, + 17.111385 + ], + [ + -62.55278, + 17.094166 + ] + ] + ], + [ + [ + [ + -62.701668, + 17.336941 + ], + [ + -62.863892, + 17.370831 + ], + [ + -62.625282, + 17.220833 + ], + [ + -62.701668, + 17.336941 + ] + ] + ] + ] + }, + "name" : "Saint Kitts and Nevis", + "iso2" : "KN", + "iso3" : "KNA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "9b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 46.491386, + -9.754446 + ], + [ + 46.508331, + -9.717779 + ], + [ + 46.476105, + -9.744167 + ], + [ + 46.491386, + -9.754446 + ] + ] + ], + [ + [ + [ + 46.510551, + -9.396946 + ], + [ + 46.204163, + -9.389446 + ], + [ + 46.269165, + -9.463057 + ], + [ + 46.510551, + -9.396946 + ] + ] + ], + [ + [ + [ + 46.413887, + -9.358891 + ], + [ + 46.426941, + -9.342779 + ], + [ + 46.276665, + -9.346111 + ], + [ + 46.413887, + -9.358891 + ] + ] + ], + [ + [ + [ + 56.282219, + -7.134167 + ], + [ + 56.27861, + -7.110834 + ], + [ + 56.247215, + -7.194445 + ], + [ + 56.282219, + -7.134167 + ] + ] + ], + [ + [ + [ + 55.535271, + -4.763056 + ], + [ + 55.45916, + -4.55139 + ], + [ + 55.376106, + -4.627223 + ], + [ + 55.535271, + -4.763056 + ] + ] + ], + [ + [ + [ + 55.246109, + -4.506945 + ], + [ + 55.26722, + -4.481668 + ], + [ + 55.231667, + -4.448056 + ], + [ + 55.246109, + -4.506945 + ] + ] + ], + [ + [ + [ + 55.775833, + -4.348333 + ], + [ + 55.77166, + -4.315556 + ], + [ + 55.687218, + -4.2875 + ], + [ + 55.775833, + -4.348333 + ] + ] + ] + ] + }, + "name" : "Seychelles", + "iso2" : "SC", + "iso3" : "SYC" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "9r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 37.85083, + -46.956947 + ], + [ + 37.781944, + -46.83223 + ], + [ + 37.576385, + -46.909447 + ], + [ + 37.85083, + -46.956947 + ] + ] + ], + [ + [ + [ + 37.959442, + -46.658615 + ], + [ + 37.942772, + -46.60334 + ], + [ + 37.856941, + -46.626945 + ], + [ + 37.959442, + -46.658615 + ] + ] + ], + [ + [ + [ + 31.297504, + -22.414764 + ], + [ + 29.893887, + -22.194447 + ], + [ + 29.373623, + -22.19241 + ], + [ + 28.298332, + -22.609447 + ], + [ + 26.95919, + -23.752075 + ], + [ + 26.845276, + -24.264446 + ], + [ + 25.871387, + -24.744446 + ], + [ + 25.50972, + -25.67778 + ], + [ + 24.6772, + -25.827824 + ], + [ + 23.014832, + -25.299725 + ], + [ + 22.624809, + -26.111565 + ], + [ + 21.667221, + -26.864445 + ], + [ + 20.642498, + -26.828056 + ], + [ + 20.811386, + -25.883335 + ], + [ + 20.000942, + -24.765408 + ], + [ + 19.99612, + -28.421448 + ], + [ + 19.123055, + -28.962223 + ], + [ + 18.175831, + -28.908611 + ], + [ + 17.40472, + -28.713612 + ], + [ + 17.06361, + -28.028614 + ], + [ + 16.48959, + -28.578178 + ], + [ + 18.27861, + -31.89278 + ], + [ + 18.292221, + -32.624451 + ], + [ + 17.8475, + -32.830833 + ], + [ + 18.441109, + -33.706673 + ], + [ + 18.40472, + -34.30278 + ], + [ + 18.793331, + -34.08667 + ], + [ + 18.817776, + -34.377785 + ], + [ + 20, + -34.822002 + ], + [ + 22.544998, + -34.005005 + ], + [ + 25.701942, + -34.031952 + ], + [ + 25.724998, + -33.767227 + ], + [ + 26.530552, + -33.753334 + ], + [ + 27.899998, + -33.040558 + ], + [ + 30.023888, + -31.281113 + ], + [ + 31.325832, + -29.390835 + ], + [ + 32.390274, + -28.537781 + ], + [ + 32.890427, + -26.847145 + ], + [ + 32.1334, + -26.839626 + ], + [ + 31.987499, + -27.316113 + ], + [ + 31.161663, + -27.203056 + ], + [ + 30.818886, + -26.810558 + ], + [ + 30.902048, + -26.305254 + ], + [ + 31.33083, + -25.751392 + ], + [ + 31.96851, + -25.95784 + ], + [ + 32.016106, + -24.459446 + ], + [ + 31.297504, + -22.414764 + ] + ], + [ + [ + 28.565552, + -28.610001 + ], + [ + 29.430832, + -29.278614 + ], + [ + 29.168888, + -29.913891 + ], + [ + 28.377777, + -30.16028 + ], + [ + 28.079937, + -30.650528 + ], + [ + 27.564617, + -30.404911 + ], + [ + 27.011108, + -29.625278 + ], + [ + 28.565552, + -28.610001 + ] + ] + ] + ] + }, + "name" : "South Africa", + "iso2" : "ZA", + "iso3" : "ZAF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "971E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 28.565552, + -28.610001 + ], + [ + 27.011108, + -29.625278 + ], + [ + 27.564617, + -30.404911 + ], + [ + 28.079937, + -30.650528 + ], + [ + 28.377777, + -30.16028 + ], + [ + 29.168888, + -29.913891 + ], + [ + 29.430832, + -29.278614 + ], + [ + 28.565552, + -28.610001 + ] + ] + ] + }, + "name" : "Lesotho", + "iso2" : "LS", + "iso3" : "LSO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "-L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 20.000942, + -24.765408 + ], + [ + 20.811386, + -25.883335 + ], + [ + 20.642498, + -26.828056 + ], + [ + 21.667221, + -26.864445 + ], + [ + 22.624809, + -26.111565 + ], + [ + 23.014832, + -25.299725 + ], + [ + 24.6772, + -25.827824 + ], + [ + 25.50972, + -25.67778 + ], + [ + 25.871387, + -24.744446 + ], + [ + 26.845276, + -24.264446 + ], + [ + 26.95919, + -23.752075 + ], + [ + 28.298332, + -22.609447 + ], + [ + 29.373623, + -22.19241 + ], + [ + 29.060555, + -21.798058 + ], + [ + 28.015831, + -21.566113 + ], + [ + 27.713165, + -20.506432 + ], + [ + 27.287453, + -20.494965 + ], + [ + 27.219997, + -20.091667 + ], + [ + 26.166111, + -19.527779 + ], + [ + 25.264431, + -17.80225 + ], + [ + 24.362499, + -17.948612 + ], + [ + 23.615578, + -18.485069 + ], + [ + 23.297108, + -17.995949 + ], + [ + 20.993286, + -18.318417 + ], + [ + 20.991943, + -21.996948 + ], + [ + 19.996666, + -22.005001 + ], + [ + 20.000942, + -24.765408 + ] + ] + ] + }, + "name" : "Botswana", + "iso2" : "BW", + "iso3" : "BWA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "-b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -16.527679, + 16.060249 + ], + [ + -16.878334, + 15.224998 + ], + [ + -17.537224, + 14.756109 + ], + [ + -17.148308, + 14.61392 + ], + [ + -16.775837, + 14.012499 + ], + [ + -16.363056, + 14.166111 + ], + [ + -16.747223, + 13.951944 + ], + [ + -16.490837, + 13.958055 + ], + [ + -16.56567, + 13.589998 + ], + [ + -15.070278, + 13.826387 + ], + [ + -13.798613, + 13.406387 + ], + [ + -14.351112, + 13.237778 + ], + [ + -15.111668, + 13.595833 + ], + [ + -15.285002, + 13.374443 + ], + [ + -15.803612, + 13.347776 + ], + [ + -15.809723, + 13.159721 + ], + [ + -16.750874, + 13.059977 + ], + [ + -16.756111, + 12.564999 + ], + [ + -16.598057, + 12.791666 + ], + [ + -15.650002, + 12.555555 + ], + [ + -15.390001, + 12.831944 + ], + [ + -15.626945, + 12.531111 + ], + [ + -16.586945, + 12.632776 + ], + [ + -16.71777, + 12.322426 + ], + [ + -14.516945, + 12.679722 + ], + [ + -13.713139, + 12.677221 + ], + [ + -12.345404, + 12.301748 + ], + [ + -11.373058, + 12.407774 + ], + [ + -11.378056, + 12.988054 + ], + [ + -12.057222, + 13.664721 + ], + [ + -12.244833, + 14.764385 + ], + [ + -14.345278, + 16.638611 + ], + [ + -16.280834, + 16.519722 + ], + [ + -16.527679, + 16.060249 + ] + ] + ] + }, + "name" : "Senegal", + "iso2" : "SN", + "iso3" : "SEN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "-r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 13.718655, + 46.526611 + ], + [ + 13.383055, + 46.297218 + ], + [ + 13.669167, + 46.177498 + ], + [ + 13.48, + 46.011108 + ], + [ + 13.919167, + 45.637497 + ], + [ + 13.716944, + 45.596107 + ], + [ + 13.59174, + 45.481697 + ], + [ + 14.601387, + 45.675278 + ], + [ + 15.174458, + 45.425819 + ], + [ + 15.697777, + 45.844162 + ], + [ + 15.654722, + 46.219444 + ], + [ + 16.572498, + 46.475273 + ], + [ + 16.607872, + 46.476234 + ], + [ + 16.111805, + 46.86972 + ], + [ + 14.544998, + 46.407494 + ], + [ + 13.718655, + 46.526611 + ] + ] + ] + }, + "name" : "Slovenia", + "iso2" : "SI", + "iso3" : "SVN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "-71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -12.525278, + 7.431389 + ], + [ + -12.591112, + 7.634444 + ], + [ + -12.952778, + 7.568333 + ], + [ + -12.525278, + 7.431389 + ] + ] + ], + [ + [ + [ + -10.266651, + 8.488377 + ], + [ + -10.695835, + 8.298611 + ], + [ + -10.571526, + 9.059532 + ], + [ + -11.214445, + 9.997499 + ], + [ + -12.456112, + 9.888332 + ], + [ + -13.29561, + 9.032143 + ], + [ + -13.132223, + 8.861944 + ], + [ + -13.2425, + 8.8025 + ], + [ + -13.165279, + 8.51861 + ], + [ + -12.897501, + 8.567778 + ], + [ + -13.120279, + 8.461666 + ], + [ + -13.05139, + 8.36861 + ], + [ + -13.288057, + 8.496111 + ], + [ + -12.958612, + 7.9 + ], + [ + -11.492331, + 6.927091 + ], + [ + -10.266651, + 8.488377 + ] + ] + ] + ] + }, + "name" : "Sierra Leone", + "iso2" : "SL", + "iso3" : "SLE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "_L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 103.99054, + 1.383291 + ], + [ + 103.713593, + 1.429444 + ], + [ + 103.640808, + 1.315555 + ], + [ + 103.99054, + 1.383291 + ] + ] + ] + }, + "name" : "Singapore", + "iso2" : "SG", + "iso3" : "SGP" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "_b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 42.944092, + 11.002438 + ], + [ + 42.663055, + 10.6325 + ], + [ + 42.848053, + 10.22361 + ], + [ + 44.010551, + 9.007221 + ], + [ + 47.01194, + 8.00111 + ], + [ + 47.988243, + 8.004107 + ], + [ + 44.950829, + 4.902499 + ], + [ + 43.686386, + 4.891944 + ], + [ + 41.905167, + 3.980322 + ], + [ + 40.986595, + 2.829956 + ], + [ + 40.998329, + -0.866111 + ], + [ + 41.558159, + -1.674868 + ], + [ + 43.488609, + 0.649999 + ], + [ + 46.014717, + 2.427778 + ], + [ + 47.954437, + 4.463888 + ], + [ + 50.83625, + 9.432688 + ], + [ + 50.896942, + 10.319721 + ], + [ + 51.412636, + 10.451515 + ], + [ + 51.01416, + 10.442778 + ], + [ + 51.277222, + 11.836666 + ], + [ + 50.76944, + 11.979166 + ], + [ + 50.085548, + 11.511944 + ], + [ + 47.398888, + 11.179998 + ], + [ + 46.448051, + 10.688889 + ], + [ + 45.759995, + 10.875277 + ], + [ + 44.898331, + 10.420555 + ], + [ + 44.278328, + 10.447777 + ], + [ + 43.249222, + 11.469534 + ], + [ + 42.944092, + 11.002438 + ] + ] + ] + }, + "name" : "Somalia", + "iso2" : "SO", + "iso3" : "SOM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "_r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -17.912781, + 27.771666 + ], + [ + -18.170559, + 27.737223 + ], + [ + -17.98278, + 27.637499 + ], + [ + -17.912781, + 27.771666 + ] + ] + ], + [ + [ + [ + -15.554167, + 27.755835 + ], + [ + -15.365557, + 28.010279 + ], + [ + -15.702501, + 28.156111 + ], + [ + -15.554167, + 27.755835 + ] + ] + ], + [ + [ + [ + -17.175003, + 28.016943 + ], + [ + -17.101948, + 28.134722 + ], + [ + -17.316948, + 28.172224 + ], + [ + -17.175003, + 28.016943 + ] + ] + ], + [ + [ + [ + -16.341114, + 28.370279 + ], + [ + -16.156948, + 28.572222 + ], + [ + -16.912781, + 28.341391 + ], + [ + -16.671391, + 27.984167 + ], + [ + -16.341114, + 28.370279 + ] + ] + ], + [ + [ + [ + -14.327223, + 28.046389 + ], + [ + -13.923056, + 28.249166 + ], + [ + -13.869722, + 28.75139 + ], + [ + -14.327223, + 28.046389 + ] + ] + ], + [ + [ + [ + -17.831947, + 28.45389 + ], + [ + -17.716393, + 28.746111 + ], + [ + -17.904446, + 28.849443 + ], + [ + -17.831947, + 28.45389 + ] + ] + ], + [ + [ + [ + -13.609724, + 28.92639 + ], + [ + -13.442501, + 29.231668 + ], + [ + -13.852222, + 28.906389 + ], + [ + -13.609724, + 28.92639 + ] + ] + ], + [ + [ + [ + -2.925278, + 35.266665 + ], + [ + -2.914722, + 35.273607 + ], + [ + -2.946945, + 35.329165 + ], + [ + -2.925278, + 35.266665 + ] + ] + ], + [ + [ + [ + -5.319445, + 35.87694 + ], + [ + -5.395557, + 35.916338 + ], + [ + -5.345833, + 35.841661 + ], + [ + -5.319445, + 35.87694 + ] + ] + ], + [ + [ + [ + -3.03611, + 35.912775 + ], + [ + -3.027222, + 35.92444 + ], + [ + -3.051111, + 35.915834 + ], + [ + -3.03611, + 35.912775 + ] + ] + ], + [ + [ + [ + 1.57778, + 38.687777 + ], + [ + 1.383055, + 38.720552 + ], + [ + 1.39028, + 38.643328 + ], + [ + 1.57778, + 38.687777 + ] + ] + ], + [ + [ + [ + 1.531668, + 38.951944 + ], + [ + 1.519724, + 39.118334 + ], + [ + 1.211946, + 38.898333 + ], + [ + 1.531668, + 38.951944 + ] + ] + ], + [ + [ + [ + 3.247778, + 39.73472 + ], + [ + 2.98778, + 39.911112 + ], + [ + 2.364168, + 39.555834 + ], + [ + 3.063612, + 39.263613 + ], + [ + 3.479723, + 39.711107 + ], + [ + 3.247778, + 39.73472 + ] + ] + ], + [ + [ + [ + 4.273333, + 39.96139 + ], + [ + 3.796946, + 40.017221 + ], + [ + 4.276388, + 39.806391 + ], + [ + 4.273333, + 39.96139 + ] + ] + ], + [ + [ + [ + -7.431854, + 37.253191 + ], + [ + -6.355555, + 36.860834 + ], + [ + -6.0375, + 36.180277 + ], + [ + -5.355799, + 36.163309 + ], + [ + -5.334507, + 36.162561 + ], + [ + -4.398333, + 36.722223 + ], + [ + -2.129166, + 36.731386 + ], + [ + -1.64361, + 37.372774 + ], + [ + -0.715555, + 37.606943 + ], + [ + -0.511667, + 38.324999 + ], + [ + 0.207224, + 38.73221 + ], + [ + -0.338055, + 39.435556 + ], + [ + 0.048891, + 40.036104 + ], + [ + 0.964445, + 41.032778 + ], + [ + 3.17528, + 41.867495 + ], + [ + 3.177656, + 42.436808 + ], + [ + 1.723612, + 42.509439 + ], + [ + 1.445833, + 42.601946 + ], + [ + -0.562222, + 42.781389 + ], + [ + -1.780876, + 43.359926 + ], + [ + -7.044819, + 43.490404 + ], + [ + -7.855555, + 43.759996 + ], + [ + -9.209446, + 43.152773 + ], + [ + -9.041389, + 42.528887 + ], + [ + -8.719446, + 42.695833 + ], + [ + -8.869167, + 42.25139 + ], + [ + -8.579723, + 42.351664 + ], + [ + -8.898613, + 42.108057 + ], + [ + -8.745008, + 41.952501 + ], + [ + -8.201223, + 42.152742 + ], + [ + -8.204723, + 41.87472 + ], + [ + -6.594166, + 41.953608 + ], + [ + -6.187222, + 41.579721 + ], + [ + -6.931667, + 41.018053 + ], + [ + -7.017221, + 39.674997 + ], + [ + -7.532505, + 39.66942 + ], + [ + -6.954792, + 39.026384 + ], + [ + -7.321112, + 38.449442 + ], + [ + -6.939167, + 38.178057 + ], + [ + -7.446945, + 37.699442 + ], + [ + -7.431854, + 37.253191 + ] + ], + [ + [ + -6.924999, + 37.170832 + ], + [ + -6.954166, + 37.180277 + ], + [ + -6.973055, + 37.210276 + ], + [ + -6.924999, + 37.170832 + ] + ] + ] + ] + }, + "name" : "Spain", + "iso2" : "ES", + "iso3" : "ESP" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "_71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -60.954727, + 13.709444 + ], + [ + -60.930283, + 14.109444 + ], + [ + -61.079445, + 13.879999 + ], + [ + -60.954727, + 13.709444 + ] + ] + ] + }, + "name" : "Saint Lucia", + "iso2" : "LC", + "iso3" : "LCA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "AL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 24.047173, + 8.693076 + ], + [ + 24.201111, + 8.686943 + ], + [ + 24.192497, + 8.30361 + ], + [ + 25.25333, + 7.850555 + ], + [ + 25.206944, + 7.497499 + ], + [ + 26.404999, + 6.646388 + ], + [ + 26.437496, + 6.077777 + ], + [ + 27.142776, + 5.771944 + ], + [ + 27.455276, + 5.016388 + ], + [ + 28.363052, + 4.29 + ], + [ + 29.64333, + 4.643611 + ], + [ + 30.858818, + 3.493394 + ], + [ + 31.176666, + 3.795278 + ], + [ + 32.193329, + 3.511389 + ], + [ + 33.016663, + 3.888611 + ], + [ + 33.516937, + 3.752222 + ], + [ + 33.996666, + 4.222777 + ], + [ + 34.388191, + 4.609682 + ], + [ + 35.940552, + 4.622499 + ], + [ + 35.821663, + 5.32861 + ], + [ + 35.301941, + 5.378055 + ], + [ + 34.70472, + 6.677777 + ], + [ + 33.711388, + 7.660277 + ], + [ + 32.991104, + 7.924999 + ], + [ + 33.252777, + 8.458611 + ], + [ + 34.120552, + 8.577221 + ], + [ + 34.195517, + 9.47239 + ], + [ + 33.963393, + 9.464285 + ], + [ + 33.824963, + 9.484061 + ], + [ + 33.842131, + 9.981915 + ], + [ + 33.721959, + 10.325262 + ], + [ + 33.206938, + 10.720112 + ], + [ + 33.086766, + 11.441141 + ], + [ + 33.206938, + 12.179338 + ], + [ + 32.743419, + 12.248008 + ], + [ + 32.67475, + 12.024832 + ], + [ + 32.073892, + 11.97333 + ], + [ + 32.314235, + 11.681484 + ], + [ + 32.400072, + 11.080626 + ], + [ + 31.850716, + 10.531271 + ], + [ + 31.352862, + 9.810241 + ], + [ + 30.837841, + 9.707237 + ], + [ + 29.996639, + 10.290927 + ], + [ + 29.618957, + 10.084919 + ], + [ + 29.515953, + 9.793074 + ], + [ + 29.000932, + 9.604232 + ], + [ + 28.966597, + 9.398224 + ], + [ + 27.97089, + 9.398224 + ], + [ + 27.833551, + 9.604232 + ], + [ + 27.112521, + 9.638567 + ], + [ + 26.752006, + 9.466893 + ], + [ + 26.477328, + 9.55273 + ], + [ + 26.1522, + 9.826436 + ], + [ + 25.962307, + 10.136421 + ], + [ + 25.790633, + 10.411099 + ], + [ + 25.069604, + 10.27376 + ], + [ + 24.794926, + 9.810241 + ], + [ + 24.537415, + 8.917538 + ], + [ + 24.047173, + 8.693076 + ] + ] + ] + }, + "name" : "South Sudan", + "iso2" : "SS", + "iso3" : "SSD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ab1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 16.836666, + 56.826942 + ], + [ + 17.105553, + 57.348328 + ], + [ + 16.42083, + 56.211105 + ], + [ + 16.836666, + 56.826942 + ] + ] + ], + [ + [ + [ + 18.206108, + 56.911942 + ], + [ + 19.004719, + 57.908607 + ], + [ + 18.119164, + 57.531105 + ], + [ + 18.206108, + 56.911942 + ] + ] + ], + [ + [ + [ + 19.334442, + 57.955826 + ], + [ + 19.034443, + 57.901108 + ], + [ + 19.12611, + 57.839722 + ], + [ + 19.334442, + 57.955826 + ] + ] + ], + [ + [ + [ + 11.594444, + 57.932495 + ], + [ + 11.735884, + 58.041714 + ], + [ + 11.501944, + 58.036659 + ], + [ + 11.594444, + 57.932495 + ] + ] + ], + [ + [ + [ + 16.816666, + 58.116104 + ], + [ + 16.801109, + 58.123329 + ], + [ + 16.77861, + 58.100555 + ], + [ + 16.816666, + 58.116104 + ] + ] + ], + [ + [ + [ + 11.806389, + 58.120552 + ], + [ + 11.6775, + 58.286659 + ], + [ + 11.40111, + 58.130272 + ], + [ + 11.806389, + 58.120552 + ] + ] + ], + [ + [ + [ + 19.236942, + 58.337219 + ], + [ + 19.331108, + 58.366104 + ], + [ + 19.186665, + 58.391388 + ], + [ + 19.236942, + 58.337219 + ] + ] + ], + [ + [ + [ + 17.691387, + 58.916939 + ], + [ + 17.675831, + 59.054718 + ], + [ + 17.639164, + 58.971107 + ], + [ + 17.691387, + 58.916939 + ] + ] + ], + [ + [ + [ + 18.40583, + 59.023888 + ], + [ + 18.479164, + 59.119995 + ], + [ + 18.35722, + 59.034996 + ], + [ + 18.40583, + 59.023888 + ] + ] + ], + [ + [ + [ + 18.53722, + 59.223885 + ], + [ + 18.610275, + 59.254166 + ], + [ + 18.389442, + 59.284721 + ], + [ + 18.53722, + 59.223885 + ] + ] + ], + [ + [ + [ + 17.786942, + 59.310555 + ], + [ + 17.773888, + 59.372772 + ], + [ + 17.605553, + 59.416664 + ], + [ + 17.786942, + 59.310555 + ] + ] + ], + [ + [ + [ + 17.734722, + 59.296104 + ], + [ + 17.520275, + 59.418327 + ], + [ + 17.622776, + 59.305275 + ], + [ + 17.817497, + 59.277771 + ], + [ + 17.734722, + 59.296104 + ] + ] + ], + [ + [ + [ + 17.266388, + 59.374443 + ], + [ + 17.266941, + 59.44416 + ], + [ + 17.07, + 59.459442 + ], + [ + 17.266388, + 59.374443 + ] + ] + ], + [ + [ + [ + 18.575554, + 59.448326 + ], + [ + 18.746944, + 59.544998 + ], + [ + 18.570274, + 59.526382 + ], + [ + 18.575554, + 59.448326 + ] + ] + ], + [ + [ + [ + 18.57, + 60.307777 + ], + [ + 18.374165, + 60.499718 + ], + [ + 18.401108, + 60.365273 + ], + [ + 18.57, + 60.307777 + ] + ] + ], + [ + [ + [ + 17.509163, + 62.363327 + ], + [ + 17.472221, + 62.458328 + ], + [ + 17.367222, + 62.471664 + ], + [ + 17.509163, + 62.363327 + ] + ] + ], + [ + [ + [ + 18.060833, + 62.67083 + ], + [ + 18.153053, + 62.728882 + ], + [ + 18.039165, + 62.73555 + ], + [ + 18.060833, + 62.67083 + ] + ] + ], + [ + [ + [ + 20.885555, + 63.751663 + ], + [ + 20.928608, + 63.773331 + ], + [ + 20.838055, + 63.773331 + ], + [ + 20.885555, + 63.751663 + ] + ] + ], + [ + [ + [ + 21.809166, + 68.570541 + ], + [ + 20.580929, + 69.060303 + ], + [ + 20.096943, + 69.042221 + ], + [ + 20.350277, + 68.786652 + ], + [ + 19.937775, + 68.337494 + ], + [ + 18.090832, + 68.507767 + ], + [ + 17.884163, + 67.945541 + ], + [ + 16.726944, + 67.899155 + ], + [ + 16.085831, + 67.411652 + ], + [ + 16.353886, + 67.017776 + ], + [ + 15.362778, + 66.479996 + ], + [ + 15.468054, + 66.283875 + ], + [ + 14.504999, + 66.132492 + ], + [ + 14.493055, + 65.313599 + ], + [ + 13.662498, + 64.582764 + ], + [ + 14.116388, + 64.470551 + ], + [ + 13.988333, + 64.018051 + ], + [ + 12.938055, + 64.053329 + ], + [ + 12.139444, + 63.58416 + ], + [ + 11.936388, + 63.272217 + ], + [ + 12.295832, + 62.261665 + ], + [ + 12.124443, + 61.728607 + ], + [ + 12.85611, + 61.362495 + ], + [ + 12.209999, + 61.002495 + ], + [ + 12.594444, + 60.516937 + ], + [ + 12.494165, + 60.111107 + ], + [ + 11.81596, + 59.8461 + ], + [ + 11.75111, + 59.090271 + ], + [ + 11.429192, + 58.98764 + ], + [ + 11.113333, + 59.003609 + ], + [ + 11.201387, + 58.399437 + ], + [ + 11.798054, + 58.318329 + ], + [ + 11.88611, + 58.211937 + ], + [ + 11.698889, + 57.69722 + ], + [ + 12.887499, + 56.638329 + ], + [ + 12.622221, + 56.411942 + ], + [ + 12.813332, + 56.232773 + ], + [ + 12.451666, + 56.297775 + ], + [ + 13.059721, + 55.693054 + ], + [ + 12.982222, + 55.400551 + ], + [ + 14.193546, + 55.386147 + ], + [ + 14.217222, + 55.830276 + ], + [ + 14.696665, + 56.16111 + ], + [ + 15.865555, + 56.092216 + ], + [ + 16.693333, + 57.469162 + ], + [ + 16.41861, + 57.893326 + ], + [ + 16.700706, + 57.74015 + ], + [ + 16.495552, + 57.98555 + ], + [ + 16.770554, + 57.884438 + ], + [ + 16.613888, + 57.986938 + ], + [ + 16.824718, + 58.19944 + ], + [ + 16.41333, + 58.474716 + ], + [ + 16.93861, + 58.484161 + ], + [ + 16.193607, + 58.627495 + ], + [ + 17.349998, + 58.75222 + ], + [ + 17.663887, + 59.168327 + ], + [ + 17.894722, + 58.858887 + ], + [ + 18.311386, + 59.1325 + ], + [ + 18.277222, + 59.310829 + ], + [ + 18.640274, + 59.338882 + ], + [ + 18.434444, + 59.433609 + ], + [ + 18.466663, + 59.330276 + ], + [ + 18.289444, + 59.368607 + ], + [ + 17.847221, + 59.264442 + ], + [ + 17.35083, + 59.32444 + ], + [ + 17.375832, + 59.247498 + ], + [ + 16.840275, + 59.489441 + ], + [ + 16.692776, + 59.471382 + ], + [ + 16.889999, + 59.383331 + ], + [ + 16.020275, + 59.494995 + ], + [ + 17.38361, + 59.654999 + ], + [ + 17.73111, + 59.442772 + ], + [ + 17.786663, + 59.535828 + ], + [ + 17.561171, + 59.668449 + ], + [ + 17.618332, + 59.731384 + ], + [ + 17.513054, + 59.706383 + ], + [ + 17.543152, + 59.573006 + ], + [ + 17.444721, + 59.676109 + ], + [ + 17.594166, + 59.806938 + ], + [ + 17.654163, + 59.718048 + ], + [ + 17.648331, + 59.665833 + ], + [ + 17.59222, + 59.656105 + ], + [ + 17.71722, + 59.66333 + ], + [ + 17.845276, + 59.533051 + ], + [ + 17.764442, + 59.400551 + ], + [ + 17.941109, + 59.335548 + ], + [ + 19.081944, + 59.75972 + ], + [ + 17.150555, + 60.945 + ], + [ + 17.140274, + 61.719719 + ], + [ + 17.498886, + 61.635826 + ], + [ + 17.34972, + 61.945274 + ], + [ + 17.65472, + 62.23111 + ], + [ + 17.328888, + 62.486938 + ], + [ + 18.048054, + 62.601387 + ], + [ + 17.696663, + 62.991943 + ], + [ + 18.208611, + 62.77861 + ], + [ + 19.428055, + 63.549438 + ], + [ + 20.777775, + 63.869164 + ], + [ + 21.584999, + 64.439713 + ], + [ + 21.03611, + 64.824432 + ], + [ + 21.621387, + 65.142212 + ], + [ + 21.260555, + 65.337494 + ], + [ + 22.199165, + 65.545273 + ], + [ + 21.766941, + 65.722488 + ], + [ + 22.40583, + 65.535263 + ], + [ + 22.329166, + 65.829712 + ], + [ + 22.644722, + 65.905548 + ], + [ + 24.167007, + 65.814026 + ], + [ + 23.661942, + 66.31221 + ], + [ + 24.007774, + 66.800552 + ], + [ + 23.571663, + 67.156662 + ], + [ + 23.767776, + 67.416107 + ], + [ + 23.43111, + 67.465546 + ], + [ + 23.666111, + 67.941666 + ], + [ + 21.809166, + 68.570541 + ] + ] + ] + ] + }, + "name" : "Sweden", + "iso2" : "SE", + "iso3" : "SWE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ar1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 42.355614, + 37.106926 + ], + [ + 40.770821, + 37.11805 + ], + [ + 39.229996, + 36.665276 + ], + [ + 36.659943, + 36.83371 + ], + [ + 36.690269, + 36.236107 + ], + [ + 35.92244, + 35.926994 + ], + [ + 35.733887, + 35.581665 + ], + [ + 35.972771, + 34.647499 + ], + [ + 36.459999, + 34.635277 + ], + [ + 36.623741, + 34.204994 + ], + [ + 35.623634, + 33.245728 + ], + [ + 35.648888, + 32.685272 + ], + [ + 36.837776, + 32.313606 + ], + [ + 38.794701, + 33.377594 + ], + [ + 41.003876, + 34.419434 + ], + [ + 41.290276, + 36.355553 + ], + [ + 42.355614, + 37.106926 + ] + ] + ] + }, + "name" : "Syrian Arab Republic", + "iso2" : "SY", + "iso3" : "SYR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "A71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 9.566724, + 47.540451 + ], + [ + 8.566111, + 47.806938 + ], + [ + 8.57642, + 47.59137 + ], + [ + 7.697223, + 47.543327 + ], + [ + 7.588268, + 47.58448 + ], + [ + 6.990555, + 47.497215 + ], + [ + 5.966666, + 46.209442 + ], + [ + 6.791389, + 46.434166 + ], + [ + 7.038054, + 45.931938 + ], + [ + 7.855742, + 45.919052 + ], + [ + 8.436388, + 46.463333 + ], + [ + 9.036665, + 45.837776 + ], + [ + 9.281944, + 46.495827 + ], + [ + 10.129999, + 46.227219 + ], + [ + 10.050278, + 46.539993 + ], + [ + 10.465277, + 46.546387 + ], + [ + 10.471235, + 46.871353 + ], + [ + 9.598635, + 47.063835 + ], + [ + 9.474637, + 47.057457 + ], + [ + 9.533569, + 47.274544 + ], + [ + 9.566724, + 47.540451 + ] + ], + [ + [ + 8.710255, + 47.696808 + ], + [ + 8.678595, + 47.693344 + ], + [ + 8.670555, + 47.711105 + ], + [ + 8.710255, + 47.696808 + ] + ] + ] + }, + "name" : "Switzerland", + "iso2" : "CH", + "iso3" : "CHE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "BL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -60.923058, + 10.797222 + ], + [ + -61.662224, + 10.709166 + ], + [ + -61.458336, + 10.278332 + ], + [ + -61.91806, + 10.042776 + ], + [ + -61.008057, + 10.140554 + ], + [ + -60.923058, + 10.797222 + ] + ] + ], + [ + [ + [ + -60.63945, + 11.203054 + ], + [ + -60.526672, + 11.346109 + ], + [ + -60.847504, + 11.158333 + ], + [ + -60.63945, + 11.203054 + ] + ] + ] + ] + }, + "name" : "Trinidad and Tobago", + "iso2" : "TT", + "iso3" : "TTO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Bb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 99.219162, + 6.532499 + ], + [ + 99.256119, + 6.571944 + ], + [ + 99.159988, + 6.548888 + ], + [ + 99.219162, + 6.532499 + ] + ] + ], + [ + [ + [ + 99.668045, + 6.496387 + ], + [ + 99.662811, + 6.702995 + ], + [ + 99.594986, + 6.593888 + ], + [ + 99.668045, + 6.496387 + ] + ] + ], + [ + [ + [ + 100.536087, + 7.15611 + ], + [ + 100.534973, + 7.174166 + ], + [ + 100.520813, + 7.154999 + ], + [ + 100.536087, + 7.15611 + ] + ] + ], + [ + [ + [ + 99.38916, + 7.194721 + ], + [ + 99.419144, + 7.234165 + ], + [ + 99.3936, + 7.270555 + ], + [ + 99.38916, + 7.194721 + ] + ] + ], + [ + [ + [ + 99.110809, + 7.468055 + ], + [ + 99.024155, + 7.636666 + ], + [ + 99.04248, + 7.525832 + ], + [ + 99.110809, + 7.468055 + ] + ] + ], + [ + [ + [ + 99.119705, + 7.591944 + ], + [ + 99.121918, + 7.665277 + ], + [ + 99.045822, + 7.669443 + ], + [ + 99.119705, + 7.591944 + ] + ] + ], + [ + [ + [ + 98.434708, + 7.930554 + ], + [ + 98.43692, + 7.94361 + ], + [ + 98.418045, + 7.93611 + ], + [ + 98.434708, + 7.930554 + ] + ] + ], + [ + [ + [ + 98.603592, + 7.901111 + ], + [ + 98.611923, + 8.048609 + ], + [ + 98.526093, + 8.121386 + ], + [ + 98.603592, + 7.901111 + ] + ] + ], + [ + [ + [ + 98.399841, + 7.941753 + ], + [ + 98.282486, + 8.186386 + ], + [ + 98.305252, + 7.757222 + ], + [ + 98.399841, + 7.941753 + ] + ] + ], + [ + [ + [ + 98.616653, + 8.084442 + ], + [ + 98.628311, + 8.189165 + ], + [ + 98.568329, + 8.11722 + ], + [ + 98.616653, + 8.084442 + ] + ] + ], + [ + [ + [ + 98.266663, + 9.030554 + ], + [ + 98.324432, + 9.084164 + ], + [ + 98.280823, + 9.158054 + ], + [ + 98.266663, + 9.030554 + ] + ] + ], + [ + [ + [ + 97.87915, + 9.381941 + ], + [ + 97.847214, + 9.43222 + ], + [ + 97.835266, + 9.402777 + ], + [ + 97.87915, + 9.381941 + ] + ] + ], + [ + [ + [ + 97.89888, + 9.437498 + ], + [ + 97.883881, + 9.475554 + ], + [ + 97.847488, + 9.458609 + ], + [ + 97.89888, + 9.437498 + ] + ] + ], + [ + [ + [ + 99.681366, + 9.506109 + ], + [ + 99.708603, + 9.53861 + ], + [ + 99.664993, + 9.524443 + ], + [ + 99.681366, + 9.506109 + ] + ] + ], + [ + [ + [ + 98.467484, + 9.574999 + ], + [ + 98.464432, + 9.585554 + ], + [ + 98.457764, + 9.573887 + ], + [ + 98.467484, + 9.574999 + ] + ] + ], + [ + [ + [ + 99.976089, + 9.41361 + ], + [ + 100.080833, + 9.58861 + ], + [ + 99.932205, + 9.546944 + ], + [ + 99.976089, + 9.41361 + ] + ] + ], + [ + [ + [ + 99.685532, + 9.606665 + ], + [ + 99.673599, + 9.629164 + ], + [ + 99.676651, + 9.607498 + ], + [ + 99.685532, + 9.606665 + ] + ] + ], + [ + [ + [ + 98.407211, + 9.714165 + ], + [ + 98.408325, + 9.770832 + ], + [ + 98.380814, + 9.732775 + ], + [ + 98.407211, + 9.714165 + ] + ] + ], + [ + [ + [ + 100.081673, + 9.686665 + ], + [ + 99.987488, + 9.796387 + ], + [ + 99.99054, + 9.711388 + ], + [ + 100.081673, + 9.686665 + ] + ] + ], + [ + [ + [ + 102.59552, + 11.56361 + ], + [ + 102.560226, + 11.754396 + ], + [ + 102.531357, + 11.601387 + ], + [ + 102.59552, + 11.56361 + ] + ] + ], + [ + [ + [ + 102.435791, + 11.954165 + ], + [ + 102.250549, + 12.15 + ], + [ + 102.291351, + 11.974442 + ], + [ + 102.435791, + 11.954165 + ] + ] + ], + [ + [ + [ + 102.241089, + 12.283888 + ], + [ + 102.2397, + 12.299442 + ], + [ + 102.235527, + 12.285276 + ], + [ + 102.241089, + 12.283888 + ] + ] + ], + [ + [ + [ + 100.688873, + 12.923609 + ], + [ + 100.676376, + 12.952776 + ], + [ + 100.671654, + 12.938332 + ], + [ + 100.688873, + 12.923609 + ] + ] + ], + [ + [ + [ + 100.816673, + 13.129442 + ], + [ + 100.821381, + 13.150555 + ], + [ + 100.807213, + 13.180277 + ], + [ + 100.816673, + 13.129442 + ] + ] + ], + [ + [ + [ + 100.09137, + 20.348606 + ], + [ + 100.081322, + 20.348841 + ], + [ + 99.522766, + 20.352776 + ], + [ + 98.995529, + 19.780552 + ], + [ + 98.049988, + 19.807499 + ], + [ + 97.774704, + 18.569996 + ], + [ + 97.346375, + 18.562496 + ], + [ + 98.689697, + 16.284996 + ], + [ + 98.92804, + 16.38583 + ], + [ + 98.201096, + 15.074999 + ], + [ + 99.173965, + 13.727781 + ], + [ + 99.112198, + 13.055832 + ], + [ + 99.661652, + 11.826942 + ], + [ + 98.742752, + 10.348608 + ], + [ + 98.274155, + 8.274443 + ], + [ + 98.656372, + 8.38361 + ], + [ + 100.127113, + 6.424947 + ], + [ + 100.214981, + 6.71111 + ], + [ + 100.654968, + 6.448332 + ], + [ + 101.115517, + 6.248888 + ], + [ + 101.139687, + 5.631943 + ], + [ + 101.569977, + 5.916666 + ], + [ + 101.833862, + 5.743332 + ], + [ + 102.09523, + 6.236138 + ], + [ + 101.541367, + 6.851388 + ], + [ + 100.421082, + 7.159444 + ], + [ + 99.847763, + 9.300831 + ], + [ + 99.237488, + 9.254166 + ], + [ + 99.149155, + 10.365553 + ], + [ + 100.021378, + 12.194164 + ], + [ + 100.066673, + 13.419998 + ], + [ + 100.976349, + 13.462809 + ], + [ + 100.853867, + 12.682775 + ], + [ + 102.060257, + 12.567497 + ], + [ + 102.916092, + 11.635851 + ], + [ + 102.377197, + 13.573887 + ], + [ + 103.180542, + 14.32972 + ], + [ + 105.210602, + 14.349648 + ], + [ + 105.536102, + 14.563332 + ], + [ + 105.637772, + 15.659721 + ], + [ + 104.747208, + 16.528332 + ], + [ + 104.718323, + 17.50333 + ], + [ + 103.985527, + 18.321663 + ], + [ + 103.397217, + 18.434994 + ], + [ + 102.683594, + 17.819996 + ], + [ + 102.089394, + 18.214983 + ], + [ + 101.162773, + 17.459995 + ], + [ + 100.921371, + 17.567219 + ], + [ + 101.281097, + 19.562218 + ], + [ + 100.503601, + 19.526665 + ], + [ + 100.58046, + 20.157768 + ], + [ + 100.09137, + 20.348606 + ] + ] + ] + ] + }, + "name" : "Thailand", + "iso2" : "TH", + "iso3" : "THA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Br1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 74.915741, + 37.237328 + ], + [ + 75.187485, + 37.406586 + ], + [ + 74.902771, + 37.647156 + ], + [ + 74.856644, + 38.470482 + ], + [ + 73.817764, + 38.607712 + ], + [ + 73.655685, + 39.454826 + ], + [ + 72.248596, + 39.191856 + ], + [ + 71.473038, + 39.6213 + ], + [ + 70.997757, + 39.40094 + ], + [ + 69.306091, + 39.539436 + ], + [ + 69.540817, + 40.131378 + ], + [ + 70.498032, + 39.90683 + ], + [ + 70.98204, + 40.244843 + ], + [ + 70.375534, + 40.376404 + ], + [ + 70.796799, + 40.725594 + ], + [ + 70.423874, + 41.049118 + ], + [ + 69.732483, + 40.638603 + ], + [ + 69.356094, + 40.772491 + ], + [ + 69.308029, + 40.201385 + ], + [ + 68.600815, + 40.178329 + ], + [ + 69.009995, + 40.089714 + ], + [ + 68.540268, + 39.55471 + ], + [ + 67.441956, + 39.483582 + ], + [ + 67.376373, + 39.212494 + ], + [ + 68.123871, + 38.98555 + ], + [ + 68.384155, + 38.195541 + ], + [ + 67.779877, + 37.185822 + ], + [ + 68.058014, + 36.932526 + ], + [ + 68.887772, + 37.3386 + ], + [ + 69.315262, + 37.115273 + ], + [ + 69.515823, + 37.580826 + ], + [ + 70.155823, + 37.536232 + ], + [ + 70.161377, + 37.933372 + ], + [ + 70.967209, + 38.472115 + ], + [ + 71.363037, + 38.248497 + ], + [ + 71.252777, + 37.922035 + ], + [ + 71.591934, + 37.902618 + ], + [ + 71.429428, + 37.075829 + ], + [ + 71.6772, + 36.67601 + ], + [ + 73.307205, + 37.462753 + ], + [ + 74.915741, + 37.237328 + ] + ] + ] + }, + "name" : "Tajikistan", + "iso2" : "TJ", + "iso3" : "TJK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "B71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -171.214722, + -9.377499 + ], + [ + -171.224701, + -9.345556 + ], + [ + -171.223907, + -9.378889 + ], + [ + -171.214722, + -9.377499 + ] + ] + ], + [ + [ + [ + -171.843079, + -9.207502 + ], + [ + -171.853882, + -9.168058 + ], + [ + -171.860535, + -9.206667 + ], + [ + -171.843079, + -9.207502 + ] + ] + ], + [ + [ + [ + -172.483917, + -8.587221 + ], + [ + -172.483612, + -8.566666 + ], + [ + -172.496979, + -8.553888 + ], + [ + -172.483917, + -8.587221 + ] + ] + ] + ] + }, + "name" : "Tokelau", + "iso2" : "TK", + "iso3" : "TKL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "CL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -174.910858, + -21.426666 + ], + [ + -174.911438, + -21.30611 + ], + [ + -174.974701, + -21.365833 + ], + [ + -174.910858, + -21.426666 + ] + ] + ], + [ + [ + [ + -175.145844, + -21.178059 + ], + [ + -175.047241, + -21.139442 + ], + [ + -175.359467, + -21.099171 + ], + [ + -175.145844, + -21.178059 + ] + ] + ], + [ + [ + [ + -174.760834, + -20.27639 + ], + [ + -174.76004, + -20.237225 + ], + [ + -174.791962, + -20.234722 + ], + [ + -174.760834, + -20.27639 + ] + ] + ], + [ + [ + [ + -174.41394, + -19.926666 + ], + [ + -174.390869, + -19.881668 + ], + [ + -174.422546, + -19.910004 + ], + [ + -174.41394, + -19.926666 + ] + ] + ], + [ + [ + [ + -174.318604, + -19.821945 + ], + [ + -174.315857, + -19.764172 + ], + [ + -174.35498, + -19.811951 + ], + [ + -174.318604, + -19.821945 + ] + ] + ], + [ + [ + [ + -175.056671, + -19.800838 + ], + [ + -175.081696, + -19.70639 + ], + [ + -175.098602, + -19.749725 + ], + [ + -175.056671, + -19.800838 + ] + ] + ], + [ + [ + [ + -174.272522, + -19.752785 + ], + [ + -174.256134, + -19.688053 + ], + [ + -174.30722, + -19.740833 + ], + [ + -174.272522, + -19.752785 + ] + ] + ], + [ + [ + [ + -175.018341, + -19.691387 + ], + [ + -175.005585, + -19.6525 + ], + [ + -175.035858, + -19.676666 + ], + [ + -175.018341, + -19.691387 + ] + ] + ], + [ + [ + [ + -174.244476, + -19.656113 + ], + [ + -174.291962, + -19.594444 + ], + [ + -174.281952, + -19.634445 + ], + [ + -174.244476, + -19.656113 + ] + ] + ], + [ + [ + [ + -174.646973, + -18.83028 + ], + [ + -174.623077, + -18.809444 + ], + [ + -174.64978, + -18.783058 + ], + [ + -174.675049, + -18.804447 + ], + [ + -174.646973, + -18.83028 + ] + ] + ], + [ + [ + [ + -174.061401, + -18.704723 + ], + [ + -174.073639, + -18.68111 + ], + [ + -174.097809, + -18.696388 + ], + [ + -174.061401, + -18.704723 + ] + ] + ], + [ + [ + [ + -174.019745, + -18.71722 + ], + [ + -174.019196, + -18.694447 + ], + [ + -174.043335, + -18.680836 + ], + [ + -174.019745, + -18.71722 + ] + ] + ], + [ + [ + [ + -174.089722, + -18.674171 + ], + [ + -174.115814, + -18.671391 + ], + [ + -174.128052, + -18.703335 + ], + [ + -174.089722, + -18.674171 + ] + ] + ], + [ + [ + [ + -173.910553, + -18.638058 + ], + [ + -173.939209, + -18.568893 + ], + [ + -174.070587, + -18.632504 + ], + [ + -173.910553, + -18.638058 + ] + ] + ], + [ + [ + [ + -175.644745, + -15.629168 + ], + [ + -175.621399, + -15.560835 + ], + [ + -175.683929, + -15.589724 + ], + [ + -175.644745, + -15.629168 + ] + ] + ] + ] + }, + "name" : "Tonga", + "iso2" : "TO", + "iso3" : "TON" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Cb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 1.635404, + 6.218721 + ], + [ + 1.398542, + 9.429901 + ], + [ + 1.355, + 9.995277 + ], + [ + 0.776667, + 10.376665 + ], + [ + 0.91797, + 10.996399 + ], + [ + -0.149762, + 11.13854 + ], + [ + 0.368333, + 10.259443 + ], + [ + 0.2175, + 9.457222 + ], + [ + 0.550833, + 9.411388 + ], + [ + 0.382735, + 8.760756 + ], + [ + 0.727222, + 8.321388 + ], + [ + 0.525, + 6.947778 + ], + [ + 1.198891, + 6.100546 + ], + [ + 1.635404, + 6.218721 + ] + ] + ] + }, + "name" : "Togo", + "iso2" : "TG", + "iso3" : "TGO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Cr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 6.523889, + 0.018333 + ], + [ + 6.687778, + 0.402222 + ], + [ + 6.467222, + 0.259722 + ], + [ + 6.523889, + 0.018333 + ] + ] + ], + [ + [ + [ + 7.423055, + 1.556111 + ], + [ + 7.406666, + 1.701944 + ], + [ + 7.327222, + 1.607222 + ], + [ + 7.423055, + 1.556111 + ] + ] + ] + ] + }, + "name" : "Sao Tome and Principe", + "iso2" : "ST", + "iso3" : "STP" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "C71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 10.99361, + 33.75 + ], + [ + 10.72611, + 33.880829 + ], + [ + 10.865, + 33.638611 + ], + [ + 10.99361, + 33.75 + ] + ] + ], + [ + [ + [ + 11.064722, + 34.640549 + ], + [ + 10.961111, + 34.655273 + ], + [ + 11.035, + 34.617493 + ], + [ + 11.064722, + 34.640549 + ] + ] + ], + [ + [ + [ + 11.13722, + 34.675278 + ], + [ + 11.302221, + 34.803329 + ], + [ + 11.230833, + 34.821106 + ], + [ + 11.13722, + 34.675278 + ] + ] + ], + [ + [ + [ + 10.808611, + 37.119438 + ], + [ + 10.814722, + 37.125275 + ], + [ + 10.791943, + 37.126389 + ], + [ + 10.808611, + 37.119438 + ] + ] + ], + [ + [ + [ + 11.526081, + 33.171135 + ], + [ + 11.17111, + 33.210831 + ], + [ + 11.048611, + 33.616943 + ], + [ + 10.331944, + 33.700272 + ], + [ + 10.005833, + 34.166939 + ], + [ + 11.128887, + 35.235832 + ], + [ + 10.455276, + 36.123329 + ], + [ + 11.067778, + 37.051384 + ], + [ + 10.381943, + 36.723328 + ], + [ + 10.252499, + 37.186386 + ], + [ + 9.845247, + 37.139351 + ], + [ + 9.672499, + 37.338051 + ], + [ + 8.62203, + 36.941368 + ], + [ + 8.183611, + 36.524162 + ], + [ + 8.251665, + 34.64444 + ], + [ + 7.492499, + 33.887497 + ], + [ + 8.34861, + 32.533333 + ], + [ + 9.055277, + 32.099998 + ], + [ + 9.537113, + 30.23439 + ], + [ + 10.21361, + 30.730831 + ], + [ + 10.287222, + 31.694164 + ], + [ + 11.567499, + 32.442215 + ], + [ + 11.526081, + 33.171135 + ] + ] + ], + [ + [ + [ + 8.917776, + 37.510826 + ], + [ + 8.944721, + 37.538055 + ], + [ + 8.896111, + 37.525833 + ], + [ + 8.917776, + 37.510826 + ] + ] + ] + ] + }, + "name" : "Tunisia", + "iso2" : "TN", + "iso3" : "TUN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "DL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 26.078053, + 39.7836 + ], + [ + 26.075829, + 39.839722 + ], + [ + 25.974995, + 39.829987 + ], + [ + 26.078053, + 39.7836 + ] + ] + ], + [ + [ + [ + 25.824444, + 40.100266 + ], + [ + 26.013611, + 40.157494 + ], + [ + 25.663883, + 40.126389 + ], + [ + 25.824444, + 40.100266 + ] + ] + ], + [ + [ + [ + 27.60722, + 40.57222 + ], + [ + 27.735271, + 40.634438 + ], + [ + 27.531109, + 40.648331 + ], + [ + 27.60722, + 40.57222 + ] + ] + ], + [ + [ + [ + 41.531559, + 41.523876 + ], + [ + 40.149994, + 40.920273 + ], + [ + 38.361382, + 40.909431 + ], + [ + 36.429153, + 41.242775 + ], + [ + 36.051102, + 41.691933 + ], + [ + 35.506386, + 41.638054 + ], + [ + 35.096931, + 41.961655 + ], + [ + 33.333878, + 42.020264 + ], + [ + 31.23111, + 41.088875 + ], + [ + 29.166111, + 41.226662 + ], + [ + 29.12944, + 40.914444 + ], + [ + 29.938049, + 40.723885 + ], + [ + 28.795277, + 40.551384 + ], + [ + 28.985271, + 40.356934 + ], + [ + 26.707222, + 40.384995 + ], + [ + 26.067219, + 39.483047 + ], + [ + 26.951664, + 39.552773 + ], + [ + 26.644722, + 39.263054 + ], + [ + 27.064442, + 38.874435 + ], + [ + 26.730827, + 38.645821 + ], + [ + 27.161942, + 38.443886 + ], + [ + 26.682217, + 38.307487 + ], + [ + 26.369999, + 38.661942 + ], + [ + 26.275829, + 38.264435 + ], + [ + 27.267773, + 37.955544 + ], + [ + 27.193886, + 37.350822 + ], + [ + 27.595276, + 37.232491 + ], + [ + 27.252499, + 36.967499 + ], + [ + 28.328606, + 37.039719 + ], + [ + 27.37944, + 36.680832 + ], + [ + 28.118332, + 36.800278 + ], + [ + 27.983887, + 36.552773 + ], + [ + 28.454163, + 36.881386 + ], + [ + 29.677216, + 36.118332 + ], + [ + 30.40694, + 36.203606 + ], + [ + 30.623333, + 36.850822 + ], + [ + 31.046661, + 36.849152 + ], + [ + 32.808884, + 36.025551 + ], + [ + 33.988602, + 36.277771 + ], + [ + 34.659431, + 36.805275 + ], + [ + 35.339989, + 36.539162 + ], + [ + 36.021935, + 36.926384 + ], + [ + 36.217766, + 36.654999 + ], + [ + 35.783875, + 36.312485 + ], + [ + 35.92244, + 35.926994 + ], + [ + 36.690269, + 36.236107 + ], + [ + 36.659943, + 36.83371 + ], + [ + 39.229996, + 36.665276 + ], + [ + 40.770821, + 37.11805 + ], + [ + 42.355614, + 37.106926 + ], + [ + 42.790825, + 37.38472 + ], + [ + 44.116379, + 37.316376 + ], + [ + 44.317215, + 36.970543 + ], + [ + 44.787338, + 37.149712 + ], + [ + 44.61805, + 37.727768 + ], + [ + 44.223969, + 37.899151 + ], + [ + 44.484154, + 38.345543 + ], + [ + 44.034157, + 39.384995 + ], + [ + 44.4161, + 39.425262 + ], + [ + 44.60582, + 39.78054 + ], + [ + 44.813042, + 39.630814 + ], + [ + 44.778862, + 39.706383 + ], + [ + 44.347214, + 40.023888 + ], + [ + 43.657494, + 40.108597 + ], + [ + 43.751938, + 40.739998 + ], + [ + 43.46077, + 41.112961 + ], + [ + 42.827492, + 41.584991 + ], + [ + 41.531559, + 41.523876 + ] + ] + ], + [ + [ + [ + 28.013054, + 41.982216 + ], + [ + 27.394997, + 42.008041 + ], + [ + 26.361095, + 41.711052 + ], + [ + 26.633884, + 41.354439 + ], + [ + 26.04472, + 40.735825 + ], + [ + 26.826939, + 40.594437 + ], + [ + 26.181107, + 40.045273 + ], + [ + 27.50972, + 40.983597 + ], + [ + 29.039162, + 41.057213 + ], + [ + 28.090549, + 41.631386 + ], + [ + 28.013054, + 41.982216 + ] + ] + ] + ] + }, + "name" : "Turkey", + "iso2" : "TR", + "iso3" : "TUR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Db1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 179.222366, + -8.554146 + ], + [ + 179.231094, + -8.50492 + ], + [ + 179.203705, + -8.462443 + ], + [ + 179.222366, + -8.554146 + ] + ] + ], + [ + [ + [ + 178.366913, + -8.062778 + ], + [ + 178.36969, + -8.0275 + ], + [ + 178.355804, + -8.06139 + ], + [ + 178.366913, + -8.062778 + ] + ] + ], + [ + [ + [ + 178.397766, + -8.015278 + ], + [ + 178.403046, + -7.991388 + ], + [ + 178.39151, + -8 + ], + [ + 178.397766, + -8.015278 + ] + ] + ], + [ + [ + [ + 178.700531, + -7.482223 + ], + [ + 178.690796, + -7.464445 + ], + [ + 178.687469, + -7.478889 + ], + [ + 178.700531, + -7.482223 + ] + ] + ], + [ + [ + [ + 177.158875, + -7.187778 + ], + [ + 177.142212, + -7.173611 + ], + [ + 177.146362, + -7.188611 + ], + [ + 177.158875, + -7.187778 + ] + ] + ], + [ + [ + [ + 176.310242, + -6.285556 + ], + [ + 176.308868, + -6.257501 + ], + [ + 176.295258, + -6.278056 + ], + [ + 176.310242, + -6.285556 + ] + ] + ], + [ + [ + [ + 177.295807, + -6.113889 + ], + [ + 177.308868, + -6.098889 + ], + [ + 177.281372, + -6.089444 + ], + [ + 177.295807, + -6.113889 + ] + ] + ], + [ + [ + [ + 176.139709, + -5.690556 + ], + [ + 176.129395, + -5.675 + ], + [ + 176.130249, + -5.693333 + ], + [ + 176.139709, + -5.690556 + ] + ] + ], + [ + [ + [ + 176.08136, + -5.665277 + ], + [ + 176.079407, + -5.657778 + ], + [ + 176.066376, + -5.665277 + ], + [ + 176.08136, + -5.665277 + ] + ] + ] + ] + }, + "name" : "Tuvalu", + "iso2" : "TV", + "iso3" : "TUV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Dr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 53.069719, + 38.899721 + ], + [ + 53.1, + 38.751108 + ], + [ + 53.078608, + 39.093882 + ], + [ + 53.069719, + 38.899721 + ] + ] + ], + [ + [ + [ + 58.78055, + 42.658045 + ], + [ + 58.164438, + 42.651934 + ], + [ + 58.515551, + 42.304438 + ], + [ + 58.026606, + 42.504641 + ], + [ + 56.98694, + 41.893053 + ], + [ + 57.044718, + 41.260279 + ], + [ + 56.000963, + 41.328455 + ], + [ + 55.456942, + 41.286661 + ], + [ + 54.173052, + 42.337214 + ], + [ + 53.015001, + 42.138887 + ], + [ + 52.440073, + 41.740938 + ], + [ + 52.881937, + 41.04722 + ], + [ + 52.815828, + 41.695826 + ], + [ + 52.946657, + 41.973047 + ], + [ + 53.803881, + 42.12388 + ], + [ + 54.072771, + 41.47555 + ], + [ + 54.733881, + 41.102221 + ], + [ + 54.244715, + 40.880274 + ], + [ + 54.417772, + 40.703608 + ], + [ + 53.746386, + 40.615274 + ], + [ + 52.918604, + 41.081667 + ], + [ + 52.721933, + 40.4461 + ], + [ + 53.004717, + 39.762217 + ], + [ + 52.934717, + 39.990549 + ], + [ + 53.57583, + 39.966105 + ], + [ + 53.408327, + 39.665827 + ], + [ + 53.734438, + 39.523882 + ], + [ + 53.264162, + 39.655268 + ], + [ + 53.162493, + 39.175554 + ], + [ + 53.541384, + 39.335825 + ], + [ + 53.983881, + 38.915827 + ], + [ + 53.905642, + 37.350855 + ], + [ + 54.681108, + 37.443605 + ], + [ + 55.442766, + 38.086107 + ], + [ + 57.212214, + 38.281939 + ], + [ + 57.450274, + 37.939157 + ], + [ + 59.338884, + 37.539164 + ], + [ + 60.333055, + 36.656099 + ], + [ + 61.157213, + 36.649996 + ], + [ + 61.27656, + 35.607248 + ], + [ + 62.30916, + 35.141665 + ], + [ + 62.722216, + 35.254717 + ], + [ + 63.105272, + 35.45083 + ], + [ + 63.11944, + 35.86194 + ], + [ + 64.503603, + 36.28055 + ], + [ + 64.798037, + 37.124994 + ], + [ + 65.708879, + 37.538607 + ], + [ + 66.537737, + 37.366381 + ], + [ + 66.643877, + 38.003054 + ], + [ + 64.383028, + 38.953127 + ], + [ + 62.551104, + 39.93416 + ], + [ + 61.874163, + 41.125551 + ], + [ + 60.140276, + 41.381105 + ], + [ + 60.014444, + 42.217493 + ], + [ + 58.78055, + 42.658045 + ] + ] + ] + ] + }, + "name" : "Turkmenistan", + "iso2" : "TM", + "iso3" : "TKM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "D71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 39.682495, + -7.993334 + ], + [ + 39.901108, + -7.638889 + ], + [ + 39.591385, + -7.945834 + ], + [ + 39.682495, + -7.993334 + ] + ] + ], + [ + [ + [ + 39.446663, + -6.210556 + ], + [ + 39.304161, + -5.723889 + ], + [ + 39.201385, + -6.226945 + ], + [ + 39.516106, + -6.468612 + ], + [ + 39.446663, + -6.210556 + ] + ] + ], + [ + [ + [ + 39.736107, + -5.462778 + ], + [ + 39.857216, + -4.908611 + ], + [ + 39.676941, + -4.941389 + ], + [ + 39.736107, + -5.462778 + ] + ] + ], + [ + [ + [ + 33.920273, + -1.001111 + ], + [ + 31.677219, + -0.999722 + ], + [ + 30.48222, + -1.063334 + ], + [ + 30.894165, + -2.076111 + ], + [ + 30.57333, + -2.399167 + ], + [ + 30.4175, + -2.861945 + ], + [ + 30.843662, + -2.978794 + ], + [ + 30.834999, + -3.256945 + ], + [ + 30.026108, + -4.269444 + ], + [ + 29.423885, + -4.448056 + ], + [ + 29.550278, + -6.295279 + ], + [ + 30.77124, + -8.192247 + ], + [ + 31.041111, + -8.590279 + ], + [ + 32.940399, + -9.405077 + ], + [ + 33.13472, + -9.494167 + ], + [ + 34.325272, + -9.732779 + ], + [ + 34.966728, + -11.572111 + ], + [ + 35.838333, + -11.414722 + ], + [ + 36.18972, + -11.706667 + ], + [ + 37.462044, + -11.727329 + ], + [ + 37.941383, + -11.285002 + ], + [ + 39.268051, + -11.168056 + ], + [ + 40.436813, + -10.478174 + ], + [ + 39.826385, + -9.993057 + ], + [ + 39.387772, + -8.9025 + ], + [ + 39.274437, + -7.579167 + ], + [ + 39.547882, + -6.994313 + ], + [ + 38.776382, + -6.045556 + ], + [ + 39.203026, + -4.669618 + ], + [ + 37.613609, + -3.504167 + ], + [ + 37.602776, + -2.995833 + ], + [ + 33.920273, + -1.001111 + ] + ] + ] + ] + }, + "name" : "United Republic of Tanzania", + "iso2" : "TZ", + "iso3" : "TZA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "EL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 33.996666, + 4.222777 + ], + [ + 33.516937, + 3.752222 + ], + [ + 33.016663, + 3.888611 + ], + [ + 32.193329, + 3.511389 + ], + [ + 31.176666, + 3.795278 + ], + [ + 30.858818, + 3.493394 + ], + [ + 30.729721, + 2.448055 + ], + [ + 31.302776, + 2.121388 + ], + [ + 29.960552, + 0.825555 + ], + [ + 29.596943, + -1.385834 + ], + [ + 29.974998, + -1.464445 + ], + [ + 30.48222, + -1.063334 + ], + [ + 31.677219, + -0.999722 + ], + [ + 33.920273, + -1.001111 + ], + [ + 33.907219, + 0.103056 + ], + [ + 35.00972, + 1.895278 + ], + [ + 34.463333, + 3.671389 + ], + [ + 33.996666, + 4.222777 + ] + ] + ] + }, + "name" : "Uganda", + "iso2" : "UG", + "iso3" : "UGA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Eb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -6.290833, + 49.912218 + ], + [ + -6.295, + 49.933886 + ], + [ + -6.317499, + 49.915277 + ], + [ + -6.290833, + 49.912218 + ] + ] + ], + [ + [ + [ + -1.059721, + 50.687494 + ], + [ + -1.296944, + 50.771944 + ], + [ + -1.57, + 50.660555 + ], + [ + -1.059721, + 50.687494 + ] + ] + ], + [ + [ + [ + -0.938332, + 50.777498 + ], + [ + -0.970833, + 50.830828 + ], + [ + -1.022499, + 50.78583 + ], + [ + -0.938332, + 50.777498 + ] + ] + ], + [ + [ + [ + -4.651667, + 51.159441 + ], + [ + -4.665556, + 51.195002 + ], + [ + -4.673334, + 51.161386 + ], + [ + -4.651667, + 51.159441 + ] + ] + ], + [ + [ + [ + -4.571388, + 53.238611 + ], + [ + -4.621666, + 53.32139 + ], + [ + -4.69389, + 53.301386 + ], + [ + -4.571388, + 53.238611 + ] + ] + ], + [ + [ + [ + -4.153334, + 53.225557 + ], + [ + -4.569166, + 53.388056 + ], + [ + -4.402222, + 53.125834 + ], + [ + -4.153334, + 53.225557 + ] + ] + ], + [ + [ + [ + -6.266975, + 54.099833 + ], + [ + -5.429722, + 54.483606 + ], + [ + -5.908333, + 54.604723 + ], + [ + -5.688055, + 54.806108 + ], + [ + -6.353333, + 55.23778 + ], + [ + -7.252506, + 55.070597 + ], + [ + -7.406389, + 54.953333 + ], + [ + -8.159445, + 54.441942 + ], + [ + -7.559444, + 54.12694 + ], + [ + -7.030834, + 54.417772 + ], + [ + -6.266975, + 54.099833 + ] + ] + ], + [ + [ + [ + -6.172777, + 55.293055 + ], + [ + -6.282499, + 55.292223 + ], + [ + -6.188334, + 55.259722 + ], + [ + -6.172777, + 55.293055 + ] + ] + ], + [ + [ + [ + -5.103611, + 55.438608 + ], + [ + -5.160278, + 55.679163 + ], + [ + -5.381111, + 55.668612 + ], + [ + -5.103611, + 55.438608 + ] + ] + ], + [ + [ + [ + -6.121666, + 55.878885 + ], + [ + -6.509167, + 55.682222 + ], + [ + -6.076666, + 55.649996 + ], + [ + -6.121666, + 55.878885 + ] + ] + ], + [ + [ + [ + -5.016388, + 55.721941 + ], + [ + -5.036388, + 55.837778 + ], + [ + -5.206388, + 55.899439 + ], + [ + -5.016388, + 55.721941 + ] + ] + ], + [ + [ + [ + -6.19389, + 56.029161 + ], + [ + -6.130833, + 56.120829 + ], + [ + -6.263056, + 56.036112 + ], + [ + -6.19389, + 56.029161 + ] + ] + ], + [ + [ + [ + -5.946945, + 55.829996 + ], + [ + -5.694445, + 56.147219 + ], + [ + -6.078888, + 55.90555 + ], + [ + -5.946945, + 55.829996 + ] + ] + ], + [ + [ + [ + -5.735001, + 56.158052 + ], + [ + -5.675833, + 56.169443 + ], + [ + -5.675278, + 56.191942 + ], + [ + -5.735001, + 56.158052 + ] + ] + ], + [ + [ + [ + -5.629999, + 56.196939 + ], + [ + -5.606388, + 56.254442 + ], + [ + -5.641945, + 56.260279 + ], + [ + -5.629999, + 56.196939 + ] + ] + ], + [ + [ + [ + -5.616667, + 56.268885 + ], + [ + -5.583889, + 56.319719 + ], + [ + -5.645555, + 56.301111 + ], + [ + -5.616667, + 56.268885 + ] + ] + ], + [ + [ + [ + -6.404722, + 56.303606 + ], + [ + -6.381945, + 56.34083 + ], + [ + -6.436388, + 56.310556 + ], + [ + -6.404722, + 56.303606 + ] + ] + ], + [ + [ + [ + -5.543612, + 56.382776 + ], + [ + -5.51, + 56.411112 + ], + [ + -5.587778, + 56.389162 + ], + [ + -5.543612, + 56.382776 + ] + ] + ], + [ + [ + [ + -6.165833, + 56.464724 + ], + [ + -6.215555, + 56.497774 + ], + [ + -6.26, + 56.481943 + ], + [ + -6.165833, + 56.464724 + ] + ] + ], + [ + [ + [ + -6.739166, + 56.515833 + ], + [ + -6.990833, + 56.49444 + ], + [ + -6.892778, + 56.438608 + ], + [ + -6.739166, + 56.515833 + ] + ] + ], + [ + [ + [ + -5.783611, + 56.50889 + ], + [ + -6.32, + 56.603052 + ], + [ + -6.002777, + 56.494165 + ], + [ + -6.193611, + 56.361383 + ], + [ + -6.017778, + 56.37472 + ], + [ + -6.366112, + 56.308886 + ], + [ + -5.808611, + 56.317499 + ], + [ + -5.648333, + 56.435831 + ], + [ + -5.783611, + 56.50889 + ] + ] + ], + [ + [ + [ + -6.589167, + 56.579996 + ], + [ + -6.454445, + 56.686106 + ], + [ + -6.698889, + 56.579996 + ], + [ + -6.589167, + 56.579996 + ] + ] + ], + [ + [ + [ + -6.144722, + 56.869997 + ], + [ + -6.113611, + 56.932497 + ], + [ + -6.213055, + 56.906946 + ], + [ + -6.144722, + 56.869997 + ] + ] + ], + [ + [ + [ + -6.317499, + 56.934168 + ], + [ + -6.261667, + 57.037775 + ], + [ + -6.451666, + 57.006105 + ], + [ + -6.317499, + 56.934168 + ] + ] + ], + [ + [ + [ + -7.466944, + 56.940828 + ], + [ + -7.439722, + 57.054445 + ], + [ + -7.559999, + 56.960276 + ], + [ + -7.466944, + 56.940828 + ] + ] + ], + [ + [ + [ + -6.499166, + 57.052217 + ], + [ + -6.549444, + 57.068056 + ], + [ + -6.602501, + 57.046389 + ], + [ + -6.499166, + 57.052217 + ] + ] + ], + [ + [ + [ + -5.939167, + 57.278055 + ], + [ + -5.933889, + 57.311663 + ], + [ + -6.017778, + 57.311663 + ], + [ + -5.939167, + 57.278055 + ] + ] + ], + [ + [ + [ + -7.223055, + 57.337496 + ], + [ + -7.424999, + 57.382219 + ], + [ + -7.38139, + 57.108606 + ], + [ + -7.223055, + 57.337496 + ] + ] + ], + [ + [ + [ + -7.268888, + 57.39889 + ], + [ + -7.204721, + 57.460833 + ], + [ + -7.406389, + 57.464167 + ], + [ + -7.268888, + 57.39889 + ] + ] + ], + [ + [ + [ + -6.026945, + 57.328608 + ], + [ + -5.98, + 57.495829 + ], + [ + -6.078333, + 57.394167 + ], + [ + -6.026945, + 57.328608 + ] + ] + ], + [ + [ + [ + -6.143888, + 57.568056 + ], + [ + -6.785833, + 57.446108 + ], + [ + -6.011944, + 57.022219 + ], + [ + -5.663889, + 57.204996 + ], + [ + -6.127222, + 57.306108 + ], + [ + -6.143888, + 57.568056 + ] + ] + ], + [ + [ + [ + -5.967777, + 57.522776 + ], + [ + -5.961666, + 57.574999 + ], + [ + -5.990833, + 57.540834 + ], + [ + -5.967777, + 57.522776 + ] + ] + ], + [ + [ + [ + -7.188612, + 57.68722 + ], + [ + -7.543333, + 57.59083 + ], + [ + -7.153889, + 57.509439 + ], + [ + -7.188612, + 57.68722 + ] + ] + ], + [ + [ + [ + -7.196667, + 57.702219 + ], + [ + -7.144722, + 57.723612 + ], + [ + -7.219166, + 57.707773 + ], + [ + -7.196667, + 57.702219 + ] + ] + ], + [ + [ + [ + -8.555279, + 57.810831 + ], + [ + -8.621389, + 57.822779 + ], + [ + -8.5825, + 57.798883 + ], + [ + -8.555279, + 57.810831 + ] + ] + ], + [ + [ + [ + -7.00639, + 57.881388 + ], + [ + -6.99361, + 57.918612 + ], + [ + -7.077778, + 57.879999 + ], + [ + -7.00639, + 57.881388 + ] + ] + ], + [ + [ + [ + -6.204166, + 58.356112 + ], + [ + -7.040556, + 58.233332 + ], + [ + -6.830278, + 57.900835 + ], + [ + -7.123056, + 57.817499 + ], + [ + -6.473888, + 57.940279 + ], + [ + -6.204166, + 58.356112 + ] + ], + [ + [ + -6.802221, + 58.203051 + ], + [ + -6.869167, + 58.20389 + ], + [ + -6.889723, + 58.252497 + ], + [ + -6.802221, + 58.203051 + ] + ] + ], + [ + [ + [ + -4.153334, + 53.225557 + ], + [ + -4.760862, + 52.788973 + ], + [ + -4.133612, + 52.914446 + ], + [ + -4.130833, + 52.334719 + ], + [ + -5.246944, + 51.730272 + ], + [ + -3.346111, + 51.378611 + ], + [ + -2.379999, + 51.755556 + ], + [ + -3.028334, + 51.20611 + ], + [ + -4.226389, + 51.189165 + ], + [ + -5.7125, + 50.053606 + ], + [ + -5.193056, + 49.955278 + ], + [ + -4.379999, + 50.363886 + ], + [ + -3.716667, + 50.206667 + ], + [ + -2.924723, + 50.731943 + ], + [ + -2.43445, + 50.541792 + ], + [ + -1.154722, + 50.844164 + ], + [ + -0.926943, + 50.839441 + ], + [ + -0.796389, + 50.725275 + ], + [ + -0.254999, + 50.826387 + ], + [ + 0.242224, + 50.738054 + ], + [ + 0.975, + 50.93194 + ], + [ + 1.385557, + 51.387774 + ], + [ + 0.38278, + 51.450556 + ], + [ + 0.950556, + 51.606386 + ], + [ + 0.699724, + 51.719446 + ], + [ + 1.223612, + 51.808886 + ], + [ + 1.749445, + 52.455828 + ], + [ + 1.282225, + 52.9275 + ], + [ + 3.6E-5, + 52.879549 + ], + [ + 0.341669, + 53.095835 + ], + [ + 0.235556, + 53.399439 + ], + [ + -0.718889, + 53.699717 + ], + [ + 0.118055, + 53.56444 + ], + [ + -0.074999, + 54.11194 + ], + [ + -1.297499, + 54.763613 + ], + [ + -1.633888, + 55.580828 + ], + [ + -2.631111, + 56.05472 + ], + [ + -3.725277, + 56.027498 + ], + [ + -2.582777, + 56.268053 + ], + [ + -3.278055, + 56.3575 + ], + [ + -2.527222, + 56.578608 + ], + [ + -1.773333, + 57.458055 + ], + [ + -2.075556, + 57.699442 + ], + [ + -4.435833, + 57.574999 + ], + [ + -3.773056, + 57.851107 + ], + [ + -4.392221, + 57.905275 + ], + [ + -3.208611, + 58.304445 + ], + [ + -3.025555, + 58.647501 + ], + [ + -5.004723, + 58.623331 + ], + [ + -5.455278, + 58.076387 + ], + [ + -5.102777, + 57.850832 + ], + [ + -5.816668, + 57.821665 + ], + [ + -5.508612, + 57.534723 + ], + [ + -5.819166, + 57.363886 + ], + [ + -5.450277, + 57.420275 + ], + [ + -5.649611, + 57.161612 + ], + [ + -5.399723, + 57.105829 + ], + [ + -6.235001, + 56.719164 + ], + [ + -5.546944, + 56.691942 + ], + [ + -6.008333, + 56.637499 + ], + [ + -5.676945, + 56.493891 + ], + [ + -5.120001, + 56.816668 + ], + [ + -5.398666, + 56.478666 + ], + [ + -5.107779, + 56.507776 + ], + [ + -5.57361, + 56.324717 + ], + [ + -5.7775, + 55.296663 + ], + [ + -5.032223, + 56.2325 + ], + [ + -5.303333, + 55.850557 + ], + [ + -4.828606, + 56.113165 + ], + [ + -4.481668, + 55.921106 + ], + [ + -4.879723, + 55.936106 + ], + [ + -4.613333, + 55.494997 + ], + [ + -5.174166, + 55.000551 + ], + [ + -4.941111, + 54.64889 + ], + [ + -4.852222, + 54.868608 + ], + [ + -4.387222, + 54.675554 + ], + [ + -4.393055, + 54.908052 + ], + [ + -3.023056, + 54.970552 + ], + [ + -3.634167, + 54.511942 + ], + [ + -3.22611, + 54.098612 + ], + [ + -2.813612, + 54.222773 + ], + [ + -3.1075, + 53.551668 + ], + [ + -2.702499, + 53.346384 + ], + [ + -4.153334, + 53.225557 + ] + ], + [ + [ + 0.904722, + 51.358057 + ], + [ + 0.735003, + 51.408335 + ], + [ + 0.908892, + 51.416941 + ], + [ + 0.904722, + 51.358057 + ] + ] + ], + [ + [ + [ + -2.918333, + 58.731943 + ], + [ + -2.886389, + 58.831942 + ], + [ + -3.036945, + 58.818056 + ], + [ + -2.918333, + 58.731943 + ] + ] + ], + [ + [ + [ + -3.231388, + 58.775553 + ], + [ + -3.134722, + 58.800829 + ], + [ + -3.418055, + 58.904161 + ], + [ + -3.231388, + 58.775553 + ] + ] + ], + [ + [ + [ + -2.793055, + 58.951387 + ], + [ + -3.351389, + 59.106386 + ], + [ + -3.195, + 58.911112 + ], + [ + -2.793055, + 58.951387 + ] + ] + ], + [ + [ + [ + -2.681389, + 59.195833 + ], + [ + -2.390278, + 59.283052 + ], + [ + -2.555555, + 59.303057 + ], + [ + -2.681389, + 59.195833 + ] + ] + ], + [ + [ + [ + -2.889999, + 59.295275 + ], + [ + -3.076389, + 59.331385 + ], + [ + -2.877499, + 59.228609 + ], + [ + -2.889999, + 59.295275 + ] + ] + ], + [ + [ + [ + -1.29611, + 60.491106 + ], + [ + -1.693056, + 60.279718 + ], + [ + -1.291389, + 60.241388 + ], + [ + -1.26861, + 59.851107 + ], + [ + -1.037222, + 60.444162 + ], + [ + -1.29611, + 60.491106 + ] + ] + ], + [ + [ + [ + -1.029444, + 60.495829 + ], + [ + -1.09861, + 60.729998 + ], + [ + -1.170277, + 60.527224 + ], + [ + -1.029444, + 60.495829 + ] + ] + ], + [ + [ + [ + -0.819721, + 60.68889 + ], + [ + -0.758055, + 60.817774 + ], + [ + -0.878332, + 60.844446 + ], + [ + -0.965555, + 60.688051 + ], + [ + -0.819721, + 60.68889 + ] + ] + ] + ] + }, + "name" : "United Kingdom", + "iso2" : "GB", + "iso3" : "GBR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Er1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 33.040276, + 46.011375 + ], + [ + 32.965271, + 46.049431 + ], + [ + 32.759438, + 46.03611 + ], + [ + 33.040276, + 46.011375 + ] + ] + ], + [ + [ + [ + 34.227486, + 46.061928 + ], + [ + 34.229149, + 46.187759 + ], + [ + 34.158043, + 46.100548 + ], + [ + 34.227486, + 46.061928 + ] + ] + ], + [ + [ + [ + 32.167763, + 46.145821 + ], + [ + 31.501106, + 46.366653 + ], + [ + 31.584164, + 46.253319 + ], + [ + 32.167763, + 46.145821 + ] + ] + ], + [ + [ + [ + 29.664331, + 45.211803 + ], + [ + 29.633606, + 45.821106 + ], + [ + 29.746941, + 45.619431 + ], + [ + 30.251659, + 45.876656 + ], + [ + 30.832771, + 46.548325 + ], + [ + 31.907494, + 46.648872 + ], + [ + 31.749435, + 47.253319 + ], + [ + 32.019707, + 46.629433 + ], + [ + 32.647217, + 46.641106 + ], + [ + 31.507771, + 46.57972 + ], + [ + 32.059151, + 46.395821 + ], + [ + 31.791943, + 46.283051 + ], + [ + 33.611382, + 46.147217 + ], + [ + 33.771935, + 45.92054 + ], + [ + 32.480537, + 45.395821 + ], + [ + 33.541939, + 45.111931 + ], + [ + 33.366936, + 44.579163 + ], + [ + 33.955544, + 44.381104 + ], + [ + 35.515266, + 45.116096 + ], + [ + 36.439713, + 45.065536 + ], + [ + 36.637215, + 45.376099 + ], + [ + 35.475266, + 45.2911 + ], + [ + 35.311661, + 45.383041 + ], + [ + 35.053879, + 45.65387 + ], + [ + 34.827209, + 46.069443 + ], + [ + 34.666939, + 46.093597 + ], + [ + 34.763054, + 46.015549 + ], + [ + 35.050262, + 45.613884 + ], + [ + 35.34304, + 45.332497 + ], + [ + 35.126656, + 45.326096 + ], + [ + 34.460541, + 45.767212 + ], + [ + 34.633324, + 45.94165 + ], + [ + 33.671928, + 46.220818 + ], + [ + 34.542496, + 46.187485 + ], + [ + 34.401649, + 46.013878 + ], + [ + 34.561661, + 45.984993 + ], + [ + 34.702492, + 46.175819 + ], + [ + 35.05304, + 46.258041 + ], + [ + 35.198044, + 46.443314 + ], + [ + 34.985268, + 46.075829 + ], + [ + 35.907204, + 46.651093 + ], + [ + 38.235825, + 47.109428 + ], + [ + 38.303322, + 47.558594 + ], + [ + 38.8536, + 47.860825 + ], + [ + 39.796387, + 47.857216 + ], + [ + 39.998878, + 48.297218 + ], + [ + 39.656937, + 48.616661 + ], + [ + 40.07666, + 48.874992 + ], + [ + 39.696655, + 49.010826 + ], + [ + 40.166939, + 49.248604 + ], + [ + 40.139763, + 49.601051 + ], + [ + 38.30777, + 50.073883 + ], + [ + 38.024223, + 49.903084 + ], + [ + 37.458603, + 50.439713 + ], + [ + 35.606651, + 50.369438 + ], + [ + 35.371887, + 51.041435 + ], + [ + 34.38221, + 51.263611 + ], + [ + 34.098045, + 51.653877 + ], + [ + 34.419716, + 51.808884 + ], + [ + 33.838882, + 52.36055 + ], + [ + 33.417702, + 52.3554 + ], + [ + 31.783886, + 52.108047 + ], + [ + 30.943096, + 52.073792 + ], + [ + 30.551414, + 51.251846 + ], + [ + 25.775829, + 51.939156 + ], + [ + 24.396664, + 51.886658 + ], + [ + 23.604633, + 51.527695 + ], + [ + 24.111385, + 50.56694 + ], + [ + 22.680828, + 49.572495 + ], + [ + 22.886074, + 49.002914 + ], + [ + 22.558052, + 49.079437 + ], + [ + 22.151442, + 48.411919 + ], + [ + 22.894804, + 47.95454 + ], + [ + 24.919441, + 47.711662 + ], + [ + 26.634995, + 48.257164 + ], + [ + 27.755554, + 48.451385 + ], + [ + 29.141937, + 47.986092 + ], + [ + 29.184441, + 47.443047 + ], + [ + 29.949997, + 46.814156 + ], + [ + 30.11694, + 46.386101 + ], + [ + 28.994434, + 46.478325 + ], + [ + 28.971935, + 46.006653 + ], + [ + 28.21484, + 45.448647 + ], + [ + 29.664331, + 45.211803 + ] + ] + ] + ] + }, + "name" : "Ukraine", + "iso2" : "UA", + "iso3" : "UKR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "E71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -75.223724, + 19.901556 + ], + [ + -75.170288, + 19.931391 + ], + [ + -75.15918, + 19.960695 + ], + [ + -75.223724, + 19.901556 + ] + ] + ], + [ + [ + [ + -75.13974, + 19.962873 + ], + [ + -75.121399, + 19.887499 + ], + [ + -75.085281, + 19.893042 + ], + [ + -75.13974, + 19.962873 + ] + ] + ], + [ + [ + [ + -155.005585, + 19.328882 + ], + [ + -154.792816, + 19.53861 + ], + [ + -155.15863, + 19.962496 + ], + [ + -155.864441, + 20.269163 + ], + [ + -155.859467, + 19.032778 + ], + [ + -155.005585, + 19.328882 + ] + ] + ], + [ + [ + [ + -156.547241, + 20.525274 + ], + [ + -156.585297, + 20.607222 + ], + [ + -156.698639, + 20.534719 + ], + [ + -156.547241, + 20.525274 + ] + ] + ], + [ + [ + [ + -156.891998, + 20.744162 + ], + [ + -156.812256, + 20.843611 + ], + [ + -157.04837, + 20.918055 + ], + [ + -156.891998, + 20.744162 + ] + ] + ], + [ + [ + [ + -156.473358, + 20.89805 + ], + [ + -156.70224, + 20.924437 + ], + [ + -156.420013, + 20.58861 + ], + [ + -155.988617, + 20.748053 + ], + [ + -156.473358, + 20.89805 + ] + ] + ], + [ + [ + [ + -156.89447, + 21.161104 + ], + [ + -157.304749, + 21.100554 + ], + [ + -156.703918, + 21.158052 + ], + [ + -156.89447, + 21.161104 + ] + ] + ], + [ + [ + [ + -160.530609, + 21.643888 + ], + [ + -160.541138, + 21.641382 + ], + [ + -160.537781, + 21.632215 + ], + [ + -160.530609, + 21.643888 + ] + ] + ], + [ + [ + [ + -157.730316, + 21.411661 + ], + [ + -157.971924, + 21.699438 + ], + [ + -158.273376, + 21.580549 + ], + [ + -158.103638, + 21.295279 + ], + [ + -157.730316, + 21.411661 + ] + ] + ], + [ + [ + [ + -160.11499, + 21.887499 + ], + [ + -160.061401, + 22.013884 + ], + [ + -160.247772, + 21.813608 + ], + [ + -160.11499, + 21.887499 + ] + ] + ], + [ + [ + [ + -159.433624, + 21.881388 + ], + [ + -159.351654, + 22.22138 + ], + [ + -159.785309, + 22.061384 + ], + [ + -159.433624, + 21.881388 + ] + ] + ], + [ + [ + [ + -161.941681, + 23.039438 + ], + [ + -161.938324, + 23.046389 + ], + [ + -161.948334, + 23.047216 + ], + [ + -161.941681, + 23.039438 + ] + ] + ], + [ + [ + [ + -164.696136, + 23.564718 + ], + [ + -164.696686, + 23.578054 + ], + [ + -164.70752, + 23.576666 + ], + [ + -164.696136, + 23.564718 + ] + ] + ], + [ + [ + [ + -81.773895, + 24.544722 + ], + [ + -81.729172, + 24.560556 + ], + [ + -81.813499, + 24.543871 + ], + [ + -81.773895, + 24.544722 + ] + ] + ], + [ + [ + [ + -82.114441, + 24.545832 + ], + [ + -82.099991, + 24.583055 + ], + [ + -82.137222, + 24.593889 + ], + [ + -82.114441, + 24.545832 + ] + ] + ], + [ + [ + [ + -81.715118, + 24.553118 + ], + [ + -81.646225, + 24.577551 + ], + [ + -81.710739, + 24.59572 + ], + [ + -81.715118, + 24.553118 + ] + ] + ], + [ + [ + [ + -81.477219, + 24.636385 + ], + [ + -81.478607, + 24.677774 + ], + [ + -81.517775, + 24.684996 + ], + [ + -81.477219, + 24.636385 + ] + ] + ], + [ + [ + [ + -81.588333, + 24.589998 + ], + [ + -81.508347, + 24.629999 + ], + [ + -81.553055, + 24.68722 + ], + [ + -81.588333, + 24.589998 + ] + ] + ], + [ + [ + [ + -81.108612, + 24.706106 + ], + [ + -81.052673, + 24.716532 + ], + [ + -81.137772, + 24.701681 + ], + [ + -81.108612, + 24.706106 + ] + ] + ], + [ + [ + [ + -81.349442, + 24.629721 + ], + [ + -81.360825, + 24.70083 + ], + [ + -81.428055, + 24.748606 + ], + [ + -81.349442, + 24.629721 + ] + ] + ], + [ + [ + [ + -80.968887, + 24.742773 + ], + [ + -80.923462, + 24.769209 + ], + [ + -81.026688, + 24.718588 + ], + [ + -80.968887, + 24.742773 + ] + ] + ], + [ + [ + [ + -80.846115, + 24.797499 + ], + [ + -80.786171, + 24.822931 + ], + [ + -80.824173, + 24.821112 + ], + [ + -80.846115, + 24.797499 + ] + ] + ], + [ + [ + [ + -80.698608, + 24.866667 + ], + [ + -80.702499, + 24.880831 + ], + [ + -80.745834, + 24.842497 + ], + [ + -80.698608, + 24.866667 + ] + ] + ], + [ + [ + [ + -80.646666, + 24.90222 + ], + [ + -80.623886, + 24.932775 + ], + [ + -80.664444, + 24.894999 + ], + [ + -80.646666, + 24.90222 + ] + ] + ], + [ + [ + [ + -167.99057, + 25.002501 + ], + [ + -168.00589, + 25.017496 + ], + [ + -168.00116, + 25.003885 + ], + [ + -167.99057, + 25.002501 + ] + ] + ], + [ + [ + [ + -80.577225, + 24.945551 + ], + [ + -80.371933, + 25.143888 + ], + [ + -80.257507, + 25.346388 + ], + [ + -80.577225, + 24.945551 + ] + ] + ], + [ + [ + [ + -80.225006, + 25.40111 + ], + [ + -80.188599, + 25.494162 + ], + [ + -80.234161, + 25.40222 + ], + [ + -80.225006, + 25.40111 + ] + ] + ], + [ + [ + [ + -80.162216, + 25.669443 + ], + [ + -80.156387, + 25.733332 + ], + [ + -80.185547, + 25.68944 + ], + [ + -80.162216, + 25.669443 + ] + ] + ], + [ + [ + [ + -171.723602, + 25.762499 + ], + [ + -171.724701, + 25.791662 + ], + [ + -171.731384, + 25.760832 + ], + [ + -171.723602, + 25.762499 + ] + ] + ], + [ + [ + [ + -81.684158, + 25.844721 + ], + [ + -81.664169, + 25.888609 + ], + [ + -81.714722, + 25.888609 + ], + [ + -81.684158, + 25.844721 + ] + ] + ], + [ + [ + [ + -173.946136, + 26.063334 + ], + [ + -173.944733, + 26.080832 + ], + [ + -173.960846, + 26.079439 + ], + [ + -173.946136, + 26.063334 + ] + ] + ], + [ + [ + [ + -82.126389, + 26.449999 + ], + [ + -82.028885, + 26.444998 + ], + [ + -82.20639, + 26.545832 + ], + [ + -82.126389, + 26.449999 + ] + ] + ], + [ + [ + [ + -82.221664, + 26.612497 + ], + [ + -82.255005, + 26.698606 + ], + [ + -82.244995, + 26.634996 + ], + [ + -82.221664, + 26.612497 + ] + ] + ], + [ + [ + [ + -82.079453, + 26.487776 + ], + [ + -82.133331, + 26.691107 + ], + [ + -82.179718, + 26.699163 + ], + [ + -82.079453, + 26.487776 + ] + ] + ], + [ + [ + [ + -82.263626, + 26.716387 + ], + [ + -82.25528, + 26.759443 + ], + [ + -82.281387, + 26.808889 + ], + [ + -82.263626, + 26.716387 + ] + ] + ], + [ + [ + [ + -97.17778, + 26.084723 + ], + [ + -97.383621, + 27.20722 + ], + [ + -97.385757, + 26.838224 + ], + [ + -97.17778, + 26.084723 + ] + ] + ], + [ + [ + [ + -82.587509, + 27.321112 + ], + [ + -82.654175, + 27.418608 + ], + [ + -82.680557, + 27.425829 + ], + [ + -82.587509, + 27.321112 + ] + ] + ], + [ + [ + [ + -97.382217, + 27.218885 + ], + [ + -97.045546, + 27.843889 + ], + [ + -97.31723, + 27.495829 + ], + [ + -97.382217, + 27.218885 + ] + ] + ], + [ + [ + [ + -96.887787, + 28.030554 + ], + [ + -96.867767, + 28.134996 + ], + [ + -97.035828, + 27.875277 + ], + [ + -96.887787, + 28.030554 + ] + ] + ], + [ + [ + [ + -96.551941, + 28.266668 + ], + [ + -96.404724, + 28.392221 + ], + [ + -96.813614, + 28.092497 + ], + [ + -96.551941, + 28.266668 + ] + ] + ], + [ + [ + [ + -96.360825, + 28.402498 + ], + [ + -96.229996, + 28.485552 + ], + [ + -96.313049, + 28.455275 + ], + [ + -96.360825, + 28.402498 + ] + ] + ], + [ + [ + [ + -80.663895, + 28.258333 + ], + [ + -80.625275, + 28.590555 + ], + [ + -80.74028, + 28.478331 + ], + [ + -80.663895, + 28.258333 + ] + ] + ], + [ + [ + [ + -90.87265, + 29.046133 + ], + [ + -90.923615, + 29.060556 + ], + [ + -90.950394, + 29.060003 + ], + [ + -90.87265, + 29.046133 + ] + ] + ], + [ + [ + [ + -90.739166, + 29.045 + ], + [ + -90.642502, + 29.073332 + ], + [ + -90.758347, + 29.048609 + ], + [ + -90.739166, + 29.045 + ] + ] + ], + [ + [ + [ + -90.335556, + 29.057222 + ], + [ + -90.29834, + 29.066942 + ], + [ + -90.285278, + 29.083055 + ], + [ + -90.335556, + 29.057222 + ] + ] + ], + [ + [ + [ + -89.975281, + 29.242773 + ], + [ + -89.955002, + 29.268057 + ], + [ + -90.031113, + 29.211943 + ], + [ + -89.975281, + 29.242773 + ] + ] + ], + [ + [ + [ + -89.928329, + 29.278612 + ], + [ + -89.907501, + 29.302221 + ], + [ + -89.935272, + 29.2875 + ], + [ + -89.928329, + 29.278612 + ] + ] + ], + [ + [ + [ + -89.860001, + 29.310278 + ], + [ + -89.86972, + 29.335276 + ], + [ + -89.89389, + 29.323053 + ], + [ + -89.860001, + 29.310278 + ] + ] + ], + [ + [ + [ + -95.111115, + 29.098055 + ], + [ + -94.784729, + 29.308054 + ], + [ + -94.821396, + 29.33861 + ], + [ + -95.111115, + 29.098055 + ] + ] + ], + [ + [ + [ + -89.170546, + 29.473051 + ], + [ + -89.156952, + 29.492495 + ], + [ + -89.219162, + 29.46472 + ], + [ + -89.170546, + 29.473051 + ] + ] + ], + [ + [ + [ + -89.601105, + 29.513887 + ], + [ + -89.56221, + 29.521112 + ], + [ + -89.565826, + 29.55472 + ], + [ + -89.590286, + 29.560556 + ], + [ + -89.618332, + 29.538332 + ], + [ + -89.601105, + 29.513887 + ] + ] + ], + [ + [ + [ + -89.080292, + 29.521387 + ], + [ + -89.037216, + 29.57361 + ], + [ + -89.078888, + 29.545553 + ], + [ + -89.080292, + 29.521387 + ] + ] + ], + [ + [ + [ + -91.786667, + 29.486109 + ], + [ + -91.856384, + 29.634996 + ], + [ + -92.034439, + 29.591665 + ], + [ + -91.786667, + 29.486109 + ] + ] + ], + [ + [ + [ + -85.111115, + 29.632219 + ], + [ + -85.08168, + 29.679163 + ], + [ + -85.198044, + 29.685274 + ], + [ + -85.111115, + 29.632219 + ] + ] + ], + [ + [ + [ + -89.428604, + 29.692774 + ], + [ + -89.422501, + 29.722773 + ], + [ + -89.468613, + 29.728609 + ], + [ + -89.428604, + 29.692774 + ] + ] + ], + [ + [ + [ + -84.972778, + 29.608889 + ], + [ + -84.692215, + 29.758333 + ], + [ + -85.095001, + 29.623888 + ], + [ + -84.972778, + 29.608889 + ] + ] + ], + [ + [ + [ + -89.424164, + 29.740831 + ], + [ + -89.491104, + 29.793055 + ], + [ + -89.488892, + 29.73805 + ], + [ + -89.424164, + 29.740831 + ] + ] + ], + [ + [ + [ + -89.285278, + 29.771387 + ], + [ + -89.275558, + 29.809164 + ], + [ + -89.341675, + 29.803888 + ], + [ + -89.285278, + 29.771387 + ] + ] + ], + [ + [ + [ + -84.638901, + 29.778334 + ], + [ + -84.573425, + 29.819998 + ], + [ + -84.667221, + 29.776945 + ], + [ + -84.638901, + 29.778334 + ] + ] + ], + [ + [ + [ + -88.84584, + 29.776388 + ], + [ + -88.805832, + 29.906385 + ], + [ + -88.868744, + 30.060606 + ], + [ + -88.84584, + 29.776388 + ] + ] + ], + [ + [ + [ + -89.31778, + 30.040834 + ], + [ + -89.184998, + 30.166666 + ], + [ + -89.34639, + 30.059443 + ], + [ + -89.31778, + 30.040834 + ] + ] + ], + [ + [ + [ + -88.437775, + 30.206106 + ], + [ + -88.428055, + 30.212774 + ], + [ + -88.500565, + 30.218885 + ], + [ + -88.437775, + 30.206106 + ] + ] + ], + [ + [ + [ + -88.552216, + 30.21472 + ], + [ + -88.526398, + 30.223051 + ], + [ + -88.754181, + 30.244719 + ], + [ + -88.552216, + 30.21472 + ] + ] + ], + [ + [ + [ + -89.081116, + 30.19972 + ], + [ + -89.060516, + 30.246675 + ], + [ + -89.091675, + 30.216665 + ], + [ + -89.081116, + 30.19972 + ] + ] + ], + [ + [ + [ + -88.094727, + 30.241106 + ], + [ + -88.107773, + 30.273611 + ], + [ + -88.3125, + 30.232775 + ], + [ + -88.094727, + 30.241106 + ] + ] + ], + [ + [ + [ + -86.529175, + 30.400831 + ], + [ + -86.763062, + 30.404997 + ], + [ + -87.292221, + 30.332777 + ], + [ + -86.529175, + 30.400831 + ] + ] + ], + [ + [ + [ + -118.406952, + 32.816668 + ], + [ + -118.369164, + 32.854715 + ], + [ + -118.592499, + 33.046946 + ], + [ + -118.406952, + 32.816668 + ] + ] + ], + [ + [ + [ + -79.365004, + 33.003054 + ], + [ + -79.336121, + 33.067217 + ], + [ + -79.361115, + 33.049997 + ], + [ + -79.365004, + 33.003054 + ] + ] + ], + [ + [ + [ + -119.444153, + 33.216661 + ], + [ + -119.48056, + 33.274439 + ], + [ + -119.566673, + 33.28277 + ], + [ + -119.444153, + 33.216661 + ] + ] + ], + [ + [ + [ + -118.301941, + 33.309435 + ], + [ + -118.592215, + 33.486658 + ], + [ + -118.448883, + 33.327494 + ], + [ + -118.301941, + 33.309435 + ] + ] + ], + [ + [ + [ + -77.960831, + 33.85 + ], + [ + -77.949722, + 33.91305 + ], + [ + -78.016403, + 33.874163 + ], + [ + -77.960831, + 33.85 + ] + ] + ], + [ + [ + [ + -120.035278, + 34.023882 + ], + [ + -120.226097, + 34.006105 + ], + [ + -120.107498, + 33.90555 + ], + [ + -120.035278, + 34.023882 + ] + ] + ], + [ + [ + [ + -120.297783, + 34.028605 + ], + [ + -120.363892, + 34.065546 + ], + [ + -120.438049, + 34.036943 + ], + [ + -120.297783, + 34.028605 + ] + ] + ], + [ + [ + [ + -119.868057, + 34.084162 + ], + [ + -119.78833, + 33.967211 + ], + [ + -119.513634, + 34.042772 + ], + [ + -119.868057, + 34.084162 + ] + ] + ], + [ + [ + [ + -76.535278, + 34.635553 + ], + [ + -76.559158, + 34.664995 + ], + [ + -76.654724, + 34.686106 + ], + [ + -76.535278, + 34.635553 + ] + ] + ], + [ + [ + [ + -76.682495, + 34.702219 + ], + [ + -76.931107, + 34.691378 + ], + [ + -77.098053, + 34.650545 + ], + [ + -76.682495, + 34.702219 + ] + ] + ], + [ + [ + [ + -76.531952, + 34.585825 + ], + [ + -76.199722, + 34.94166 + ], + [ + -76.420837, + 34.775827 + ], + [ + -76.531952, + 34.585825 + ] + ] + ], + [ + [ + [ + -76.06778, + 35.039438 + ], + [ + -76.039444, + 35.061106 + ], + [ + -76.131104, + 35.00194 + ], + [ + -76.06778, + 35.039438 + ] + ] + ], + [ + [ + [ + -76.010834, + 35.074167 + ], + [ + -75.766953, + 35.19388 + ], + [ + -75.98111, + 35.115 + ], + [ + -76.010834, + 35.074167 + ] + ] + ], + [ + [ + [ + -75.527222, + 35.235552 + ], + [ + -75.512512, + 35.777216 + ], + [ + -75.65361, + 35.22555 + ], + [ + -75.527222, + 35.235552 + ] + ] + ], + [ + [ + [ + -75.619446, + 35.821383 + ], + [ + -75.665833, + 35.926943 + ], + [ + -75.723328, + 35.94166 + ], + [ + -75.619446, + 35.821383 + ] + ] + ], + [ + [ + [ + -75.906113, + 37.112497 + ], + [ + -75.872498, + 37.149164 + ], + [ + -75.898895, + 37.136942 + ], + [ + -75.906113, + 37.112497 + ] + ] + ], + [ + [ + [ + -75.78833, + 37.238047 + ], + [ + -75.785278, + 37.298609 + ], + [ + -75.837509, + 37.22777 + ], + [ + -75.78833, + 37.238047 + ] + ] + ], + [ + [ + [ + -75.696655, + 37.402773 + ], + [ + -75.668335, + 37.460276 + ], + [ + -75.710831, + 37.390276 + ], + [ + -75.696655, + 37.402773 + ] + ] + ], + [ + [ + [ + -121.801392, + 38.055269 + ], + [ + -121.796387, + 38.066668 + ], + [ + -121.820007, + 38.068056 + ], + [ + -121.801392, + 38.055269 + ] + ] + ], + [ + [ + [ + -75.354172, + 37.866663 + ], + [ + -75.121109, + 38.263056 + ], + [ + -75.384171, + 37.872217 + ], + [ + -75.354172, + 37.866663 + ] + ] + ], + [ + [ + [ + -74.329453, + 39.421663 + ], + [ + -74.348053, + 39.474436 + ], + [ + -74.376251, + 39.420744 + ], + [ + -74.444153, + 39.406939 + ], + [ + -74.394455, + 39.382494 + ], + [ + -74.329453, + 39.421663 + ] + ] + ], + [ + [ + [ + -74.246948, + 39.525553 + ], + [ + -74.138336, + 39.659433 + ], + [ + -74.099991, + 39.750834 + ], + [ + -74.246948, + 39.525553 + ] + ] + ], + [ + [ + [ + -74.220001, + 40.511667 + ], + [ + -74.062775, + 40.639437 + ], + [ + -74.176941, + 40.641939 + ], + [ + -74.220001, + 40.511667 + ] + ] + ], + [ + [ + [ + -73.223328, + 40.635271 + ], + [ + -72.766663, + 40.766108 + ], + [ + -73.294724, + 40.633883 + ], + [ + -73.223328, + 40.635271 + ] + ] + ], + [ + [ + [ + -72.262222, + 41.125269 + ], + [ + -74.032501, + 40.625826 + ], + [ + -73.582779, + 40.596102 + ], + [ + -71.85611, + 41.069162 + ], + [ + -72.621109, + 40.91305 + ], + [ + -72.262222, + 41.125269 + ] + ] + ], + [ + [ + [ + -69.994995, + 41.328051 + ], + [ + -70.234161, + 41.283609 + ], + [ + -69.993881, + 41.250277 + ], + [ + -69.994995, + 41.328051 + ] + ] + ], + [ + [ + [ + -70.506393, + 41.357218 + ], + [ + -70.617218, + 41.473879 + ], + [ + -70.838058, + 41.359995 + ], + [ + -70.506393, + 41.357218 + ] + ] + ], + [ + [ + [ + -71.297501, + 41.458605 + ], + [ + -71.222504, + 41.654161 + ], + [ + -71.358337, + 41.459162 + ], + [ + -71.297501, + 41.458605 + ] + ] + ], + [ + [ + [ + -68.803329, + 44.048052 + ], + [ + -68.76445, + 44.094995 + ], + [ + -68.898056, + 44.12388 + ], + [ + -68.803329, + 44.048052 + ] + ] + ], + [ + [ + [ + -68.650833, + 44.168886 + ], + [ + -68.66806, + 44.285273 + ], + [ + -68.72139, + 44.228876 + ], + [ + -68.650833, + 44.168886 + ] + ] + ], + [ + [ + [ + -68.320847, + 44.237215 + ], + [ + -68.168335, + 44.345545 + ], + [ + -68.263062, + 44.452776 + ], + [ + -68.428329, + 44.319994 + ], + [ + -68.320847, + 44.237215 + ] + ] + ], + [ + [ + [ + -123.938049, + 46.431108 + ], + [ + -123.972504, + 46.515276 + ], + [ + -123.983063, + 46.469156 + ], + [ + -123.949158, + 46.431108 + ], + [ + -123.938049, + 46.431108 + ] + ] + ], + [ + [ + [ + -122.843063, + 47.206942 + ], + [ + -122.845551, + 47.312494 + ], + [ + -122.902222, + 47.297495 + ], + [ + -122.843063, + 47.206942 + ] + ] + ], + [ + [ + [ + -122.482224, + 47.349718 + ], + [ + -122.381104, + 47.394716 + ], + [ + -122.450562, + 47.518328 + ], + [ + -122.482224, + 47.349718 + ] + ] + ], + [ + [ + [ + -122.50473, + 48.309717 + ], + [ + -122.757782, + 48.233881 + ], + [ + -122.372223, + 47.919443 + ], + [ + -122.50473, + 48.309717 + ] + ] + ], + [ + [ + [ + -122.816673, + 48.416941 + ], + [ + -122.876663, + 48.564157 + ], + [ + -122.936111, + 48.457773 + ], + [ + -122.816673, + 48.416941 + ] + ] + ], + [ + [ + [ + -123, + 48.4461 + ], + [ + -122.995003, + 48.529718 + ], + [ + -123.178329, + 48.592218 + ], + [ + -123, + 48.4461 + ] + ] + ], + [ + [ + [ + -122.922501, + 48.711664 + ], + [ + -123.010277, + 48.603609 + ], + [ + -122.749161, + 48.651384 + ], + [ + -122.922501, + 48.711664 + ] + ] + ], + [ + [ + [ + -123.09375, + 48.999437 + ], + [ + -123.053329, + 48.973879 + ], + [ + -123.034317, + 48.999437 + ], + [ + -123.09375, + 48.999437 + ] + ] + ], + [ + [ + [ + -67.206543, + 45.183039 + ], + [ + -67.799164, + 45.701105 + ], + [ + -67.794998, + 47.069994 + ], + [ + -69.232498, + 47.471376 + ], + [ + -70.878601, + 45.238604 + ], + [ + -74.990829, + 44.986658 + ], + [ + -76.801941, + 43.633608 + ], + [ + -78.724716, + 43.629435 + ], + [ + -79.184723, + 43.465548 + ], + [ + -78.986938, + 42.819994 + ], + [ + -82.696655, + 41.683878 + ], + [ + -83.16861, + 42.046106 + ], + [ + -82.521393, + 42.618883 + ], + [ + -82.13028, + 43.585268 + ], + [ + -82.54306, + 45.355829 + ], + [ + -83.597778, + 45.827219 + ], + [ + -83.577499, + 46.105272 + ], + [ + -83.958893, + 46.071665 + ], + [ + -84.126389, + 46.531939 + ], + [ + -84.565002, + 46.466387 + ], + [ + -84.856949, + 46.902216 + ], + [ + -88.368057, + 48.312212 + ], + [ + -89.356659, + 47.979715 + ], + [ + -90.868607, + 48.237497 + ], + [ + -91.418335, + 48.041109 + ], + [ + -92.953064, + 48.623323 + ], + [ + -94.605835, + 48.724436 + ], + [ + -95.078064, + 49.359163 + ], + [ + -95.154175, + 48.999437 + ], + [ + -122.7603, + 48.999437 + ], + [ + -122.4375, + 48.598047 + ], + [ + -122.704453, + 48.486109 + ], + [ + -122.379173, + 48.291666 + ], + [ + -122.309723, + 47.401102 + ], + [ + -122.878601, + 47.064157 + ], + [ + -123.068619, + 47.151659 + ], + [ + -122.797501, + 47.395273 + ], + [ + -122.758621, + 47.189714 + ], + [ + -122.619164, + 47.420549 + ], + [ + -122.549988, + 47.28277 + ], + [ + -122.454727, + 47.774439 + ], + [ + -122.565552, + 47.938044 + ], + [ + -123.102493, + 47.399721 + ], + [ + -122.836403, + 47.439157 + ], + [ + -123.147507, + 47.368601 + ], + [ + -122.63028, + 47.915827 + ], + [ + -122.751106, + 48.161104 + ], + [ + -124.715843, + 48.395273 + ], + [ + -124.161942, + 46.941103 + ], + [ + -123.796661, + 46.976099 + ], + [ + -124.097504, + 46.861383 + ], + [ + -123.752563, + 46.693071 + ], + [ + -123.941673, + 46.391108 + ], + [ + -123.98999, + 46.397776 + ], + [ + -124.015839, + 46.654436 + ], + [ + -124.04277, + 46.658045 + ], + [ + -124, + 46.32361 + ], + [ + -123.163574, + 46.195192 + ], + [ + -123.95195, + 46.181108 + ], + [ + -124.138344, + 43.371103 + ], + [ + -124.524437, + 42.866106 + ], + [ + -124.039993, + 41.431108 + ], + [ + -124.33223, + 40.266108 + ], + [ + -123.775833, + 39.717211 + ], + [ + -123.703613, + 38.932497 + ], + [ + -123.104721, + 38.461107 + ], + [ + -122.803595, + 38.088045 + ], + [ + -122.964561, + 38.239614 + ], + [ + -122.99707, + 38.00511 + ], + [ + -122.491379, + 37.827776 + ], + [ + -122.36528, + 38.15555 + ], + [ + -122.109734, + 38.06138 + ], + [ + -122.018623, + 38.148115 + ], + [ + -121.736107, + 38.044718 + ], + [ + -121.576683, + 38.115831 + ], + [ + -121.419998, + 38.012774 + ], + [ + -122.240547, + 38.05916 + ], + [ + -122.393341, + 37.957773 + ], + [ + -122.005835, + 37.471376 + ], + [ + -122.386948, + 37.816668 + ], + [ + -122.488052, + 37.518328 + ], + [ + -121.796387, + 36.879435 + ], + [ + -121.867493, + 36.312494 + ], + [ + -120.614166, + 35.135828 + ], + [ + -120.62027, + 34.570833 + ], + [ + -118.534729, + 34.050829 + ], + [ + -117.480827, + 33.327494 + ], + [ + -117.122374, + 32.535334 + ], + [ + -114.719093, + 32.718458 + ], + [ + -114.80983, + 32.50699 + ], + [ + -113.052887, + 31.971071 + ], + [ + -111.045837, + 31.333055 + ], + [ + -108.208344, + 31.333055 + ], + [ + -108.208618, + 31.783335 + ], + [ + -106.400848, + 31.750277 + ], + [ + -104.900558, + 30.572779 + ], + [ + -104.540009, + 29.67111 + ], + [ + -103.375, + 29.023611 + ], + [ + -102.305847, + 29.889444 + ], + [ + -101.405014, + 29.772779 + ], + [ + -99.505005, + 27.570276 + ], + [ + -99.104736, + 26.434999 + ], + [ + -97.140739, + 25.966429 + ], + [ + -97.559433, + 26.836111 + ], + [ + -97.423889, + 27.2675 + ], + [ + -97.773895, + 27.458887 + ], + [ + -97.411118, + 27.327497 + ], + [ + -97.520554, + 27.866388 + ], + [ + -97.184723, + 27.827497 + ], + [ + -96.803604, + 28.473051 + ], + [ + -96.398346, + 28.43611 + ], + [ + -96.641678, + 28.719717 + ], + [ + -95.985825, + 28.649164 + ], + [ + -96.212784, + 28.485552 + ], + [ + -95.140839, + 29.057501 + ], + [ + -95.093887, + 29.177774 + ], + [ + -94.902786, + 29.314444 + ], + [ + -94.888062, + 29.375555 + ], + [ + -95.059433, + 29.718885 + ], + [ + -94.47583, + 29.561388 + ], + [ + -94.772507, + 29.363886 + ], + [ + -93.857498, + 29.676107 + ], + [ + -93.845276, + 29.98805 + ], + [ + -93.840286, + 29.704165 + ], + [ + -92.308334, + 29.539721 + ], + [ + -91.841675, + 29.830278 + ], + [ + -91.246948, + 29.240831 + ], + [ + -90.206665, + 29.091944 + ], + [ + -90.178329, + 29.5725 + ], + [ + -89.272781, + 29.155832 + ], + [ + -89.404999, + 28.926664 + ], + [ + -89.008347, + 29.176943 + ], + [ + -89.18721, + 29.33972 + ], + [ + -89.676392, + 29.52389 + ], + [ + -89.753342, + 29.630831 + ], + [ + -89.399445, + 30.050833 + ], + [ + -89.658051, + 29.873888 + ], + [ + -89.667221, + 30.167776 + ], + [ + -90.419724, + 30.198332 + ], + [ + -88.132767, + 30.314444 + ], + [ + -88.020279, + 30.701109 + ], + [ + -87.756393, + 30.285276 + ], + [ + -88.023621, + 30.219442 + ], + [ + -86.263336, + 30.496664 + ], + [ + -85.392227, + 30.049444 + ], + [ + -85.633942, + 30.104441 + ], + [ + -85.354172, + 29.676664 + ], + [ + -84.207504, + 30.105555 + ], + [ + -83.669449, + 29.906107 + ], + [ + -82.631104, + 28.884996 + ], + [ + -82.853333, + 27.855276 + ], + [ + -82.722504, + 27.656942 + ], + [ + -82.691376, + 28.032221 + ], + [ + -82.422501, + 27.917498 + ], + [ + -82.655273, + 27.461664 + ], + [ + -82.30278, + 26.837221 + ], + [ + -82.017227, + 26.96472 + ], + [ + -82.064163, + 26.545 + ], + [ + -81.777786, + 26.710554 + ], + [ + -81.970055, + 26.482832 + ], + [ + -81.736588, + 25.959444 + ], + [ + -81.33667, + 25.804998 + ], + [ + -80.915283, + 25.25139 + ], + [ + -81.088058, + 25.115553 + ], + [ + -80.398621, + 25.184721 + ], + [ + -80.033325, + 26.786665 + ], + [ + -80.755569, + 28.415831 + ], + [ + -80.844162, + 28.790556 + ], + [ + -80.602219, + 28.6075 + ], + [ + -80.446655, + 27.864443 + ], + [ + -80.55249, + 28.525 + ], + [ + -81.25528, + 29.796667 + ], + [ + -81.496948, + 31.125555 + ], + [ + -80.669998, + 32.214159 + ], + [ + -80.836945, + 32.516665 + ], + [ + -80.467224, + 32.315828 + ], + [ + -80.671661, + 32.521662 + ], + [ + -79.381943, + 33.009722 + ], + [ + -79.371719, + 33.058947 + ], + [ + -79.205841, + 33.165545 + ], + [ + -79.271393, + 33.373323 + ], + [ + -79.188599, + 33.43638 + ], + [ + -79.196442, + 33.27894 + ], + [ + -78.827499, + 33.730272 + ], + [ + -78.013626, + 33.891939 + ], + [ + -77.96167, + 34.158602 + ], + [ + -77.930832, + 33.927774 + ], + [ + -77.428879, + 34.741938 + ], + [ + -76.335831, + 34.886942 + ], + [ + -76.944443, + 34.977488 + ], + [ + -77.076401, + 35.156099 + ], + [ + -76.761398, + 34.987772 + ], + [ + -76.468887, + 35.271662 + ], + [ + -77.050827, + 35.530275 + ], + [ + -76.14917, + 35.336939 + ], + [ + -75.720276, + 35.81444 + ], + [ + -75.853607, + 35.974993 + ], + [ + -76.035278, + 35.649996 + ], + [ + -76.070847, + 35.991938 + ], + [ + -76.73056, + 35.939432 + ], + [ + -76.706116, + 36.264162 + ], + [ + -76.656662, + 36.031107 + ], + [ + -76.063049, + 36.153322 + ], + [ + -76.195541, + 36.319994 + ], + [ + -75.785553, + 36.069994 + ], + [ + -75.938889, + 36.716661 + ], + [ + -75.529175, + 35.803881 + ], + [ + -75.98999, + 36.913881 + ], + [ + -77.232224, + 37.296389 + ], + [ + -76.268066, + 37.078882 + ], + [ + -76.68277, + 37.42972 + ], + [ + -76.381104, + 37.273882 + ], + [ + -76.286667, + 37.567499 + ], + [ + -77.133896, + 38.17277 + ], + [ + -76.353607, + 37.618601 + ], + [ + -76.241669, + 37.904993 + ], + [ + -77.320007, + 38.34527 + ], + [ + -77.061111, + 38.905268 + ], + [ + -77.244446, + 38.398333 + ], + [ + -76.309998, + 38.046389 + ], + [ + -76.666107, + 38.480547 + ], + [ + -76.376099, + 38.363611 + ], + [ + -76.618607, + 39.254168 + ], + [ + -75.83168, + 39.577494 + ], + [ + -76.360001, + 38.857218 + ], + [ + -75.956665, + 38.648607 + ], + [ + -76.242493, + 38.366938 + ], + [ + -75.838058, + 38.398882 + ], + [ + -75.880829, + 37.949434 + ], + [ + -75.644043, + 37.961176 + ], + [ + -75.960831, + 37.152216 + ], + [ + -75.043884, + 38.421663 + ], + [ + -75.588608, + 39.648882 + ], + [ + -75.028519, + 40.012308 + ], + [ + -75.557495, + 39.618052 + ], + [ + -74.892775, + 39.167772 + ], + [ + -74.955002, + 38.924166 + ], + [ + -74.415558, + 39.355272 + ], + [ + -74.462593, + 39.421068 + ], + [ + -74.405563, + 39.516108 + ], + [ + -74.150284, + 39.704996 + ], + [ + -74.053879, + 40.057497 + ], + [ + -74.076401, + 39.776941 + ], + [ + -73.952225, + 40.299997 + ], + [ + -74.269165, + 40.47471 + ], + [ + -73.956665, + 41.305269 + ], + [ + -73.99749, + 40.713461 + ], + [ + -72.906387, + 41.286112 + ], + [ + -71.50528, + 41.366938 + ], + [ + -71.391388, + 41.811937 + ], + [ + -71.111115, + 41.795 + ], + [ + -71.185822, + 41.466661 + ], + [ + -69.936386, + 41.669443 + ], + [ + -70.078888, + 42.062212 + ], + [ + -70.011124, + 41.79722 + ], + [ + -70.324722, + 41.711382 + ], + [ + -71.044449, + 42.311106 + ], + [ + -70.580566, + 42.651934 + ], + [ + -70.729172, + 43.122766 + ], + [ + -70.172501, + 43.78055 + ], + [ + -69.823898, + 43.714441 + ], + [ + -69.773331, + 44.079165 + ], + [ + -69.721939, + 43.78583 + ], + [ + -69.067505, + 44.063326 + ], + [ + -68.795273, + 44.579721 + ], + [ + -68.615829, + 44.306383 + ], + [ + -68.547501, + 44.317774 + ], + [ + -68.559158, + 44.418886 + ], + [ + -68.321152, + 44.465883 + ], + [ + -68.108612, + 44.460276 + ], + [ + -68.047501, + 44.346941 + ], + [ + -67.775284, + 44.546946 + ], + [ + -67.565277, + 44.550272 + ], + [ + -67.551102, + 44.666101 + ], + [ + -67.186935, + 44.661936 + ], + [ + -66.968887, + 44.83111 + ], + [ + -67.206543, + 45.183039 + ] + ], + [ + [ + -122.495827, + 47.595545 + ], + [ + -122.58168, + 47.671663 + ], + [ + -122.503342, + 47.715273 + ], + [ + -122.495827, + 47.595545 + ] + ], + [ + [ + -123.938599, + 45.536661 + ], + [ + -123.934433, + 45.558329 + ], + [ + -123.916946, + 45.56444 + ], + [ + -123.938599, + 45.536661 + ] + ], + [ + [ + -77.851669, + 34.111109 + ], + [ + -77.855835, + 34.149164 + ], + [ + -77.820847, + 34.175272 + ], + [ + -77.851669, + 34.111109 + ] + ] + ], + [ + [ + [ + -179.105286, + 51.213053 + ], + [ + -179.08725, + 51.290834 + ], + [ + -179.141998, + 51.268595 + ], + [ + -179.105286, + 51.213053 + ] + ] + ], + [ + [ + [ + -178.962494, + 51.311663 + ], + [ + -178.90033, + 51.354998 + ], + [ + -178.949982, + 51.396936 + ], + [ + -178.962494, + 51.311663 + ] + ] + ], + [ + [ + [ + 178.993013, + 51.574999 + ], + [ + 178.636385, + 51.637774 + ], + [ + 179.471346, + 51.367495 + ], + [ + 178.993013, + 51.574999 + ] + ] + ], + [ + [ + [ + -178.776978, + 51.745539 + ], + [ + -178.742798, + 51.807772 + ], + [ + -178.842529, + 51.819155 + ], + [ + -178.776978, + 51.745539 + ] + ] + ], + [ + [ + [ + 178.392214, + 51.763056 + ], + [ + 178.329958, + 51.814997 + ], + [ + 178.223024, + 51.830828 + ], + [ + 178.392214, + 51.763056 + ] + ] + ], + [ + [ + [ + -176.012817, + 51.830271 + ], + [ + -176.219452, + 51.831385 + ], + [ + -176.143341, + 51.774439 + ], + [ + -176.012817, + 51.830271 + ] + ] + ], + [ + [ + [ + -176.336426, + 51.721659 + ], + [ + -176.276978, + 51.86027 + ], + [ + -176.41449, + 51.854998 + ], + [ + -176.336426, + 51.721659 + ] + ] + ], + [ + [ + [ + -177.813904, + 51.719706 + ], + [ + -178.218079, + 51.871935 + ], + [ + -177.949982, + 51.606379 + ], + [ + -177.813904, + 51.719706 + ] + ] + ], + [ + [ + [ + -176.550598, + 51.905825 + ], + [ + -176.975037, + 51.595819 + ], + [ + -176.429749, + 51.730265 + ], + [ + -176.550598, + 51.905825 + ] + ] + ], + [ + [ + [ + -175.951111, + 51.868876 + ], + [ + -176.001953, + 51.908876 + ], + [ + -176.093079, + 51.885263 + ], + [ + -175.951111, + 51.868876 + ] + ] + ], + [ + [ + [ + -177.122223, + 51.784433 + ], + [ + -177.157257, + 51.938326 + ], + [ + -177.704468, + 51.70083 + ], + [ + -177.122223, + 51.784433 + ] + ] + ], + [ + [ + [ + -175.725037, + 51.930552 + ], + [ + -175.657501, + 51.956942 + ], + [ + -175.729187, + 51.966105 + ], + [ + -175.725037, + 51.930552 + ] + ] + ], + [ + [ + [ + -175.86499, + 51.96361 + ], + [ + -175.801941, + 51.982203 + ], + [ + -175.946686, + 51.978868 + ], + [ + -175.86499, + 51.96361 + ] + ] + ], + [ + [ + [ + 178.536928, + 51.89361 + ], + [ + 178.606081, + 51.947771 + ], + [ + 178.468294, + 51.98472 + ], + [ + 178.536928, + 51.89361 + ] + ] + ], + [ + [ + [ + 179.737459, + 51.903048 + ], + [ + 179.658602, + 52.024714 + ], + [ + 179.486086, + 51.972216 + ], + [ + 179.737459, + 51.903048 + ] + ] + ], + [ + [ + [ + 177.684694, + 52.079996 + ], + [ + 177.24106, + 51.87694 + ], + [ + 177.604952, + 51.920275 + ], + [ + 177.684694, + 52.079996 + ] + ] + ], + [ + [ + [ + -176.037231, + 51.964434 + ], + [ + -176.046112, + 52.102221 + ], + [ + -176.190857, + 52.059992 + ], + [ + -176.037231, + 51.964434 + ] + ] + ], + [ + [ + [ + -173.515869, + 52.106936 + ], + [ + -174.056976, + 52.120272 + ], + [ + -172.955597, + 52.085543 + ], + [ + -173.515869, + 52.106936 + ] + ] + ], + [ + [ + [ + 175.961092, + 52.33555 + ], + [ + 175.987734, + 52.353609 + ], + [ + 175.881899, + 52.372492 + ], + [ + 175.961092, + 52.33555 + ] + ] + ], + [ + [ + [ + -172.388367, + 52.289721 + ], + [ + -172.438324, + 52.391932 + ], + [ + -172.628052, + 52.258326 + ], + [ + -172.388367, + 52.289721 + ] + ] + ], + [ + [ + [ + -173.9953, + 52.291101 + ], + [ + -174.184479, + 52.416941 + ], + [ + -175.335846, + 52.014154 + ], + [ + -173.9953, + 52.291101 + ] + ] + ], + [ + [ + [ + 173.787752, + 52.501108 + ], + [ + 173.375246, + 52.399439 + ], + [ + 173.735506, + 52.353327 + ], + [ + 173.787752, + 52.501108 + ] + ] + ], + [ + [ + [ + -171.23526, + 52.45083 + ], + [ + -171.217224, + 52.510546 + ], + [ + -171.308044, + 52.49943 + ], + [ + -171.23526, + 52.45083 + ] + ] + ], + [ + [ + [ + -170.60556, + 52.59083 + ], + [ + -170.676147, + 52.694155 + ], + [ + -170.841675, + 52.554155 + ], + [ + -170.60556, + 52.59083 + ] + ] + ], + [ + [ + [ + 174.177767, + 52.705553 + ], + [ + 174.102175, + 52.741106 + ], + [ + 174.074129, + 52.711382 + ], + [ + 174.177767, + 52.705553 + ] + ] + ], + [ + [ + [ + -170.114746, + 52.718325 + ], + [ + -170.054993, + 52.765268 + ], + [ + -170.179993, + 52.783876 + ], + [ + -170.114746, + 52.718325 + ] + ] + ], + [ + [ + [ + -169.675049, + 52.817774 + ], + [ + -169.781158, + 52.885263 + ], + [ + -170.013062, + 52.818331 + ], + [ + -169.675049, + 52.817774 + ] + ] + ], + [ + [ + [ + -170.040833, + 52.853045 + ], + [ + -169.993895, + 52.901934 + ], + [ + -170.127472, + 52.888597 + ], + [ + -170.040833, + 52.853045 + ] + ] + ], + [ + [ + [ + 173.29999, + 52.882212 + ], + [ + 172.476351, + 52.92444 + ], + [ + 172.928591, + 52.743883 + ], + [ + 173.29999, + 52.882212 + ] + ] + ], + [ + [ + [ + -169.724457, + 52.943316 + ], + [ + -169.676697, + 53.031664 + ], + [ + -169.752502, + 53.026377 + ], + [ + -169.724457, + 52.943316 + ] + ] + ], + [ + [ + [ + -168.243591, + 53.251101 + ], + [ + -167.795319, + 53.495539 + ], + [ + -168.351959, + 53.47555 + ], + [ + -169.0867, + 52.828051 + ], + [ + -168.243591, + 53.251101 + ] + ] + ], + [ + [ + [ + -166.209991, + 53.705271 + ], + [ + -166.090027, + 53.839434 + ], + [ + -166.293335, + 53.793055 + ], + [ + -166.209991, + 53.705271 + ] + ] + ], + [ + [ + [ + -166.607483, + 53.829721 + ], + [ + -167.0242, + 53.955545 + ], + [ + -166.803894, + 53.648874 + ], + [ + -167.846375, + 53.308596 + ], + [ + -166.752838, + 53.446383 + ], + [ + -166.215027, + 53.928324 + ], + [ + -166.607483, + 53.829721 + ] + ] + ], + [ + [ + [ + -165.251709, + 54.076097 + ], + [ + -165.481934, + 54.074434 + ], + [ + -165.297791, + 54.037493 + ], + [ + -165.251709, + 54.076097 + ] + ] + ], + [ + [ + [ + -164.939209, + 54.12694 + ], + [ + -165.221924, + 54.089991 + ], + [ + -164.965576, + 54.075274 + ], + [ + -164.939209, + 54.12694 + ] + ] + ], + [ + [ + [ + -165.69696, + 54.084719 + ], + [ + -165.938324, + 54.220545 + ], + [ + -166.123077, + 54.116381 + ], + [ + -165.69696, + 54.084719 + ] + ] + ], + [ + [ + [ + -165.560577, + 54.11027 + ], + [ + -165.48642, + 54.28805 + ], + [ + -165.681976, + 54.238047 + ], + [ + -165.560577, + 54.11027 + ] + ] + ], + [ + [ + [ + -162.400574, + 54.36944 + ], + [ + -162.368317, + 54.38833 + ], + [ + -162.489716, + 54.409716 + ], + [ + -162.400574, + 54.36944 + ] + ] + ], + [ + [ + [ + -162.543884, + 54.38138 + ], + [ + -162.831116, + 54.494158 + ], + [ + -162.786407, + 54.414713 + ], + [ + -162.543884, + 54.38138 + ] + ] + ], + [ + [ + [ + -132.619446, + 54.754442 + ], + [ + -132.618866, + 54.896105 + ], + [ + -132.781128, + 54.925272 + ], + [ + -132.619446, + 54.754442 + ] + ] + ], + [ + [ + [ + -159.295013, + 54.866938 + ], + [ + -159.20694, + 54.92444 + ], + [ + -159.336121, + 54.927217 + ], + [ + -159.295013, + 54.866938 + ] + ] + ], + [ + [ + [ + -163.413635, + 54.891108 + ], + [ + -164.43277, + 54.930552 + ], + [ + -164.952209, + 54.57583 + ], + [ + -163.048615, + 54.668329 + ], + [ + -163.14502, + 54.766108 + ], + [ + -163.369995, + 54.784998 + ], + [ + -163.413635, + 54.891108 + ] + ] + ], + [ + [ + [ + -162.29306, + 54.834162 + ], + [ + -162.232758, + 54.965273 + ], + [ + -162.434448, + 54.931108 + ], + [ + -162.29306, + 54.834162 + ] + ] + ], + [ + [ + [ + -131.325836, + 54.856943 + ], + [ + -131.236389, + 54.995272 + ], + [ + -131.482758, + 54.930826 + ], + [ + -131.325836, + 54.856943 + ] + ] + ], + [ + [ + [ + -159.434174, + 54.940546 + ], + [ + -159.349426, + 55.049166 + ], + [ + -159.479155, + 55.014162 + ], + [ + -159.434174, + 54.940546 + ] + ] + ], + [ + [ + [ + -161.739716, + 55.056101 + ], + [ + -161.641388, + 55.113329 + ], + [ + -161.906952, + 55.151384 + ], + [ + -161.739716, + 55.056101 + ] + ] + ], + [ + [ + [ + -132.674713, + 55.033052 + ], + [ + -132.853333, + 55.159433 + ], + [ + -132.864716, + 55.029993 + ], + [ + -132.674713, + 55.033052 + ] + ] + ], + [ + [ + [ + -131.425842, + 55.211107 + ], + [ + -131.617493, + 55.01111 + ], + [ + -131.372223, + 55.013613 + ], + [ + -131.425842, + 55.211107 + ] + ] + ], + [ + [ + [ + -132.835815, + 54.889162 + ], + [ + -133.195557, + 55.230272 + ], + [ + -132.679993, + 54.666101 + ], + [ + -132.835815, + 54.889162 + ] + ] + ], + [ + [ + [ + -159.51947, + 55.064157 + ], + [ + -159.535278, + 55.247492 + ], + [ + -159.655579, + 55.054995 + ], + [ + -159.51947, + 55.064157 + ] + ] + ], + [ + [ + [ + -161.561951, + 55.21805 + ], + [ + -161.53363, + 55.252779 + ], + [ + -161.706116, + 55.204714 + ], + [ + -161.561951, + 55.21805 + ] + ] + ], + [ + [ + [ + -159.843323, + 55.132494 + ], + [ + -159.882202, + 55.290834 + ], + [ + -160.24472, + 54.901384 + ], + [ + -159.843323, + 55.132494 + ] + ] + ], + [ + [ + [ + -133.249725, + 55.209162 + ], + [ + -133.296661, + 55.330553 + ], + [ + -133.439453, + 55.301935 + ], + [ + -133.249725, + 55.209162 + ] + ] + ], + [ + [ + [ + -160.333069, + 55.248049 + ], + [ + -160.346954, + 55.368601 + ], + [ + -160.528076, + 55.320551 + ], + [ + -160.333069, + 55.248049 + ] + ] + ], + [ + [ + [ + -160.695557, + 55.399996 + ], + [ + -160.816406, + 55.118326 + ], + [ + -160.46167, + 55.187212 + ], + [ + -160.695557, + 55.399996 + ] + ] + ], + [ + [ + [ + -133.598328, + 55.233881 + ], + [ + -133.44696, + 55.410273 + ], + [ + -133.653624, + 55.36944 + ], + [ + -133.598328, + 55.233881 + ] + ] + ], + [ + [ + [ + -131.725006, + 55.134722 + ], + [ + -131.616638, + 55.283609 + ], + [ + -131.8461, + 55.419992 + ], + [ + -131.725006, + 55.134722 + ] + ] + ], + [ + [ + [ + -163.146393, + 55.393328 + ], + [ + -163.136963, + 55.436106 + ], + [ + -163.194733, + 55.421938 + ], + [ + -163.146393, + 55.393328 + ] + ] + ], + [ + [ + [ + -160.178894, + 55.396105 + ], + [ + -160.249725, + 55.463053 + ], + [ + -160.341949, + 55.416941 + ], + [ + -160.178894, + 55.396105 + ] + ] + ], + [ + [ + [ + -133.505005, + 55.427217 + ], + [ + -133.421387, + 55.483606 + ], + [ + -133.601654, + 55.447489 + ], + [ + -133.505005, + 55.427217 + ] + ] + ], + [ + [ + [ + -133.578064, + 55.497774 + ], + [ + -133.702484, + 55.551386 + ], + [ + -133.758057, + 55.487215 + ], + [ + -133.578064, + 55.497774 + ] + ] + ], + [ + [ + [ + -133.289459, + 55.475824 + ], + [ + -133.30835, + 55.554712 + ], + [ + -133.436676, + 55.527491 + ], + [ + -133.289459, + 55.475824 + ] + ] + ], + [ + [ + [ + -133.505585, + 55.693323 + ], + [ + -133.299744, + 55.793612 + ], + [ + -133.677795, + 55.784166 + ], + [ + -133.505585, + 55.693323 + ] + ] + ], + [ + [ + [ + -133.242218, + 55.776659 + ], + [ + -133.215546, + 55.86194 + ], + [ + -133.329163, + 55.877489 + ], + [ + -133.242218, + 55.776659 + ] + ] + ], + [ + [ + [ + -158.864166, + 55.803881 + ], + [ + -158.709717, + 55.831385 + ], + [ + -158.832764, + 55.893885 + ], + [ + -158.864166, + 55.803881 + ] + ] + ], + [ + [ + [ + -134.249725, + 55.819445 + ], + [ + -134.096649, + 55.918329 + ], + [ + -134.338898, + 55.918055 + ], + [ + -134.249725, + 55.819445 + ] + ] + ], + [ + [ + [ + -155.580292, + 55.774439 + ], + [ + -155.563904, + 55.918604 + ], + [ + -155.73999, + 55.828608 + ], + [ + -155.580292, + 55.774439 + ] + ] + ], + [ + [ + [ + -133.847778, + 55.84749 + ], + [ + -133.847778, + 55.935266 + ], + [ + -133.927216, + 55.911936 + ], + [ + -133.847778, + 55.84749 + ] + ] + ], + [ + [ + [ + -131.050568, + 55.799723 + ], + [ + -131.265015, + 55.960825 + ], + [ + -131.683899, + 55.83333 + ], + [ + -131.822235, + 55.450274 + ], + [ + -131.521942, + 55.293055 + ], + [ + -131.348877, + 55.644999 + ], + [ + -131.46167, + 55.286112 + ], + [ + -131.142792, + 55.196939 + ], + [ + -131.050568, + 55.799723 + ] + ] + ], + [ + [ + [ + -131.51947, + 55.915545 + ], + [ + -131.399445, + 55.963884 + ], + [ + -131.576935, + 55.93194 + ], + [ + -131.51947, + 55.915545 + ] + ] + ], + [ + [ + [ + -133.695282, + 55.896387 + ], + [ + -133.278076, + 56.139719 + ], + [ + -133.679718, + 56.066385 + ], + [ + -133.695282, + 55.896387 + ] + ] + ], + [ + [ + [ + -133.931122, + 56.288332 + ], + [ + -133.925568, + 56.298052 + ], + [ + -133.948059, + 56.301935 + ], + [ + -133.931122, + 56.288332 + ] + ] + ], + [ + [ + [ + -133.488586, + 56.336939 + ], + [ + -133.617218, + 56.207499 + ], + [ + -133.258362, + 56.152491 + ], + [ + -133.13501, + 55.881105 + ], + [ + -133.372223, + 55.620546 + ], + [ + -132.908356, + 55.628046 + ], + [ + -133.128601, + 55.494715 + ], + [ + -132.867493, + 55.353884 + ], + [ + -133.222504, + 55.283052 + ], + [ + -132.641388, + 55.250277 + ], + [ + -132.003906, + 54.690546 + ], + [ + -131.963043, + 55.025827 + ], + [ + -132.218597, + 54.992495 + ], + [ + -131.988586, + 55.264162 + ], + [ + -132.5625, + 55.567774 + ], + [ + -132.144165, + 55.480547 + ], + [ + -133.488586, + 56.336939 + ] + ] + ], + [ + [ + [ + -132.094452, + 56.093325 + ], + [ + -132.417786, + 56.350832 + ], + [ + -132.716949, + 56.151384 + ], + [ + -132.318878, + 55.91221 + ], + [ + -132.094452, + 56.093325 + ] + ] + ], + [ + [ + [ + -132.81723, + 56.233881 + ], + [ + -132.635559, + 56.43416 + ], + [ + -133.05777, + 56.34749 + ], + [ + -132.81723, + 56.233881 + ] + ] + ], + [ + [ + [ + -132.500853, + 56.353327 + ], + [ + -132.386688, + 56.398607 + ], + [ + -132.493866, + 56.435823 + ], + [ + -132.500853, + 56.353327 + ] + ] + ], + [ + [ + [ + -132.132477, + 56.34527 + ], + [ + -132.373871, + 56.484438 + ], + [ + -132.056122, + 56.111383 + ], + [ + -132.132477, + 56.34527 + ] + ] + ], + [ + [ + [ + -153.958893, + 56.502779 + ], + [ + -153.873871, + 56.553324 + ], + [ + -154.13446, + 56.505556 + ], + [ + -153.958893, + 56.502779 + ] + ] + ], + [ + [ + [ + -156.996643, + 56.555552 + ], + [ + -157.251678, + 56.581667 + ], + [ + -157.329712, + 56.53583 + ], + [ + -156.996643, + 56.555552 + ] + ] + ], + [ + [ + [ + -132.398071, + 56.583605 + ], + [ + -132.379425, + 56.60055 + ], + [ + -132.434998, + 56.589716 + ], + [ + -132.398071, + 56.583605 + ] + ] + ], + [ + [ + [ + -154.481384, + 56.601698 + ], + [ + -154.787476, + 56.414968 + ], + [ + -154.402802, + 56.546663 + ], + [ + -154.481384, + 56.601698 + ] + ] + ], + [ + [ + [ + -154.211945, + 56.49888 + ], + [ + -154.084991, + 56.608049 + ], + [ + -154.352478, + 56.541666 + ], + [ + -154.211945, + 56.49888 + ] + ] + ], + [ + [ + [ + -169.67337, + 56.608599 + ], + [ + -169.786133, + 56.613886 + ], + [ + -169.471375, + 56.592211 + ], + [ + -169.67337, + 56.608599 + ] + ] + ], + [ + [ + [ + -132.773071, + 56.494715 + ], + [ + -132.5289, + 56.59527 + ], + [ + -132.873596, + 56.796106 + ], + [ + -132.773071, + 56.494715 + ] + ] + ], + [ + [ + [ + -133.987488, + 56.870829 + ], + [ + -134.408905, + 56.829439 + ], + [ + -134.065277, + 56.550547 + ], + [ + -134.123047, + 55.995829 + ], + [ + -134.065552, + 56.305826 + ], + [ + -133.973328, + 56.081667 + ], + [ + -133.973206, + 56.356104 + ], + [ + -133.8461, + 56.290834 + ], + [ + -133.920563, + 56.614161 + ], + [ + -133.691376, + 56.599718 + ], + [ + -133.830566, + 56.796106 + ], + [ + -134.024719, + 56.647219 + ], + [ + -133.902802, + 56.753054 + ], + [ + -133.987488, + 56.870829 + ] + ] + ], + [ + [ + [ + -133.31778, + 56.993883 + ], + [ + -134.018066, + 57.014719 + ], + [ + -133.736115, + 56.893053 + ], + [ + -133.890564, + 56.896944 + ], + [ + -133.69696, + 56.831942 + ], + [ + -133.575562, + 56.433603 + ], + [ + -133.08194, + 56.523882 + ], + [ + -133.351929, + 56.838602 + ], + [ + -132.925018, + 56.643328 + ], + [ + -133.31778, + 56.993883 + ] + ] + ], + [ + [ + [ + -153.253357, + 56.998331 + ], + [ + -152.883057, + 57.15027 + ], + [ + -153.234161, + 57.205828 + ], + [ + -153.407501, + 57.072771 + ], + [ + -153.253357, + 56.998331 + ] + ] + ], + [ + [ + [ + -170.166138, + 57.163317 + ], + [ + -170.150574, + 57.228327 + ], + [ + -170.41394, + 57.174166 + ], + [ + -170.166138, + 57.163317 + ] + ] + ], + [ + [ + [ + -135.795837, + 56.986383 + ], + [ + -135.546112, + 57.129435 + ], + [ + -135.710541, + 57.32361 + ], + [ + -135.795837, + 56.986383 + ] + ] + ], + [ + [ + [ + -134.9375, + 57.358889 + ], + [ + -135.672791, + 57.351938 + ], + [ + -134.653624, + 56.16305 + ], + [ + -134.9375, + 57.358889 + ] + ] + ], + [ + [ + [ + -134.792511, + 57.300272 + ], + [ + -134.813629, + 57.416941 + ], + [ + -134.974701, + 57.41527 + ], + [ + -134.792511, + 57.300272 + ] + ] + ], + [ + [ + [ + -153.208893, + 57.812494 + ], + [ + -153.269745, + 57.899164 + ], + [ + -153.353333, + 57.93638 + ], + [ + -153.536407, + 57.934717 + ], + [ + -153.208893, + 57.812494 + ] + ] + ], + [ + [ + [ + -152.354431, + 57.890276 + ], + [ + -152.417236, + 57.976381 + ], + [ + -152.503357, + 57.933054 + ], + [ + -152.354431, + 57.890276 + ] + ] + ], + [ + [ + [ + -153.116943, + 57.949999 + ], + [ + -153.292236, + 58.001665 + ], + [ + -153.048065, + 57.827494 + ], + [ + -153.150574, + 57.863886 + ], + [ + -153.213043, + 57.788332 + ], + [ + -153.479155, + 57.839434 + ], + [ + -153.315277, + 57.725824 + ], + [ + -153.496948, + 57.627214 + ], + [ + -153.928345, + 57.811106 + ], + [ + -153.581116, + 57.612497 + ], + [ + -153.88028, + 57.643053 + ], + [ + -153.628052, + 57.269442 + ], + [ + -154.207214, + 57.666666 + ], + [ + -154.801117, + 57.286112 + ], + [ + -154.297791, + 56.848879 + ], + [ + -154.101105, + 57.116388 + ], + [ + -154.479431, + 57.120272 + ], + [ + -153.737762, + 57.130823 + ], + [ + -153.979706, + 56.738604 + ], + [ + -153.549988, + 56.983049 + ], + [ + -153.731659, + 57.059717 + ], + [ + -153.5, + 57.063883 + ], + [ + -153.260284, + 57.22777 + ], + [ + -152.956116, + 57.253885 + ], + [ + -153.169464, + 57.345545 + ], + [ + -152.595825, + 57.369989 + ], + [ + -153.022797, + 57.473604 + ], + [ + -152.151398, + 57.604441 + ], + [ + -153.116943, + 57.949999 + ] + ] + ], + [ + [ + [ + -153.185272, + 58.092493 + ], + [ + -153.41806, + 58.058886 + ], + [ + -152.887787, + 57.991106 + ], + [ + -153.185272, + 58.092493 + ] + ] + ], + [ + [ + [ + -136.437225, + 57.846384 + ], + [ + -136.330566, + 58.010279 + ], + [ + -136.484436, + 58.093325 + ], + [ + -136.437225, + 57.846384 + ] + ] + ], + [ + [ + [ + -135.742767, + 58.256105 + ], + [ + -136.352203, + 58.219439 + ], + [ + -136.029724, + 57.849161 + ], + [ + -136.412231, + 57.815828 + ], + [ + -135.830841, + 57.385828 + ], + [ + -135.542786, + 57.472216 + ], + [ + -135.804169, + 57.76333 + ], + [ + -134.843323, + 57.46277 + ], + [ + -134.921661, + 57.756945 + ], + [ + -135.296967, + 57.731661 + ], + [ + -135.887512, + 57.988604 + ], + [ + -135.010559, + 57.776941 + ], + [ + -135.204712, + 57.942217 + ], + [ + -134.930298, + 58.028048 + ], + [ + -135.707764, + 57.978327 + ], + [ + -135.482483, + 58.15555 + ], + [ + -135.742767, + 58.256105 + ] + ] + ], + [ + [ + [ + -151.847229, + 58.169718 + ], + [ + -151.835541, + 58.268602 + ], + [ + -151.896666, + 58.194155 + ], + [ + -151.847229, + 58.169718 + ] + ] + ], + [ + [ + [ + -134.454437, + 58.313326 + ], + [ + -134.566956, + 58.34083 + ], + [ + -134.683899, + 58.298334 + ], + [ + -134.259735, + 58.194994 + ], + [ + -134.454437, + 58.313326 + ] + ] + ], + [ + [ + [ + -152.40918, + 58.365549 + ], + [ + -153.231384, + 58.169161 + ], + [ + -151.972778, + 58.233049 + ], + [ + -152.40918, + 58.365549 + ] + ] + ], + [ + [ + [ + -134.674713, + 58.160547 + ], + [ + -134.956665, + 58.40777 + ], + [ + -134.654449, + 57.59833 + ], + [ + -134.349731, + 57.542772 + ], + [ + -134.57251, + 57.489717 + ], + [ + -134.310272, + 57.336107 + ], + [ + -134.613312, + 57.224993 + ], + [ + -134.486664, + 57.025553 + ], + [ + -133.86026, + 57.360552 + ], + [ + -134.288605, + 58.077219 + ], + [ + -133.875824, + 57.67277 + ], + [ + -134.169159, + 58.159716 + ], + [ + -134.674713, + 58.160547 + ] + ] + ], + [ + [ + [ + -152.493866, + 58.472216 + ], + [ + -152.345825, + 58.627214 + ], + [ + -152.660553, + 58.543329 + ], + [ + -152.493866, + 58.472216 + ] + ] + ], + [ + [ + [ + -160.95694, + 58.55694 + ], + [ + -160.687225, + 58.818331 + ], + [ + -161.113098, + 58.655275 + ], + [ + -160.95694, + 58.55694 + ] + ] + ], + [ + [ + [ + -152.313324, + 58.908327 + ], + [ + -152.161407, + 58.942217 + ], + [ + -152.36026, + 58.916384 + ], + [ + -152.313324, + 58.908327 + ] + ] + ], + [ + [ + [ + -150.691681, + 59.306658 + ], + [ + -150.616638, + 59.389719 + ], + [ + -150.776672, + 59.328882 + ], + [ + -150.691681, + 59.306658 + ] + ] + ], + [ + [ + [ + -153.411407, + 59.330278 + ], + [ + -153.403076, + 59.406939 + ], + [ + -153.552216, + 59.364717 + ], + [ + -153.411407, + 59.330278 + ] + ] + ], + [ + [ + [ + -150.311401, + 59.420549 + ], + [ + -150.292786, + 59.463053 + ], + [ + -150.440277, + 59.401102 + ], + [ + -150.311401, + 59.420549 + ] + ] + ], + [ + [ + [ + -144.584991, + 59.810274 + ], + [ + -144.208893, + 60.005556 + ], + [ + -144.503906, + 59.894442 + ], + [ + -144.584991, + 59.810274 + ] + ] + ], + [ + [ + [ + -148.161133, + 59.941103 + ], + [ + -147.992218, + 60.040277 + ], + [ + -148.245819, + 59.942492 + ], + [ + -148.161133, + 59.941103 + ] + ] + ], + [ + [ + [ + -148.027802, + 59.946657 + ], + [ + -147.81723, + 60.068888 + ], + [ + -147.883331, + 60.067217 + ], + [ + -148.027802, + 59.946657 + ] + ] + ], + [ + [ + [ + -148.11554, + 59.996386 + ], + [ + -147.876648, + 60.103884 + ], + [ + -147.967224, + 60.153048 + ], + [ + -148.11554, + 59.996386 + ] + ] + ], + [ + [ + [ + -148.033905, + 60.189432 + ], + [ + -148.309723, + 60.029718 + ], + [ + -148.151398, + 60.041941 + ], + [ + -148.033905, + 60.189432 + ] + ] + ], + [ + [ + [ + -147.849976, + 59.776941 + ], + [ + -146.92334, + 60.30916 + ], + [ + -147.193604, + 60.353327 + ], + [ + -147.849976, + 59.776941 + ] + ] + ], + [ + [ + [ + -147.711945, + 60.376101 + ], + [ + -147.909729, + 60.23472 + ], + [ + -147.759735, + 60.165545 + ], + [ + -147.711945, + 60.376101 + ] + ] + ], + [ + [ + [ + -148.079437, + 60.28277 + ], + [ + -147.983307, + 60.383883 + ], + [ + -148.142517, + 60.320551 + ], + [ + -148.079437, + 60.28277 + ] + ] + ], + [ + [ + [ + -166.109711, + 60.399157 + ], + [ + -167.41806, + 60.189425 + ], + [ + -166.193054, + 59.754435 + ], + [ + -165.559723, + 59.923609 + ], + [ + -165.681427, + 60.294718 + ], + [ + -166.109711, + 60.399157 + ] + ] + ], + [ + [ + [ + -146.353882, + 60.407495 + ], + [ + -146.724152, + 60.374712 + ], + [ + -146.078888, + 60.405268 + ], + [ + -146.353882, + 60.407495 + ] + ] + ], + [ + [ + [ + -145.122772, + 60.307215 + ], + [ + -145.086945, + 60.416666 + ], + [ + -145.281952, + 60.329996 + ], + [ + -145.122772, + 60.307215 + ] + ] + ], + [ + [ + [ + -172.520294, + 60.38833 + ], + [ + -173.05365, + 60.49721 + ], + [ + -172.20697, + 60.313044 + ], + [ + -172.520294, + 60.38833 + ] + ] + ], + [ + [ + [ + -151.955566, + 60.42277 + ], + [ + -151.856384, + 60.489717 + ], + [ + -151.951111, + 60.512217 + ], + [ + -151.955566, + 60.42277 + ] + ] + ], + [ + [ + [ + -146.246948, + 60.454996 + ], + [ + -145.749725, + 60.594713 + ], + [ + -146.320557, + 60.494158 + ], + [ + -146.246948, + 60.454996 + ] + ] + ], + [ + [ + [ + -147.372772, + 60.661661 + ], + [ + -147.313904, + 60.677492 + ], + [ + -147.475555, + 60.688883 + ], + [ + -147.372772, + 60.661661 + ] + ] + ], + [ + [ + [ + -147.925568, + 60.66221 + ], + [ + -147.8461, + 60.699999 + ], + [ + -148.004181, + 60.726938 + ], + [ + -147.925568, + 60.66221 + ] + ] + ], + [ + [ + [ + -148.140839, + 60.642221 + ], + [ + -148.108612, + 60.736383 + ], + [ + -148.214172, + 60.754442 + ], + [ + -148.140839, + 60.642221 + ] + ] + ], + [ + [ + [ + -164.988312, + 60.822496 + ], + [ + -164.903624, + 60.853609 + ], + [ + -165.017517, + 60.874437 + ], + [ + -164.988312, + 60.822496 + ] + ] + ], + [ + [ + [ + -146.753357, + 60.807215 + ], + [ + -146.744141, + 60.88138 + ], + [ + -146.83194, + 60.836382 + ], + [ + -146.753357, + 60.807215 + ] + ] + ], + [ + [ + [ + -147.150848, + 60.860277 + ], + [ + -147.075287, + 60.899164 + ], + [ + -147.31778, + 60.884165 + ], + [ + -147.150848, + 60.860277 + ] + ] + ], + [ + [ + [ + -147.928894, + 60.80694 + ], + [ + -148.106659, + 60.912493 + ], + [ + -148.133057, + 60.799723 + ], + [ + -147.928894, + 60.80694 + ] + ] + ], + [ + [ + [ + -170.318909, + 63.254717 + ], + [ + -170.296112, + 63.238047 + ], + [ + -170.315857, + 63.253878 + ], + [ + -170.318909, + 63.254717 + ] + ] + ], + [ + [ + [ + -170.318909, + 63.254717 + ], + [ + -170.341888, + 63.271128 + ], + [ + -170.362213, + 63.282495 + ], + [ + -170.318909, + 63.254717 + ] + ] + ], + [ + [ + [ + -170.466766, + 63.334185 + ], + [ + -170.48584, + 63.341105 + ], + [ + -170.4039, + 63.304438 + ], + [ + -170.466766, + 63.334185 + ] + ] + ], + [ + [ + [ + -170.54364, + 63.359713 + ], + [ + -170.551147, + 63.360552 + ], + [ + -170.490265, + 63.341928 + ], + [ + -170.54364, + 63.359713 + ] + ] + ], + [ + [ + [ + -170.595001, + 63.371935 + ], + [ + -170.863251, + 63.418512 + ], + [ + -170.58197, + 63.368052 + ], + [ + -170.595001, + 63.371935 + ] + ] + ], + [ + [ + [ + -162.377472, + 63.544443 + ], + [ + -162.420288, + 63.637499 + ], + [ + -162.703613, + 63.571665 + ], + [ + -162.377472, + 63.544443 + ] + ] + ], + [ + [ + [ + -171.465576, + 63.606661 + ], + [ + -171.726959, + 63.792215 + ], + [ + -171.85083, + 63.508608 + ], + [ + -171.461121, + 63.314714 + ], + [ + -170.856689, + 63.461939 + ], + [ + -170.51889, + 63.378038 + ], + [ + -169.666138, + 62.943316 + ], + [ + -168.700867, + 63.290545 + ], + [ + -170.300018, + 63.694155 + ], + [ + -171.465576, + 63.606661 + ] + ] + ], + [ + [ + [ + -166.65918, + 66.103319 + ], + [ + -166.169464, + 66.221376 + ], + [ + -166.443604, + 66.180819 + ], + [ + -166.65918, + 66.103319 + ] + ] + ], + [ + [ + [ + -165.364441, + 66.426378 + ], + [ + -164.762238, + 66.538317 + ], + [ + -165.470825, + 66.414156 + ], + [ + -165.364441, + 66.426378 + ] + ] + ], + [ + [ + [ + -141.002991, + 69.642366 + ], + [ + -143.280579, + 70.118319 + ], + [ + -144.952209, + 69.968325 + ], + [ + -149.174713, + 70.490816 + ], + [ + -151.966095, + 70.44359 + ], + [ + -151.732483, + 70.557207 + ], + [ + -152.629425, + 70.557482 + ], + [ + -152.076111, + 70.574999 + ], + [ + -152.498596, + 70.649431 + ], + [ + -152.252502, + 70.835268 + ], + [ + -154.243866, + 70.779436 + ], + [ + -155.087494, + 71.151384 + ], + [ + -155.973602, + 70.755831 + ], + [ + -156.182495, + 70.918322 + ], + [ + -155.586945, + 71.162767 + ], + [ + -156.44696, + 71.263613 + ], + [ + -157.979431, + 70.837496 + ], + [ + -159.66806, + 70.798037 + ], + [ + -160.12442, + 70.615267 + ], + [ + -159.285553, + 70.53055 + ], + [ + -159.836121, + 70.268328 + ], + [ + -160.198608, + 70.471651 + ], + [ + -159.9375, + 70.593325 + ], + [ + -162.118866, + 70.151659 + ], + [ + -161.94223, + 70.307207 + ], + [ + -163.645294, + 69.106936 + ], + [ + -166.21582, + 68.883043 + ], + [ + -166.372604, + 68.416765 + ], + [ + -166.827789, + 68.350817 + ], + [ + -164.124146, + 67.609987 + ], + [ + -163.732483, + 67.113604 + ], + [ + -162.350555, + 67.161379 + ], + [ + -162.461121, + 66.992479 + ], + [ + -161.501129, + 66.979158 + ], + [ + -161.897797, + 66.728319 + ], + [ + -161.506683, + 66.533876 + ], + [ + -160.264191, + 66.647493 + ], + [ + -160.23056, + 66.399721 + ], + [ + -161.600555, + 66.447756 + ], + [ + -162.336945, + 66.95833 + ], + [ + -162.636139, + 66.868868 + ], + [ + -161.906128, + 66.535265 + ], + [ + -161.910004, + 66.274431 + ], + [ + -161.003357, + 66.204165 + ], + [ + -163.656403, + 66.070543 + ], + [ + -164.188324, + 66.196093 + ], + [ + -163.625, + 66.567217 + ], + [ + -164.353607, + 66.594713 + ], + [ + -168.131104, + 65.665545 + ], + [ + -166.058899, + 65.256105 + ], + [ + -166.961945, + 65.188875 + ], + [ + -166.121368, + 64.574709 + ], + [ + -163.175842, + 64.407488 + ], + [ + -163.170013, + 64.65526 + ], + [ + -162.790283, + 64.336107 + ], + [ + -161.182495, + 64.937487 + ], + [ + -160.783905, + 64.721926 + ], + [ + -161.529175, + 64.418871 + ], + [ + -160.777496, + 63.868601 + ], + [ + -161.151672, + 63.512499 + ], + [ + -162.311951, + 63.541109 + ], + [ + -163.111664, + 63.051935 + ], + [ + -164.410553, + 63.211939 + ], + [ + -164.318329, + 63.006945 + ], + [ + -164.877777, + 62.83555 + ], + [ + -164.479155, + 62.745829 + ], + [ + -164.852783, + 62.570276 + ], + [ + -164.636414, + 62.417498 + ], + [ + -165.247223, + 62.4461 + ], + [ + -166.197784, + 61.594713 + ], + [ + -165.386688, + 61.068605 + ], + [ + -165.34137, + 61.157213 + ], + [ + -165.407501, + 61.20833 + ], + [ + -165.287506, + 61.333879 + ], + [ + -165.161133, + 61.432497 + ], + [ + -165.075562, + 61.432215 + ], + [ + -165.017242, + 61.500002 + ], + [ + -164.716095, + 61.625551 + ], + [ + -164.845276, + 61.49444 + ], + [ + -164.998428, + 61.46977 + ], + [ + -165.059677, + 61.416842 + ], + [ + -165.150574, + 61.416941 + ], + [ + -165.369995, + 61.20083 + ], + [ + -165.163727, + 61.170046 + ], + [ + -165.138611, + 61.256662 + ], + [ + -165.120544, + 61.083879 + ], + [ + -164.822235, + 61.111109 + ], + [ + -165.150299, + 60.928049 + ], + [ + -163.551392, + 60.903879 + ], + [ + -163.895615, + 60.856886 + ], + [ + -163.409729, + 60.756662 + ], + [ + -163.669464, + 60.587214 + ], + [ + -163.957764, + 60.780275 + ], + [ + -164.429169, + 60.553324 + ], + [ + -164.264465, + 60.778879 + ], + [ + -164.665009, + 60.911661 + ], + [ + -165.425293, + 60.555269 + ], + [ + -164.065277, + 59.824167 + ], + [ + -162.521666, + 59.992769 + ], + [ + -162.569458, + 60.316385 + ], + [ + -161.879425, + 60.702219 + ], + [ + -162.372223, + 60.176104 + ], + [ + -162.151398, + 60.245546 + ], + [ + -161.705261, + 59.49666 + ], + [ + -161.992218, + 59.144159 + ], + [ + -161.565826, + 59.103609 + ], + [ + -162.171387, + 58.649721 + ], + [ + -160.32666, + 59.059717 + ], + [ + -158.897522, + 58.395548 + ], + [ + -158.536957, + 59.175272 + ], + [ + -157.992767, + 58.904993 + ], + [ + -158.492493, + 58.999437 + ], + [ + -158.188324, + 58.606386 + ], + [ + -156.779175, + 59.151384 + ], + [ + -157.553619, + 58.382494 + ], + [ + -157.138611, + 58.162493 + ], + [ + -157.609985, + 58.089716 + ], + [ + -157.706665, + 57.643328 + ], + [ + -157.396666, + 57.490549 + ], + [ + -157.938049, + 57.491938 + ], + [ + -158.648895, + 57.053324 + ], + [ + -158.640564, + 56.76111 + ], + [ + -160.346954, + 56.285555 + ], + [ + -160.574707, + 55.986658 + ], + [ + -160.249725, + 55.770548 + ], + [ + -161.799988, + 55.88666 + ], + [ + -163.323059, + 55.12166 + ], + [ + -163.258636, + 54.973322 + ], + [ + -163.36026, + 54.811937 + ], + [ + -163.044464, + 54.937494 + ], + [ + -163.184448, + 55.139719 + ], + [ + -162.5625, + 54.955271 + ], + [ + -162.626648, + 55.29944 + ], + [ + -162.454163, + 55.038332 + ], + [ + -161.967773, + 55.101938 + ], + [ + -161.5625, + 55.622766 + ], + [ + -161.141693, + 55.538889 + ], + [ + -161.485535, + 55.481104 + ], + [ + -161.254181, + 55.346941 + ], + [ + -159.841095, + 55.851107 + ], + [ + -159.667236, + 55.577219 + ], + [ + -158.601105, + 56.188044 + ], + [ + -158.50528, + 55.988886 + ], + [ + -158.120544, + 56.233606 + ], + [ + -158.649994, + 56.264444 + ], + [ + -158.423065, + 56.44388 + ], + [ + -156.548615, + 56.977488 + ], + [ + -156.48999, + 57.33111 + ], + [ + -154.233612, + 58.131105 + ], + [ + -154.103333, + 58.481936 + ], + [ + -153.267792, + 58.848604 + ], + [ + -154.260834, + 59.142221 + ], + [ + -152.577209, + 60.064714 + ], + [ + -153.103058, + 60.289438 + ], + [ + -152.430298, + 60.288889 + ], + [ + -151.583618, + 60.976938 + ], + [ + -149.416962, + 61.508608 + ], + [ + -150.064178, + 61.154436 + ], + [ + -149.028076, + 60.847773 + ], + [ + -150.39917, + 61.037218 + ], + [ + -151.408905, + 60.727488 + ], + [ + -151.303894, + 60.385553 + ], + [ + -151.876648, + 59.753885 + ], + [ + -150.992767, + 59.777216 + ], + [ + -151.98056, + 59.28055 + ], + [ + -150.907501, + 59.243326 + ], + [ + -150.541687, + 59.591661 + ], + [ + -150.473602, + 59.464441 + ], + [ + -150.213623, + 59.716661 + ], + [ + -150.349426, + 59.465548 + ], + [ + -150.013641, + 59.627489 + ], + [ + -149.915833, + 59.714716 + ], + [ + -150.03418, + 59.796389 + ], + [ + -149.743591, + 59.658602 + ], + [ + -149.731934, + 59.96055 + ], + [ + -149.525848, + 59.716661 + ], + [ + -149.416962, + 60.118326 + ], + [ + -149.286133, + 59.868883 + ], + [ + -148.435822, + 59.948877 + ], + [ + -148.31778, + 60.168886 + ], + [ + -148.097778, + 60.207499 + ], + [ + -148.431122, + 60.192766 + ], + [ + -147.936951, + 60.462214 + ], + [ + -148.684174, + 60.448328 + ], + [ + -148.19751, + 60.626101 + ], + [ + -148.699738, + 60.789721 + ], + [ + -147.719727, + 61.278048 + ], + [ + -148.052216, + 60.949717 + ], + [ + -147.865265, + 60.832499 + ], + [ + -147.546661, + 61.154436 + ], + [ + -147.366943, + 60.887774 + ], + [ + -146.300842, + 61.130823 + ], + [ + -146.756683, + 60.955271 + ], + [ + -146.124146, + 60.843325 + ], + [ + -146.653351, + 60.699717 + ], + [ + -146.040833, + 60.798609 + ], + [ + -146.261139, + 60.64805 + ], + [ + -145.625824, + 60.671938 + ], + [ + -145.859436, + 60.491663 + ], + [ + -145.294159, + 60.350275 + ], + [ + -144.611389, + 60.715548 + ], + [ + -144.936401, + 60.301661 + ], + [ + -143.92334, + 59.994158 + ], + [ + -141.390839, + 60.138605 + ], + [ + -141.376648, + 59.866388 + ], + [ + -140.403351, + 59.698046 + ], + [ + -139.5, + 60.033052 + ], + [ + -138.892792, + 59.806658 + ], + [ + -139.285553, + 59.571383 + ], + [ + -139.493866, + 59.98221 + ], + [ + -139.710541, + 59.495829 + ], + [ + -138.443604, + 59.19166 + ], + [ + -136.654175, + 58.215273 + ], + [ + -136.027496, + 58.387217 + ], + [ + -136.573608, + 58.838602 + ], + [ + -137.125549, + 58.821939 + ], + [ + -137.056671, + 59.068605 + ], + [ + -136.234711, + 58.750834 + ], + [ + -136.162231, + 59.033609 + ], + [ + -135.76947, + 58.90027 + ], + [ + -136.068329, + 58.817774 + ], + [ + -135.915558, + 58.383051 + ], + [ + -135.085541, + 58.233049 + ], + [ + -135.550568, + 59.228876 + ], + [ + -135.304718, + 59.083605 + ], + [ + -135.335266, + 59.468325 + ], + [ + -134.761414, + 58.382212 + ], + [ + -134.51001, + 58.353884 + ], + [ + -134.154175, + 58.197771 + ], + [ + -133.769165, + 58.518328 + ], + [ + -134.054993, + 58.071939 + ], + [ + -133.121368, + 57.8575 + ], + [ + -133.556946, + 57.902491 + ], + [ + -133.00058, + 57.515001 + ], + [ + -133.640564, + 57.696383 + ], + [ + -133.063049, + 57.348879 + ], + [ + -133.508362, + 57.193605 + ], + [ + -132.791382, + 57.088045 + ], + [ + -131.769745, + 56.196939 + ], + [ + -132.160278, + 55.578608 + ], + [ + -131.954987, + 55.501108 + ], + [ + -131.752502, + 55.807772 + ], + [ + -131.900574, + 55.855272 + ], + [ + -131.010284, + 56.106386 + ], + [ + -130.864166, + 55.308603 + ], + [ + -130.613892, + 55.296106 + ], + [ + -131.056122, + 55.122766 + ], + [ + -130.46167, + 55.327776 + ], + [ + -131.008636, + 55.004168 + ], + [ + -130.686127, + 54.761942 + ], + [ + -129.99054, + 55.281664 + ], + [ + -130.174713, + 55.754442 + ], + [ + -130.015076, + 55.909182 + ], + [ + -131.824158, + 56.596941 + ], + [ + -133.429993, + 58.459162 + ], + [ + -135.473602, + 59.801935 + ], + [ + -137.478058, + 58.907213 + ], + [ + -137.59082, + 59.238604 + ], + [ + -139.188904, + 60.088884 + ], + [ + -139.068054, + 60.352221 + ], + [ + -140.995544, + 60.307215 + ], + [ + -141.002991, + 69.642366 + ] + ], + [ + [ + -135.554169, + 58.329996 + ], + [ + -135.726105, + 58.359438 + ], + [ + -135.625275, + 58.383051 + ], + [ + -135.554169, + 58.329996 + ] + ] + ] + ] + }, + "name" : "United States", + "iso2" : "US", + "iso3" : "USA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "FL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -2.685561, + 9.481817 + ], + [ + -2.834048, + 11.002007 + ], + [ + -0.618333, + 10.911665 + ], + [ + -0.149762, + 11.13854 + ], + [ + 0.91797, + 10.996399 + ], + [ + 1.435278, + 11.458887 + ], + [ + 2.014722, + 11.422499 + ], + [ + 2.397925, + 11.896152 + ], + [ + 2.1425, + 12.694443 + ], + [ + 1.578333, + 12.629999 + ], + [ + 0.989167, + 13.047222 + ], + [ + 0.991667, + 13.371666 + ], + [ + 1.285306, + 13.349957 + ], + [ + 0.602222, + 13.703888 + ], + [ + 0.235048, + 14.915068 + ], + [ + -0.725278, + 15.082777 + ], + [ + -1.980834, + 14.474722 + ], + [ + -2.006945, + 14.187777 + ], + [ + -2.474722, + 14.287498 + ], + [ + -2.879167, + 13.655554 + ], + [ + -3.2575, + 13.696665 + ], + [ + -3.437675, + 13.166498 + ], + [ + -3.964253, + 13.50383 + ], + [ + -4.337223, + 13.121666 + ], + [ + -4.4175, + 12.300831 + ], + [ + -5.273056, + 11.843887 + ], + [ + -5.51985, + 10.436272 + ], + [ + -4.704445, + 9.698055 + ], + [ + -3.633611, + 9.954443 + ], + [ + -2.685561, + 9.481817 + ] + ] + ] + }, + "name" : "Burkina Faso", + "iso2" : "BF", + "iso3" : "BFA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Fb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -57.608002, + -30.184925 + ], + [ + -57.806396, + -30.748219 + ], + [ + -58.199242, + -32.45031 + ], + [ + -58.045563, + -32.934723 + ], + [ + -58.146393, + -33.101952 + ], + [ + -58.361946, + -33.133339 + ], + [ + -58.402779, + -33.929726 + ], + [ + -57.840279, + -34.494728 + ], + [ + -57.117783, + -34.462227 + ], + [ + -56.320282, + -34.910561 + ], + [ + -54.145004, + -34.671394 + ], + [ + -53.374298, + -33.740669 + ], + [ + -53.522781, + -33.147781 + ], + [ + -53.093056, + -32.729729 + ], + [ + -53.879723, + -31.967781 + ], + [ + -55.581947, + -30.845837 + ], + [ + -56.008923, + -31.079794 + ], + [ + -56.811394, + -30.105278 + ], + [ + -57.608002, + -30.184925 + ] + ] + ] + }, + "name" : "Uruguay", + "iso2" : "UY", + "iso3" : "URY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Fr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 56.000961, + 41.328453 + ], + [ + 57.044716, + 41.260277 + ], + [ + 56.986938, + 41.893051 + ], + [ + 58.026604, + 42.504639 + ], + [ + 58.515549, + 42.304436 + ], + [ + 58.164436, + 42.651932 + ], + [ + 58.780548, + 42.658043 + ], + [ + 60.014442, + 42.217491 + ], + [ + 60.140274, + 41.381104 + ], + [ + 61.874161, + 41.125549 + ], + [ + 62.551102, + 39.934158 + ], + [ + 64.383026, + 38.953125 + ], + [ + 66.643875, + 38.003052 + ], + [ + 66.537735, + 37.366379 + ], + [ + 67.779877, + 37.185822 + ], + [ + 68.384155, + 38.195541 + ], + [ + 68.123871, + 38.98555 + ], + [ + 67.376373, + 39.212494 + ], + [ + 67.441956, + 39.483582 + ], + [ + 68.540268, + 39.55471 + ], + [ + 69.009995, + 40.089714 + ], + [ + 68.600815, + 40.178329 + ], + [ + 69.308029, + 40.201385 + ], + [ + 69.356094, + 40.772491 + ], + [ + 69.732483, + 40.638603 + ], + [ + 70.423874, + 41.049118 + ], + [ + 70.796799, + 40.725594 + ], + [ + 70.375534, + 40.376404 + ], + [ + 70.98204, + 40.244843 + ], + [ + 71.710541, + 40.145767 + ], + [ + 73.173035, + 40.822998 + ], + [ + 72.19548, + 41.006592 + ], + [ + 71.69136, + 41.556335 + ], + [ + 71.418045, + 41.118553 + ], + [ + 70.187195, + 41.52829 + ], + [ + 71.276382, + 42.195511 + ], + [ + 70.97081, + 42.254669 + ], + [ + 69.056366, + 41.379433 + ], + [ + 68.455261, + 40.597771 + ], + [ + 67.935532, + 41.183327 + ], + [ + 66.719986, + 41.174995 + ], + [ + 66.526382, + 42.003052 + ], + [ + 66.02916, + 42.003052 + ], + [ + 66.123871, + 42.996941 + ], + [ + 65.82193, + 42.877213 + ], + [ + 64.931366, + 43.73777 + ], + [ + 62.025108, + 43.484787 + ], + [ + 58.569717, + 45.571106 + ], + [ + 55.99749, + 45.001106 + ], + [ + 56.000961, + 41.328453 + ] + ] + ] + }, + "name" : "Uzbekistan", + "iso2" : "UZ", + "iso3" : "UZB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "F71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -61.416946, + 12.590277 + ], + [ + -61.425835, + 12.612499 + ], + [ + -61.45417, + 12.593887 + ], + [ + -61.416946, + 12.590277 + ] + ] + ], + [ + [ + [ + -61.328056, + 12.687777 + ], + [ + -61.310562, + 12.734999 + ], + [ + -61.347778, + 12.701666 + ], + [ + -61.328056, + 12.687777 + ] + ] + ], + [ + [ + [ + -61.216667, + 12.998055 + ], + [ + -61.199722, + 13.044722 + ], + [ + -61.252228, + 12.988609 + ], + [ + -61.216667, + 12.998055 + ] + ] + ], + [ + [ + [ + -61.173058, + 13.1325 + ], + [ + -61.177223, + 13.384165 + ], + [ + -61.281395, + 13.207777 + ], + [ + -61.173058, + 13.1325 + ] + ] + ] + ] + }, + "name" : "Saint Vincent and the Grenadines", + "iso2" : "VC", + "iso3" : "VCT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "GL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -61.003616, + 8.548887 + ], + [ + -61.080833, + 8.610277 + ], + [ + -61.266396, + 8.509165 + ], + [ + -61.003616, + 8.548887 + ] + ] + ], + [ + [ + [ + -61.047783, + 8.629446 + ], + [ + -61.167229, + 8.651945 + ], + [ + -61.184448, + 8.598612 + ], + [ + -61.047783, + 8.629446 + ] + ] + ], + [ + [ + [ + -61.041946, + 8.640276 + ], + [ + -60.934448, + 8.718332 + ], + [ + -61.17778, + 8.679445 + ], + [ + -61.14695, + 8.654444 + ], + [ + -61.041946, + 8.640276 + ] + ] + ], + [ + [ + [ + -60.827225, + 8.649443 + ], + [ + -60.840836, + 8.728056 + ], + [ + -60.988617, + 8.635557 + ], + [ + -60.827225, + 8.649443 + ] + ] + ], + [ + [ + [ + -60.976112, + 8.725832 + ], + [ + -60.860558, + 8.853334 + ], + [ + -61.042503, + 8.821112 + ], + [ + -61.17028, + 8.693335 + ], + [ + -60.976112, + 8.725832 + ] + ] + ], + [ + [ + [ + -61.070557, + 8.8925 + ], + [ + -60.848618, + 9.093611 + ], + [ + -61.065834, + 8.976946 + ], + [ + -61.099724, + 8.891111 + ], + [ + -61.070557, + 8.8925 + ] + ] + ], + [ + [ + [ + -60.870285, + 9.108332 + ], + [ + -60.863617, + 9.193335 + ], + [ + -60.958618, + 9.066946 + ], + [ + -60.870285, + 9.108332 + ] + ] + ], + [ + [ + [ + -60.730003, + 9.186388 + ], + [ + -60.822784, + 9.201666 + ], + [ + -60.841393, + 9.116667 + ], + [ + -60.730003, + 9.186388 + ] + ] + ], + [ + [ + [ + -62.288612, + 9.755556 + ], + [ + -62.249168, + 9.856943 + ], + [ + -62.286392, + 9.934168 + ], + [ + -62.288612, + 9.755556 + ] + ] + ], + [ + [ + [ + -62.647507, + 10.3025 + ], + [ + -62.787224, + 10.478613 + ], + [ + -62.788063, + 10.414999 + ], + [ + -62.647507, + 10.3025 + ] + ] + ], + [ + [ + [ + -63.907227, + 10.729445 + ], + [ + -63.90667, + 10.777498 + ], + [ + -63.996674, + 10.802221 + ], + [ + -63.907227, + 10.729445 + ] + ] + ], + [ + [ + [ + -65.268616, + 10.881109 + ], + [ + -65.211945, + 10.95611 + ], + [ + -65.417236, + 10.924723 + ], + [ + -65.268616, + 10.881109 + ] + ] + ], + [ + [ + [ + -63.804726, + 11.021387 + ], + [ + -63.881111, + 11.176943 + ], + [ + -64.405838, + 10.967501 + ], + [ + -63.804726, + 11.021387 + ] + ] + ], + [ + [ + [ + -66.648346, + 11.758612 + ], + [ + -66.586395, + 11.771666 + ], + [ + -66.610565, + 11.821112 + ], + [ + -66.648346, + 11.758612 + ] + ] + ], + [ + [ + [ + -66.115845, + 11.773611 + ], + [ + -66.108612, + 11.825556 + ], + [ + -66.193069, + 11.817221 + ], + [ + -66.115845, + 11.773611 + ] + ] + ], + [ + [ + [ + -64.572235, + 11.805555 + ], + [ + -64.615004, + 11.895555 + ], + [ + -64.64389, + 11.82472 + ], + [ + -64.572235, + 11.805555 + ] + ] + ], + [ + [ + [ + -60.73037, + 5.204802 + ], + [ + -61.389725, + 5.940001 + ], + [ + -61.134026, + 6.711042 + ], + [ + -60.288612, + 7.057222 + ], + [ + -60.71917, + 7.535555 + ], + [ + -59.825562, + 8.236113 + ], + [ + -59.99028, + 8.535276 + ], + [ + -60.902229, + 8.582224 + ], + [ + -61.073891, + 8.400835 + ], + [ + -61.598892, + 8.554998 + ], + [ + -61.208893, + 8.595556 + ], + [ + -61.097778, + 8.963335 + ], + [ + -60.949722, + 9.179445 + ], + [ + -61.08223, + 9.102221 + ], + [ + -60.783615, + 9.304998 + ], + [ + -60.850281, + 9.440832 + ], + [ + -61.622505, + 9.906111 + ], + [ + -61.738617, + 9.595556 + ], + [ + -62.188614, + 10.015833 + ], + [ + -62.210838, + 9.634443 + ], + [ + -62.200562, + 9.905554 + ], + [ + -62.318062, + 9.705 + ], + [ + -62.535278, + 10.202223 + ], + [ + -62.613335, + 10.222776 + ], + [ + -62.6175, + 10.089724 + ], + [ + -62.805283, + 10.008612 + ], + [ + -63.017227, + 10.097776 + ], + [ + -62.628059, + 10.107779 + ], + [ + -62.782124, + 10.399694 + ], + [ + -63.000282, + 10.271666 + ], + [ + -62.916672, + 10.528055 + ], + [ + -61.882782, + 10.733332 + ], + [ + -64.258896, + 10.661665 + ], + [ + -63.697502, + 10.485556 + ], + [ + -65.08139, + 10.060556 + ], + [ + -66.235291, + 10.642221 + ], + [ + -68.160004, + 10.496946 + ], + [ + -68.418335, + 11.179998 + ], + [ + -69.770844, + 11.696112 + ], + [ + -70.026947, + 12.195276 + ], + [ + -70.238342, + 11.631666 + ], + [ + -69.814453, + 11.690832 + ], + [ + -69.798615, + 11.427778 + ], + [ + -71.497513, + 10.960001 + ], + [ + -71.055283, + 9.341391 + ], + [ + -71.618057, + 9.041945 + ], + [ + -72.127502, + 9.813055 + ], + [ + -71.57695, + 10.714445 + ], + [ + -71.968338, + 11.555834 + ], + [ + -71.324722, + 11.853056 + ], + [ + -71.977234, + 11.664999 + ], + [ + -72.209351, + 11.250002 + ], + [ + -72.493057, + 11.121111 + ], + [ + -73.378067, + 9.171389 + ], + [ + -72.779724, + 9.080278 + ], + [ + -72.325287, + 8.095556 + ], + [ + -72.47168, + 7.491945 + ], + [ + -72, + 7.018888 + ], + [ + -70.119171, + 6.975836 + ], + [ + -69.245285, + 6.081388 + ], + [ + -67.454453, + 6.193056 + ], + [ + -67.859726, + 4.558611 + ], + [ + -67.290558, + 3.397501 + ], + [ + -67.828339, + 2.825003 + ], + [ + -67.192505, + 2.3925 + ], + [ + -66.871887, + 1.221643 + ], + [ + -66.311951, + 0.750559 + ], + [ + -65.589737, + 0.989168 + ], + [ + -65.51889, + 0.649721 + ], + [ + -63.393059, + 2.151388 + ], + [ + -63.361115, + 2.419168 + ], + [ + -64.045013, + 2.4825 + ], + [ + -64.191116, + 3.594446 + ], + [ + -64.795288, + 4.281389 + ], + [ + -64.017792, + 3.88611 + ], + [ + -63.343056, + 3.961111 + ], + [ + -62.875, + 3.560278 + ], + [ + -62.745834, + 4.032499 + ], + [ + -60.985001, + 4.520555 + ], + [ + -60.579727, + 4.946669 + ], + [ + -60.73037, + 5.204802 + ] + ], + [ + [ + -61.206673, + 9.585833 + ], + [ + -61.32695, + 9.646666 + ], + [ + -61.411667, + 9.729723 + ], + [ + -61.206673, + 9.585833 + ] + ] + ] + ] + }, + "name" : "Venezuela", + "iso2" : "VE", + "iso3" : "VEN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Gb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -64.660843, + 18.383888 + ], + [ + -64.558334, + 18.451942 + ], + [ + -64.652512, + 18.441109 + ], + [ + -64.660843, + 18.383888 + ] + ] + ], + [ + [ + [ + -64.422501, + 18.43861 + ], + [ + -64.322235, + 18.506107 + ], + [ + -64.412231, + 18.506107 + ], + [ + -64.422501, + 18.43861 + ] + ] + ], + [ + [ + [ + -64.311401, + 18.746109 + ], + [ + -64.408066, + 18.735832 + ], + [ + -64.270004, + 18.696388 + ], + [ + -64.311401, + 18.746109 + ] + ] + ] + ] + }, + "name" : "British Virgin Islands", + "iso2" : "VG", + "iso3" : "VGB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Gr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 106.600273, + 8.647778 + ], + [ + 106.659378, + 8.76474 + ], + [ + 106.555817, + 8.688887 + ], + [ + 106.600273, + 8.647778 + ] + ] + ], + [ + [ + [ + 103.498596, + 9.31361 + ], + [ + 103.467209, + 9.304443 + ], + [ + 103.469437, + 9.279444 + ], + [ + 103.498596, + 9.31361 + ] + ] + ], + [ + [ + [ + 106.262756, + 9.528887 + ], + [ + 106.285522, + 9.586943 + ], + [ + 106.088058, + 9.754438 + ], + [ + 106.262756, + 9.528887 + ] + ] + ], + [ + [ + [ + 106.543579, + 9.82583 + ], + [ + 106.485786, + 9.902222 + ], + [ + 106.418579, + 9.934443 + ], + [ + 106.543579, + 9.82583 + ] + ] + ], + [ + [ + [ + 106.596626, + 10.257221 + ], + [ + 106.586906, + 10.256943 + ], + [ + 106.664413, + 10.243053 + ], + [ + 106.596626, + 10.257221 + ] + ] + ], + [ + [ + [ + 106.637192, + 10.269999 + ], + [ + 106.511642, + 10.29361 + ], + [ + 106.752472, + 10.234442 + ], + [ + 106.637192, + 10.269999 + ] + ] + ], + [ + [ + [ + 104.083862, + 10.361942 + ], + [ + 103.837196, + 10.369442 + ], + [ + 104.026382, + 10.080276 + ], + [ + 104.083862, + 10.361942 + ] + ] + ], + [ + [ + [ + 107.092468, + 10.32222 + ], + [ + 107.20636, + 10.432775 + ], + [ + 107.063858, + 10.383333 + ], + [ + 107.092468, + 10.32222 + ] + ] + ], + [ + [ + [ + 106.895248, + 10.372219 + ], + [ + 106.979141, + 10.408888 + ], + [ + 106.887482, + 10.510555 + ], + [ + 106.895248, + 10.372219 + ] + ] + ], + [ + [ + [ + 108.958588, + 10.504166 + ], + [ + 108.930252, + 10.550276 + ], + [ + 108.930252, + 10.510277 + ], + [ + 108.958588, + 10.504166 + ] + ] + ], + [ + [ + [ + 106.904694, + 10.520832 + ], + [ + 106.930252, + 10.544722 + ], + [ + 106.92746, + 10.592775 + ], + [ + 106.87941, + 10.63722 + ], + [ + 106.852188, + 10.625553 + ], + [ + 106.871384, + 10.595519 + ], + [ + 106.851357, + 10.561943 + ], + [ + 106.875793, + 10.530277 + ], + [ + 106.904694, + 10.520832 + ] + ] + ], + [ + [ + [ + 106.852188, + 10.40361 + ], + [ + 106.87413, + 10.502499 + ], + [ + 106.835747, + 10.569703 + ], + [ + 106.856476, + 10.603882 + ], + [ + 106.753212, + 10.660968 + ], + [ + 106.786301, + 10.578066 + ], + [ + 106.749977, + 10.562498 + ], + [ + 106.755539, + 10.481386 + ], + [ + 106.852188, + 10.40361 + ] + ] + ], + [ + [ + [ + 109.332764, + 12.187777 + ], + [ + 109.331482, + 12.221088 + ], + [ + 109.245247, + 12.227497 + ], + [ + 109.332764, + 12.187777 + ] + ] + ], + [ + [ + [ + 109.3936, + 12.350275 + ], + [ + 109.385269, + 12.366941 + ], + [ + 109.387207, + 12.34972 + ], + [ + 109.3936, + 12.350275 + ] + ] + ], + [ + [ + [ + 107.919434, + 16.349442 + ], + [ + 107.661217, + 16.572613 + ], + [ + 107.866928, + 16.35944 + ], + [ + 107.919434, + 16.349442 + ] + ] + ], + [ + [ + [ + 107.73027, + 20.127773 + ], + [ + 107.738312, + 20.14444 + ], + [ + 107.711647, + 20.131939 + ], + [ + 107.73027, + 20.127773 + ] + ] + ], + [ + [ + [ + 107.378311, + 20.799164 + ], + [ + 107.382477, + 20.824165 + ], + [ + 107.334991, + 20.846664 + ], + [ + 107.378311, + 20.799164 + ] + ] + ], + [ + [ + [ + 107.068047, + 20.727493 + ], + [ + 107.033867, + 20.856106 + ], + [ + 106.908043, + 20.832218 + ], + [ + 107.068047, + 20.727493 + ] + ] + ], + [ + [ + [ + 106.752777, + 20.854164 + ], + [ + 106.741089, + 20.871109 + ], + [ + 106.719147, + 20.870831 + ], + [ + 106.752777, + 20.854164 + ] + ] + ], + [ + [ + [ + 106.873306, + 20.78722 + ], + [ + 106.781372, + 20.922497 + ], + [ + 106.770828, + 20.852497 + ], + [ + 106.873306, + 20.78722 + ] + ] + ], + [ + [ + [ + 106.948029, + 20.936382 + ], + [ + 106.927467, + 20.944717 + ], + [ + 106.932213, + 20.936939 + ], + [ + 106.948029, + 20.936382 + ] + ] + ], + [ + [ + [ + 107.488586, + 20.839165 + ], + [ + 107.554153, + 20.966106 + ], + [ + 107.464706, + 20.821384 + ], + [ + 107.488586, + 20.839165 + ] + ] + ], + [ + [ + [ + 106.893883, + 20.965549 + ], + [ + 106.888046, + 20.965549 + ], + [ + 106.916656, + 20.954441 + ], + [ + 106.893883, + 20.965549 + ] + ] + ], + [ + [ + [ + 107.460823, + 20.942219 + ], + [ + 107.473312, + 20.954441 + ], + [ + 107.478317, + 20.966106 + ], + [ + 107.476089, + 20.972218 + ], + [ + 107.462196, + 20.967495 + ], + [ + 107.454987, + 20.950272 + ], + [ + 107.454712, + 20.943886 + ], + [ + 107.460823, + 20.942219 + ] + ] + ], + [ + [ + [ + 106.753601, + 20.950829 + ], + [ + 106.679428, + 20.977493 + ], + [ + 106.688873, + 20.956661 + ], + [ + 106.753601, + 20.950829 + ] + ] + ], + [ + [ + [ + 107.746933, + 20.937218 + ], + [ + 107.790817, + 20.981937 + ], + [ + 107.747757, + 21.019165 + ], + [ + 107.746933, + 20.937218 + ] + ] + ], + [ + [ + [ + 107.462769, + 20.903049 + ], + [ + 107.554428, + 21.038052 + ], + [ + 107.502403, + 21.012671 + ], + [ + 107.476723, + 20.946983 + ], + [ + 107.394989, + 20.896664 + ], + [ + 107.462769, + 20.903049 + ] + ] + ], + [ + [ + [ + 107.859421, + 21.037777 + ], + [ + 107.8311, + 21.034996 + ], + [ + 107.806931, + 20.986938 + ], + [ + 107.859421, + 21.037777 + ] + ] + ], + [ + [ + [ + 107.578323, + 20.977219 + ], + [ + 107.620743, + 21.117836 + ], + [ + 107.567207, + 21.020554 + ], + [ + 107.578323, + 20.977219 + ] + ] + ], + [ + [ + [ + 107.513321, + 21.12833 + ], + [ + 107.532211, + 21.145828 + ], + [ + 107.509163, + 21.133331 + ], + [ + 107.513321, + 21.12833 + ] + ] + ], + [ + [ + [ + 107.383881, + 21.046387 + ], + [ + 107.604431, + 21.218884 + ], + [ + 107.471947, + 21.27142 + ], + [ + 107.383881, + 21.046387 + ] + ] + ], + [ + [ + [ + 107.742752, + 21.308887 + ], + [ + 107.818047, + 21.356384 + ], + [ + 107.708328, + 21.305275 + ], + [ + 107.742752, + 21.308887 + ] + ] + ], + [ + [ + [ + 107.996643, + 21.394718 + ], + [ + 107.828598, + 21.371384 + ], + [ + 107.933319, + 21.364162 + ], + [ + 107.996643, + 21.394718 + ] + ] + ], + [ + [ + [ + 107.5466, + 14.708618 + ], + [ + 107.489151, + 14.448608 + ], + [ + 107.547493, + 12.353609 + ], + [ + 106.420242, + 11.973608 + ], + [ + 106.458214, + 11.665863 + ], + [ + 105.851067, + 11.659998 + ], + [ + 106.203308, + 10.770554 + ], + [ + 105.101913, + 10.955553 + ], + [ + 104.445328, + 10.422739 + ], + [ + 105.107468, + 9.945276 + ], + [ + 104.742752, + 8.604998 + ], + [ + 105.021103, + 8.592775 + ], + [ + 106.194122, + 9.366941 + ], + [ + 105.820534, + 10.002499 + ], + [ + 106.54303, + 9.583609 + ], + [ + 106.117188, + 10.238331 + ], + [ + 106.618027, + 9.811388 + ], + [ + 106.290527, + 10.250832 + ], + [ + 106.776367, + 10.079998 + ], + [ + 106.424316, + 10.311384 + ], + [ + 106.784698, + 10.277498 + ], + [ + 106.79274, + 10.386944 + ], + [ + 106.738571, + 10.469442 + ], + [ + 106.591553, + 10.429691 + ], + [ + 106.736359, + 10.513054 + ], + [ + 106.738304, + 10.560613 + ], + [ + 106.770813, + 10.591108 + ], + [ + 106.744133, + 10.669998 + ], + [ + 106.904137, + 10.631386 + ], + [ + 106.943298, + 10.593609 + ], + [ + 106.93219, + 10.567221 + ], + [ + 106.961189, + 10.466075 + ], + [ + 106.999748, + 10.657166 + ], + [ + 107.26619, + 10.376129 + ], + [ + 107.997742, + 10.699165 + ], + [ + 109.021103, + 11.353331 + ], + [ + 109.173309, + 12.120552 + ], + [ + 109.269989, + 11.892498 + ], + [ + 109.145538, + 12.435555 + ], + [ + 109.466377, + 12.893332 + ], + [ + 108.830276, + 15.420832 + ], + [ + 106.698868, + 17.399719 + ], + [ + 105.613876, + 18.977219 + ], + [ + 105.954163, + 19.92083 + ], + [ + 106.776932, + 20.699162 + ], + [ + 106.643883, + 21.021385 + ], + [ + 107.154427, + 20.924995 + ], + [ + 107.36998, + 21.022221 + ], + [ + 107.414703, + 21.326107 + ], + [ + 107.990021, + 21.542412 + ], + [ + 106.693314, + 22.03083 + ], + [ + 106.707207, + 22.864998 + ], + [ + 105.577477, + 23.059162 + ], + [ + 105.353867, + 23.334721 + ], + [ + 103.964432, + 22.499111 + ], + [ + 103.33638, + 22.796387 + ], + [ + 103.030548, + 22.435551 + ], + [ + 102.479713, + 22.773888 + ], + [ + 102.140747, + 22.396286 + ], + [ + 102.676651, + 21.65583 + ], + [ + 102.976089, + 21.739437 + ], + [ + 103.170532, + 20.846664 + ], + [ + 103.693588, + 20.657219 + ], + [ + 104.109154, + 20.977219 + ], + [ + 104.6436, + 20.660275 + ], + [ + 104.381927, + 20.444717 + ], + [ + 104.979156, + 20.004997 + ], + [ + 104.640266, + 19.611942 + ], + [ + 104.037247, + 19.692944 + ], + [ + 103.879433, + 19.29361 + ], + [ + 105.193863, + 18.642494 + ], + [ + 105.183319, + 18.334442 + ], + [ + 106.561096, + 16.996941 + ], + [ + 106.685532, + 16.45805 + ], + [ + 107.464706, + 16.078609 + ], + [ + 107.175537, + 15.784164 + ], + [ + 107.695251, + 15.270832 + ], + [ + 107.5466, + 14.708618 + ] + ] + ] + ] + }, + "name" : "Vietnam", + "iso2" : "VN", + "iso3" : "VNM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "G71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -64.761948, + 17.774166 + ], + [ + -64.896118, + 17.676666 + ], + [ + -64.560287, + 17.748333 + ], + [ + -64.761948, + 17.774166 + ] + ] + ], + [ + [ + [ + -64.665283, + 18.332222 + ], + [ + -64.731949, + 18.371944 + ], + [ + -64.790283, + 18.33083 + ], + [ + -64.665283, + 18.332222 + ] + ] + ], + [ + [ + [ + -64.841675, + 18.312496 + ], + [ + -64.9039, + 18.364719 + ], + [ + -65.026947, + 18.362778 + ], + [ + -64.841675, + 18.312496 + ] + ] + ] + ] + }, + "name" : "United States Virgin Islands", + "iso2" : "VI", + "iso3" : "VIR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "HL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 23.476109, + -17.625835 + ], + [ + 23.284721, + -17.662502 + ], + [ + 20.854164, + -18.016392 + ], + [ + 18.915833, + -17.815556 + ], + [ + 18.451538, + -17.389835 + ], + [ + 13.993219, + -17.423946 + ], + [ + 13.160555, + -16.952778 + ], + [ + 11.752783, + -17.254833 + ], + [ + 11.804722, + -18.081947 + ], + [ + 14.511389, + -22.55278 + ], + [ + 14.463333, + -24.109169 + ], + [ + 15.294167, + -27.322502 + ], + [ + 16.48959, + -28.578178 + ], + [ + 17.06361, + -28.028614 + ], + [ + 17.40472, + -28.713612 + ], + [ + 18.175831, + -28.908611 + ], + [ + 19.123055, + -28.962223 + ], + [ + 19.99612, + -28.421448 + ], + [ + 20.000942, + -24.765408 + ], + [ + 19.996666, + -22.005001 + ], + [ + 20.991943, + -21.996948 + ], + [ + 20.993286, + -18.318417 + ], + [ + 23.297108, + -17.995949 + ], + [ + 23.615578, + -18.485069 + ], + [ + 24.362499, + -17.948612 + ], + [ + 25.264431, + -17.80225 + ], + [ + 24.969997, + -17.559723 + ], + [ + 23.476109, + -17.625835 + ] + ] + ] + }, + "name" : "Namibia", + "iso2" : "NA", + "iso3" : "NAM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Hb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -178.042511, + -14.319447 + ], + [ + -178.189453, + -14.236113 + ], + [ + -178.140564, + -14.316389 + ], + [ + -178.042511, + -14.319447 + ] + ] + ], + [ + [ + [ + -176.161438, + -13.352777 + ], + [ + -176.121094, + -13.263334 + ], + [ + -176.156158, + -13.213614 + ], + [ + -176.161438, + -13.352777 + ] + ] + ] + ] + }, + "name" : "Wallis and Futuna Islands", + "iso2" : "WF", + "iso3" : "WLF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Hr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -171.429749, + -14.019724 + ], + [ + -171.822266, + -13.807503 + ], + [ + -172.064758, + -13.874443 + ], + [ + -171.429749, + -14.019724 + ] + ] + ], + [ + [ + [ + -172.285858, + -13.486387 + ], + [ + -172.780609, + -13.533335 + ], + [ + -172.214172, + -13.807777 + ], + [ + -172.285858, + -13.486387 + ] + ] + ] + ] + }, + "name" : "Samoa", + "iso2" : "WS", + "iso3" : "WSM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "H71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 31.96851, + -25.95784 + ], + [ + 31.33083, + -25.751392 + ], + [ + 30.902048, + -26.305254 + ], + [ + 30.818886, + -26.810558 + ], + [ + 31.161663, + -27.203056 + ], + [ + 31.987499, + -27.316113 + ], + [ + 32.1334, + -26.839626 + ], + [ + 31.96851, + -25.95784 + ] + ] + ] + }, + "name" : "Swaziland", + "iso2" : "SZ", + "iso3" : "SWZ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "IL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 53.340828, + 12.108889 + ], + [ + 53.291664, + 12.134443 + ], + [ + 53.25666, + 12.124998 + ], + [ + 53.340828, + 12.108889 + ] + ] + ], + [ + [ + [ + 53.085831, + 12.13361 + ], + [ + 53.096107, + 12.175554 + ], + [ + 53.011383, + 12.158609 + ], + [ + 53.085831, + 12.13361 + ] + ] + ], + [ + [ + [ + 52.234161, + 12.201111 + ], + [ + 52.083054, + 12.222776 + ], + [ + 52.395828, + 12.155277 + ], + [ + 52.234161, + 12.201111 + ] + ] + ], + [ + [ + [ + 43.438606, + 12.631109 + ], + [ + 43.443886, + 12.659443 + ], + [ + 43.396111, + 12.666388 + ], + [ + 43.438606, + 12.631109 + ] + ] + ], + [ + [ + [ + 53.774719, + 12.616388 + ], + [ + 53.325829, + 12.545832 + ], + [ + 53.753609, + 12.308054 + ], + [ + 54.476944, + 12.557777 + ], + [ + 53.774719, + 12.616388 + ] + ] + ], + [ + [ + [ + 42.755829, + 13.69861 + ], + [ + 42.793884, + 13.781111 + ], + [ + 42.677216, + 13.666111 + ], + [ + 42.755829, + 13.69861 + ] + ] + ], + [ + [ + [ + 42.787498, + 13.91 + ], + [ + 42.766388, + 14.066944 + ], + [ + 42.689163, + 14.013611 + ], + [ + 42.787498, + 13.91 + ] + ] + ], + [ + [ + [ + 42.594719, + 15.271944 + ], + [ + 42.642494, + 15.458332 + ], + [ + 42.568886, + 15.3925 + ], + [ + 42.594719, + 15.271944 + ] + ] + ], + [ + [ + [ + 51.99929, + 18.999344 + ], + [ + 48.766388, + 18.266388 + ], + [ + 46.333054, + 15.616943 + ], + [ + 46.333328, + 16.666664 + ], + [ + 44.467499, + 17.411942 + ], + [ + 43.309441, + 17.457222 + ], + [ + 43.206108, + 16.672222 + ], + [ + 42.78968, + 16.377502 + ], + [ + 42.681107, + 15.208332 + ], + [ + 43.247498, + 13.210278 + ], + [ + 43.467216, + 12.677776 + ], + [ + 43.957222, + 12.592777 + ], + [ + 45.055443, + 12.751296 + ], + [ + 45.666664, + 13.341665 + ], + [ + 48.698051, + 14.039999 + ], + [ + 49.098885, + 14.519165 + ], + [ + 52.231941, + 15.674166 + ], + [ + 52.298882, + 16.272221 + ], + [ + 53.114441, + 16.642778 + ], + [ + 51.99929, + 18.999344 + ] + ] + ] + ] + }, + "name" : "Yemen", + "iso2" : "YE", + "iso3" : "YEM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ib1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 23.476109, + -17.625835 + ], + [ + 24.969997, + -17.559723 + ], + [ + 25.264431, + -17.80225 + ], + [ + 27.038055, + -17.959446 + ], + [ + 27.825275, + -16.959167 + ], + [ + 28.759441, + -16.552223 + ], + [ + 28.927219, + -15.972223 + ], + [ + 30.415756, + -15.631872 + ], + [ + 30.213017, + -14.981716 + ], + [ + 33.222229, + -14.012566 + ], + [ + 32.678886, + -13.60639 + ], + [ + 33.046387, + -12.603889 + ], + [ + 33.54583, + -12.359446 + ], + [ + 33.273331, + -12.144445 + ], + [ + 33.250549, + -10.886667 + ], + [ + 33.702278, + -10.561857 + ], + [ + 32.940399, + -9.405077 + ], + [ + 31.041111, + -8.590279 + ], + [ + 30.77124, + -8.192247 + ], + [ + 28.901665, + -8.478613 + ], + [ + 28.372219, + -9.260834 + ], + [ + 28.699718, + -10.653334 + ], + [ + 28.363331, + -11.550835 + ], + [ + 29.031387, + -12.383057 + ], + [ + 29.49361, + -12.458057 + ], + [ + 29.80505, + -12.155247 + ], + [ + 29.801388, + -13.454168 + ], + [ + 29.589443, + -13.221945 + ], + [ + 29.015831, + -13.397779 + ], + [ + 28.441944, + -12.519724 + ], + [ + 27.66, + -12.296667 + ], + [ + 27.199249, + -11.567905 + ], + [ + 26.86861, + -11.973612 + ], + [ + 26.004719, + -11.9025 + ], + [ + 25.359722, + -11.641668 + ], + [ + 25.332222, + -11.193335 + ], + [ + 24.44833, + -11.463612 + ], + [ + 23.986206, + -10.870461 + ], + [ + 24.020554, + -13.00639 + ], + [ + 21.998333, + -13.004168 + ], + [ + 22.000149, + -16.171661 + ], + [ + 23.476109, + -17.625835 + ] + ] + ] + }, + "name" : "Zambia", + "iso2" : "ZM", + "iso3" : "ZMB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ir1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 31.297504, + -22.414764 + ], + [ + 32.488876, + -21.344448 + ], + [ + 32.50222, + -20.598614 + ], + [ + 33.018883, + -19.943336 + ], + [ + 32.699165, + -18.944447 + ], + [ + 33.073051, + -18.348892 + ], + [ + 32.987808, + -17.265003 + ], + [ + 32.98114, + -16.709053 + ], + [ + 31.276665, + -16.018612 + ], + [ + 30.422775, + -16.009167 + ], + [ + 30.415756, + -15.631872 + ], + [ + 28.927219, + -15.972223 + ], + [ + 28.759441, + -16.552223 + ], + [ + 27.825275, + -16.959167 + ], + [ + 27.038055, + -17.959446 + ], + [ + 25.264431, + -17.80225 + ], + [ + 26.166111, + -19.527779 + ], + [ + 27.219997, + -20.091667 + ], + [ + 27.287453, + -20.494965 + ], + [ + 27.713165, + -20.506432 + ], + [ + 28.015831, + -21.566113 + ], + [ + 29.060555, + -21.798058 + ], + [ + 29.373623, + -22.19241 + ], + [ + 29.893887, + -22.194447 + ], + [ + 31.297504, + -22.414764 + ] + ] + ] + }, + "name" : "Zimbabwe", + "iso2" : "ZW", + "iso3" : "ZWE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "I71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 121.859995, + -10.610277 + ], + [ + 121.996935, + -10.441111 + ], + [ + 121.690813, + -10.566389 + ], + [ + 121.859995, + -10.610277 + ] + ] + ], + [ + [ + [ + 123.214708, + -10.812222 + ], + [ + 123.390268, + -10.436945 + ], + [ + 122.807749, + -10.794724 + ], + [ + 123.214708, + -10.812222 + ] + ] + ], + [ + [ + [ + 123.400545, + -10.342777 + ], + [ + 123.453325, + -10.139723 + ], + [ + 123.308596, + -10.276667 + ], + [ + 123.400545, + -10.342777 + ] + ] + ], + [ + [ + [ + 120.029161, + -9.383333 + ], + [ + 118.931093, + -9.561111 + ], + [ + 120.164705, + -10.231388 + ], + [ + 120.724428, + -10.199722 + ], + [ + 120.810259, + -9.979166 + ], + [ + 120.029161, + -9.383333 + ] + ] + ], + [ + [ + [ + 125.164049, + -9.066141 + ], + [ + 124.945448, + -8.954039 + ], + [ + 124.445726, + -9.184801 + ], + [ + 124.343096, + -9.463379 + ], + [ + 124.046164, + -9.339979 + ], + [ + 123.488314, + -10.316389 + ], + [ + 124.435259, + -10.162779 + ], + [ + 125.127989, + -9.435955 + ], + [ + 125.164049, + -9.066141 + ] + ] + ], + [ + [ + [ + 115.594713, + -8.804167 + ], + [ + 115.512499, + -8.67 + ], + [ + 115.469995, + -8.734444 + ], + [ + 115.594713, + -8.804167 + ] + ] + ], + [ + [ + [ + 119.690538, + -8.802778 + ], + [ + 119.633059, + -8.600796 + ], + [ + 119.607485, + -8.773611 + ], + [ + 119.690538, + -8.802778 + ] + ] + ], + [ + [ + [ + 122.969439, + -8.5725 + ], + [ + 123.177759, + -8.442223 + ], + [ + 122.988039, + -8.456667 + ], + [ + 122.969439, + -8.5725 + ] + ] + ], + [ + [ + [ + 119.461649, + -8.440277 + ], + [ + 119.447199, + -8.754168 + ], + [ + 119.585543, + -8.563055 + ], + [ + 119.461649, + -8.440277 + ] + ] + ], + [ + [ + [ + 113.388895, + -8.497221 + ], + [ + 113.285814, + -8.440001 + ], + [ + 113.295534, + -8.500557 + ], + [ + 113.388895, + -8.497221 + ] + ] + ], + [ + [ + [ + 124.290545, + -8.329166 + ], + [ + 123.906939, + -8.452499 + ], + [ + 124.115259, + -8.555555 + ], + [ + 124.290545, + -8.329166 + ] + ] + ], + [ + [ + [ + 123.764429, + -8.327223 + ], + [ + 123.93915, + -8.242498 + ], + [ + 123.217485, + -8.536667 + ], + [ + 123.764429, + -8.327223 + ] + ] + ], + [ + [ + [ + 123.281099, + -8.405834 + ], + [ + 123.220835, + -8.23361 + ], + [ + 123.0161, + -8.378056 + ], + [ + 123.281099, + -8.405834 + ] + ] + ], + [ + [ + [ + 128.219973, + -8.210556 + ], + [ + 128.079958, + -8.259445 + ], + [ + 128.208315, + -8.287222 + ], + [ + 128.219973, + -8.210556 + ] + ] + ], + [ + [ + [ + 116.54915, + -8.775002 + ], + [ + 116.735811, + -8.363054 + ], + [ + 116.387499, + -8.205 + ], + [ + 115.844149, + -8.75528 + ], + [ + 116.54915, + -8.775002 + ] + ] + ], + [ + [ + [ + 127.668322, + -8.244444 + ], + [ + 127.771105, + -8.188889 + ], + [ + 127.605822, + -8.206944 + ], + [ + 127.668322, + -8.244444 + ] + ] + ], + [ + [ + [ + 129.008028, + -8.269445 + ], + [ + 128.969698, + -8.183889 + ], + [ + 128.82831, + -8.198889 + ], + [ + 129.008028, + -8.269445 + ] + ] + ], + [ + [ + [ + 117.540819, + -8.390278 + ], + [ + 117.675814, + -8.156111 + ], + [ + 117.481371, + -8.191389 + ], + [ + 117.540819, + -8.390278 + ] + ] + ], + [ + [ + [ + 138.873568, + -8.414722 + ], + [ + 138.81415, + -8.154722 + ], + [ + 138.54471, + -8.333054 + ], + [ + 138.873568, + -8.414722 + ] + ] + ], + [ + [ + [ + 118.311922, + -8.374722 + ], + [ + 117.735529, + -8.152224 + ], + [ + 118.284418, + -8.594166 + ], + [ + 117.966379, + -8.74861 + ], + [ + 117.122759, + -8.378611 + ], + [ + 116.75139, + -9.009445 + ], + [ + 118.154985, + -8.871944 + ], + [ + 118.406374, + -8.584723 + ], + [ + 118.457209, + -8.871944 + ], + [ + 119.178041, + -8.720278 + ], + [ + 118.996935, + -8.313612 + ], + [ + 118.666094, + -8.552223 + ], + [ + 118.648333, + -8.294445 + ], + [ + 118.311922, + -8.374722 + ] + ] + ], + [ + [ + [ + 122.981089, + -8.149445 + ], + [ + 122.288309, + -8.644445 + ], + [ + 120.522493, + -8.257223 + ], + [ + 119.796236, + -8.720343 + ], + [ + 121.765551, + -8.892223 + ], + [ + 122.832491, + -8.601664 + ], + [ + 122.981089, + -8.149445 + ] + ] + ], + [ + [ + [ + 124.577768, + -8.135834 + ], + [ + 124.350809, + -8.454445 + ], + [ + 125.139711, + -8.329166 + ], + [ + 124.577768, + -8.135834 + ] + ] + ], + [ + [ + [ + 125.581675, + -8.317499 + ], + [ + 125.641375, + -8.135834 + ], + [ + 125.496096, + -8.269445 + ], + [ + 125.581675, + -8.317499 + ] + ] + ], + [ + [ + [ + 119.072489, + -8.2675 + ], + [ + 119.136934, + -8.195555 + ], + [ + 119.0786, + -8.13389 + ], + [ + 119.072489, + -8.2675 + ] + ] + ], + [ + [ + [ + 115.502214, + -8.178612 + ], + [ + 114.445536, + -8.104721 + ], + [ + 115.126085, + -8.854166 + ], + [ + 115.707766, + -8.409166 + ], + [ + 115.502214, + -8.178612 + ] + ] + ], + [ + [ + [ + 127.843599, + -8.10111 + ], + [ + 128.02527, + -8.2675 + ], + [ + 128.127443, + -8.171667 + ], + [ + 127.843599, + -8.10111 + ] + ] + ], + [ + [ + [ + 130.80414, + -8.352222 + ], + [ + 131.180269, + -8.129721 + ], + [ + 131.013033, + -8.089722 + ], + [ + 130.80414, + -8.352222 + ] + ] + ], + [ + [ + [ + 127.213884, + -8.113333 + ], + [ + 127.181665, + -8.021946 + ], + [ + 127.153055, + -8.099167 + ], + [ + 127.213884, + -8.113333 + ] + ] + ], + [ + [ + [ + 129.764437, + -8.061111 + ], + [ + 129.843294, + -7.840555 + ], + [ + 129.606905, + -7.803888 + ], + [ + 129.764437, + -8.061111 + ] + ] + ], + [ + [ + [ + 126.721369, + -7.673056 + ], + [ + 125.972216, + -7.658611 + ], + [ + 125.772219, + -8.00889 + ], + [ + 126.721369, + -7.673056 + ] + ] + ], + [ + [ + [ + 130.989138, + -7.723333 + ], + [ + 131.128847, + -7.626665 + ], + [ + 130.984133, + -7.664165 + ], + [ + 130.989138, + -7.723333 + ] + ] + ], + [ + [ + [ + 127.38109, + -7.658611 + ], + [ + 127.481936, + -7.528889 + ], + [ + 127.368044, + -7.513889 + ], + [ + 127.38109, + -7.658611 + ] + ] + ], + [ + [ + [ + 138.968294, + -7.55611 + ], + [ + 138.154696, + -7.513889 + ], + [ + 137.635256, + -8.43 + ], + [ + 138.444704, + -8.383333 + ], + [ + 138.968294, + -7.55611 + ] + ] + ], + [ + [ + [ + 130.864962, + -7.494165 + ], + [ + 130.844423, + -7.547222 + ], + [ + 130.983583, + -7.520834 + ], + [ + 130.864962, + -7.494165 + ] + ] + ], + [ + [ + [ + 131.072756, + -7.511389 + ], + [ + 131.177462, + -7.408611 + ], + [ + 131.003328, + -7.424999 + ], + [ + 131.072756, + -7.511389 + ] + ] + ], + [ + [ + [ + 121.778589, + -7.424444 + ], + [ + 121.830553, + -7.342777 + ], + [ + 121.761934, + -7.359165 + ], + [ + 121.778589, + -7.424444 + ] + ] + ], + [ + [ + [ + 121.108324, + -7.394444 + ], + [ + 121.168589, + -7.352222 + ], + [ + 121.093325, + -7.304722 + ], + [ + 121.108324, + -7.394444 + ] + ] + ], + [ + [ + [ + 131.272768, + -7.372776 + ], + [ + 131.263033, + -7.300554 + ], + [ + 131.216646, + -7.359165 + ], + [ + 131.272768, + -7.372776 + ] + ] + ], + [ + [ + [ + 120.931376, + -7.283611 + ], + [ + 120.789705, + -7.2775 + ], + [ + 121.063601, + -7.304722 + ], + [ + 120.931376, + -7.283611 + ] + ] + ], + [ + [ + [ + 131.736086, + -7.214167 + ], + [ + 131.243288, + -7.48 + ], + [ + 131.109682, + -8.000834 + ], + [ + 131.736086, + -7.214167 + ] + ] + ], + [ + [ + [ + 131.927187, + -7.106943 + ], + [ + 131.728579, + -7.158611 + ], + [ + 131.968843, + -7.254444 + ], + [ + 131.927187, + -7.106943 + ] + ] + ], + [ + [ + [ + 114.402483, + -7.18111 + ], + [ + 114.370249, + -7.066111 + ], + [ + 114.293322, + -7.0825 + ], + [ + 114.402483, + -7.18111 + ] + ] + ], + [ + [ + [ + 128.639986, + -7.219166 + ], + [ + 128.615236, + -7.064722 + ], + [ + 128.526094, + -7.143612 + ], + [ + 128.639986, + -7.219166 + ] + ] + ], + [ + [ + [ + 120.741655, + -7.075556 + ], + [ + 120.630541, + -7.016388 + ], + [ + 120.669146, + -7.145554 + ], + [ + 120.741655, + -7.075556 + ] + ] + ], + [ + [ + [ + 113.991365, + -6.880278 + ], + [ + 112.687761, + -7.051111 + ], + [ + 113.503885, + -7.225277 + ], + [ + 113.991365, + -6.880278 + ] + ] + ], + [ + [ + [ + 115.293329, + -6.838793 + ], + [ + 115.291094, + -7.008333 + ], + [ + 115.570833, + -6.925833 + ], + [ + 115.293329, + -6.838793 + ] + ] + ], + [ + [ + [ + 138.690523, + -6.761389 + ], + [ + 138.611086, + -6.736111 + ], + [ + 138.786654, + -6.840834 + ], + [ + 138.690523, + -6.761389 + ] + ] + ], + [ + [ + [ + 131.592196, + -6.678888 + ], + [ + 131.535799, + -6.801388 + ], + [ + 131.626345, + -6.7075 + ], + [ + 131.592196, + -6.678888 + ] + ] + ], + [ + [ + [ + 134.668856, + -6.774166 + ], + [ + 134.697756, + -6.586388 + ], + [ + 134.626345, + -6.715555 + ], + [ + 134.668856, + -6.774166 + ] + ] + ], + [ + [ + [ + 105.193041, + -6.684444 + ], + [ + 105.253603, + -6.527222 + ], + [ + 105.113039, + -6.611666 + ], + [ + 105.193041, + -6.684444 + ] + ] + ], + [ + [ + [ + 134.68387, + -6.56111 + ], + [ + 134.74692, + -6.523056 + ], + [ + 134.683321, + -6.451666 + ], + [ + 134.68387, + -6.56111 + ] + ] + ], + [ + [ + [ + 134.586092, + -6.391666 + ], + [ + 134.345522, + -6.356943 + ], + [ + 134.542208, + -6.535833 + ], + [ + 134.586092, + -6.391666 + ] + ] + ], + [ + [ + [ + 134.831911, + -6.471945 + ], + [ + 134.858004, + -6.289444 + ], + [ + 134.788027, + -6.393055 + ], + [ + 134.831911, + -6.471945 + ] + ] + ], + [ + [ + [ + 134.344118, + -6.804167 + ], + [ + 134.514711, + -6.584999 + ], + [ + 134.102755, + -6.173056 + ], + [ + 134.067202, + -6.826666 + ], + [ + 134.344118, + -6.804167 + ] + ] + ], + [ + [ + [ + 134.156374, + -6.047499 + ], + [ + 134.133883, + -6.154722 + ], + [ + 134.403597, + -6.28611 + ], + [ + 134.156374, + -6.047499 + ] + ] + ], + [ + [ + [ + 134.731356, + -6.036667 + ], + [ + 134.268038, + -6.117222 + ], + [ + 134.603029, + -6.370554 + ], + [ + 134.731356, + -6.036667 + ] + ] + ], + [ + [ + [ + 106.163309, + -6.014166 + ], + [ + 105.243319, + -6.810278 + ], + [ + 106.509432, + -6.979166 + ], + [ + 106.423311, + -7.371387 + ], + [ + 108.163042, + -7.783054 + ], + [ + 109.289705, + -7.699444 + ], + [ + 111.651094, + -8.362499 + ], + [ + 113.232759, + -8.281113 + ], + [ + 114.621096, + -8.746666 + ], + [ + 114.371645, + -8.521112 + ], + [ + 114.44832, + -7.800554 + ], + [ + 112.845545, + -7.599722 + ], + [ + 112.560259, + -6.912222 + ], + [ + 111.152773, + -6.699999 + ], + [ + 110.919985, + -6.41 + ], + [ + 110.390825, + -6.979721 + ], + [ + 108.734423, + -6.814999 + ], + [ + 108.311098, + -6.260279 + ], + [ + 106.163309, + -6.014166 + ] + ] + ], + [ + [ + [ + 124.058321, + -6.027222 + ], + [ + 123.976648, + -5.875832 + ], + [ + 123.965822, + -5.948055 + ], + [ + 124.058321, + -6.027222 + ] + ] + ], + [ + [ + [ + 120.481936, + -6.48361 + ], + [ + 120.561373, + -6.024445 + ], + [ + 120.479982, + -5.766666 + ], + [ + 120.481936, + -6.48361 + ] + ] + ], + [ + [ + [ + 104.836115, + -5.828056 + ], + [ + 104.84833, + -5.775 + ], + [ + 104.768885, + -5.747778 + ], + [ + 104.836115, + -5.828056 + ] + ] + ], + [ + [ + [ + 112.692751, + -5.852776 + ], + [ + 112.634989, + -5.739443 + ], + [ + 112.58777, + -5.843889 + ], + [ + 112.692751, + -5.852776 + ] + ] + ], + [ + [ + [ + 132.741335, + -5.950277 + ], + [ + 132.808321, + -5.806944 + ], + [ + 132.6933, + -5.596388 + ], + [ + 132.741335, + -5.950277 + ] + ] + ], + [ + [ + [ + 132.795534, + -5.686388 + ], + [ + 132.781099, + -5.532778 + ], + [ + 132.738558, + -5.639166 + ], + [ + 132.795534, + -5.686388 + ] + ] + ], + [ + [ + [ + 132.340517, + -5.577223 + ], + [ + 132.376619, + -5.538332 + ], + [ + 132.301912, + -5.517221 + ], + [ + 132.340517, + -5.577223 + ] + ] + ], + [ + [ + [ + 123.810808, + -5.599167 + ], + [ + 123.802759, + -5.533611 + ], + [ + 123.688311, + -5.472221 + ], + [ + 123.810808, + -5.599167 + ] + ] + ], + [ + [ + [ + 134.577181, + -5.43 + ], + [ + 134.206331, + -5.708054 + ], + [ + 134.302187, + -6.025833 + ], + [ + 134.731356, + -5.974722 + ], + [ + 134.577181, + -5.43 + ] + ] + ], + [ + [ + [ + 102.384989, + -5.485832 + ], + [ + 102.380816, + -5.372499 + ], + [ + 102.100542, + -5.3325 + ], + [ + 102.384989, + -5.485832 + ] + ] + ], + [ + [ + [ + 132.849398, + -6.003334 + ], + [ + 133.11191, + -5.591667 + ], + [ + 133.168856, + -5.295555 + ], + [ + 132.849398, + -6.003334 + ] + ] + ], + [ + [ + [ + 123.625811, + -5.376665 + ], + [ + 123.627199, + -5.282499 + ], + [ + 123.521105, + -5.251944 + ], + [ + 123.625811, + -5.376665 + ] + ] + ], + [ + [ + [ + 122.016939, + -5.474167 + ], + [ + 121.913309, + -5.058611 + ], + [ + 121.808596, + -5.272223 + ], + [ + 122.016939, + -5.474167 + ] + ] + ], + [ + [ + [ + 115.782495, + -4.831944 + ], + [ + 115.85248, + -4.785555 + ], + [ + 115.853045, + -4.747221 + ], + [ + 115.782495, + -4.831944 + ] + ] + ], + [ + [ + [ + 131.742189, + -4.76861 + ], + [ + 131.754427, + -4.723333 + ], + [ + 131.721621, + -4.691944 + ], + [ + 131.742189, + -4.76861 + ] + ] + ], + [ + [ + [ + 122.737764, + -4.651112 + ], + [ + 122.371096, + -4.759722 + ], + [ + 122.28499, + -5.385 + ], + [ + 122.605555, + -5.420277 + ], + [ + 122.737764, + -4.651112 + ] + ] + ], + [ + [ + [ + 129.93442, + -4.566387 + ], + [ + 129.93857, + -4.5075 + ], + [ + 129.859133, + -4.556665 + ], + [ + 129.93442, + -4.566387 + ] + ] + ], + [ + [ + [ + 129.874666, + -4.530832 + ], + [ + 129.879671, + -4.505556 + ], + [ + 129.861086, + -4.521389 + ], + [ + 129.874666, + -4.530832 + ] + ] + ], + [ + [ + [ + 123.21277, + -4.697498 + ], + [ + 122.903589, + -4.484999 + ], + [ + 122.651384, + -5.686388 + ], + [ + 123.215555, + -5.297499 + ], + [ + 122.979715, + -5.107222 + ], + [ + 123.21277, + -4.697498 + ] + ] + ], + [ + [ + [ + 131.670259, + -4.536943 + ], + [ + 131.672213, + -4.487221 + ], + [ + 131.610506, + -4.428333 + ], + [ + 131.670259, + -4.536943 + ] + ] + ], + [ + [ + [ + 133.575258, + -4.251944 + ], + [ + 133.31415, + -4.104445 + ], + [ + 133.615511, + -4.300554 + ], + [ + 133.575258, + -4.251944 + ] + ] + ], + [ + [ + [ + 131.342745, + -4.117498 + ], + [ + 131.272768, + -4.07361 + ], + [ + 131.304415, + -4.124165 + ], + [ + 131.342745, + -4.117498 + ] + ] + ], + [ + [ + [ + 123.088594, + -4.008888 + ], + [ + 122.957766, + -4.100277 + ], + [ + 123.153872, + -4.241667 + ], + [ + 123.088594, + -4.008888 + ] + ] + ], + [ + [ + [ + 101.034418, + -4.025833 + ], + [ + 101.048601, + -3.994999 + ], + [ + 101.027483, + -4.005278 + ], + [ + 101.034418, + -4.025833 + ] + ] + ], + [ + [ + [ + 131.244692, + -4.045555 + ], + [ + 131.244692, + -4.001944 + ], + [ + 131.209688, + -3.983332 + ], + [ + 131.244692, + -4.045555 + ] + ] + ], + [ + [ + [ + 131.435793, + -4.076389 + ], + [ + 131.419436, + -3.960278 + ], + [ + 131.378847, + -3.960833 + ], + [ + 131.435793, + -4.076389 + ] + ] + ], + [ + [ + [ + 134.1597, + -3.934999 + ], + [ + 134.072756, + -3.934166 + ], + [ + 134.199404, + -3.99111 + ], + [ + 134.1597, + -3.934999 + ] + ] + ], + [ + [ + [ + 127.228319, + -3.904167 + ], + [ + 127.233873, + -3.827499 + ], + [ + 127.148882, + -3.830278 + ], + [ + 127.228319, + -3.904167 + ] + ] + ], + [ + [ + [ + 128.779146, + -3.703888 + ], + [ + 128.790804, + -3.638889 + ], + [ + 128.748293, + -3.643055 + ], + [ + 128.779146, + -3.703888 + ] + ] + ], + [ + [ + [ + 123.125528, + -3.626667 + ], + [ + 123.147776, + -3.543055 + ], + [ + 123.057749, + -3.578056 + ], + [ + 123.125528, + -3.626667 + ] + ] + ], + [ + [ + [ + 128.402773, + -3.640833 + ], + [ + 128.563295, + -3.576666 + ], + [ + 128.431093, + -3.522499 + ], + [ + 128.402773, + -3.640833 + ] + ] + ], + [ + [ + [ + 122.351931, + -3.560833 + ], + [ + 122.320536, + -3.514919 + ], + [ + 122.279985, + -3.5725 + ], + [ + 122.351931, + -3.560833 + ] + ] + ], + [ + [ + [ + 128.334963, + -3.625832 + ], + [ + 128.273317, + -3.512222 + ], + [ + 127.918322, + -3.740833 + ], + [ + 128.334963, + -3.625832 + ] + ] + ], + [ + [ + [ + 128.664705, + -3.538332 + ], + [ + 128.554964, + -3.509722 + ], + [ + 128.720797, + -3.619165 + ], + [ + 128.664705, + -3.538332 + ] + ] + ], + [ + [ + [ + 132.703585, + -3.519165 + ], + [ + 132.674135, + -3.41861 + ], + [ + 132.623293, + -3.421389 + ], + [ + 132.703585, + -3.519165 + ] + ] + ], + [ + [ + [ + 122.445253, + -3.490555 + ], + [ + 122.471918, + -3.456944 + ], + [ + 122.413042, + -3.384445 + ], + [ + 122.445253, + -3.490555 + ] + ] + ], + [ + [ + [ + 116.382753, + -3.645554 + ], + [ + 116.416933, + -3.377499 + ], + [ + 116.316942, + -3.5375 + ], + [ + 116.382753, + -3.645554 + ] + ] + ], + [ + [ + [ + 127.632753, + -3.365278 + ], + [ + 127.569719, + -3.263889 + ], + [ + 127.481089, + -3.293333 + ], + [ + 127.632753, + -3.365278 + ] + ] + ], + [ + [ + [ + 116.118319, + -4.03611 + ], + [ + 116.267763, + -3.223055 + ], + [ + 116.008615, + -3.649166 + ], + [ + 116.118319, + -4.03611 + ] + ] + ], + [ + [ + [ + 127.770266, + -3.254444 + ], + [ + 127.759432, + -3.153055 + ], + [ + 127.63611, + -3.225832 + ], + [ + 127.770266, + -3.254444 + ] + ] + ], + [ + [ + [ + 100.524431, + -3.186167 + ], + [ + 100.500551, + -3.127222 + ], + [ + 100.490808, + -3.162777 + ], + [ + 100.524431, + -3.186167 + ] + ] + ], + [ + [ + [ + 126.993876, + -3.145 + ], + [ + 126.103045, + -3.100555 + ], + [ + 126.017488, + -3.354445 + ], + [ + 126.700823, + -3.834444 + ], + [ + 127.23665, + -3.6175 + ], + [ + 126.993876, + -3.145 + ] + ] + ], + [ + [ + [ + 127.884722, + -3.038332 + ], + [ + 127.991655, + -2.93 + ], + [ + 127.820543, + -3.021666 + ], + [ + 127.884722, + -3.038332 + ] + ] + ], + [ + [ + [ + 106.889162, + -3.024445 + ], + [ + 106.812479, + -2.893055 + ], + [ + 106.721369, + -2.966389 + ], + [ + 106.889162, + -3.024445 + ] + ] + ], + [ + [ + [ + 129.812471, + -2.919722 + ], + [ + 128.173861, + -2.855555 + ], + [ + 127.906099, + -3.5375 + ], + [ + 128.173861, + -3.068888 + ], + [ + 128.462465, + -3.458332 + ], + [ + 128.878298, + -3.207777 + ], + [ + 129.897493, + -3.335833 + ], + [ + 130.829958, + -3.872776 + ], + [ + 130.584139, + -3.133333 + ], + [ + 129.812471, + -2.919722 + ] + ] + ], + [ + [ + [ + 107.427202, + -2.938889 + ], + [ + 107.481371, + -2.823334 + ], + [ + 107.361368, + -2.871111 + ], + [ + 107.427202, + -2.938889 + ] + ] + ], + [ + [ + [ + 107.079714, + -2.911665 + ], + [ + 107.072771, + -2.82 + ], + [ + 107.037203, + -2.865 + ], + [ + 107.079714, + -2.911665 + ] + ] + ], + [ + [ + [ + 100.46277, + -3.133333 + ], + [ + 100.176378, + -2.799999 + ], + [ + 100.459429, + -3.333889 + ], + [ + 100.46277, + -3.133333 + ] + ] + ], + [ + [ + [ + 131.579683, + -2.656389 + ], + [ + 131.654421, + -2.621389 + ], + [ + 131.565248, + -2.651667 + ], + [ + 131.579683, + -2.656389 + ] + ] + ], + [ + [ + [ + 107.832766, + -2.535 + ], + [ + 107.609423, + -3.211388 + ], + [ + 108.07332, + -3.235277 + ], + [ + 108.265825, + -2.755556 + ], + [ + 107.832766, + -2.535 + ] + ] + ], + [ + [ + [ + 100.031099, + -2.841944 + ], + [ + 100.214159, + -2.718611 + ], + [ + 99.9872, + -2.489166 + ], + [ + 100.031099, + -2.841944 + ] + ] + ], + [ + [ + [ + 133.594973, + -2.525555 + ], + [ + 133.614412, + -2.477499 + ], + [ + 133.499117, + -2.425556 + ], + [ + 133.594973, + -2.525555 + ] + ] + ], + [ + [ + [ + 99.741091, + -2.376389 + ], + [ + 99.7372, + -2.350277 + ], + [ + 99.7036, + -2.342777 + ], + [ + 99.741091, + -2.376389 + ] + ] + ], + [ + [ + [ + 134.567476, + -2.453054 + ], + [ + 134.56885, + -2.292778 + ], + [ + 134.516665, + -2.396944 + ], + [ + 134.567476, + -2.453054 + ] + ] + ], + [ + [ + [ + 123.166933, + -2.194166 + ], + [ + 123.168055, + -2.176388 + ], + [ + 123.151659, + -2.194166 + ], + [ + 123.166933, + -2.194166 + ] + ] + ], + [ + [ + [ + 123.449785, + -2.125568 + ], + [ + 123.456102, + -2.115555 + ], + [ + 123.438028, + -2.111389 + ], + [ + 123.449785, + -2.125568 + ] + ] + ], + [ + [ + [ + 99.859713, + -2.370832 + ], + [ + 99.568605, + -2.029167 + ], + [ + 99.569994, + -2.222221 + ], + [ + 99.859713, + -2.370832 + ] + ] + ], + [ + [ + [ + 123.885538, + -2.075556 + ], + [ + 123.864992, + -2.00861 + ], + [ + 123.844439, + -2.053888 + ], + [ + 123.885538, + -2.075556 + ] + ] + ], + [ + [ + [ + 134.368837, + -2.158054 + ], + [ + 134.385805, + -2.003889 + ], + [ + 134.325533, + -2.08861 + ], + [ + 134.368837, + -2.158054 + ] + ] + ], + [ + [ + [ + 123.767763, + -2.047499 + ], + [ + 123.777483, + -1.998333 + ], + [ + 123.758333, + -2.020277 + ], + [ + 123.767763, + -2.047499 + ] + ] + ], + [ + [ + [ + 126.056643, + -2.4825 + ], + [ + 125.918055, + -1.972221 + ], + [ + 125.894709, + -2.213333 + ], + [ + 126.056643, + -2.4825 + ] + ] + ], + [ + [ + [ + 124.366655, + -2.011389 + ], + [ + 124.35721, + -1.96611 + ], + [ + 124.300814, + -1.976944 + ], + [ + 124.366655, + -2.011389 + ] + ] + ], + [ + [ + [ + 123.478045, + -1.94611 + ], + [ + 123.484713, + -1.935278 + ], + [ + 123.466928, + -1.943611 + ], + [ + 123.478045, + -1.94611 + ] + ] + ], + [ + [ + [ + 123.544985, + -1.927778 + ], + [ + 123.543055, + -1.913332 + ], + [ + 123.53554, + -1.924999 + ], + [ + 123.544985, + -1.927778 + ] + ] + ], + [ + [ + [ + 123.659418, + -1.963333 + ], + [ + 123.654161, + -1.901667 + ], + [ + 123.651384, + -1.953888 + ], + [ + 123.659418, + -1.963333 + ] + ] + ], + [ + [ + [ + 123.716928, + -1.955833 + ], + [ + 123.73221, + -1.899721 + ], + [ + 123.700548, + -1.936666 + ], + [ + 123.716928, + -1.955833 + ] + ] + ], + [ + [ + [ + 123.691095, + -1.914167 + ], + [ + 123.672495, + -1.884722 + ], + [ + 123.672495, + -1.899721 + ], + [ + 123.691095, + -1.914167 + ] + ] + ], + [ + [ + [ + 123.828875, + -2.010555 + ], + [ + 123.855509, + -1.954447 + ], + [ + 123.782763, + -1.878611 + ], + [ + 123.828875, + -2.010555 + ] + ] + ], + [ + [ + [ + 123.765001, + -1.877222 + ], + [ + 123.767214, + -1.862778 + ], + [ + 123.757494, + -1.873611 + ], + [ + 123.765001, + -1.877222 + ] + ] + ], + [ + [ + [ + 123.386904, + -1.883858 + ], + [ + 123.368319, + -1.856388 + ], + [ + 123.36693, + -1.875832 + ], + [ + 123.386904, + -1.883858 + ] + ] + ], + [ + [ + [ + 125.438311, + -1.806667 + ], + [ + 125.466661, + -1.939999 + ], + [ + 126.349154, + -1.823055 + ], + [ + 125.438311, + -1.806667 + ] + ] + ], + [ + [ + [ + 99.286104, + -1.826389 + ], + [ + 99.269152, + -1.789999 + ], + [ + 99.25194, + -1.820833 + ], + [ + 99.286104, + -1.826389 + ] + ] + ], + [ + [ + [ + 123.079165, + -1.906389 + ], + [ + 123.154161, + -1.8325 + ], + [ + 123.120821, + -1.754444 + ], + [ + 123.079165, + -1.906389 + ] + ] + ], + [ + [ + [ + 134.176088, + -1.945 + ], + [ + 134.233858, + -1.740833 + ], + [ + 134.160524, + -1.845556 + ], + [ + 134.176088, + -1.945 + ] + ] + ], + [ + [ + [ + 125.006655, + -1.718889 + ], + [ + 124.327478, + -1.879721 + ], + [ + 125.32332, + -1.887222 + ], + [ + 125.006655, + -1.718889 + ] + ] + ], + [ + [ + [ + 108.696932, + -1.723055 + ], + [ + 108.779711, + -1.704443 + ], + [ + 108.681932, + -1.699722 + ], + [ + 108.696932, + -1.723055 + ] + ] + ], + [ + [ + [ + 130.18857, + -2.064167 + ], + [ + 130.350557, + -1.680204 + ], + [ + 129.715792, + -1.885832 + ], + [ + 130.18857, + -2.064167 + ] + ] + ], + [ + [ + [ + 123.297762, + -1.791389 + ], + [ + 123.369715, + -1.673054 + ], + [ + 123.267488, + -1.766945 + ], + [ + 123.297762, + -1.791389 + ] + ] + ], + [ + [ + [ + 136.293581, + -1.68861 + ], + [ + 135.418032, + -1.609999 + ], + [ + 136.902193, + -1.799166 + ], + [ + 136.293581, + -1.68861 + ] + ] + ], + [ + [ + [ + 108.849154, + -1.670832 + ], + [ + 108.930544, + -1.544167 + ], + [ + 108.799715, + -1.568056 + ], + [ + 108.849154, + -1.670832 + ] + ] + ], + [ + [ + [ + 106.090822, + -1.771666 + ], + [ + 105.57361, + -1.529167 + ], + [ + 105.132204, + -2.067499 + ], + [ + 105.744715, + -2.129166 + ], + [ + 105.978319, + -2.822777 + ], + [ + 106.71776, + -3.098333 + ], + [ + 106.601931, + -2.913055 + ], + [ + 106.781664, + -2.591944 + ], + [ + 106.318331, + -2.435833 + ], + [ + 106.090822, + -1.771666 + ] + ] + ], + [ + [ + [ + 135.138308, + -1.485277 + ], + [ + 135.094423, + -1.512777 + ], + [ + 135.330812, + -1.492777 + ], + [ + 135.138308, + -1.485277 + ] + ] + ], + [ + [ + [ + 127.879435, + -1.426943 + ], + [ + 127.378313, + -1.633888 + ], + [ + 128.145266, + -1.680555 + ], + [ + 127.879435, + -1.426943 + ] + ] + ], + [ + [ + [ + 127.328325, + -1.439999 + ], + [ + 127.366655, + -1.36611 + ], + [ + 127.272776, + -1.413332 + ], + [ + 127.328325, + -1.439999 + ] + ] + ], + [ + [ + [ + 109.144991, + -1.316666 + ], + [ + 109.171892, + -1.257776 + ], + [ + 109.104715, + -1.289999 + ], + [ + 109.144991, + -1.316666 + ] + ] + ], + [ + [ + [ + 123.194979, + -1.297499 + ], + [ + 122.897493, + -1.186666 + ], + [ + 122.861101, + -1.58111 + ], + [ + 123.531374, + -1.434721 + ], + [ + 123.194979, + -1.297499 + ] + ] + ], + [ + [ + [ + 127.614702, + -1.257778 + ], + [ + 127.550539, + -1.171667 + ], + [ + 127.455835, + -1.234444 + ], + [ + 127.614702, + -1.257778 + ] + ] + ], + [ + [ + [ + 109.228594, + -1.233332 + ], + [ + 109.258043, + -1.169443 + ], + [ + 109.219713, + -1.192778 + ], + [ + 109.228594, + -1.233332 + ] + ] + ], + [ + [ + [ + 129.928865, + -1.211388 + ], + [ + 129.86664, + -1.142778 + ], + [ + 129.740511, + -1.208611 + ], + [ + 129.928865, + -1.211388 + ] + ] + ], + [ + [ + [ + 109.623789, + -0.984835 + ], + [ + 109.492479, + -0.979721 + ], + [ + 109.418589, + -1.263334 + ], + [ + 109.778872, + -1.138611 + ], + [ + 109.623789, + -0.984835 + ] + ] + ], + [ + [ + [ + 98.929155, + -0.950277 + ], + [ + 98.603045, + -1.223055 + ], + [ + 99.238878, + -1.783888 + ], + [ + 98.929155, + -0.950277 + ] + ] + ], + [ + [ + [ + 134.922487, + -1.138056 + ], + [ + 134.993013, + -1.023611 + ], + [ + 134.843019, + -0.941944 + ], + [ + 134.922487, + -1.138056 + ] + ] + ], + [ + [ + [ + 130.931368, + -0.936388 + ], + [ + 130.638887, + -0.983889 + ], + [ + 130.964418, + -1.357222 + ], + [ + 130.931368, + -0.936388 + ] + ] + ], + [ + [ + [ + 130.916384, + -0.794722 + ], + [ + 130.486635, + -0.835278 + ], + [ + 130.396944, + -0.926388 + ], + [ + 130.916384, + -0.794722 + ] + ] + ], + [ + [ + [ + 135.487734, + -0.675556 + ], + [ + 135.892214, + -1.191389 + ], + [ + 136.38611, + -1.120832 + ], + [ + 135.487734, + -0.675556 + ] + ] + ], + [ + [ + [ + 127.281099, + -0.808332 + ], + [ + 127.204439, + -0.619167 + ], + [ + 127.153589, + -0.77 + ], + [ + 127.281099, + -0.808332 + ] + ] + ], + [ + [ + [ + 98.515276, + -0.632221 + ], + [ + 98.509722, + -0.600832 + ], + [ + 98.489153, + -0.599443 + ], + [ + 98.515276, + -0.632221 + ] + ] + ], + [ + [ + [ + 130.606081, + -0.541111 + ], + [ + 130.66025, + -0.426666 + ], + [ + 130.455812, + -0.468611 + ], + [ + 130.606081, + -0.541111 + ] + ] + ], + [ + [ + [ + 121.913309, + -0.475277 + ], + [ + 121.741365, + -0.41861 + ], + [ + 121.643335, + -0.548056 + ], + [ + 121.913309, + -0.475277 + ] + ] + ], + [ + [ + [ + 104.228319, + -0.417221 + ], + [ + 104.231661, + -0.391666 + ], + [ + 104.197481, + -0.395832 + ], + [ + 104.228319, + -0.417221 + ] + ] + ], + [ + [ + [ + 141.002474, + -2.607084 + ], + [ + 137.85663, + -1.471666 + ], + [ + 137.131075, + -1.792778 + ], + [ + 137.190523, + -2.103054 + ], + [ + 136.35663, + -2.253889 + ], + [ + 135.491915, + -3.358334 + ], + [ + 135.004152, + -3.341389 + ], + [ + 134.63611, + -2.513889 + ], + [ + 134.466646, + -2.864445 + ], + [ + 134.1597, + -2.319445 + ], + [ + 134.111086, + -0.835278 + ], + [ + 133.11191, + -0.536388 + ], + [ + 132.269716, + -0.384167 + ], + [ + 131.255556, + -0.822777 + ], + [ + 130.963594, + -1.403055 + ], + [ + 131.882448, + -1.642221 + ], + [ + 132.301363, + -2.269444 + ], + [ + 133.936373, + -2.103054 + ], + [ + 133.684145, + -2.716389 + ], + [ + 133.238863, + -2.416111 + ], + [ + 132.72275, + -2.817223 + ], + [ + 131.955812, + -2.783611 + ], + [ + 132.818026, + -3.303055 + ], + [ + 132.901644, + -4.091389 + ], + [ + 133.449709, + -3.871389 + ], + [ + 133.828859, + -2.961666 + ], + [ + 133.637484, + -3.491667 + ], + [ + 134.215792, + -3.963055 + ], + [ + 134.965517, + -3.939722 + ], + [ + 134.643587, + -4.121387 + ], + [ + 138.064425, + -5.406111 + ], + [ + 138.681917, + -6.720554 + ], + [ + 139.189425, + -6.969444 + ], + [ + 138.561922, + -6.908888 + ], + [ + 139.222475, + -7.1625 + ], + [ + 138.661104, + -7.203333 + ], + [ + 139.095522, + -7.564165 + ], + [ + 138.908602, + -8.296667 + ], + [ + 140.14609, + -7.884722 + ], + [ + 139.985231, + -8.193611 + ], + [ + 141.007021, + -9.128468 + ], + [ + 141.002474, + -2.607084 + ] + ], + [ + [ + 133.619692, + -3.449444 + ], + [ + 133.610231, + -3.435833 + ], + [ + 133.623293, + -3.429474 + ], + [ + 133.619692, + -3.449444 + ] + ] + ], + [ + [ + [ + 104.496096, + -0.626944 + ], + [ + 104.531099, + -0.373888 + ], + [ + 104.288042, + -0.393888 + ], + [ + 104.496096, + -0.626944 + ] + ] + ], + [ + [ + [ + 122.011385, + -0.414444 + ], + [ + 122.044436, + -0.332777 + ], + [ + 121.854433, + -0.365833 + ], + [ + 122.011385, + -0.414444 + ] + ] + ], + [ + [ + [ + 127.574999, + -0.323332 + ], + [ + 127.303591, + -0.519167 + ], + [ + 127.817759, + -0.870832 + ], + [ + 127.574999, + -0.323332 + ] + ] + ], + [ + [ + [ + 104.444139, + -0.326111 + ], + [ + 104.488039, + -0.278055 + ], + [ + 104.402483, + -0.285555 + ], + [ + 104.444139, + -0.326111 + ] + ] + ], + [ + [ + [ + 122.08333, + -0.410278 + ], + [ + 122.140268, + -0.382221 + ], + [ + 122.086931, + -0.265556 + ], + [ + 122.08333, + -0.410278 + ] + ] + ], + [ + [ + [ + 127.183039, + -0.528889 + ], + [ + 127.233873, + -0.256111 + ], + [ + 127.104982, + -0.297222 + ], + [ + 127.183039, + -0.528889 + ] + ] + ], + [ + [ + [ + 98.501665, + -0.539722 + ], + [ + 98.430269, + -0.246389 + ], + [ + 98.326097, + -0.539722 + ], + [ + 98.501665, + -0.539722 + ] + ] + ], + [ + [ + [ + 103.619143, + -0.389721 + ], + [ + 103.759722, + -0.312222 + ], + [ + 103.533335, + -0.234167 + ], + [ + 103.454714, + -0.362221 + ], + [ + 103.619143, + -0.389721 + ] + ] + ], + [ + [ + [ + 122.363604, + -0.284166 + ], + [ + 122.328051, + -0.230833 + ], + [ + 122.223879, + -0.200556 + ], + [ + 122.363604, + -0.284166 + ] + ] + ], + [ + [ + [ + 122.225809, + -0.278055 + ], + [ + 122.188875, + -0.197222 + ], + [ + 122.140268, + -0.229443 + ], + [ + 122.225809, + -0.278055 + ] + ] + ], + [ + [ + [ + 103.553308, + -0.196388 + ], + [ + 103.534655, + -0.184233 + ], + [ + 103.50139, + -0.195 + ], + [ + 103.553308, + -0.196388 + ] + ] + ], + [ + [ + [ + 104.740252, + -0.136944 + ], + [ + 104.432482, + -0.201944 + ], + [ + 104.92943, + -0.334166 + ], + [ + 104.740252, + -0.136944 + ] + ] + ], + [ + [ + [ + 121.613878, + -0.206667 + ], + [ + 121.631929, + -0.123056 + ], + [ + 121.562479, + -0.156666 + ], + [ + 121.613878, + -0.206667 + ] + ] + ], + [ + [ + [ + 97.87665, + -0.105278 + ], + [ + 97.86693, + -0.064167 + ], + [ + 97.823885, + -0.067778 + ], + [ + 97.87665, + -0.105278 + ] + ] + ], + [ + [ + [ + 104.876635, + -0.065556 + ], + [ + 104.842196, + -0.024443 + ], + [ + 104.831919, + -0.060833 + ], + [ + 104.876635, + -0.065556 + ] + ] + ], + [ + [ + [ + 130.877443, + -0.019167 + ], + [ + 130.213289, + -0.206667 + ], + [ + 130.915804, + -0.408888 + ], + [ + 130.688295, + -0.079443 + ], + [ + 131.255556, + -0.387777 + ], + [ + 130.877443, + -0.019167 + ] + ], + [ + [ + 130.66971, + -0.328888 + ], + [ + 130.662203, + -0.325277 + ], + [ + 130.666384, + -0.315832 + ], + [ + 130.66971, + -0.328888 + ] + ] + ], + [ + [ + [ + 98.547487, + -0.370556 + ], + [ + 98.444139, + -0.061388 + ], + [ + 98.291933, + -0.012222 + ], + [ + 98.547487, + -0.370556 + ] + ] + ], + [ + [ + [ + 129.554689, + -0.21361 + ], + [ + 129.540529, + -0.138889 + ], + [ + 129.288301, + 0.041391 + ], + [ + 129.554689, + -0.21361 + ] + ] + ], + [ + [ + [ + 127.457209, + -0.012222 + ], + [ + 127.41054, + 0.144167 + ], + [ + 127.392763, + 0.006945 + ], + [ + 127.457209, + -0.012222 + ] + ] + ], + [ + [ + [ + 98.834749, + 0.107779 + ], + [ + 98.762804, + 0.171667 + ], + [ + 98.513353, + 0.133059 + ], + [ + 98.834749, + 0.107779 + ] + ] + ], + [ + [ + [ + 104.481936, + 0.023611 + ], + [ + 104.409151, + 0.171667 + ], + [ + 104.407213, + 0.090002 + ], + [ + 104.481936, + 0.023611 + ] + ] + ], + [ + [ + [ + 104.701929, + 0.023611 + ], + [ + 104.54497, + 0.221666 + ], + [ + 104.49135, + 0.237223 + ], + [ + 104.701929, + 0.023611 + ] + ] + ], + [ + [ + [ + 104.411913, + 0.292223 + ], + [ + 104.426378, + 0.32361 + ], + [ + 104.34276, + 0.370832 + ], + [ + 104.411913, + 0.292223 + ] + ] + ], + [ + [ + [ + 127.385271, + 0.270834 + ], + [ + 127.388605, + 0.378611 + ], + [ + 127.327768, + 0.336668 + ], + [ + 127.385271, + 0.270834 + ] + ] + ], + [ + [ + [ + 103.073595, + 0.571669 + ], + [ + 103.066072, + 0.646391 + ], + [ + 103.038019, + 0.654722 + ], + [ + 103.073595, + 0.571669 + ] + ] + ], + [ + [ + [ + 104.281649, + 0.623056 + ], + [ + 104.281649, + 0.665556 + ], + [ + 104.2372, + 0.689444 + ], + [ + 104.281649, + 0.623056 + ] + ] + ], + [ + [ + [ + 103.483599, + 0.616945 + ], + [ + 103.513605, + 0.699167 + ], + [ + 103.465555, + 0.630556 + ], + [ + 103.483599, + 0.616945 + ] + ] + ], + [ + [ + [ + 103.185244, + 0.508055 + ], + [ + 103.296923, + 0.553888 + ], + [ + 103.223024, + 0.703333 + ], + [ + 103.185244, + 0.508055 + ] + ] + ], + [ + [ + [ + 127.403872, + 0.619722 + ], + [ + 127.446375, + 0.712778 + ], + [ + 127.383883, + 0.751944 + ], + [ + 127.403872, + 0.619722 + ] + ] + ], + [ + [ + [ + 104.294146, + 0.706667 + ], + [ + 104.273615, + 0.79167 + ], + [ + 104.189974, + 0.775278 + ], + [ + 104.294146, + 0.706667 + ] + ] + ], + [ + [ + [ + 104.598314, + 0.758055 + ], + [ + 104.551645, + 0.795 + ], + [ + 104.508593, + 0.756113 + ], + [ + 104.598314, + 0.758055 + ] + ] + ], + [ + [ + [ + 103.094133, + 0.72389 + ], + [ + 103.105242, + 0.797777 + ], + [ + 103.077188, + 0.750555 + ], + [ + 103.094133, + 0.72389 + ] + ] + ], + [ + [ + [ + 103.715815, + 0.792501 + ], + [ + 103.662195, + 0.832224 + ], + [ + 103.704149, + 0.759443 + ], + [ + 103.715815, + 0.792501 + ] + ] + ], + [ + [ + [ + 127.322222, + 0.750002 + ], + [ + 127.374979, + 0.812223 + ], + [ + 127.32416, + 0.864168 + ], + [ + 127.322222, + 0.750002 + ] + ] + ], + [ + [ + [ + 103.525805, + 0.800001 + ], + [ + 103.489695, + 0.845835 + ], + [ + 103.41913, + 0.871111 + ], + [ + 103.525805, + 0.800001 + ] + ] + ], + [ + [ + [ + 103.936365, + 0.76639 + ], + [ + 103.889139, + 0.859446 + ], + [ + 103.819979, + 0.88611 + ], + [ + 103.936365, + 0.76639 + ] + ] + ], + [ + [ + [ + 103.832201, + 0.756113 + ], + [ + 103.819979, + 0.825834 + ], + [ + 103.734133, + 0.886946 + ], + [ + 103.832201, + 0.756113 + ] + ] + ], + [ + [ + [ + 103.436922, + 0.647223 + ], + [ + 103.507479, + 0.746389 + ], + [ + 103.379961, + 0.891668 + ], + [ + 103.436922, + 0.647223 + ] + ] + ], + [ + [ + [ + 103.478579, + 0.868334 + ], + [ + 103.461359, + 0.915834 + ], + [ + 103.405245, + 0.908892 + ], + [ + 103.478579, + 0.868334 + ] + ] + ], + [ + [ + [ + 104.242739, + 0.819723 + ], + [ + 104.094713, + 0.947222 + ], + [ + 104.175539, + 0.790834 + ], + [ + 104.242739, + 0.819723 + ] + ] + ], + [ + [ + [ + 102.624231, + 0.994139 + ], + [ + 102.406084, + 0.878057 + ], + [ + 103.041353, + 0.714167 + ], + [ + 102.624231, + 0.994139 + ] + ] + ], + [ + [ + [ + 103.934969, + 0.926111 + ], + [ + 103.93857, + 0.999166 + ], + [ + 103.836908, + 1.010279 + ], + [ + 103.934969, + 0.926111 + ] + ] + ], + [ + [ + [ + 104.84305, + 0.957502 + ], + [ + 104.839434, + 1.018614 + ], + [ + 104.793589, + 1.024721 + ], + [ + 104.84305, + 0.957502 + ] + ] + ], + [ + [ + [ + 107.556643, + 0.965834 + ], + [ + 107.596369, + 1.008055 + ], + [ + 107.550539, + 1.037779 + ], + [ + 107.556643, + 0.965834 + ] + ] + ], + [ + [ + [ + 103.037195, + 1.037779 + ], + [ + 102.657755, + 1.054167 + ], + [ + 103.146929, + 0.8375 + ], + [ + 103.037195, + 1.037779 + ] + ] + ], + [ + [ + [ + 120.677202, + 1.035555 + ], + [ + 120.638895, + 1.076113 + ], + [ + 120.616381, + 1.071943 + ], + [ + 120.677202, + 1.035555 + ] + ] + ], + [ + [ + [ + 120.388048, + 1.020002 + ], + [ + 120.38611, + 1.080835 + ], + [ + 120.366091, + 1.032225 + ], + [ + 120.388048, + 1.020002 + ] + ] + ], + [ + [ + [ + 104.666895, + 1.023829 + ], + [ + 104.230265, + 1.084169 + ], + [ + 104.583315, + 0.819166 + ], + [ + 104.666895, + 1.023829 + ] + ] + ], + [ + [ + [ + 103.439684, + 0.987501 + ], + [ + 103.341639, + 1.119722 + ], + [ + 103.319704, + 1.040277 + ], + [ + 103.439684, + 0.987501 + ] + ] + ], + [ + [ + [ + 104.033602, + 0.982222 + ], + [ + 104.119425, + 1.183611 + ], + [ + 103.901369, + 1.093889 + ], + [ + 104.033602, + 0.982222 + ] + ] + ], + [ + [ + [ + 102.39525, + 0.923891 + ], + [ + 102.476068, + 1.226667 + ], + [ + 102.21303, + 1.405001 + ], + [ + 102.39525, + 0.923891 + ] + ] + ], + [ + [ + [ + 97.526369, + 1.417223 + ], + [ + 97.114687, + 1.393335 + ], + [ + 97.810793, + 0.549723 + ], + [ + 97.936357, + 0.978056 + ], + [ + 97.526369, + 1.417223 + ] + ] + ], + [ + [ + [ + 125.214998, + 1.389166 + ], + [ + 125.299456, + 1.526079 + ], + [ + 125.166384, + 1.395281 + ], + [ + 125.214998, + 1.389166 + ] + ] + ], + [ + [ + [ + 102.49608, + 1.444723 + ], + [ + 101.994425, + 1.611113 + ], + [ + 102.491915, + 1.259722 + ], + [ + 102.49608, + 1.444723 + ] + ] + ], + [ + [ + [ + 98.599749, + 1.625555 + ], + [ + 98.555056, + 1.681665 + ], + [ + 98.427462, + 1.678888 + ], + [ + 98.599749, + 1.625555 + ] + ] + ], + [ + [ + [ + 125.141665, + 1.421389 + ], + [ + 124.971102, + 1.694723 + ], + [ + 123.839159, + 0.829447 + ], + [ + 120.950548, + 1.342501 + ], + [ + 120.573038, + 0.775278 + ], + [ + 120.287203, + 0.989721 + ], + [ + 120.032495, + 0.712778 + ], + [ + 119.833055, + -0.089722 + ], + [ + 119.622759, + -0.005278 + ], + [ + 119.863039, + -0.843889 + ], + [ + 119.718599, + -0.65361 + ], + [ + 119.517214, + -0.876389 + ], + [ + 119.353319, + -1.938889 + ], + [ + 118.759165, + -2.774166 + ], + [ + 118.922213, + -3.569721 + ], + [ + 119.506105, + -3.527222 + ], + [ + 119.464998, + -5.56361 + ], + [ + 120.46277, + -5.624165 + ], + [ + 120.200274, + -2.965 + ], + [ + 120.771929, + -2.612499 + ], + [ + 121.076105, + -2.758888 + ], + [ + 120.881365, + -3.536945 + ], + [ + 121.614702, + -4.064722 + ], + [ + 121.553041, + -4.746666 + ], + [ + 122.088884, + -4.840834 + ], + [ + 122.104715, + -4.526112 + ], + [ + 122.89554, + -4.396389 + ], + [ + 122.194979, + -3.57111 + ], + [ + 122.47748, + -3.158054 + ], + [ + 121.298029, + -1.803055 + ], + [ + 121.671656, + -1.922222 + ], + [ + 122.819994, + -0.913332 + ], + [ + 123.331385, + -1.057222 + ], + [ + 123.447748, + -0.835278 + ], + [ + 123.070833, + -0.559721 + ], + [ + 121.927759, + -0.963333 + ], + [ + 121.62221, + -0.805 + ], + [ + 121.083055, + -1.423611 + ], + [ + 120.666384, + -1.395554 + ], + [ + 120.066095, + -0.613054 + ], + [ + 120.242205, + 0.344999 + ], + [ + 124.246096, + 0.375002 + ], + [ + 125.141665, + 1.421389 + ] + ] + ], + [ + [ + [ + 97.117189, + 2.01111 + ], + [ + 97.148317, + 2.065832 + ], + [ + 97.092745, + 2.112501 + ], + [ + 97.117189, + 2.01111 + ] + ] + ], + [ + [ + [ + 101.601641, + 1.709166 + ], + [ + 101.645525, + 2.120001 + ], + [ + 101.398035, + 1.989168 + ], + [ + 101.601641, + 1.709166 + ] + ] + ], + [ + [ + [ + 96.641085, + 2.065832 + ], + [ + 96.66913, + 2.108889 + ], + [ + 96.610796, + 2.121946 + ], + [ + 96.641085, + 2.065832 + ] + ] + ], + [ + [ + [ + 96.640535, + 2.152777 + ], + [ + 96.648592, + 2.178888 + ], + [ + 96.598024, + 2.191111 + ], + [ + 96.640535, + 2.152777 + ] + ] + ], + [ + [ + [ + 127.894991, + 1.796667 + ], + [ + 128.054689, + 2.195276 + ], + [ + 127.394991, + 1.054724 + ], + [ + 127.666094, + -0.225832 + ], + [ + 128.395266, + -0.894722 + ], + [ + 127.87665, + 0.310556 + ], + [ + 128.905245, + 0.200277 + ], + [ + 128.210238, + 0.784723 + ], + [ + 128.697481, + 1.101946 + ], + [ + 128.726351, + 1.556944 + ], + [ + 128.188295, + 1.378057 + ], + [ + 127.793589, + 0.795 + ], + [ + 127.894991, + 1.796667 + ] + ] + ], + [ + [ + [ + 97.327761, + 2.032225 + ], + [ + 97.288027, + 2.224169 + ], + [ + 97.103579, + 2.219999 + ], + [ + 97.327761, + 2.032225 + ] + ] + ], + [ + [ + [ + 127.794985, + 2.205557 + ], + [ + 127.813601, + 2.261667 + ], + [ + 127.756655, + 2.270555 + ], + [ + 127.794985, + 2.205557 + ] + ] + ], + [ + [ + [ + 118.571383, + 2.316389 + ], + [ + 118.560534, + 2.264444 + ], + [ + 118.649721, + 2.176668 + ], + [ + 118.571383, + 2.316389 + ] + ] + ], + [ + [ + [ + 125.430819, + 2.313055 + ], + [ + 125.450823, + 2.379446 + ], + [ + 125.367754, + 2.369165 + ], + [ + 125.430819, + 2.313055 + ] + ] + ], + [ + [ + [ + 128.161104, + 2.282225 + ], + [ + 128.163027, + 2.404165 + ], + [ + 128.119112, + 2.338335 + ], + [ + 128.161104, + 2.282225 + ] + ] + ], + [ + [ + [ + 109.067492, + 2.485003 + ], + [ + 109.107485, + 2.530001 + ], + [ + 108.973185, + 2.540163 + ], + [ + 109.067492, + 2.485003 + ] + ] + ], + [ + [ + [ + 128.498018, + 2.050001 + ], + [ + 128.564699, + 2.632776 + ], + [ + 128.23218, + 2.306112 + ], + [ + 128.498018, + 2.050001 + ] + ] + ], + [ + [ + [ + 125.406374, + 2.626665 + ], + [ + 125.414431, + 2.807222 + ], + [ + 125.354715, + 2.724443 + ], + [ + 125.406374, + 2.626665 + ] + ] + ], + [ + [ + [ + 106.244982, + 2.736666 + ], + [ + 106.243044, + 2.786669 + ], + [ + 106.197748, + 2.812223 + ], + [ + 106.244982, + 2.736666 + ] + ] + ], + [ + [ + [ + 96.432192, + 2.343058 + ], + [ + 95.883318, + 2.91889 + ], + [ + 95.696917, + 2.818892 + ], + [ + 96.432192, + 2.343058 + ] + ] + ], + [ + [ + [ + 108.832491, + 2.844999 + ], + [ + 108.883333, + 3.001669 + ], + [ + 108.773615, + 2.89139 + ], + [ + 108.832491, + 2.844999 + ] + ] + ], + [ + [ + [ + 107.759432, + 2.974169 + ], + [ + 107.812189, + 3.001112 + ], + [ + 107.765551, + 3.021666 + ], + [ + 107.759432, + 2.974169 + ] + ] + ], + [ + [ + [ + 105.724993, + 2.833891 + ], + [ + 105.848879, + 2.979166 + ], + [ + 105.69832, + 3.060556 + ], + [ + 105.724993, + 2.833891 + ] + ] + ], + [ + [ + [ + 106.289431, + 3.159723 + ], + [ + 106.203325, + 3.226667 + ], + [ + 106.21277, + 3.121389 + ], + [ + 106.289431, + 3.159723 + ] + ] + ], + [ + [ + [ + 117.523043, + 3.285555 + ], + [ + 117.461931, + 3.343889 + ], + [ + 117.411379, + 3.302778 + ], + [ + 117.523043, + 3.285555 + ] + ] + ], + [ + [ + [ + 106.28055, + 3.230833 + ], + [ + 106.287493, + 3.373335 + ], + [ + 106.234713, + 3.256113 + ], + [ + 106.28055, + 3.230833 + ] + ] + ], + [ + [ + [ + 117.664148, + 3.284166 + ], + [ + 117.672495, + 3.419722 + ], + [ + 117.539431, + 3.426668 + ], + [ + 117.664148, + 3.284166 + ] + ] + ], + [ + [ + [ + 117.607485, + 3.477221 + ], + [ + 117.587488, + 3.524446 + ], + [ + 117.433321, + 3.559168 + ], + [ + 117.607485, + 3.477221 + ] + ] + ], + [ + [ + [ + 117.390825, + 3.561945 + ], + [ + 117.216661, + 3.545557 + ], + [ + 117.517488, + 3.474443 + ], + [ + 117.390825, + 3.561945 + ] + ] + ], + [ + [ + [ + 117.885538, + 3.456667 + ], + [ + 117.865808, + 3.548891 + ], + [ + 117.789705, + 3.57778 + ], + [ + 117.885538, + 3.456667 + ] + ] + ], + [ + [ + [ + 125.883883, + 3.362223 + ], + [ + 125.911379, + 3.491667 + ], + [ + 125.663599, + 3.718332 + ], + [ + 125.883883, + 3.362223 + ] + ] + ], + [ + [ + [ + 117.825274, + 3.740557 + ], + [ + 117.815538, + 3.755556 + ], + [ + 117.788309, + 3.750002 + ], + [ + 117.825274, + 3.740557 + ] + ] + ], + [ + [ + [ + 126.844149, + 3.738054 + ], + [ + 126.738878, + 3.842222 + ], + [ + 126.792215, + 3.733335 + ], + [ + 126.844149, + 3.738054 + ] + ] + ], + [ + [ + [ + 117.847765, + 3.797224 + ], + [ + 117.801935, + 3.85528 + ], + [ + 117.730822, + 3.863611 + ], + [ + 117.847765, + 3.797224 + ] + ] + ], + [ + [ + [ + 126.711382, + 3.798056 + ], + [ + 126.723604, + 3.911669 + ], + [ + 126.608034, + 4.041109 + ], + [ + 126.711382, + 3.798056 + ] + ] + ], + [ + [ + [ + 117.689699, + 3.974169 + ], + [ + 117.750002, + 4.068609 + ], + [ + 117.646379, + 4.14028 + ], + [ + 117.689699, + 3.974169 + ] + ] + ], + [ + [ + [ + 117.686922, + 4.168337 + ], + [ + 117.886934, + 4.026945 + ], + [ + 117.903559, + 4.174044 + ], + [ + 117.726648, + 4.169722 + ], + [ + 117.686922, + 4.168337 + ] + ] + ], + [ + [ + [ + 108.181665, + 3.647501 + ], + [ + 108.406939, + 3.875834 + ], + [ + 108.181665, + 4.196386 + ], + [ + 108.181665, + 3.647501 + ] + ] + ], + [ + [ + [ + 117.592058, + 4.169821 + ], + [ + 116.049425, + 4.279444 + ], + [ + 115.685259, + 4.171946 + ], + [ + 115.495531, + 3.040003 + ], + [ + 115.139711, + 2.906111 + ], + [ + 115.2372, + 2.522501 + ], + [ + 114.804705, + 2.248888 + ], + [ + 114.562761, + 1.433611 + ], + [ + 113.658335, + 1.224722 + ], + [ + 112.472765, + 1.568056 + ], + [ + 111.827211, + 0.998613 + ], + [ + 110.555254, + 0.853891 + ], + [ + 109.669985, + 1.613054 + ], + [ + 109.648569, + 2.073408 + ], + [ + 109.066942, + 1.532225 + ], + [ + 108.981936, + 1.211668 + ], + [ + 109.265001, + 1.393335 + ], + [ + 108.845491, + 0.810564 + ], + [ + 109.120249, + -0.502222 + ], + [ + 109.514429, + -0.726944 + ], + [ + 109.272493, + -0.855 + ], + [ + 109.729715, + -0.953611 + ], + [ + 110.057749, + -1.333889 + ], + [ + 109.903589, + -1.828333 + ], + [ + 110.23749, + -2.979443 + ], + [ + 111.550264, + -3.024445 + ], + [ + 111.749712, + -2.741943 + ], + [ + 111.889429, + -3.573889 + ], + [ + 113.064699, + -2.993889 + ], + [ + 113.671099, + -3.47611 + ], + [ + 114.481089, + -3.498611 + ], + [ + 114.706652, + -4.176945 + ], + [ + 115.983873, + -3.588888 + ], + [ + 116.604158, + -2.229721 + ], + [ + 116.22249, + -1.779167 + ], + [ + 116.755548, + -1.3675 + ], + [ + 116.743319, + -1.024166 + ], + [ + 116.923601, + -1.254444 + ], + [ + 117.622484, + -0.779722 + ], + [ + 117.467485, + 0.103613 + ], + [ + 118.03499, + 0.810278 + ], + [ + 117.894442, + 1.119722 + ], + [ + 118.343874, + 0.843058 + ], + [ + 119.008615, + 0.980833 + ], + [ + 117.87192, + 1.876669 + ], + [ + 118.096651, + 2.305555 + ], + [ + 117.273043, + 3.222776 + ], + [ + 117.444139, + 3.430555 + ], + [ + 117.030275, + 3.594168 + ], + [ + 117.828051, + 3.702223 + ], + [ + 117.392763, + 4.1075 + ], + [ + 117.592058, + 4.169821 + ] + ], + [ + [ + 117.295534, + -0.878332 + ], + [ + 117.272219, + -0.876944 + ], + [ + 117.288591, + -0.831667 + ], + [ + 117.295534, + -0.878332 + ] + ] + ], + [ + [ + [ + 126.759722, + 3.985834 + ], + [ + 126.916094, + 4.273611 + ], + [ + 126.740541, + 4.541945 + ], + [ + 126.759722, + 3.985834 + ] + ] + ], + [ + [ + [ + 125.491365, + 4.732779 + ], + [ + 125.49193, + 4.745554 + ], + [ + 125.478868, + 4.734446 + ], + [ + 125.491365, + 4.732779 + ] + ] + ], + [ + [ + [ + 107.964434, + 4.674723 + ], + [ + 108.004709, + 4.772223 + ], + [ + 107.938311, + 4.701944 + ], + [ + 107.964434, + 4.674723 + ] + ] + ], + [ + [ + [ + 95.738573, + 5.585279 + ], + [ + 95.230806, + 5.570833 + ], + [ + 95.531084, + 4.682775 + ], + [ + 96.880251, + 3.6775 + ], + [ + 97.751925, + 2.269167 + ], + [ + 98.770861, + 1.748613 + ], + [ + 99.136126, + 0.261389 + ], + [ + 99.63582, + 0.076944 + ], + [ + 100.293589, + -0.806389 + ], + [ + 101.626925, + -3.246111 + ], + [ + 104.560778, + -5.929747 + ], + [ + 104.544985, + -5.50639 + ], + [ + 105.139711, + -5.79611 + ], + [ + 105.268602, + -5.444166 + ], + [ + 105.732485, + -5.897779 + ], + [ + 106.055254, + -3.031389 + ], + [ + 105.61249, + -2.394167 + ], + [ + 104.8622, + -2.289444 + ], + [ + 104.532495, + -2.772778 + ], + [ + 104.879435, + -2.146944 + ], + [ + 104.489435, + -1.924999 + ], + [ + 104.379152, + -1.041389 + ], + [ + 103.360811, + -0.702221 + ], + [ + 103.599993, + -0.441111 + ], + [ + 103.342363, + -0.364096 + ], + [ + 103.490808, + -0.216944 + ], + [ + 103.269709, + -0.258888 + ], + [ + 103.814196, + -0.001028 + ], + [ + 103.739695, + 0.281111 + ], + [ + 103.351091, + 0.536112 + ], + [ + 102.539965, + 0.16667 + ], + [ + 103.081919, + 0.445555 + ], + [ + 102.932459, + 0.695002 + ], + [ + 102.421915, + 0.800554 + ], + [ + 101.055529, + 2.28639 + ], + [ + 100.797205, + 2.214445 + ], + [ + 100.942461, + 1.820555 + ], + [ + 100.209139, + 2.703333 + ], + [ + 100.00165, + 2.601946 + ], + [ + 99.977755, + 2.9475 + ], + [ + 98.270525, + 4.1425 + ], + [ + 97.518862, + 5.246668 + ], + [ + 96.34775, + 5.222776 + ], + [ + 95.738573, + 5.585279 + ] + ], + [ + [ + 104.213884, + -1.039444 + ], + [ + 104.200823, + -1.037222 + ], + [ + 104.243319, + -1.023611 + ], + [ + 104.213884, + -1.039444 + ] + ], + [ + [ + 102.859705, + 0.274446 + ], + [ + 102.833864, + 0.281111 + ], + [ + 102.926912, + 0.322222 + ], + [ + 102.859705, + 0.274446 + ] + ] + ], + [ + [ + [ + 95.158022, + 5.594725 + ], + [ + 95.142473, + 5.660833 + ], + [ + 95.108858, + 5.612501 + ], + [ + 95.158022, + 5.594725 + ] + ] + ], + [ + [ + [ + 95.119692, + 5.670279 + ], + [ + 95.063585, + 5.749445 + ], + [ + 95.008028, + 5.735277 + ], + [ + 95.119692, + 5.670279 + ] + ] + ], + [ + [ + [ + 95.34247, + 5.774168 + ], + [ + 95.381639, + 5.849722 + ], + [ + 95.217745, + 5.913054 + ], + [ + 95.34247, + 5.774168 + ] + ] + ] + ] + }, + "name" : "Indonesia", + "iso2" : "ID", + "iso3" : "IDN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "JL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -62.811394, + 17.888332 + ], + [ + -62.79084, + 17.912498 + ], + [ + -62.869171, + 17.929722 + ], + [ + -62.811394, + 17.888332 + ] + ] + ] + }, + "name" : "Saint Barthelemy", + "iso2" : "BL", + "iso3" : "BLM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Jb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -68.195282, + 12.221109 + ], + [ + -68.416122, + 12.256945 + ], + [ + -68.251114, + 12.020555 + ], + [ + -68.195282, + 12.221109 + ] + ] + ] + }, + "name" : "Bonaire, Sint Eustatius and Saba", + "iso2" : "BQ", + "iso3" : "BES" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Jr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 53.965271, + 24.176666 + ], + [ + 53.851105, + 24.269165 + ], + [ + 53.623886, + 24.162777 + ], + [ + 53.965271, + 24.176666 + ] + ] + ], + [ + [ + [ + 53.324165, + 24.267776 + ], + [ + 53.34111, + 24.328888 + ], + [ + 53.243607, + 24.276665 + ], + [ + 53.324165, + 24.267776 + ] + ] + ], + [ + [ + [ + 53.109718, + 24.311386 + ], + [ + 53.085831, + 24.352776 + ], + [ + 53.079437, + 24.325554 + ], + [ + 53.109718, + 24.311386 + ] + ] + ], + [ + [ + [ + 54.264717, + 24.288887 + ], + [ + 54.231384, + 24.35083 + ], + [ + 54.174438, + 24.324997 + ], + [ + 54.264717, + 24.288887 + ] + ] + ], + [ + [ + [ + 52.616104, + 24.268608 + ], + [ + 52.639717, + 24.372219 + ], + [ + 52.572777, + 24.339722 + ], + [ + 52.616104, + 24.268608 + ] + ] + ], + [ + [ + [ + 53.398048, + 24.324718 + ], + [ + 53.428329, + 24.366943 + ], + [ + 53.387497, + 24.368889 + ], + [ + 53.398048, + 24.324718 + ] + ] + ], + [ + [ + [ + 54.472496, + 24.418888 + ], + [ + 54.380272, + 24.502499 + ], + [ + 54.328331, + 24.459721 + ], + [ + 54.472496, + 24.418888 + ] + ] + ], + [ + [ + [ + 54.515549, + 24.504719 + ], + [ + 54.469719, + 24.536942 + ], + [ + 54.48555, + 24.509163 + ], + [ + 54.515549, + 24.504719 + ] + ] + ], + [ + [ + [ + 54.440826, + 24.50111 + ], + [ + 54.465553, + 24.589996 + ], + [ + 54.400833, + 24.514721 + ], + [ + 54.440826, + 24.50111 + ] + ] + ], + [ + [ + [ + 55.617493, + 25.57 + ], + [ + 55.620552, + 25.583611 + ], + [ + 55.609718, + 25.569443 + ], + [ + 55.617493, + 25.57 + ] + ] + ], + [ + [ + [ + 56.269722, + 25.636015 + ], + [ + 56.183331, + 25.654989 + ], + [ + 56.079941, + 26.065559 + ], + [ + 55.863609, + 25.723331 + ], + [ + 54.650276, + 24.746944 + ], + [ + 54.424164, + 24.281666 + ], + [ + 54.118607, + 24.139442 + ], + [ + 52.080551, + 23.955555 + ], + [ + 51.583611, + 24.25972 + ], + [ + 52.583328, + 22.93889 + ], + [ + 55.199165, + 22.699718 + ], + [ + 55.510277, + 23.972775 + ], + [ + 56.024719, + 24.076111 + ], + [ + 55.779442, + 24.563889 + ], + [ + 56.037498, + 24.938889 + ], + [ + 56.104164, + 24.734722 + ], + [ + 56.373528, + 24.979382 + ], + [ + 56.269722, + 25.636015 + ] + ] + ] + ] + }, + "name" : "United Arab Emirates", + "iso2" : "AE", + "iso3" : "ARE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "J71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 124.445727, + -9.184801 + ], + [ + 124.046161, + -9.339979 + ], + [ + 124.343093, + -9.46338 + ], + [ + 124.445727, + -9.184801 + ] + ] + ], + [ + [ + [ + 127.253052, + -8.477499 + ], + [ + 125.844147, + -8.481667 + ], + [ + 124.945449, + -8.954039 + ], + [ + 125.16405, + -9.066142 + ], + [ + 125.127989, + -9.435955 + ], + [ + 127.253052, + -8.477499 + ] + ] + ] + ] + }, + "name" : "Timor-Leste", + "iso2" : "TL", + "iso3" : "TLS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "KL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -130.076935, + -25.079723 + ], + [ + -130.065002, + -25.063335 + ], + [ + -130.107483, + -25.063335 + ], + [ + -130.076935, + -25.079723 + ] + ] + ], + [ + [ + [ + -124.780853, + -24.675835 + ], + [ + -124.772522, + -24.666946 + ], + [ + -124.795853, + -24.666115 + ], + [ + -124.780853, + -24.675835 + ] + ] + ], + [ + [ + [ + -128.289185, + -24.409721 + ], + [ + -128.303894, + -24.33028 + ], + [ + -128.336945, + -24.329166 + ], + [ + -128.289185, + -24.409721 + ] + ] + ] + ] + }, + "name" : "Pitcairn Islands", + "iso2" : "PN", + "iso3" : "PCN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Kb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 132.226624, + 5.292777 + ], + [ + 132.230255, + 5.307221 + ], + [ + 132.208313, + 5.31111 + ], + [ + 132.226624, + 5.292777 + ] + ] + ], + [ + [ + [ + 134.166077, + 6.885277 + ], + [ + 134.174988, + 6.923888 + ], + [ + 134.139435, + 6.934721 + ], + [ + 134.166077, + 6.885277 + ] + ] + ], + [ + [ + [ + 134.274994, + 7.010278 + ], + [ + 134.27832, + 7.070833 + ], + [ + 134.227753, + 6.987777 + ], + [ + 134.274994, + 7.010278 + ] + ] + ], + [ + [ + [ + 134.392761, + 7.140277 + ], + [ + 134.381897, + 7.192498 + ], + [ + 134.353851, + 7.168055 + ], + [ + 134.392761, + 7.140277 + ] + ] + ], + [ + [ + [ + 134.377747, + 7.215833 + ], + [ + 134.438873, + 7.278888 + ], + [ + 134.344116, + 7.269444 + ], + [ + 134.377747, + 7.215833 + ] + ] + ], + [ + [ + [ + 134.470795, + 7.36111 + ], + [ + 134.448303, + 7.331944 + ], + [ + 134.517487, + 7.308054 + ], + [ + 134.470795, + 7.36111 + ] + ] + ], + [ + [ + [ + 134.561371, + 7.371943 + ], + [ + 134.634155, + 7.729444 + ], + [ + 134.485229, + 7.438054 + ], + [ + 134.561371, + 7.371943 + ] + ] + ] + ] + }, + "name" : "Palau", + "iso2" : "PW", + "iso3" : "PLW" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Kr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 168.113586, + 5.600277 + ], + [ + 168.12439, + 5.641666 + ], + [ + 168.094971, + 5.613333 + ], + [ + 168.113586, + 5.600277 + ] + ] + ], + [ + [ + [ + 168.09024, + 5.630554 + ], + [ + 168.077148, + 5.650265 + ], + [ + 168.074982, + 5.631943 + ], + [ + 168.09024, + 5.630554 + ] + ] + ], + [ + [ + [ + 171.751923, + 6.080555 + ], + [ + 171.733582, + 6.096388 + ], + [ + 171.727173, + 6.08611 + ], + [ + 171.751923, + 6.080555 + ] + ] + ], + [ + [ + [ + 172.090515, + 6.219721 + ], + [ + 172.080261, + 6.229721 + ], + [ + 172.074127, + 6.222221 + ], + [ + 172.090515, + 6.219721 + ] + ] + ], + [ + [ + [ + 171.914154, + 7.092499 + ], + [ + 171.929962, + 7.133888 + ], + [ + 171.894135, + 7.101665 + ], + [ + 171.914154, + 7.092499 + ] + ] + ], + [ + [ + [ + 168.768036, + 7.298332 + ], + [ + 168.670258, + 7.328888 + ], + [ + 168.786377, + 7.288888 + ], + [ + 168.768036, + 7.298332 + ] + ] + ], + [ + [ + [ + 168.574677, + 7.398055 + ], + [ + 168.558594, + 7.471388 + ], + [ + 168.554962, + 7.423055 + ], + [ + 168.574677, + 7.398055 + ] + ] + ], + [ + [ + [ + 168.967194, + 7.574166 + ], + [ + 168.974976, + 7.60111 + ], + [ + 168.944427, + 7.615276 + ], + [ + 168.967194, + 7.574166 + ] + ] + ], + [ + [ + [ + 168.251373, + 7.749443 + ], + [ + 168.220245, + 7.766944 + ], + [ + 168.233582, + 7.74861 + ], + [ + 168.251373, + 7.749443 + ] + ] + ], + [ + [ + [ + 167.738861, + 8.725275 + ], + [ + 167.740784, + 8.747776 + ], + [ + 167.724396, + 8.729719 + ], + [ + 167.738861, + 8.725275 + ] + ] + ], + [ + [ + [ + 170.844971, + 8.886944 + ], + [ + 170.846924, + 8.916109 + ], + [ + 170.834961, + 8.893332 + ], + [ + 170.844971, + 8.886944 + ] + ] + ], + [ + [ + [ + 165.536926, + 9.19722 + ], + [ + 165.526917, + 9.218609 + ], + [ + 165.522491, + 9.207775 + ], + [ + 165.536926, + 9.19722 + ] + ] + ], + [ + [ + [ + 166.829956, + 9.32222 + ], + [ + 166.830261, + 9.335831 + ], + [ + 166.811646, + 9.336943 + ], + [ + 166.829956, + 9.32222 + ] + ] + ], + [ + [ + [ + 170.248016, + 9.544722 + ], + [ + 170.233307, + 9.558887 + ], + [ + 170.244965, + 9.533609 + ], + [ + 170.248016, + 9.544722 + ] + ] + ], + [ + [ + [ + 170.15387, + 9.639442 + ], + [ + 170.161652, + 9.645277 + ], + [ + 170.135529, + 9.633333 + ], + [ + 170.15387, + 9.639442 + ] + ] + ], + [ + [ + [ + 169.971619, + 10.436386 + ], + [ + 169.944122, + 10.451109 + ], + [ + 169.963867, + 10.433332 + ], + [ + 169.971619, + 10.436386 + ] + ] + ], + [ + [ + [ + 166.885254, + 11.144722 + ], + [ + 166.900543, + 11.16861 + ], + [ + 166.841339, + 11.153332 + ], + [ + 166.885254, + 11.144722 + ] + ] + ], + [ + [ + [ + 169.866913, + 11.232775 + ], + [ + 169.858856, + 11.241386 + ], + [ + 169.85553, + 11.231941 + ], + [ + 169.866913, + 11.232775 + ] + ] + ], + [ + [ + [ + 162.338287, + 11.351942 + ], + [ + 162.341644, + 11.362219 + ], + [ + 162.323578, + 11.354164 + ], + [ + 162.338287, + 11.351942 + ] + ] + ], + [ + [ + [ + 167.520813, + 11.377775 + ], + [ + 167.526093, + 11.386665 + ], + [ + 167.512207, + 11.393888 + ], + [ + 167.520813, + 11.377775 + ] + ] + ], + [ + [ + [ + 165.556091, + 11.615831 + ], + [ + 165.547211, + 11.634443 + ], + [ + 165.513031, + 11.638611 + ], + [ + 165.556091, + 11.615831 + ] + ] + ], + [ + [ + [ + 165.291656, + 11.700554 + ], + [ + 165.284698, + 11.714165 + ], + [ + 165.271912, + 11.706387 + ], + [ + 165.291656, + 11.700554 + ] + ] + ], + [ + [ + [ + 168.987732, + 14.580832 + ], + [ + 169.003876, + 14.598053 + ], + [ + 168.974976, + 14.58111 + ], + [ + 168.987732, + 14.580832 + ] + ] + ] + ] + }, + "name" : "Marshall Islands", + "iso2" : "MH", + "iso3" : "MHL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "K71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -56.150833, + 46.758049 + ], + [ + -56.173889, + 46.80999 + ], + [ + -56.237221, + 46.763885 + ], + [ + -56.150833, + 46.758049 + ] + ] + ], + [ + [ + [ + -56.271111, + 46.994156 + ], + [ + -56.390282, + 47.118881 + ], + [ + -56.368332, + 46.784721 + ], + [ + -56.271111, + 46.994156 + ] + ] + ] + ] + }, + "name" : "Saint Pierre and Miquelon", + "iso2" : "PM", + "iso3" : "SPM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "LL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -9.892223, + -40.390839 + ], + [ + -9.952223, + -40.306671 + ], + [ + -10.028612, + -40.309448 + ], + [ + -9.892223, + -40.390839 + ] + ] + ], + [ + [ + [ + -12.20639, + -37.112503 + ], + [ + -12.259445, + -37.05278 + ], + [ + -12.331667, + -37.107506 + ], + [ + -12.20639, + -37.112503 + ] + ] + ], + [ + [ + [ + -5.662223, + -15.987501 + ], + [ + -5.704167, + -15.903057 + ], + [ + -5.793056, + -15.994167 + ], + [ + -5.662223, + -15.987501 + ] + ] + ], + [ + [ + [ + -14.36389, + -7.979723 + ], + [ + -14.293056, + -7.945278 + ], + [ + -14.381945, + -7.883612 + ], + [ + -14.36389, + -7.979723 + ] + ] + ] + ] + }, + "name" : "Saint Helena", + "iso2" : "SH", + "iso3" : "SHN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Lb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 12.459166, + 43.896111 + ], + [ + 12.509998, + 43.986938 + ], + [ + 12.415798, + 43.957954 + ], + [ + 12.459166, + 43.896111 + ] + ] + ] + }, + "name" : "San Marino", + "iso2" : "SM", + "iso3" : "SMR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Lr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -71.140289, + 21.431942 + ], + [ + -71.135559, + 21.511108 + ], + [ + -71.150558, + 21.470833 + ], + [ + -71.140289, + 21.431942 + ] + ] + ], + [ + [ + [ + -72.460556, + 21.629719 + ], + [ + -72.433624, + 21.713333 + ], + [ + -72.45668, + 21.699718 + ], + [ + -72.460556, + 21.629719 + ] + ] + ], + [ + [ + [ + -71.468903, + 21.654999 + ], + [ + -71.462784, + 21.720833 + ], + [ + -71.53334, + 21.734444 + ], + [ + -71.468903, + 21.654999 + ] + ] + ], + [ + [ + [ + -71.657791, + 21.82333 + ], + [ + -71.850571, + 21.845833 + ], + [ + -71.65889, + 21.739719 + ], + [ + -71.657791, + 21.82333 + ] + ] + ], + [ + [ + [ + -72.262222, + 21.75111 + ], + [ + -72.247787, + 21.795555 + ], + [ + -72.327225, + 21.855831 + ], + [ + -72.262222, + 21.75111 + ] + ] + ], + [ + [ + [ + -71.884171, + 21.847221 + ], + [ + -71.912231, + 21.943333 + ], + [ + -72.03334, + 21.942776 + ], + [ + -71.884171, + 21.847221 + ] + ] + ] + ] + }, + "name" : "Turks and Caicos Islands", + "iso2" : "TC", + "iso3" : "TCA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "L71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -17.05233, + 20.764095 + ], + [ + -16.953056, + 21.338333 + ], + [ + -15.741997, + 21.338284 + ], + [ + -12.999723, + 21.338055 + ], + [ + -13.105278, + 22.893055 + ], + [ + -12.000278, + 23.454441 + ], + [ + -12.000557, + 26 + ], + [ + -8.666945, + 26.000275 + ], + [ + -8.66679, + 27.290459 + ], + [ + -8.666668, + 27.666664 + ], + [ + -13.174961, + 27.666958 + ], + [ + -13.574167, + 26.731667 + ], + [ + -14.480278, + 26.171108 + ], + [ + -14.901112, + 24.688053 + ], + [ + -15.838058, + 23.896938 + ], + [ + -16.00639, + 23.6675 + ], + [ + -15.777225, + 23.908882 + ], + [ + -15.766668, + 23.781666 + ], + [ + -16.075558, + 23.324444 + ], + [ + -16.491112, + 22.334164 + ], + [ + -16.719448, + 22.26083 + ], + [ + -16.917225, + 21.943054 + ], + [ + -17.05233, + 20.764095 + ] + ] + ] + }, + "name" : "Western Sahara", + "iso2" : "EH", + "iso3" : "ESH" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ML1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 20.295954, + 42.824291 + ], + [ + 20.071423, + 42.560913 + ], + [ + 20.589642, + 41.882187 + ], + [ + 21.630444, + 42.141091 + ], + [ + 21.576636, + 42.245224 + ], + [ + 21.54332, + 42.32025 + ], + [ + 21.66292, + 42.43922 + ], + [ + 21.77505, + 42.6827 + ], + [ + 21.63302, + 42.67717 + ], + [ + 21.43866, + 42.86255 + ], + [ + 21.27421, + 42.90959 + ], + [ + 21.143395, + 43.068685 + ], + [ + 20.95651, + 43.13094 + ], + [ + 20.81448, + 43.27205 + ], + [ + 20.63508, + 43.21671 + ], + [ + 20.49679, + 42.88469 + ], + [ + 20.295954, + 42.824291 + ] + ] + ] + }, + "name" : "Kosovo", + "iso2" : "XK", + "iso3" : "XKX" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Mb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 12.44509, + 41.903118 + ], + [ + 12.45666, + 41.901426 + ], + [ + 12.451653, + 41.907989 + ], + [ + 12.44509, + 41.903118 + ] + ] + ] + }, + "name" : "Holy See (Vatican City)", + "iso2" : "VA", + "iso3" : "VAT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Mr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -8.290895, + 70.974154 + ], + [ + -7.927002, + 71.15082 + ], + [ + -9.120058, + 70.857759 + ], + [ + -8.290895, + 70.974154 + ] + ] + ], + [ + [ + [ + 19.18194, + 74.359713 + ], + [ + 19.299723, + 74.474993 + ], + [ + 18.791945, + 74.481661 + ], + [ + 19.18194, + 74.359713 + ] + ] + ], + [ + [ + [ + 25.016111, + 76.466387 + ], + [ + 25.58222, + 76.706652 + ], + [ + 24.936384, + 76.44887 + ], + [ + 25.016111, + 76.466387 + ] + ] + ], + [ + [ + [ + 23.285555, + 77.264711 + ], + [ + 23.036386, + 77.259996 + ], + [ + 23.135275, + 77.235262 + ], + [ + 23.285555, + 77.264711 + ] + ] + ], + [ + [ + [ + 23.336111, + 78.197481 + ], + [ + 20.903051, + 78.114992 + ], + [ + 21.644999, + 77.912493 + ], + [ + 20.858889, + 77.462496 + ], + [ + 22.778334, + 77.547762 + ], + [ + 22.407499, + 77.420824 + ], + [ + 22.641108, + 77.253054 + ], + [ + 24.910276, + 77.749712 + ], + [ + 23.059721, + 78.0161 + ], + [ + 23.336111, + 78.197481 + ] + ] + ], + [ + [ + [ + 21.501665, + 78.565538 + ], + [ + 20.12472, + 78.472216 + ], + [ + 20.67111, + 78.187487 + ], + [ + 22.271944, + 78.263613 + ], + [ + 22.028887, + 78.580828 + ], + [ + 21.501665, + 78.565538 + ] + ] + ], + [ + [ + [ + 26.847498, + 78.707491 + ], + [ + 27.0175, + 78.693041 + ], + [ + 26.396387, + 78.77083 + ], + [ + 26.847498, + 78.707491 + ] + ] + ], + [ + [ + [ + 11.271944, + 78.606936 + ], + [ + 10.488611, + 78.896379 + ], + [ + 12.16361, + 78.199709 + ], + [ + 11.271944, + 78.606936 + ] + ] + ], + [ + [ + [ + 29.030554, + 78.916094 + ], + [ + 28.01972, + 78.867479 + ], + [ + 29.708052, + 78.896379 + ], + [ + 29.030554, + 78.916094 + ] + ] + ], + [ + [ + [ + 30.20944, + 78.976381 + ], + [ + 30.336111, + 78.988878 + ], + [ + 30.066942, + 79.001101 + ], + [ + 30.20944, + 78.976381 + ] + ] + ], + [ + [ + [ + 21.226107, + 79.037493 + ], + [ + 20.923609, + 79.029985 + ], + [ + 20.982496, + 79.014162 + ], + [ + 21.226107, + 79.037493 + ] + ] + ], + [ + [ + [ + 20.833055, + 79.054155 + ], + [ + 20.19972, + 79.124697 + ], + [ + 20.04611, + 79.037493 + ], + [ + 20.833055, + 79.054155 + ] + ] + ], + [ + [ + [ + 20.007502, + 79.242205 + ], + [ + 20.168886, + 79.319155 + ], + [ + 19.954718, + 79.226656 + ], + [ + 20.007502, + 79.242205 + ] + ] + ], + [ + [ + [ + 20.109442, + 79.365816 + ], + [ + 19.628332, + 79.388323 + ], + [ + 20.180277, + 79.338884 + ], + [ + 20.109442, + 79.365816 + ] + ] + ], + [ + [ + [ + 10.922777, + 79.651094 + ], + [ + 11.076109, + 79.662767 + ], + [ + 10.712221, + 79.71361 + ], + [ + 10.922777, + 79.651094 + ] + ] + ], + [ + [ + [ + 11.000555, + 79.740267 + ], + [ + 10.756109, + 79.783327 + ], + [ + 10.639166, + 79.750002 + ], + [ + 11.000555, + 79.740267 + ] + ] + ], + [ + [ + [ + 16.819166, + 79.87221 + ], + [ + 16.307775, + 80.062761 + ], + [ + 15.638056, + 79.827211 + ], + [ + 16.449999, + 78.903872 + ], + [ + 14.584997, + 79.804155 + ], + [ + 13.886946, + 79.541368 + ], + [ + 14.058889, + 79.260271 + ], + [ + 13.257223, + 79.471376 + ], + [ + 13.484442, + 79.580828 + ], + [ + 12.447779, + 79.566378 + ], + [ + 13.82472, + 79.875261 + ], + [ + 10.676943, + 79.544985 + ], + [ + 11.236387, + 79.09305 + ], + [ + 12.113054, + 79.295824 + ], + [ + 11.755278, + 79.075823 + ], + [ + 12.505556, + 78.908037 + ], + [ + 11.333334, + 78.960543 + ], + [ + 13.19861, + 78.540819 + ], + [ + 12.360556, + 78.480272 + ], + [ + 13.006666, + 78.197481 + ], + [ + 14.726389, + 78.383883 + ], + [ + 14.385557, + 78.497759 + ], + [ + 15.379999, + 78.844713 + ], + [ + 15.193331, + 78.588045 + ], + [ + 15.464167, + 78.451662 + ], + [ + 16.83111, + 78.671923 + ], + [ + 16.328886, + 78.452211 + ], + [ + 17.301664, + 78.420259 + ], + [ + 13.588888, + 78.049425 + ], + [ + 13.941942, + 77.716661 + ], + [ + 17.006109, + 77.931368 + ], + [ + 14.739164, + 77.658602 + ], + [ + 16.223051, + 77.434984 + ], + [ + 13.914167, + 77.527773 + ], + [ + 14.467222, + 77.171648 + ], + [ + 16.51972, + 76.998598 + ], + [ + 15.498053, + 76.879976 + ], + [ + 16.612776, + 76.570543 + ], + [ + 17.198332, + 76.694704 + ], + [ + 16.919165, + 76.799715 + ], + [ + 17.738329, + 77.471102 + ], + [ + 18.292776, + 77.50638 + ], + [ + 18.41083, + 78.021654 + ], + [ + 19.092222, + 78.095537 + ], + [ + 18.965551, + 78.456102 + ], + [ + 21.549166, + 78.767763 + ], + [ + 18.920553, + 79.164156 + ], + [ + 18.356943, + 79.628313 + ], + [ + 17.635553, + 79.372484 + ], + [ + 18.098333, + 79.720263 + ], + [ + 16.819166, + 79.87221 + ] + ] + ], + [ + [ + [ + 27.837778, + 80.110262 + ], + [ + 28.074442, + 80.144152 + ], + [ + 27.674166, + 80.122759 + ], + [ + 27.837778, + 80.110262 + ] + ] + ], + [ + [ + [ + 36.849161, + 80.139986 + ], + [ + 36.760279, + 80.160814 + ], + [ + 36.590548, + 80.154985 + ], + [ + 36.849161, + 80.139986 + ] + ] + ], + [ + [ + [ + 32.366388, + 80.094439 + ], + [ + 33.637499, + 80.21332 + ], + [ + 31.449442, + 80.085817 + ], + [ + 32.366388, + 80.094439 + ] + ] + ], + [ + [ + [ + 18.553331, + 80.245531 + ], + [ + 18.758612, + 80.301928 + ], + [ + 18.119444, + 80.284716 + ], + [ + 18.553331, + 80.245531 + ] + ] + ], + [ + [ + [ + 24.335833, + 80.384157 + ], + [ + 24.196943, + 80.454165 + ], + [ + 24.128611, + 80.393053 + ], + [ + 24.335833, + 80.384157 + ] + ] + ], + [ + [ + [ + 19.933332, + 80.47748 + ], + [ + 19.463331, + 80.454714 + ], + [ + 19.837778, + 80.213884 + ], + [ + 18.979998, + 80.336657 + ], + [ + 19.584166, + 80.151384 + ], + [ + 19.340555, + 80.086382 + ], + [ + 17.783056, + 80.127764 + ], + [ + 18.809443, + 79.994707 + ], + [ + 18.154165, + 79.90999 + ], + [ + 18.771387, + 79.717485 + ], + [ + 22.312498, + 79.796938 + ], + [ + 19.635553, + 79.603868 + ], + [ + 23.511667, + 79.178865 + ], + [ + 27.244997, + 79.904985 + ], + [ + 24.836386, + 80.350817 + ], + [ + 23.101389, + 80.120821 + ], + [ + 23.36083, + 80.42943 + ], + [ + 22.886942, + 80.490267 + ], + [ + 22.361109, + 80.410265 + ], + [ + 22.578611, + 80.298601 + ], + [ + 22.226385, + 79.979158 + ], + [ + 21.598608, + 80.118319 + ], + [ + 21.860556, + 80.267763 + ], + [ + 19.933332, + 80.47748 + ] + ] + ], + [ + [ + [ + 24.265001, + 80.471102 + ], + [ + 24.174997, + 80.509157 + ], + [ + 23.97444, + 80.490541 + ], + [ + 24.265001, + 80.471102 + ] + ] + ], + [ + [ + [ + 19.933332, + 80.47748 + ], + [ + 20.130278, + 80.512774 + ], + [ + 19.844721, + 80.503054 + ], + [ + 19.933332, + 80.47748 + ] + ] + ], + [ + [ + [ + 20.753611, + 80.62137 + ], + [ + 20.793333, + 80.647493 + ], + [ + 20.499163, + 80.657763 + ], + [ + 20.753611, + 80.62137 + ] + ] + ], + [ + [ + [ + 21.330278, + 80.700274 + ], + [ + 21.026388, + 80.681658 + ], + [ + 21.365, + 80.678865 + ], + [ + 21.330278, + 80.700274 + ] + ] + ], + [ + [ + [ + 20.819166, + 80.719149 + ], + [ + 21.006666, + 80.701387 + ], + [ + 20.518332, + 80.759996 + ], + [ + 20.819166, + 80.719149 + ] + ] + ] + ] + }, + "name" : "Svalbard", + "iso2" : "SJ", + "iso3" : "SJM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "M71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -63.011459, + 18.067276 + ], + [ + -63.006668, + 18.080555 + ], + [ + -63.139839, + 18.058601 + ], + [ + -63.011459, + 18.067276 + ] + ] + ] + }, + "name" : "Saint Martin", + "iso2" : "MF", + "iso3" : "MAF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "NL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -63.139839, + 18.058601 + ], + [ + -63.028336, + 18.015553 + ], + [ + -63.011459, + 18.067276 + ], + [ + -63.139839, + 18.058601 + ] + ] + ] + }, + "name" : "Sint Maarten", + "iso2" : "SX", + "iso3" : "SXM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Nb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -2.590834, + 49.422493 + ], + [ + -2.501667, + 49.507774 + ], + [ + -2.670278, + 49.434166 + ], + [ + -2.590834, + 49.422493 + ] + ] + ] + }, + "name" : "Guernsey", + "iso2" : "GG", + "iso3" : "GGY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Nr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -2.015, + 49.214165 + ], + [ + -2.247222, + 49.253052 + ], + [ + -2.205278, + 49.180832 + ], + [ + -2.015, + 49.214165 + ] + ] + ] + }, + "name" : "Jersey", + "iso2" : "JE", + "iso3" : "JEY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "N71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -27.325836, + -59.427223 + ], + [ + -27.412502, + -59.434448 + ], + [ + -27.298058, + -59.473061 + ], + [ + -27.325836, + -59.427223 + ] + ] + ], + [ + [ + [ + -26.582779, + -59.070007 + ], + [ + -26.501114, + -59.036949 + ], + [ + -26.665001, + -59.025841 + ], + [ + -26.582779, + -59.070007 + ] + ] + ], + [ + [ + [ + -26.246391, + -58.407501 + ], + [ + -26.459167, + -58.427223 + ], + [ + -26.24889, + -58.498611 + ], + [ + -26.246391, + -58.407501 + ] + ] + ], + [ + [ + [ + -26.412781, + -57.80806 + ], + [ + -26.443336, + -57.743896 + ], + [ + -26.512222, + -57.771118 + ], + [ + -26.412781, + -57.80806 + ] + ] + ], + [ + [ + [ + -26.660835, + -57.086395 + ], + [ + -26.675835, + -57.056396 + ], + [ + -26.728889, + -57.062782 + ], + [ + -26.660835, + -57.086395 + ] + ] + ], + [ + [ + [ + -27.108612, + -56.717506 + ], + [ + -27.129448, + -56.682228 + ], + [ + -27.209724, + -56.693611 + ], + [ + -27.108612, + -56.717506 + ] + ] + ], + [ + [ + [ + -27.563892, + -56.320557 + ], + [ + -27.549446, + -56.27417 + ], + [ + -27.600002, + -56.281113 + ], + [ + -27.563892, + -56.320557 + ] + ] + ], + [ + [ + [ + -37.038612, + -54.511673 + ], + [ + -37.105835, + -54.471115 + ], + [ + -37.083618, + -54.512779 + ], + [ + -37.038612, + -54.511673 + ] + ] + ], + [ + [ + [ + -37.495003, + -54.010559 + ], + [ + -38.033058, + -54.048889 + ], + [ + -37.239449, + -54.147781 + ], + [ + -37.411392, + -54.268333 + ], + [ + -36.115837, + -54.887222 + ], + [ + -35.782501, + -54.765556 + ], + [ + -36.288063, + -54.266396 + ], + [ + -37.495003, + -54.010559 + ] + ] + ] + ] + }, + "name" : "South Georgia South Sandwich Islands", + "iso2" : "GS", + "iso3" : "SGS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "OL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 121.576393, + 22.001389 + ], + [ + 121.546944, + 22.078053 + ], + [ + 121.490257, + 22.078609 + ], + [ + 121.576393, + 22.001389 + ] + ] + ], + [ + [ + [ + 119.669434, + 23.549999 + ], + [ + 119.598328, + 23.606941 + ], + [ + 119.526703, + 23.535461 + ], + [ + 119.669434, + 23.549999 + ] + ] + ], + [ + [ + [ + 118.223602, + 24.404163 + ], + [ + 118.241364, + 24.445827 + ], + [ + 118.207489, + 24.412495 + ], + [ + 118.223602, + 24.404163 + ] + ] + ], + [ + [ + [ + 118.419144, + 24.395828 + ], + [ + 118.401657, + 24.521664 + ], + [ + 118.275543, + 24.399162 + ], + [ + 118.419144, + 24.395828 + ] + ] + ], + [ + [ + [ + 121.734711, + 25.138885 + ], + [ + 121.009163, + 25.008888 + ], + [ + 120.111366, + 23.620274 + ], + [ + 120.052757, + 23.044998 + ], + [ + 120.716377, + 21.928051 + ], + [ + 121.839706, + 24.476383 + ], + [ + 122.002213, + 25.006943 + ], + [ + 121.734711, + 25.138885 + ] + ] + ], + [ + [ + [ + 119.929428, + 26.134995 + ], + [ + 119.952477, + 26.159996 + ], + [ + 119.909416, + 26.159439 + ], + [ + 119.929428, + 26.134995 + ] + ] + ], + [ + [ + [ + 119.967209, + 26.187496 + ], + [ + 120.006104, + 26.219162 + ], + [ + 119.956383, + 26.215549 + ], + [ + 119.967209, + 26.187496 + ] + ] + ] + ] + }, + "name" : "Taiwan", + "iso2" : "TW", + "iso3" : "TWN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ob1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -68.965561, + 12.198889 + ], + [ + -68.746948, + 12.040277 + ], + [ + -69.16362, + 12.366388 + ], + [ + -68.965561, + 12.198889 + ] + ] + ] + }, + "name" : "Curaçao", + "iso2" : "CW", + "iso3" : "CUW" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Or1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 34.195517, + 9.47239 + ], + [ + 34.28611, + 10.554165 + ], + [ + 34.594444, + 10.887777 + ], + [ + 34.864441, + 10.734999 + ], + [ + 35.096939, + 11.826944 + ], + [ + 35.70108, + 12.666115 + ], + [ + 36.142693, + 12.706923 + ], + [ + 36.542816, + 14.262053 + ], + [ + 36.443283, + 15.149952 + ], + [ + 36.973053, + 16.269444 + ], + [ + 36.995827, + 17.073887 + ], + [ + 37.423286, + 17.034214 + ], + [ + 38.600693, + 17.994881 + ], + [ + 37.433327, + 18.858055 + ], + [ + 37.10527, + 21.212219 + ], + [ + 37.309441, + 21.060276 + ], + [ + 36.888466, + 22.000111 + ], + [ + 31.453888, + 21.998333 + ], + [ + 31.455555, + 22.23222 + ], + [ + 31.271111, + 21.998333 + ], + [ + 25.001423, + 21.999695 + ], + [ + 25.000832, + 19.999119 + ], + [ + 24.000832, + 20.001942 + ], + [ + 24.002747, + 19.499065 + ], + [ + 23.999603, + 15.698709 + ], + [ + 22.937222, + 15.561943 + ], + [ + 22.935833, + 15.11611 + ], + [ + 22.384163, + 14.554165 + ], + [ + 22.554996, + 14.125555 + ], + [ + 22.084442, + 13.779165 + ], + [ + 22.294167, + 13.35861 + ], + [ + 21.827774, + 12.797499 + ], + [ + 22.466942, + 12.621666 + ], + [ + 22.866505, + 10.922447 + ], + [ + 23.669167, + 9.866943 + ], + [ + 23.517776, + 8.714167 + ], + [ + 24.047173, + 8.693076 + ], + [ + 24.537415, + 8.917538 + ], + [ + 24.794926, + 9.810241 + ], + [ + 25.069604, + 10.27376 + ], + [ + 25.790633, + 10.411099 + ], + [ + 25.962307, + 10.136421 + ], + [ + 26.1522, + 9.826436 + ], + [ + 26.477328, + 9.55273 + ], + [ + 26.752006, + 9.466893 + ], + [ + 27.112521, + 9.638567 + ], + [ + 27.833551, + 9.604232 + ], + [ + 27.97089, + 9.398224 + ], + [ + 28.966597, + 9.398224 + ], + [ + 29.000932, + 9.604232 + ], + [ + 29.515953, + 9.793074 + ], + [ + 29.618957, + 10.084919 + ], + [ + 29.996639, + 10.290927 + ], + [ + 30.837841, + 9.707237 + ], + [ + 31.352862, + 9.810241 + ], + [ + 31.850716, + 10.531271 + ], + [ + 32.400072, + 11.080626 + ], + [ + 32.314235, + 11.681484 + ], + [ + 32.073892, + 11.97333 + ], + [ + 32.67475, + 12.024832 + ], + [ + 32.743419, + 12.248008 + ], + [ + 33.206938, + 12.179338 + ], + [ + 33.086766, + 11.441141 + ], + [ + 33.206938, + 10.720112 + ], + [ + 33.721959, + 10.325262 + ], + [ + 33.842131, + 9.981915 + ], + [ + 33.824963, + 9.484061 + ], + [ + 33.963393, + 9.464285 + ], + [ + 34.195517, + 9.47239 + ] + ] + ], + [ + [ + [ + 37.268608, + 20.75111 + ], + [ + 37.263855, + 20.849724 + ], + [ + 37.242218, + 20.785831 + ], + [ + 37.268608, + 20.75111 + ] + ] + ] + ] + }, + "name" : "Sudan", + "iso2" : "SD", + "iso3" : "SDN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "O71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 21.630444, + 42.141091 + ], + [ + 22.365276, + 42.323883 + ], + [ + 22.442219, + 42.821663 + ], + [ + 23.004997, + 43.192772 + ], + [ + 22.367222, + 43.826942 + ], + [ + 22.681435, + 44.224701 + ], + [ + 22.457333, + 44.474358 + ], + [ + 22.764893, + 44.559006 + ], + [ + 22.479164, + 44.710274 + ], + [ + 22.146385, + 44.479164 + ], + [ + 21.400398, + 44.780823 + ], + [ + 21.513611, + 45.151108 + ], + [ + 20.261024, + 46.114853 + ], + [ + 18.81702, + 45.912964 + ], + [ + 18.980324, + 45.378624 + ], + [ + 19.423885, + 45.22583 + ], + [ + 19.039719, + 44.861382 + ], + [ + 19.371387, + 44.88916 + ], + [ + 19.104443, + 44.355827 + ], + [ + 19.620476, + 44.048454 + ], + [ + 19.237019, + 44.011009 + ], + [ + 19.51083, + 43.679718 + ], + [ + 19.228809, + 43.513214 + ], + [ + 20.348888, + 42.886383 + ], + [ + 20.295954, + 42.824291 + ], + [ + 20.49679, + 42.88469 + ], + [ + 20.63508, + 43.21671 + ], + [ + 20.81448, + 43.27205 + ], + [ + 20.95651, + 43.13094 + ], + [ + 21.143395, + 43.068685 + ], + [ + 21.27421, + 42.90959 + ], + [ + 21.43866, + 42.86255 + ], + [ + 21.63302, + 42.67717 + ], + [ + 21.77505, + 42.6827 + ], + [ + 21.66292, + 42.43922 + ], + [ + 21.54332, + 42.32025 + ], + [ + 21.576636, + 42.245224 + ], + [ + 21.630444, + 42.141091 + ] + ] + ] + }, + "name" : "Serbia", + "iso2" : "RS", + "iso3" : "SRB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "PL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -61.037224, + 16.311108 + ], + [ + -60.988617, + 16.346107 + ], + [ + -61.08667, + 16.29583 + ], + [ + -61.037224, + 16.311108 + ] + ] + ], + [ + [ + [ + -61.346115, + 16.334164 + ], + [ + -61.783615, + 16.333054 + ], + [ + -61.695007, + 15.949165 + ], + [ + -61.346115, + 16.334164 + ] + ] + ], + [ + [ + [ + -61.24556, + 15.871666 + ], + [ + -61.266945, + 16.014999 + ], + [ + -61.329445, + 15.92861 + ], + [ + -61.24556, + 15.871666 + ] + ] + ] + ] + }, + "name" : "Guadeloupe", + "iso2" : "GP", + "iso3" : "GLP" + } + } + ] + } + } + , + }, + '1.1.0': {}, +}; diff --git a/x-pack/plugins/maps/server/mvt/get_tile.test.ts b/x-pack/plugins/maps/server/mvt/get_tile.test.ts new file mode 100644 index 0000000000000..70c32f57e9bc4 --- /dev/null +++ b/x-pack/plugins/maps/server/mvt/get_tile.test.ts @@ -0,0 +1,62 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { getTile } from './get_tile'; +import { TILE_SEARCHES } from './__tests__/tile_searches'; +import { Logger } from 'src/core/server'; +import * as path from 'path'; +import * as fs from 'fs'; + +describe('getTile', () => { + const mockCallElasticsearch = jest.fn(); + + const requestBody = { + _source: { excludes: [] }, + docvalue_fields: [], + query: { bool: { filter: [{ match_all: {} }], must: [], must_not: [], should: [] } }, + script_fields: {}, + size: 10000, + stored_fields: ['*'], + }; + const geometryFieldName = 'coordinates'; + + beforeEach(() => { + mockCallElasticsearch.mockReset(); + }); + + test('0.0.0 - under limit', async () => { + mockCallElasticsearch.mockImplementation((type) => { + if (type === 'count') { + return TILE_SEARCHES['0.0.0'].countResponse; + } else if (type === 'search') { + return TILE_SEARCHES['0.0.0'].searchResponse; + } else { + throw new Error(`${type} not recognized`); + } + }); + + const tile = await getTile({ + x: 0, + y: 0, + z: 0, + index: 'world_countries', + requestBody, + geometryFieldName, + logger: ({ + info: () => {}, + } as unknown) as Logger, + callElasticsearch: mockCallElasticsearch, + }); + + if (tile === null) { + throw new Error('Tile should be created'); + } + + const expectedPath = path.resolve(__dirname, './__tests__/pbf/0_0_0.pbf'); + const expectedTile = new Buffer(fs.readFileSync(expectedPath, 'binary'), 'binary'); + expect(expectedTile.equals(tile)).toBe(true); + }); +}); diff --git a/x-pack/plugins/maps/server/mvt/get_tile.ts b/x-pack/plugins/maps/server/mvt/get_tile.ts index f65cce9c83458..e5b242d46e7b2 100644 --- a/x-pack/plugins/maps/server/mvt/get_tile.ts +++ b/x-pack/plugins/maps/server/mvt/get_tile.ts @@ -46,6 +46,8 @@ export async function getTile({ logger: Logger; requestBody: any; }): Promise { + logger.info(JSON.stringify({ x, y, z, requestBody, geometryFieldName })); + const geojsonBbox = tileToGeoJsonPolygon(x, y, z); let resultFeatures: Feature[]; @@ -61,6 +63,8 @@ export async function getTile({ }, }; + // http://localhost:5601/veq/api/maps/mvt/getTile?x=0&y=0&z=0&geometryFieldName=coordinates&index=world_countries_v1&fields=_id&requestBody=(_source:(excludes:!()),docvalue_fields:!(),query:(bool:(filter:!((match_all:())),must:!(),must_not:!(),should:!())),script_fields:(),size:10000,stored_fields:!(%27*%27)) + requestBody.query.bool.filter.push(geoShapeFilter); const esSearchQuery = { diff --git a/x-pack/plugins/maps/server/mvt/mvt_routes.ts b/x-pack/plugins/maps/server/mvt/mvt_routes.ts index bc901ccf63051..72c499ca63606 100644 --- a/x-pack/plugins/maps/server/mvt/mvt_routes.ts +++ b/x-pack/plugins/maps/server/mvt/mvt_routes.ts @@ -33,7 +33,18 @@ export function initMVTRoutes({ router, logger }: { logger: Logger; router: IRou const { query } = request; const callElasticsearch = async (type: string, ...args: any[]): Promise => { - return await context.core.elasticsearch.legacy.client.callAsCurrentUser(type, ...args); + logger.info('calling es'); + logger.info(type); + logger.info(JSON.stringify([...args])); + + const result = await context.core.elasticsearch.legacy.client.callAsCurrentUser( + type, + ...args + ); + + // logger.info(JSON.stringify(result)); + + return result; }; const requestBodyDSL = rison.decode(query.requestBody); From abe31881c5744c9c2a4bf943f4b5d400ad5e41be Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Wed, 19 Aug 2020 10:09:56 -0400 Subject: [PATCH 18/51] fix import --- .../mvt/__tests__/json/0_0_0_search.json | 123957 ++++++++++++++ .../server/mvt/__tests__/tile_searches.ts | 123969 +-------------- x-pack/plugins/maps/server/mvt/get_tile.ts | 2 - x-pack/plugins/maps/server/mvt/mvt_routes.ts | 13 +- 4 files changed, 123969 insertions(+), 123972 deletions(-) create mode 100644 x-pack/plugins/maps/server/mvt/__tests__/json/0_0_0_search.json diff --git a/x-pack/plugins/maps/server/mvt/__tests__/json/0_0_0_search.json b/x-pack/plugins/maps/server/mvt/__tests__/json/0_0_0_search.json new file mode 100644 index 0000000000000..340fe3b86edcd --- /dev/null +++ b/x-pack/plugins/maps/server/mvt/__tests__/json/0_0_0_search.json @@ -0,0 +1,123957 @@ +{ + "took" : 13, + "timed_out" : false, + "_shards" : { + "total" : 1, + "successful" : 1, + "skipped" : 0, + "failed" : 0 + }, + "hits" : { + "total" : { + "value" : 250, + "relation" : "eq" + }, + "max_score" : 0.0, + "hits" : [ + { + "_index" : "world_countries_v1", + "_id" : "Q71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -61.686668, + 17.024441 + ], + [ + -61.794449, + 17.16333 + ], + [ + -61.887222, + 17.105274 + ], + [ + -61.686668, + 17.024441 + ] + ] + ], + [ + [ + [ + -61.729172, + 17.608608 + ], + [ + -61.873062, + 17.703888 + ], + [ + -61.853058, + 17.583054 + ], + [ + -61.729172, + 17.608608 + ] + ] + ] + ] + }, + "name" : "Antigua and Barbuda", + "iso2" : "AG", + "iso3" : "ATG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "RL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 8.62203, + 36.941368 + ], + [ + 6.398333, + 37.086388 + ], + [ + 5.328055, + 36.640274 + ], + [ + 4.785832, + 36.894722 + ], + [ + 2.96361, + 36.802216 + ], + [ + 0.95, + 36.450272 + ], + [ + -2.209445, + 35.085831 + ], + [ + -1.747222, + 34.747215 + ], + [ + -1.668056, + 33.261108 + ], + [ + -1.010278, + 32.508331 + ], + [ + -1.180556, + 32.11055 + ], + [ + -2.853889, + 32.088333 + ], + [ + -3.818334, + 31.695553 + ], + [ + -3.626667, + 30.970554 + ], + [ + -4.920556, + 30.508053 + ], + [ + -5.538334, + 29.902496 + ], + [ + -7.123889, + 29.636944 + ], + [ + -8.667223, + 28.709442 + ], + [ + -8.666668, + 27.666664 + ], + [ + -8.66679, + 27.290459 + ], + [ + -6.662778, + 26.129166 + ], + [ + -4.806111, + 25.000275 + ], + [ + 1.169662, + 21.102543 + ], + [ + 1.1675, + 20.741108 + ], + [ + 1.795833, + 20.308331 + ], + [ + 3.233055, + 19.820274 + ], + [ + 3.331944, + 18.976387 + ], + [ + 4.245277, + 19.146664 + ], + [ + 5.812499, + 19.44611 + ], + [ + 7.450807, + 20.852863 + ], + [ + 11.986475, + 23.522305 + ], + [ + 11.558887, + 24.302498 + ], + [ + 10.252222, + 24.605831 + ], + [ + 9.398333, + 26.153332 + ], + [ + 9.871666, + 26.514164 + ], + [ + 9.948332, + 27.824444 + ], + [ + 9.766388, + 29.427776 + ], + [ + 9.303888, + 30.122498 + ], + [ + 9.537113, + 30.23439 + ], + [ + 9.055277, + 32.099998 + ], + [ + 8.34861, + 32.533333 + ], + [ + 7.492499, + 33.887497 + ], + [ + 8.251665, + 34.64444 + ], + [ + 8.183611, + 36.524162 + ], + [ + 8.62203, + 36.941368 + ] + ] + ] + }, + "name" : "Algeria", + "iso2" : "DZ", + "iso3" : "DZA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Rb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 46.178247, + 38.84115 + ], + [ + 45.819986, + 39.549723 + ], + [ + 45.083323, + 39.768045 + ], + [ + 44.778864, + 39.706385 + ], + [ + 44.813044, + 39.630816 + ], + [ + 45.004435, + 39.416384 + ], + [ + 46.178247, + 38.84115 + ] + ] + ], + [ + [ + [ + 45.513052, + 40.607222 + ], + [ + 45.573053, + 40.63249 + ], + [ + 45.517492, + 40.665541 + ], + [ + 45.513052, + 40.607222 + ] + ] + ], + [ + [ + [ + 45.245272, + 40.976942 + ], + [ + 45.195822, + 40.99777 + ], + [ + 45.229162, + 40.969152 + ], + [ + 45.245272, + 40.976942 + ] + ] + ], + [ + [ + [ + 45.045271, + 41.035273 + ], + [ + 45.001112, + 41.088881 + ], + [ + 45.009993, + 41.033052 + ], + [ + 45.045271, + 41.035273 + ] + ] + ], + [ + [ + [ + 48.583956, + 41.835772 + ], + [ + 47.766932, + 41.196093 + ], + [ + 46.571383, + 41.871935 + ], + [ + 46.451754, + 41.897058 + ], + [ + 46.194429, + 41.685823 + ], + [ + 46.693872, + 41.312204 + ], + [ + 46.520823, + 41.04999 + ], + [ + 45.336657, + 41.462496 + ], + [ + 45.022943, + 41.297052 + ], + [ + 45.153872, + 41.198603 + ], + [ + 46.00194, + 40.22555 + ], + [ + 45.595819, + 39.978045 + ], + [ + 46.541384, + 39.56444 + ], + [ + 46.540377, + 38.875589 + ], + [ + 47.976664, + 39.719233 + ], + [ + 48.359789, + 39.385218 + ], + [ + 48.020823, + 38.835543 + ], + [ + 48.888285, + 38.442408 + ], + [ + 49.488047, + 40.150537 + ], + [ + 50.374994, + 40.262217 + ], + [ + 49.528048, + 40.662767 + ], + [ + 48.583956, + 41.835772 + ] + ] + ] + ] + }, + "name" : "Azerbaijan", + "iso2" : "AZ", + "iso3" : "AZE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Rr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 19.367771, + 41.848999 + ], + [ + 19.600555, + 41.796661 + ], + [ + 19.436214, + 41.021065 + ], + [ + 19.478611, + 40.350273 + ], + [ + 19.288609, + 40.417496 + ], + [ + 19.863052, + 40.039719 + ], + [ + 20.010029, + 39.6912 + ], + [ + 20.671944, + 40.098053 + ], + [ + 20.98349, + 40.855888 + ], + [ + 20.82111, + 40.908882 + ], + [ + 20.492775, + 41.331108 + ], + [ + 20.589642, + 41.882187 + ], + [ + 20.071423, + 42.560913 + ], + [ + 19.645832, + 42.61805 + ], + [ + 19.367771, + 41.848999 + ] + ] + ] + }, + "name" : "Albania", + "iso2" : "AL", + "iso3" : "ALB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "R71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 46.540377, + 38.875589 + ], + [ + 46.541384, + 39.56444 + ], + [ + 45.595819, + 39.978045 + ], + [ + 46.00194, + 40.22555 + ], + [ + 45.153872, + 41.198603 + ], + [ + 45.022943, + 41.297052 + ], + [ + 43.460772, + 41.112963 + ], + [ + 43.75194, + 40.74 + ], + [ + 43.657495, + 40.108599 + ], + [ + 44.347216, + 40.02389 + ], + [ + 44.778864, + 39.706385 + ], + [ + 45.083323, + 39.768045 + ], + [ + 45.819986, + 39.549723 + ], + [ + 46.178247, + 38.84115 + ], + [ + 46.540377, + 38.875589 + ] + ], + [ + [ + 45.045271, + 41.035273 + ], + [ + 45.009993, + 41.033052 + ], + [ + 45.001112, + 41.088881 + ], + [ + 45.045271, + 41.035273 + ] + ], + [ + [ + 45.245272, + 40.976942 + ], + [ + 45.229162, + 40.969152 + ], + [ + 45.195822, + 40.99777 + ], + [ + 45.245272, + 40.976942 + ] + ], + [ + [ + 45.513052, + 40.607222 + ], + [ + 45.517492, + 40.665541 + ], + [ + 45.573053, + 40.63249 + ], + [ + 45.513052, + 40.607222 + ] + ] + ] + }, + "name" : "Armenia", + "iso2" : "AM", + "iso3" : "ARM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "SL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 11.750834, + -16.75528 + ], + [ + 11.775, + -16.804726 + ], + [ + 11.693609, + -16.535557 + ], + [ + 11.750834, + -16.75528 + ] + ] + ], + [ + [ + [ + 23.986208, + -10.870461 + ], + [ + 22.253889, + -11.209723 + ], + [ + 22.312223, + -10.364445 + ], + [ + 21.790556, + -9.405556 + ], + [ + 21.782961, + -7.280842 + ], + [ + 20.548716, + -7.283615 + ], + [ + 20.629747, + -6.913881 + ], + [ + 19.53895, + -6.996614 + ], + [ + 19.373056, + -7.996111 + ], + [ + 17.624166, + -8.098057 + ], + [ + 16.941668, + -7.19861 + ], + [ + 16.579721, + -5.900833 + ], + [ + 13.997499, + -5.848612 + ], + [ + 13.178881, + -5.856329 + ], + [ + 12.245001, + -6.098055 + ], + [ + 13.39139, + -8.387222 + ], + [ + 12.984446, + -9.087502 + ], + [ + 13.773611, + -10.684723 + ], + [ + 13.792501, + -11.791668 + ], + [ + 12.509722, + -13.42528 + ], + [ + 11.73139, + -15.846668 + ], + [ + 11.810835, + -15.993057 + ], + [ + 11.820833, + -16.503056 + ], + [ + 11.752783, + -17.254833 + ], + [ + 13.160555, + -16.952778 + ], + [ + 13.993219, + -17.423946 + ], + [ + 18.45154, + -17.389835 + ], + [ + 18.915834, + -17.815556 + ], + [ + 20.854166, + -18.016392 + ], + [ + 23.284723, + -17.662502 + ], + [ + 23.47611, + -17.625835 + ], + [ + 22.000151, + -16.171661 + ], + [ + 21.998335, + -13.004168 + ], + [ + 24.020555, + -13.00639 + ], + [ + 23.986208, + -10.870461 + ] + ] + ], + [ + [ + [ + 12.214552, + -5.768555 + ], + [ + 12.526667, + -5.724167 + ], + [ + 12.565554, + -5.025555 + ], + [ + 13.088888, + -4.6625 + ], + [ + 13.091391, + -4.633055 + ], + [ + 12.779047, + -4.38899 + ], + [ + 12.026133, + -5.014996 + ], + [ + 12.214552, + -5.768555 + ] + ] + ] + ] + }, + "name" : "Angola", + "iso2" : "AO", + "iso3" : "AGO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Sb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -170.542511, + -14.297503 + ], + [ + -170.540039, + -14.283892 + ], + [ + -170.560822, + -14.287781 + ], + [ + -170.542511, + -14.297503 + ] + ] + ], + [ + [ + [ + -170.637268, + -14.289446 + ], + [ + -170.560028, + -14.265837 + ], + [ + -170.826111, + -14.325003 + ], + [ + -170.637268, + -14.289446 + ] + ] + ], + [ + [ + [ + -169.444489, + -14.261667 + ], + [ + -169.536133, + -14.231668 + ], + [ + -169.513062, + -14.275833 + ], + [ + -169.444489, + -14.261667 + ] + ] + ], + [ + [ + [ + -169.62558, + -14.189722 + ], + [ + -169.621948, + -14.168612 + ], + [ + -169.644745, + -14.176111 + ], + [ + -169.62558, + -14.189722 + ] + ] + ], + [ + [ + [ + -169.685577, + -14.191944 + ], + [ + -169.662231, + -14.175001 + ], + [ + -169.690857, + -14.167501 + ], + [ + -169.685577, + -14.191944 + ] + ] + ] + ] + }, + "name" : "American Samoa", + "iso2" : "AS", + "iso3" : "ASM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Sr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -68.608612, + -54.891396 + ], + [ + -68.636124, + -54.804771 + ], + [ + -68.643112, + -54.888611 + ], + [ + -68.608612, + -54.891396 + ] + ] + ], + [ + [ + [ + -63.813614, + -54.731392 + ], + [ + -64.75528, + -54.835007 + ], + [ + -64.678345, + -54.907227 + ], + [ + -63.813614, + -54.731392 + ] + ] + ], + [ + [ + [ + -68.261948, + -52.98806 + ], + [ + -68.617584, + -52.64151 + ], + [ + -68.635834, + -54.788338 + ], + [ + -66.446121, + -55.051674 + ], + [ + -65.353897, + -54.929169 + ], + [ + -65.138062, + -54.651672 + ], + [ + -67.359177, + -54.028893 + ], + [ + -68.543625, + -53.229446 + ], + [ + -68.261948, + -52.98806 + ] + ] + ], + [ + [ + [ + -61.878891, + -39.2425 + ], + [ + -61.890556, + -39.139168 + ], + [ + -62.095284, + -39.089172 + ], + [ + -61.878891, + -39.2425 + ] + ] + ], + [ + [ + [ + -61.996948, + -39.066948 + ], + [ + -61.981392, + -39.026947 + ], + [ + -62.132782, + -39.01889 + ], + [ + -61.996948, + -39.066948 + ] + ] + ], + [ + [ + [ + -62.643768, + -22.238903 + ], + [ + -62.811951, + -21.996948 + ], + [ + -63.941116, + -22.000835 + ], + [ + -64.324722, + -22.873611 + ], + [ + -64.590561, + -22.214725 + ], + [ + -65.190201, + -22.09473 + ], + [ + -65.748062, + -22.111668 + ], + [ + -66.223007, + -21.780521 + ], + [ + -67.183624, + -22.821667 + ], + [ + -67.000839, + -23.002781 + ], + [ + -67.335846, + -24.021667 + ], + [ + -68.565002, + -24.774445 + ], + [ + -68.351959, + -25.117226 + ], + [ + -68.583618, + -26.50528 + ], + [ + -68.287231, + -26.915279 + ], + [ + -68.810837, + -27.120556 + ], + [ + -69.65538, + -28.400932 + ], + [ + -70.031403, + -29.306393 + ], + [ + -69.83168, + -30.190556 + ], + [ + -70.533066, + -31.188057 + ], + [ + -70.098892, + -33.172501 + ], + [ + -69.774445, + -33.381111 + ], + [ + -69.8125, + -34.235558 + ], + [ + -70.567505, + -35.24778 + ], + [ + -70.424316, + -36.13604 + ], + [ + -71.185287, + -36.842224 + ], + [ + -70.824173, + -38.568062 + ], + [ + -71.401398, + -38.92028 + ], + [ + -71.695557, + -39.58445 + ], + [ + -71.950562, + -40.73278 + ], + [ + -71.72612, + -42.096672 + ], + [ + -72.131958, + -42.288895 + ], + [ + -72.136948, + -43.009171 + ], + [ + -71.732788, + -43.188057 + ], + [ + -71.855011, + -44.371674 + ], + [ + -71.108063, + -44.539726 + ], + [ + -71.282227, + -44.800285 + ], + [ + -72.078613, + -44.769447 + ], + [ + -71.297791, + -45.293335 + ], + [ + -71.780563, + -45.648895 + ], + [ + -71.669449, + -46.679169 + ], + [ + -71.940292, + -46.815559 + ], + [ + -71.868622, + -47.221672 + ], + [ + -72.360291, + -47.470001 + ], + [ + -72.536392, + -47.921394 + ], + [ + -72.287231, + -48.341949 + ], + [ + -72.564178, + -48.804451 + ], + [ + -73.583618, + -49.538063 + ], + [ + -73.166122, + -50.753334 + ], + [ + -72.294174, + -50.649727 + ], + [ + -72.400558, + -51.513618 + ], + [ + -71.910568, + -51.995834 + ], + [ + -69.998337, + -51.996391 + ], + [ + -68.441757, + -52.377777 + ], + [ + -68.988068, + -51.624725 + ], + [ + -69.613892, + -51.625839 + ], + [ + -68.968063, + -51.573891 + ], + [ + -69.183624, + -50.970558 + ], + [ + -69.40889, + -51.077782 + ], + [ + -68.941116, + -50.388062 + ], + [ + -68.370285, + -50.146667 + ], + [ + -69.011124, + -50.011948 + ], + [ + -67.897232, + -49.98584 + ], + [ + -67.579453, + -49.034172 + ], + [ + -65.787231, + -47.962502 + ], + [ + -66.243622, + -47.860283 + ], + [ + -65.871948, + -47.758057 + ], + [ + -65.779449, + -47.189445 + ], + [ + -66.816956, + -46.991669 + ], + [ + -67.506119, + -46.458893 + ], + [ + -67.584351, + -46.000298 + ], + [ + -66.949448, + -45.255562 + ], + [ + -65.604736, + -45.016396 + ], + [ + -65.691681, + -44.716949 + ], + [ + -65.249451, + -44.313057 + ], + [ + -65.32251, + -43.653061 + ], + [ + -64.295013, + -42.991951 + ], + [ + -64.960556, + -42.666389 + ], + [ + -64.398056, + -42.515839 + ], + [ + -64.086945, + -42.890282 + ], + [ + -63.580559, + -42.623894 + ], + [ + -63.746948, + -42.090561 + ], + [ + -64.45195, + -42.445839 + ], + [ + -65.013626, + -42.092224 + ], + [ + -65.134445, + -40.847778 + ], + [ + -63.765839, + -41.16584 + ], + [ + -62.390007, + -40.901947 + ], + [ + -62.183891, + -40.629723 + ], + [ + -62.489449, + -40.299446 + ], + [ + -62.06778, + -39.505562 + ], + [ + -62.277229, + -39.335281 + ], + [ + -62.020004, + -39.378059 + ], + [ + -62.381393, + -38.798615 + ], + [ + -61.094452, + -38.995834 + ], + [ + -58.301117, + -38.485001 + ], + [ + -57.571671, + -38.133057 + ], + [ + -56.663063, + -36.900558 + ], + [ + -56.741669, + -36.318336 + ], + [ + -57.376671, + -35.962784 + ], + [ + -57.188339, + -35.320557 + ], + [ + -58.469727, + -34.539726 + ], + [ + -58.383896, + -34.05584 + ], + [ + -58.531952, + -33.516945 + ], + [ + -58.426949, + -33.096947 + ], + [ + -58.147224, + -33.051674 + ], + [ + -58.199242, + -32.45031 + ], + [ + -57.806396, + -30.748219 + ], + [ + -57.608002, + -30.184925 + ], + [ + -55.765282, + -28.226112 + ], + [ + -53.807785, + -27.129169 + ], + [ + -53.863335, + -25.681114 + ], + [ + -54.598915, + -25.573223 + ], + [ + -54.698334, + -26.438335 + ], + [ + -55.736115, + -27.439445 + ], + [ + -58.604622, + -27.316921 + ], + [ + -57.576668, + -25.549446 + ], + [ + -57.756111, + -25.176945 + ], + [ + -61.007782, + -23.813335 + ], + [ + -62.643768, + -22.238903 + ] + ] + ] + ] + }, + "name" : "Argentina", + "iso2" : "AR", + "iso3" : "ARG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "S71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 158.882174, + -54.711388 + ], + [ + 158.95746, + -54.474716 + ], + [ + 158.833315, + -54.749725 + ], + [ + 158.882174, + -54.711388 + ] + ] + ], + [ + [ + [ + 147.362734, + -43.398056 + ], + [ + 147.291933, + -43.261948 + ], + [ + 147.123018, + -43.421944 + ], + [ + 147.362734, + -43.398056 + ] + ] + ], + [ + [ + [ + 147.429689, + -43.253616 + ], + [ + 147.359957, + -43.073616 + ], + [ + 147.291933, + -43.164444 + ], + [ + 147.429689, + -43.253616 + ] + ] + ], + [ + [ + [ + 148.170534, + -42.663887 + ], + [ + 148.02109, + -42.618057 + ], + [ + 148.014162, + -42.753059 + ], + [ + 148.170534, + -42.663887 + ] + ] + ], + [ + [ + [ + 148.333315, + -42.358894 + ], + [ + 148.319124, + -42.312775 + ], + [ + 148.231081, + -42.301941 + ], + [ + 148.333315, + -42.358894 + ] + ] + ], + [ + [ + [ + 145.107729, + -40.821671 + ], + [ + 144.701357, + -40.759171 + ], + [ + 144.682467, + -41.223328 + ], + [ + 145.551912, + -42.344162 + ], + [ + 145.205233, + -42.25695 + ], + [ + 145.49692, + -42.957779 + ], + [ + 146.236361, + -43.327225 + ], + [ + 146.038301, + -43.498055 + ], + [ + 146.916704, + -43.617844 + ], + [ + 147.317476, + -42.846664 + ], + [ + 147.995241, + -43.229721 + ], + [ + 147.843019, + -42.869446 + ], + [ + 148.18387, + -41.943054 + ], + [ + 148.365511, + -42.215004 + ], + [ + 148.223299, + -40.850838 + ], + [ + 146.586092, + -41.186661 + ], + [ + 145.107729, + -40.821671 + ] + ] + ], + [ + [ + [ + 144.926363, + -40.722496 + ], + [ + 145.016085, + -40.695549 + ], + [ + 144.924135, + -40.61528 + ], + [ + 144.926363, + -40.722496 + ] + ] + ], + [ + [ + [ + 148.200258, + -40.594162 + ], + [ + 148.215792, + -40.501944 + ], + [ + 148.0972, + -40.53389 + ], + [ + 148.200258, + -40.594162 + ] + ] + ], + [ + [ + [ + 144.755556, + -40.596664 + ], + [ + 144.779696, + -40.409439 + ], + [ + 144.71747, + -40.503891 + ], + [ + 144.755556, + -40.596664 + ] + ] + ], + [ + [ + [ + 144.941347, + -40.458893 + ], + [ + 144.949709, + -40.387222 + ], + [ + 144.832186, + -40.433609 + ], + [ + 144.941347, + -40.458893 + ] + ] + ], + [ + [ + [ + 148.354677, + -40.315552 + ], + [ + 147.993563, + -40.420555 + ], + [ + 148.475801, + -40.443886 + ], + [ + 148.354677, + -40.315552 + ] + ] + ], + [ + [ + [ + 148.177462, + -40.25695 + ], + [ + 148.279421, + -39.965836 + ], + [ + 147.881899, + -39.754173 + ], + [ + 148.177462, + -40.25695 + ] + ] + ], + [ + [ + [ + 143.957735, + -40.110001 + ], + [ + 144.147493, + -39.927223 + ], + [ + 143.973024, + -39.573334 + ], + [ + 143.957735, + -40.110001 + ] + ] + ], + [ + [ + [ + 147.353579, + -39.499443 + ], + [ + 147.344423, + -39.448051 + ], + [ + 147.307467, + -39.487503 + ], + [ + 147.353579, + -39.499443 + ] + ] + ], + [ + [ + [ + 147.29999, + -39.482216 + ], + [ + 147.315523, + -39.431946 + ], + [ + 147.28525, + -39.473885 + ], + [ + 147.29999, + -39.482216 + ] + ] + ], + [ + [ + [ + 146.65555, + -38.769722 + ], + [ + 146.467745, + -38.758057 + ], + [ + 146.54471, + -38.800278 + ], + [ + 146.65555, + -38.769722 + ] + ] + ], + [ + [ + [ + 145.311647, + -38.467773 + ], + [ + 145.113588, + -38.528885 + ], + [ + 145.361361, + -38.569168 + ], + [ + 145.311647, + -38.467773 + ] + ] + ], + [ + [ + [ + 145.492739, + -38.374443 + ], + [ + 145.305819, + -38.296951 + ], + [ + 145.27109, + -38.363335 + ], + [ + 145.492739, + -38.374443 + ] + ] + ], + [ + [ + [ + 137.584963, + -35.650833 + ], + [ + 136.534426, + -35.912498 + ], + [ + 138.112734, + -35.86972 + ], + [ + 137.584963, + -35.650833 + ] + ] + ], + [ + [ + [ + 136.495241, + -35.17556 + ], + [ + 136.466646, + -35.138611 + ], + [ + 136.43442, + -35.158051 + ], + [ + 136.495241, + -35.17556 + ] + ] + ], + [ + [ + [ + 136.202761, + -35.07695 + ], + [ + 136.195803, + -35.02639 + ], + [ + 136.086641, + -34.94722 + ], + [ + 136.202761, + -35.07695 + ] + ] + ], + [ + [ + [ + 118.471918, + -34.938332 + ], + [ + 118.476381, + -34.91806 + ], + [ + 118.4247, + -34.907776 + ], + [ + 118.471918, + -34.938332 + ] + ] + ], + [ + [ + [ + 137.358004, + -34.540283 + ], + [ + 137.365786, + -34.477776 + ], + [ + 137.334414, + -34.515556 + ], + [ + 137.358004, + -34.540283 + ] + ] + ], + [ + [ + [ + 122.246935, + -34.151665 + ], + [ + 122.255548, + -34.124443 + ], + [ + 122.229982, + -34.112221 + ], + [ + 122.246935, + -34.151665 + ] + ] + ], + [ + [ + [ + 123.207491, + -34.111946 + ], + [ + 123.215822, + -34.086113 + ], + [ + 123.167765, + -34.094444 + ], + [ + 123.207491, + -34.111946 + ] + ] + ], + [ + [ + [ + 134.486635, + -33.779999 + ], + [ + 134.540255, + -33.696663 + ], + [ + 134.480257, + -33.714165 + ], + [ + 134.486635, + -33.779999 + ] + ] + ], + [ + [ + [ + 133.589418, + -32.311668 + ], + [ + 133.67499, + -32.240555 + ], + [ + 133.533602, + -32.304443 + ], + [ + 133.589418, + -32.311668 + ] + ] + ], + [ + [ + [ + 115.680269, + -32.228333 + ], + [ + 115.648882, + -32.152222 + ], + [ + 115.660814, + -32.233612 + ], + [ + 115.680269, + -32.228333 + ] + ] + ], + [ + [ + [ + 159.070803, + -31.523613 + ], + [ + 159.070803, + -31.599998 + ], + [ + 159.1019, + -31.571114 + ], + [ + 159.070803, + -31.523613 + ] + ] + ], + [ + [ + [ + 153.451357, + -27.729164 + ], + [ + 153.538576, + -27.416664 + ], + [ + 153.433596, + -27.416111 + ], + [ + 153.451357, + -27.729164 + ] + ] + ], + [ + [ + [ + 153.41498, + -27.248055 + ], + [ + 153.425264, + -27.362778 + ], + [ + 153.454134, + -27.01778 + ], + [ + 153.41498, + -27.248055 + ] + ] + ], + [ + [ + [ + 113.209154, + -26.140835 + ], + [ + 112.951105, + -25.488609 + ], + [ + 112.953325, + -25.786945 + ], + [ + 113.209154, + -26.140835 + ] + ] + ], + [ + [ + [ + 153.003603, + -25.34 + ], + [ + 152.992464, + -25.307777 + ], + [ + 152.948854, + -25.272503 + ], + [ + 153.003603, + -25.34 + ] + ] + ], + [ + [ + [ + 113.07361, + -25.233608 + ], + [ + 113.101648, + -25.097221 + ], + [ + 113.061655, + -25.278614 + ], + [ + 113.07361, + -25.233608 + ] + ] + ], + [ + [ + [ + 113.139711, + -24.926666 + ], + [ + 113.147219, + -24.760002 + ], + [ + 113.114992, + -24.995831 + ], + [ + 113.139711, + -24.926666 + ] + ] + ], + [ + [ + [ + 153.077181, + -25.798611 + ], + [ + 153.281649, + -24.699165 + ], + [ + 152.943026, + -25.558334 + ], + [ + 153.077181, + -25.798611 + ] + ] + ], + [ + [ + [ + 151.382174, + -23.882778 + ], + [ + 151.326906, + -23.753056 + ], + [ + 151.330538, + -23.813335 + ], + [ + 151.382174, + -23.882778 + ] + ] + ], + [ + [ + [ + 151.269442, + -23.780556 + ], + [ + 151.203035, + -23.528889 + ], + [ + 151.019991, + -23.454445 + ], + [ + 151.269442, + -23.780556 + ] + ] + ], + [ + [ + [ + 150.98218, + -23.195553 + ], + [ + 150.978304, + -23.150555 + ], + [ + 150.947206, + -23.195553 + ], + [ + 150.98218, + -23.195553 + ] + ] + ], + [ + [ + [ + 149.735506, + -22.423054 + ], + [ + 149.760805, + -22.363888 + ], + [ + 149.733583, + -22.340557 + ], + [ + 149.735506, + -22.423054 + ] + ] + ], + [ + [ + [ + 150.49164, + -22.354721 + ], + [ + 150.560244, + -22.304447 + ], + [ + 150.489962, + -22.213055 + ], + [ + 150.49164, + -22.354721 + ] + ] + ], + [ + [ + [ + 149.90082, + -22.228333 + ], + [ + 149.908327, + -22.046946 + ], + [ + 149.865786, + -22.173889 + ], + [ + 149.90082, + -22.228333 + ] + ] + ], + [ + [ + [ + 150.336916, + -21.775558 + ], + [ + 150.358858, + -21.73333 + ], + [ + 150.294436, + -21.744442 + ], + [ + 150.336916, + -21.775558 + ] + ] + ], + [ + [ + [ + 150.286928, + -21.6875 + ], + [ + 150.305239, + -21.66 + ], + [ + 150.253878, + -21.638054 + ], + [ + 150.286928, + -21.6875 + ] + ] + ], + [ + [ + [ + 115.454988, + -20.782501 + ], + [ + 115.435259, + -20.667221 + ], + [ + 115.303865, + -20.872776 + ], + [ + 115.454988, + -20.782501 + ] + ] + ], + [ + [ + [ + 149.066652, + -20.526669 + ], + [ + 149.074984, + -20.486942 + ], + [ + 149.036928, + -20.501667 + ], + [ + 149.066652, + -20.526669 + ] + ] + ], + [ + [ + [ + 149.00638, + -20.318333 + ], + [ + 148.975527, + -20.154999 + ], + [ + 148.955538, + -20.291389 + ], + [ + 149.00638, + -20.318333 + ] + ] + ], + [ + [ + [ + 148.935793, + -20.171944 + ], + [ + 148.970247, + -20.048611 + ], + [ + 148.881899, + -20.13028 + ], + [ + 148.935793, + -20.171944 + ] + ] + ], + [ + [ + [ + 148.471346, + -20.046391 + ], + [ + 148.48218, + -20.006111 + ], + [ + 148.449709, + -19.970833 + ], + [ + 148.471346, + -20.046391 + ] + ] + ], + [ + [ + [ + 146.867739, + -19.165001 + ], + [ + 146.869692, + -19.106667 + ], + [ + 146.776094, + -19.131111 + ], + [ + 146.867739, + -19.165001 + ] + ] + ], + [ + [ + [ + 146.29941, + -18.489441 + ], + [ + 146.269716, + -18.308334 + ], + [ + 146.083315, + -18.256111 + ], + [ + 146.29941, + -18.489441 + ] + ] + ], + [ + [ + [ + 139.576082, + -17.095833 + ], + [ + 139.502779, + -16.996666 + ], + [ + 139.398867, + -17.091389 + ], + [ + 139.576082, + -17.095833 + ] + ] + ], + [ + [ + [ + 139.112185, + -16.862221 + ], + [ + 139.139986, + -16.810558 + ], + [ + 139.090792, + -16.826668 + ], + [ + 139.112185, + -16.862221 + ] + ] + ], + [ + [ + [ + 139.736361, + -16.497219 + ], + [ + 139.306643, + -16.462498 + ], + [ + 139.140261, + -16.755001 + ], + [ + 139.736361, + -16.497219 + ] + ] + ], + [ + [ + [ + 136.667208, + -15.776667 + ], + [ + 136.713015, + -15.697779 + ], + [ + 136.634981, + -15.676111 + ], + [ + 136.667208, + -15.776667 + ] + ] + ], + [ + [ + [ + 136.741915, + -15.752224 + ], + [ + 136.80942, + -15.650278 + ], + [ + 136.734133, + -15.648056 + ], + [ + 136.741915, + -15.752224 + ] + ] + ], + [ + [ + [ + 137.067202, + -15.829445 + ], + [ + 137.003054, + -15.591389 + ], + [ + 136.93442, + -15.698889 + ], + [ + 137.067202, + -15.829445 + ] + ] + ], + [ + [ + [ + 136.52997, + -15.645279 + ], + [ + 136.59775, + -15.61611 + ], + [ + 136.579409, + -15.511112 + ], + [ + 136.52997, + -15.645279 + ] + ] + ], + [ + [ + [ + 136.851351, + -15.634167 + ], + [ + 136.878572, + -15.501944 + ], + [ + 136.841921, + -15.549723 + ], + [ + 136.851351, + -15.634167 + ] + ] + ], + [ + [ + [ + 124.621645, + -15.412222 + ], + [ + 124.542215, + -15.261667 + ], + [ + 124.459429, + -15.366943 + ], + [ + 124.522493, + -15.445278 + ], + [ + 124.621645, + -15.412222 + ] + ] + ], + [ + [ + [ + 124.426378, + -15.315001 + ], + [ + 124.437479, + -15.249443 + ], + [ + 124.336649, + -15.296112 + ], + [ + 124.426378, + -15.315001 + ] + ] + ], + [ + [ + [ + 124.816095, + -15.281113 + ], + [ + 124.849993, + -15.247221 + ], + [ + 124.797495, + -15.239721 + ], + [ + 124.816095, + -15.281113 + ] + ] + ], + [ + [ + [ + 128.191927, + -15.188612 + ], + [ + 128.120516, + -15.043055 + ], + [ + 128.114687, + -15.131943 + ], + [ + 128.191927, + -15.188612 + ] + ] + ], + [ + [ + [ + 124.943316, + -15.030001 + ], + [ + 124.924425, + -14.945 + ], + [ + 124.874689, + -14.952223 + ], + [ + 124.943316, + -15.030001 + ] + ] + ], + [ + [ + [ + 128.441072, + -15.0375 + ], + [ + 128.356356, + -14.870277 + ], + [ + 128.35718, + -14.959999 + ], + [ + 128.441072, + -15.0375 + ] + ] + ], + [ + [ + [ + 135.764986, + -14.904167 + ], + [ + 135.728304, + -14.836666 + ], + [ + 135.699404, + -14.907778 + ], + [ + 135.764986, + -14.904167 + ] + ] + ], + [ + [ + [ + 129.629946, + -14.879444 + ], + [ + 129.6308, + -14.850832 + ], + [ + 129.580538, + -14.802778 + ], + [ + 129.629946, + -14.879444 + ] + ] + ], + [ + [ + [ + 129.589418, + -14.907778 + ], + [ + 129.501925, + -14.788612 + ], + [ + 129.59247, + -14.966665 + ], + [ + 129.589418, + -14.907778 + ] + ] + ], + [ + [ + [ + 125.138323, + -14.648611 + ], + [ + 125.159418, + -14.438334 + ], + [ + 125.084719, + -14.617222 + ], + [ + 125.138323, + -14.648611 + ] + ] + ], + [ + [ + [ + 126.606371, + -13.895554 + ], + [ + 126.502489, + -13.877777 + ], + [ + 126.511934, + -13.909445 + ], + [ + 126.606371, + -13.895554 + ] + ] + ], + [ + [ + [ + 136.711641, + -13.835833 + ], + [ + 136.378023, + -14.216389 + ], + [ + 136.941652, + -14.277779 + ], + [ + 136.699404, + -14.120832 + ], + [ + 136.912477, + -13.774445 + ], + [ + 136.711641, + -13.835833 + ] + ] + ], + [ + [ + [ + 136.288301, + -13.733332 + ], + [ + 136.198854, + -13.664722 + ], + [ + 136.105532, + -13.818056 + ], + [ + 136.288301, + -13.733332 + ] + ] + ], + [ + [ + [ + 136.15082, + -13.485832 + ], + [ + 136.098848, + -13.361111 + ], + [ + 136.161654, + -13.531113 + ], + [ + 136.15082, + -13.485832 + ] + ] + ], + [ + [ + [ + 132.404696, + -12.140835 + ], + [ + 132.402193, + -12.072222 + ], + [ + 132.340242, + -12.089722 + ], + [ + 132.404696, + -12.140835 + ] + ] + ], + [ + [ + [ + 136.820528, + -12.140556 + ], + [ + 136.826082, + -12.072222 + ], + [ + 136.800539, + -12.094166 + ], + [ + 136.820528, + -12.140556 + ] + ] + ], + [ + [ + [ + 134.909975, + -12.121111 + ], + [ + 134.927767, + -12.072777 + ], + [ + 134.866915, + -12.066666 + ], + [ + 134.909975, + -12.121111 + ] + ] + ], + [ + [ + [ + 134.985781, + -12.034166 + ], + [ + 134.911379, + -12.022223 + ], + [ + 134.944979, + -12.06139 + ], + [ + 134.985781, + -12.034166 + ] + ] + ], + [ + [ + [ + 136.281923, + -12.035557 + ], + [ + 136.306368, + -11.976944 + ], + [ + 136.158327, + -12.071388 + ], + [ + 136.281923, + -12.035557 + ] + ] + ], + [ + [ + [ + 135.115511, + -11.934444 + ], + [ + 135.064974, + -11.913612 + ], + [ + 135.047487, + -11.945555 + ], + [ + 135.115511, + -11.934444 + ] + ] + ], + [ + [ + [ + 136.473574, + -11.911112 + ], + [ + 136.494967, + -11.803055 + ], + [ + 136.469423, + -11.840555 + ], + [ + 136.473574, + -11.911112 + ] + ] + ], + [ + [ + [ + 136.589418, + -11.780556 + ], + [ + 136.624666, + -11.740276 + ], + [ + 136.516085, + -11.798611 + ], + [ + 136.589418, + -11.780556 + ] + ] + ], + [ + [ + [ + 136.012758, + -11.719166 + ], + [ + 136.053865, + -11.66 + ], + [ + 135.959963, + -11.684166 + ], + [ + 136.012758, + -11.719166 + ] + ] + ], + [ + [ + [ + 132.560244, + -11.724443 + ], + [ + 132.643038, + -11.648056 + ], + [ + 132.513887, + -11.64389 + ], + [ + 132.560244, + -11.724443 + ] + ] + ], + [ + [ + [ + 133.383883, + -11.6675 + ], + [ + 133.482454, + -11.586945 + ], + [ + 133.366915, + -11.614721 + ], + [ + 133.383883, + -11.6675 + ] + ] + ], + [ + [ + [ + 136.470522, + -11.519167 + ], + [ + 136.478853, + -11.46611 + ], + [ + 136.178316, + -11.687778 + ], + [ + 136.470522, + -11.519167 + ] + ] + ], + [ + [ + [ + 133.505556, + -11.503889 + ], + [ + 133.469423, + -11.460833 + ], + [ + 133.391359, + -11.54389 + ], + [ + 133.505556, + -11.503889 + ] + ] + ], + [ + [ + [ + 130.49106, + -11.688612 + ], + [ + 130.34247, + -11.32361 + ], + [ + 130.01639, + -11.779722 + ], + [ + 130.49106, + -11.688612 + ] + ] + ], + [ + [ + [ + 130.573305, + -11.349443 + ], + [ + 130.377443, + -11.170555 + ], + [ + 130.958864, + -11.938889 + ], + [ + 131.539156, + -11.461666 + ], + [ + 131.274996, + -11.189167 + ], + [ + 130.573305, + -11.349443 + ] + ] + ], + [ + [ + [ + 132.623842, + -11.279167 + ], + [ + 132.578859, + -11.022501 + ], + [ + 132.512484, + -11.143057 + ], + [ + 132.623842, + -11.279167 + ] + ] + ], + [ + [ + [ + 136.536104, + -11.455 + ], + [ + 136.724977, + -11.206944 + ], + [ + 136.771914, + -11.019722 + ], + [ + 136.536104, + -11.455 + ] + ] + ], + [ + [ + [ + 142.512758, + -10.866943 + ], + [ + 142.141939, + -10.956667 + ], + [ + 142.028872, + -12.062222 + ], + [ + 141.589418, + -12.546946 + ], + [ + 141.752474, + -12.467222 + ], + [ + 141.940798, + -12.875832 + ], + [ + 141.798586, + -12.685833 + ], + [ + 141.583864, + -12.989166 + ], + [ + 141.426912, + -16.079166 + ], + [ + 140.494967, + -17.640835 + ], + [ + 139.26053, + -17.342499 + ], + [ + 139.017488, + -16.903053 + ], + [ + 138.190248, + -16.704998 + ], + [ + 137.730806, + -16.246109 + ], + [ + 136.76581, + -15.904446 + ], + [ + 135.456636, + -14.941111 + ], + [ + 136.020266, + -13.762501 + ], + [ + 135.923861, + -13.281389 + ], + [ + 136.350527, + -13.0525 + ], + [ + 136.45801, + -13.252501 + ], + [ + 136.494417, + -12.779167 + ], + [ + 136.981905, + -12.356943 + ], + [ + 136.562197, + -11.934444 + ], + [ + 136.039705, + -12.471666 + ], + [ + 136.023043, + -12.111944 + ], + [ + 135.66971, + -12.196667 + ], + [ + 135.908022, + -11.763056 + ], + [ + 135.231356, + -12.294445 + ], + [ + 133.183046, + -11.716665 + ], + [ + 132.337465, + -11.129166 + ], + [ + 132.143312, + -11.133333 + ], + [ + 132.199709, + -11.412779 + ], + [ + 131.979952, + -11.125555 + ], + [ + 131.766939, + -11.316389 + ], + [ + 132.09247, + -11.52639 + ], + [ + 132.489962, + -11.476944 + ], + [ + 132.691072, + -11.655001 + ], + [ + 132.627748, + -12.041945 + ], + [ + 132.754427, + -12.132776 + ], + [ + 132.383608, + -12.379999 + ], + [ + 131.027193, + -12.145554 + ], + [ + 130.896364, + -12.640278 + ], + [ + 130.58304, + -12.395279 + ], + [ + 130.695253, + -12.702499 + ], + [ + 130.14081, + -12.924168 + ], + [ + 130.264437, + -13.325277 + ], + [ + 129.88611, + -13.445278 + ], + [ + 129.370241, + -14.333332 + ], + [ + 129.944429, + -14.767778 + ], + [ + 129.643862, + -14.837221 + ], + [ + 129.732454, + -15.197222 + ], + [ + 128.530275, + -14.759167 + ], + [ + 128.381899, + -14.8025 + ], + [ + 128.452456, + -15.046389 + ], + [ + 128.350801, + -15.044724 + ], + [ + 128.314974, + -14.907778 + ], + [ + 128.194124, + -15.056667 + ], + [ + 128.28998, + -15.405279 + ], + [ + 128.129244, + -15.212889 + ], + [ + 128.013613, + -15.5 + ], + [ + 128.169436, + -14.702778 + ], + [ + 127.420824, + -13.949722 + ], + [ + 126.862764, + -13.749165 + ], + [ + 126.287775, + -14.233055 + ], + [ + 126.019442, + -13.919167 + ], + [ + 126.037203, + -14.516666 + ], + [ + 125.718874, + -14.400278 + ], + [ + 125.637209, + -14.635 + ], + [ + 125.606936, + -14.223055 + ], + [ + 125.588884, + -14.549444 + ], + [ + 125.135538, + -14.741388 + ], + [ + 125.433321, + -15.138613 + ], + [ + 124.825548, + -15.155834 + ], + [ + 125.18181, + -15.520685 + ], + [ + 124.702211, + -15.252501 + ], + [ + 124.656374, + -15.479721 + ], + [ + 124.447748, + -15.486387 + ], + [ + 124.401384, + -15.871111 + ], + [ + 124.728319, + -15.810556 + ], + [ + 124.400545, + -16.329445 + ], + [ + 124.899431, + -16.415001 + ], + [ + 124.238588, + -16.406666 + ], + [ + 123.964434, + -16.245552 + ], + [ + 123.891375, + -16.378887 + ], + [ + 123.729433, + -16.138889 + ], + [ + 123.569719, + -16.171944 + ], + [ + 123.708879, + -16.430279 + ], + [ + 123.424425, + -16.502502 + ], + [ + 123.918322, + -17.204445 + ], + [ + 123.596651, + -16.989998 + ], + [ + 123.575274, + -17.5975 + ], + [ + 122.917765, + -16.415554 + ], + [ + 122.17499, + -17.243332 + ], + [ + 122.353319, + -18.105555 + ], + [ + 121.027483, + -19.592224 + ], + [ + 119.082491, + -19.967499 + ], + [ + 117.688028, + -20.675831 + ], + [ + 116.707491, + -20.649166 + ], + [ + 114.651094, + -21.84 + ], + [ + 114.153872, + -22.527779 + ], + [ + 114.018053, + -21.850834 + ], + [ + 113.389711, + -24.429443 + ], + [ + 114.259165, + -25.846668 + ], + [ + 114.220835, + -26.306389 + ], + [ + 114.066095, + -26.461945 + ], + [ + 113.878862, + -26.028889 + ], + [ + 113.711931, + -26.195278 + ], + [ + 113.469439, + -25.540836 + ], + [ + 113.391665, + -25.718056 + ], + [ + 113.855822, + -26.507504 + ], + [ + 113.641375, + -26.652779 + ], + [ + 113.279161, + -26.018333 + ], + [ + 113.224428, + -26.239166 + ], + [ + 114.885538, + -29.201111 + ], + [ + 115.045534, + -30.506947 + ], + [ + 115.739435, + -31.865276 + ], + [ + 115.711115, + -33.269997 + ], + [ + 115.363604, + -33.633057 + ], + [ + 114.988726, + -33.522537 + ], + [ + 115.008043, + -34.263062 + ], + [ + 116.46332, + -35.000839 + ], + [ + 117.93442, + -35.125832 + ], + [ + 120.004992, + -33.928886 + ], + [ + 123.540819, + -33.90583 + ], + [ + 124.281939, + -32.985558 + ], + [ + 125.968325, + -32.266113 + ], + [ + 127.267763, + -32.278336 + ], + [ + 128.987459, + -31.694164 + ], + [ + 131.152193, + -31.474167 + ], + [ + 132.203859, + -32.03167 + ], + [ + 132.764437, + -31.950832 + ], + [ + 133.417208, + -32.213333 + ], + [ + 133.622194, + -32.098335 + ], + [ + 133.952181, + -32.394722 + ], + [ + 133.8519, + -32.545006 + ], + [ + 134.184145, + -32.486664 + ], + [ + 134.269136, + -33.159721 + ], + [ + 134.709139, + -33.179169 + ], + [ + 135.506929, + -34.618057 + ], + [ + 135.105806, + -34.599998 + ], + [ + 135.954134, + -35.010284 + ], + [ + 135.932741, + -34.541946 + ], + [ + 137.209963, + -33.666107 + ], + [ + 137.778322, + -32.9925 + ], + [ + 137.773317, + -32.523613 + ], + [ + 137.950258, + -33.559441 + ], + [ + 137.449984, + -34.15139 + ], + [ + 137.437746, + -34.934723 + ], + [ + 137.019991, + -34.901108 + ], + [ + 136.830538, + -35.254723 + ], + [ + 137.744692, + -35.138611 + ], + [ + 138.098024, + -34.137222 + ], + [ + 138.514162, + -35.028053 + ], + [ + 138.093019, + -35.620834 + ], + [ + 139.355227, + -35.372498 + ], + [ + 139.337191, + -35.69416 + ], + [ + 139.096743, + -35.615887 + ], + [ + 139.667757, + -36.230827 + ], + [ + 139.077349, + -35.682636 + ], + [ + 139.820528, + -36.545837 + ], + [ + 139.814425, + -37.299728 + ], + [ + 140.52997, + -38.000282 + ], + [ + 141.571352, + -38.417221 + ], + [ + 142.388887, + -38.364723 + ], + [ + 143.543856, + -38.860001 + ], + [ + 144.92914, + -37.869164 + ], + [ + 145.132448, + -38.140282 + ], + [ + 144.898867, + -38.504448 + ], + [ + 145.441347, + -38.226105 + ], + [ + 145.557192, + -38.376389 + ], + [ + 145.416079, + -38.545837 + ], + [ + 146.394136, + -39.147224 + ], + [ + 146.223024, + -38.712502 + ], + [ + 146.873568, + -38.651665 + ], + [ + 147.764437, + -37.979996 + ], + [ + 149.973848, + -37.520554 + ], + [ + 150.162477, + -35.940552 + ], + [ + 150.840517, + -35.082779 + ], + [ + 151.452761, + -33.319168 + ], + [ + 152.529696, + -32.40361 + ], + [ + 153.052462, + -31.035 + ], + [ + 153.625521, + -28.666664 + ], + [ + 153.033876, + -27.179443 + ], + [ + 153.181917, + -25.949444 + ], + [ + 151.937197, + -24.221664 + ], + [ + 151.68387, + -23.988888 + ], + [ + 151.538576, + -24.089169 + ], + [ + 150.867189, + -23.505001 + ], + [ + 150.637209, + -22.343891 + ], + [ + 150.593019, + -22.586113 + ], + [ + 150.034151, + -22.149723 + ], + [ + 150.043306, + -22.650833 + ], + [ + 149.661104, + -22.496666 + ], + [ + 149.214693, + -21.080002 + ], + [ + 148.691652, + -20.624443 + ], + [ + 148.935518, + -20.53278 + ], + [ + 148.777468, + -20.232498 + ], + [ + 146.27527, + -18.883888 + ], + [ + 146.336916, + -18.536667 + ], + [ + 146.009432, + -18.238052 + ], + [ + 146.10663, + -17.683609 + ], + [ + 145.878023, + -17.062778 + ], + [ + 145.960512, + -16.895279 + ], + [ + 145.403597, + -16.462219 + ], + [ + 145.315798, + -14.945555 + ], + [ + 144.51053, + -14.168333 + ], + [ + 143.782198, + -14.413334 + ], + [ + 143.42914, + -12.614445 + ], + [ + 142.512758, + -10.866943 + ] + ] + ], + [ + [ + [ + 142.26581, + -10.683611 + ], + [ + 142.115236, + -10.660557 + ], + [ + 142.183321, + -10.770279 + ], + [ + 142.26581, + -10.683611 + ] + ] + ], + [ + [ + [ + 142.278048, + -10.643612 + ], + [ + 142.31415, + -10.584166 + ], + [ + 142.249697, + -10.5875 + ], + [ + 142.278048, + -10.643612 + ] + ] + ], + [ + [ + [ + 142.230806, + -10.56889 + ], + [ + 142.226625, + -10.525278 + ], + [ + 142.191347, + -10.565834 + ], + [ + 142.230806, + -10.56889 + ] + ] + ], + [ + [ + [ + 142.321077, + -10.548611 + ], + [ + 142.318026, + -10.513889 + ], + [ + 142.292208, + -10.53389 + ], + [ + 142.321077, + -10.548611 + ] + ] + ], + [ + [ + [ + 142.285524, + -10.264723 + ], + [ + 142.330538, + -10.171946 + ], + [ + 142.225801, + -10.146112 + ], + [ + 142.285524, + -10.264723 + ] + ] + ], + [ + [ + [ + 142.157747, + -10.189722 + ], + [ + 142.143587, + -10.051666 + ], + [ + 142.089693, + -10.13389 + ], + [ + 142.157747, + -10.189722 + ] + ] + ] + ] + }, + "name" : "Australia", + "iso2" : "AU", + "iso3" : "AUS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "TL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 50.812492, + 25.64222 + ], + [ + 50.821388, + 25.651943 + ], + [ + 50.782219, + 25.659443 + ], + [ + 50.812492, + 25.64222 + ] + ] + ], + [ + [ + [ + 50.813332, + 25.678608 + ], + [ + 50.807777, + 25.68972 + ], + [ + 50.804161, + 25.680553 + ], + [ + 50.813332, + 25.678608 + ] + ] + ], + [ + [ + [ + 50.76194, + 25.595276 + ], + [ + 50.796661, + 25.728333 + ], + [ + 50.741661, + 25.683052 + ], + [ + 50.76194, + 25.595276 + ] + ] + ], + [ + [ + [ + 50.769722, + 25.746944 + ], + [ + 50.764717, + 25.754719 + ], + [ + 50.760551, + 25.750275 + ], + [ + 50.769722, + 25.746944 + ] + ] + ], + [ + [ + [ + 50.532219, + 26.234444 + ], + [ + 50.461662, + 25.965275 + ], + [ + 50.57333, + 25.809723 + ], + [ + 50.532219, + 26.234444 + ] + ] + ], + [ + [ + [ + 50.65361, + 26.247498 + ], + [ + 50.62722, + 26.288887 + ], + [ + 50.604439, + 26.267776 + ], + [ + 50.65361, + 26.247498 + ] + ] + ] + ] + }, + "name" : "Bahrain", + "iso2" : "BH", + "iso3" : "BHR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Tb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -59.533058, + 13.050554 + ], + [ + -59.429169, + 13.164999 + ], + [ + -59.641113, + 13.331388 + ], + [ + -59.533058, + 13.050554 + ] + ] + ] + }, + "name" : "Barbados", + "iso2" : "BB", + "iso3" : "BRB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Tr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -64.855835, + 32.27861 + ], + [ + -64.838058, + 32.314163 + ], + [ + -64.874451, + 32.293053 + ], + [ + -64.855835, + 32.27861 + ] + ] + ], + [ + [ + [ + -64.643341, + 32.354439 + ], + [ + -64.655289, + 32.370827 + ], + [ + -64.685837, + 32.357216 + ], + [ + -64.643341, + 32.354439 + ] + ] + ], + [ + [ + [ + -64.78334, + 32.270554 + ], + [ + -64.671677, + 32.379997 + ], + [ + -64.858269, + 32.266796 + ], + [ + -64.78334, + 32.270554 + ] + ] + ] + ] + }, + "name" : "Bermuda", + "iso2" : "BM", + "iso3" : "BMU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "T71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -73.037231, + 21.139444 + ], + [ + -73.024445, + 21.332499 + ], + [ + -73.685837, + 20.935556 + ], + [ + -73.037231, + 21.139444 + ] + ] + ], + [ + [ + [ + -72.924728, + 21.48361 + ], + [ + -73.067505, + 21.507776 + ], + [ + -73.038071, + 21.434999 + ], + [ + -72.924728, + 21.48361 + ] + ] + ], + [ + [ + [ + -72.829178, + 22.382223 + ], + [ + -73.164734, + 22.370832 + ], + [ + -72.781403, + 22.284166 + ], + [ + -72.829178, + 22.382223 + ] + ] + ], + [ + [ + [ + -73.610291, + 22.579721 + ], + [ + -73.598343, + 22.614721 + ], + [ + -73.62056, + 22.599722 + ], + [ + -73.610291, + 22.579721 + ] + ] + ], + [ + [ + [ + -73.462784, + 22.601946 + ], + [ + -73.497787, + 22.618891 + ], + [ + -73.551392, + 22.612223 + ], + [ + -73.462784, + 22.601946 + ] + ] + ], + [ + [ + [ + -74.377792, + 22.538889 + ], + [ + -74.280014, + 22.6625 + ], + [ + -74.379456, + 22.576387 + ], + [ + -74.377792, + 22.538889 + ] + ] + ], + [ + [ + [ + -73.847229, + 22.723612 + ], + [ + -74.281403, + 22.173056 + ], + [ + -73.867508, + 22.469446 + ], + [ + -73.847229, + 22.723612 + ] + ] + ], + [ + [ + [ + -74.073624, + 22.663332 + ], + [ + -74.017792, + 22.716391 + ], + [ + -74.343903, + 22.835001 + ], + [ + -74.073624, + 22.663332 + ] + ] + ], + [ + [ + [ + -73.728897, + 23.070555 + ], + [ + -73.665009, + 23.088888 + ], + [ + -73.813614, + 23.096945 + ], + [ + -73.728897, + 23.070555 + ] + ] + ], + [ + [ + [ + -75.551117, + 23.431391 + ], + [ + -75.650848, + 23.455832 + ], + [ + -75.525009, + 23.404444 + ], + [ + -75.551117, + 23.431391 + ] + ] + ], + [ + [ + [ + -75.021393, + 23.10639 + ], + [ + -74.830566, + 22.860834 + ], + [ + -75.30751, + 23.667776 + ], + [ + -75.021393, + 23.10639 + ] + ] + ], + [ + [ + [ + -75.771957, + 23.499723 + ], + [ + -76.028624, + 23.672499 + ], + [ + -75.991119, + 23.599443 + ], + [ + -75.771957, + 23.499723 + ] + ] + ], + [ + [ + [ + -74.781952, + 23.683889 + ], + [ + -74.948624, + 23.685278 + ], + [ + -74.819733, + 23.639444 + ], + [ + -74.781952, + 23.683889 + ] + ] + ], + [ + [ + [ + -76.363892, + 24.072222 + ], + [ + -76.398346, + 24.113333 + ], + [ + -76.321671, + 23.972776 + ], + [ + -76.363892, + 24.072222 + ] + ] + ], + [ + [ + [ + -74.49028, + 23.954443 + ], + [ + -74.460846, + 24.142778 + ], + [ + -74.526947, + 24.100832 + ], + [ + -74.49028, + 23.954443 + ] + ] + ], + [ + [ + [ + -77.946671, + 24.15 + ], + [ + -77.800293, + 24.253332 + ], + [ + -77.97168, + 24.193609 + ], + [ + -77.946671, + 24.15 + ] + ] + ], + [ + [ + [ + -77.936676, + 24.225832 + ], + [ + -77.931122, + 24.279444 + ], + [ + -78.019455, + 24.250834 + ], + [ + -77.936676, + 24.225832 + ] + ] + ], + [ + [ + [ + -76.468903, + 24.210001 + ], + [ + -76.545288, + 24.290277 + ], + [ + -76.503616, + 24.217779 + ], + [ + -76.468903, + 24.210001 + ] + ] + ], + [ + [ + [ + -77.735565, + 24.028612 + ], + [ + -77.676392, + 24.29611 + ], + [ + -77.876678, + 24.073057 + ], + [ + -77.566956, + 23.739168 + ], + [ + -77.606674, + 24.213888 + ], + [ + -77.735565, + 24.028612 + ] + ] + ], + [ + [ + [ + -77.686951, + 24.337221 + ], + [ + -77.703339, + 24.369722 + ], + [ + -77.806671, + 24.319723 + ], + [ + -77.686951, + 24.337221 + ] + ] + ], + [ + [ + [ + -75.314728, + 24.213888 + ], + [ + -75.739456, + 24.695002 + ], + [ + -75.515015, + 24.139723 + ], + [ + -75.314728, + 24.213888 + ] + ] + ], + [ + [ + [ + -77.436401, + 25.008055 + ], + [ + -77.258621, + 25.049444 + ], + [ + -77.561401, + 25.027498 + ], + [ + -77.436401, + 25.008055 + ] + ] + ], + [ + [ + [ + -78.191956, + 25.203611 + ], + [ + -78.19278, + 24.597502 + ], + [ + -78.440567, + 24.613611 + ], + [ + -78.021393, + 24.272779 + ], + [ + -77.716675, + 24.506666 + ], + [ + -78.191956, + 25.203611 + ] + ] + ], + [ + [ + [ + -76.53334, + 25.398333 + ], + [ + -76.735291, + 25.559168 + ], + [ + -76.715836, + 25.441668 + ], + [ + -76.355835, + 25.318335 + ], + [ + -76.171677, + 25.140833 + ], + [ + -76.168335, + 24.690001 + ], + [ + -76.118895, + 25.131109 + ], + [ + -76.349701, + 25.343283 + ], + [ + -76.53334, + 25.398333 + ] + ] + ], + [ + [ + [ + -77.821945, + 25.702223 + ], + [ + -77.8564, + 25.775278 + ], + [ + -77.888062, + 25.785002 + ], + [ + -77.821945, + 25.702223 + ] + ] + ], + [ + [ + [ + -77.563339, + 26.268888 + ], + [ + -77.537231, + 26.306944 + ], + [ + -77.57251, + 26.336111 + ], + [ + -77.563339, + 26.268888 + ] + ] + ], + [ + [ + [ + -77.917236, + 26.745279 + ], + [ + -78.978897, + 26.695276 + ], + [ + -78.708618, + 26.489721 + ], + [ + -77.917236, + 26.745279 + ] + ] + ], + [ + [ + [ + -77.735001, + 26.914446 + ], + [ + -77.950287, + 26.897779 + ], + [ + -77.148895, + 26.548887 + ], + [ + -77.398056, + 26.026388 + ], + [ + -77.204727, + 25.880835 + ], + [ + -77.042236, + 26.50889 + ], + [ + -77.735001, + 26.914446 + ] + ] + ] + ] + }, + "name" : "Bahamas", + "iso2" : "BS", + "iso3" : "BHS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "UL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 91.897493, + 21.476664 + ], + [ + 91.98221, + 21.623888 + ], + [ + 91.88109, + 21.755278 + ], + [ + 91.897493, + 21.476664 + ] + ] + ], + [ + [ + [ + 90.490541, + 21.80361 + ], + [ + 90.492754, + 21.814444 + ], + [ + 90.467485, + 21.820555 + ], + [ + 90.490541, + 21.80361 + ] + ] + ], + [ + [ + [ + 90.432482, + 21.819998 + ], + [ + 90.452776, + 21.850275 + ], + [ + 90.412767, + 21.82361 + ], + [ + 90.432482, + 21.819998 + ] + ] + ], + [ + [ + [ + 89.12665, + 21.714163 + ], + [ + 89.146379, + 21.748884 + ], + [ + 89.050539, + 21.914721 + ], + [ + 89.12665, + 21.714163 + ] + ] + ], + [ + [ + [ + 90.753054, + 21.891943 + ], + [ + 90.762209, + 21.906385 + ], + [ + 90.744432, + 21.922499 + ], + [ + 90.753054, + 21.891943 + ] + ] + ], + [ + [ + [ + 91.832766, + 21.722219 + ], + [ + 91.886385, + 21.842775 + ], + [ + 91.863039, + 21.928053 + ], + [ + 91.832766, + 21.722219 + ] + ] + ], + [ + [ + [ + 90.643877, + 21.906107 + ], + [ + 90.665545, + 21.955553 + ], + [ + 90.633333, + 21.930552 + ], + [ + 90.643877, + 21.906107 + ] + ] + ], + [ + [ + [ + 90.699144, + 21.954718 + ], + [ + 90.690538, + 21.972773 + ], + [ + 90.675264, + 21.949999 + ], + [ + 90.699144, + 21.954718 + ] + ] + ], + [ + [ + [ + 90.522493, + 21.855833 + ], + [ + 90.58832, + 21.981386 + ], + [ + 90.519716, + 21.935553 + ], + [ + 90.522493, + 21.855833 + ] + ] + ], + [ + [ + [ + 90.410814, + 21.899443 + ], + [ + 90.484987, + 21.964998 + ], + [ + 90.430269, + 22.042223 + ], + [ + 90.410814, + 21.899443 + ] + ] + ], + [ + [ + [ + 90.374147, + 22.01 + ], + [ + 90.380266, + 22.050554 + ], + [ + 90.341661, + 21.966387 + ], + [ + 90.374147, + 22.01 + ] + ] + ], + [ + [ + [ + 90.523607, + 21.991106 + ], + [ + 90.6122, + 22.163885 + ], + [ + 90.486925, + 22.078886 + ], + [ + 90.523607, + 21.991106 + ] + ] + ], + [ + [ + [ + 90.516939, + 22.162218 + ], + [ + 90.527773, + 22.179441 + ], + [ + 90.512209, + 22.17111 + ], + [ + 90.516939, + 22.162218 + ] + ] + ], + [ + [ + [ + 90.937487, + 22.112776 + ], + [ + 90.952211, + 22.20944 + ], + [ + 90.914705, + 22.131941 + ], + [ + 90.937487, + 22.112776 + ] + ] + ], + [ + [ + [ + 90.984987, + 22.182497 + ], + [ + 90.991655, + 22.259165 + ], + [ + 90.971926, + 22.240831 + ], + [ + 90.984987, + 22.182497 + ] + ] + ], + [ + [ + [ + 90.949419, + 22.221384 + ], + [ + 90.988588, + 22.286943 + ], + [ + 90.976381, + 22.357775 + ], + [ + 90.949419, + 22.221384 + ] + ] + ], + [ + [ + [ + 91.005831, + 22.368055 + ], + [ + 90.989977, + 22.414164 + ], + [ + 90.985262, + 22.385275 + ], + [ + 91.005831, + 22.368055 + ] + ] + ], + [ + [ + [ + 90.660265, + 22.356386 + ], + [ + 90.610262, + 22.451941 + ], + [ + 90.640276, + 22.308332 + ], + [ + 90.660265, + 22.356386 + ] + ] + ], + [ + [ + [ + 91.036104, + 22.404997 + ], + [ + 91.040545, + 22.453608 + ], + [ + 91.018053, + 22.414721 + ], + [ + 91.036104, + 22.404997 + ] + ] + ], + [ + [ + [ + 91.210543, + 22.412218 + ], + [ + 91.168596, + 22.461386 + ], + [ + 91.185534, + 22.392496 + ], + [ + 91.210543, + 22.412218 + ] + ] + ], + [ + [ + [ + 91.007494, + 22.424997 + ], + [ + 91.009157, + 22.476385 + ], + [ + 90.987764, + 22.440832 + ], + [ + 91.007494, + 22.424997 + ] + ] + ], + [ + [ + [ + 90.663042, + 22.434996 + ], + [ + 90.65555, + 22.478609 + ], + [ + 90.647493, + 22.427774 + ], + [ + 90.663042, + 22.434996 + ] + ] + ], + [ + [ + [ + 91.031664, + 22.084166 + ], + [ + 91.1747, + 22.218607 + ], + [ + 91.088045, + 22.525831 + ], + [ + 91.031664, + 22.084166 + ] + ] + ], + [ + [ + [ + 91.529711, + 22.347776 + ], + [ + 91.431658, + 22.623888 + ], + [ + 91.408327, + 22.472219 + ], + [ + 91.529711, + 22.347776 + ] + ] + ], + [ + [ + [ + 91.339434, + 22.629999 + ], + [ + 91.304705, + 22.628332 + ], + [ + 91.317766, + 22.608889 + ], + [ + 91.339434, + 22.629999 + ] + ] + ], + [ + [ + [ + 90.763887, + 22.064444 + ], + [ + 90.877474, + 22.45722 + ], + [ + 90.58777, + 22.771944 + ], + [ + 90.556932, + 22.605276 + ], + [ + 90.642763, + 22.553053 + ], + [ + 90.68471, + 22.392496 + ], + [ + 90.601091, + 22.034166 + ], + [ + 90.763887, + 22.064444 + ] + ] + ], + [ + [ + [ + 90.547213, + 22.719442 + ], + [ + 90.54162, + 22.783197 + ], + [ + 90.691088, + 22.846945 + ], + [ + 90.469713, + 22.868887 + ], + [ + 90.547213, + 22.719442 + ] + ] + ], + [ + [ + [ + 90.662203, + 22.956385 + ], + [ + 90.570833, + 23.040277 + ], + [ + 90.509157, + 22.951109 + ], + [ + 90.656099, + 22.912218 + ], + [ + 90.632753, + 22.949163 + ], + [ + 90.662203, + 22.956385 + ] + ] + ], + [ + [ + [ + 90.47748, + 23.007776 + ], + [ + 90.51082, + 23.061945 + ], + [ + 90.46332, + 23.059164 + ], + [ + 90.47748, + 23.007776 + ] + ] + ], + [ + [ + [ + 90.529711, + 23.04722 + ], + [ + 90.544985, + 23.065275 + ], + [ + 90.521929, + 23.05472 + ], + [ + 90.529711, + 23.04722 + ] + ] + ], + [ + [ + [ + 90.540819, + 23.343889 + ], + [ + 90.421648, + 23.383055 + ], + [ + 90.590273, + 23.3025 + ], + [ + 90.540819, + 23.343889 + ] + ] + ], + [ + [ + [ + 90.57361, + 23.564722 + ], + [ + 90.584154, + 23.583887 + ], + [ + 90.564425, + 23.576944 + ], + [ + 90.57361, + 23.564722 + ] + ] + ], + [ + [ + [ + 92.600817, + 21.982218 + ], + [ + 92.283327, + 23.705275 + ], + [ + 91.949999, + 23.732218 + ], + [ + 91.613604, + 22.943052 + ], + [ + 91.159426, + 23.640554 + ], + [ + 91.373293, + 24.101942 + ], + [ + 92.12137, + 24.393332 + ], + [ + 92.406374, + 25.030554 + ], + [ + 89.845263, + 25.28861 + ], + [ + 89.739153, + 26.156385 + ], + [ + 89.342775, + 26.017031 + ], + [ + 88.433046, + 26.55139 + ], + [ + 88.110537, + 25.835554 + ], + [ + 89.009432, + 25.288332 + ], + [ + 88.450823, + 25.187777 + ], + [ + 88.043322, + 24.684164 + ], + [ + 88.750536, + 24.220984 + ], + [ + 88.563875, + 23.65222 + ], + [ + 88.986101, + 23.20833 + ], + [ + 89.063005, + 22.115477 + ], + [ + 89.249147, + 21.642496 + ], + [ + 89.620821, + 22.324442 + ], + [ + 89.581102, + 21.701662 + ], + [ + 90.000002, + 22.483751 + ], + [ + 89.932207, + 21.997774 + ], + [ + 90.073046, + 22.162775 + ], + [ + 90.024706, + 21.859999 + ], + [ + 90.272493, + 21.849165 + ], + [ + 90.401384, + 22.260557 + ], + [ + 90.440538, + 22.071665 + ], + [ + 90.617754, + 22.353888 + ], + [ + 90.424402, + 22.770189 + ], + [ + 90.446642, + 23.065001 + ], + [ + 90.5786, + 23.089998 + ], + [ + 90.61249, + 23.222219 + ], + [ + 90.30887, + 23.414442 + ], + [ + 90.593828, + 23.597967 + ], + [ + 90.833605, + 22.685553 + ], + [ + 91.455828, + 22.789999 + ], + [ + 91.699999, + 22.488329 + ], + [ + 92.32361, + 20.73805 + ], + [ + 92.261934, + 21.054312 + ], + [ + 92.26082, + 21.414442 + ], + [ + 92.669344, + 21.296984 + ], + [ + 92.600817, + 21.982218 + ] + ], + [ + [ + 90.237764, + 22.192774 + ], + [ + 90.216097, + 22.114443 + ], + [ + 90.061373, + 21.991774 + ], + [ + 90.237764, + 22.192774 + ] + ], + [ + [ + 90.684984, + 23.482775 + ], + [ + 90.65027, + 23.504168 + ], + [ + 90.691927, + 23.497217 + ], + [ + 90.684984, + 23.482775 + ] + ] + ] + ] + }, + "name" : "Bangladesh", + "iso2" : "BD", + "iso3" : "BGD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ub1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -87.803345, + 17.294167 + ], + [ + -87.82695, + 17.400276 + ], + [ + -87.825012, + 17.291664 + ], + [ + -87.803345, + 17.294167 + ] + ] + ], + [ + [ + [ + -87.820557, + 17.426941 + ], + [ + -87.819458, + 17.549999 + ], + [ + -87.926682, + 17.275555 + ], + [ + -87.820557, + 17.426941 + ] + ] + ], + [ + [ + [ + -88.045013, + 17.552776 + ], + [ + -88.053619, + 17.613052 + ], + [ + -88.070282, + 17.638332 + ], + [ + -88.045013, + 17.552776 + ] + ] + ], + [ + [ + [ + -88.132507, + 17.667221 + ], + [ + -88.072784, + 17.733887 + ], + [ + -88.167511, + 17.66972 + ], + [ + -88.132507, + 17.667221 + ] + ] + ], + [ + [ + [ + -87.892227, + 18.0425 + ], + [ + -87.853058, + 18.164719 + ], + [ + -88.006119, + 17.901943 + ], + [ + -87.892227, + 18.0425 + ] + ] + ], + [ + [ + [ + -88.910568, + 15.89361 + ], + [ + -88.208618, + 16.968609 + ], + [ + -88.281403, + 17.636108 + ], + [ + -88.077789, + 18.215553 + ], + [ + -88.2995, + 18.482929 + ], + [ + -88.377792, + 18.482777 + ], + [ + -89.141953, + 17.818886 + ], + [ + -89.216171, + 15.889851 + ], + [ + -88.910568, + 15.89361 + ] + ] + ] + ] + }, + "name" : "Belize", + "iso2" : "BZ", + "iso3" : "BLZ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ur1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 19.039719, + 44.861382 + ], + [ + 18.251942, + 45.138885 + ], + [ + 15.786665, + 45.171944 + ], + [ + 16.143055, + 44.19944 + ], + [ + 17.578526, + 42.943825 + ], + [ + 17.649841, + 42.889076 + ], + [ + 18.455555, + 42.565826 + ], + [ + 18.699997, + 43.255554 + ], + [ + 19.228809, + 43.513214 + ], + [ + 19.51083, + 43.679718 + ], + [ + 19.237019, + 44.011009 + ], + [ + 19.620476, + 44.048454 + ], + [ + 19.104443, + 44.355827 + ], + [ + 19.371387, + 44.88916 + ], + [ + 19.039719, + 44.861382 + ] + ] + ] + }, + "name" : "Bosnia and Herzegovina", + "iso2" : "BA", + "iso3" : "BIH" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "U71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -67.183624, + -22.821667 + ], + [ + -66.223007, + -21.780521 + ], + [ + -65.748062, + -22.111668 + ], + [ + -65.190201, + -22.09473 + ], + [ + -64.590561, + -22.214725 + ], + [ + -64.324722, + -22.873611 + ], + [ + -63.941116, + -22.000835 + ], + [ + -62.811951, + -21.996948 + ], + [ + -62.643768, + -22.238903 + ], + [ + -61.7425, + -19.645 + ], + [ + -59.09584, + -19.348892 + ], + [ + -58.15139, + -19.828056 + ], + [ + -58.15889, + -20.168056 + ], + [ + -57.848747, + -19.978794 + ], + [ + -58.121117, + -19.74139 + ], + [ + -57.521118, + -18.203892 + ], + [ + -57.743057, + -17.593056 + ], + [ + -58.397507, + -17.249168 + ], + [ + -58.327507, + -16.279167 + ], + [ + -60.160278, + -16.263058 + ], + [ + -60.571396, + -15.097502 + ], + [ + -60.258896, + -15.093613 + ], + [ + -60.47084, + -13.807222 + ], + [ + -61.038979, + -13.493118 + ], + [ + -61.833893, + -13.544724 + ], + [ + -63.075005, + -12.650002 + ], + [ + -64.39418, + -12.461668 + ], + [ + -64.991669, + -12.008057 + ], + [ + -65.392792, + -11.26639 + ], + [ + -65.381958, + -9.697779 + ], + [ + -66.634445, + -9.906946 + ], + [ + -68.58345, + -11.106138 + ], + [ + -69.568436, + -10.951092 + ], + [ + -68.673904, + -12.50115 + ], + [ + -68.974457, + -12.869722 + ], + [ + -68.853058, + -14.199167 + ], + [ + -69.366394, + -14.802502 + ], + [ + -69.136948, + -15.245834 + ], + [ + -69.421951, + -15.618057 + ], + [ + -68.82251, + -16.339725 + ], + [ + -69.618896, + -17.214725 + ], + [ + -69.499725, + -17.50528 + ], + [ + -69.483612, + -17.635559 + ], + [ + -69.071671, + -18.038891 + ], + [ + -68.907791, + -19.055279 + ], + [ + -68.4375, + -19.430279 + ], + [ + -68.756958, + -20.406948 + ], + [ + -68.188614, + -21.296947 + ], + [ + -67.876404, + -22.828056 + ], + [ + -67.183624, + -22.821667 + ] + ] + ] + }, + "name" : "Bolivia", + "iso2" : "BO", + "iso3" : "BOL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "VL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 98.035812, + 9.786386 + ], + [ + 98.060257, + 9.81361 + ], + [ + 98.024994, + 9.838331 + ], + [ + 98.035812, + 9.786386 + ] + ] + ], + [ + [ + [ + 98.29332, + 10.010277 + ], + [ + 98.178589, + 10.017776 + ], + [ + 98.116089, + 9.852497 + ], + [ + 98.29332, + 10.010277 + ] + ] + ], + [ + [ + [ + 98.186646, + 10.040276 + ], + [ + 98.238876, + 10.165833 + ], + [ + 98.198593, + 10.189999 + ], + [ + 98.186646, + 10.040276 + ] + ] + ], + [ + [ + [ + 97.907486, + 10.396944 + ], + [ + 97.942749, + 10.442776 + ], + [ + 97.903595, + 10.490831 + ], + [ + 97.907486, + 10.396944 + ] + ] + ], + [ + [ + [ + 98.216385, + 10.481386 + ], + [ + 98.238876, + 10.529999 + ], + [ + 98.18248, + 10.5075 + ], + [ + 98.216385, + 10.481386 + ] + ] + ], + [ + [ + [ + 98.523605, + 10.781666 + ], + [ + 98.550812, + 10.850275 + ], + [ + 98.486923, + 10.883053 + ], + [ + 98.523605, + 10.781666 + ] + ] + ], + [ + [ + [ + 97.919708, + 10.858332 + ], + [ + 97.916092, + 10.929443 + ], + [ + 97.885818, + 10.843609 + ], + [ + 97.919708, + 10.858332 + ] + ] + ], + [ + [ + [ + 98.212204, + 10.947777 + ], + [ + 98.075546, + 10.88611 + ], + [ + 98.264435, + 10.68972 + ], + [ + 98.212204, + 10.947777 + ] + ] + ], + [ + [ + [ + 98.437195, + 10.961943 + ], + [ + 98.452774, + 11.007776 + ], + [ + 98.429977, + 10.995831 + ], + [ + 98.437195, + 10.961943 + ] + ] + ], + [ + [ + [ + 98.533875, + 10.950554 + ], + [ + 98.524994, + 11.087219 + ], + [ + 98.470535, + 10.983887 + ], + [ + 98.533875, + 10.950554 + ] + ] + ], + [ + [ + [ + 98.256104, + 11.212498 + ], + [ + 98.277771, + 11.276388 + ], + [ + 98.231094, + 11.262499 + ], + [ + 98.256104, + 11.212498 + ] + ] + ], + [ + [ + [ + 98.207489, + 11.443609 + ], + [ + 98.280823, + 11.481665 + ], + [ + 98.289154, + 11.798609 + ], + [ + 98.207489, + 11.443609 + ] + ] + ], + [ + [ + [ + 98.498322, + 11.566109 + ], + [ + 98.548874, + 11.788332 + ], + [ + 98.371368, + 11.78611 + ], + [ + 98.498322, + 11.566109 + ] + ] + ], + [ + [ + [ + 97.487198, + 11.774443 + ], + [ + 97.461655, + 11.803053 + ], + [ + 97.437759, + 11.803331 + ], + [ + 97.487198, + 11.774443 + ] + ] + ], + [ + [ + [ + 98.089981, + 11.631109 + ], + [ + 98.007217, + 11.858332 + ], + [ + 98.033051, + 11.683054 + ], + [ + 98.089981, + 11.631109 + ] + ] + ], + [ + [ + [ + 97.66832, + 11.836943 + ], + [ + 97.664429, + 11.90111 + ], + [ + 97.633881, + 11.876108 + ], + [ + 97.66832, + 11.836943 + ] + ] + ], + [ + [ + [ + 98.271103, + 11.84972 + ], + [ + 98.28804, + 11.887499 + ], + [ + 98.260269, + 11.907221 + ], + [ + 98.271103, + 11.84972 + ] + ] + ], + [ + [ + [ + 98.256378, + 11.92111 + ], + [ + 98.251663, + 11.980276 + ], + [ + 98.226379, + 11.94972 + ], + [ + 98.256378, + 11.92111 + ] + ] + ], + [ + [ + [ + 98.5, + 11.884443 + ], + [ + 98.664993, + 11.941942 + ], + [ + 98.438583, + 12.111387 + ], + [ + 98.5, + 11.884443 + ] + ] + ], + [ + [ + [ + 98.141937, + 12.141943 + ], + [ + 98.124695, + 12.27861 + ], + [ + 98.055542, + 12.281111 + ], + [ + 98.141937, + 12.141943 + ] + ] + ], + [ + [ + [ + 98.640823, + 12.372219 + ], + [ + 98.639709, + 12.380552 + ], + [ + 98.619141, + 12.378885 + ], + [ + 98.640823, + 12.372219 + ] + ] + ], + [ + [ + [ + 98.617805, + 12.352951 + ], + [ + 98.57193, + 12.409164 + ], + [ + 98.540817, + 12.370552 + ], + [ + 98.559708, + 12.328886 + ], + [ + 98.68248, + 12.340553 + ], + [ + 98.617805, + 12.352951 + ] + ] + ], + [ + [ + [ + 98.09166, + 12.360554 + ], + [ + 97.937485, + 12.337498 + ], + [ + 98.005554, + 12.281942 + ], + [ + 98.09166, + 12.360554 + ] + ] + ], + [ + [ + [ + 98.501099, + 12.402222 + ], + [ + 98.498871, + 12.513887 + ], + [ + 98.471924, + 12.417776 + ], + [ + 98.501099, + 12.402222 + ] + ] + ], + [ + [ + [ + 98.285812, + 12.502499 + ], + [ + 98.229706, + 12.548054 + ], + [ + 98.243317, + 12.49222 + ], + [ + 98.285812, + 12.502499 + ] + ] + ], + [ + [ + [ + 97.853592, + 12.539999 + ], + [ + 97.837494, + 12.598053 + ], + [ + 97.817764, + 12.583332 + ], + [ + 97.853592, + 12.539999 + ] + ] + ], + [ + [ + [ + 98.349426, + 12.316942 + ], + [ + 98.466934, + 12.570831 + ], + [ + 98.32193, + 12.67111 + ], + [ + 98.349426, + 12.316942 + ] + ] + ], + [ + [ + [ + 97.872208, + 12.764166 + ], + [ + 97.844147, + 12.819443 + ], + [ + 97.83728, + 12.772419 + ], + [ + 97.872208, + 12.764166 + ] + ] + ], + [ + [ + [ + 98.304153, + 13.041666 + ], + [ + 98.239426, + 13.213331 + ], + [ + 98.298035, + 12.941387 + ], + [ + 98.304153, + 13.041666 + ] + ] + ], + [ + [ + [ + 97.921097, + 13.783054 + ], + [ + 97.934708, + 13.851664 + ], + [ + 97.921921, + 13.861664 + ], + [ + 97.921097, + 13.783054 + ] + ] + ], + [ + [ + [ + 97.924423, + 13.905832 + ], + [ + 97.91835, + 13.939081 + ], + [ + 97.923035, + 13.894444 + ], + [ + 97.924423, + 13.905832 + ] + ] + ], + [ + [ + [ + 93.380539, + 14.064165 + ], + [ + 93.400818, + 14.096109 + ], + [ + 93.386383, + 14.151665 + ], + [ + 93.380539, + 14.064165 + ] + ] + ], + [ + [ + [ + 97.806366, + 14.134443 + ], + [ + 97.814148, + 14.179998 + ], + [ + 97.789154, + 14.155277 + ], + [ + 97.806366, + 14.134443 + ] + ] + ], + [ + [ + [ + 93.722488, + 14.904444 + ], + [ + 93.6922, + 14.890833 + ], + [ + 93.679153, + 14.848331 + ], + [ + 93.722488, + 14.904444 + ] + ] + ], + [ + [ + [ + 97.669708, + 15.521387 + ], + [ + 97.65416, + 15.578331 + ], + [ + 97.66304, + 15.497219 + ], + [ + 97.669708, + 15.521387 + ] + ] + ], + [ + [ + [ + 94.79776, + 15.791666 + ], + [ + 94.820541, + 15.948053 + ], + [ + 94.728043, + 15.815275 + ], + [ + 94.79776, + 15.791666 + ] + ] + ], + [ + [ + [ + 94.583328, + 16.00972 + ], + [ + 94.649429, + 16.245274 + ], + [ + 94.386658, + 15.995831 + ], + [ + 94.415817, + 15.868053 + ], + [ + 94.583328, + 16.00972 + ] + ] + ], + [ + [ + [ + 97.569153, + 16.233604 + ], + [ + 97.616653, + 16.465271 + ], + [ + 97.515549, + 16.506107 + ], + [ + 97.569153, + 16.233604 + ] + ] + ], + [ + [ + [ + 93.671097, + 18.867496 + ], + [ + 93.484421, + 18.869717 + ], + [ + 93.703049, + 18.668053 + ], + [ + 93.671097, + 18.867496 + ] + ] + ], + [ + [ + [ + 93.790924, + 19.231342 + ], + [ + 93.49054, + 19.400829 + ], + [ + 93.9422, + 18.862495 + ], + [ + 93.790924, + 19.231342 + ] + ] + ], + [ + [ + [ + 93.801651, + 19.268608 + ], + [ + 93.968323, + 19.42083 + ], + [ + 93.682755, + 19.560555 + ], + [ + 93.801651, + 19.268608 + ] + ] + ], + [ + [ + [ + 93.513046, + 19.744438 + ], + [ + 93.498596, + 19.88055 + ], + [ + 93.395828, + 19.955273 + ], + [ + 93.513046, + 19.744438 + ] + ] + ], + [ + [ + [ + 93.024429, + 19.827774 + ], + [ + 92.954437, + 20.06361 + ], + [ + 92.912491, + 20.086662 + ], + [ + 93.024429, + 19.827774 + ] + ] + ], + [ + [ + [ + 101.148239, + 21.572636 + ], + [ + 101.105263, + 21.771385 + ], + [ + 100.212753, + 21.432552 + ], + [ + 99.964432, + 22.048885 + ], + [ + 99.162766, + 22.159161 + ], + [ + 99.566376, + 22.938049 + ], + [ + 98.927475, + 23.189163 + ], + [ + 98.6772, + 23.968052 + ], + [ + 98.890732, + 24.160069 + ], + [ + 97.535538, + 23.939716 + ], + [ + 97.759995, + 24.257496 + ], + [ + 97.552475, + 24.74305 + ], + [ + 98.710815, + 25.855553 + ], + [ + 98.77832, + 26.636383 + ], + [ + 98.699707, + 27.539165 + ], + [ + 98.316376, + 27.541943 + ], + [ + 97.806641, + 28.344162 + ], + [ + 97.555252, + 28.548054 + ], + [ + 97.348877, + 28.222771 + ], + [ + 96.886658, + 27.606106 + ], + [ + 97.136658, + 27.085831 + ], + [ + 96.194138, + 27.270832 + ], + [ + 95.141373, + 26.612495 + ], + [ + 95.17804, + 26.058887 + ], + [ + 94.625534, + 25.397774 + ], + [ + 94.734421, + 25.024719 + ], + [ + 94.151093, + 23.855274 + ], + [ + 93.33873, + 24.077915 + ], + [ + 93.19664, + 22.256386 + ], + [ + 92.600815, + 21.982216 + ], + [ + 92.669342, + 21.296982 + ], + [ + 92.260818, + 21.41444 + ], + [ + 92.261932, + 21.05431 + ], + [ + 92.860809, + 20.121109 + ], + [ + 93.081665, + 20.548607 + ], + [ + 93.129974, + 19.835552 + ], + [ + 93.128311, + 20.085552 + ], + [ + 93.728592, + 19.931664 + ], + [ + 93.599152, + 19.719715 + ], + [ + 93.991928, + 19.457218 + ], + [ + 94.6147, + 17.546387 + ], + [ + 94.245529, + 15.959997 + ], + [ + 94.631088, + 16.342773 + ], + [ + 94.679703, + 16.115829 + ], + [ + 94.560257, + 15.941942 + ], + [ + 94.793045, + 16.153606 + ], + [ + 94.650543, + 15.854164 + ], + [ + 94.990814, + 16.246662 + ], + [ + 94.848877, + 15.77972 + ], + [ + 95.137207, + 16.137218 + ], + [ + 95.216385, + 15.782776 + ], + [ + 95.360809, + 16.144718 + ], + [ + 95.428589, + 15.729719 + ], + [ + 96.268326, + 16.389717 + ], + [ + 96.241928, + 16.803734 + ], + [ + 96.3797, + 16.501389 + ], + [ + 96.777771, + 16.703884 + ], + [ + 96.878036, + 17.449997 + ], + [ + 97.378036, + 16.494995 + ], + [ + 97.737488, + 16.563885 + ], + [ + 97.797256, + 14.881962 + ], + [ + 98.138885, + 13.539721 + ], + [ + 98.185532, + 14.059164 + ], + [ + 98.583328, + 13.172775 + ], + [ + 98.70359, + 12.340046 + ], + [ + 98.533165, + 12.245721 + ], + [ + 98.705872, + 12.224465 + ], + [ + 98.721924, + 11.976109 + ], + [ + 98.597488, + 11.751665 + ], + [ + 98.890549, + 11.700275 + ], + [ + 98.743591, + 11.666943 + ], + [ + 98.710815, + 10.918331 + ], + [ + 98.460266, + 10.734442 + ], + [ + 98.546646, + 9.981665 + ], + [ + 98.742752, + 10.348608 + ], + [ + 99.661652, + 11.826942 + ], + [ + 99.112198, + 13.055832 + ], + [ + 99.173965, + 13.727781 + ], + [ + 98.201096, + 15.074999 + ], + [ + 98.92804, + 16.38583 + ], + [ + 98.689697, + 16.284996 + ], + [ + 97.346375, + 18.562496 + ], + [ + 97.774704, + 18.569996 + ], + [ + 98.049988, + 19.807499 + ], + [ + 98.995529, + 19.780552 + ], + [ + 99.522766, + 20.352776 + ], + [ + 100.081322, + 20.348841 + ], + [ + 100.09137, + 20.348606 + ], + [ + 101.148239, + 21.572636 + ] + ] + ] + ] + }, + "name" : "Burma", + "iso2" : "MM", + "iso3" : "MMR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Vb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 1.635404, + 6.218721 + ], + [ + 2.484418, + 6.340486 + ], + [ + 2.719606, + 6.365505 + ], + [ + 2.789444, + 9.043888 + ], + [ + 3.095, + 9.090555 + ], + [ + 3.855, + 10.584999 + ], + [ + 3.604459, + 11.693274 + ], + [ + 2.83862, + 12.396658 + ], + [ + 2.378054, + 12.240274 + ], + [ + 2.397925, + 11.896152 + ], + [ + 2.014722, + 11.422499 + ], + [ + 1.435278, + 11.458887 + ], + [ + 0.91797, + 10.996399 + ], + [ + 0.776667, + 10.376665 + ], + [ + 1.355, + 9.995277 + ], + [ + 1.398542, + 9.429901 + ], + [ + 1.635404, + 6.218721 + ] + ] + ] + }, + "name" : "Benin", + "iso2" : "BJ", + "iso3" : "BEN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Vr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 166.850527, + -11.696945 + ], + [ + 166.931917, + -11.667223 + ], + [ + 166.761385, + -11.579445 + ], + [ + 166.850527, + -11.696945 + ] + ] + ], + [ + [ + [ + 160.080812, + -11.498055 + ], + [ + 159.960787, + -11.521666 + ], + [ + 160.527468, + -11.808056 + ], + [ + 160.080812, + -11.498055 + ] + ] + ], + [ + [ + [ + 159.853304, + -11.324722 + ], + [ + 159.841646, + -11.303888 + ], + [ + 159.776644, + -11.288612 + ], + [ + 159.853304, + -11.324722 + ] + ] + ], + [ + [ + [ + 166.53525, + -11.363888 + ], + [ + 166.580538, + -11.324167 + ], + [ + 166.518038, + -11.271112 + ], + [ + 166.53525, + -11.363888 + ] + ] + ], + [ + [ + [ + 162.474977, + -10.855555 + ], + [ + 162.500551, + -10.84 + ], + [ + 162.481356, + -10.807501 + ], + [ + 162.474977, + -10.855555 + ] + ] + ], + [ + [ + [ + 166.139986, + -10.761112 + ], + [ + 165.904146, + -10.673611 + ], + [ + 165.777468, + -10.805 + ], + [ + 166.139986, + -10.761112 + ] + ] + ], + [ + [ + [ + 161.545259, + -10.276667 + ], + [ + 161.283327, + -10.331944 + ], + [ + 162.39081, + -10.841944 + ], + [ + 161.545259, + -10.276667 + ] + ] + ], + [ + [ + [ + 161.751375, + -10.294445 + ], + [ + 161.771914, + -10.254446 + ], + [ + 161.719973, + -10.214722 + ], + [ + 161.751375, + -10.294445 + ] + ] + ], + [ + [ + [ + 167.203859, + -9.963612 + ], + [ + 167.20801, + -9.950832 + ], + [ + 167.188295, + -9.942223 + ], + [ + 167.203859, + -9.963612 + ] + ] + ], + [ + [ + [ + 167.127748, + -9.880833 + ], + [ + 167.126345, + -9.867222 + ], + [ + 167.108004, + -9.869165 + ], + [ + 167.127748, + -9.880833 + ] + ] + ], + [ + [ + [ + 167.103304, + -9.851664 + ], + [ + 167.108583, + -9.840834 + ], + [ + 167.089418, + -9.8475 + ], + [ + 167.103304, + -9.851664 + ] + ] + ], + [ + [ + [ + 161.974672, + -9.853054 + ], + [ + 161.974123, + -9.689722 + ], + [ + 161.944704, + -9.690277 + ], + [ + 161.974672, + -9.853054 + ] + ] + ], + [ + [ + [ + 161.569124, + -9.724167 + ], + [ + 161.349977, + -9.338888 + ], + [ + 161.397219, + -9.669445 + ], + [ + 161.569124, + -9.724167 + ] + ], + [ + [ + 161.387484, + -9.468611 + ], + [ + 161.38135, + -9.469444 + ], + [ + 161.38553, + -9.454445 + ], + [ + 161.387484, + -9.468611 + ] + ] + ], + [ + [ + [ + 159.938295, + -9.433611 + ], + [ + 159.6019, + -9.317223 + ], + [ + 159.828035, + -9.796946 + ], + [ + 160.831087, + -9.861944 + ], + [ + 160.386385, + -9.426666 + ], + [ + 159.938295, + -9.433611 + ] + ] + ], + [ + [ + [ + 159.828585, + -9.172501 + ], + [ + 159.845797, + -9.138056 + ], + [ + 159.811373, + -9.110832 + ], + [ + 159.828585, + -9.172501 + ] + ] + ], + [ + [ + [ + 160.411104, + -9.136667 + ], + [ + 160.318575, + -9.060278 + ], + [ + 160.212465, + -9.170555 + ], + [ + 160.411104, + -9.136667 + ] + ] + ], + [ + [ + [ + 159.204409, + -9.133333 + ], + [ + 159.228304, + -9.025557 + ], + [ + 159.168032, + -9.102776 + ], + [ + 159.204409, + -9.133333 + ] + ] + ], + [ + [ + [ + 159.147493, + -9.108889 + ], + [ + 159.137209, + -8.994444 + ], + [ + 159.032473, + -9.060278 + ], + [ + 159.147493, + -9.108889 + ] + ] + ], + [ + [ + [ + 160.112185, + -8.997221 + ], + [ + 160.073305, + -8.947779 + ], + [ + 160.065798, + -9.0175 + ], + [ + 160.112185, + -8.997221 + ] + ] + ], + [ + [ + [ + 160.047213, + -8.915276 + ], + [ + 160.029421, + -8.880278 + ], + [ + 160.008333, + -8.884724 + ], + [ + 160.047213, + -8.915276 + ] + ] + ], + [ + [ + [ + 161.060793, + -8.748055 + ], + [ + 161.009432, + -8.754168 + ], + [ + 161.044436, + -8.772501 + ], + [ + 161.060793, + -8.748055 + ] + ] + ], + [ + [ + [ + 157.633883, + -8.748055 + ], + [ + 157.44385, + -8.715 + ], + [ + 157.619967, + -8.800833 + ], + [ + 157.633883, + -8.748055 + ] + ] + ], + [ + [ + [ + 158.205233, + -8.833332 + ], + [ + 158.213594, + -8.681112 + ], + [ + 158.149721, + -8.781389 + ], + [ + 158.205233, + -8.833332 + ] + ] + ], + [ + [ + [ + 158.003054, + -8.771112 + ], + [ + 158.116915, + -8.533333 + ], + [ + 157.875521, + -8.609999 + ], + [ + 158.003054, + -8.771112 + ] + ] + ], + [ + [ + [ + 157.408327, + -8.500834 + ], + [ + 157.199129, + -8.565834 + ], + [ + 157.384432, + -8.734444 + ], + [ + 157.408327, + -8.500834 + ] + ] + ], + [ + [ + [ + 159.683321, + -8.546946 + ], + [ + 159.56885, + -8.378887 + ], + [ + 159.537477, + -8.468332 + ], + [ + 159.683321, + -8.546946 + ] + ] + ], + [ + [ + [ + 162.74106, + -8.373888 + ], + [ + 162.725252, + -8.381388 + ], + [ + 162.76166, + -8.378056 + ], + [ + 162.74106, + -8.373888 + ] + ] + ], + [ + [ + [ + 160.974398, + -8.8475 + ], + [ + 160.580263, + -8.33 + ], + [ + 161.378023, + -9.635 + ], + [ + 160.974398, + -8.8475 + ] + ] + ], + [ + [ + [ + 157.124666, + -8.25528 + ], + [ + 157.023043, + -8.190834 + ], + [ + 157.151369, + -8.342777 + ], + [ + 157.124666, + -8.25528 + ] + ] + ], + [ + [ + [ + 157.20746, + -8.270279 + ], + [ + 157.180819, + -8.170555 + ], + [ + 157.09247, + -8.165834 + ], + [ + 157.20746, + -8.270279 + ] + ] + ], + [ + [ + [ + 156.844973, + -8.118332 + ], + [ + 156.782747, + -8.055279 + ], + [ + 156.783327, + -8.098055 + ], + [ + 156.844973, + -8.118332 + ] + ] + ], + [ + [ + [ + 157.631624, + -8.236387 + ], + [ + 157.497469, + -7.965555 + ], + [ + 157.214418, + -8.243055 + ], + [ + 157.811922, + -8.620832 + ], + [ + 157.631624, + -8.236387 + ] + ] + ], + [ + [ + [ + 156.598848, + -8.203054 + ], + [ + 156.542208, + -7.944721 + ], + [ + 156.531923, + -8.091944 + ], + [ + 156.598848, + -8.203054 + ] + ] + ], + [ + [ + [ + 157.156099, + -8.150278 + ], + [ + 157.027193, + -7.865276 + ], + [ + 156.967745, + -8.046389 + ], + [ + 157.156099, + -8.150278 + ] + ] + ], + [ + [ + [ + 158.571901, + -7.703611 + ], + [ + 158.54999, + -7.664165 + ], + [ + 158.532198, + -7.691387 + ], + [ + 158.571901, + -7.703611 + ] + ] + ], + [ + [ + [ + 158.530825, + -7.654167 + ], + [ + 158.312746, + -7.580833 + ], + [ + 158.359407, + -7.640556 + ], + [ + 158.530825, + -7.654167 + ] + ] + ], + [ + [ + [ + 156.706636, + -7.897223 + ], + [ + 156.808596, + -7.726665 + ], + [ + 156.554415, + -7.578611 + ], + [ + 156.706636, + -7.897223 + ] + ] + ], + [ + [ + [ + 159.852449, + -8.333889 + ], + [ + 158.487459, + -7.554167 + ], + [ + 159.886934, + -8.566389 + ], + [ + 159.852449, + -8.333889 + ] + ] + ], + [ + [ + [ + 158.429415, + -7.529722 + ], + [ + 158.262758, + -7.477499 + ], + [ + 158.370516, + -7.552776 + ], + [ + 158.429415, + -7.529722 + ] + ] + ], + [ + [ + [ + 157.781649, + -7.47611 + ], + [ + 157.749392, + -7.393888 + ], + [ + 157.683596, + -7.415556 + ], + [ + 157.781649, + -7.47611 + ] + ] + ], + [ + [ + [ + 155.587465, + -7.390556 + ], + [ + 155.584688, + -7.331944 + ], + [ + 155.510805, + -7.35111 + ], + [ + 155.587465, + -7.390556 + ] + ] + ], + [ + [ + [ + 155.858858, + -7.100277 + ], + [ + 155.740236, + -6.967499 + ], + [ + 155.66971, + -7.088055 + ], + [ + 155.858858, + -7.100277 + ] + ] + ], + [ + [ + [ + 156.110231, + -6.941111 + ], + [ + 156.074678, + -6.819166 + ], + [ + 156.084963, + -6.989443 + ], + [ + 156.110231, + -6.941111 + ] + ] + ], + [ + [ + [ + 156.019991, + -6.824722 + ], + [ + 156.045259, + -6.78861 + ], + [ + 156.000002, + -6.80361 + ], + [ + 156.019991, + -6.824722 + ] + ] + ], + [ + [ + [ + 157.428865, + -7.324444 + ], + [ + 156.43857, + -6.643612 + ], + [ + 156.936098, + -7.219166 + ], + [ + 157.428865, + -7.324444 + ] + ] + ], + [ + [ + [ + 159.71274, + -5.516666 + ], + [ + 159.723848, + -5.49 + ], + [ + 159.714144, + -5.483889 + ], + [ + 159.71274, + -5.516666 + ] + ] + ], + [ + [ + [ + 159.528597, + -5.498888 + ], + [ + 159.509981, + -5.470833 + ], + [ + 159.49634, + -5.466944 + ], + [ + 159.528597, + -5.498888 + ] + ] + ], + [ + [ + [ + 159.403872, + -5.448332 + ], + [ + 159.348848, + -5.415833 + ], + [ + 159.371614, + -5.440832 + ], + [ + 159.403872, + -5.448332 + ] + ] + ], + [ + [ + [ + 159.252199, + -5.312778 + ], + [ + 159.248842, + -5.293055 + ], + [ + 159.250277, + -5.324167 + ], + [ + 159.252199, + -5.312778 + ] + ] + ] + ] + }, + "name" : "Solomon Islands", + "iso2" : "SB", + "iso3" : "SLB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "V71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -48.55056, + -27.821392 + ], + [ + -48.418335, + -27.388889 + ], + [ + -48.517227, + -27.430836 + ], + [ + -48.55056, + -27.821392 + ] + ] + ], + [ + [ + [ + -48.581116, + -26.39167 + ], + [ + -48.537781, + -26.167225 + ], + [ + -48.707779, + -26.309723 + ], + [ + -48.581116, + -26.39167 + ] + ] + ], + [ + [ + [ + -48.282501, + -25.486115 + ], + [ + -48.256668, + -25.33889 + ], + [ + -48.333061, + -25.413059 + ], + [ + -48.282501, + -25.486115 + ] + ] + ], + [ + [ + [ + -47.877785, + -25.026947 + ], + [ + -47.606674, + -24.783611 + ], + [ + -47.816673, + -24.900002 + ], + [ + -47.877785, + -25.026947 + ] + ] + ], + [ + [ + [ + -46.282784, + -23.98917 + ], + [ + -46.323616, + -23.93 + ], + [ + -46.416389, + -23.950279 + ], + [ + -46.282784, + -23.98917 + ] + ] + ], + [ + [ + [ + -45.126396, + -23.821392 + ], + [ + -45.105003, + -23.806393 + ], + [ + -45.136391, + -23.797779 + ], + [ + -45.126396, + -23.821392 + ] + ] + ], + [ + [ + [ + -45.22084, + -23.779446 + ], + [ + -45.441391, + -23.92889 + ], + [ + -45.218338, + -23.955833 + ], + [ + -45.22084, + -23.779446 + ] + ] + ], + [ + [ + [ + -44.08889, + -23.174446 + ], + [ + -44.228615, + -23.071114 + ], + [ + -44.369171, + -23.172226 + ], + [ + -44.08889, + -23.174446 + ] + ] + ], + [ + [ + [ + -29.84, + -20.496391 + ], + [ + -29.852222, + -20.491112 + ], + [ + -29.848892, + -20.500835 + ], + [ + -29.84, + -20.496391 + ] + ] + ], + [ + [ + [ + -30.29528, + -20.505835 + ], + [ + -30.334166, + -20.482224 + ], + [ + -30.319447, + -20.52 + ], + [ + -30.29528, + -20.505835 + ] + ] + ], + [ + [ + [ + -38.911667, + -13.67528 + ], + [ + -38.912781, + -13.587502 + ], + [ + -38.991951, + -13.593056 + ], + [ + -38.911667, + -13.67528 + ] + ] + ], + [ + [ + [ + -38.936951, + -13.5625 + ], + [ + -38.908058, + -13.385557 + ], + [ + -39.038612, + -13.397779 + ], + [ + -39.041115, + -13.462223 + ], + [ + -38.964443, + -13.498844 + ], + [ + -38.984451, + -13.5625 + ], + [ + -38.936951, + -13.5625 + ] + ] + ], + [ + [ + [ + -38.754723, + -13.113056 + ], + [ + -38.591667, + -12.987501 + ], + [ + -38.643333, + -12.892223 + ], + [ + -38.754723, + -13.113056 + ] + ] + ], + [ + [ + [ + -37.132507, + -11.129446 + ], + [ + -37.036949, + -10.952501 + ], + [ + -37.146393, + -11.108612 + ], + [ + -37.132507, + -11.129446 + ] + ] + ], + [ + [ + [ + -34.873894, + -7.073334 + ], + [ + -34.866669, + -7.048611 + ], + [ + -34.888893, + -7.071945 + ], + [ + -34.873894, + -7.073334 + ] + ] + ], + [ + [ + [ + -34.854172, + -7.005278 + ], + [ + -34.859726, + -6.994444 + ], + [ + -34.86306, + -7.013889 + ], + [ + -34.854172, + -7.005278 + ] + ] + ], + [ + [ + [ + -32.450836, + -3.88361 + ], + [ + -32.386673, + -3.840277 + ], + [ + -32.424171, + -3.845833 + ], + [ + -32.450836, + -3.88361 + ] + ] + ], + [ + [ + [ + -44.610283, + -3.008055 + ], + [ + -44.611671, + -2.887222 + ], + [ + -44.656113, + -2.97361 + ], + [ + -44.610283, + -3.008055 + ] + ] + ], + [ + [ + [ + -44.586395, + -3.0525 + ], + [ + -44.483894, + -2.709999 + ], + [ + -44.577507, + -2.801945 + ], + [ + -44.586395, + -3.0525 + ] + ] + ], + [ + [ + [ + -42.050835, + -2.761667 + ], + [ + -42.06945, + -2.685833 + ], + [ + -42.184448, + -2.6775 + ], + [ + -42.050835, + -2.761667 + ] + ] + ], + [ + [ + [ + -43.693335, + -2.326944 + ], + [ + -43.61528, + -2.262499 + ], + [ + -43.739174, + -2.350277 + ], + [ + -43.693335, + -2.326944 + ] + ] + ], + [ + [ + [ + -50.863892, + -1.910833 + ], + [ + -51.148338, + -1.828611 + ], + [ + -50.98806, + -1.99361 + ], + [ + -50.863892, + -1.910833 + ] + ] + ], + [ + [ + [ + -49.02417, + -1.829166 + ], + [ + -49.055557, + -1.721111 + ], + [ + -49.156952, + -1.858055 + ], + [ + -49.02417, + -1.829166 + ] + ] + ], + [ + [ + [ + -48.961113, + -1.795832 + ], + [ + -48.902779, + -1.577221 + ], + [ + -49.046112, + -1.705278 + ], + [ + -48.961113, + -1.795832 + ] + ] + ], + [ + [ + [ + -44.652779, + -1.623888 + ], + [ + -44.713058, + -1.561111 + ], + [ + -44.78334, + -1.619167 + ], + [ + -44.778893, + -1.668055 + ], + [ + -44.662224, + -1.661945 + ], + [ + -44.652779, + -1.623888 + ] + ] + ], + [ + [ + [ + -52.024727, + -1.580278 + ], + [ + -51.914452, + -1.516388 + ], + [ + -52.029449, + -1.439722 + ], + [ + -52.200836, + -1.646666 + ], + [ + -52.024727, + -1.580278 + ] + ] + ], + [ + [ + [ + -52.418335, + -1.5275 + ], + [ + -52.168617, + -1.408333 + ], + [ + -52.431114, + -1.466389 + ], + [ + -52.418335, + -1.5275 + ] + ] + ], + [ + [ + [ + -48.633614, + -1.484722 + ], + [ + -48.657501, + -1.375834 + ], + [ + -48.696671, + -1.449167 + ], + [ + -48.633614, + -1.484722 + ] + ] + ], + [ + [ + [ + -48.525841, + -1.525 + ], + [ + -48.553337, + -1.36611 + ], + [ + -48.592506, + -1.442221 + ], + [ + -48.525841, + -1.525 + ] + ] + ], + [ + [ + [ + -44.987503, + -1.401945 + ], + [ + -44.881111, + -1.283056 + ], + [ + -44.975563, + -1.261667 + ], + [ + -44.987503, + -1.401945 + ] + ] + ], + [ + [ + [ + -45.634171, + -1.346388 + ], + [ + -45.626944, + -1.126944 + ], + [ + -45.689444, + -1.360832 + ], + [ + -45.634171, + -1.346388 + ] + ] + ], + [ + [ + [ + -48.340279, + -1.212778 + ], + [ + -48.322502, + -1.076944 + ], + [ + -48.412224, + -1.074999 + ], + [ + -48.465561, + -1.162777 + ], + [ + -48.340279, + -1.212778 + ] + ] + ], + [ + [ + [ + -46.498894, + -1.020277 + ], + [ + -46.440002, + -1.006388 + ], + [ + -46.456673, + -0.888611 + ], + [ + -46.54834, + -0.972221 + ], + [ + -46.53334, + -1.0175 + ], + [ + -46.498894, + -1.020277 + ] + ] + ], + [ + [ + [ + -50.987228, + -0.866388 + ], + [ + -51.182503, + -1.091667 + ], + [ + -51.070038, + -1.037794 + ], + [ + -51.019447, + -0.991667 + ], + [ + -51.012619, + -0.919502 + ], + [ + -50.920837, + -0.869722 + ], + [ + -50.987228, + -0.866388 + ] + ] + ], + [ + [ + [ + -51.375282, + -1.21361 + ], + [ + -51.239449, + -1.143888 + ], + [ + -51.203056, + -0.841667 + ], + [ + -51.248894, + -1.024721 + ], + [ + -51.363617, + -1.129444 + ], + [ + -51.400284, + -1.201944 + ], + [ + -51.375282, + -1.21361 + ] + ] + ], + [ + [ + [ + -50.92028, + -0.844999 + ], + [ + -50.842781, + -0.727777 + ], + [ + -50.922783, + -0.729166 + ], + [ + -50.92028, + -0.844999 + ] + ] + ], + [ + [ + [ + -47.935005, + -0.727222 + ], + [ + -47.876114, + -0.673056 + ], + [ + -47.932503, + -0.636667 + ], + [ + -47.97084, + -0.68 + ], + [ + -47.951668, + -0.731945 + ], + [ + -47.935005, + -0.727222 + ] + ] + ], + [ + [ + [ + -47.66806, + -0.709166 + ], + [ + -47.637222, + -0.620832 + ], + [ + -47.665283, + -0.57361 + ], + [ + -47.718895, + -0.640556 + ], + [ + -47.696671, + -0.714722 + ], + [ + -47.66806, + -0.709166 + ] + ] + ], + [ + [ + [ + -51.13195, + -0.959444 + ], + [ + -50.815834, + -0.572222 + ], + [ + -51.070282, + -0.694445 + ], + [ + -51.13195, + -0.959444 + ] + ] + ], + [ + [ + [ + -51.051117, + -0.659166 + ], + [ + -51.025284, + -0.560556 + ], + [ + -51.098335, + -0.633888 + ], + [ + -51.051117, + -0.659166 + ] + ] + ], + [ + [ + [ + -51.90139, + -1.476667 + ], + [ + -51.483337, + -1.240278 + ], + [ + -51.271666, + -1.014166 + ], + [ + -51.148338, + -0.669722 + ], + [ + -51.199722, + -0.529167 + ], + [ + -51.38195, + -0.541389 + ], + [ + -51.609726, + -0.733889 + ], + [ + -51.662224, + -1.083332 + ], + [ + -51.885002, + -1.178888 + ], + [ + -51.952225, + -1.430832 + ], + [ + -51.90139, + -1.476667 + ] + ] + ], + [ + [ + [ + -51.403336, + -0.540833 + ], + [ + -51.239449, + -0.454443 + ], + [ + -51.411392, + -0.499722 + ], + [ + -51.403336, + -0.540833 + ] + ] + ], + [ + [ + [ + -50.958618, + -0.567499 + ], + [ + -50.776947, + -0.383888 + ], + [ + -50.878334, + -0.385277 + ], + [ + -50.958618, + -0.567499 + ] + ] + ], + [ + [ + [ + -51.10778, + -0.539999 + ], + [ + -50.946671, + -0.353889 + ], + [ + -51.034729, + -0.283056 + ], + [ + -51.10778, + -0.539999 + ] + ] + ], + [ + [ + [ + -50.907227, + -0.335833 + ], + [ + -50.888618, + -0.291389 + ], + [ + -51.025002, + -0.248888 + ], + [ + -50.907227, + -0.335833 + ] + ] + ], + [ + [ + [ + -49.713341, + -0.227777 + ], + [ + -50.657784, + -0.279167 + ], + [ + -50.796951, + -0.971943 + ], + [ + -50.550003, + -1.069166 + ], + [ + -50.781113, + -1.151945 + ], + [ + -50.803612, + -1.440556 + ], + [ + -50.578056, + -1.800833 + ], + [ + -49.166389, + -1.613888 + ], + [ + -48.627228, + -1.064444 + ], + [ + -48.373062, + -0.289167 + ], + [ + -49.713341, + -0.227777 + ] + ] + ], + [ + [ + [ + -50.803337, + -0.358889 + ], + [ + -50.748894, + -0.226667 + ], + [ + -50.908058, + -0.358332 + ], + [ + -50.803337, + -0.358889 + ] + ] + ], + [ + [ + [ + -51.380562, + -0.484722 + ], + [ + -51.137505, + -0.285278 + ], + [ + -51.103058, + -0.121389 + ], + [ + -51.380562, + -0.484722 + ] + ] + ], + [ + [ + [ + -50.556946, + -0.0625 + ], + [ + -51.027229, + -0.224167 + ], + [ + -50.85778, + -0.283056 + ], + [ + -50.556946, + -0.0625 + ] + ] + ], + [ + [ + [ + -50.901672, + -0.047499 + ], + [ + -50.697502, + 0.02389 + ], + [ + -50.829727, + 0.060835 + ], + [ + -50.901672, + -0.047499 + ] + ] + ], + [ + [ + [ + -49.525558, + -0.134443 + ], + [ + -49.501671, + 0.070559 + ], + [ + -49.852501, + -0.064444 + ], + [ + -49.525558, + -0.134443 + ] + ] + ], + [ + [ + [ + -50.455559, + -0.022778 + ], + [ + -50.465004, + 0.146669 + ], + [ + -50.643333, + 0.17111 + ], + [ + -50.455559, + -0.022778 + ] + ] + ], + [ + [ + [ + -49.636116, + 0.227503 + ], + [ + -50.392502, + 0.109446 + ], + [ + -49.984726, + -0.072222 + ], + [ + -49.636116, + 0.227503 + ] + ] + ], + [ + [ + [ + -50.243057, + 0.229445 + ], + [ + -50.083618, + 0.320002 + ], + [ + -50.184174, + 0.324167 + ], + [ + -50.243057, + 0.229445 + ] + ] + ], + [ + [ + [ + -50.416389, + 0.210833 + ], + [ + -50.373894, + 0.621389 + ], + [ + -50.536392, + 0.22611 + ], + [ + -50.416389, + 0.210833 + ] + ] + ], + [ + [ + [ + -50.237503, + 0.350836 + ], + [ + -50.063614, + 0.646112 + ], + [ + -50.30806, + 0.506392 + ], + [ + -50.237503, + 0.350836 + ] + ] + ], + [ + [ + [ + -50.007225, + 0.881666 + ], + [ + -50.200562, + 0.879168 + ], + [ + -50.267784, + 0.751669 + ], + [ + -50.007225, + 0.881666 + ] + ] + ], + [ + [ + [ + -50.037506, + 0.884443 + ], + [ + -50.042229, + 0.918058 + ], + [ + -50.093895, + 0.920835 + ], + [ + -50.037506, + 0.884443 + ] + ] + ], + [ + [ + [ + -50.009445, + 0.935278 + ], + [ + -49.947784, + 1.054445 + ], + [ + -50.074448, + 0.981112 + ], + [ + -50.009445, + 0.935278 + ] + ] + ], + [ + [ + [ + -50.396666, + 1.881392 + ], + [ + -50.356117, + 2.116945 + ], + [ + -50.505005, + 2.025 + ], + [ + -50.396666, + 1.881392 + ] + ] + ], + [ + [ + [ + -50.475281, + 2.119722 + ], + [ + -50.405556, + 2.193613 + ], + [ + -50.517227, + 2.203054 + ], + [ + -50.475281, + 2.119722 + ] + ] + ], + [ + [ + [ + -69.956924, + -4.236874 + ], + [ + -70.765839, + -4.146389 + ], + [ + -72.851959, + -5.124722 + ], + [ + -73.123901, + -6.447222 + ], + [ + -73.744171, + -6.876944 + ], + [ + -74.010559, + -7.541389 + ], + [ + -72.964172, + -8.983334 + ], + [ + -73.205292, + -9.407223 + ], + [ + -72.366394, + -9.494446 + ], + [ + -72.14389, + -10.004723 + ], + [ + -71.298889, + -9.996389 + ], + [ + -70.514664, + -9.428001 + ], + [ + -70.631393, + -11.009167 + ], + [ + -69.568436, + -10.951092 + ], + [ + -68.58345, + -11.106138 + ], + [ + -66.634445, + -9.906946 + ], + [ + -65.381958, + -9.697779 + ], + [ + -65.392792, + -11.26639 + ], + [ + -64.991669, + -12.008057 + ], + [ + -64.39418, + -12.461668 + ], + [ + -63.075005, + -12.650002 + ], + [ + -61.833893, + -13.544724 + ], + [ + -61.038979, + -13.493118 + ], + [ + -60.47084, + -13.807222 + ], + [ + -60.258896, + -15.093613 + ], + [ + -60.571396, + -15.097502 + ], + [ + -60.160278, + -16.263058 + ], + [ + -58.327507, + -16.279167 + ], + [ + -58.397507, + -17.249168 + ], + [ + -57.743057, + -17.593056 + ], + [ + -57.521118, + -18.203892 + ], + [ + -58.121117, + -19.74139 + ], + [ + -57.848747, + -19.978794 + ], + [ + -58.15889, + -20.168055 + ], + [ + -57.814444, + -20.971947 + ], + [ + -57.985107, + -22.091827 + ], + [ + -55.849724, + -22.288891 + ], + [ + -55.411667, + -23.95639 + ], + [ + -54.407227, + -23.916668 + ], + [ + -54.330559, + -24.679449 + ], + [ + -54.598915, + -25.573223 + ], + [ + -53.863335, + -25.681114 + ], + [ + -53.807785, + -27.129169 + ], + [ + -55.765282, + -28.226112 + ], + [ + -57.608002, + -30.184925 + ], + [ + -56.811394, + -30.105278 + ], + [ + -56.008923, + -31.079794 + ], + [ + -55.581947, + -30.845837 + ], + [ + -53.879723, + -31.967781 + ], + [ + -53.093056, + -32.729729 + ], + [ + -53.522781, + -33.147781 + ], + [ + -53.374298, + -33.740669 + ], + [ + -52.636673, + -33.129448 + ], + [ + -51.965279, + -31.339447 + ], + [ + -51.271118, + -30.795559 + ], + [ + -51.28167, + -30.010002 + ], + [ + -50.928337, + -30.419445 + ], + [ + -50.608894, + -30.190556 + ], + [ + -50.567223, + -30.457226 + ], + [ + -51.251396, + -31.471668 + ], + [ + -52.086395, + -31.823612 + ], + [ + -52.072502, + -32.174171 + ], + [ + -50.749451, + -31.081112 + ], + [ + -49.752502, + -29.369724 + ], + [ + -48.774727, + -28.522224 + ], + [ + -48.485283, + -27.211391 + ], + [ + -48.802504, + -26.067223 + ], + [ + -48.581947, + -26.18 + ], + [ + -48.770561, + -25.880001 + ], + [ + -48.361389, + -25.576389 + ], + [ + -48.718613, + -25.424725 + ], + [ + -48.131393, + -25.272224 + ], + [ + -48.208618, + -25.46167 + ], + [ + -48.026115, + -25.015003 + ], + [ + -46.382782, + -23.868336 + ], + [ + -45.418335, + -23.830833 + ], + [ + -44.577225, + -23.356113 + ], + [ + -44.662506, + -23.048058 + ], + [ + -43.218338, + -22.996948 + ], + [ + -43.075836, + -22.668335 + ], + [ + -43.091949, + -22.954723 + ], + [ + -42.034447, + -22.91917 + ], + [ + -41.763062, + -22.346111 + ], + [ + -40.971672, + -21.988056 + ], + [ + -40.960556, + -21.235836 + ], + [ + -39.801392, + -19.632504 + ], + [ + -39.643616, + -18.223335 + ], + [ + -39.130835, + -17.683891 + ], + [ + -39.206673, + -17.147503 + ], + [ + -38.871948, + -15.874168 + ], + [ + -39.066948, + -14.64389 + ], + [ + -38.920563, + -13.915556 + ], + [ + -39.038895, + -14.175835 + ], + [ + -38.963058, + -13.681391 + ], + [ + -39.080284, + -13.538334 + ], + [ + -39.056395, + -13.377501 + ], + [ + -38.956673, + -13.380001 + ], + [ + -38.725281, + -12.874445 + ], + [ + -38.901115, + -12.705557 + ], + [ + -38.691673, + -12.577778 + ], + [ + -38.488617, + -13.02 + ], + [ + -38.041389, + -12.633057 + ], + [ + -37.153336, + -10.748611 + ], + [ + -37.021666, + -10.935835 + ], + [ + -36.393333, + -10.4925 + ], + [ + -35.292778, + -9.18 + ], + [ + -34.800835, + -7.631111 + ], + [ + -35.417503, + -5.214722 + ], + [ + -37.174446, + -4.918612 + ], + [ + -39.996948, + -2.846388 + ], + [ + -41.24807, + -3.023554 + ], + [ + -43.347504, + -2.365833 + ], + [ + -44.339729, + -2.830278 + ], + [ + -44.063339, + -2.405834 + ], + [ + -44.356949, + -2.526667 + ], + [ + -44.420563, + -2.93 + ], + [ + -44.786392, + -3.297499 + ], + [ + -44.58223, + -2.556944 + ], + [ + -44.360001, + -2.338888 + ], + [ + -44.656395, + -2.33111 + ], + [ + -44.490562, + -1.980833 + ], + [ + -44.538895, + -1.832222 + ], + [ + -44.695007, + -1.817778 + ], + [ + -44.799171, + -1.705 + ], + [ + -44.820557, + -1.578333 + ], + [ + -44.951393, + -1.601667 + ], + [ + -44.860283, + -1.425278 + ], + [ + -45.347504, + -1.740278 + ], + [ + -45.326668, + -1.313334 + ], + [ + -45.462227, + -1.545555 + ], + [ + -45.446945, + -1.310833 + ], + [ + -45.696114, + -1.370277 + ], + [ + -45.735558, + -1.18 + ], + [ + -45.851952, + -1.271944 + ], + [ + -45.974724, + -1.074999 + ], + [ + -46.043335, + -1.210278 + ], + [ + -46.259726, + -1.183611 + ], + [ + -46.191948, + -0.9575 + ], + [ + -46.448334, + -1.043055 + ], + [ + -46.535835, + -1.032221 + ], + [ + -46.557785, + -0.999166 + ], + [ + -46.604172, + -1.029444 + ], + [ + -46.821671, + -0.712778 + ], + [ + -46.951118, + -0.908056 + ], + [ + -46.954727, + -0.704445 + ], + [ + -47.431395, + -0.5825 + ], + [ + -47.39389, + -0.812778 + ], + [ + -47.542503, + -0.636667 + ], + [ + -47.726952, + -0.758055 + ], + [ + -47.749451, + -0.635277 + ], + [ + -47.956947, + -0.775278 + ], + [ + -48.060562, + -0.710833 + ], + [ + -48.292229, + -0.945 + ], + [ + -48.331673, + -1.308332 + ], + [ + -48.479172, + -1.301943 + ], + [ + -48.503059, + -1.458332 + ], + [ + -48.184448, + -1.471945 + ], + [ + -48.413612, + -1.499443 + ], + [ + -48.430557, + -1.661667 + ], + [ + -48.697226, + -1.469166 + ], + [ + -49.490004, + -2.564999 + ], + [ + -49.289726, + -1.708332 + ], + [ + -50.677956, + -1.810444 + ], + [ + -50.70639, + -2.220556 + ], + [ + -50.983894, + -2.066111 + ], + [ + -50.846115, + -2.50861 + ], + [ + -51.307503, + -1.763611 + ], + [ + -51.45195, + -2.273611 + ], + [ + -51.336945, + -1.646944 + ], + [ + -50.663895, + -1.767778 + ], + [ + -50.816673, + -1.439722 + ], + [ + -50.858337, + -0.91361 + ], + [ + -50.992226, + -0.925278 + ], + [ + -51.009171, + -0.949167 + ], + [ + -50.992783, + -0.998611 + ], + [ + -51.257225, + -1.218332 + ], + [ + -52.208469, + -1.692078 + ], + [ + -52.712784, + -1.603333 + ], + [ + -52.232506, + -1.345278 + ], + [ + -52.067505, + -1.42 + ], + [ + -51.928337, + -1.337778 + ], + [ + -51.920006, + -1.166389 + ], + [ + -51.712502, + -1.026667 + ], + [ + -51.700005, + -0.752499 + ], + [ + -51.258614, + -0.142778 + ], + [ + -49.903893, + 1.170279 + ], + [ + -50.121948, + 1.214167 + ], + [ + -49.93, + 1.708055 + ], + [ + -50.445282, + 1.825834 + ], + [ + -50.679726, + 2.164724 + ], + [ + -51.088615, + 3.911669 + ], + [ + -51.537506, + 4.39139 + ], + [ + -51.447784, + 3.972502 + ], + [ + -51.684067, + 4.034163 + ], + [ + -52.909729, + 2.195833 + ], + [ + -54.603783, + 2.329195 + ], + [ + -55.965836, + 2.532778 + ], + [ + -55.904167, + 1.893057 + ], + [ + -56.470634, + 1.944498 + ], + [ + -57.324722, + 1.975279 + ], + [ + -58.806946, + 1.185556 + ], + [ + -59.642784, + 1.731112 + ], + [ + -59.989449, + 2.693613 + ], + [ + -59.568611, + 3.899446 + ], + [ + -59.675835, + 4.388887 + ], + [ + -60.147507, + 4.5175 + ], + [ + -60.098335, + 5.217222 + ], + [ + -60.73037, + 5.204802 + ], + [ + -60.579727, + 4.946669 + ], + [ + -60.985001, + 4.520555 + ], + [ + -62.745834, + 4.032499 + ], + [ + -62.875, + 3.560278 + ], + [ + -63.343056, + 3.961111 + ], + [ + -64.017792, + 3.88611 + ], + [ + -64.795288, + 4.281389 + ], + [ + -64.191116, + 3.594446 + ], + [ + -64.045013, + 2.4825 + ], + [ + -63.361115, + 2.419168 + ], + [ + -63.393059, + 2.151388 + ], + [ + -65.51889, + 0.649721 + ], + [ + -65.589737, + 0.989168 + ], + [ + -66.311951, + 0.750559 + ], + [ + -66.871887, + 1.221643 + ], + [ + -67.076675, + 1.173334 + ], + [ + -67.424179, + 2.143888 + ], + [ + -67.914734, + 1.745279 + ], + [ + -68.196396, + 1.977503 + ], + [ + -68.153061, + 1.724169 + ], + [ + -69.8461, + 1.710455 + ], + [ + -69.842224, + 1.072222 + ], + [ + -69.270004, + 1.038336 + ], + [ + -69.124725, + 0.645002 + ], + [ + -70.044174, + 0.590834 + ], + [ + -70.05806, + -0.157499 + ], + [ + -69.607513, + -0.5175 + ], + [ + -69.378067, + -1.338055 + ], + [ + -69.956924, + -4.236874 + ] + ] + ] + ] + }, + "name" : "Brazil", + "iso2" : "BR", + "iso3" : "BRA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "WL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 28.013054, + 41.982216 + ], + [ + 27.44833, + 42.469994 + ], + [ + 27.879166, + 42.841103 + ], + [ + 28.583244, + 43.747765 + ], + [ + 27.036427, + 44.147339 + ], + [ + 25.430229, + 43.626778 + ], + [ + 24.179996, + 43.684715 + ], + [ + 22.875275, + 43.842499 + ], + [ + 23.044167, + 44.076111 + ], + [ + 22.681435, + 44.224701 + ], + [ + 22.367222, + 43.826942 + ], + [ + 23.004997, + 43.192772 + ], + [ + 22.442219, + 42.821663 + ], + [ + 22.365276, + 42.323883 + ], + [ + 23.014721, + 41.762215 + ], + [ + 22.935604, + 41.342125 + ], + [ + 24.263885, + 41.570549 + ], + [ + 25.285, + 41.24305 + ], + [ + 26.139996, + 41.354713 + ], + [ + 26.066109, + 41.697495 + ], + [ + 26.294167, + 41.708054 + ], + [ + 26.361095, + 41.711052 + ], + [ + 27.394997, + 42.008041 + ], + [ + 28.013054, + 41.982216 + ] + ] + ] + }, + "name" : "Bulgaria", + "iso2" : "BG", + "iso3" : "BGR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Wb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 115.223038, + 4.804998 + ], + [ + 115.145782, + 4.90324 + ], + [ + 115.029129, + 4.82021 + ], + [ + 115.343323, + 4.311943 + ], + [ + 115.223038, + 4.804998 + ] + ] + ], + [ + [ + [ + 114.981369, + 4.892499 + ], + [ + 114.095078, + 4.590538 + ], + [ + 114.641098, + 4.018888 + ], + [ + 115.018433, + 4.895795 + ], + [ + 114.981369, + 4.892499 + ] + ] + ] + ] + }, + "name" : "Brunei Darussalam", + "iso2" : "BN", + "iso3" : "BRN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Wr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -53.756367, + 48.503263 + ], + [ + -53.956108, + 48.543886 + ], + [ + -53.601944, + 48.689714 + ], + [ + -54.096106, + 48.812212 + ], + [ + -53.488609, + 49.220545 + ], + [ + -53.775002, + 49.396105 + ], + [ + -54.486946, + 49.259722 + ], + [ + -54.528885, + 49.533335 + ], + [ + -54.824448, + 49.269159 + ], + [ + -55.078056, + 49.356943 + ], + [ + -55.383331, + 49.040834 + ], + [ + -55.141113, + 49.545275 + ], + [ + -55.315277, + 49.31444 + ], + [ + -56.129166, + 49.425554 + ], + [ + -55.491699, + 50.007311 + ], + [ + -56.153885, + 50.150545 + ], + [ + -56.848885, + 49.544443 + ], + [ + -56.155273, + 50.885553 + ], + [ + -55.732498, + 51.079996 + ], + [ + -56.085556, + 51.368326 + ], + [ + -55.405273, + 51.561663 + ], + [ + -55.898056, + 51.628603 + ], + [ + -57.378609, + 50.687769 + ], + [ + -57.148056, + 50.621935 + ], + [ + -57.948334, + 49.674166 + ], + [ + -57.696388, + 49.46361 + ], + [ + -58.223328, + 49.390276 + ], + [ + -57.881668, + 48.968882 + ], + [ + -58.396111, + 49.13138 + ], + [ + -58.709442, + 48.570833 + ], + [ + -58.958611, + 48.613886 + ], + [ + -58.774719, + 48.778879 + ], + [ + -59.261116, + 48.476656 + ], + [ + -58.418335, + 48.486658 + ], + [ + -59.406944, + 47.889719 + ], + [ + -59.135559, + 47.556383 + ], + [ + -56.840836, + 47.521379 + ], + [ + -55.773613, + 47.956942 + ], + [ + -55.917503, + 47.657495 + ], + [ + -55.628334, + 47.674715 + ], + [ + -56.172501, + 47.497217 + ], + [ + -55.587776, + 47.398607 + ], + [ + -54.936111, + 47.781664 + ], + [ + -54.845833, + 47.55694 + ], + [ + -55.983055, + 46.952494 + ], + [ + -55.68972, + 46.858332 + ], + [ + -54.418335, + 47.603609 + ], + [ + -54.482773, + 47.391665 + ], + [ + -54.195274, + 47.8575 + ], + [ + -53.8675, + 47.402773 + ], + [ + -54.187775, + 46.819162 + ], + [ + -53.591385, + 47.156099 + ], + [ + -53.617775, + 46.644159 + ], + [ + -53.102501, + 46.63666 + ], + [ + -52.614449, + 47.516665 + ], + [ + -52.779442, + 47.803049 + ], + [ + -53.121941, + 47.413324 + ], + [ + -53.26722, + 47.606104 + ], + [ + -52.83139, + 48.101664 + ], + [ + -53.274445, + 48.01333 + ], + [ + -53.550552, + 47.529161 + ], + [ + -53.850555, + 47.760553 + ], + [ + -53.60778, + 48.051104 + ], + [ + -53.945274, + 48.178881 + ], + [ + -52.97805, + 48.604441 + ], + [ + -53.756367, + 48.503263 + ] + ], + [ + [ + -53.756367, + 48.503263 + ], + [ + -54.138054, + 48.359163 + ], + [ + -54.094444, + 48.425829 + ], + [ + -53.756367, + 48.503263 + ] + ], + [ + [ + -55.993889, + 51.200274 + ], + [ + -55.998055, + 51.207499 + ], + [ + -55.967773, + 51.226656 + ], + [ + -55.993889, + 51.200274 + ] + ], + [ + [ + -56.803612, + 49.76333 + ], + [ + -56.838051, + 49.767496 + ], + [ + -56.782219, + 49.786943 + ], + [ + -56.803612, + 49.76333 + ] + ], + [ + [ + -58.342224, + 49.066103 + ], + [ + -58.35611, + 49.065828 + ], + [ + -58.333611, + 49.077776 + ], + [ + -58.342224, + 49.066103 + ] + ] + ], + [ + [ + [ + -53.712776, + 48.148882 + ], + [ + -53.509726, + 48.198328 + ], + [ + -53.935829, + 48.182497 + ], + [ + -53.712776, + 48.148882 + ] + ] + ], + [ + [ + [ + -54.004448, + 49.647493 + ], + [ + -54.141945, + 49.750002 + ], + [ + -54.298889, + 49.609995 + ], + [ + -54.004448, + 49.647493 + ] + ] + ], + [ + [ + [ + -54.077499, + 47.479433 + ], + [ + -54.071388, + 47.685549 + ], + [ + -54.101944, + 47.50139 + ], + [ + -54.077499, + 47.479433 + ] + ] + ], + [ + [ + [ + -54.261391, + 47.390276 + ], + [ + -54.128883, + 47.670549 + ], + [ + -54.365555, + 47.411661 + ], + [ + -54.261391, + 47.390276 + ] + ] + ], + [ + [ + [ + -54.576668, + 49.558603 + ], + [ + -54.536118, + 49.664156 + ], + [ + -54.894447, + 49.585268 + ], + [ + -54.576668, + 49.558603 + ] + ] + ], + [ + [ + [ + -54.705275, + 49.400545 + ], + [ + -54.640839, + 49.463884 + ], + [ + -54.673058, + 49.492495 + ], + [ + -54.759171, + 49.437769 + ], + [ + -54.705275, + 49.400545 + ] + ] + ], + [ + [ + [ + -55.3675, + 51.874163 + ], + [ + -55.269997, + 52.000551 + ], + [ + -55.430557, + 51.896662 + ], + [ + -55.3675, + 51.874163 + ] + ] + ], + [ + [ + [ + -55.56472, + 50.699717 + ], + [ + -55.450554, + 50.798334 + ], + [ + -55.624718, + 50.787218 + ], + [ + -55.56472, + 50.699717 + ] + ] + ], + [ + [ + [ + -55.555557, + 50.886385 + ], + [ + -55.535278, + 50.981379 + ], + [ + -55.635277, + 50.961382 + ], + [ + -55.555557, + 50.886385 + ] + ] + ], + [ + [ + [ + -55.693054, + 49.567499 + ], + [ + -55.567505, + 49.6 + ], + [ + -55.659721, + 49.635553 + ], + [ + -55.693054, + 49.567499 + ] + ] + ], + [ + [ + [ + -134.495544, + 68.752214 + ], + [ + -134.845551, + 68.92943 + ], + [ + -134.977478, + 68.878313 + ], + [ + -135.186951, + 68.90027 + ], + [ + -135.241669, + 68.926928 + ], + [ + -135.623596, + 68.88611 + ], + [ + -135.338043, + 68.834993 + ], + [ + -135.506134, + 68.832491 + ], + [ + -135.146393, + 68.663881 + ], + [ + -135.406952, + 68.679979 + ], + [ + -138.60498, + 69.247484 + ], + [ + -139.143066, + 69.51082 + ], + [ + -141.002991, + 69.642366 + ], + [ + -140.995544, + 60.307215 + ], + [ + -139.068054, + 60.352221 + ], + [ + -139.188904, + 60.088884 + ], + [ + -137.59082, + 59.238604 + ], + [ + -137.478058, + 58.907213 + ], + [ + -135.473602, + 59.801935 + ], + [ + -133.429993, + 58.459162 + ], + [ + -131.824158, + 56.596941 + ], + [ + -130.015076, + 55.909182 + ], + [ + -130.128876, + 55.722216 + ], + [ + -129.943878, + 55.282213 + ], + [ + -130.113617, + 54.996386 + ], + [ + -129.817505, + 55.283335 + ], + [ + -129.786957, + 55.566668 + ], + [ + -129.471649, + 55.467211 + ], + [ + -129.996368, + 55.024164 + ], + [ + -129.622498, + 54.997774 + ], + [ + -130.173889, + 54.846659 + ], + [ + -129.910278, + 54.605555 + ], + [ + -130.374146, + 54.654993 + ], + [ + -129.959166, + 54.316103 + ], + [ + -130.416655, + 54.630274 + ], + [ + -130.48111, + 54.364717 + ], + [ + -129.470001, + 54.237215 + ], + [ + -130.046661, + 54.153322 + ], + [ + -130.050293, + 53.886942 + ], + [ + -129.272797, + 53.37916 + ], + [ + -129.232483, + 53.625826 + ], + [ + -128.600555, + 54.031664 + ], + [ + -128.471375, + 53.832499 + ], + [ + -128.813049, + 53.619158 + ], + [ + -127.867767, + 53.239717 + ], + [ + -128.972778, + 53.553049 + ], + [ + -128.887985, + 53.424967 + ], + [ + -128.858887, + 53.283609 + ], + [ + -128.539734, + 53.131937 + ], + [ + -128.441101, + 52.822771 + ], + [ + -128.131653, + 52.876383 + ], + [ + -128.221924, + 52.465273 + ], + [ + -128.39389, + 52.291384 + ], + [ + -127.879707, + 52.579721 + ], + [ + -128.012512, + 52.341105 + ], + [ + -127.618332, + 52.291941 + ], + [ + -127.017775, + 52.845545 + ], + [ + -127.186394, + 52.380823 + ], + [ + -126.732498, + 52.37388 + ], + [ + -126.940826, + 52.303881 + ], + [ + -126.669449, + 51.983606 + ], + [ + -127.171661, + 52.312494 + ], + [ + -127.878052, + 51.673883 + ], + [ + -127.70639, + 51.456385 + ], + [ + -127.351097, + 51.863611 + ], + [ + -127.43222, + 51.668329 + ], + [ + -126.620003, + 51.679995 + ], + [ + -127.488052, + 51.61944 + ], + [ + -127.778877, + 51.324717 + ], + [ + -127.133057, + 51.325556 + ], + [ + -127.789993, + 51.165545 + ], + [ + -126.662514, + 51.194994 + ], + [ + -127.53833, + 51.005556 + ], + [ + -126.17778, + 50.951387 + ], + [ + -126.559723, + 50.843882 + ], + [ + -126.198883, + 50.855829 + ], + [ + -126.131004, + 50.678659 + ], + [ + -125.73111, + 50.735552 + ], + [ + -125.633904, + 51.096941 + ], + [ + -125.622498, + 50.750002 + ], + [ + -126.274719, + 50.631662 + ], + [ + -125.705841, + 50.427774 + ], + [ + -125.443604, + 50.714159 + ], + [ + -125.548111, + 50.492052 + ], + [ + -125.119453, + 50.432772 + ], + [ + -124.805832, + 50.920832 + ], + [ + -125.078339, + 50.322496 + ], + [ + -124.347778, + 50.502497 + ], + [ + -124.715012, + 50.327494 + ], + [ + -124.601387, + 50.238886 + ], + [ + -124.703339, + 49.995546 + ], + [ + -124.829727, + 50.061937 + ], + [ + -124.41362, + 49.763613 + ], + [ + -123.926392, + 49.82583 + ], + [ + -123.821404, + 50.152216 + ], + [ + -123.934998, + 49.768328 + ], + [ + -123.533623, + 49.689714 + ], + [ + -124.068069, + 49.633883 + ], + [ + -123.535553, + 49.38138 + ], + [ + -123.492493, + 49.509722 + ], + [ + -123.159729, + 49.69916 + ], + [ + -123.236389, + 49.338884 + ], + [ + -122.852783, + 49.436106 + ], + [ + -123.248894, + 49.273607 + ], + [ + -123.09375, + 48.999437 + ], + [ + -123.034317, + 48.999437 + ], + [ + -122.7603, + 48.999437 + ], + [ + -95.154175, + 48.999437 + ], + [ + -95.078064, + 49.359163 + ], + [ + -94.605835, + 48.724436 + ], + [ + -92.953064, + 48.623323 + ], + [ + -91.418335, + 48.041109 + ], + [ + -90.868607, + 48.237497 + ], + [ + -89.356659, + 47.979715 + ], + [ + -88.368057, + 48.312212 + ], + [ + -84.856949, + 46.902216 + ], + [ + -84.565002, + 46.466387 + ], + [ + -84.126389, + 46.531939 + ], + [ + -83.958893, + 46.071665 + ], + [ + -83.577499, + 46.105272 + ], + [ + -83.597778, + 45.827219 + ], + [ + -82.54306, + 45.355829 + ], + [ + -82.13028, + 43.585268 + ], + [ + -82.521393, + 42.618883 + ], + [ + -83.16861, + 42.046106 + ], + [ + -82.696655, + 41.683878 + ], + [ + -78.986938, + 42.819994 + ], + [ + -79.184723, + 43.465548 + ], + [ + -78.724716, + 43.629435 + ], + [ + -76.801941, + 43.633608 + ], + [ + -74.990829, + 44.986658 + ], + [ + -70.878601, + 45.238604 + ], + [ + -69.232498, + 47.471376 + ], + [ + -67.794998, + 47.069994 + ], + [ + -67.799164, + 45.701105 + ], + [ + -67.206543, + 45.183039 + ], + [ + -66.42778, + 45.084993 + ], + [ + -66.002502, + 45.461664 + ], + [ + -65.90361, + 45.205553 + ], + [ + -64.778336, + 45.607218 + ], + [ + -64.747498, + 46.090548 + ], + [ + -64.275558, + 45.799997 + ], + [ + -64.93721, + 45.326944 + ], + [ + -63.360832, + 45.360826 + ], + [ + -64.156387, + 44.978327 + ], + [ + -64.489166, + 45.335268 + ], + [ + -66.191101, + 44.423326 + ], + [ + -65.844452, + 44.578333 + ], + [ + -66.166946, + 43.858606 + ], + [ + -65.481384, + 43.464441 + ], + [ + -64.200836, + 44.576387 + ], + [ + -63.631111, + 44.435823 + ], + [ + -63.658333, + 44.714998 + ], + [ + -60.964722, + 45.313051 + ], + [ + -61.46389, + 45.346941 + ], + [ + -61.260002, + 45.510279 + ], + [ + -61.917503, + 45.885553 + ], + [ + -62.461945, + 45.612497 + ], + [ + -64.504181, + 46.240274 + ], + [ + -64.798615, + 47.079996 + ], + [ + -65.369995, + 47.086657 + ], + [ + -64.797226, + 47.806383 + ], + [ + -65.634735, + 47.620829 + ], + [ + -66.356659, + 48.073328 + ], + [ + -66.842499, + 47.99222 + ], + [ + -65.904175, + 48.205828 + ], + [ + -65.305832, + 48.005556 + ], + [ + -64.246384, + 48.488047 + ], + [ + -64.548889, + 48.878328 + ], + [ + -64.221664, + 48.898333 + ], + [ + -64.996948, + 49.22027 + ], + [ + -66.306107, + 49.186937 + ], + [ + -68.211121, + 48.63666 + ], + [ + -71.299164, + 46.74222 + ], + [ + -69.060822, + 48.767496 + ], + [ + -67.375, + 49.327219 + ], + [ + -66.469727, + 50.261942 + ], + [ + -60.005005, + 50.24888 + ], + [ + -58.628052, + 51.275553 + ], + [ + -56.949722, + 51.424715 + ], + [ + -55.701668, + 52.082216 + ], + [ + -56.196945, + 52.439989 + ], + [ + -55.648613, + 52.439714 + ], + [ + -56.496872, + 52.594149 + ], + [ + -55.757507, + 52.614443 + ], + [ + -56.166946, + 53.029436 + ], + [ + -55.808052, + 53.340548 + ], + [ + -56.680283, + 53.67277 + ], + [ + -56.464691, + 53.782274 + ], + [ + -57.336945, + 53.440271 + ], + [ + -57.549995, + 53.591936 + ], + [ + -57.076393, + 53.823053 + ], + [ + -57.384171, + 54.150545 + ], + [ + -58.17778, + 54.23694 + ], + [ + -58.418335, + 54.139719 + ], + [ + -57.786392, + 54.071665 + ], + [ + -60.418335, + 53.269442 + ], + [ + -60.103615, + 53.500551 + ], + [ + -60.856949, + 53.792772 + ], + [ + -60.133888, + 53.52833 + ], + [ + -58.371941, + 54.228045 + ], + [ + -59.575562, + 54.04944 + ], + [ + -57.347496, + 54.579439 + ], + [ + -58.904167, + 54.844713 + ], + [ + -59.023613, + 55.156656 + ], + [ + -59.388611, + 54.976656 + ], + [ + -59.161385, + 55.23694 + ], + [ + -59.938606, + 54.746386 + ], + [ + -59.42778, + 55.135828 + ], + [ + -59.963615, + 55.110277 + ], + [ + -59.779167, + 55.329721 + ], + [ + -60.683327, + 54.994997 + ], + [ + -60.195549, + 55.431383 + ], + [ + -60.478333, + 55.34749 + ], + [ + -60.328888, + 55.781664 + ], + [ + -60.66806, + 55.589434 + ], + [ + -60.601944, + 55.814714 + ], + [ + -60.87944, + 55.732767 + ], + [ + -60.729721, + 55.829439 + ], + [ + -61.104446, + 55.845545 + ], + [ + -61.201668, + 55.884165 + ], + [ + -61.076668, + 55.906939 + ], + [ + -61.117775, + 55.966105 + ], + [ + -61.503616, + 56.006945 + ], + [ + -61.237503, + 56.042772 + ], + [ + -61.452225, + 56.05694 + ], + [ + -61.350838, + 56.222216 + ], + [ + -62.011673, + 56.235826 + ], + [ + -61.661385, + 56.270273 + ], + [ + -62.143059, + 56.44916 + ], + [ + -61.658333, + 56.5375 + ], + [ + -62.573891, + 56.792772 + ], + [ + -61.672501, + 56.619989 + ], + [ + -61.906387, + 56.795275 + ], + [ + -61.358337, + 57.087496 + ], + [ + -62.54528, + 57.501108 + ], + [ + -61.884445, + 57.62694 + ], + [ + -62.125275, + 57.80694 + ], + [ + -62.138054, + 57.835825 + ], + [ + -62.059723, + 57.897776 + ], + [ + -62.127495, + 57.96805 + ], + [ + -62.672775, + 57.929995 + ], + [ + -62.306946, + 58.031107 + ], + [ + -62.452782, + 58.175272 + ], + [ + -63.340836, + 57.97999 + ], + [ + -62.584442, + 58.214441 + ], + [ + -62.828056, + 58.252222 + ], + [ + -62.557503, + 58.482492 + ], + [ + -63.589439, + 58.300829 + ], + [ + -62.847496, + 58.690546 + ], + [ + -63.325005, + 58.855829 + ], + [ + -63.134171, + 59.058329 + ], + [ + -64.043884, + 59.015276 + ], + [ + -63.356392, + 59.204996 + ], + [ + -64.06221, + 59.382494 + ], + [ + -63.722496, + 59.513887 + ], + [ + -64.116943, + 59.517496 + ], + [ + -64.05777, + 59.625269 + ], + [ + -64.266663, + 59.779161 + ], + [ + -64.166946, + 60.024996 + ], + [ + -64.827499, + 59.986383 + ], + [ + -64.466919, + 60.278605 + ], + [ + -64.854446, + 60.361109 + ], + [ + -65.231949, + 59.885828 + ], + [ + -64.983887, + 59.762774 + ], + [ + -65.527786, + 59.716936 + ], + [ + -64.983322, + 59.376383 + ], + [ + -65.561386, + 59.486109 + ], + [ + -65.357224, + 59.277216 + ], + [ + -65.718063, + 59.153048 + ], + [ + -65.317505, + 59.041384 + ], + [ + -65.988602, + 58.903605 + ], + [ + -65.789444, + 58.86194 + ], + [ + -66.103882, + 58.773607 + ], + [ + -65.87999, + 58.627214 + ], + [ + -66.058884, + 58.320276 + ], + [ + -65.935822, + 58.60972 + ], + [ + -66.388611, + 58.85055 + ], + [ + -67.713898, + 57.923052 + ], + [ + -67.723892, + 58.458887 + ], + [ + -67.813324, + 58.416101 + ], + [ + -67.801392, + 58.296663 + ], + [ + -68.128326, + 58.07361 + ], + [ + -67.857498, + 58.320276 + ], + [ + -67.89389, + 58.49666 + ], + [ + -68.003342, + 58.576387 + ], + [ + -68.404175, + 58.039721 + ], + [ + -69.369049, + 57.765253 + ], + [ + -68.344162, + 58.127489 + ], + [ + -68.36055, + 58.781939 + ], + [ + -69.279175, + 58.888048 + ], + [ + -69.818893, + 58.588602 + ], + [ + -70.15361, + 58.777491 + ], + [ + -69.815826, + 58.823885 + ], + [ + -69.869156, + 59.053049 + ], + [ + -69.547501, + 58.808046 + ], + [ + -69.530563, + 59.182215 + ], + [ + -69.234726, + 59.233881 + ], + [ + -69.758347, + 59.320276 + ], + [ + -69.600555, + 59.833055 + ], + [ + -70.945831, + 60.063051 + ], + [ + -69.62471, + 60.067499 + ], + [ + -69.826111, + 60.525553 + ], + [ + -69.371933, + 60.804438 + ], + [ + -69.51973, + 61.073328 + ], + [ + -69.92749, + 60.807772 + ], + [ + -70.146118, + 61.084719 + ], + [ + -71.389999, + 61.137774 + ], + [ + -71.887512, + 61.428049 + ], + [ + -71.575012, + 61.608606 + ], + [ + -72.303329, + 61.567217 + ], + [ + -72.010056, + 61.675272 + ], + [ + -73.678879, + 62.47999 + ], + [ + -74.759735, + 62.206385 + ], + [ + -74.571671, + 62.103052 + ], + [ + -77.508347, + 62.561663 + ], + [ + -78.155838, + 62.27833 + ], + [ + -77.992493, + 61.714716 + ], + [ + -77.474716, + 61.541666 + ], + [ + -78.192764, + 60.790834 + ], + [ + -77.511673, + 60.836382 + ], + [ + -77.833893, + 60.639437 + ], + [ + -77.41333, + 60.544161 + ], + [ + -77.747757, + 60.408136 + ], + [ + -77.592224, + 60.064157 + ], + [ + -76.758896, + 60.159159 + ], + [ + -77.42749, + 59.914713 + ], + [ + -77.313889, + 59.564997 + ], + [ + -77.773895, + 59.709719 + ], + [ + -77.910278, + 59.40555 + ], + [ + -77.677216, + 59.399996 + ], + [ + -78.570557, + 58.961382 + ], + [ + -78.574722, + 58.635271 + ], + [ + -76.861938, + 57.719156 + ], + [ + -76.529724, + 57.105829 + ], + [ + -76.53833, + 56.297777 + ], + [ + -77.137222, + 55.654161 + ], + [ + -77.748611, + 55.300829 + ], + [ + -79.76445, + 54.652216 + ], + [ + -79.048889, + 54.183329 + ], + [ + -79.110275, + 53.502497 + ], + [ + -78.506958, + 52.46055 + ], + [ + -79.035553, + 51.770273 + ], + [ + -78.853333, + 51.165545 + ], + [ + -79.322235, + 51.662767 + ], + [ + -79.752228, + 51.184435 + ], + [ + -79.33223, + 50.723879 + ], + [ + -80.12027, + 51.296389 + ], + [ + -81.015015, + 51.02833 + ], + [ + -80.436386, + 51.464159 + ], + [ + -80.994446, + 52.011385 + ], + [ + -81.883621, + 52.187494 + ], + [ + -81.549988, + 52.441103 + ], + [ + -82.296661, + 53.018602 + ], + [ + -82.30777, + 55.148882 + ], + [ + -85.001953, + 55.296663 + ], + [ + -85.423889, + 54.990549 + ], + [ + -85.121933, + 55.33777 + ], + [ + -85.714447, + 55.631662 + ], + [ + -90.815277, + 57.255831 + ], + [ + -92.876099, + 56.907495 + ], + [ + -92.418884, + 57.337496 + ], + [ + -93.152222, + 58.737772 + ], + [ + -94.14389, + 58.763613 + ], + [ + -94.363327, + 58.218882 + ], + [ + -94.228882, + 58.784998 + ], + [ + -94.789719, + 59.092218 + ], + [ + -94.819168, + 59.636385 + ], + [ + -94.673325, + 60.522493 + ], + [ + -93.984726, + 61.456102 + ], + [ + -93.237778, + 61.777216 + ], + [ + -93.616104, + 61.939989 + ], + [ + -92.764725, + 62.219439 + ], + [ + -93.122223, + 62.334993 + ], + [ + -92.470015, + 62.146616 + ], + [ + -92.710007, + 62.46583 + ], + [ + -91.88501, + 62.599161 + ], + [ + -92.420837, + 62.831385 + ], + [ + -90.627487, + 63.059435 + ], + [ + -90.741943, + 63.360826 + ], + [ + -91.763336, + 63.713327 + ], + [ + -92.480835, + 63.527216 + ], + [ + -92.101669, + 63.696939 + ], + [ + -92.482773, + 63.811937 + ], + [ + -90.205275, + 63.612215 + ], + [ + -89.964172, + 63.811937 + ], + [ + -90.279175, + 64.003603 + ], + [ + -89.813614, + 63.937212 + ], + [ + -90.124161, + 64.128588 + ], + [ + -88.113327, + 64.13611 + ], + [ + -86.933319, + 65.138048 + ], + [ + -91.429169, + 65.951097 + ], + [ + -89.671661, + 65.939425 + ], + [ + -87.395844, + 65.321383 + ], + [ + -85.897232, + 66.168322 + ], + [ + -86.775284, + 66.526094 + ], + [ + -83.693054, + 66.190813 + ], + [ + -84.144455, + 66.681368 + ], + [ + -84.44249, + 66.710817 + ], + [ + -84.466949, + 66.787767 + ], + [ + -84.690552, + 66.839983 + ], + [ + -84.505844, + 66.827776 + ], + [ + -84.746384, + 66.897493 + ], + [ + -84.602219, + 66.935808 + ], + [ + -85.228333, + 66.878313 + ], + [ + -84.639725, + 66.978045 + ], + [ + -84.915009, + 67.060808 + ], + [ + -84.370834, + 66.971376 + ], + [ + -84.436386, + 66.818331 + ], + [ + -84.140289, + 66.701937 + ], + [ + -83.916397, + 66.88109 + ], + [ + -83.977493, + 66.582216 + ], + [ + -83.402222, + 66.34749 + ], + [ + -81.503067, + 66.999712 + ], + [ + -81.243057, + 67.474993 + ], + [ + -82.638901, + 68.49721 + ], + [ + -81.267502, + 68.633043 + ], + [ + -82.05722, + 68.873873 + ], + [ + -81.332504, + 69.182482 + ], + [ + -83.228058, + 69.538591 + ], + [ + -82.263336, + 69.638048 + ], + [ + -83.705002, + 69.7036 + ], + [ + -84.375824, + 69.857485 + ], + [ + -85.064438, + 69.769991 + ], + [ + -85.571945, + 69.856096 + ], + [ + -85.331955, + 69.779161 + ], + [ + -85.473328, + 69.271929 + ], + [ + -84.528336, + 69.017488 + ], + [ + -85.194443, + 68.867205 + ], + [ + -84.787216, + 68.733599 + ], + [ + -85.66362, + 68.726931 + ], + [ + -86.523621, + 67.352205 + ], + [ + -87.510284, + 67.1122 + ], + [ + -87.357773, + 67.262209 + ], + [ + -88.370834, + 67.959154 + ], + [ + -88.392227, + 68.287493 + ], + [ + -87.792221, + 68.334429 + ], + [ + -88.052216, + 68.823046 + ], + [ + -89.306656, + 69.25139 + ], + [ + -90.271393, + 68.238878 + ], + [ + -90.606659, + 68.446093 + ], + [ + -90.436386, + 68.874422 + ], + [ + -91.44722, + 69.35277 + ], + [ + -90.30777, + 69.450274 + ], + [ + -92.920273, + 69.66971 + ], + [ + -91.939713, + 70.020266 + ], + [ + -92.450287, + 70.071108 + ], + [ + -92.268341, + 70.208879 + ], + [ + -91.513626, + 70.167208 + ], + [ + -93.027496, + 70.85277 + ], + [ + -92.973892, + 71.340822 + ], + [ + -93.71167, + 71.761385 + ], + [ + -95.217499, + 71.944979 + ], + [ + -94.606659, + 71.863314 + ], + [ + -95.943054, + 71.553591 + ], + [ + -95.535278, + 71.290819 + ], + [ + -96.503891, + 71.277208 + ], + [ + -96.462204, + 71.255503 + ], + [ + -96.467224, + 71.16527 + ], + [ + -96.560547, + 71.126375 + ], + [ + -96.369995, + 71.089983 + ], + [ + -96.611938, + 70.794436 + ], + [ + -95.789444, + 70.536654 + ], + [ + -96.232773, + 70.562197 + ], + [ + -96.531677, + 70.13109 + ], + [ + -95.960831, + 69.778048 + ], + [ + -93.362778, + 69.371645 + ], + [ + -94.303329, + 69.304979 + ], + [ + -94.072784, + 69.12665 + ], + [ + -94.625, + 68.761385 + ], + [ + -93.666946, + 68.972216 + ], + [ + -93.553329, + 68.586382 + ], + [ + -94.722229, + 68.054979 + ], + [ + -95.472778, + 68.060534 + ], + [ + -95.709166, + 67.72777 + ], + [ + -95.16333, + 67.287203 + ], + [ + -95.22084, + 66.968325 + ], + [ + -95.902496, + 66.946642 + ], + [ + -95.326111, + 67.027208 + ], + [ + -95.833328, + 67.162767 + ], + [ + -95.565826, + 67.37665 + ], + [ + -96.114441, + 67.21332 + ], + [ + -96.097229, + 67.464708 + ], + [ + -96.464722, + 67.478045 + ], + [ + -95.980286, + 68.254717 + ], + [ + -96.708344, + 68.008608 + ], + [ + -96.404175, + 68.311373 + ], + [ + -98.714447, + 68.37221 + ], + [ + -98.326111, + 68.171373 + ], + [ + -98.587509, + 68.149431 + ], + [ + -98.078613, + 67.830278 + ], + [ + -98.029999, + 67.941927 + ], + [ + -97.68306, + 68.018602 + ], + [ + -97.119156, + 67.792482 + ], + [ + -97.509735, + 67.599154 + ], + [ + -98.094452, + 67.7661 + ], + [ + -98.615555, + 68.074709 + ], + [ + -98.354446, + 67.796099 + ], + [ + -102.251106, + 67.725267 + ], + [ + -103.421661, + 68.166658 + ], + [ + -104.5, + 68.031939 + ], + [ + -104.670273, + 68.138597 + ], + [ + -104.609734, + 68.241365 + ], + [ + -105.541107, + 68.412767 + ], + [ + -105.380829, + 68.48665 + ], + [ + -105.486938, + 68.729433 + ], + [ + -106.229172, + 68.940813 + ], + [ + -108.314163, + 68.611376 + ], + [ + -108.819168, + 68.266665 + ], + [ + -107.603058, + 68.16527 + ], + [ + -107.885277, + 68.268877 + ], + [ + -106.80278, + 68.414431 + ], + [ + -106.543327, + 68.291368 + ], + [ + -106.543877, + 68.511934 + ], + [ + -105.644997, + 68.633883 + ], + [ + -105.739723, + 68.41527 + ], + [ + -106.465012, + 68.335817 + ], + [ + -106.431953, + 68.153048 + ], + [ + -107.890556, + 68.081667 + ], + [ + -107.651108, + 67.940538 + ], + [ + -108.006958, + 67.707491 + ], + [ + -107.083618, + 66.820543 + ], + [ + -107.746658, + 66.922762 + ], + [ + -107.248047, + 66.349993 + ], + [ + -108.622772, + 67.149996 + ], + [ + -107.880547, + 67.048326 + ], + [ + -108.015289, + 67.293047 + ], + [ + -108.366943, + 67.444979 + ], + [ + -108.484161, + 67.349428 + ], + [ + -108.655273, + 67.628313 + ], + [ + -108.825012, + 67.349428 + ], + [ + -109.065826, + 67.714159 + ], + [ + -110.083893, + 68.006945 + ], + [ + -111.005835, + 67.765001 + ], + [ + -112.395844, + 67.679155 + ], + [ + -115.103607, + 67.796648 + ], + [ + -115.542503, + 67.921648 + ], + [ + -114.023331, + 68.241365 + ], + [ + -114.070557, + 68.47748 + ], + [ + -115.593063, + 68.971651 + ], + [ + -117.153877, + 68.885546 + ], + [ + -121.683884, + 69.793596 + ], + [ + -122.959166, + 69.833605 + ], + [ + -123.46611, + 69.383883 + ], + [ + -124.446663, + 69.367205 + ], + [ + -124.040833, + 69.701387 + ], + [ + -124.500557, + 69.725817 + ], + [ + -124.436111, + 70.151094 + ], + [ + -125.197487, + 70.004503 + ], + [ + -124.795273, + 70.008883 + ], + [ + -125.276398, + 69.808245 + ], + [ + -124.821953, + 69.714998 + ], + [ + -125.365547, + 69.690264 + ], + [ + -125.118057, + 69.485796 + ], + [ + -125.622498, + 69.418596 + ], + [ + -125.089447, + 69.449709 + ], + [ + -125.426392, + 69.312181 + ], + [ + -127.996658, + 70.590548 + ], + [ + -128.196655, + 70.391939 + ], + [ + -127.515007, + 70.221651 + ], + [ + -128.925018, + 69.680819 + ], + [ + -129.169464, + 69.824709 + ], + [ + -128.900848, + 69.971926 + ], + [ + -130.366089, + 69.686373 + ], + [ + -130.937225, + 69.134432 + ], + [ + -130.952789, + 69.543322 + ], + [ + -131.108887, + 69.321657 + ], + [ + -131.027802, + 69.463884 + ], + [ + -131.083069, + 69.600542 + ], + [ + -131.196106, + 69.589983 + ], + [ + -131.06395, + 69.512392 + ], + [ + -131.135834, + 69.359987 + ], + [ + -131.110535, + 69.485331 + ], + [ + -131.25386, + 69.571848 + ], + [ + -131.166504, + 69.404932 + ], + [ + -131.324707, + 69.319994 + ], + [ + -131.652222, + 69.471926 + ], + [ + -132.869446, + 69.062761 + ], + [ + -132.470276, + 68.806932 + ], + [ + -133.490814, + 68.821657 + ], + [ + -131.997223, + 69.531374 + ], + [ + -131.05307, + 69.637209 + ], + [ + -130.928619, + 69.563311 + ], + [ + -129.403351, + 70.117754 + ], + [ + -130.54306, + 70.168322 + ], + [ + -134.562225, + 69.082766 + ], + [ + -134.26059, + 68.733538 + ], + [ + -134.226929, + 68.694139 + ], + [ + -134.339996, + 68.678865 + ], + [ + -134.495544, + 68.752214 + ] + ], + [ + [ + -95.902496, + 66.946642 + ], + [ + -95.629715, + 66.675539 + ], + [ + -96.460556, + 67.062197 + ], + [ + -95.902496, + 66.946642 + ] + ], + [ + [ + -70.783066, + 48.380548 + ], + [ + -71.048615, + 48.445269 + ], + [ + -69.828339, + 48.166384 + ], + [ + -70.783066, + 48.380548 + ] + ], + [ + [ + -71.111115, + 46.85055 + ], + [ + -70.809158, + 47.015276 + ], + [ + -70.904175, + 46.913607 + ], + [ + -71.111115, + 46.85055 + ] + ], + [ + [ + -77.678329, + 58.235552 + ], + [ + -77.950836, + 58.324167 + ], + [ + -77.807495, + 58.305269 + ], + [ + -77.678329, + 58.235552 + ] + ], + [ + [ + -84.808044, + 68.763887 + ], + [ + -84.939163, + 68.793596 + ], + [ + -84.855835, + 68.810808 + ], + [ + -84.808044, + 68.763887 + ] + ], + [ + [ + -89.005569, + 65.385546 + ], + [ + -89.099991, + 65.405825 + ], + [ + -89.031952, + 65.407213 + ], + [ + -89.005569, + 65.385546 + ] + ], + [ + [ + -91.329178, + 63.559717 + ], + [ + -91.436386, + 63.551935 + ], + [ + -91.540558, + 63.606661 + ], + [ + -91.329178, + 63.559717 + ] + ], + [ + [ + -93.51973, + 63.839434 + ], + [ + -93.779724, + 64.189699 + ], + [ + -92.507507, + 63.816385 + ], + [ + -93.51973, + 63.839434 + ] + ] + ], + [ + [ + [ + -134.495544, + 68.752214 + ], + [ + -134.26059, + 68.733538 + ], + [ + -134.673615, + 69.017763 + ], + [ + -133.778351, + 69.576387 + ], + [ + -134.113312, + 69.538881 + ], + [ + -134.491089, + 69.722216 + ], + [ + -134.438324, + 69.454714 + ], + [ + -135.150848, + 69.476931 + ], + [ + -135.287231, + 69.419146 + ], + [ + -135.170563, + 69.257769 + ], + [ + -135.854155, + 69.290819 + ], + [ + -135.486938, + 69.113314 + ], + [ + -135.967224, + 69.214708 + ], + [ + -135.517792, + 69.023882 + ], + [ + -135.978333, + 69.040819 + ], + [ + -135.905853, + 68.911379 + ], + [ + -135.460815, + 68.942751 + ], + [ + -135.391968, + 68.926653 + ], + [ + -135.20166, + 68.932756 + ], + [ + -135.141968, + 68.901384 + ], + [ + -134.961121, + 68.892488 + ], + [ + -134.914734, + 68.966661 + ], + [ + -134.825836, + 68.978868 + ], + [ + -134.495544, + 68.752214 + ] + ] + ], + [ + [ + [ + -55.695549, + 49.506945 + ], + [ + -55.653053, + 49.555269 + ], + [ + -55.722771, + 49.557772 + ], + [ + -55.695549, + 49.506945 + ] + ] + ], + [ + [ + [ + -55.787506, + 53.394159 + ], + [ + -55.729164, + 53.455271 + ], + [ + -55.979164, + 53.459162 + ], + [ + -55.787506, + 53.394159 + ] + ] + ], + [ + [ + [ + -55.763062, + 53.029436 + ], + [ + -55.800552, + 53.093607 + ], + [ + -55.876389, + 53.027491 + ], + [ + -55.763062, + 53.029436 + ] + ] + ], + [ + [ + [ + -55.778053, + 53.289721 + ], + [ + -55.785004, + 53.303606 + ], + [ + -55.797226, + 53.295549 + ], + [ + -55.778053, + 53.289721 + ] + ] + ], + [ + [ + [ + -55.876106, + 47.260553 + ], + [ + -55.881111, + 47.293329 + ], + [ + -55.96833, + 47.257776 + ], + [ + -55.876106, + 47.260553 + ] + ] + ], + [ + [ + [ + -55.901939, + 47.602495 + ], + [ + -55.933884, + 47.688326 + ], + [ + -56.113617, + 47.644716 + ], + [ + -55.901939, + 47.602495 + ] + ] + ], + [ + [ + [ + -56.867218, + 53.765001 + ], + [ + -56.844444, + 53.792498 + ], + [ + -57.01445, + 53.785555 + ], + [ + -56.867218, + 53.765001 + ] + ] + ], + [ + [ + [ + -57.324722, + 54.49888 + ], + [ + -57.24028, + 54.517771 + ], + [ + -57.26722, + 54.58555 + ], + [ + -57.324722, + 54.49888 + ] + ] + ], + [ + [ + [ + -57.940834, + 54.911936 + ], + [ + -58.224716, + 54.835268 + ], + [ + -57.841667, + 54.812494 + ], + [ + -57.940834, + 54.911936 + ] + ] + ], + [ + [ + [ + -58.518333, + 54.051661 + ], + [ + -58.373886, + 54.104166 + ], + [ + -58.561386, + 54.063883 + ], + [ + -58.518333, + 54.051661 + ] + ] + ], + [ + [ + [ + -58.41333, + 51.238886 + ], + [ + -58.419449, + 51.274714 + ], + [ + -58.565002, + 51.233332 + ], + [ + -58.41333, + 51.238886 + ] + ] + ], + [ + [ + [ + -58.675278, + 54.914156 + ], + [ + -58.660278, + 55.008608 + ], + [ + -58.760559, + 54.920549 + ], + [ + -58.675278, + 54.914156 + ] + ] + ], + [ + [ + [ + -59.345833, + 50.533884 + ], + [ + -59.300278, + 50.581942 + ], + [ + -59.371941, + 50.652773 + ], + [ + -59.345833, + 50.533884 + ] + ] + ], + [ + [ + [ + -59.816948, + 43.928331 + ], + [ + -59.724716, + 43.991106 + ], + [ + -60.129997, + 43.941935 + ], + [ + -59.816948, + 43.928331 + ] + ] + ], + [ + [ + [ + -60.445274, + 46.861666 + ], + [ + -60.609169, + 47.024439 + ], + [ + -61.447777, + 46.149439 + ], + [ + -61.336945, + 45.573328 + ], + [ + -59.840553, + 45.938326 + ], + [ + -60.347778, + 46.310549 + ], + [ + -60.789726, + 45.934435 + ], + [ + -60.409164, + 45.97999 + ], + [ + -61.14917, + 45.699717 + ], + [ + -60.419998, + 46.279993 + ], + [ + -60.609169, + 46.201937 + ], + [ + -60.445274, + 46.861666 + ] + ] + ], + [ + [ + [ + -60.858612, + 55.864717 + ], + [ + -60.686386, + 55.921938 + ], + [ + -60.865004, + 55.952776 + ], + [ + -60.858612, + 55.864717 + ] + ] + ], + [ + [ + [ + -60.993889, + 45.457773 + ], + [ + -60.879997, + 45.560549 + ], + [ + -61.104446, + 45.546389 + ], + [ + -60.993889, + 45.457773 + ] + ] + ], + [ + [ + [ + -60.970833, + 55.86944 + ], + [ + -60.908333, + 55.898333 + ], + [ + -61.070557, + 55.938601 + ], + [ + -60.970833, + 55.86944 + ] + ] + ], + [ + [ + [ + -60.943329, + 56.006662 + ], + [ + -61.089165, + 56.169992 + ], + [ + -61.232773, + 56.091105 + ], + [ + -60.943329, + 56.006662 + ] + ] + ], + [ + [ + [ + -70.111938, + 83.109423 + ], + [ + -73.650558, + 82.925814 + ], + [ + -72.633896, + 82.694429 + ], + [ + -74.435822, + 83.027208 + ], + [ + -77.381378, + 82.994432 + ], + [ + -75.396118, + 82.614702 + ], + [ + -76.230835, + 82.444704 + ], + [ + -75.892227, + 82.591936 + ], + [ + -79.793335, + 82.957491 + ], + [ + -80.430283, + 82.887499 + ], + [ + -78.502792, + 82.681093 + ], + [ + -81.473053, + 82.824999 + ], + [ + -80.578064, + 82.546099 + ], + [ + -82.215286, + 82.668596 + ], + [ + -81.541672, + 82.496096 + ], + [ + -82.732224, + 82.401659 + ], + [ + -79.229172, + 81.816088 + ], + [ + -85.046951, + 82.481936 + ], + [ + -86.876099, + 82.202211 + ], + [ + -84.604996, + 81.889986 + ], + [ + -88.075562, + 82.104982 + ], + [ + -91.956665, + 81.658602 + ], + [ + -89.585007, + 81.625811 + ], + [ + -90.856659, + 81.444139 + ], + [ + -90.443054, + 81.366655 + ], + [ + -87.24472, + 81.490267 + ], + [ + -90.351944, + 81.167482 + ], + [ + -89.820847, + 81.01082 + ], + [ + -84.733887, + 81.281099 + ], + [ + -89.46611, + 80.914156 + ], + [ + -87.594727, + 80.628588 + ], + [ + -85.681671, + 81.049425 + ], + [ + -82.364441, + 81.17943 + ], + [ + -85.605835, + 80.975817 + ], + [ + -86.744995, + 80.603045 + ], + [ + -85.066956, + 80.505266 + ], + [ + -83.256958, + 80.838594 + ], + [ + -83.569458, + 80.739153 + ], + [ + -80.919449, + 80.65555 + ], + [ + -79.063614, + 81.085543 + ], + [ + -79.501678, + 81.19359 + ], + [ + -76.74527, + 81.43915 + ], + [ + -78.934998, + 80.875536 + ], + [ + -76.484726, + 80.865541 + ], + [ + -79.960556, + 80.608034 + ], + [ + -78.038055, + 80.567217 + ], + [ + -83.203888, + 80.318056 + ], + [ + -81.400284, + 79.937761 + ], + [ + -81.663055, + 79.903048 + ], + [ + -81.51973, + 79.730822 + ], + [ + -79.904724, + 79.646944 + ], + [ + -81.706665, + 79.586657 + ], + [ + -83.781952, + 80.245821 + ], + [ + -86.514725, + 80.29915 + ], + [ + -86.482773, + 80.008608 + ], + [ + -85.255005, + 79.920824 + ], + [ + -86.486389, + 79.763613 + ], + [ + -85.068893, + 79.626085 + ], + [ + -84.484726, + 79.406374 + ], + [ + -84.32695, + 79.188585 + ], + [ + -83.358612, + 79.050814 + ], + [ + -84.748047, + 79.031939 + ], + [ + -81.477219, + 79.047213 + ], + [ + -83.25473, + 78.834993 + ], + [ + -82.220551, + 78.73221 + ], + [ + -82.594452, + 78.703051 + ], + [ + -82.337784, + 78.566668 + ], + [ + -85.064163, + 78.919146 + ], + [ + -86.856949, + 78.734987 + ], + [ + -87.524719, + 78.416384 + ], + [ + -87.089447, + 78.201937 + ], + [ + -87.538605, + 78.138048 + ], + [ + -85.833069, + 78.379976 + ], + [ + -86.28833, + 78.076387 + ], + [ + -85.486115, + 78.10248 + ], + [ + -84.638611, + 78.594149 + ], + [ + -84.866943, + 78.369143 + ], + [ + -84.575562, + 78.346376 + ], + [ + -84.968613, + 78.202486 + ], + [ + -84.127777, + 78.171099 + ], + [ + -85.678879, + 77.92943 + ], + [ + -84.325012, + 77.896105 + ], + [ + -85.402496, + 77.819994 + ], + [ + -83.898346, + 77.490541 + ], + [ + -82.318619, + 78.070833 + ], + [ + -83.835556, + 77.455263 + ], + [ + -83.464722, + 77.34833 + ], + [ + -84.479446, + 77.294436 + ], + [ + -85.794449, + 77.41971 + ], + [ + -86.422226, + 77.830828 + ], + [ + -88.068069, + 77.820269 + ], + [ + -88.214722, + 77.650545 + ], + [ + -87.711945, + 77.359987 + ], + [ + -86.73999, + 77.17415 + ], + [ + -88.545837, + 77.100267 + ], + [ + -89.679443, + 76.571657 + ], + [ + -88.608046, + 76.399996 + ], + [ + -88.49472, + 76.817217 + ], + [ + -88.389999, + 76.389711 + ], + [ + -86.342224, + 76.512209 + ], + [ + -86.594162, + 76.634996 + ], + [ + -84.928329, + 76.286379 + ], + [ + -84.376099, + 76.317766 + ], + [ + -85.028336, + 76.574999 + ], + [ + -84.195541, + 76.456377 + ], + [ + -84.310822, + 76.658327 + ], + [ + -83.188324, + 76.419436 + ], + [ + -83.400833, + 76.759996 + ], + [ + -83.003616, + 76.429155 + ], + [ + -82.127213, + 76.441652 + ], + [ + -82.725006, + 76.819155 + ], + [ + -80.771666, + 76.419146 + ], + [ + -81.053329, + 76.128038 + ], + [ + -78.377487, + 76.45804 + ], + [ + -77.779449, + 76.791368 + ], + [ + -79.386948, + 76.927477 + ], + [ + -79.005005, + 77.096941 + ], + [ + -79.255005, + 77.218599 + ], + [ + -81.834166, + 77.162493 + ], + [ + -82.166107, + 77.292482 + ], + [ + -81.165833, + 77.337206 + ], + [ + -81.930283, + 77.684984 + ], + [ + -80.456116, + 77.296099 + ], + [ + -78.690552, + 77.315538 + ], + [ + -77.718613, + 77.605822 + ], + [ + -78.260834, + 77.995256 + ], + [ + -75.922775, + 77.956652 + ], + [ + -75.575562, + 78.107759 + ], + [ + -76.912216, + 78.201097 + ], + [ + -75.0625, + 78.30971 + ], + [ + -76.693604, + 78.509722 + ], + [ + -74.719727, + 78.707491 + ], + [ + -76.710556, + 79.028322 + ], + [ + -78.248047, + 78.770266 + ], + [ + -77.703339, + 79.006945 + ], + [ + -78.891388, + 79.063311 + ], + [ + -74.436661, + 79.057756 + ], + [ + -78.051392, + 79.354708 + ], + [ + -73.125824, + 79.558321 + ], + [ + -74.84639, + 79.847216 + ], + [ + -74.238892, + 79.887209 + ], + [ + -71.183884, + 79.777483 + ], + [ + -70.910278, + 79.88582 + ], + [ + -71.460556, + 79.901384 + ], + [ + -70.497498, + 80.082766 + ], + [ + -72.420837, + 80.211107 + ], + [ + -70.145554, + 80.19359 + ], + [ + -70.825287, + 80.558596 + ], + [ + -69.42749, + 80.382753 + ], + [ + -64.436386, + 81.479433 + ], + [ + -70.210007, + 81.173876 + ], + [ + -66.608612, + 81.512774 + ], + [ + -69.291382, + 81.718874 + ], + [ + -64.35527, + 81.726381 + ], + [ + -61.076393, + 82.320833 + ], + [ + -63.369995, + 82.438875 + ], + [ + -62.926109, + 82.576097 + ], + [ + -64.936935, + 82.87137 + ], + [ + -64.729721, + 82.904161 + ], + [ + -68.642502, + 82.628588 + ], + [ + -66.299438, + 82.92943 + ], + [ + -70.111938, + 83.109423 + ] + ] + ], + [ + [ + [ + -61.1875, + 56.586107 + ], + [ + -61.077782, + 56.674997 + ], + [ + -61.165833, + 56.684435 + ], + [ + -61.1875, + 56.586107 + ] + ] + ], + [ + [ + [ + -61.435829, + 56.541384 + ], + [ + -61.642227, + 56.486383 + ], + [ + -61.148888, + 56.441103 + ], + [ + -61.435829, + 56.541384 + ] + ] + ], + [ + [ + [ + -61.199997, + 45.558329 + ], + [ + -61.214165, + 45.568888 + ], + [ + -61.224167, + 45.564157 + ], + [ + -61.199997, + 45.558329 + ] + ] + ], + [ + [ + [ + -73.354675, + 68.329218 + ], + [ + -72.258347, + 67.248034 + ], + [ + -74.46611, + 66.151934 + ], + [ + -73.500565, + 65.474428 + ], + [ + -75.950287, + 65.318331 + ], + [ + -75.186935, + 65.101656 + ], + [ + -75.567505, + 64.883608 + ], + [ + -75.373047, + 64.714998 + ], + [ + -75.667496, + 64.940813 + ], + [ + -75.424438, + 65.043871 + ], + [ + -75.769165, + 65.218874 + ], + [ + -77.421661, + 65.461382 + ], + [ + -77.315826, + 65.190538 + ], + [ + -78.145279, + 64.957491 + ], + [ + -78.183319, + 64.572496 + ], + [ + -76.670546, + 64.184145 + ], + [ + -75.726944, + 64.367205 + ], + [ + -75.824173, + 64.61165 + ], + [ + -74.685822, + 64.371096 + ], + [ + -74.470001, + 64.557482 + ], + [ + -74.985275, + 64.795824 + ], + [ + -74.639999, + 64.903597 + ], + [ + -74.390289, + 64.569719 + ], + [ + -74.053879, + 64.728594 + ], + [ + -74.062775, + 64.334429 + ], + [ + -73.844727, + 64.50194 + ], + [ + -73.929443, + 64.602205 + ], + [ + -73.467224, + 64.612764 + ], + [ + -73.463333, + 64.502489 + ], + [ + -73.30278, + 64.658876 + ], + [ + -73.380554, + 64.268602 + ], + [ + -72.911667, + 64.168871 + ], + [ + -72.720001, + 63.961107 + ], + [ + -72.664719, + 64.080553 + ], + [ + -72.526398, + 63.787775 + ], + [ + -72.238892, + 63.952494 + ], + [ + -72.324173, + 63.676661 + ], + [ + -71.933884, + 63.649439 + ], + [ + -71.904449, + 63.809992 + ], + [ + -71.581116, + 63.714998 + ], + [ + -71.57695, + 63.581667 + ], + [ + -71.229721, + 63.604715 + ], + [ + -72.145554, + 63.4461 + ], + [ + -71.400558, + 63.051661 + ], + [ + -70.90889, + 63.170832 + ], + [ + -71.156662, + 62.989161 + ], + [ + -66.066101, + 61.868601 + ], + [ + -65.946655, + 61.899164 + ], + [ + -66.132492, + 62.089434 + ], + [ + -65.993057, + 62.244158 + ], + [ + -66.470001, + 62.332216 + ], + [ + -66.351669, + 62.444994 + ], + [ + -67.398056, + 62.967211 + ], + [ + -67.672775, + 62.923326 + ], + [ + -67.553055, + 63.048609 + ], + [ + -67.76973, + 62.95833 + ], + [ + -67.599991, + 63.084436 + ], + [ + -68.146118, + 63.15027 + ], + [ + -68.996948, + 63.753611 + ], + [ + -68.54277, + 63.732492 + ], + [ + -67.685272, + 63.368883 + ], + [ + -67.914719, + 63.759439 + ], + [ + -66.546661, + 62.991381 + ], + [ + -66.642775, + 63.372492 + ], + [ + -66.444443, + 63.020548 + ], + [ + -65.838333, + 63.033335 + ], + [ + -65.1875, + 62.562212 + ], + [ + -64.948883, + 62.648607 + ], + [ + -65.25473, + 62.98527 + ], + [ + -64.627213, + 62.904161 + ], + [ + -65.303879, + 63.80694 + ], + [ + -64.531113, + 63.24972 + ], + [ + -64.522507, + 63.67277 + ], + [ + -64.987503, + 63.823053 + ], + [ + -64.661118, + 64.028597 + ], + [ + -65.214172, + 64.025545 + ], + [ + -65.049438, + 64.072222 + ], + [ + -65.65834, + 64.302767 + ], + [ + -65.071671, + 64.440813 + ], + [ + -65.721664, + 64.494143 + ], + [ + -65.717773, + 64.840273 + ], + [ + -66.212219, + 64.685534 + ], + [ + -66.68866, + 65.038774 + ], + [ + -66.698044, + 64.761934 + ], + [ + -66.726105, + 65.180269 + ], + [ + -67.096115, + 65.056093 + ], + [ + -66.928879, + 65.229708 + ], + [ + -67.416107, + 65.339159 + ], + [ + -67.058334, + 65.426653 + ], + [ + -67.458893, + 65.498034 + ], + [ + -67.280563, + 65.642488 + ], + [ + -68.025833, + 65.481096 + ], + [ + -67.821121, + 65.768053 + ], + [ + -68.333618, + 65.931932 + ], + [ + -68.304443, + 66.028048 + ], + [ + -68.123886, + 65.963045 + ], + [ + -68.053604, + 65.991091 + ], + [ + -68.047226, + 66.064989 + ], + [ + -68.157501, + 66.117479 + ], + [ + -68.246948, + 66.112764 + ], + [ + -68.237778, + 66.069994 + ], + [ + -68.414719, + 66.159426 + ], + [ + -68.851395, + 66.189974 + ], + [ + -68.24472, + 66.182756 + ], + [ + -68.025833, + 66.065813 + ], + [ + -68.030563, + 65.998034 + ], + [ + -67.938599, + 65.908037 + ], + [ + -67.824173, + 65.880816 + ], + [ + -67.194443, + 65.909716 + ], + [ + -67.992767, + 66.506945 + ], + [ + -67.282227, + 66.27527 + ], + [ + -67.148621, + 66.443865 + ], + [ + -67.742767, + 66.568331 + ], + [ + -67.048889, + 66.644716 + ], + [ + -66.073624, + 66.120531 + ], + [ + -65.473618, + 66.38582 + ], + [ + -65.916107, + 65.951097 + ], + [ + -64.356384, + 66.349718 + ], + [ + -65.505569, + 65.743319 + ], + [ + -64.794998, + 65.728045 + ], + [ + -65.338608, + 65.575548 + ], + [ + -64.710007, + 65.652208 + ], + [ + -65.149994, + 65.434145 + ], + [ + -64.418335, + 65.482759 + ], + [ + -64.912216, + 65.338045 + ], + [ + -64.555557, + 65.092211 + ], + [ + -64.237213, + 65.429979 + ], + [ + -64.380829, + 65.181093 + ], + [ + -63.546951, + 64.887209 + ], + [ + -63.335556, + 65.300539 + ], + [ + -63.655556, + 65.470827 + ], + [ + -63.32, + 65.593325 + ], + [ + -63.72361, + 65.680269 + ], + [ + -62.317223, + 65.808031 + ], + [ + -62.970551, + 66.148043 + ], + [ + -61.954445, + 66.019152 + ], + [ + -62.895004, + 66.329714 + ], + [ + -61.877495, + 66.283327 + ], + [ + -61.462502, + 66.369143 + ], + [ + -62.123886, + 66.626375 + ], + [ + -61.262505, + 66.629427 + ], + [ + -62.101395, + 67.054705 + ], + [ + -62.899727, + 66.63666 + ], + [ + -62.846947, + 66.961931 + ], + [ + -63.771385, + 66.811098 + ], + [ + -63.240837, + 66.961657 + ], + [ + -63.110283, + 67.329988 + ], + [ + -63.772499, + 66.958879 + ], + [ + -63.450554, + 67.22249 + ], + [ + -64.69194, + 67.000551 + ], + [ + -63.962776, + 67.272493 + ], + [ + -64.797501, + 67.356646 + ], + [ + -63.904167, + 67.305819 + ], + [ + -64.440552, + 67.474993 + ], + [ + -64.038605, + 67.528597 + ], + [ + -64.506958, + 67.807207 + ], + [ + -65.204178, + 67.648333 + ], + [ + -64.723618, + 67.990541 + ], + [ + -65.423615, + 67.898043 + ], + [ + -65.34639, + 67.593325 + ], + [ + -65.615829, + 67.786104 + ], + [ + -65.443604, + 67.992205 + ], + [ + -65.80777, + 67.971102 + ], + [ + -66.008621, + 67.625536 + ], + [ + -65.911942, + 68.158876 + ], + [ + -66.356659, + 67.821383 + ], + [ + -66.732224, + 67.867205 + ], + [ + -66.184158, + 68.018877 + ], + [ + -66.541946, + 68.148333 + ], + [ + -66.69722, + 67.98749 + ], + [ + -66.694443, + 68.143053 + ], + [ + -66.946655, + 68.013613 + ], + [ + -66.765839, + 68.238588 + ], + [ + -67.011398, + 68.294985 + ], + [ + -67.598343, + 68.162767 + ], + [ + -67.011673, + 68.316088 + ], + [ + -67.232498, + 68.357485 + ], + [ + -67.878326, + 68.265276 + ], + [ + -66.706955, + 68.444704 + ], + [ + -67.612503, + 68.379427 + ], + [ + -69.398056, + 68.8622 + ], + [ + -67.771393, + 68.781374 + ], + [ + -68.556107, + 68.964159 + ], + [ + -67.705841, + 69.01639 + ], + [ + -68.178329, + 69.146654 + ], + [ + -69.025833, + 68.968599 + ], + [ + -68.502502, + 69.198595 + ], + [ + -68.967773, + 69.221102 + ], + [ + -68.077499, + 69.217485 + ], + [ + -69.257782, + 69.270266 + ], + [ + -69.015015, + 69.354982 + ], + [ + -66.758621, + 69.128038 + ], + [ + -66.795546, + 69.341097 + ], + [ + -70.030838, + 69.536104 + ], + [ + -68.329453, + 69.627764 + ], + [ + -67.996109, + 69.774431 + ], + [ + -67.127777, + 69.726931 + ], + [ + -67.794724, + 70.258883 + ], + [ + -69.990555, + 69.614992 + ], + [ + -68.642502, + 70.149431 + ], + [ + -70.468613, + 69.84276 + ], + [ + -68.313889, + 70.563036 + ], + [ + -69.451401, + 70.791933 + ], + [ + -70.496109, + 70.479433 + ], + [ + -69.904724, + 70.881365 + ], + [ + -70.997223, + 70.625811 + ], + [ + -71.535828, + 70.019716 + ], + [ + -71.162506, + 70.52527 + ], + [ + -71.803055, + 70.428316 + ], + [ + -70.746948, + 70.745531 + ], + [ + -70.601669, + 71.053865 + ], + [ + -72.569458, + 70.609987 + ], + [ + -72.16362, + 70.836382 + ], + [ + -72.65361, + 70.827776 + ], + [ + -71.11972, + 71.264162 + ], + [ + -72.538055, + 71.660814 + ], + [ + -73.377487, + 70.980547 + ], + [ + -73.049438, + 71.268328 + ], + [ + -73.898346, + 71.057482 + ], + [ + -73.38028, + 71.385271 + ], + [ + -73.621933, + 71.58333 + ], + [ + -74.240829, + 71.200823 + ], + [ + -73.748047, + 71.776934 + ], + [ + -75.08139, + 71.17943 + ], + [ + -74.699432, + 71.390825 + ], + [ + -75.151947, + 71.471651 + ], + [ + -74.631943, + 71.662493 + ], + [ + -75.389999, + 71.681093 + ], + [ + -74.122223, + 71.983599 + ], + [ + -75.035828, + 72.125811 + ], + [ + -76.085281, + 71.691927 + ], + [ + -75.219452, + 72.074434 + ], + [ + -76.348053, + 71.891665 + ], + [ + -74.947495, + 72.249712 + ], + [ + -75.19249, + 72.49193 + ], + [ + -77.613892, + 72.751665 + ], + [ + -78.559158, + 72.438036 + ], + [ + -76.995834, + 72.128862 + ], + [ + -78.870834, + 72.226656 + ], + [ + -77.785553, + 71.787493 + ], + [ + -78.854446, + 72.173037 + ], + [ + -78.503616, + 71.868868 + ], + [ + -79.203064, + 71.961931 + ], + [ + -79.012787, + 72.273882 + ], + [ + -79.75, + 72.215548 + ], + [ + -79.799164, + 72.50139 + ], + [ + -80.166397, + 72.322222 + ], + [ + -79.674438, + 72.12665 + ], + [ + -80.260834, + 72.294985 + ], + [ + -80.486664, + 72.189425 + ], + [ + -80.38501, + 72.048326 + ], + [ + -80.971664, + 71.881655 + ], + [ + -80.79277, + 72.027773 + ], + [ + -81.080292, + 72.051653 + ], + [ + -80.56723, + 72.072771 + ], + [ + -80.905563, + 72.180544 + ], + [ + -80.516403, + 72.503878 + ], + [ + -81.37944, + 72.241655 + ], + [ + -80.247498, + 72.730547 + ], + [ + -81.553879, + 73.717211 + ], + [ + -85.188599, + 73.228868 + ], + [ + -83.634445, + 72.982485 + ], + [ + -85.447769, + 73.120256 + ], + [ + -83.953064, + 72.752489 + ], + [ + -85.688049, + 72.893602 + ], + [ + -85.535278, + 72.469713 + ], + [ + -84.442215, + 72.383043 + ], + [ + -84.935272, + 72.289431 + ], + [ + -84.164719, + 72.021105 + ], + [ + -85.487213, + 72.260271 + ], + [ + -86.050827, + 72.01111 + ], + [ + -84.625, + 71.665819 + ], + [ + -84.798889, + 70.921648 + ], + [ + -85.146957, + 71.082766 + ], + [ + -84.96167, + 71.188585 + ], + [ + -86.820007, + 70.988588 + ], + [ + -84.833893, + 71.274157 + ], + [ + -86.420546, + 72.012774 + ], + [ + -86.240829, + 72.420259 + ], + [ + -86.732773, + 72.716097 + ], + [ + -84.837784, + 73.741655 + ], + [ + -85.069458, + 73.801928 + ], + [ + -88.409164, + 73.523607 + ], + [ + -89.228333, + 73.125811 + ], + [ + -89.956665, + 72.321657 + ], + [ + -89.574722, + 72.163607 + ], + [ + -90.048615, + 71.953875 + ], + [ + -89.830002, + 71.328875 + ], + [ + -87.002792, + 70.994143 + ], + [ + -89.549728, + 71.088594 + ], + [ + -87.92305, + 70.242754 + ], + [ + -86.37471, + 70.52527 + ], + [ + -86.551941, + 70.234987 + ], + [ + -85.823334, + 70.000277 + ], + [ + -85.236115, + 69.989153 + ], + [ + -85.878052, + 70.076937 + ], + [ + -85.666397, + 70.104708 + ], + [ + -83.066666, + 70.01082 + ], + [ + -82.143341, + 69.781374 + ], + [ + -81.710831, + 69.934145 + ], + [ + -83.006958, + 70.304705 + ], + [ + -82.101105, + 70.108034 + ], + [ + -80.952499, + 69.713884 + ], + [ + -81.763336, + 70.123034 + ], + [ + -78.791946, + 69.8911 + ], + [ + -78.921661, + 70.300814 + ], + [ + -79.588898, + 70.399431 + ], + [ + -79.009445, + 70.679705 + ], + [ + -78.718887, + 70.547762 + ], + [ + -79.070557, + 70.469713 + ], + [ + -78.401672, + 70.212496 + ], + [ + -77.678329, + 70.187761 + ], + [ + -77.626389, + 69.744982 + ], + [ + -76.98056, + 69.938036 + ], + [ + -77.310547, + 69.835817 + ], + [ + -76.793884, + 69.718599 + ], + [ + -77.200562, + 69.646105 + ], + [ + -76.187775, + 69.66527 + ], + [ + -76.641113, + 69.554155 + ], + [ + -75.591675, + 69.221651 + ], + [ + -76.625549, + 69.018328 + ], + [ + -76.660828, + 68.699419 + ], + [ + -74.820847, + 69.082216 + ], + [ + -74.91777, + 68.801378 + ], + [ + -73.99028, + 68.492754 + ], + [ + -74.094162, + 68.719988 + ], + [ + -73.761398, + 68.686373 + ], + [ + -73.851669, + 68.342211 + ], + [ + -73.354675, + 68.329218 + ] + ], + [ + [ + -73.354675, + 68.329218 + ], + [ + -73.318069, + 68.393053 + ], + [ + -73.21167, + 68.376925 + ], + [ + -73.354675, + 68.329218 + ] + ] + ], + [ + [ + [ + -61.380554, + 47.620272 + ], + [ + -61.928055, + 47.407213 + ], + [ + -62.013062, + 47.225824 + ], + [ + -61.380554, + 47.620272 + ] + ] + ], + [ + [ + [ + -61.429211, + 56.929708 + ], + [ + -61.644394, + 56.734777 + ], + [ + -61.409138, + 56.61561 + ], + [ + -61.429211, + 56.929708 + ] + ] + ], + [ + [ + [ + -61.623611, + 56.399996 + ], + [ + -61.796112, + 56.41305 + ], + [ + -61.412216, + 56.326662 + ], + [ + -61.623611, + 56.399996 + ] + ] + ], + [ + [ + [ + -61.621666, + 57.33555 + ], + [ + -61.726944, + 57.374437 + ], + [ + -61.768608, + 57.324999 + ], + [ + -61.621666, + 57.33555 + ] + ] + ], + [ + [ + [ + -61.655273, + 57.391382 + ], + [ + -61.648056, + 57.530275 + ], + [ + -61.900276, + 57.437494 + ], + [ + -61.655273, + 57.391382 + ] + ] + ], + [ + [ + [ + -62.089722, + 49.386385 + ], + [ + -64.513901, + 49.863611 + ], + [ + -63.089996, + 49.228045 + ], + [ + -61.661667, + 49.144442 + ], + [ + -62.089722, + 49.386385 + ] + ] + ], + [ + [ + [ + -61.688606, + 57.713053 + ], + [ + -61.711113, + 57.834162 + ], + [ + -61.896111, + 57.769716 + ], + [ + -61.688606, + 57.713053 + ] + ] + ], + [ + [ + [ + -61.878334, + 57.463053 + ], + [ + -61.783615, + 57.550547 + ], + [ + -62.020279, + 57.540277 + ], + [ + -61.878334, + 57.463053 + ] + ] + ], + [ + [ + [ + -61.947495, + 57.787218 + ], + [ + -61.928337, + 57.908602 + ], + [ + -62.009171, + 57.904436 + ], + [ + -62.108337, + 57.824717 + ], + [ + -61.947495, + 57.787218 + ] + ] + ], + [ + [ + [ + -64.039719, + 46.743326 + ], + [ + -64.020844, + 47.038607 + ], + [ + -64.415558, + 46.670549 + ], + [ + -63.591942, + 46.211939 + ], + [ + -62.962776, + 46.319994 + ], + [ + -62.761116, + 45.954165 + ], + [ + -61.965004, + 46.453325 + ], + [ + -63.216393, + 46.41221 + ], + [ + -63.647224, + 46.567217 + ], + [ + -63.742226, + 46.439432 + ], + [ + -64.039719, + 46.743326 + ] + ] + ], + [ + [ + [ + -62.268333, + 65.701662 + ], + [ + -62.484444, + 65.726931 + ], + [ + -62.131943, + 65.657213 + ], + [ + -62.268333, + 65.701662 + ] + ] + ], + [ + [ + [ + -62.136665, + 65.851381 + ], + [ + -62.137779, + 65.925814 + ], + [ + -62.296669, + 65.938585 + ], + [ + -62.136665, + 65.851381 + ] + ] + ], + [ + [ + [ + -62.183884, + 66.2372 + ], + [ + -62.261673, + 66.280275 + ], + [ + -62.43, + 66.229158 + ], + [ + -62.183884, + 66.2372 + ] + ] + ], + [ + [ + [ + -62.644165, + 67.057482 + ], + [ + -62.375275, + 67.165819 + ], + [ + -62.899445, + 67.058321 + ], + [ + -62.644165, + 67.057482 + ] + ] + ], + [ + [ + [ + -62.795006, + 65.519991 + ], + [ + -62.750839, + 65.551378 + ], + [ + -62.884445, + 65.605547 + ], + [ + -62.795006, + 65.519991 + ] + ] + ], + [ + [ + [ + -62.918335, + 67.009722 + ], + [ + -63.002228, + 67.069445 + ], + [ + -63.138054, + 67.065264 + ], + [ + -62.918335, + 67.009722 + ] + ] + ], + [ + [ + [ + -63.059166, + 66.957766 + ], + [ + -63, + 66.984423 + ], + [ + -63.166107, + 67.004992 + ], + [ + -63.059166, + 66.957766 + ] + ] + ], + [ + [ + [ + -63.243614, + 65.254992 + ], + [ + -63.166389, + 65.286104 + ], + [ + -63.311668, + 65.298037 + ], + [ + -63.243614, + 65.254992 + ] + ] + ], + [ + [ + [ + -63.246391, + 46.435549 + ], + [ + -63.245834, + 46.442766 + ], + [ + -63.285004, + 46.45083 + ], + [ + -63.246391, + 46.435549 + ] + ] + ], + [ + [ + [ + -63.353333, + 64.994982 + ], + [ + -63.42028, + 64.976091 + ], + [ + -63.258896, + 64.921099 + ], + [ + -63.353333, + 64.994982 + ] + ] + ], + [ + [ + [ + -63.366394, + 67.287767 + ], + [ + -63.585831, + 67.353319 + ], + [ + -63.829727, + 67.284151 + ], + [ + -63.366394, + 67.287767 + ] + ] + ], + [ + [ + [ + -63.881943, + 67.503328 + ], + [ + -63.758057, + 67.52054 + ], + [ + -63.976944, + 67.649431 + ], + [ + -64.029724, + 67.513887 + ], + [ + -63.881943, + 67.503328 + ] + ] + ], + [ + [ + [ + -63.859444, + 50.197771 + ], + [ + -63.889725, + 50.24222 + ], + [ + -63.930557, + 50.229433 + ], + [ + -63.859444, + 50.197771 + ] + ] + ], + [ + [ + [ + -64.01973, + 59.714716 + ], + [ + -64.061386, + 59.864443 + ], + [ + -64.204453, + 59.734438 + ], + [ + -64.01973, + 59.714716 + ] + ] + ], + [ + [ + [ + -64.032501, + 63.689714 + ], + [ + -64.075287, + 63.758051 + ], + [ + -64.212509, + 63.712214 + ], + [ + -64.032501, + 63.689714 + ] + ] + ], + [ + [ + [ + -64.061111, + 63.270548 + ], + [ + -64.328888, + 63.644442 + ], + [ + -64.479172, + 63.636942 + ], + [ + -64.061111, + 63.270548 + ] + ] + ], + [ + [ + [ + -64.092499, + 63.481661 + ], + [ + -64.093338, + 63.568331 + ], + [ + -64.212784, + 63.623606 + ], + [ + -64.092499, + 63.481661 + ] + ] + ], + [ + [ + [ + -64.170273, + 63.856386 + ], + [ + -64.39917, + 63.849436 + ], + [ + -64.234436, + 63.771379 + ], + [ + -64.170273, + 63.856386 + ] + ] + ], + [ + [ + [ + -64.284439, + 63.708605 + ], + [ + -64.27861, + 63.77083 + ], + [ + -64.381104, + 63.807497 + ], + [ + -64.284439, + 63.708605 + ] + ] + ], + [ + [ + [ + -64.653885, + 62.540834 + ], + [ + -64.965836, + 62.46583 + ], + [ + -64.382767, + 62.511385 + ], + [ + -64.653885, + 62.540834 + ] + ] + ], + [ + [ + [ + -64.576111, + 63.780825 + ], + [ + -64.920273, + 63.824717 + ], + [ + -64.386124, + 63.701662 + ], + [ + -64.576111, + 63.780825 + ] + ] + ], + [ + [ + [ + -64.427673, + 60.372934 + ], + [ + -64.868057, + 60.458887 + ], + [ + -64.448608, + 60.284166 + ], + [ + -64.427673, + 60.372934 + ] + ] + ], + [ + [ + [ + -64.491104, + 64.109148 + ], + [ + -64.453339, + 64.146944 + ], + [ + -64.59584, + 64.156649 + ], + [ + -64.491104, + 64.109148 + ] + ] + ], + [ + [ + [ + -64.520279, + 64.220263 + ], + [ + -64.462219, + 64.23749 + ], + [ + -64.647781, + 64.250002 + ], + [ + -64.520279, + 64.220263 + ] + ] + ], + [ + [ + [ + -64.567505, + 47.899439 + ], + [ + -64.470551, + 47.953325 + ], + [ + -64.501114, + 48.027491 + ], + [ + -64.567505, + 47.899439 + ] + ] + ], + [ + [ + [ + -64.482773, + 47.917772 + ], + [ + -64.667496, + 47.866938 + ], + [ + -64.690552, + 47.753054 + ], + [ + -64.482773, + 47.917772 + ] + ] + ], + [ + [ + [ + -64.689987, + 60.584436 + ], + [ + -64.592773, + 60.685549 + ], + [ + -64.710831, + 60.602777 + ], + [ + -64.689987, + 60.584436 + ] + ] + ], + [ + [ + [ + -64.723892, + 61.538332 + ], + [ + -65.486938, + 61.610826 + ], + [ + -64.875275, + 61.322496 + ], + [ + -64.723892, + 61.538332 + ] + ] + ], + [ + [ + [ + -64.849731, + 64.307482 + ], + [ + -64.771942, + 64.348879 + ], + [ + -64.958618, + 64.405825 + ], + [ + -64.849731, + 64.307482 + ] + ] + ], + [ + [ + [ + -64.983063, + 62.528048 + ], + [ + -64.839447, + 62.577776 + ], + [ + -65.141678, + 62.546946 + ], + [ + -64.983063, + 62.528048 + ] + ] + ], + [ + [ + [ + -64.962784, + 64.110811 + ], + [ + -65.057495, + 64.113039 + ], + [ + -64.869995, + 64.093325 + ], + [ + -64.962784, + 64.110811 + ] + ] + ], + [ + [ + [ + -64.938599, + 64.235537 + ], + [ + -64.884735, + 64.287767 + ], + [ + -65.112503, + 64.339708 + ], + [ + -64.938599, + 64.235537 + ] + ] + ], + [ + [ + [ + -64.916107, + 61.719439 + ], + [ + -64.980835, + 61.885828 + ], + [ + -65.255005, + 61.901659 + ], + [ + -64.916107, + 61.719439 + ] + ] + ], + [ + [ + [ + -65.492767, + 64.517763 + ], + [ + -65.208054, + 64.639711 + ], + [ + -65.690277, + 64.524157 + ], + [ + -65.492767, + 64.517763 + ] + ] + ], + [ + [ + [ + -65.397232, + 68.03998 + ], + [ + -65.386398, + 68.08832 + ], + [ + -65.51973, + 68.067492 + ], + [ + -65.397232, + 68.03998 + ] + ] + ], + [ + [ + [ + -65.642227, + 68.159426 + ], + [ + -65.709732, + 68.106096 + ], + [ + -65.495544, + 68.128313 + ], + [ + -65.642227, + 68.159426 + ] + ] + ], + [ + [ + [ + -65.645844, + 65.813036 + ], + [ + -65.511398, + 65.903048 + ], + [ + -65.647781, + 65.879976 + ], + [ + -65.645844, + 65.813036 + ] + ] + ], + [ + [ + [ + -65.613617, + 43.420275 + ], + [ + -65.566101, + 43.508333 + ], + [ + -65.633057, + 43.47471 + ], + [ + -65.613617, + 43.420275 + ] + ] + ], + [ + [ + [ + -65.695267, + 61.776659 + ], + [ + -65.778061, + 61.865549 + ], + [ + -65.948044, + 61.790277 + ], + [ + -65.695267, + 61.776659 + ] + ] + ], + [ + [ + [ + -65.852493, + 62.084719 + ], + [ + -65.904449, + 62.152773 + ], + [ + -66.020279, + 62.124437 + ], + [ + -65.852493, + 62.084719 + ] + ] + ], + [ + [ + [ + -66.282776, + 44.289721 + ], + [ + -66.20639, + 44.395273 + ], + [ + -66.322235, + 44.252779 + ], + [ + -66.282776, + 44.289721 + ] + ] + ], + [ + [ + [ + -66.313614, + 68.147768 + ], + [ + -66.221939, + 68.241091 + ], + [ + -66.607224, + 68.217211 + ], + [ + -66.313614, + 68.147768 + ] + ] + ], + [ + [ + [ + -66.368332, + 62.835268 + ], + [ + -66.547775, + 62.910547 + ], + [ + -66.601669, + 62.906656 + ], + [ + -66.368332, + 62.835268 + ] + ] + ], + [ + [ + [ + -66.623322, + 66.280825 + ], + [ + -66.575012, + 66.313875 + ], + [ + -66.958344, + 66.411928 + ], + [ + -66.623322, + 66.280825 + ] + ] + ], + [ + [ + [ + -66.886124, + 44.614443 + ], + [ + -66.74028, + 44.707773 + ], + [ + -66.772507, + 44.80916 + ], + [ + -66.886124, + 44.614443 + ] + ] + ], + [ + [ + [ + -66.825562, + 62.984163 + ], + [ + -66.946106, + 63.074999 + ], + [ + -67.069458, + 63.1075 + ], + [ + -66.825562, + 62.984163 + ] + ] + ], + [ + [ + [ + -66.998337, + 66.493044 + ], + [ + -67.036667, + 66.456102 + ], + [ + -66.868881, + 66.464434 + ], + [ + -66.998337, + 66.493044 + ] + ] + ], + [ + [ + [ + -66.924713, + 65.284426 + ], + [ + -66.910828, + 65.356936 + ], + [ + -67.010559, + 65.33333 + ], + [ + -66.924713, + 65.284426 + ] + ] + ], + [ + [ + [ + -67.138336, + 65.926928 + ], + [ + -67.153885, + 65.978594 + ], + [ + -67.211945, + 65.982759 + ], + [ + -67.138336, + 65.926928 + ] + ] + ], + [ + [ + [ + -67.310547, + 69.54915 + ], + [ + -67.484436, + 69.590273 + ], + [ + -67.749725, + 69.521105 + ], + [ + -67.310547, + 69.54915 + ] + ] + ], + [ + [ + [ + -67.472504, + 65.705263 + ], + [ + -67.424438, + 65.735262 + ], + [ + -67.715836, + 65.701662 + ], + [ + -67.472504, + 65.705263 + ] + ] + ], + [ + [ + [ + -67.596115, + 58.284166 + ], + [ + -67.517502, + 58.335268 + ], + [ + -67.619995, + 58.372217 + ], + [ + -67.676666, + 58.301386 + ], + [ + -67.596115, + 58.284166 + ] + ] + ], + [ + [ + [ + -68.110275, + 68.782763 + ], + [ + -68.459442, + 68.791094 + ], + [ + -67.661392, + 68.701937 + ], + [ + -68.110275, + 68.782763 + ] + ] + ], + [ + [ + [ + -67.76445, + 63.162493 + ], + [ + -67.831955, + 63.244158 + ], + [ + -67.875, + 63.223047 + ], + [ + -67.76445, + 63.162493 + ] + ] + ], + [ + [ + [ + -68.251404, + 60.230822 + ], + [ + -67.798615, + 60.457499 + ], + [ + -68.119156, + 60.577219 + ], + [ + -68.251404, + 60.230822 + ] + ] + ], + [ + [ + [ + -67.847778, + 68.851931 + ], + [ + -67.876389, + 68.949419 + ], + [ + -67.960556, + 68.929979 + ], + [ + -67.847778, + 68.851931 + ] + ] + ], + [ + [ + [ + -67.920273, + 69.521929 + ], + [ + -67.889725, + 69.70833 + ], + [ + -68.248886, + 69.596651 + ], + [ + -67.920273, + 69.521929 + ] + ] + ], + [ + [ + [ + -67.925003, + 63.183329 + ], + [ + -68.112213, + 63.313608 + ], + [ + -67.966949, + 63.183878 + ], + [ + -67.925003, + 63.183329 + ] + ] + ], + [ + [ + [ + -68.656387, + 63.626383 + ], + [ + -68.676941, + 63.671381 + ], + [ + -68.821671, + 63.652491 + ], + [ + -68.656387, + 63.626383 + ] + ] + ], + [ + [ + [ + -69.194443, + 59.064714 + ], + [ + -69.357224, + 59.139719 + ], + [ + -69.35556, + 58.949717 + ], + [ + -69.194443, + 59.064714 + ] + ] + ], + [ + [ + [ + -69.977219, + 60.933054 + ], + [ + -69.943604, + 61.031382 + ], + [ + -70.025009, + 61.00194 + ], + [ + -69.977219, + 60.933054 + ] + ] + ], + [ + [ + [ + -70.71167, + 62.814997 + ], + [ + -71.241379, + 62.88138 + ], + [ + -70.211121, + 62.579165 + ], + [ + -70.71167, + 62.814997 + ] + ] + ], + [ + [ + [ + -71.471664, + 71.012774 + ], + [ + -72.226395, + 70.930544 + ], + [ + -71.955566, + 70.818331 + ], + [ + -71.471664, + 71.012774 + ] + ] + ], + [ + [ + [ + -71.799164, + 63.615549 + ], + [ + -71.779449, + 63.688326 + ], + [ + -71.864166, + 63.669443 + ], + [ + -71.863327, + 63.61944 + ], + [ + -71.799164, + 63.615549 + ] + ] + ], + [ + [ + [ + -72.182495, + 63.519991 + ], + [ + -72.129166, + 63.558886 + ], + [ + -72.286667, + 63.58333 + ], + [ + -72.182495, + 63.519991 + ] + ] + ], + [ + [ + [ + -72.594727, + 63.642496 + ], + [ + -72.459732, + 63.679163 + ], + [ + -72.783325, + 63.664438 + ], + [ + -72.594727, + 63.642496 + ] + ] + ], + [ + [ + [ + -72.66777, + 63.695826 + ], + [ + -72.626663, + 63.73221 + ], + [ + -72.719727, + 63.763887 + ], + [ + -72.66777, + 63.695826 + ] + ] + ], + [ + [ + [ + -72.760834, + 71.531939 + ], + [ + -72.695831, + 71.651094 + ], + [ + -73.039993, + 71.579988 + ], + [ + -72.760834, + 71.531939 + ] + ] + ], + [ + [ + [ + -73.120544, + 71.479708 + ], + [ + -72.817505, + 71.444979 + ], + [ + -73.37999, + 71.519716 + ], + [ + -73.120544, + 71.479708 + ] + ] + ], + [ + [ + [ + -73.37027, + 71.55443 + ], + [ + -73.148895, + 71.679979 + ], + [ + -73.448044, + 71.594149 + ], + [ + -73.37027, + 71.55443 + ] + ] + ], + [ + [ + [ + -73.176941, + 64.200274 + ], + [ + -73.401672, + 64.165545 + ], + [ + -73.282776, + 64.143328 + ], + [ + -73.176941, + 64.200274 + ] + ] + ], + [ + [ + [ + -74.215561, + 68.117754 + ], + [ + -74.777222, + 67.973879 + ], + [ + -73.348618, + 67.828051 + ], + [ + -74.215561, + 68.117754 + ] + ] + ], + [ + [ + [ + -73.557495, + 64.312761 + ], + [ + -73.527786, + 64.566942 + ], + [ + -73.682495, + 64.509722 + ], + [ + -73.557495, + 64.312761 + ] + ] + ], + [ + [ + [ + -73.744995, + 64.426088 + ], + [ + -73.66861, + 64.464434 + ], + [ + -73.773331, + 64.503328 + ], + [ + -73.781387, + 64.431932 + ], + [ + -73.744995, + 64.426088 + ] + ] + ], + [ + [ + [ + -73.697769, + 64.269991 + ], + [ + -73.781387, + 64.40555 + ], + [ + -73.833618, + 64.331667 + ], + [ + -73.697769, + 64.269991 + ] + ] + ], + [ + [ + [ + -73.876389, + 64.301378 + ], + [ + -73.956665, + 64.368319 + ], + [ + -73.972504, + 64.30971 + ], + [ + -73.876389, + 64.301378 + ] + ] + ], + [ + [ + [ + -74.347778, + 62.679438 + ], + [ + -74.651398, + 62.716936 + ], + [ + -73.958054, + 62.612497 + ], + [ + -74.347778, + 62.679438 + ] + ] + ], + [ + [ + [ + -74.062775, + 68.151659 + ], + [ + -74.079727, + 68.232485 + ], + [ + -74.176392, + 68.204165 + ], + [ + -74.062775, + 68.151659 + ] + ] + ], + [ + [ + [ + -74.162216, + 68.246096 + ], + [ + -74.079453, + 68.338594 + ], + [ + -74.393066, + 68.445253 + ], + [ + -74.162216, + 68.246096 + ] + ] + ], + [ + [ + [ + -74.306946, + 78.676653 + ], + [ + -74.16362, + 78.716097 + ], + [ + -74.710281, + 78.731096 + ], + [ + -74.306946, + 78.676653 + ] + ] + ], + [ + [ + [ + -74.212784, + 64.483049 + ], + [ + -74.169724, + 64.523882 + ], + [ + -74.357773, + 64.551088 + ], + [ + -74.212784, + 64.483049 + ] + ] + ], + [ + [ + [ + -74.271942, + 64.413607 + ], + [ + -74.173325, + 64.43915 + ], + [ + -74.439438, + 64.453325 + ], + [ + -74.271942, + 64.413607 + ] + ] + ], + [ + [ + [ + -74.76889, + 68.673876 + ], + [ + -74.890289, + 68.624987 + ], + [ + -74.518341, + 68.558596 + ], + [ + -74.76889, + 68.673876 + ] + ] + ], + [ + [ + [ + -74.811386, + 68.320543 + ], + [ + -75, + 68.672243 + ], + [ + -75.396957, + 68.611101 + ], + [ + -74.811386, + 68.320543 + ] + ] + ], + [ + [ + [ + -75.582779, + 68.300264 + ], + [ + -76.726105, + 68.238878 + ], + [ + -77.251953, + 67.826387 + ], + [ + -77.246948, + 67.451937 + ], + [ + -76.66362, + 67.219988 + ], + [ + -75.198608, + 67.443316 + ], + [ + -75.003067, + 68.132204 + ], + [ + -75.582779, + 68.300264 + ] + ] + ], + [ + [ + [ + -75.551392, + 64.303865 + ], + [ + -75.493607, + 64.316378 + ], + [ + -75.705841, + 64.341936 + ], + [ + -75.551392, + 64.303865 + ] + ] + ], + [ + [ + [ + -80.142227, + 73.696642 + ], + [ + -80.857773, + 73.74193 + ], + [ + -80.876099, + 73.327776 + ], + [ + -79.429169, + 72.735811 + ], + [ + -76.059433, + 72.90082 + ], + [ + -77.424438, + 73.554705 + ], + [ + -80.142227, + 73.696642 + ] + ] + ], + [ + [ + [ + -76.810547, + 63.601107 + ], + [ + -77.45723, + 63.643328 + ], + [ + -76.541946, + 63.462496 + ], + [ + -76.810547, + 63.601107 + ] + ] + ], + [ + [ + [ + -76.621109, + 57.075556 + ], + [ + -76.669998, + 57.202494 + ], + [ + -76.708618, + 57.188326 + ], + [ + -76.621109, + 57.075556 + ] + ] + ], + [ + [ + [ + -76.950836, + 69.395266 + ], + [ + -77.381943, + 69.247484 + ], + [ + -76.646666, + 69.336931 + ], + [ + -76.950836, + 69.395266 + ] + ] + ], + [ + [ + [ + -76.715012, + 57.292772 + ], + [ + -76.73111, + 57.381937 + ], + [ + -76.821671, + 57.429438 + ], + [ + -76.715012, + 57.292772 + ] + ] + ], + [ + [ + [ + -77.592773, + 55.435266 + ], + [ + -77.199997, + 55.65027 + ], + [ + -77.644165, + 55.425829 + ], + [ + -77.592773, + 55.435266 + ] + ] + ], + [ + [ + [ + -78.079727, + 63.469439 + ], + [ + -78.572784, + 63.440271 + ], + [ + -77.946655, + 63.091105 + ], + [ + -77.494995, + 63.265833 + ], + [ + -78.079727, + 63.469439 + ] + ] + ], + [ + [ + [ + -77.743881, + 63.926661 + ], + [ + -77.544449, + 64.021929 + ], + [ + -77.982498, + 63.983049 + ], + [ + -77.743881, + 63.926661 + ] + ] + ], + [ + [ + [ + -77.851944, + 77.774431 + ], + [ + -77.568619, + 77.849718 + ], + [ + -77.955002, + 77.830278 + ], + [ + -77.851944, + 77.774431 + ] + ] + ], + [ + [ + [ + -77.805267, + 62.592493 + ], + [ + -77.74527, + 62.534166 + ], + [ + -77.621384, + 62.584436 + ], + [ + -77.805267, + 62.592493 + ] + ] + ], + [ + [ + [ + -78.008347, + 62.593607 + ], + [ + -78.113052, + 62.562212 + ], + [ + -77.837784, + 62.55694 + ], + [ + -78.008347, + 62.593607 + ] + ] + ], + [ + [ + [ + -77.946655, + 69.646654 + ], + [ + -78.180557, + 69.752214 + ], + [ + -78.88028, + 69.476931 + ], + [ + -77.946655, + 69.646654 + ] + ] + ], + [ + [ + [ + -78.365829, + 82.883608 + ], + [ + -78.116943, + 82.942202 + ], + [ + -78.414719, + 82.941927 + ], + [ + -78.365829, + 82.883608 + ] + ] + ], + [ + [ + [ + -78.412216, + 69.379702 + ], + [ + -79.400284, + 68.87192 + ], + [ + -78.830292, + 68.913042 + ], + [ + -78.210831, + 69.294436 + ], + [ + -78.412216, + 69.379702 + ] + ] + ], + [ + [ + [ + -78.656387, + 60.702776 + ], + [ + -78.219452, + 60.823885 + ], + [ + -78.573624, + 60.784166 + ], + [ + -78.656387, + 60.702776 + ] + ] + ], + [ + [ + [ + -78.453888, + 58.539995 + ], + [ + -78.698608, + 58.688601 + ], + [ + -78.672501, + 58.610552 + ], + [ + -78.453888, + 58.539995 + ] + ] + ], + [ + [ + [ + -78.557495, + 63.457499 + ], + [ + -78.46167, + 63.507502 + ], + [ + -78.515839, + 63.531664 + ], + [ + -78.557495, + 63.457499 + ] + ] + ], + [ + [ + [ + -78.468887, + 68.563875 + ], + [ + -78.863892, + 68.659716 + ], + [ + -78.959732, + 68.474703 + ], + [ + -78.468887, + 68.563875 + ] + ] + ], + [ + [ + [ + -78.571671, + 68.200274 + ], + [ + -78.54805, + 68.263048 + ], + [ + -78.662216, + 68.18915 + ], + [ + -78.571671, + 68.200274 + ] + ] + ], + [ + [ + [ + -78.839996, + 56.129992 + ], + [ + -78.676392, + 56.181108 + ], + [ + -78.667221, + 56.439714 + ], + [ + -78.839996, + 56.129992 + ] + ] + ], + [ + [ + [ + -78.735001, + 72.365541 + ], + [ + -79.075012, + 72.409716 + ], + [ + -78.950287, + 72.334993 + ], + [ + -78.735001, + 72.365541 + ] + ] + ], + [ + [ + [ + -79.020554, + 68.169146 + ], + [ + -78.801666, + 68.279161 + ], + [ + -79.191101, + 68.319445 + ], + [ + -79.020554, + 68.169146 + ] + ] + ], + [ + [ + [ + -78.926392, + 75.875811 + ], + [ + -79.176392, + 75.952776 + ], + [ + -78.805832, + 76.09305 + ], + [ + -79.752228, + 75.878588 + ], + [ + -78.926392, + 75.875811 + ] + ] + ], + [ + [ + [ + -79.021666, + 56.426943 + ], + [ + -79.286392, + 56.570276 + ], + [ + -79.51445, + 56.18638 + ], + [ + -79.46611, + 56.548334 + ], + [ + -79.985825, + 55.89805 + ], + [ + -79.513062, + 56.134996 + ], + [ + -79.781952, + 55.78805 + ], + [ + -79.479996, + 55.863886 + ], + [ + -79.150558, + 56.233049 + ], + [ + -79.283325, + 55.864443 + ], + [ + -78.977219, + 56.388605 + ], + [ + -79.195267, + 55.891939 + ], + [ + -78.943329, + 56.284998 + ], + [ + -78.924713, + 56.419443 + ], + [ + -79.021666, + 56.426943 + ] + ], + [ + [ + -79.626938, + 56.265276 + ], + [ + -79.492218, + 56.446939 + ], + [ + -79.561111, + 56.299166 + ], + [ + -79.626938, + 56.265276 + ] + ] + ], + [ + [ + [ + -79.123047, + 55.789995 + ], + [ + -78.939713, + 56.02527 + ], + [ + -78.957504, + 56.083605 + ], + [ + -79.123047, + 55.789995 + ] + ] + ], + [ + [ + [ + -79.125824, + 54.897219 + ], + [ + -79.015015, + 54.938326 + ], + [ + -79.776947, + 54.778048 + ], + [ + -79.125824, + 54.897219 + ] + ] + ], + [ + [ + [ + -79.141953, + 56.616663 + ], + [ + -79.208893, + 56.683878 + ], + [ + -79.280289, + 56.654993 + ], + [ + -79.141953, + 56.616663 + ] + ] + ], + [ + [ + [ + -79.252792, + 52.071383 + ], + [ + -79.654175, + 51.986658 + ], + [ + -79.376663, + 51.936106 + ], + [ + -79.252792, + 52.071383 + ] + ] + ], + [ + [ + [ + -79.540558, + 62.411104 + ], + [ + -80.017502, + 62.358606 + ], + [ + -80.275284, + 61.806658 + ], + [ + -79.656952, + 61.642496 + ], + [ + -79.261398, + 62.163607 + ], + [ + -79.540558, + 62.411104 + ] + ] + ], + [ + [ + [ + -95.659729, + 77.05887 + ], + [ + -96.810272, + 76.979158 + ], + [ + -96.305557, + 76.753878 + ], + [ + -96.964447, + 76.733324 + ], + [ + -94.800827, + 76.321657 + ], + [ + -95.376099, + 76.234423 + ], + [ + -93.083618, + 76.358034 + ], + [ + -92.108612, + 75.858873 + ], + [ + -92.005005, + 75.594988 + ], + [ + -92.490829, + 75.21361 + ], + [ + -91.539993, + 74.646379 + ], + [ + -90.772232, + 74.884996 + ], + [ + -91.024719, + 74.702776 + ], + [ + -89.489716, + 74.545534 + ], + [ + -88.547775, + 74.907763 + ], + [ + -88.496948, + 74.497759 + ], + [ + -84.285553, + 74.503603 + ], + [ + -83.474442, + 74.579714 + ], + [ + -83.511398, + 74.901659 + ], + [ + -81.810822, + 74.456942 + ], + [ + -80.231674, + 74.578051 + ], + [ + -80.321671, + 74.937761 + ], + [ + -79.333618, + 74.894442 + ], + [ + -80.440552, + 75.038042 + ], + [ + -79.571121, + 75.199144 + ], + [ + -79.574722, + 75.449999 + ], + [ + -81.536942, + 75.80942 + ], + [ + -83.878151, + 75.818964 + ], + [ + -86.544724, + 75.359148 + ], + [ + -88.738892, + 75.67943 + ], + [ + -88.950562, + 75.429705 + ], + [ + -89.765289, + 75.575548 + ], + [ + -89.172775, + 75.78055 + ], + [ + -90.015015, + 76.010271 + ], + [ + -91.12999, + 75.839159 + ], + [ + -90.190552, + 76.061098 + ], + [ + -91.613617, + 76.262209 + ], + [ + -89.292496, + 76.296099 + ], + [ + -91.566666, + 76.498873 + ], + [ + -90.468063, + 76.47304 + ], + [ + -91.410553, + 76.68915 + ], + [ + -93.54834, + 76.38611 + ], + [ + -93.179718, + 76.741091 + ], + [ + -95.659729, + 77.05887 + ] + ] + ], + [ + [ + [ + -79.469727, + 54.167498 + ], + [ + -79.413055, + 54.19166 + ], + [ + -79.475555, + 54.191378 + ], + [ + -79.469727, + 54.167498 + ] + ] + ], + [ + [ + [ + -79.42305, + 69.78499 + ], + [ + -80.809433, + 69.683046 + ], + [ + -80.011948, + 69.491655 + ], + [ + -79.42305, + 69.78499 + ] + ] + ], + [ + [ + [ + -79.508057, + 72.348604 + ], + [ + -79.429718, + 72.411654 + ], + [ + -79.683319, + 72.430544 + ], + [ + -79.508057, + 72.348604 + ] + ] + ], + [ + [ + [ + -79.560822, + 56.617769 + ], + [ + -79.474716, + 56.689157 + ], + [ + -79.567505, + 56.817774 + ], + [ + -79.560822, + 56.617769 + ] + ] + ], + [ + [ + [ + -79.619995, + 56.385271 + ], + [ + -79.543335, + 56.527773 + ], + [ + -80.109726, + 56.197771 + ], + [ + -79.619995, + 56.385271 + ] + ] + ], + [ + [ + [ + -79.667221, + 54.763887 + ], + [ + -79.587219, + 54.799166 + ], + [ + -79.726944, + 54.752497 + ], + [ + -79.667221, + 54.763887 + ] + ] + ], + [ + [ + [ + -79.709732, + 53.508051 + ], + [ + -79.761398, + 53.546106 + ], + [ + -79.773621, + 53.531664 + ], + [ + -79.709732, + 53.508051 + ] + ] + ], + [ + [ + [ + -79.797501, + 57.418886 + ], + [ + -79.727783, + 57.617212 + ], + [ + -79.82695, + 57.53805 + ], + [ + -79.797501, + 57.418886 + ] + ] + ], + [ + [ + [ + -79.750565, + 56.905825 + ], + [ + -79.897507, + 56.884996 + ], + [ + -79.823769, + 56.895006 + ], + [ + -79.757507, + 56.781939 + ], + [ + -79.750565, + 56.905825 + ] + ] + ], + [ + [ + [ + -79.909164, + 53.081942 + ], + [ + -79.787216, + 53.101938 + ], + [ + -79.897781, + 53.17444 + ], + [ + -79.909164, + 53.081942 + ] + ] + ], + [ + [ + [ + -79.881943, + 56.743608 + ], + [ + -79.819458, + 56.840273 + ], + [ + -79.958618, + 56.81138 + ], + [ + -79.881943, + 56.743608 + ] + ] + ], + [ + [ + [ + -79.864166, + 53.906382 + ], + [ + -79.926392, + 53.935266 + ], + [ + -79.906113, + 53.913881 + ], + [ + -79.864166, + 53.906382 + ] + ] + ], + [ + [ + [ + -80.089722, + 59.75194 + ], + [ + -79.878876, + 59.854715 + ], + [ + -80.184723, + 59.752779 + ], + [ + -80.089722, + 59.75194 + ] + ] + ], + [ + [ + [ + -79.993607, + 72.413317 + ], + [ + -79.916397, + 72.45804 + ], + [ + -80.133331, + 72.519442 + ], + [ + -79.993607, + 72.413317 + ] + ] + ], + [ + [ + [ + -79.942764, + 53.266939 + ], + [ + -79.944717, + 53.368052 + ], + [ + -80.085281, + 53.326944 + ], + [ + -79.942764, + 53.266939 + ] + ] + ], + [ + [ + [ + -80.277496, + 59.618601 + ], + [ + -80.145279, + 59.705553 + ], + [ + -80.343887, + 59.619158 + ], + [ + -80.277496, + 59.618601 + ] + ] + ], + [ + [ + [ + -85.48056, + 65.791933 + ], + [ + -86.097778, + 65.529161 + ], + [ + -86.401672, + 64.436647 + ], + [ + -86.189438, + 64.101656 + ], + [ + -87.188049, + 63.589991 + ], + [ + -85.717499, + 63.716105 + ], + [ + -85.589172, + 63.174715 + ], + [ + -85.266403, + 63.117495 + ], + [ + -83.072784, + 64.186647 + ], + [ + -83.098892, + 63.959162 + ], + [ + -82.361389, + 63.905268 + ], + [ + -82.472229, + 63.680277 + ], + [ + -81.076401, + 63.451387 + ], + [ + -80.171661, + 63.771105 + ], + [ + -80.890839, + 64.115541 + ], + [ + -81.986938, + 63.994158 + ], + [ + -81.602493, + 64.129976 + ], + [ + -81.763062, + 64.501101 + ], + [ + -84.440277, + 65.456652 + ], + [ + -84.924713, + 65.209719 + ], + [ + -85.311935, + 65.537767 + ], + [ + -85.156387, + 65.776659 + ], + [ + -85.48056, + 65.791933 + ] + ] + ], + [ + [ + [ + -80.534439, + 59.36944 + ], + [ + -80.475555, + 59.481104 + ], + [ + -80.549438, + 59.446939 + ], + [ + -80.534439, + 59.36944 + ] + ] + ], + [ + [ + [ + -81.10611, + 53.199717 + ], + [ + -82.063324, + 53.026659 + ], + [ + -80.699722, + 52.6961 + ], + [ + -81.10611, + 53.199717 + ] + ] + ], + [ + [ + [ + -81.327789, + 76.147219 + ], + [ + -81.201401, + 76.177767 + ], + [ + -81.462509, + 76.158876 + ], + [ + -81.327789, + 76.147219 + ] + ] + ], + [ + [ + [ + -81.47139, + 64.188875 + ], + [ + -81.375824, + 64.220827 + ], + [ + -81.538055, + 64.21805 + ], + [ + -81.47139, + 64.188875 + ] + ] + ], + [ + [ + [ + -81.476944, + 52.249163 + ], + [ + -81.551666, + 52.298052 + ], + [ + -81.710007, + 52.262499 + ], + [ + -81.476944, + 52.249163 + ] + ] + ], + [ + [ + [ + -81.871109, + 62.928331 + ], + [ + -83.310822, + 62.92444 + ], + [ + -83.945267, + 62.427217 + ], + [ + -83.703888, + 62.141665 + ], + [ + -83.087784, + 62.178881 + ], + [ + -81.871109, + 62.928331 + ] + ] + ], + [ + [ + [ + -82.059998, + 68.306093 + ], + [ + -81.997223, + 68.341372 + ], + [ + -82.345551, + 68.367754 + ], + [ + -82.059998, + 68.306093 + ] + ] + ], + [ + [ + [ + -82.429443, + 69.782213 + ], + [ + -82.517227, + 69.854158 + ], + [ + -82.688599, + 69.850817 + ], + [ + -82.429443, + 69.782213 + ] + ] + ], + [ + [ + [ + -82.507782, + 69.704988 + ], + [ + -82.460281, + 69.76166 + ], + [ + -82.87944, + 69.778597 + ], + [ + -82.507782, + 69.704988 + ] + ] + ], + [ + [ + [ + -83.06723, + 66.255556 + ], + [ + -82.902496, + 66.271654 + ], + [ + -83.29834, + 66.313875 + ], + [ + -83.06723, + 66.255556 + ] + ] + ], + [ + [ + [ + -82.964722, + 55.263613 + ], + [ + -82.980835, + 55.278879 + ], + [ + -83.035278, + 55.278879 + ], + [ + -82.964722, + 55.263613 + ] + ] + ], + [ + [ + [ + -83.921387, + 66.009722 + ], + [ + -84.470276, + 66.133333 + ], + [ + -84.123611, + 65.90027 + ], + [ + -84.143616, + 65.764162 + ], + [ + -83.68277, + 65.749422 + ], + [ + -83.842773, + 65.649157 + ], + [ + -83.210831, + 65.705828 + ], + [ + -83.727493, + 65.799715 + ], + [ + -83.694153, + 65.9247 + ], + [ + -83.921387, + 66.009722 + ] + ] + ], + [ + [ + [ + -83.28389, + 65.834154 + ], + [ + -83.586121, + 65.854158 + ], + [ + -83.485275, + 65.800814 + ], + [ + -83.28389, + 65.834154 + ] + ] + ], + [ + [ + [ + -83.57695, + 65.983049 + ], + [ + -83.493057, + 66.012774 + ], + [ + -83.604446, + 65.987764 + ], + [ + -83.57695, + 65.983049 + ] + ] + ], + [ + [ + [ + -83.674438, + 69.719988 + ], + [ + -83.708618, + 69.759432 + ], + [ + -83.529175, + 69.786654 + ], + [ + -83.917221, + 69.778597 + ], + [ + -83.674438, + 69.719988 + ] + ] + ], + [ + [ + [ + -83.608612, + 66.044146 + ], + [ + -83.570847, + 66.056368 + ], + [ + -83.607224, + 66.077486 + ], + [ + -83.65361, + 66.041368 + ], + [ + -83.608612, + 66.044146 + ] + ] + ], + [ + [ + [ + -83.649445, + 66.083605 + ], + [ + -83.587784, + 66.117205 + ], + [ + -83.685272, + 66.121096 + ], + [ + -83.649445, + 66.083605 + ] + ] + ], + [ + [ + [ + -83.882767, + 65.666933 + ], + [ + -83.872772, + 65.712206 + ], + [ + -83.942215, + 65.686922 + ], + [ + -83.882767, + 65.666933 + ] + ] + ], + [ + [ + [ + -83.962784, + 76.426378 + ], + [ + -83.908051, + 76.464998 + ], + [ + -84.13945, + 76.507219 + ], + [ + -83.962784, + 76.426378 + ] + ] + ], + [ + [ + [ + -84.265289, + 66.177767 + ], + [ + -84.273056, + 66.196642 + ], + [ + -84.363617, + 66.209429 + ], + [ + -84.265289, + 66.177767 + ] + ] + ], + [ + [ + [ + -84.579727, + 66.141375 + ], + [ + -84.678604, + 66.182482 + ], + [ + -84.639999, + 66.140551 + ], + [ + -84.579727, + 66.141375 + ] + ] + ], + [ + [ + [ + -84.722778, + 65.546099 + ], + [ + -84.58667, + 65.692202 + ], + [ + -85.17305, + 65.994707 + ], + [ + -84.722778, + 65.546099 + ] + ] + ], + [ + [ + [ + -85.285278, + 77.587496 + ], + [ + -85.53833, + 77.53998 + ], + [ + -84.813889, + 77.49721 + ], + [ + -85.285278, + 77.587496 + ] + ] + ], + [ + [ + [ + -92.727783, + 81.305544 + ], + [ + -94.268616, + 81.346102 + ], + [ + -93.091675, + 81.15999 + ], + [ + -95.534164, + 80.81888 + ], + [ + -93.786392, + 80.525545 + ], + [ + -96.681671, + 80.342211 + ], + [ + -94.083893, + 80.175539 + ], + [ + -94.748886, + 80.079988 + ], + [ + -94.383621, + 79.982485 + ], + [ + -96.80278, + 80.090822 + ], + [ + -95.853333, + 79.646105 + ], + [ + -94.282776, + 79.757494 + ], + [ + -95.779449, + 79.425814 + ], + [ + -95.087555, + 79.270754 + ], + [ + -93.090561, + 79.48221 + ], + [ + -91.119995, + 79.386385 + ], + [ + -92.694717, + 79.257219 + ], + [ + -92.238892, + 79.205553 + ], + [ + -90.363266, + 79.246813 + ], + [ + -94.288605, + 78.986376 + ], + [ + -93.037781, + 78.765825 + ], + [ + -93.813614, + 78.765825 + ], + [ + -93.271118, + 78.584154 + ], + [ + -91.635284, + 78.546099 + ], + [ + -92.987503, + 78.465548 + ], + [ + -92.058334, + 78.208879 + ], + [ + -89.452499, + 78.162493 + ], + [ + -89.98056, + 78.609713 + ], + [ + -88.81778, + 78.154436 + ], + [ + -88.535553, + 78.413042 + ], + [ + -88.804169, + 78.609713 + ], + [ + -87.90834, + 78.548601 + ], + [ + -88.162506, + 78.990541 + ], + [ + -87.724716, + 79.075823 + ], + [ + -88.003342, + 78.807207 + ], + [ + -87.615829, + 78.645266 + ], + [ + -86.983322, + 79.056643 + ], + [ + -84.904175, + 79.267763 + ], + [ + -85.681946, + 79.613314 + ], + [ + -86.070847, + 79.434145 + ], + [ + -86.046112, + 79.56888 + ], + [ + -86.334166, + 79.64554 + ], + [ + -87.462509, + 79.534716 + ], + [ + -86.957779, + 79.903597 + ], + [ + -88.065552, + 80.120821 + ], + [ + -87.562775, + 80.179155 + ], + [ + -87.683884, + 80.410265 + ], + [ + -88.61528, + 80.403872 + ], + [ + -88.145554, + 80.093874 + ], + [ + -88.776672, + 80.131365 + ], + [ + -89.244995, + 80.517214 + ], + [ + -90.766403, + 80.565538 + ], + [ + -92.727783, + 81.305544 + ] + ] + ], + [ + [ + [ + -85.019165, + 66.057207 + ], + [ + -85.099731, + 66.089708 + ], + [ + -85.14917, + 66.050539 + ], + [ + -85.019165, + 66.057207 + ] + ] + ], + [ + [ + [ + -85.119446, + 69.014711 + ], + [ + -85.061386, + 69.036654 + ], + [ + -85.170273, + 69.035814 + ], + [ + -85.119446, + 69.014711 + ] + ] + ], + [ + [ + [ + -86.319458, + 78.883608 + ], + [ + -85.167221, + 79.02083 + ], + [ + -86.484436, + 78.892763 + ], + [ + -86.319458, + 78.883608 + ] + ] + ], + [ + [ + [ + -85.265289, + 69.072496 + ], + [ + -85.241943, + 69.091372 + ], + [ + -85.398895, + 69.086107 + ], + [ + -85.265289, + 69.072496 + ] + ] + ], + [ + [ + [ + -85.341675, + 68.983599 + ], + [ + -85.369995, + 69.00194 + ], + [ + -85.453064, + 69.005831 + ], + [ + -85.341675, + 68.983599 + ] + ] + ], + [ + [ + [ + -85.847229, + 72.294146 + ], + [ + -86.110001, + 72.289705 + ], + [ + -85.889175, + 72.21805 + ], + [ + -85.847229, + 72.294146 + ] + ] + ], + [ + [ + [ + -86.426392, + 68.069155 + ], + [ + -86.675003, + 68.306093 + ], + [ + -86.992767, + 68.066668 + ], + [ + -86.583618, + 67.725267 + ], + [ + -86.426392, + 68.069155 + ] + ] + ], + [ + [ + [ + -87.091385, + 70.15027 + ], + [ + -87.378326, + 70.096102 + ], + [ + -86.456665, + 70.007494 + ], + [ + -87.091385, + 70.15027 + ] + ] + ], + [ + [ + [ + -88.287216, + 78.243319 + ], + [ + -88.043335, + 78.436647 + ], + [ + -88.409729, + 78.292208 + ], + [ + -88.287216, + 78.243319 + ] + ] + ], + [ + [ + [ + -88.430283, + 65.455263 + ], + [ + -88.394165, + 65.465822 + ], + [ + -88.512222, + 65.469713 + ], + [ + -88.430283, + 65.455263 + ] + ] + ], + [ + [ + [ + -89.398895, + 76.435534 + ], + [ + -89.533066, + 76.476656 + ], + [ + -89.625549, + 76.444979 + ], + [ + -89.398895, + 76.435534 + ] + ] + ], + [ + [ + [ + -90.603058, + 77.628313 + ], + [ + -91.208893, + 77.414995 + ], + [ + -89.636124, + 77.339159 + ], + [ + -90.603058, + 77.628313 + ] + ] + ], + [ + [ + [ + -89.934433, + 76.476656 + ], + [ + -89.673889, + 76.73749 + ], + [ + -90.599991, + 76.746645 + ], + [ + -89.934433, + 76.476656 + ] + ] + ], + [ + [ + [ + -89.944443, + 68.662203 + ], + [ + -89.781677, + 68.766665 + ], + [ + -89.944443, + 68.84749 + ], + [ + -89.944443, + 68.662203 + ] + ] + ], + [ + [ + [ + -89.808884, + 64.056368 + ], + [ + -89.867767, + 64.095827 + ], + [ + -89.861115, + 64.071657 + ], + [ + -89.808884, + 64.056368 + ] + ] + ], + [ + [ + [ + -89.988892, + 73.988314 + ], + [ + -89.901947, + 74.037767 + ], + [ + -90.285004, + 74.029711 + ], + [ + -89.988892, + 73.988314 + ] + ] + ], + [ + [ + [ + -89.90834, + 68.917757 + ], + [ + -89.920837, + 69.010271 + ], + [ + -90.070557, + 68.981936 + ], + [ + -89.90834, + 68.917757 + ] + ] + ], + [ + [ + [ + -90.12471, + 69.049425 + ], + [ + -90.147232, + 69.103594 + ], + [ + -90.276398, + 69.125811 + ], + [ + -90.12471, + 69.049425 + ] + ] + ], + [ + [ + [ + -92.638062, + 74.103045 + ], + [ + -94.732224, + 74.095263 + ], + [ + -95.327789, + 73.909151 + ], + [ + -94.618057, + 73.651384 + ], + [ + -95.67305, + 73.723314 + ], + [ + -95.612564, + 73.610979 + ], + [ + -95.700287, + 73.553865 + ], + [ + -95.683884, + 73.450274 + ], + [ + -95.575012, + 73.164995 + ], + [ + -95.683319, + 73.075823 + ], + [ + -95.673615, + 72.813875 + ], + [ + -95.133331, + 72.460268 + ], + [ + -95.171112, + 72.139162 + ], + [ + -94.752228, + 72.153322 + ], + [ + -95.213333, + 71.994432 + ], + [ + -94.063049, + 71.978319 + ], + [ + -93.463333, + 72.462206 + ], + [ + -94.315552, + 72.763048 + ], + [ + -92.09584, + 72.743044 + ], + [ + -90.194443, + 73.899721 + ], + [ + -92.638062, + 74.103045 + ] + ] + ], + [ + [ + [ + -90.329453, + 69.235811 + ], + [ + -90.200836, + 69.444429 + ], + [ + -90.51445, + 69.363878 + ], + [ + -90.329453, + 69.235811 + ] + ] + ], + [ + [ + [ + -90.512512, + 69.202486 + ], + [ + -90.582504, + 69.359713 + ], + [ + -90.775833, + 69.329988 + ], + [ + -90.512512, + 69.202486 + ] + ] + ], + [ + [ + [ + -90.653885, + 63.441103 + ], + [ + -90.598053, + 63.454439 + ], + [ + -90.757233, + 63.49444 + ], + [ + -90.653885, + 63.441103 + ] + ] + ], + [ + [ + [ + -90.79361, + 63.494158 + ], + [ + -90.674713, + 63.513887 + ], + [ + -90.968338, + 63.550272 + ], + [ + -90.79361, + 63.494158 + ] + ] + ], + [ + [ + [ + -90.93306, + 77.254442 + ], + [ + -91.299164, + 77.21776 + ], + [ + -90.713623, + 77.200823 + ], + [ + -90.93306, + 77.254442 + ] + ] + ], + [ + [ + [ + -91.110001, + 69.549425 + ], + [ + -90.919159, + 69.606096 + ], + [ + -91.108887, + 69.602205 + ], + [ + -91.110001, + 69.549425 + ] + ] + ], + [ + [ + [ + -90.979996, + 62.65777 + ], + [ + -91.080292, + 62.686937 + ], + [ + -91.271118, + 62.679995 + ], + [ + -90.979996, + 62.65777 + ] + ] + ], + [ + [ + [ + -91.520004, + 69.731371 + ], + [ + -91.409164, + 69.874987 + ], + [ + -91.73555, + 69.789156 + ], + [ + -91.520004, + 69.731371 + ] + ] + ], + [ + [ + [ + -91.572784, + 62.627489 + ], + [ + -91.685547, + 62.666941 + ], + [ + -91.66806, + 62.649164 + ], + [ + -91.572784, + 62.627489 + ] + ] + ], + [ + [ + [ + -91.718338, + 81.54915 + ], + [ + -91.58223, + 81.578051 + ], + [ + -91.960556, + 81.594988 + ], + [ + -91.718338, + 81.54915 + ] + ] + ], + [ + [ + [ + -91.819168, + 69.821657 + ], + [ + -91.639725, + 69.854982 + ], + [ + -91.864166, + 69.844149 + ], + [ + -91.819168, + 69.821657 + ] + ] + ], + [ + [ + [ + -92.223618, + 62.355555 + ], + [ + -92.139725, + 62.399721 + ], + [ + -92.372498, + 62.391939 + ], + [ + -92.223618, + 62.355555 + ] + ] + ], + [ + [ + [ + -92.411118, + 62.393885 + ], + [ + -92.531113, + 62.431383 + ], + [ + -92.600555, + 62.386942 + ], + [ + -92.411118, + 62.393885 + ] + ] + ], + [ + [ + [ + -92.954178, + 63.871103 + ], + [ + -92.978333, + 63.908327 + ], + [ + -93.094452, + 63.904993 + ], + [ + -92.954178, + 63.871103 + ] + ] + ], + [ + [ + [ + -92.963898, + 61.87916 + ], + [ + -93.226105, + 61.908327 + ], + [ + -93.070282, + 61.825274 + ], + [ + -92.963898, + 61.87916 + ] + ] + ], + [ + [ + [ + -95.405838, + 77.763887 + ], + [ + -96.328888, + 77.604982 + ], + [ + -93.570557, + 77.437761 + ], + [ + -93.101944, + 77.662493 + ], + [ + -95.405838, + 77.763887 + ] + ] + ], + [ + [ + [ + -94.363892, + 75.590822 + ], + [ + -95.749725, + 75.513323 + ], + [ + -96.616943, + 74.991091 + ], + [ + -93.467773, + 74.703051 + ], + [ + -93.487503, + 75.256655 + ], + [ + -94.363892, + 75.590822 + ] + ] + ], + [ + [ + [ + -94.366653, + 78.159151 + ], + [ + -94.481949, + 78.268328 + ], + [ + -94.694153, + 78.258608 + ], + [ + -94.366653, + 78.159151 + ] + ] + ], + [ + [ + [ + -94.405563, + 75.750826 + ], + [ + -94.481949, + 75.974428 + ], + [ + -94.904449, + 75.936922 + ], + [ + -94.405563, + 75.750826 + ] + ] + ], + [ + [ + [ + -94.843613, + 76.12221 + ], + [ + -95.147232, + 76.11693 + ], + [ + -95.006668, + 76.047487 + ], + [ + -94.843613, + 76.12221 + ] + ] + ], + [ + [ + [ + -96.768066, + 78.684145 + ], + [ + -98.144455, + 78.816668 + ], + [ + -98.371658, + 78.719988 + ], + [ + -98.022232, + 78.536379 + ], + [ + -98.411392, + 78.495256 + ], + [ + -96.870544, + 78.133333 + ], + [ + -97.775558, + 78.03499 + ], + [ + -97.096954, + 77.803316 + ], + [ + -94.886948, + 78.10277 + ], + [ + -95.39917, + 78.231096 + ], + [ + -94.877777, + 78.391375 + ], + [ + -96.768066, + 78.684145 + ] + ] + ], + [ + [ + [ + -95.030838, + 80.670259 + ], + [ + -96.14917, + 80.664705 + ], + [ + -94.970551, + 80.635271 + ], + [ + -95.030838, + 80.670259 + ] + ] + ], + [ + [ + [ + -97.397781, + 69.685534 + ], + [ + -98.012222, + 69.88582 + ], + [ + -98.367767, + 69.601091 + ], + [ + -98.003891, + 69.435808 + ], + [ + -98.556656, + 69.580828 + ], + [ + -98.393341, + 69.308031 + ], + [ + -99.59639, + 69.02054 + ], + [ + -96.530563, + 68.444979 + ], + [ + -95.206955, + 68.850267 + ], + [ + -97.397781, + 69.685534 + ] + ] + ], + [ + [ + [ + -95.224442, + 77.167208 + ], + [ + -95.35611, + 77.236376 + ], + [ + -95.639999, + 77.237764 + ], + [ + -95.224442, + 77.167208 + ] + ] + ], + [ + [ + [ + -95.339996, + 71.731371 + ], + [ + -95.265839, + 71.836657 + ], + [ + -95.488052, + 71.745531 + ], + [ + -95.339996, + 71.731371 + ] + ] + ], + [ + [ + [ + -95.361664, + 67.197756 + ], + [ + -95.30722, + 67.252489 + ], + [ + -95.55278, + 67.235262 + ], + [ + -95.361664, + 67.197756 + ] + ] + ], + [ + [ + [ + -95.311111, + 74.497759 + ], + [ + -95.517502, + 74.630266 + ], + [ + -95.866394, + 74.57416 + ], + [ + -95.311111, + 74.497759 + ] + ] + ], + [ + [ + [ + -95.488892, + 69.565538 + ], + [ + -95.919998, + 69.595263 + ], + [ + -95.990829, + 69.353319 + ], + [ + -95.815826, + 69.562761 + ], + [ + -95.669159, + 69.507494 + ], + [ + -95.736938, + 69.324434 + ], + [ + -95.515839, + 69.330828 + ], + [ + -95.488892, + 69.565538 + ] + ] + ], + [ + [ + [ + -95.669724, + 73.604982 + ], + [ + -95.655563, + 73.616655 + ], + [ + -95.71167, + 73.6122 + ], + [ + -95.669724, + 73.604982 + ] + ] + ], + [ + [ + [ + -95.756958, + 72.892488 + ], + [ + -95.702499, + 72.933596 + ], + [ + -95.786667, + 73.012499 + ], + [ + -95.756958, + 72.892488 + ] + ] + ], + [ + [ + [ + -95.733887, + 73.128862 + ], + [ + -95.893341, + 73.095827 + ], + [ + -95.745544, + 73.049425 + ], + [ + -95.733887, + 73.128862 + ] + ] + ], + [ + [ + [ + -95.735001, + 72.798876 + ], + [ + -95.769165, + 72.878038 + ], + [ + -95.854172, + 72.853594 + ], + [ + -95.735001, + 72.798876 + ] + ] + ], + [ + [ + [ + -95.79277, + 75.899721 + ], + [ + -95.735825, + 75.968325 + ], + [ + -95.899994, + 75.953875 + ], + [ + -95.79277, + 75.899721 + ] + ] + ], + [ + [ + [ + -95.910004, + 75.560259 + ], + [ + -97.053055, + 75.492205 + ], + [ + -96.851105, + 75.350267 + ], + [ + -95.910004, + 75.560259 + ] + ] + ], + [ + [ + [ + -96.170546, + 67.773043 + ], + [ + -95.997498, + 67.820833 + ], + [ + -96.077225, + 67.838884 + ], + [ + -96.170546, + 67.773043 + ] + ] + ], + [ + [ + [ + -96.663055, + 69.569719 + ], + [ + -96.233887, + 69.359713 + ], + [ + -96.096115, + 69.46805 + ], + [ + -96.663055, + 69.569719 + ] + ] + ], + [ + [ + [ + -99.804558, + 73.889101 + ], + [ + -101.120003, + 73.727205 + ], + [ + -100.430557, + 73.406939 + ], + [ + -101.621384, + 73.490267 + ], + [ + -99.771666, + 73.20804 + ], + [ + -100.580002, + 73.173037 + ], + [ + -100.031387, + 72.934984 + ], + [ + -100.45195, + 73.02054 + ], + [ + -100.412216, + 72.74193 + ], + [ + -101.297501, + 72.709993 + ], + [ + -102.137222, + 73.086931 + ], + [ + -102.741669, + 72.724154 + ], + [ + -100.634453, + 72.185534 + ], + [ + -98.729721, + 71.27054 + ], + [ + -98.037506, + 71.526659 + ], + [ + -98.493881, + 71.713884 + ], + [ + -98.267227, + 71.904161 + ], + [ + -98.218063, + 71.649721 + ], + [ + -97.505005, + 71.61165 + ], + [ + -96.493057, + 71.914156 + ], + [ + -96.866943, + 72.041094 + ], + [ + -96.483063, + 72.113039 + ], + [ + -96.871933, + 72.321108 + ], + [ + -96.29834, + 72.415819 + ], + [ + -96.517502, + 72.714708 + ], + [ + -97.196655, + 72.604433 + ], + [ + -97.225006, + 72.939974 + ], + [ + -97.846954, + 73.048601 + ], + [ + -98.450562, + 72.874987 + ], + [ + -97.171936, + 73.35277 + ], + [ + -97.668335, + 73.483324 + ], + [ + -96.962219, + 73.738588 + ], + [ + -97.761948, + 73.911928 + ], + [ + -99.235001, + 73.737764 + ], + [ + -99.804558, + 73.889101 + ] + ] + ], + [ + [ + [ + -96.384171, + 68.200823 + ], + [ + -96.317505, + 68.231936 + ], + [ + -96.462784, + 68.216097 + ], + [ + -96.384171, + 68.200823 + ] + ] + ], + [ + [ + [ + -96.579178, + 75.736925 + ], + [ + -96.455841, + 75.817766 + ], + [ + -96.717224, + 75.739702 + ], + [ + -96.579178, + 75.736925 + ] + ] + ], + [ + [ + [ + -96.563324, + 71.292208 + ], + [ + -96.638611, + 71.226091 + ], + [ + -96.480835, + 71.208879 + ], + [ + -96.472504, + 71.23221 + ], + [ + -96.563324, + 71.292208 + ] + ] + ], + [ + [ + [ + -96.808334, + 72.926378 + ], + [ + -96.575012, + 73.074999 + ], + [ + -97.141113, + 73.085543 + ], + [ + -96.808334, + 72.926378 + ] + ] + ], + [ + [ + [ + -96.754181, + 72.721376 + ], + [ + -96.713333, + 72.893328 + ], + [ + -97.011124, + 72.77582 + ], + [ + -96.754181, + 72.721376 + ] + ] + ], + [ + [ + [ + -96.954453, + 75.595537 + ], + [ + -96.715836, + 75.65999 + ], + [ + -97.005005, + 75.604433 + ], + [ + -96.954453, + 75.595537 + ] + ] + ], + [ + [ + [ + -96.760559, + 69.545534 + ], + [ + -96.902222, + 69.597765 + ], + [ + -96.883896, + 69.559145 + ], + [ + -96.760559, + 69.545534 + ] + ] + ], + [ + [ + [ + -96.958893, + 71.704439 + ], + [ + -96.844452, + 71.744143 + ], + [ + -97.050278, + 71.704165 + ], + [ + -96.958893, + 71.704439 + ] + ] + ], + [ + [ + [ + -96.905838, + 73.220827 + ], + [ + -96.967773, + 73.273317 + ], + [ + -97.117767, + 73.249147 + ], + [ + -96.905838, + 73.220827 + ] + ] + ], + [ + [ + [ + -97.045273, + 76.797762 + ], + [ + -96.997223, + 76.813311 + ], + [ + -97.200836, + 76.857485 + ], + [ + -97.045273, + 76.797762 + ] + ] + ], + [ + [ + [ + -97.256393, + 76.967485 + ], + [ + -97.092224, + 77.01082 + ], + [ + -97.473053, + 76.980547 + ], + [ + -97.256393, + 76.967485 + ] + ] + ], + [ + [ + [ + -97.175827, + 75.244143 + ], + [ + -97.153061, + 75.315264 + ], + [ + -97.275284, + 75.34749 + ], + [ + -97.175827, + 75.244143 + ] + ] + ], + [ + [ + [ + -97.325012, + 69.889162 + ], + [ + -97.226944, + 69.873598 + ], + [ + -97.488602, + 69.943865 + ], + [ + -97.325012, + 69.889162 + ] + ] + ], + [ + [ + [ + -97.652786, + 74.455828 + ], + [ + -97.256958, + 74.590548 + ], + [ + -97.792496, + 74.485811 + ], + [ + -97.652786, + 74.455828 + ] + ] + ], + [ + [ + [ + -98.41806, + 76.668322 + ], + [ + -99.079727, + 76.397219 + ], + [ + -99.684433, + 76.633333 + ], + [ + -100.982498, + 76.504992 + ], + [ + -99.414444, + 76.158327 + ], + [ + -100.152786, + 76.132479 + ], + [ + -99.439438, + 75.970537 + ], + [ + -99.888336, + 75.886385 + ], + [ + -101.885834, + 76.444979 + ], + [ + -102.165833, + 76.238314 + ], + [ + -101.387787, + 76.25194 + ], + [ + -101.907227, + 76.0786 + ], + [ + -101.18222, + 75.779711 + ], + [ + -102.883904, + 75.619143 + ], + [ + -98.950287, + 75.709993 + ], + [ + -100.778877, + 75.350542 + ], + [ + -99.987778, + 75.236101 + ], + [ + -100.546951, + 75.199419 + ], + [ + -100.145844, + 74.991091 + ], + [ + -97.582504, + 75.137499 + ], + [ + -98.165283, + 75.334154 + ], + [ + -97.744156, + 75.571108 + ], + [ + -97.280838, + 75.396944 + ], + [ + -97.386673, + 75.682756 + ], + [ + -97.938599, + 75.741365 + ], + [ + -97.509171, + 76.188875 + ], + [ + -98.41806, + 76.668322 + ] + ] + ], + [ + [ + [ + -97.502792, + 67.624422 + ], + [ + -97.337784, + 67.724154 + ], + [ + -97.560547, + 67.692751 + ], + [ + -97.502792, + 67.624422 + ] + ] + ], + [ + [ + [ + -98.91861, + 73.806093 + ], + [ + -97.637787, + 74.075548 + ], + [ + -99.4375, + 73.896944 + ], + [ + -98.91861, + 73.806093 + ] + ] + ], + [ + [ + [ + -98.657227, + 74.299425 + ], + [ + -98.511124, + 74.318331 + ], + [ + -98.864716, + 74.304705 + ], + [ + -98.657227, + 74.299425 + ] + ] + ], + [ + [ + [ + -99.471664, + 80.109713 + ], + [ + -100.17749, + 79.90999 + ], + [ + -98.644165, + 79.794146 + ], + [ + -99.471664, + 80.109713 + ] + ] + ], + [ + [ + [ + -98.650284, + 68.180269 + ], + [ + -98.693329, + 68.21361 + ], + [ + -98.704453, + 68.176088 + ], + [ + -98.650284, + 68.180269 + ] + ] + ], + [ + [ + [ + -98.895554, + 71.277773 + ], + [ + -98.955841, + 71.352205 + ], + [ + -99.008896, + 71.313875 + ], + [ + -98.895554, + 71.277773 + ] + ] + ], + [ + [ + [ + -103.593887, + 79.325823 + ], + [ + -105.628601, + 79.161379 + ], + [ + -104.681107, + 79.016665 + ], + [ + -104.988327, + 78.798326 + ], + [ + -104.203613, + 78.991655 + ], + [ + -103.821671, + 78.898333 + ], + [ + -104.198883, + 78.770266 + ], + [ + -103.316391, + 78.734423 + ], + [ + -104.042221, + 78.629976 + ], + [ + -103.523621, + 78.496096 + ], + [ + -105.051392, + 78.494432 + ], + [ + -104.467499, + 78.265276 + ], + [ + -102.806107, + 78.377764 + ], + [ + -102.618607, + 78.241365 + ], + [ + -101.035553, + 78.196093 + ], + [ + -99.906952, + 77.778597 + ], + [ + -98.945831, + 78.055819 + ], + [ + -99.793884, + 78.297213 + ], + [ + -99.529724, + 78.578051 + ], + [ + -99.952499, + 78.725542 + ], + [ + -101.648903, + 79.075823 + ], + [ + -102.560822, + 78.869707 + ], + [ + -103.593887, + 79.325823 + ] + ] + ], + [ + [ + [ + -98.951401, + 67.979982 + ], + [ + -98.975555, + 68.077211 + ], + [ + -99.078613, + 68.045595 + ], + [ + -98.951401, + 67.979982 + ] + ] + ], + [ + [ + [ + -99.045273, + 68.423876 + ], + [ + -99.159164, + 68.451097 + ], + [ + -99.054993, + 68.408327 + ], + [ + -99.045273, + 68.423876 + ] + ] + ], + [ + [ + [ + -99.155563, + 80.1747 + ], + [ + -99.41806, + 80.157213 + ], + [ + -99.113892, + 80.163881 + ], + [ + -99.155563, + 80.1747 + ] + ] + ], + [ + [ + [ + -99.996948, + 76.734423 + ], + [ + -100.128601, + 76.721926 + ], + [ + -99.430557, + 76.699419 + ], + [ + -99.996948, + 76.734423 + ] + ] + ], + [ + [ + [ + -99.999435, + 68.94359 + ], + [ + -100.053047, + 69.10248 + ], + [ + -100.258621, + 69.041933 + ], + [ + -99.999435, + 68.94359 + ] + ] + ], + [ + [ + [ + -100.074722, + 68.349718 + ], + [ + -100.230827, + 68.319719 + ], + [ + -100.099442, + 68.278597 + ], + [ + -100.074722, + 68.349718 + ] + ] + ], + [ + [ + [ + -100.172234, + 75.601381 + ], + [ + -101.039436, + 75.567217 + ], + [ + -100.454178, + 75.546373 + ], + [ + -100.172234, + 75.601381 + ] + ] + ], + [ + [ + [ + -100.175552, + 68.79471 + ], + [ + -100.599991, + 69.000551 + ], + [ + -100.623047, + 68.761934 + ], + [ + -100.175552, + 68.79471 + ] + ] + ], + [ + [ + [ + -100.230827, + 70.451662 + ], + [ + -100.651947, + 70.66971 + ], + [ + -100.670837, + 70.55887 + ], + [ + -100.230827, + 70.451662 + ] + ] + ], + [ + [ + [ + -101.380547, + 76.553591 + ], + [ + -100.248894, + 76.734713 + ], + [ + -101.688316, + 76.586382 + ], + [ + -101.380547, + 76.553591 + ] + ] + ], + [ + [ + [ + -100.710564, + 68.402483 + ], + [ + -100.793327, + 68.468874 + ], + [ + -100.889717, + 68.452776 + ], + [ + -100.710564, + 68.402483 + ] + ] + ], + [ + [ + [ + -100.740547, + 68.596376 + ], + [ + -100.813889, + 68.619143 + ], + [ + -100.882492, + 68.611376 + ], + [ + -100.740547, + 68.596376 + ] + ] + ], + [ + [ + [ + -100.765289, + 70.250002 + ], + [ + -100.748047, + 70.316942 + ], + [ + -100.851936, + 70.323885 + ], + [ + -100.765289, + 70.250002 + ] + ] + ], + [ + [ + [ + -100.849731, + 69.925539 + ], + [ + -100.806953, + 69.985811 + ], + [ + -100.858612, + 69.97777 + ], + [ + -100.849731, + 69.925539 + ] + ] + ], + [ + [ + [ + -113.997498, + 72.799425 + ], + [ + -113.96167, + 73.153048 + ], + [ + -114.561661, + 73.375536 + ], + [ + -117.353607, + 72.916384 + ], + [ + -118.536942, + 72.493868 + ], + [ + -118.108046, + 72.237764 + ], + [ + -119.134453, + 71.765276 + ], + [ + -117.696381, + 71.666094 + ], + [ + -118.309433, + 71.465822 + ], + [ + -118.112213, + 71.373598 + ], + [ + -115.057503, + 71.523043 + ], + [ + -118.419449, + 70.99193 + ], + [ + -117.559433, + 70.597216 + ], + [ + -113.938316, + 70.715273 + ], + [ + -111.487213, + 70.336931 + ], + [ + -112.564713, + 70.19832 + ], + [ + -115.167503, + 70.277773 + ], + [ + -117.436111, + 69.993044 + ], + [ + -116.525833, + 69.407488 + ], + [ + -113.521118, + 69.178591 + ], + [ + -113.676941, + 68.811098 + ], + [ + -113.03389, + 68.494982 + ], + [ + -113.269447, + 68.453875 + ], + [ + -109.104721, + 68.710543 + ], + [ + -107.342215, + 69.018877 + ], + [ + -106.602219, + 69.498873 + ], + [ + -106.406113, + 69.180544 + ], + [ + -104.915009, + 69.070543 + ], + [ + -105.14473, + 68.899157 + ], + [ + -102.89473, + 68.79999 + ], + [ + -101.75473, + 69.175814 + ], + [ + -102.313049, + 69.498323 + ], + [ + -103.194992, + 69.114428 + ], + [ + -103.023331, + 69.493868 + ], + [ + -103.476936, + 69.69359 + ], + [ + -100.870003, + 69.788317 + ], + [ + -100.999733, + 70.172762 + ], + [ + -103.556381, + 70.600817 + ], + [ + -104.585831, + 71.066668 + ], + [ + -104.35527, + 71.574434 + ], + [ + -105.326111, + 72.74637 + ], + [ + -106.761398, + 73.293047 + ], + [ + -108.291946, + 73.153597 + ], + [ + -107.778877, + 72.13666 + ], + [ + -107.252502, + 71.89554 + ], + [ + -107.828888, + 71.604433 + ], + [ + -108.242767, + 71.718599 + ], + [ + -108.621384, + 72.54999 + ], + [ + -109.043327, + 72.567492 + ], + [ + -109.227783, + 72.76166 + ], + [ + -109.75473, + 72.878588 + ], + [ + -109.659439, + 72.92499 + ], + [ + -110.756668, + 72.971376 + ], + [ + -109.770279, + 72.722216 + ], + [ + -110.291107, + 72.671099 + ], + [ + -109.782784, + 72.42943 + ], + [ + -110.701401, + 72.575548 + ], + [ + -111.663887, + 72.276384 + ], + [ + -111.905563, + 72.349718 + ], + [ + -111.220001, + 72.718325 + ], + [ + -113.028061, + 73.009432 + ], + [ + -113.657501, + 72.611376 + ], + [ + -114.604721, + 72.601656 + ], + [ + -113.997498, + 72.799425 + ] + ] + ], + [ + [ + [ + -101.711403, + 77.901659 + ], + [ + -102.529715, + 77.834154 + ], + [ + -100.925552, + 77.7372 + ], + [ + -101.711403, + 77.901659 + ] + ] + ], + [ + [ + [ + -101.053047, + 69.504442 + ], + [ + -101.387222, + 69.537767 + ], + [ + -101.230293, + 69.368593 + ], + [ + -101.053047, + 69.504442 + ] + ] + ], + [ + [ + [ + -101.664169, + 69.083605 + ], + [ + -101.495003, + 69.165545 + ], + [ + -101.695267, + 69.206942 + ], + [ + -101.664169, + 69.083605 + ] + ] + ], + [ + [ + [ + -101.831123, + 68.566942 + ], + [ + -101.693878, + 68.768053 + ], + [ + -102.316391, + 68.672213 + ], + [ + -101.831123, + 68.566942 + ] + ] + ], + [ + [ + [ + -103.137787, + 75.742754 + ], + [ + -101.983322, + 75.945818 + ], + [ + -103.382767, + 75.765551 + ], + [ + -103.137787, + 75.742754 + ] + ] + ], + [ + [ + [ + -102.145279, + 69.648607 + ], + [ + -102.134743, + 69.724703 + ], + [ + -102.241379, + 69.710268 + ], + [ + -102.145279, + 69.648607 + ] + ] + ], + [ + [ + [ + -102.389999, + 76.083605 + ], + [ + -103.971657, + 75.938311 + ], + [ + -102.319458, + 76.024706 + ], + [ + -102.389999, + 76.083605 + ] + ] + ], + [ + [ + [ + -102.530838, + 76.223314 + ], + [ + -104.482773, + 76.142214 + ], + [ + -103.342215, + 76.036654 + ], + [ + -102.530838, + 76.223314 + ] + ] + ], + [ + [ + [ + -102.60083, + 68.813311 + ], + [ + -102.612778, + 68.84305 + ], + [ + -102.70723, + 68.816668 + ], + [ + -102.60083, + 68.813311 + ] + ] + ], + [ + [ + [ + -103.056953, + 78.119707 + ], + [ + -102.782227, + 78.238588 + ], + [ + -103.282227, + 78.157763 + ], + [ + -103.056953, + 78.119707 + ] + ] + ], + [ + [ + [ + -104.053879, + 76.563036 + ], + [ + -104.665833, + 76.551653 + ], + [ + -104.335007, + 76.318605 + ], + [ + -103.004463, + 76.429979 + ], + [ + -104.053879, + 76.563036 + ] + ] + ], + [ + [ + [ + -103.17778, + 70.622484 + ], + [ + -103.210007, + 70.676653 + ], + [ + -103.281387, + 70.638048 + ], + [ + -103.17778, + 70.622484 + ] + ] + ], + [ + [ + [ + -103.35083, + 70.687197 + ], + [ + -103.34111, + 70.720263 + ], + [ + -103.462784, + 70.73221 + ], + [ + -103.35083, + 70.687197 + ] + ] + ], + [ + [ + [ + -103.917503, + 75.054979 + ], + [ + -103.583069, + 75.164705 + ], + [ + -104.18222, + 75.435534 + ], + [ + -104.857224, + 75.164705 + ], + [ + -103.917503, + 75.054979 + ] + ] + ], + [ + [ + [ + -104.252502, + 77.072771 + ], + [ + -104.001106, + 77.13582 + ], + [ + -104.431671, + 77.098879 + ], + [ + -104.252502, + 77.072771 + ] + ] + ], + [ + [ + [ + -105.010277, + 77.408037 + ], + [ + -106.094727, + 77.724154 + ], + [ + -105.246948, + 77.193865 + ], + [ + -104.365547, + 77.230272 + ], + [ + -105.010277, + 77.408037 + ] + ] + ], + [ + [ + [ + -104.453056, + 68.102205 + ], + [ + -104.377213, + 68.199709 + ], + [ + -104.553879, + 68.161654 + ], + [ + -104.453056, + 68.102205 + ] + ] + ], + [ + [ + [ + -105.089447, + 73.735262 + ], + [ + -107.035553, + 73.480822 + ], + [ + -105.275558, + 72.845537 + ], + [ + -104.483063, + 73.534426 + ], + [ + -105.089447, + 73.735262 + ] + ] + ], + [ + [ + [ + -104.545273, + 68.396105 + ], + [ + -104.682503, + 68.573885 + ], + [ + -105.08168, + 68.546373 + ], + [ + -104.545273, + 68.396105 + ] + ] + ], + [ + [ + [ + -105.139183, + 68.536379 + ], + [ + -105.292221, + 68.582216 + ], + [ + -105.058884, + 68.504168 + ], + [ + -105.139183, + 68.536379 + ] + ] + ], + [ + [ + [ + -108.651108, + 76.813601 + ], + [ + -110.393066, + 76.391939 + ], + [ + -109.313606, + 76.109148 + ], + [ + -110.055557, + 75.890551 + ], + [ + -108.82695, + 75.686647 + ], + [ + -108.899437, + 75.476381 + ], + [ + -111.247223, + 75.518053 + ], + [ + -111.45195, + 75.836657 + ], + [ + -112.225563, + 75.811098 + ], + [ + -111.727783, + 75.921648 + ], + [ + -112.453888, + 76.176378 + ], + [ + -114.899727, + 76.516939 + ], + [ + -115.925003, + 76.286654 + ], + [ + -114.662514, + 76.16054 + ], + [ + -116.296112, + 76.188585 + ], + [ + -116.734161, + 75.922487 + ], + [ + -114.817497, + 75.880816 + ], + [ + -117.251106, + 75.59749 + ], + [ + -114.999733, + 75.690813 + ], + [ + -117.683884, + 75.253054 + ], + [ + -115.050827, + 74.961107 + ], + [ + -114.065002, + 75.466097 + ], + [ + -113.340561, + 75.413317 + ], + [ + -113.917503, + 75.053591 + ], + [ + -110.912781, + 75.233873 + ], + [ + -114.447769, + 74.6747 + ], + [ + -112.753067, + 74.401384 + ], + [ + -108.832497, + 75.069994 + ], + [ + -106.011124, + 75.050814 + ], + [ + -105.391953, + 75.638887 + ], + [ + -106.33667, + 76.054705 + ], + [ + -106.896666, + 75.720263 + ], + [ + -108.020279, + 75.780825 + ], + [ + -107.632492, + 75.991091 + ], + [ + -108.396118, + 76.046099 + ], + [ + -108.077499, + 76.28055 + ], + [ + -108.558037, + 76.408602 + ], + [ + -108.651108, + 76.813601 + ] + ] + ], + [ + [ + [ + -107.388901, + 68.172213 + ], + [ + -107.291672, + 68.202776 + ], + [ + -107.445267, + 68.201662 + ], + [ + -107.388901, + 68.172213 + ] + ] + ], + [ + [ + [ + -107.407784, + 67.083055 + ], + [ + -107.626663, + 67.200274 + ], + [ + -107.527786, + 67.078051 + ], + [ + -107.407784, + 67.083055 + ] + ] + ], + [ + [ + [ + -107.473618, + 68.144716 + ], + [ + -107.468063, + 68.188585 + ], + [ + -107.554169, + 68.166094 + ], + [ + -107.473618, + 68.144716 + ] + ] + ], + [ + [ + [ + -107.895554, + 73.541368 + ], + [ + -107.582497, + 73.597765 + ], + [ + -108.083328, + 73.597216 + ], + [ + -107.895554, + 73.541368 + ] + ] + ], + [ + [ + [ + -107.662781, + 67.220263 + ], + [ + -107.660004, + 67.298876 + ], + [ + -107.725014, + 67.313036 + ], + [ + -107.662781, + 67.220263 + ] + ] + ], + [ + [ + [ + -107.92305, + 66.850542 + ], + [ + -107.823898, + 66.901094 + ], + [ + -107.794998, + 66.99721 + ], + [ + -107.92305, + 66.850542 + ] + ] + ], + [ + [ + [ + -107.910828, + 67.310534 + ], + [ + -107.89473, + 67.485537 + ], + [ + -108.073898, + 67.430819 + ], + [ + -107.910828, + 67.310534 + ] + ] + ], + [ + [ + [ + -108.059998, + 67.475267 + ], + [ + -107.921387, + 67.546648 + ], + [ + -108.113617, + 67.675264 + ], + [ + -108.059998, + 67.475267 + ] + ] + ], + [ + [ + [ + -108.01445, + 66.897768 + ], + [ + -107.938316, + 66.946932 + ], + [ + -108.106598, + 67.026003 + ], + [ + -108.01445, + 66.897768 + ] + ] + ], + [ + [ + [ + -108.138062, + 67.872484 + ], + [ + -108.054443, + 67.96332 + ], + [ + -108.255569, + 67.887209 + ], + [ + -108.138062, + 67.872484 + ] + ] + ], + [ + [ + [ + -108.138901, + 71.981661 + ], + [ + -108.064163, + 72.030275 + ], + [ + -108.199722, + 72.050539 + ], + [ + -108.138901, + 71.981661 + ] + ] + ], + [ + [ + [ + -108.141113, + 67.449999 + ], + [ + -108.219162, + 67.571108 + ], + [ + -108.271942, + 67.471376 + ], + [ + -108.141113, + 67.449999 + ] + ] + ], + [ + [ + [ + -108.36055, + 68.049715 + ], + [ + -108.294449, + 68.097216 + ], + [ + -108.408051, + 68.069719 + ], + [ + -108.36055, + 68.049715 + ] + ] + ], + [ + [ + [ + -108.368332, + 67.467211 + ], + [ + -108.297501, + 67.557207 + ], + [ + -108.491379, + 67.563036 + ], + [ + -108.368332, + 67.467211 + ] + ] + ], + [ + [ + [ + -108.322777, + 67.589983 + ], + [ + -108.390289, + 67.63109 + ], + [ + -108.483887, + 67.63666 + ], + [ + -108.322777, + 67.589983 + ] + ] + ], + [ + [ + [ + -108.646957, + 67.869432 + ], + [ + -108.359444, + 67.899996 + ], + [ + -108.544724, + 67.928316 + ], + [ + -108.646957, + 67.869432 + ] + ] + ], + [ + [ + [ + -108.506119, + 68.034716 + ], + [ + -108.447487, + 68.08777 + ], + [ + -108.540283, + 68.03998 + ], + [ + -108.506119, + 68.034716 + ] + ] + ], + [ + [ + [ + -108.510559, + 72.60277 + ], + [ + -108.496658, + 72.641375 + ], + [ + -108.613617, + 72.63666 + ], + [ + -108.510559, + 72.60277 + ] + ] + ], + [ + [ + [ + -108.590286, + 68.214434 + ], + [ + -108.559723, + 68.236101 + ], + [ + -108.67749, + 68.168871 + ], + [ + -108.590286, + 68.214434 + ] + ] + ], + [ + [ + [ + -109.195267, + 67.989977 + ], + [ + -108.866095, + 67.90027 + ], + [ + -108.951111, + 67.973314 + ], + [ + -109.195267, + 67.989977 + ] + ] + ], + [ + [ + [ + -109.112213, + 67.763323 + ], + [ + -109.039169, + 67.793322 + ], + [ + -109.207779, + 67.783876 + ], + [ + -109.112213, + 67.763323 + ] + ] + ], + [ + [ + [ + -109.066101, + 76.900545 + ], + [ + -109.179443, + 76.932482 + ], + [ + -109.30777, + 76.928041 + ], + [ + -109.066101, + 76.900545 + ] + ] + ], + [ + [ + [ + -109.648064, + 78.588045 + ], + [ + -110.637512, + 78.748598 + ], + [ + -113.334166, + 78.332766 + ], + [ + -109.260559, + 78.455828 + ], + [ + -109.648064, + 78.588045 + ] + ] + ], + [ + [ + [ + -109.321671, + 67.981096 + ], + [ + -109.44722, + 68.092211 + ], + [ + -109.54306, + 68.052202 + ], + [ + -109.321671, + 67.981096 + ] + ] + ], + [ + [ + [ + -109.78389, + 68.137499 + ], + [ + -109.568069, + 68.24721 + ], + [ + -109.856659, + 68.147768 + ], + [ + -109.78389, + 68.137499 + ] + ] + ], + [ + [ + [ + -109.588058, + 78.064699 + ], + [ + -113.319733, + 77.795534 + ], + [ + -113.198036, + 77.523882 + ], + [ + -112.031113, + 77.324709 + ], + [ + -110.203339, + 77.511385 + ], + [ + -110.090286, + 77.769152 + ], + [ + -110.904715, + 77.843874 + ], + [ + -109.588058, + 78.064699 + ] + ] + ], + [ + [ + [ + -110.213623, + 68.038042 + ], + [ + -109.877213, + 68.126925 + ], + [ + -110.258621, + 68.041933 + ], + [ + -110.213623, + 68.038042 + ] + ] + ], + [ + [ + [ + -110.30722, + 72.630816 + ], + [ + -110.280838, + 72.642214 + ], + [ + -110.410828, + 72.639437 + ], + [ + -110.30722, + 72.630816 + ] + ] + ], + [ + [ + [ + -110.334442, + 68.01166 + ], + [ + -110.317497, + 68.049715 + ], + [ + -110.420837, + 68.02083 + ], + [ + -110.334442, + 68.01166 + ] + ] + ], + [ + [ + [ + -110.355827, + 72.601931 + ], + [ + -110.345001, + 72.611925 + ], + [ + -110.49472, + 72.619143 + ], + [ + -110.355827, + 72.601931 + ] + ] + ], + [ + [ + [ + -110.469162, + 72.569155 + ], + [ + -110.593887, + 72.594149 + ], + [ + -110.544159, + 72.569155 + ], + [ + -110.469162, + 72.569155 + ] + ] + ], + [ + [ + [ + -110.586937, + 68.524157 + ], + [ + -110.518341, + 68.539156 + ], + [ + -110.761948, + 68.561647 + ], + [ + -110.586937, + 68.524157 + ] + ] + ], + [ + [ + [ + -110.862503, + 68.474154 + ], + [ + -110.696114, + 68.486376 + ], + [ + -111.097504, + 68.482759 + ], + [ + -110.862503, + 68.474154 + ] + ] + ], + [ + [ + [ + -111.114441, + 68.405825 + ], + [ + -111.082497, + 68.444704 + ], + [ + -111.14917, + 68.439974 + ], + [ + -111.114441, + 68.405825 + ] + ] + ], + [ + [ + [ + -111.710281, + 68.220537 + ], + [ + -111.499443, + 68.296938 + ], + [ + -111.777222, + 68.253054 + ], + [ + -111.710281, + 68.220537 + ] + ] + ], + [ + [ + [ + -111.799988, + 75.839159 + ], + [ + -111.578613, + 75.879976 + ], + [ + -111.922501, + 75.85277 + ], + [ + -111.799988, + 75.839159 + ] + ] + ], + [ + [ + [ + -111.833328, + 68.181932 + ], + [ + -111.754997, + 68.215822 + ], + [ + -111.865547, + 68.188036 + ], + [ + -111.833328, + 68.181932 + ] + ] + ], + [ + [ + [ + -112.655273, + 70.2661 + ], + [ + -112.6875, + 70.306368 + ], + [ + -112.761398, + 70.298601 + ], + [ + -112.655273, + 70.2661 + ] + ] + ], + [ + [ + [ + -112.780563, + 68.13109 + ], + [ + -112.751678, + 68.164705 + ], + [ + -112.922234, + 68.146654 + ], + [ + -112.780563, + 68.13109 + ] + ] + ], + [ + [ + [ + -112.930557, + 67.916658 + ], + [ + -112.887222, + 67.927202 + ], + [ + -113.147507, + 67.912203 + ], + [ + -112.930557, + 67.916658 + ] + ] + ], + [ + [ + [ + -112.969727, + 70.281374 + ], + [ + -112.945541, + 70.286654 + ], + [ + -113.203613, + 70.292482 + ], + [ + -112.969727, + 70.281374 + ] + ] + ], + [ + [ + [ + -113.390289, + 67.897768 + ], + [ + -113.246948, + 67.914431 + ], + [ + -113.603333, + 67.903048 + ], + [ + -113.390289, + 67.897768 + ] + ] + ], + [ + [ + [ + -113.328888, + 77.079988 + ], + [ + -113.344727, + 77.127764 + ], + [ + -113.497498, + 77.08832 + ], + [ + -113.328888, + 77.079988 + ] + ] + ], + [ + [ + [ + -113.46611, + 76.76639 + ], + [ + -113.885559, + 76.891665 + ], + [ + -114.875816, + 76.77083 + ], + [ + -113.46611, + 76.76639 + ] + ] + ], + [ + [ + [ + -114.073059, + 77.981661 + ], + [ + -115.116095, + 77.95833 + ], + [ + -113.576111, + 77.81415 + ], + [ + -114.073059, + 77.981661 + ] + ] + ], + [ + [ + [ + -113.77861, + 77.104158 + ], + [ + -113.657784, + 77.129152 + ], + [ + -113.931381, + 77.129702 + ], + [ + -113.77861, + 77.104158 + ] + ] + ], + [ + [ + [ + -113.720001, + 67.973314 + ], + [ + -113.772232, + 67.980272 + ], + [ + -113.993057, + 67.961107 + ], + [ + -113.720001, + 67.973314 + ] + ] + ], + [ + [ + [ + -113.786118, + 68.582766 + ], + [ + -113.761948, + 68.592211 + ], + [ + -113.96611, + 68.611101 + ], + [ + -113.786118, + 68.582766 + ] + ] + ], + [ + [ + [ + -114.115013, + 67.883883 + ], + [ + -113.921387, + 67.878038 + ], + [ + -114.296951, + 67.895266 + ], + [ + -114.115013, + 67.883883 + ] + ] + ], + [ + [ + [ + -114.047234, + 68.613604 + ], + [ + -114.141953, + 68.676928 + ], + [ + -114.189987, + 68.680269 + ], + [ + -114.047234, + 68.613604 + ] + ] + ], + [ + [ + [ + -114.219162, + 67.945253 + ], + [ + -114.121109, + 67.961931 + ], + [ + -114.31723, + 67.949709 + ], + [ + -114.219162, + 67.945253 + ] + ] + ], + [ + [ + [ + -114.35083, + 68.871645 + ], + [ + -114.323334, + 68.883043 + ], + [ + -114.471657, + 68.892488 + ], + [ + -114.35083, + 68.871645 + ] + ] + ], + [ + [ + [ + -120.149986, + 74.272493 + ], + [ + -121.564163, + 74.551088 + ], + [ + -124.770844, + 74.340273 + ], + [ + -123.774719, + 73.764437 + ], + [ + -124.868881, + 73.080553 + ], + [ + -124.47583, + 72.927202 + ], + [ + -125.026108, + 72.821093 + ], + [ + -125.997772, + 71.973604 + ], + [ + -124.948334, + 71.961107 + ], + [ + -125.253616, + 71.950258 + ], + [ + -122.781113, + 71.086107 + ], + [ + -120.543327, + 71.516665 + ], + [ + -120.251106, + 72.258608 + ], + [ + -119.311111, + 72.352205 + ], + [ + -119.137512, + 72.632479 + ], + [ + -115.315002, + 73.479708 + ], + [ + -117.422234, + 74.226931 + ], + [ + -119.167503, + 73.9872 + ], + [ + -119.148621, + 74.212206 + ], + [ + -119.744812, + 74.025515 + ], + [ + -119.609161, + 74.233324 + ], + [ + -120.149986, + 74.272493 + ] + ] + ], + [ + [ + [ + -116.351097, + 77.539156 + ], + [ + -119.153343, + 77.325823 + ], + [ + -120.401672, + 76.797213 + ], + [ + -121.212509, + 76.649721 + ], + [ + -121.533073, + 76.437197 + ], + [ + -122.598892, + 76.34833 + ], + [ + -123.037781, + 76.084719 + ], + [ + -120.999443, + 75.939699 + ], + [ + -120.857224, + 76.196642 + ], + [ + -120.454453, + 75.815813 + ], + [ + -119.870003, + 75.857485 + ], + [ + -119.48111, + 75.970827 + ], + [ + -119.804993, + 76.108873 + ], + [ + -119.654999, + 76.303041 + ], + [ + -119.075844, + 76.08333 + ], + [ + -118.567497, + 76.336657 + ], + [ + -118.968063, + 76.505266 + ], + [ + -117.842215, + 76.823885 + ], + [ + -118.059998, + 76.409151 + ], + [ + -117.095551, + 76.295259 + ], + [ + -117.053879, + 76.533052 + ], + [ + -115.896666, + 76.691652 + ], + [ + -116.36528, + 76.926378 + ], + [ + -115.731377, + 76.949709 + ], + [ + -116.280563, + 77.183596 + ], + [ + -115.390289, + 77.306368 + ], + [ + -116.351097, + 77.539156 + ] + ] + ], + [ + [ + [ + -115.920546, + 70.541368 + ], + [ + -115.808037, + 70.570543 + ], + [ + -116.061111, + 70.548326 + ], + [ + -115.920546, + 70.541368 + ] + ] + ], + [ + [ + [ + -116.287781, + 70.553316 + ], + [ + -116.495827, + 70.522768 + ], + [ + -116.127487, + 70.535814 + ], + [ + -116.287781, + 70.553316 + ] + ] + ], + [ + [ + [ + -116.563049, + 70.534426 + ], + [ + -116.509453, + 70.556093 + ], + [ + -116.774437, + 70.545259 + ], + [ + -116.563049, + 70.534426 + ] + ] + ], + [ + [ + [ + -116.805267, + 70.509432 + ], + [ + -116.719162, + 70.470263 + ], + [ + -116.568335, + 70.473879 + ], + [ + -116.805267, + 70.509432 + ] + ] + ], + [ + [ + [ + -116.87944, + 70.547487 + ], + [ + -117.199432, + 70.591661 + ], + [ + -117.301666, + 70.561922 + ], + [ + -116.87944, + 70.547487 + ] + ] + ], + [ + [ + [ + -118.316391, + 75.572496 + ], + [ + -117.463898, + 76.083055 + ], + [ + -119.408051, + 75.605822 + ], + [ + -118.316391, + 75.572496 + ] + ] + ], + [ + [ + [ + -121.093063, + 75.726091 + ], + [ + -120.877777, + 75.936098 + ], + [ + -121.28833, + 75.752779 + ], + [ + -121.093063, + 75.726091 + ] + ] + ], + [ + [ + [ + -120.883621, + 76.739702 + ], + [ + -121.184723, + 76.731096 + ], + [ + -120.970001, + 76.716661 + ], + [ + -120.883621, + 76.739702 + ] + ] + ], + [ + [ + [ + -122.340843, + 75.862764 + ], + [ + -122.353058, + 75.914431 + ], + [ + -122.695541, + 75.908037 + ], + [ + -122.340843, + 75.862764 + ] + ] + ], + [ + [ + [ + -122.819168, + 76.060534 + ], + [ + -122.892502, + 76.013613 + ], + [ + -122.630829, + 76.046648 + ], + [ + -122.819168, + 76.060534 + ] + ] + ], + [ + [ + [ + -127.226936, + 50.63611 + ], + [ + -128.416655, + 50.769159 + ], + [ + -128.051422, + 50.446695 + ], + [ + -127.411392, + 50.587496 + ], + [ + -127.446953, + 50.372766 + ], + [ + -127.923889, + 50.46277 + ], + [ + -127.895844, + 50.108889 + ], + [ + -127.15834, + 50.096384 + ], + [ + -127.241379, + 49.961939 + ], + [ + -127.121117, + 49.852289 + ], + [ + -126.804443, + 49.909159 + ], + [ + -126.679718, + 49.878878 + ], + [ + -126.585007, + 49.701105 + ], + [ + -126.087509, + 49.66221 + ], + [ + -126.542221, + 49.374437 + ], + [ + -125.904715, + 49.435823 + ], + [ + -125.483612, + 48.915827 + ], + [ + -124.80777, + 49.240549 + ], + [ + -125.113892, + 48.731104 + ], + [ + -123.289719, + 48.413324 + ], + [ + -123.850563, + 49.145548 + ], + [ + -123.699432, + 49.143885 + ], + [ + -124.789436, + 49.464159 + ], + [ + -125.449722, + 50.32361 + ], + [ + -127.226936, + 50.63611 + ] + ] + ], + [ + [ + [ + -123.37944, + 49.326944 + ], + [ + -123.31221, + 49.414995 + ], + [ + -123.420273, + 49.381662 + ], + [ + -123.37944, + 49.326944 + ] + ] + ], + [ + [ + [ + -123.322777, + 48.861109 + ], + [ + -123.702499, + 49.105555 + ], + [ + -123.540558, + 48.944994 + ], + [ + -123.322777, + 48.861109 + ] + ] + ], + [ + [ + [ + -123.332779, + 49.441103 + ], + [ + -123.355003, + 49.531939 + ], + [ + -123.436661, + 49.522219 + ], + [ + -123.459442, + 49.467211 + ], + [ + -123.332779, + 49.441103 + ] + ] + ], + [ + [ + [ + -123.474442, + 48.709162 + ], + [ + -123.37027, + 48.768328 + ], + [ + -123.596657, + 48.946939 + ], + [ + -123.474442, + 48.709162 + ] + ] + ], + [ + [ + [ + -124.129707, + 49.650827 + ], + [ + -124.016113, + 49.775553 + ], + [ + -124.199432, + 49.706102 + ], + [ + -124.129707, + 49.650827 + ] + ] + ], + [ + [ + [ + -124.307503, + 73.556368 + ], + [ + -124.113892, + 73.56415 + ], + [ + -124.358612, + 73.630266 + ], + [ + -124.307503, + 73.556368 + ] + ] + ], + [ + [ + [ + -124.446114, + 49.723322 + ], + [ + -124.656662, + 49.796946 + ], + [ + -124.122772, + 49.493608 + ], + [ + -124.446114, + 49.723322 + ] + ] + ], + [ + [ + [ + -124.179169, + 49.441103 + ], + [ + -124.24472, + 49.50139 + ], + [ + -124.381104, + 49.511942 + ], + [ + -124.179169, + 49.441103 + ] + ] + ], + [ + [ + [ + -124.430557, + 73.878588 + ], + [ + -124.420273, + 73.909151 + ], + [ + -124.55278, + 73.916933 + ], + [ + -124.430557, + 73.878588 + ] + ] + ], + [ + [ + [ + -124.679443, + 70.161654 + ], + [ + -124.50528, + 70.19832 + ], + [ + -124.761948, + 70.191927 + ], + [ + -124.679443, + 70.161654 + ] + ] + ], + [ + [ + [ + -124.584732, + 73.679155 + ], + [ + -124.564438, + 73.687197 + ], + [ + -124.733612, + 73.700548 + ], + [ + -124.584732, + 73.679155 + ] + ] + ], + [ + [ + [ + -124.730827, + 50.302217 + ], + [ + -124.794998, + 50.228876 + ], + [ + -124.695831, + 50.157495 + ], + [ + -124.659439, + 50.258333 + ], + [ + -124.730827, + 50.302217 + ] + ] + ], + [ + [ + [ + -124.689438, + 49.480272 + ], + [ + -124.83168, + 49.610552 + ], + [ + -124.823624, + 49.539438 + ], + [ + -124.689438, + 49.480272 + ] + ] + ], + [ + [ + [ + -124.8125, + 50.111383 + ], + [ + -124.756668, + 50.178331 + ], + [ + -124.918327, + 50.299723 + ], + [ + -124.8125, + 50.111383 + ] + ] + ], + [ + [ + [ + -124.924156, + 50.058603 + ], + [ + -124.983322, + 50.22555 + ], + [ + -125.066963, + 50.1075 + ], + [ + -124.924156, + 50.058603 + ] + ] + ], + [ + [ + [ + -125.056953, + 70.118319 + ], + [ + -124.955002, + 70.164156 + ], + [ + -125.123322, + 70.135469 + ], + [ + -125.056953, + 70.118319 + ] + ] + ], + [ + [ + [ + -125.165558, + 50.374437 + ], + [ + -125.400284, + 50.320833 + ], + [ + -125.213623, + 50.316668 + ], + [ + -125.156113, + 50.239161 + ], + [ + -125.140289, + 50.12166 + ], + [ + -125.165558, + 50.374437 + ] + ] + ], + [ + [ + [ + -125.16777, + 49.980822 + ], + [ + -125.167221, + 50.21361 + ], + [ + -125.25473, + 50.293612 + ], + [ + -125.339996, + 50.268885 + ], + [ + -125.16777, + 49.980822 + ] + ] + ], + [ + [ + [ + -125.426102, + 50.355555 + ], + [ + -125.331947, + 50.435549 + ], + [ + -125.528061, + 50.381662 + ], + [ + -125.426102, + 50.355555 + ] + ] + ], + [ + [ + [ + -125.543877, + 50.393885 + ], + [ + -125.523903, + 50.434435 + ], + [ + -125.763634, + 50.397493 + ], + [ + -125.543877, + 50.393885 + ] + ] + ], + [ + [ + [ + -125.80722, + 50.413607 + ], + [ + -125.738052, + 50.428049 + ], + [ + -125.951111, + 50.433878 + ], + [ + -125.80722, + 50.413607 + ] + ] + ], + [ + [ + [ + -125.816101, + 49.125826 + ], + [ + -125.799156, + 49.20833 + ], + [ + -125.93306, + 49.21805 + ], + [ + -125.816101, + 49.125826 + ] + ] + ], + [ + [ + [ + -126.131943, + 49.393328 + ], + [ + -126.239166, + 49.289721 + ], + [ + -126.064713, + 49.250834 + ], + [ + -126.131943, + 49.393328 + ] + ] + ], + [ + [ + [ + -126.22583, + 50.555269 + ], + [ + -126.286118, + 50.59833 + ], + [ + -126.623894, + 50.533884 + ], + [ + -126.22583, + 50.555269 + ] + ] + ], + [ + [ + [ + -126.273064, + 50.652773 + ], + [ + -126.266403, + 50.827776 + ], + [ + -126.617493, + 50.667772 + ], + [ + -126.273064, + 50.652773 + ] + ] + ], + [ + [ + [ + -126.4664, + 50.57583 + ], + [ + -126.361389, + 50.615831 + ], + [ + -126.554169, + 50.602777 + ], + [ + -126.4664, + 50.57583 + ] + ] + ], + [ + [ + [ + -126.64389, + 50.691935 + ], + [ + -126.536392, + 50.763613 + ], + [ + -126.685547, + 50.75889 + ], + [ + -126.64389, + 50.691935 + ] + ] + ], + [ + [ + [ + -126.731377, + 50.771936 + ], + [ + -126.563049, + 50.799997 + ], + [ + -126.905838, + 50.822771 + ], + [ + -126.731377, + 50.771936 + ] + ] + ], + [ + [ + [ + -126.676102, + 49.583605 + ], + [ + -126.613327, + 49.648333 + ], + [ + -126.678047, + 49.825274 + ], + [ + -126.777496, + 49.879717 + ], + [ + -126.940552, + 49.831385 + ], + [ + -126.676102, + 49.583605 + ] + ] + ], + [ + [ + [ + -126.873322, + 50.663324 + ], + [ + -127.14473, + 50.633883 + ], + [ + -126.831123, + 50.62916 + ], + [ + -126.873322, + 50.663324 + ] + ] + ], + [ + [ + [ + -127.724442, + 51.976938 + ], + [ + -127.234734, + 52.416941 + ], + [ + -127.789169, + 52.221933 + ], + [ + -127.724442, + 51.976938 + ] + ] + ], + [ + [ + [ + -127.654715, + 50.83777 + ], + [ + -127.726387, + 50.908602 + ], + [ + -127.838608, + 50.881662 + ], + [ + -127.654715, + 50.83777 + ] + ] + ], + [ + [ + [ + -127.962784, + 52.074717 + ], + [ + -127.881104, + 52.17222 + ], + [ + -128.120819, + 52.141939 + ], + [ + -127.962784, + 52.074717 + ] + ] + ], + [ + [ + [ + -127.914436, + 51.410822 + ], + [ + -128, + 51.720545 + ], + [ + -128.145569, + 51.653605 + ], + [ + -127.914436, + 51.410822 + ] + ] + ], + [ + [ + [ + -127.924713, + 52.174166 + ], + [ + -127.972778, + 52.295275 + ], + [ + -128.170013, + 52.24972 + ], + [ + -127.924713, + 52.174166 + ] + ] + ], + [ + [ + [ + -128.053894, + 51.753611 + ], + [ + -127.983322, + 52.061937 + ], + [ + -128.253082, + 51.872217 + ], + [ + -128.053894, + 51.753611 + ] + ] + ], + [ + [ + [ + -128.184448, + 52.278605 + ], + [ + -128.056671, + 52.328882 + ], + [ + -128.104431, + 52.421381 + ], + [ + -128.184448, + 52.278605 + ] + ] + ], + [ + [ + [ + -128.086121, + 70.605547 + ], + [ + -128.234161, + 70.656099 + ], + [ + -128.341675, + 70.542208 + ], + [ + -128.086121, + 70.605547 + ] + ] + ], + [ + [ + [ + -128.211945, + 52.015551 + ], + [ + -128.153076, + 52.195269 + ], + [ + -128.294159, + 52.113611 + ], + [ + -128.211945, + 52.015551 + ] + ] + ], + [ + [ + [ + -128.269745, + 52.596941 + ], + [ + -128.177795, + 52.826105 + ], + [ + -128.325012, + 52.776102 + ], + [ + -128.269745, + 52.596941 + ] + ] + ], + [ + [ + [ + -128.299988, + 52.133608 + ], + [ + -128.227203, + 52.218882 + ], + [ + -128.377197, + 52.223879 + ], + [ + -128.299988, + 52.133608 + ] + ] + ], + [ + [ + [ + -128.430298, + 52.368052 + ], + [ + -128.275024, + 52.489992 + ], + [ + -128.383331, + 52.797495 + ], + [ + -128.430298, + 52.368052 + ] + ] + ], + [ + [ + [ + -128.428345, + 52.137499 + ], + [ + -128.416412, + 52.226381 + ], + [ + -128.511139, + 52.169992 + ], + [ + -128.428345, + 52.137499 + ] + ] + ], + [ + [ + [ + -128.50528, + 52.641108 + ], + [ + -128.450836, + 52.805269 + ], + [ + -128.506134, + 52.873049 + ], + [ + -128.50528, + 52.641108 + ] + ] + ], + [ + [ + [ + -128.471924, + 52.492769 + ], + [ + -128.535278, + 52.647219 + ], + [ + -128.578186, + 52.593645 + ], + [ + -128.732483, + 52.590548 + ], + [ + -128.813904, + 52.524996 + ], + [ + -128.471924, + 52.492769 + ] + ] + ], + [ + [ + [ + -128.689453, + 53.164438 + ], + [ + -129.06665, + 53.300829 + ], + [ + -129.075287, + 53.103052 + ], + [ + -129.191376, + 53.01333 + ], + [ + -128.843597, + 53.044161 + ], + [ + -129.121918, + 52.863054 + ], + [ + -128.88446, + 52.64805 + ], + [ + -128.646973, + 52.963327 + ], + [ + -128.748871, + 52.597216 + ], + [ + -128.592224, + 52.613886 + ], + [ + -128.518341, + 52.911104 + ], + [ + -128.689453, + 53.164438 + ] + ] + ], + [ + [ + [ + -128.66861, + 52.26639 + ], + [ + -128.615814, + 52.453608 + ], + [ + -128.747223, + 52.471659 + ], + [ + -128.66861, + 52.26639 + ] + ] + ], + [ + [ + [ + -129.086395, + 53.4461 + ], + [ + -129.085541, + 53.504999 + ], + [ + -128.818878, + 53.709162 + ], + [ + -129.153076, + 53.638605 + ], + [ + -129.086395, + 53.4461 + ] + ] + ], + [ + [ + [ + -128.942505, + 53.317499 + ], + [ + -128.901123, + 53.38666 + ], + [ + -128.99942, + 53.539438 + ], + [ + -129.143341, + 53.349718 + ], + [ + -128.942505, + 53.317499 + ] + ] + ], + [ + [ + [ + -128.974426, + 52.453325 + ], + [ + -128.92334, + 52.606661 + ], + [ + -129.277222, + 52.823053 + ], + [ + -128.974426, + 52.453325 + ] + ] + ], + [ + [ + [ + -129.153076, + 53.09833 + ], + [ + -129.16861, + 53.296106 + ], + [ + -129.268066, + 53.331942 + ], + [ + -129.332489, + 53.137499 + ], + [ + -129.153076, + 53.09833 + ] + ] + ], + [ + [ + [ + -129.432495, + 53.151384 + ], + [ + -129.547241, + 53.133051 + ], + [ + -129.289459, + 52.971933 + ], + [ + -129.432495, + 53.151384 + ] + ] + ], + [ + [ + [ + -129.358337, + 53.304163 + ], + [ + -129.303345, + 53.33111 + ], + [ + -129.39502, + 53.410822 + ], + [ + -129.358337, + 53.304163 + ] + ] + ], + [ + [ + [ + -129.826111, + 53.724161 + ], + [ + -130.286407, + 53.837496 + ], + [ + -129.928207, + 53.639605 + ], + [ + -130.056395, + 53.603884 + ], + [ + -129.883911, + 53.579721 + ], + [ + -129.80722, + 53.384165 + ], + [ + -129.506683, + 53.216661 + ], + [ + -129.826111, + 53.724161 + ] + ] + ], + [ + [ + [ + -129.531677, + 53.010553 + ], + [ + -129.562775, + 53.053049 + ], + [ + -129.640015, + 53.044161 + ], + [ + -129.531677, + 53.010553 + ] + ] + ], + [ + [ + [ + -129.610535, + 52.954996 + ], + [ + -129.557495, + 53.006662 + ], + [ + -129.650848, + 53.018885 + ], + [ + -129.610535, + 52.954996 + ] + ] + ], + [ + [ + [ + -129.602478, + 53.057215 + ], + [ + -129.654449, + 53.132769 + ], + [ + -129.738312, + 53.127214 + ], + [ + -129.602478, + 53.057215 + ] + ] + ], + [ + [ + [ + -129.879425, + 53.392771 + ], + [ + -130.520294, + 53.624712 + ], + [ + -129.762238, + 53.158884 + ], + [ + -129.879425, + 53.392771 + ] + ] + ], + [ + [ + [ + -129.934723, + 53.484163 + ], + [ + -129.886688, + 53.542223 + ], + [ + -129.941956, + 53.551104 + ], + [ + -130.021118, + 53.505274 + ], + [ + -129.934723, + 53.484163 + ] + ] + ], + [ + [ + [ + -130.091095, + 53.569445 + ], + [ + -130.261688, + 53.796389 + ], + [ + -130.403351, + 53.682497 + ], + [ + -130.091095, + 53.569445 + ] + ] + ], + [ + [ + [ + -130.14975, + 53.989161 + ], + [ + -130.132477, + 54.049997 + ], + [ + -130.193604, + 54.079721 + ], + [ + -130.14975, + 53.989161 + ] + ] + ], + [ + [ + [ + -130.195557, + 54.118052 + ], + [ + -130.151947, + 54.154436 + ], + [ + -130.252808, + 54.185549 + ], + [ + -130.195557, + 54.118052 + ] + ] + ], + [ + [ + [ + -130.385284, + 54.769991 + ], + [ + -130.168335, + 55.019716 + ], + [ + -130.459991, + 54.828333 + ], + [ + -130.385284, + 54.769991 + ] + ] + ], + [ + [ + [ + -130.268341, + 54.714998 + ], + [ + -130.209442, + 54.807772 + ], + [ + -130.378876, + 54.695269 + ], + [ + -130.268341, + 54.714998 + ] + ] + ], + [ + [ + [ + -130.259186, + 54.004717 + ], + [ + -130.411133, + 54.100832 + ], + [ + -130.712769, + 53.861109 + ], + [ + -130.259186, + 54.004717 + ] + ] + ], + [ + [ + [ + -130.266418, + 54.260553 + ], + [ + -130.272797, + 54.329721 + ], + [ + -130.350281, + 54.305552 + ], + [ + -130.266418, + 54.260553 + ] + ] + ], + [ + [ + [ + -130.35556, + 54.257776 + ], + [ + -130.417786, + 54.326387 + ], + [ + -130.467224, + 54.308603 + ], + [ + -130.35556, + 54.257776 + ] + ] + ], + [ + [ + [ + -130.518341, + 54.702494 + ], + [ + -130.469452, + 54.807772 + ], + [ + -130.611664, + 54.758051 + ], + [ + -130.518341, + 54.702494 + ] + ] + ], + [ + [ + [ + -130.648621, + 54.114443 + ], + [ + -130.781677, + 54.211664 + ], + [ + -130.785004, + 54.149996 + ], + [ + -130.648621, + 54.114443 + ] + ] + ], + [ + [ + [ + -130.704163, + 54.356661 + ], + [ + -130.699432, + 54.406656 + ], + [ + -130.767792, + 54.384996 + ], + [ + -130.704163, + 54.356661 + ] + ] + ], + [ + [ + [ + -130.95166, + 54.454714 + ], + [ + -130.747772, + 54.626101 + ], + [ + -130.925568, + 54.61944 + ], + [ + -130.95166, + 54.454714 + ] + ] + ], + [ + [ + [ + -131.01889, + 51.9461 + ], + [ + -131.00946, + 52.102777 + ], + [ + -131.11026, + 52.151102 + ], + [ + -131.01889, + 51.9461 + ] + ] + ], + [ + [ + [ + -131.762238, + 53.196657 + ], + [ + -131.811127, + 53.253611 + ], + [ + -132.070831, + 53.153879 + ], + [ + -132.413635, + 53.127489 + ], + [ + -132.549164, + 53.151102 + ], + [ + -132.563629, + 53.139162 + ], + [ + -131.030304, + 52.173883 + ], + [ + -131.982483, + 52.879717 + ], + [ + -131.61554, + 52.920275 + ], + [ + -131.964722, + 53.046389 + ], + [ + -131.594727, + 53.035273 + ], + [ + -131.762238, + 53.196657 + ] + ] + ], + [ + [ + [ + -131.464447, + 52.627489 + ], + [ + -131.475281, + 52.736658 + ], + [ + -131.709717, + 52.705271 + ], + [ + -131.464447, + 52.627489 + ] + ] + ], + [ + [ + [ + -131.63974, + 52.828051 + ], + [ + -131.83139, + 52.841936 + ], + [ + -131.733063, + 52.808603 + ], + [ + -131.63974, + 52.828051 + ] + ] + ], + [ + [ + [ + -132.808044, + 54.120272 + ], + [ + -133.071655, + 54.168886 + ], + [ + -132.972504, + 53.555826 + ], + [ + -132.406677, + 53.339716 + ], + [ + -132.733887, + 53.337214 + ], + [ + -132.543335, + 53.330553 + ], + [ + -132.683624, + 53.256662 + ], + [ + -132.596649, + 53.247492 + ], + [ + -132.536682, + 53.178881 + ], + [ + -132.457489, + 53.145273 + ], + [ + -132.186951, + 53.160547 + ], + [ + -132.121918, + 53.189432 + ], + [ + -132.272797, + 53.210276 + ], + [ + -131.982208, + 53.251665 + ], + [ + -131.663055, + 54.152216 + ], + [ + -132.41806, + 53.606104 + ], + [ + -132.66333, + 53.679438 + ], + [ + -132.150299, + 53.992769 + ], + [ + -132.808044, + 54.120272 + ] + ] + ], + [ + [ + [ + -133.93222, + 69.560259 + ], + [ + -133.844727, + 69.600817 + ], + [ + -133.933624, + 69.616091 + ], + [ + -134.016663, + 69.576097 + ], + [ + -133.93222, + 69.560259 + ] + ] + ], + [ + [ + [ + -135.28891, + 69.30942 + ], + [ + -135.337769, + 69.388597 + ], + [ + -135.565552, + 69.390551 + ], + [ + -135.28891, + 69.30942 + ] + ] + ], + [ + [ + [ + -135.517242, + 69.569155 + ], + [ + -135.397797, + 69.646944 + ], + [ + -135.589447, + 69.596102 + ], + [ + -135.517242, + 69.569155 + ] + ] + ], + [ + [ + [ + -135.592224, + 69.48221 + ], + [ + -135.815552, + 69.502489 + ], + [ + -135.574432, + 69.446642 + ], + [ + -135.592224, + 69.48221 + ] + ] + ], + [ + [ + [ + -138.867218, + 69.58832 + ], + [ + -139.12027, + 69.649996 + ], + [ + -139.332489, + 69.566088 + ], + [ + -138.867218, + 69.58832 + ] + ] + ] + ] + }, + "name" : "Canada", + "iso2" : "CA", + "iso3" : "CAN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "W71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 103.775255, + 10.442499 + ], + [ + 103.798861, + 10.500002 + ], + [ + 103.755816, + 10.511667 + ], + [ + 103.748583, + 10.476389 + ], + [ + 103.775255, + 10.442499 + ] + ] + ], + [ + [ + [ + 103.31415, + 10.723055 + ], + [ + 103.193316, + 10.756388 + ], + [ + 103.269709, + 10.669722 + ], + [ + 103.31415, + 10.723055 + ] + ] + ], + [ + [ + [ + 107.489153, + 14.44861 + ], + [ + 107.546602, + 14.70862 + ], + [ + 106.853594, + 14.303053 + ], + [ + 106.540743, + 14.598726 + ], + [ + 106.004709, + 14.373053 + ], + [ + 106.056643, + 13.929998 + ], + [ + 105.210604, + 14.349649 + ], + [ + 103.180544, + 14.329721 + ], + [ + 102.377199, + 13.573889 + ], + [ + 102.916094, + 11.635851 + ], + [ + 103.129702, + 10.883055 + ], + [ + 103.555239, + 11.156942 + ], + [ + 103.623308, + 10.495554 + ], + [ + 103.926912, + 10.590277 + ], + [ + 104.247744, + 10.567499 + ], + [ + 104.44533, + 10.422739 + ], + [ + 105.101915, + 10.955553 + ], + [ + 106.20331, + 10.770555 + ], + [ + 105.851068, + 11.659998 + ], + [ + 106.458216, + 11.665865 + ], + [ + 106.420244, + 11.973608 + ], + [ + 107.547495, + 12.353609 + ], + [ + 107.489153, + 14.44861 + ] + ], + [ + [ + 103.032755, + 11.431944 + ], + [ + 103.009409, + 11.525 + ], + [ + 103.045519, + 11.469721 + ], + [ + 103.032755, + 11.431944 + ] + ], + [ + [ + 103.028032, + 11.246386 + ], + [ + 102.986361, + 11.42222 + ], + [ + 103.041925, + 11.375555 + ], + [ + 103.028032, + 11.246386 + ] + ] + ] + ] + }, + "name" : "Cambodia", + "iso2" : "KH", + "iso3" : "KHM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "XL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 81.714996, + 7.681388 + ], + [ + 81.712769, + 7.704999 + ], + [ + 81.70166, + 7.68111 + ], + [ + 81.708328, + 7.674166 + ], + [ + 81.714996, + 7.681388 + ] + ] + ], + [ + [ + [ + 81.806931, + 7.477777 + ], + [ + 81.804153, + 7.600554 + ], + [ + 81.723312, + 7.73861 + ], + [ + 81.806931, + 7.477777 + ] + ] + ], + [ + [ + [ + 79.912491, + 9.018055 + ], + [ + 79.693039, + 9.092497 + ], + [ + 79.85054, + 9.00111 + ], + [ + 79.912491, + 9.018055 + ] + ] + ], + [ + [ + [ + 79.716385, + 9.477221 + ], + [ + 79.657486, + 9.555832 + ], + [ + 79.658035, + 9.499165 + ], + [ + 79.716385, + 9.477221 + ] + ] + ], + [ + [ + [ + 79.974426, + 9.615274 + ], + [ + 79.854706, + 9.750832 + ], + [ + 79.871918, + 9.634443 + ], + [ + 79.974426, + 9.615274 + ] + ] + ], + [ + [ + [ + 80.274704, + 9.775 + ], + [ + 80.444138, + 9.571665 + ], + [ + 79.925812, + 9.74472 + ], + [ + 80.612198, + 9.443054 + ], + [ + 80.051926, + 9.594442 + ], + [ + 79.702484, + 8.079443 + ], + [ + 80.046097, + 6.239721 + ], + [ + 80.587204, + 5.917777 + ], + [ + 81.661102, + 6.439999 + ], + [ + 81.881653, + 7.288054 + ], + [ + 81.391937, + 8.149443 + ], + [ + 81.361374, + 8.487219 + ], + [ + 81.130539, + 8.5 + ], + [ + 81.231094, + 8.65111 + ], + [ + 80.914703, + 8.943054 + ], + [ + 80.824432, + 9.261944 + ], + [ + 80.274704, + 9.775 + ] + ] + ] + ] + }, + "name" : "Sri Lanka", + "iso2" : "LK", + "iso3" : "LKA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Xb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 13.293888, + 2.163611 + ], + [ + 13.186785, + 1.222476 + ], + [ + 14.188889, + 1.391389 + ], + [ + 14.487221, + 0.913611 + ], + [ + 13.848331, + -0.198611 + ], + [ + 14.51861, + -0.609167 + ], + [ + 14.429722, + -1.891667 + ], + [ + 14.110832, + -2.493056 + ], + [ + 13.76222, + -2.088889 + ], + [ + 13.482777, + -2.4375 + ], + [ + 13.001507, + -2.367672 + ], + [ + 12.65, + -1.8225 + ], + [ + 12.478054, + -2.327222 + ], + [ + 11.574165, + -2.333333 + ], + [ + 11.925833, + -3.636945 + ], + [ + 11.496944, + -3.506945 + ], + [ + 11.140661, + -3.925277 + ], + [ + 12.026131, + -5.014997 + ], + [ + 12.779047, + -4.388991 + ], + [ + 13.091389, + -4.633056 + ], + [ + 13.413887, + -4.882501 + ], + [ + 13.729443, + -4.445834 + ], + [ + 14.400833, + -4.2775 + ], + [ + 14.418888, + -4.887222 + ], + [ + 14.661388, + -4.909445 + ], + [ + 15.890505, + -3.943009 + ], + [ + 16.226944, + -3.328333 + ], + [ + 16.195831, + -2.175834 + ], + [ + 17.714996, + -0.537222 + ], + [ + 18.091942, + 2.224166 + ], + [ + 18.624958, + 3.479444 + ], + [ + 17.475277, + 3.713055 + ], + [ + 16.659721, + 3.533333 + ], + [ + 16.207222, + 2.220833 + ], + [ + 16.07222, + 1.654166 + ], + [ + 14.564999, + 2.169444 + ], + [ + 13.293888, + 2.163611 + ] + ] + ] + }, + "name" : "Congo", + "iso2" : "CG", + "iso3" : "COG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Xr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 23.986208, + -10.870461 + ], + [ + 24.448332, + -11.463612 + ], + [ + 25.332224, + -11.193335 + ], + [ + 25.359724, + -11.641668 + ], + [ + 26.004721, + -11.9025 + ], + [ + 26.868612, + -11.973612 + ], + [ + 27.199251, + -11.567905 + ], + [ + 27.660002, + -12.296667 + ], + [ + 28.441946, + -12.519724 + ], + [ + 29.015833, + -13.397779 + ], + [ + 29.589445, + -13.221945 + ], + [ + 29.80139, + -13.454168 + ], + [ + 29.805052, + -12.155247 + ], + [ + 29.493612, + -12.458057 + ], + [ + 29.031389, + -12.383057 + ], + [ + 28.363333, + -11.550835 + ], + [ + 28.69972, + -10.653334 + ], + [ + 28.372221, + -9.260834 + ], + [ + 28.901667, + -8.478613 + ], + [ + 30.771242, + -8.192247 + ], + [ + 29.55028, + -6.295279 + ], + [ + 29.423887, + -4.448055 + ], + [ + 29.229898, + -3.750963 + ], + [ + 29.024443, + -2.744722 + ], + [ + 28.868334, + -2.394444 + ], + [ + 29.596945, + -1.385834 + ], + [ + 29.960554, + 0.825556 + ], + [ + 31.302778, + 2.121389 + ], + [ + 30.729723, + 2.448057 + ], + [ + 30.85882, + 3.493395 + ], + [ + 29.643332, + 4.643614 + ], + [ + 28.363054, + 4.290003 + ], + [ + 27.455278, + 5.01639 + ], + [ + 25.891668, + 5.192499 + ], + [ + 25.542223, + 5.381392 + ], + [ + 24.734446, + 4.910833 + ], + [ + 24.394167, + 5.115557 + ], + [ + 23.420279, + 4.591112 + ], + [ + 22.895834, + 4.821112 + ], + [ + 22.379168, + 4.127501 + ], + [ + 20.585554, + 4.410002 + ], + [ + 19.421389, + 5.134169 + ], + [ + 18.541945, + 4.335554 + ], + [ + 18.62496, + 3.479445 + ], + [ + 18.091944, + 2.224169 + ], + [ + 17.714998, + -0.537222 + ], + [ + 16.195833, + -2.175833 + ], + [ + 16.226946, + -3.328333 + ], + [ + 15.890505, + -3.943008 + ], + [ + 14.66139, + -4.909445 + ], + [ + 14.41889, + -4.887222 + ], + [ + 14.400835, + -4.2775 + ], + [ + 13.729445, + -4.445833 + ], + [ + 13.413889, + -4.8825 + ], + [ + 13.091391, + -4.633055 + ], + [ + 13.088888, + -4.6625 + ], + [ + 12.565554, + -5.025555 + ], + [ + 12.526667, + -5.724167 + ], + [ + 12.214552, + -5.768555 + ], + [ + 12.435835, + -6.016666 + ], + [ + 13.178881, + -5.856329 + ], + [ + 13.997499, + -5.848612 + ], + [ + 16.579721, + -5.900833 + ], + [ + 16.941668, + -7.19861 + ], + [ + 17.624166, + -8.098057 + ], + [ + 19.373056, + -7.996111 + ], + [ + 19.53895, + -6.996614 + ], + [ + 20.629747, + -6.913881 + ], + [ + 20.548716, + -7.283615 + ], + [ + 21.782961, + -7.280842 + ], + [ + 21.790556, + -9.405556 + ], + [ + 22.312223, + -10.364445 + ], + [ + 22.253889, + -11.209723 + ], + [ + 23.986208, + -10.870461 + ] + ], + [ + [ + 12.953054, + -5.876112 + ], + [ + 12.737223, + -5.943611 + ], + [ + 12.844168, + -5.850555 + ], + [ + 12.953054, + -5.876112 + ] + ] + ] + }, + "name" : "Democratic Republic of the Congo", + "iso2" : "CD", + "iso3" : "COD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "X71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 29.024441, + -2.744722 + ], + [ + 29.229897, + -3.750964 + ], + [ + 29.423885, + -4.448056 + ], + [ + 30.026108, + -4.269444 + ], + [ + 30.834999, + -3.256945 + ], + [ + 30.843662, + -2.978794 + ], + [ + 30.4175, + -2.861945 + ], + [ + 30.57333, + -2.399167 + ], + [ + 29.952221, + -2.309445 + ], + [ + 29.85083, + -2.759722 + ], + [ + 29.024441, + -2.744722 + ] + ] + ] + }, + "name" : "Burundi", + "iso2" : "BI", + "iso3" : "BDI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "YL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 110.720545, + 20.063334 + ], + [ + 109.259432, + 19.901663 + ], + [ + 108.628313, + 19.280279 + ], + [ + 108.685534, + 18.505278 + ], + [ + 109.566675, + 18.168886 + ], + [ + 110.047762, + 18.380552 + ], + [ + 111.031099, + 19.639997 + ], + [ + 110.720545, + 20.063334 + ] + ], + [ + [ + 110.524149, + 19.134443 + ], + [ + 110.515001, + 19.132776 + ], + [ + 110.510271, + 19.139166 + ], + [ + 110.524149, + 19.134443 + ] + ] + ], + [ + [ + [ + 116.718874, + 20.70944 + ], + [ + 116.701929, + 20.719995 + ], + [ + 116.705263, + 20.711386 + ], + [ + 116.718874, + 20.70944 + ] + ] + ], + [ + [ + [ + 110.597216, + 20.879442 + ], + [ + 110.596651, + 20.95833 + ], + [ + 110.548029, + 20.913885 + ], + [ + 110.597216, + 20.879442 + ] + ] + ], + [ + [ + [ + 109.12192, + 21.055277 + ], + [ + 109.071932, + 21.050276 + ], + [ + 109.072771, + 21.010279 + ], + [ + 109.12192, + 21.055277 + ] + ] + ], + [ + [ + [ + 110.548868, + 21.059164 + ], + [ + 110.248873, + 20.977221 + ], + [ + 110.498034, + 20.955832 + ], + [ + 110.548868, + 21.059164 + ] + ] + ], + [ + [ + [ + 110.499422, + 21.193331 + ], + [ + 110.536654, + 21.096945 + ], + [ + 110.614153, + 21.193331 + ], + [ + 110.499422, + 21.193331 + ] + ] + ], + [ + [ + [ + 111.836115, + 21.565275 + ], + [ + 112.002489, + 21.651941 + ], + [ + 111.840555, + 21.643053 + ], + [ + 111.836115, + 21.565275 + ] + ] + ], + [ + [ + [ + 112.533869, + 21.590834 + ], + [ + 112.646944, + 21.638609 + ], + [ + 112.648043, + 21.702776 + ], + [ + 112.533869, + 21.590834 + ] + ] + ], + [ + [ + [ + 112.805819, + 21.65333 + ], + [ + 112.868876, + 21.76639 + ], + [ + 112.703325, + 21.687777 + ], + [ + 112.805819, + 21.65333 + ] + ] + ], + [ + [ + [ + 113.383333, + 22.00889 + ], + [ + 113.378038, + 22.084723 + ], + [ + 113.307482, + 22.01972 + ], + [ + 113.383333, + 22.00889 + ] + ] + ], + [ + [ + [ + 113.296656, + 22.063887 + ], + [ + 113.360262, + 22.153608 + ], + [ + 113.267763, + 22.113611 + ], + [ + 113.296656, + 22.063887 + ] + ] + ], + [ + [ + [ + 113.594995, + 22.65222 + ], + [ + 113.543589, + 22.736383 + ], + [ + 113.486101, + 22.720274 + ], + [ + 113.594995, + 22.65222 + ] + ] + ], + [ + [ + [ + 113.588045, + 22.750555 + ], + [ + 113.483873, + 22.900831 + ], + [ + 113.387209, + 22.897497 + ], + [ + 113.588045, + 22.750555 + ] + ] + ], + [ + [ + [ + 117.118044, + 23.399164 + ], + [ + 117.09804, + 23.490553 + ], + [ + 116.944704, + 23.438887 + ], + [ + 117.118044, + 23.399164 + ] + ] + ], + [ + [ + [ + 117.404711, + 23.771112 + ], + [ + 117.311655, + 23.579721 + ], + [ + 117.507494, + 23.726385 + ], + [ + 117.404711, + 23.771112 + ] + ] + ], + [ + [ + [ + 118.126925, + 24.425829 + ], + [ + 118.188875, + 24.493887 + ], + [ + 118.091089, + 24.549723 + ], + [ + 118.062189, + 24.45722 + ], + [ + 118.126925, + 24.425829 + ] + ] + ], + [ + [ + [ + 119.301653, + 25.419443 + ], + [ + 119.333879, + 25.570276 + ], + [ + 119.277483, + 25.503054 + ], + [ + 119.301653, + 25.419443 + ] + ] + ], + [ + [ + [ + 119.826662, + 25.582777 + ], + [ + 119.72304, + 25.638887 + ], + [ + 119.696375, + 25.428053 + ], + [ + 119.826662, + 25.582777 + ] + ] + ], + [ + [ + [ + 119.277773, + 26.035276 + ], + [ + 119.408335, + 25.983606 + ], + [ + 119.211329, + 26.071932 + ], + [ + 119.277773, + 26.035276 + ] + ] + ], + [ + [ + [ + 121.170824, + 28.046946 + ], + [ + 121.24193, + 28.200552 + ], + [ + 121.119143, + 28.133886 + ], + [ + 121.170824, + 28.046946 + ] + ] + ], + [ + [ + [ + 121.941095, + 29.052778 + ], + [ + 121.941362, + 29.164999 + ], + [ + 121.873598, + 29.149164 + ], + [ + 121.941095, + 29.052778 + ] + ] + ], + [ + [ + [ + 122.111925, + 29.787779 + ], + [ + 122.030825, + 29.716108 + ], + [ + 122.166094, + 29.652498 + ], + [ + 122.111925, + 29.787779 + ] + ] + ], + [ + [ + [ + 122.411379, + 29.933054 + ], + [ + 122.318605, + 29.941664 + ], + [ + 122.390825, + 29.829443 + ], + [ + 122.411379, + 29.933054 + ] + ] + ], + [ + [ + [ + 121.865808, + 29.969995 + ], + [ + 121.906649, + 30.032221 + ], + [ + 121.861101, + 30.081667 + ], + [ + 121.865808, + 29.969995 + ] + ] + ], + [ + [ + [ + 122.325274, + 30.01861 + ], + [ + 121.961649, + 30.139166 + ], + [ + 122.008043, + 30.004446 + ], + [ + 122.325274, + 30.01861 + ] + ] + ], + [ + [ + [ + 122.211115, + 30.241106 + ], + [ + 122.212198, + 30.339167 + ], + [ + 122.074709, + 30.287222 + ], + [ + 122.211115, + 30.241106 + ] + ] + ], + [ + [ + [ + 122.420259, + 30.41361 + ], + [ + 122.272776, + 30.474997 + ], + [ + 122.275545, + 30.432219 + ], + [ + 122.420259, + 30.41361 + ] + ] + ], + [ + [ + [ + 121.844995, + 31.288054 + ], + [ + 121.878862, + 31.356665 + ], + [ + 121.791933, + 31.369997 + ], + [ + 121.844995, + 31.288054 + ] + ] + ], + [ + [ + [ + 121.487764, + 31.717775 + ], + [ + 121.203859, + 31.800539 + ], + [ + 121.868319, + 31.489164 + ], + [ + 121.487764, + 31.717775 + ] + ] + ], + [ + [ + [ + 119.899431, + 32.071108 + ], + [ + 119.823885, + 32.268053 + ], + [ + 119.716089, + 32.271936 + ], + [ + 119.899431, + 32.071108 + ] + ] + ], + [ + [ + [ + 121.436098, + 39.391665 + ], + [ + 121.393053, + 39.479158 + ], + [ + 121.255831, + 39.409433 + ], + [ + 121.436098, + 39.391665 + ] + ] + ], + [ + [ + [ + 130.604372, + 42.421862 + ], + [ + 130.405245, + 42.71805 + ], + [ + 131.123293, + 42.910822 + ], + [ + 131.311373, + 43.392221 + ], + [ + 130.949984, + 44.841105 + ], + [ + 131.864687, + 45.345545 + ], + [ + 133.122194, + 45.128603 + ], + [ + 133.900179, + 46.250315 + ], + [ + 134.182467, + 47.323328 + ], + [ + 134.767214, + 47.707499 + ], + [ + 134.740755, + 48.26713 + ], + [ + 133.088564, + 48.101664 + ], + [ + 132.52109, + 47.710276 + ], + [ + 130.988558, + 47.688601 + ], + [ + 130.521639, + 48.607775 + ], + [ + 130.671633, + 48.865 + ], + [ + 127.529428, + 49.789164 + ], + [ + 127.586069, + 50.208567 + ], + [ + 126.095545, + 52.764444 + ], + [ + 123.382204, + 53.526659 + ], + [ + 120.863878, + 53.279718 + ], + [ + 120.029161, + 52.768053 + ], + [ + 120.71361, + 52.544718 + ], + [ + 120.776659, + 52.115 + ], + [ + 119.138605, + 50.394716 + ], + [ + 119.361368, + 50.336939 + ], + [ + 119.214159, + 50.015276 + ], + [ + 117.874712, + 49.520578 + ], + [ + 116.711382, + 49.830469 + ], + [ + 115.592196, + 47.919443 + ], + [ + 117.372194, + 47.653597 + ], + [ + 117.801088, + 48.010553 + ], + [ + 118.539339, + 47.994753 + ], + [ + 119.729982, + 47.164156 + ], + [ + 119.897493, + 46.675554 + ], + [ + 117.421099, + 46.578333 + ], + [ + 116.585543, + 46.295832 + ], + [ + 115.701929, + 45.458605 + ], + [ + 114.545259, + 45.389437 + ], + [ + 113.638048, + 44.745272 + ], + [ + 111.980822, + 45.091661 + ], + [ + 111.421373, + 44.382494 + ], + [ + 111.95833, + 43.692217 + ], + [ + 110.440538, + 42.777773 + ], + [ + 109.313601, + 42.429995 + ], + [ + 107.471918, + 42.466105 + ], + [ + 105.012209, + 41.581385 + ], + [ + 100.835543, + 42.678049 + ], + [ + 96.383043, + 42.731104 + ], + [ + 95.336107, + 44.02083 + ], + [ + 95.416658, + 44.293886 + ], + [ + 93.554705, + 44.957216 + ], + [ + 90.896944, + 45.253054 + ], + [ + 90.681932, + 45.579721 + ], + [ + 91.02025, + 46.600111 + ], + [ + 90.074434, + 47.886385 + ], + [ + 88.653322, + 48.182772 + ], + [ + 87.973314, + 48.576944 + ], + [ + 87.8407, + 49.172953 + ], + [ + 87.348207, + 49.092623 + ], + [ + 86.874697, + 49.110826 + ], + [ + 86.596102, + 48.536112 + ], + [ + 85.759157, + 48.387774 + ], + [ + 85.529314, + 47.060167 + ], + [ + 84.759432, + 46.826387 + ], + [ + 83.040545, + 47.212214 + ], + [ + 82.317766, + 45.570536 + ], + [ + 82.649431, + 45.430262 + ], + [ + 82.561647, + 45.129419 + ], + [ + 81.688311, + 45.350817 + ], + [ + 79.871096, + 44.904978 + ], + [ + 80.52083, + 44.732477 + ], + [ + 80.362764, + 44.125246 + ], + [ + 80.817217, + 43.156069 + ], + [ + 80.37665, + 43.02524 + ], + [ + 80.5786, + 42.891077 + ], + [ + 80.171923, + 42.660509 + ], + [ + 80.234026, + 42.196222 + ], + [ + 78.080828, + 41.040789 + ], + [ + 76.873873, + 41.014109 + ], + [ + 76.345827, + 40.350222 + ], + [ + 75.697206, + 40.299112 + ], + [ + 75.578051, + 40.647997 + ], + [ + 74.860262, + 40.519388 + ], + [ + 73.994432, + 40.046045 + ], + [ + 73.655687, + 39.454828 + ], + [ + 73.817766, + 38.607714 + ], + [ + 74.856646, + 38.470484 + ], + [ + 74.902773, + 37.647158 + ], + [ + 75.187487, + 37.406588 + ], + [ + 74.915743, + 37.237329 + ], + [ + 74.392214, + 37.175074 + ], + [ + 74.565432, + 37.027819 + ], + [ + 74.817492, + 37.021769 + ], + [ + 75.864428, + 36.659678 + ], + [ + 76.166384, + 35.819719 + ], + [ + 77.823931, + 35.501329 + ], + [ + 78.075548, + 35.445826 + ], + [ + 78.309145, + 34.642496 + ], + [ + 78.985353, + 34.350016 + ], + [ + 78.811647, + 33.525827 + ], + [ + 79.530275, + 32.754168 + ], + [ + 78.971102, + 32.350832 + ], + [ + 78.760546, + 32.635553 + ], + [ + 78.397768, + 32.548609 + ], + [ + 78.767214, + 31.309999 + ], + [ + 79.092485, + 31.437498 + ], + [ + 81.025362, + 30.204355 + ], + [ + 81.223604, + 30.010279 + ], + [ + 81.421099, + 30.385275 + ], + [ + 82.100542, + 30.342222 + ], + [ + 83.552767, + 29.185831 + ], + [ + 84.119143, + 29.26 + ], + [ + 84.481096, + 28.736662 + ], + [ + 85.189974, + 28.603331 + ], + [ + 85.106646, + 28.309443 + ], + [ + 85.721376, + 28.279165 + ], + [ + 86.014437, + 27.882776 + ], + [ + 86.183596, + 28.163885 + ], + [ + 86.444979, + 27.908052 + ], + [ + 86.686373, + 28.112219 + ], + [ + 87.192751, + 27.823053 + ], + [ + 88.142794, + 27.866056 + ], + [ + 88.831667, + 28.013334 + ], + [ + 88.917727, + 27.320326 + ], + [ + 89.590273, + 28.143332 + ], + [ + 90.017488, + 28.325277 + ], + [ + 90.466387, + 28.071665 + ], + [ + 91.301378, + 28.08111 + ], + [ + 91.657763, + 27.764723 + ], + [ + 92.544985, + 27.86194 + ], + [ + 94.647509, + 29.33346 + ], + [ + 95.387774, + 29.035276 + ], + [ + 96.077486, + 29.468607 + ], + [ + 96.395266, + 29.255278 + ], + [ + 96.169146, + 28.903608 + ], + [ + 96.470827, + 29.056665 + ], + [ + 96.615816, + 28.790277 + ], + [ + 96.401934, + 28.35111 + ], + [ + 97.348879, + 28.222773 + ], + [ + 97.555254, + 28.548056 + ], + [ + 97.806643, + 28.344164 + ], + [ + 98.316378, + 27.541945 + ], + [ + 98.699709, + 27.539167 + ], + [ + 98.778322, + 26.636385 + ], + [ + 98.710817, + 25.855555 + ], + [ + 97.552477, + 24.743052 + ], + [ + 97.759996, + 24.257498 + ], + [ + 97.53554, + 23.939718 + ], + [ + 98.890734, + 24.16007 + ], + [ + 98.677202, + 23.968054 + ], + [ + 98.927477, + 23.189165 + ], + [ + 99.566378, + 22.938051 + ], + [ + 99.162767, + 22.159163 + ], + [ + 99.964434, + 22.048887 + ], + [ + 100.212755, + 21.432554 + ], + [ + 101.105265, + 21.771387 + ], + [ + 101.148241, + 21.572638 + ], + [ + 101.281939, + 21.180277 + ], + [ + 101.787203, + 21.144163 + ], + [ + 101.574434, + 22.209162 + ], + [ + 101.738039, + 22.496943 + ], + [ + 102.140749, + 22.396288 + ], + [ + 102.479715, + 22.77389 + ], + [ + 103.03055, + 22.435553 + ], + [ + 103.336382, + 22.796389 + ], + [ + 103.964434, + 22.499113 + ], + [ + 105.353868, + 23.334723 + ], + [ + 105.577478, + 23.059164 + ], + [ + 106.707209, + 22.865 + ], + [ + 106.693316, + 22.030832 + ], + [ + 107.990023, + 21.542414 + ], + [ + 108.511385, + 21.589167 + ], + [ + 108.475809, + 21.940275 + ], + [ + 109.142763, + 21.396666 + ], + [ + 109.57332, + 21.72333 + ], + [ + 109.941095, + 21.446943 + ], + [ + 109.661928, + 20.918886 + ], + [ + 109.924425, + 20.233606 + ], + [ + 110.278872, + 20.246107 + ], + [ + 110.529161, + 20.47333 + ], + [ + 110.158045, + 20.845552 + ], + [ + 110.398249, + 21.380671 + ], + [ + 111.637209, + 21.521112 + ], + [ + 111.892488, + 21.920275 + ], + [ + 112.93915, + 21.868608 + ], + [ + 113.086382, + 22.206942 + ], + [ + 113.224154, + 22.0375 + ], + [ + 113.29915, + 22.175554 + ], + [ + 113.388048, + 22.176664 + ], + [ + 113.16527, + 22.571386 + ], + [ + 113.531664, + 22.194738 + ], + [ + 113.55443, + 22.212732 + ], + [ + 113.565813, + 22.550276 + ], + [ + 113.359156, + 22.883333 + ], + [ + 113.47748, + 23.052778 + ], + [ + 113.829714, + 23.11722 + ], + [ + 113.524431, + 23.01111 + ], + [ + 114.033331, + 22.509138 + ], + [ + 114.222597, + 22.55055 + ], + [ + 116.480822, + 22.938051 + ], + [ + 116.787493, + 23.233885 + ], + [ + 116.521379, + 23.420832 + ], + [ + 118.123308, + 24.256109 + ], + [ + 117.792025, + 24.461321 + ], + [ + 118.018053, + 24.436384 + ], + [ + 118.16054, + 24.688608 + ], + [ + 118.239702, + 24.536386 + ], + [ + 118.622759, + 24.54389 + ], + [ + 118.573885, + 24.884165 + ], + [ + 119.0161, + 24.954165 + ], + [ + 118.87192, + 25.243887 + ], + [ + 119.353045, + 25.250277 + ], + [ + 119.102205, + 25.408052 + ], + [ + 119.30887, + 25.606943 + ], + [ + 119.652208, + 25.357222 + ], + [ + 119.451105, + 25.680277 + ], + [ + 119.705553, + 25.993608 + ], + [ + 119.344995, + 25.93833 + ], + [ + 119.09276, + 26.142496 + ], + [ + 119.425264, + 25.996943 + ], + [ + 119.939425, + 26.354166 + ], + [ + 119.658045, + 26.33861 + ], + [ + 119.54915, + 26.753611 + ], + [ + 120.127199, + 26.641665 + ], + [ + 120.033869, + 26.899721 + ], + [ + 120.422213, + 27.145277 + ], + [ + 120.19359, + 27.290277 + ], + [ + 120.47748, + 27.177496 + ], + [ + 120.84305, + 27.876944 + ], + [ + 120.590822, + 28.079443 + ], + [ + 121.5786, + 28.269167 + ], + [ + 121.138605, + 28.840555 + ], + [ + 121.610262, + 28.724997 + ], + [ + 121.411928, + 29.163332 + ], + [ + 121.933596, + 29.195276 + ], + [ + 121.979715, + 29.585276 + ], + [ + 121.44832, + 29.511667 + ], + [ + 122.12665, + 29.888887 + ], + [ + 121.677759, + 29.963053 + ], + [ + 121.284418, + 30.304445 + ], + [ + 120.146105, + 30.194719 + ], + [ + 121.884722, + 30.974997 + ], + [ + 120.714434, + 31.983606 + ], + [ + 120.129152, + 31.905554 + ], + [ + 119.629702, + 32.260828 + ], + [ + 119.826662, + 32.306383 + ], + [ + 120.106089, + 31.943888 + ], + [ + 120.601931, + 32.093607 + ], + [ + 121.89554, + 31.746943 + ], + [ + 120.835825, + 32.640833 + ], + [ + 120.253885, + 34.309992 + ], + [ + 119.176088, + 34.884996 + ], + [ + 120.237764, + 35.959436 + ], + [ + 120.088854, + 36.199984 + ], + [ + 120.680819, + 36.127481 + ], + [ + 120.783335, + 36.621935 + ], + [ + 121.949144, + 37.000002 + ], + [ + 122.504709, + 36.89361 + ], + [ + 122.562189, + 37.396387 + ], + [ + 121.570543, + 37.424715 + ], + [ + 120.740541, + 37.835268 + ], + [ + 119.767214, + 37.151384 + ], + [ + 119.232759, + 37.14361 + ], + [ + 118.956652, + 37.300547 + ], + [ + 118.841928, + 38.150545 + ], + [ + 117.672213, + 38.38666 + ], + [ + 117.743876, + 39.104998 + ], + [ + 118.924425, + 39.128046 + ], + [ + 119.519709, + 39.868052 + ], + [ + 120.455263, + 40.200548 + ], + [ + 121.177469, + 40.921938 + ], + [ + 122.299715, + 40.511667 + ], + [ + 121.228868, + 39.538332 + ], + [ + 121.751101, + 39.351664 + ], + [ + 121.146944, + 38.722765 + ], + [ + 124.373598, + 40.093622 + ], + [ + 126.016939, + 40.899996 + ], + [ + 126.913042, + 41.796106 + ], + [ + 128.155825, + 41.382494 + ], + [ + 128.05887, + 42.003328 + ], + [ + 128.925814, + 42.024439 + ], + [ + 129.711916, + 42.444155 + ], + [ + 129.907534, + 43.005823 + ], + [ + 130.604372, + 42.421862 + ] + ], + [ + [ + 108.329714, + 21.654165 + ], + [ + 108.320833, + 21.665831 + ], + [ + 108.328875, + 21.67861 + ], + [ + 108.329714, + 21.654165 + ] + ] + ] + ] + }, + "name" : "China", + "iso2" : "CN", + "iso3" : "CHN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Yb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 74.915741, + 37.237328 + ], + [ + 73.307205, + 37.462753 + ], + [ + 71.6772, + 36.67601 + ], + [ + 71.429428, + 37.075829 + ], + [ + 71.591934, + 37.902618 + ], + [ + 71.252777, + 37.922035 + ], + [ + 71.363037, + 38.248497 + ], + [ + 70.967209, + 38.472115 + ], + [ + 70.161377, + 37.933372 + ], + [ + 70.155823, + 37.536232 + ], + [ + 69.515823, + 37.580826 + ], + [ + 69.315262, + 37.115273 + ], + [ + 68.887772, + 37.3386 + ], + [ + 68.058014, + 36.932526 + ], + [ + 67.779877, + 37.185822 + ], + [ + 66.537735, + 37.366379 + ], + [ + 65.708878, + 37.538605 + ], + [ + 64.798035, + 37.124992 + ], + [ + 64.503601, + 36.280548 + ], + [ + 63.119438, + 35.861938 + ], + [ + 63.10527, + 35.450829 + ], + [ + 62.722214, + 35.254715 + ], + [ + 62.309158, + 35.141663 + ], + [ + 61.276558, + 35.607246 + ], + [ + 60.721657, + 34.522217 + ], + [ + 60.878876, + 34.319717 + ], + [ + 60.508331, + 34.140274 + ], + [ + 60.527771, + 33.644157 + ], + [ + 60.943047, + 33.51944 + ], + [ + 60.582497, + 33.066101 + ], + [ + 60.84388, + 31.498329 + ], + [ + 61.713608, + 31.383331 + ], + [ + 61.851105, + 31.021111 + ], + [ + 60.868599, + 29.863884 + ], + [ + 62.484436, + 29.406105 + ], + [ + 66.256653, + 29.85194 + ], + [ + 66.395538, + 30.94083 + ], + [ + 66.723038, + 31.212215 + ], + [ + 67.778046, + 31.332218 + ], + [ + 67.575546, + 31.53194 + ], + [ + 68.166092, + 31.833054 + ], + [ + 68.833054, + 31.603886 + ], + [ + 69.328247, + 31.940365 + ], + [ + 69.505264, + 33.034164 + ], + [ + 70.326935, + 33.33194 + ], + [ + 69.906372, + 34.035271 + ], + [ + 71.08194, + 34.055824 + ], + [ + 70.987488, + 34.551102 + ], + [ + 71.649429, + 35.424995 + ], + [ + 71.243576, + 36.129715 + ], + [ + 72.556641, + 36.821266 + ], + [ + 74.56543, + 37.027817 + ], + [ + 74.392212, + 37.175072 + ], + [ + 74.915741, + 37.237328 + ] + ] + ] + }, + "name" : "Afghanistan", + "iso2" : "AF", + "iso3" : "AFG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Yr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 90.466385, + 28.071663 + ], + [ + 90.017487, + 28.325275 + ], + [ + 89.590271, + 28.14333 + ], + [ + 88.917725, + 27.320324 + ], + [ + 88.893875, + 26.975552 + ], + [ + 89.643051, + 26.715271 + ], + [ + 92.069992, + 26.861942 + ], + [ + 92.113602, + 27.297497 + ], + [ + 91.657761, + 27.764721 + ], + [ + 91.301376, + 28.081108 + ], + [ + 90.466385, + 28.071663 + ] + ] + ] + }, + "name" : "Bhutan", + "iso2" : "BT", + "iso3" : "BTN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Y71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -66.571396, + -55.284729 + ], + [ + -66.420563, + -55.194725 + ], + [ + -66.626114, + -55.199722 + ], + [ + -66.571396, + -55.284729 + ] + ] + ], + [ + [ + [ + -66.816681, + -55.118614 + ], + [ + -66.862228, + -55.02639 + ], + [ + -67.072235, + -55.002785 + ], + [ + -66.816681, + -55.118614 + ] + ] + ], + [ + [ + [ + -66.874725, + -55.33223 + ], + [ + -66.878616, + -55.228889 + ], + [ + -67.073624, + -55.276115 + ], + [ + -66.874725, + -55.33223 + ] + ] + ], + [ + [ + [ + -69.483612, + -17.635559 + ], + [ + -69.499725, + -17.50528 + ], + [ + -69.951126, + -18.242779 + ], + [ + -70.405487, + -18.348545 + ], + [ + -70.053345, + -21.425652 + ], + [ + -70.622513, + -23.492779 + ], + [ + -70.391113, + -23.561947 + ], + [ + -70.449173, + -25.364723 + ], + [ + -70.910843, + -27.621948 + ], + [ + -71.521666, + -28.970001 + ], + [ + -71.287796, + -29.896946 + ], + [ + -71.703339, + -30.761669 + ], + [ + -71.442505, + -32.640007 + ], + [ + -73.190002, + -37.138062 + ], + [ + -73.643341, + -37.208618 + ], + [ + -73.222504, + -39.414726 + ], + [ + -73.99501, + -40.970001 + ], + [ + -73.868895, + -41.482506 + ], + [ + -73.491959, + -41.520836 + ], + [ + -73.75029, + -41.754723 + ], + [ + -73.203613, + -41.792503 + ], + [ + -72.946671, + -41.483337 + ], + [ + -72.571396, + -41.707779 + ], + [ + -72.310013, + -41.435837 + ], + [ + -72.350571, + -41.652504 + ], + [ + -72.859451, + -41.906952 + ], + [ + -72.462784, + -41.971115 + ], + [ + -72.421402, + -42.453056 + ], + [ + -72.847504, + -42.280006 + ], + [ + -72.535004, + -42.559174 + ], + [ + -72.86084, + -42.574448 + ], + [ + -72.745285, + -43.04834 + ], + [ + -73.116394, + -43.439728 + ], + [ + -72.84584, + -43.776672 + ], + [ + -73.289459, + -44.143616 + ], + [ + -72.613892, + -44.472778 + ], + [ + -72.766113, + -44.753334 + ], + [ + -73.142502, + -44.94445 + ], + [ + -73.391678, + -44.98056 + ], + [ + -73.446945, + -45.285278 + ], + [ + -72.827225, + -45.422501 + ], + [ + -73.515564, + -45.455002 + ], + [ + -73.587233, + -45.779724 + ], + [ + -73.182236, + -45.667503 + ], + [ + -73.663345, + -45.973335 + ], + [ + -73.690842, + -46.319168 + ], + [ + -73.425568, + -46.074448 + ], + [ + -73.841124, + -46.58889 + ], + [ + -73.99501, + -46.561394 + ], + [ + -73.768066, + -46.30278 + ], + [ + -73.882782, + -46.141113 + ], + [ + -73.853897, + -46.347229 + ], + [ + -74.049728, + -46.195557 + ], + [ + -74.340836, + -46.266396 + ], + [ + -74.494446, + -46.190285 + ], + [ + -74.311676, + -46.249168 + ], + [ + -74.083618, + -46.186111 + ], + [ + -73.974457, + -46.094727 + ], + [ + -74.140839, + -45.80584 + ], + [ + -74.361115, + -45.791115 + ], + [ + -75.717514, + -46.725281 + ], + [ + -75.413071, + -46.933891 + ], + [ + -75.654724, + -46.765007 + ], + [ + -74.94223, + -46.440002 + ], + [ + -75.013901, + -46.750282 + ], + [ + -74.265015, + -46.785561 + ], + [ + -73.934448, + -47.036118 + ], + [ + -74.529175, + -47.437782 + ], + [ + -74.041122, + -47.618057 + ], + [ + -74.741669, + -47.715836 + ], + [ + -73.934448, + -47.846947 + ], + [ + -73.719177, + -47.528336 + ], + [ + -73.22084, + -48.001114 + ], + [ + -73.654175, + -47.903618 + ], + [ + -73.27417, + -48.087227 + ], + [ + -73.553345, + -48.245834 + ], + [ + -74.654449, + -48.023895 + ], + [ + -74.021118, + -48.413612 + ], + [ + -74.046677, + -48.547783 + ], + [ + -74.400284, + -48.614449 + ], + [ + -74.060837, + -48.741394 + ], + [ + -74.449722, + -48.812225 + ], + [ + -74.373901, + -49.427504 + ], + [ + -73.834166, + -49.029167 + ], + [ + -74.111679, + -49.480278 + ], + [ + -73.712509, + -49.757225 + ], + [ + -74.325287, + -49.627228 + ], + [ + -73.88501, + -50.06945 + ], + [ + -74.372513, + -49.991394 + ], + [ + -73.865845, + -50.293892 + ], + [ + -74.693619, + -50.203339 + ], + [ + -73.884735, + -50.538895 + ], + [ + -74.29306, + -50.482224 + ], + [ + -74.04834, + -50.827507 + ], + [ + -73.566391, + -50.401672 + ], + [ + -73.528624, + -50.714447 + ], + [ + -74.252792, + -50.940834 + ], + [ + -73.71167, + -51.159729 + ], + [ + -73.598068, + -51.61834 + ], + [ + -73.89418, + -51.370003 + ], + [ + -73.905838, + -51.622505 + ], + [ + -73.46167, + -51.687225 + ], + [ + -73.545288, + -52.056395 + ], + [ + -73.283615, + -52.155006 + ], + [ + -73.386673, + -51.655556 + ], + [ + -73.236954, + -52.090004 + ], + [ + -72.924179, + -51.863335 + ], + [ + -73.281403, + -51.610283 + ], + [ + -72.560837, + -51.78167 + ], + [ + -73.243622, + -51.462227 + ], + [ + -72.468903, + -51.789169 + ], + [ + -72.490845, + -52.318893 + ], + [ + -72.899445, + -52.458618 + ], + [ + -72.570557, + -52.315834 + ], + [ + -72.698334, + -51.983337 + ], + [ + -72.861954, + -52.264168 + ], + [ + -72.988617, + -52.068611 + ], + [ + -73.327515, + -52.223618 + ], + [ + -73.723343, + -52.024727 + ], + [ + -73.547791, + -52.538895 + ], + [ + -73.690002, + -52.725006 + ], + [ + -72.88501, + -52.515556 + ], + [ + -73.56279, + -52.793617 + ], + [ + -73.235001, + -52.889725 + ], + [ + -73.451126, + -53.006668 + ], + [ + -72.980835, + -53.066116 + ], + [ + -73.005844, + -52.854172 + ], + [ + -72.675293, + -52.65889 + ], + [ + -72.898895, + -52.625557 + ], + [ + -72.799179, + -52.539726 + ], + [ + -71.475281, + -52.633339 + ], + [ + -72.719452, + -52.746117 + ], + [ + -72.958344, + -52.857506 + ], + [ + -72.936951, + -53.106674 + ], + [ + -72.653061, + -53.14695 + ], + [ + -72.79306, + -53.178337 + ], + [ + -72.706116, + -53.29306 + ], + [ + -73.217789, + -53.231117 + ], + [ + -72.400284, + -53.540283 + ], + [ + -72.654175, + -53.323891 + ], + [ + -72.188614, + -53.183891 + ], + [ + -72.55278, + -53.074722 + ], + [ + -71.170563, + -52.80806 + ], + [ + -71.80307, + -53.516396 + ], + [ + -72.007233, + -53.563057 + ], + [ + -71.864456, + -53.221672 + ], + [ + -72.453903, + -53.40139 + ], + [ + -71.284729, + -53.886391 + ], + [ + -70.973618, + -53.755562 + ], + [ + -70.811676, + -52.732506 + ], + [ + -69.261124, + -52.20639 + ], + [ + -68.441757, + -52.377777 + ], + [ + -69.998337, + -51.996391 + ], + [ + -71.910568, + -51.995834 + ], + [ + -72.400558, + -51.513618 + ], + [ + -72.294174, + -50.649727 + ], + [ + -73.166122, + -50.753334 + ], + [ + -73.583618, + -49.538063 + ], + [ + -72.564178, + -48.804451 + ], + [ + -72.287231, + -48.341949 + ], + [ + -72.536392, + -47.921394 + ], + [ + -72.360291, + -47.470001 + ], + [ + -71.868622, + -47.221672 + ], + [ + -71.940292, + -46.815559 + ], + [ + -71.669449, + -46.679169 + ], + [ + -71.780563, + -45.648895 + ], + [ + -71.297791, + -45.293335 + ], + [ + -72.078613, + -44.769447 + ], + [ + -71.282227, + -44.800285 + ], + [ + -71.108063, + -44.539726 + ], + [ + -71.855011, + -44.371674 + ], + [ + -71.732788, + -43.188057 + ], + [ + -72.136948, + -43.009171 + ], + [ + -72.131958, + -42.288895 + ], + [ + -71.72612, + -42.096672 + ], + [ + -71.950562, + -40.73278 + ], + [ + -71.695557, + -39.58445 + ], + [ + -71.401398, + -38.92028 + ], + [ + -70.824173, + -38.568062 + ], + [ + -71.185287, + -36.842224 + ], + [ + -70.424316, + -36.13604 + ], + [ + -70.567505, + -35.24778 + ], + [ + -69.8125, + -34.235558 + ], + [ + -69.774445, + -33.381111 + ], + [ + -70.098892, + -33.172501 + ], + [ + -70.533066, + -31.188057 + ], + [ + -69.83168, + -30.190556 + ], + [ + -70.031403, + -29.306393 + ], + [ + -69.65538, + -28.400932 + ], + [ + -68.810837, + -27.120556 + ], + [ + -68.287231, + -26.915279 + ], + [ + -68.583618, + -26.50528 + ], + [ + -68.351959, + -25.117226 + ], + [ + -68.565002, + -24.774445 + ], + [ + -67.335846, + -24.021666 + ], + [ + -67.000839, + -23.002781 + ], + [ + -67.183624, + -22.821667 + ], + [ + -67.876404, + -22.828056 + ], + [ + -68.188614, + -21.296946 + ], + [ + -68.756958, + -20.406948 + ], + [ + -68.4375, + -19.430279 + ], + [ + -68.907791, + -19.055279 + ], + [ + -69.071671, + -18.038891 + ], + [ + -69.483612, + -17.635559 + ] + ], + [ + [ + -73.385284, + -52.740004 + ], + [ + -73.398056, + -52.732506 + ], + [ + -73.328064, + -52.699448 + ], + [ + -73.385284, + -52.740004 + ] + ], + [ + [ + -74.069458, + -46.006111 + ], + [ + -74.072235, + -46.097778 + ], + [ + -74.164459, + -46.136673 + ], + [ + -74.069458, + -46.006111 + ] + ] + ], + [ + [ + [ + -67.780563, + -54.919449 + ], + [ + -68.364456, + -54.94445 + ], + [ + -68.095291, + -55.236946 + ], + [ + -67.053619, + -55.136391 + ], + [ + -67.780563, + -54.919449 + ] + ] + ], + [ + [ + [ + -67.085281, + -55.917503 + ], + [ + -67.105835, + -55.801949 + ], + [ + -67.171677, + -55.874168 + ], + [ + -67.085281, + -55.917503 + ] + ] + ], + [ + [ + [ + -67.167236, + -55.786392 + ], + [ + -67.173889, + -55.759726 + ], + [ + -67.241394, + -55.790283 + ], + [ + -67.167236, + -55.786392 + ] + ] + ], + [ + [ + [ + -67.212784, + -55.893616 + ], + [ + -67.246948, + -55.828056 + ], + [ + -67.413895, + -55.83223 + ], + [ + -67.212784, + -55.893616 + ] + ] + ], + [ + [ + [ + -67.268066, + -55.72139 + ], + [ + -67.356674, + -55.574722 + ], + [ + -67.556395, + -55.712227 + ], + [ + -67.268066, + -55.72139 + ] + ] + ], + [ + [ + [ + -67.493057, + -55.82917 + ], + [ + -67.857513, + -55.849167 + ], + [ + -67.611954, + -55.902229 + ], + [ + -67.493057, + -55.82917 + ] + ] + ], + [ + [ + [ + -67.728622, + -55.624451 + ], + [ + -67.589737, + -55.540558 + ], + [ + -67.688065, + -55.501671 + ], + [ + -67.728622, + -55.624451 + ] + ] + ], + [ + [ + [ + -68.396666, + -54.95945 + ], + [ + -70.03334, + -55.156395 + ], + [ + -69.174179, + -55.512222 + ], + [ + -69.430008, + -55.161949 + ], + [ + -68.803619, + -55.188614 + ], + [ + -68.939178, + -55.459724 + ], + [ + -68.053619, + -55.712502 + ], + [ + -68.159454, + -55.398613 + ], + [ + -68.74501, + -55.271118 + ], + [ + -68.210556, + -55.265007 + ], + [ + -69.061111, + -55.057228 + ], + [ + -68.396666, + -54.95945 + ] + ] + ], + [ + [ + [ + -70.917236, + -54.708618 + ], + [ + -68.643112, + -54.888611 + ], + [ + -68.636124, + -54.804771 + ], + [ + -68.635834, + -54.788338 + ], + [ + -68.617584, + -52.64151 + ], + [ + -69.420563, + -52.458061 + ], + [ + -69.917236, + -52.825836 + ], + [ + -70.424728, + -52.773056 + ], + [ + -70.099731, + -52.904167 + ], + [ + -70.444458, + -53.012779 + ], + [ + -70.446671, + -53.368057 + ], + [ + -69.3564, + -53.351112 + ], + [ + -70.184448, + -53.813614 + ], + [ + -68.991669, + -54.431946 + ], + [ + -69.177504, + -54.580833 + ], + [ + -69.376404, + -54.686668 + ], + [ + -69.241119, + -54.446396 + ], + [ + -69.859177, + -54.283058 + ], + [ + -69.770004, + -54.557503 + ], + [ + -70.055283, + -54.249168 + ], + [ + -70.200836, + -54.316116 + ], + [ + -70.142792, + -54.428337 + ], + [ + -70.88028, + -54.133896 + ], + [ + -70.130844, + -54.548889 + ], + [ + -72.003067, + -54.463615 + ], + [ + -70.917236, + -54.708618 + ] + ], + [ + [ + -70.917236, + -54.708618 + ], + [ + -70.870285, + -54.686394 + ], + [ + -70.771393, + -54.681114 + ], + [ + -70.917236, + -54.708618 + ] + ] + ], + [ + [ + [ + -69.762222, + -55.038612 + ], + [ + -69.166397, + -54.958336 + ], + [ + -69.931946, + -54.89917 + ], + [ + -69.762222, + -55.038612 + ] + ] + ], + [ + [ + [ + -69.690567, + -55.412506 + ], + [ + -69.637512, + -55.382507 + ], + [ + -69.764725, + -55.337784 + ], + [ + -69.690567, + -55.412506 + ] + ] + ], + [ + [ + [ + -69.985291, + -55.364174 + ], + [ + -69.94223, + -55.287224 + ], + [ + -70.106125, + -55.295837 + ], + [ + -69.985291, + -55.364174 + ] + ] + ], + [ + [ + [ + -70.281403, + -54.275558 + ], + [ + -70.218903, + -54.226669 + ], + [ + -70.511124, + -54.160835 + ], + [ + -70.281403, + -54.275558 + ] + ] + ], + [ + [ + [ + -70.508759, + -54.970055 + ], + [ + -70.311676, + -54.904724 + ], + [ + -71.015839, + -54.966667 + ], + [ + -70.26445, + -55.116112 + ], + [ + -70.734177, + -55.015282 + ], + [ + -70.508759, + -54.970055 + ] + ] + ], + [ + [ + [ + -70.609177, + -54.904724 + ], + [ + -70.393616, + -54.871674 + ], + [ + -70.74556, + -54.874451 + ], + [ + -70.609177, + -54.904724 + ] + ] + ], + [ + [ + [ + -70.441956, + -53.860558 + ], + [ + -70.534454, + -53.560837 + ], + [ + -70.878616, + -54.050835 + ], + [ + -70.524445, + -54.228615 + ], + [ + -70.674454, + -53.926674 + ], + [ + -70.441956, + -53.860558 + ] + ] + ], + [ + [ + [ + -70.725845, + -52.893616 + ], + [ + -70.618895, + -52.821396 + ], + [ + -70.780838, + -52.877785 + ], + [ + -70.725845, + -52.893616 + ] + ] + ], + [ + [ + [ + -71.106949, + -54.871948 + ], + [ + -71.45668, + -54.885002 + ], + [ + -70.912231, + -54.924446 + ], + [ + -71.106949, + -54.871948 + ] + ] + ], + [ + [ + [ + -71.257507, + -54.076118 + ], + [ + -71.699448, + -54.161118 + ], + [ + -71.116394, + -54.384726 + ], + [ + -71.009735, + -54.102783 + ], + [ + -71.257507, + -54.076118 + ] + ] + ], + [ + [ + [ + -71.671112, + -53.943893 + ], + [ + -72.257507, + -53.941116 + ], + [ + -71.84668, + -54.339729 + ], + [ + -71.953613, + -54.019447 + ], + [ + -71.671112, + -53.943893 + ] + ] + ], + [ + [ + [ + -72.021118, + -54.634726 + ], + [ + -72.101395, + -54.656395 + ], + [ + -71.931122, + -54.744728 + ], + [ + -72.021118, + -54.634726 + ] + ] + ], + [ + [ + [ + -72.911118, + -53.429451 + ], + [ + -73.587784, + -53.755562 + ], + [ + -73.25, + -53.70723 + ], + [ + -73.132507, + -54.011673 + ], + [ + -72.732224, + -53.839729 + ], + [ + -72.870834, + -54.136673 + ], + [ + -72.13945, + -53.801674 + ], + [ + -72.843903, + -53.458061 + ], + [ + -72.878342, + -53.681946 + ], + [ + -72.911118, + -53.429451 + ] + ] + ], + [ + [ + [ + -72.322235, + -54.258057 + ], + [ + -72.206955, + -54.148338 + ], + [ + -72.301682, + -54.071671 + ], + [ + -72.511124, + -54.202782 + ], + [ + -72.322235, + -54.258057 + ] + ] + ], + [ + [ + [ + -72.308334, + -54.369171 + ], + [ + -72.540558, + -54.341393 + ], + [ + -72.463348, + -54.43 + ], + [ + -72.308334, + -54.369171 + ] + ] + ], + [ + [ + [ + -72.513062, + -42.152504 + ], + [ + -72.509445, + -42.060837 + ], + [ + -72.616959, + -42.097778 + ], + [ + -72.513062, + -42.152504 + ] + ] + ], + [ + [ + [ + -72.722778, + -44.549171 + ], + [ + -72.998062, + -44.367226 + ], + [ + -73.464737, + -44.644447 + ], + [ + -73.20723, + -44.798615 + ], + [ + -73.407791, + -44.820557 + ], + [ + -73.280289, + -44.940002 + ], + [ + -73.138336, + -44.913063 + ], + [ + -72.828339, + -44.690559 + ], + [ + -72.983337, + -44.606117 + ], + [ + -72.819168, + -44.640556 + ], + [ + -72.722778, + -44.549171 + ] + ] + ], + [ + [ + [ + -73.015839, + -41.864449 + ], + [ + -73.077515, + -41.740004 + ], + [ + -73.089737, + -41.84417 + ], + [ + -73.015839, + -41.864449 + ] + ] + ], + [ + [ + [ + -73.106125, + -42.311394 + ], + [ + -73.069168, + -42.260284 + ], + [ + -73.189728, + -42.251396 + ], + [ + -73.106125, + -42.311394 + ] + ] + ], + [ + [ + [ + -74.360565, + -52.948891 + ], + [ + -73.090012, + -53.354729 + ], + [ + -74.74501, + -52.756668 + ], + [ + -74.360565, + -52.948891 + ] + ] + ], + [ + [ + [ + -73.155014, + -44.022781 + ], + [ + -73.148056, + -43.888336 + ], + [ + -73.269455, + -43.920837 + ], + [ + -73.155014, + -44.022781 + ] + ] + ], + [ + [ + [ + -73.241959, + -44.388336 + ], + [ + -73.1689, + -44.370003 + ], + [ + -73.249725, + -44.310837 + ], + [ + -73.303345, + -44.363335 + ], + [ + -73.241959, + -44.388336 + ] + ] + ], + [ + [ + [ + -73.194168, + -54.128891 + ], + [ + -73.246674, + -54.035835 + ], + [ + -73.470566, + -54.072784 + ], + [ + -73.194168, + -54.128891 + ] + ] + ], + [ + [ + [ + -73.885284, + -41.815559 + ], + [ + -74.407791, + -43.243614 + ], + [ + -73.859177, + -43.400002 + ], + [ + -73.489456, + -43.114723 + ], + [ + -73.6539, + -42.933334 + ], + [ + -73.498901, + -42.800835 + ], + [ + -73.800293, + -42.617783 + ], + [ + -73.820282, + -42.507507 + ], + [ + -73.618057, + -42.517227 + ], + [ + -73.672226, + -42.361946 + ], + [ + -73.368622, + -42.250557 + ], + [ + -73.501114, + -41.843338 + ], + [ + -73.885284, + -41.815559 + ] + ] + ], + [ + [ + [ + -73.413071, + -52.878616 + ], + [ + -73.752228, + -52.893333 + ], + [ + -73.391113, + -52.953613 + ], + [ + -73.413071, + -52.878616 + ] + ] + ], + [ + [ + [ + -73.416672, + -42.556395 + ], + [ + -73.535843, + -42.385002 + ], + [ + -73.654175, + -42.387505 + ], + [ + -73.416672, + -42.556395 + ] + ] + ], + [ + [ + [ + -73.463898, + -53.475006 + ], + [ + -73.801956, + -53.429169 + ], + [ + -73.494736, + -53.574448 + ], + [ + -73.463898, + -53.475006 + ] + ] + ], + [ + [ + [ + -73.74556, + -44.743614 + ], + [ + -73.589737, + -44.709724 + ], + [ + -73.688614, + -44.544449 + ], + [ + -73.74556, + -44.743614 + ] + ] + ], + [ + [ + [ + -73.597504, + -42.618057 + ], + [ + -73.618895, + -42.570282 + ], + [ + -73.751404, + -42.617226 + ], + [ + -73.597504, + -42.618057 + ] + ] + ], + [ + [ + [ + -73.651123, + -44.844452 + ], + [ + -73.608337, + -44.741112 + ], + [ + -73.748901, + -44.756393 + ], + [ + -73.651123, + -44.844452 + ] + ] + ], + [ + [ + [ + -73.646118, + -44.131393 + ], + [ + -73.634445, + -44.010002 + ], + [ + -73.728622, + -43.938896 + ], + [ + -73.646118, + -44.131393 + ] + ] + ], + [ + [ + [ + -73.645569, + -45.759445 + ], + [ + -73.700562, + -45.443893 + ], + [ + -73.781952, + -45.67028 + ], + [ + -73.645569, + -45.759445 + ] + ] + ], + [ + [ + [ + -73.688904, + -44.439728 + ], + [ + -73.652786, + -44.352783 + ], + [ + -73.788071, + -44.38195 + ], + [ + -73.688904, + -44.439728 + ] + ] + ], + [ + [ + [ + -73.711395, + -44.304169 + ], + [ + -73.665558, + -44.251396 + ], + [ + -73.761124, + -44.253891 + ], + [ + -73.711395, + -44.304169 + ] + ] + ], + [ + [ + [ + -73.681122, + -46.028336 + ], + [ + -73.778061, + -45.905006 + ], + [ + -73.819458, + -45.998894 + ], + [ + -73.681122, + -46.028336 + ] + ] + ], + [ + [ + [ + -73.765015, + -46.211113 + ], + [ + -73.683334, + -46.076668 + ], + [ + -73.912231, + -46.020279 + ], + [ + -73.765015, + -46.211113 + ] + ] + ], + [ + [ + [ + -73.831955, + -53.590279 + ], + [ + -73.6875, + -53.521666 + ], + [ + -73.857224, + -53.453339 + ], + [ + -73.831955, + -53.590279 + ] + ] + ], + [ + [ + [ + -73.694733, + -52.241669 + ], + [ + -73.768066, + -52.068335 + ], + [ + -74.095291, + -51.922783 + ], + [ + -73.694733, + -52.241669 + ] + ] + ], + [ + [ + [ + -73.703903, + -45.842781 + ], + [ + -73.884171, + -45.858612 + ], + [ + -73.928894, + -45.975838 + ], + [ + -73.703903, + -45.842781 + ] + ] + ], + [ + [ + [ + -73.84668, + -45.002785 + ], + [ + -74.23584, + -45.160278 + ], + [ + -73.7314, + -45.284447 + ], + [ + -73.84668, + -45.002785 + ] + ] + ], + [ + [ + [ + -73.80751, + -52.698334 + ], + [ + -73.742233, + -52.403618 + ], + [ + -74.077789, + -52.606674 + ], + [ + -73.80751, + -52.698334 + ] + ] + ], + [ + [ + [ + -73.85556, + -43.765839 + ], + [ + -74.172501, + -43.877785 + ], + [ + -73.765015, + -43.893333 + ], + [ + -73.85556, + -43.765839 + ] + ] + ], + [ + [ + [ + -73.781403, + -51.371391 + ], + [ + -73.791397, + -51.261116 + ], + [ + -73.914459, + -51.300003 + ], + [ + -73.781403, + -51.371391 + ] + ] + ], + [ + [ + [ + -73.976669, + -45.267502 + ], + [ + -74.166122, + -45.250557 + ], + [ + -73.783066, + -45.335281 + ], + [ + -73.976669, + -45.267502 + ] + ] + ], + [ + [ + [ + -73.844177, + -44.464447 + ], + [ + -73.78862, + -44.422501 + ], + [ + -73.898895, + -44.371674 + ], + [ + -73.844177, + -44.464447 + ] + ] + ], + [ + [ + [ + -73.80806, + -52.397224 + ], + [ + -73.789169, + -52.264168 + ], + [ + -74.092789, + -52.161949 + ], + [ + -73.80806, + -52.397224 + ] + ] + ], + [ + [ + [ + -73.796677, + -51.819168 + ], + [ + -73.793335, + -51.728615 + ], + [ + -73.940002, + -51.663063 + ], + [ + -73.796677, + -51.819168 + ] + ] + ], + [ + [ + [ + -73.793625, + -44.965004 + ], + [ + -73.917786, + -44.78167 + ], + [ + -73.924179, + -44.892227 + ], + [ + -73.793625, + -44.965004 + ] + ] + ], + [ + [ + [ + -73.924454, + -47.886116 + ], + [ + -74.498901, + -47.923058 + ], + [ + -73.799728, + -47.887779 + ], + [ + -73.924454, + -47.886116 + ] + ] + ], + [ + [ + [ + -73.846954, + -44.338058 + ], + [ + -73.802231, + -44.270836 + ], + [ + -73.973892, + -44.281952 + ], + [ + -73.846954, + -44.338058 + ] + ] + ], + [ + [ + [ + -74.017792, + -45.43306 + ], + [ + -74.14473, + -45.576393 + ], + [ + -73.815842, + -45.475838 + ], + [ + -74.017792, + -45.43306 + ] + ] + ], + [ + [ + [ + -73.896957, + -45.434174 + ], + [ + -73.825562, + -45.373062 + ], + [ + -74.02417, + -45.400284 + ], + [ + -73.896957, + -45.434174 + ] + ] + ], + [ + [ + [ + -73.852783, + -44.195839 + ], + [ + -73.922226, + -44.098892 + ], + [ + -74.011124, + -44.141945 + ], + [ + -73.852783, + -44.195839 + ] + ] + ], + [ + [ + [ + -74.209732, + -44.784447 + ], + [ + -73.873337, + -44.686951 + ], + [ + -74.409729, + -44.634445 + ], + [ + -74.209732, + -44.784447 + ] + ] + ], + [ + [ + [ + -73.986954, + -45.724724 + ], + [ + -73.896118, + -45.62056 + ], + [ + -74.011948, + -45.537506 + ], + [ + -74.110001, + -45.592781 + ], + [ + -73.986954, + -45.724724 + ] + ] + ], + [ + [ + [ + -73.929459, + -44.448059 + ], + [ + -73.930847, + -44.35556 + ], + [ + -74.10556, + -44.322784 + ], + [ + -73.929459, + -44.448059 + ] + ] + ], + [ + [ + [ + -74.194168, + -52.136673 + ], + [ + -74.418625, + -52.139725 + ], + [ + -73.935013, + -52.337227 + ], + [ + -74.194168, + -52.136673 + ] + ] + ], + [ + [ + [ + -74.055008, + -51.553612 + ], + [ + -74.238068, + -51.701393 + ], + [ + -73.940002, + -51.785835 + ], + [ + -74.055008, + -51.553612 + ] + ] + ], + [ + [ + [ + -74.026123, + -44.856949 + ], + [ + -73.957779, + -44.783615 + ], + [ + -74.186676, + -44.8125 + ], + [ + -74.026123, + -44.856949 + ] + ] + ], + [ + [ + [ + -74.01973, + -44.556671 + ], + [ + -73.959457, + -44.48278 + ], + [ + -74.129456, + -44.448334 + ], + [ + -74.01973, + -44.556671 + ] + ] + ], + [ + [ + [ + -74.045837, + -51.379173 + ], + [ + -73.968063, + -51.244171 + ], + [ + -74.097229, + -51.225838 + ], + [ + -74.045837, + -51.379173 + ] + ] + ], + [ + [ + [ + -74.154449, + -47.172501 + ], + [ + -73.975281, + -47.047501 + ], + [ + -74.183624, + -47.025284 + ], + [ + -74.154449, + -47.172501 + ] + ] + ], + [ + [ + [ + -73.980286, + -44.984451 + ], + [ + -74.168335, + -44.866669 + ], + [ + -74.366669, + -45.010559 + ], + [ + -73.980286, + -44.984451 + ] + ] + ], + [ + [ + [ + -74.011673, + -44.284172 + ], + [ + -74.06723, + -44.151947 + ], + [ + -74.126114, + -44.207779 + ], + [ + -74.011673, + -44.284172 + ] + ] + ], + [ + [ + [ + -74.015015, + -45.917778 + ], + [ + -74.03862, + -45.736389 + ], + [ + -74.106949, + -45.788338 + ], + [ + -74.015015, + -45.917778 + ] + ] + ], + [ + [ + [ + -74.049179, + -48.446114 + ], + [ + -74.248901, + -48.376396 + ], + [ + -74.074173, + -48.491112 + ], + [ + -74.049179, + -48.446114 + ] + ] + ], + [ + [ + [ + -74.191681, + -53.331947 + ], + [ + -74.059448, + -53.243057 + ], + [ + -74.243622, + -53.299728 + ], + [ + -74.191681, + -53.331947 + ] + ] + ], + [ + [ + [ + -74.14473, + -51.951393 + ], + [ + -74.092224, + -51.875 + ], + [ + -74.50528, + -51.714172 + ], + [ + -74.14473, + -51.951393 + ] + ] + ], + [ + [ + [ + -74.117783, + -51.454445 + ], + [ + -74.171112, + -51.285835 + ], + [ + -74.261398, + -51.30056 + ], + [ + -74.117783, + -51.454445 + ] + ] + ], + [ + [ + [ + -74.295288, + -44.577225 + ], + [ + -74.139175, + -44.55056 + ], + [ + -74.368347, + -44.532784 + ], + [ + -74.295288, + -44.577225 + ] + ] + ], + [ + [ + [ + -74.263336, + -51.24778 + ], + [ + -74.191391, + -51.195557 + ], + [ + -74.322235, + -50.919724 + ], + [ + -74.263336, + -51.24778 + ] + ] + ], + [ + [ + [ + -74.363892, + -50.491394 + ], + [ + -74.670013, + -50.479446 + ], + [ + -74.423615, + -50.523613 + ], + [ + -74.515015, + -50.733063 + ], + [ + -74.193344, + -50.848335 + ], + [ + -74.363892, + -50.491394 + ] + ] + ], + [ + [ + [ + -74.293335, + -44.031952 + ], + [ + -74.204727, + -44.019173 + ], + [ + -74.319458, + -44.017227 + ], + [ + -74.293335, + -44.031952 + ] + ] + ], + [ + [ + [ + -74.458618, + -45.779167 + ], + [ + -74.210007, + -45.636116 + ], + [ + -74.390289, + -45.443893 + ], + [ + -74.458618, + -45.779167 + ] + ] + ], + [ + [ + [ + -74.412506, + -44.512779 + ], + [ + -74.217789, + -44.468056 + ], + [ + -74.547501, + -44.468056 + ], + [ + -74.412506, + -44.512779 + ] + ] + ], + [ + [ + [ + -74.320007, + -44.195007 + ], + [ + -74.259171, + -44.159447 + ], + [ + -74.385559, + -44.154449 + ], + [ + -74.320007, + -44.195007 + ] + ] + ], + [ + [ + [ + -74.26445, + -48.466949 + ], + [ + -74.306395, + -48.286667 + ], + [ + -74.491669, + -48.351112 + ], + [ + -74.26445, + -48.466949 + ] + ] + ], + [ + [ + [ + -74.308899, + -45.30584 + ], + [ + -74.270569, + -45.214172 + ], + [ + -74.39473, + -45.154449 + ], + [ + -74.308899, + -45.30584 + ] + ] + ], + [ + [ + [ + -74.291672, + -44.306395 + ], + [ + -74.327225, + -44.246391 + ], + [ + -74.421402, + -44.262779 + ], + [ + -74.291672, + -44.306395 + ] + ] + ], + [ + [ + [ + -74.294174, + -49.560562 + ], + [ + -74.435837, + -49.427504 + ], + [ + -74.419449, + -49.627785 + ], + [ + -74.294174, + -49.560562 + ] + ] + ], + [ + [ + [ + -74.411392, + -48.530006 + ], + [ + -74.301956, + -48.475838 + ], + [ + -74.497787, + -48.39917 + ], + [ + -74.411392, + -48.530006 + ] + ] + ], + [ + [ + [ + -74.455292, + -47.176949 + ], + [ + -74.313065, + -47.062782 + ], + [ + -74.484177, + -47.083336 + ], + [ + -74.455292, + -47.176949 + ] + ] + ], + [ + [ + [ + -74.3414, + -45.406113 + ], + [ + -74.387222, + -45.288063 + ], + [ + -74.527786, + -45.305283 + ], + [ + -74.3414, + -45.406113 + ] + ] + ], + [ + [ + [ + -74.360565, + -52.077225 + ], + [ + -74.354172, + -52.056114 + ], + [ + -74.405838, + -52.047226 + ], + [ + -74.360565, + -52.077225 + ] + ] + ], + [ + [ + [ + -74.376953, + -44.859451 + ], + [ + -74.429459, + -44.719452 + ], + [ + -74.526398, + -44.741951 + ], + [ + -74.376953, + -44.859451 + ] + ] + ], + [ + [ + [ + -74.396666, + -50.860558 + ], + [ + -74.964737, + -50.965836 + ], + [ + -74.720566, + -51.111946 + ], + [ + -74.482224, + -50.99778 + ], + [ + -74.405563, + -51.089729 + ], + [ + -74.396666, + -50.860558 + ] + ] + ], + [ + [ + [ + -74.411667, + -51.208336 + ], + [ + -74.466675, + -51.028336 + ], + [ + -74.603058, + -51.077507 + ], + [ + -74.411667, + -51.208336 + ] + ] + ], + [ + [ + [ + -74.608337, + -48.455833 + ], + [ + -74.735001, + -48.123062 + ], + [ + -74.708618, + -48.45417 + ], + [ + -75.028624, + -48.495003 + ], + [ + -74.611115, + -48.696671 + ], + [ + -75.051392, + -48.79834 + ], + [ + -74.827225, + -49.09584 + ], + [ + -74.91806, + -49.336113 + ], + [ + -75.471115, + -49.331673 + ], + [ + -75.017227, + -49.899445 + ], + [ + -75.005005, + -49.508057 + ], + [ + -74.646393, + -49.35556 + ], + [ + -74.920013, + -49.68306 + ], + [ + -74.771118, + -50.055 + ], + [ + -74.412781, + -49.732506 + ], + [ + -74.608337, + -48.455833 + ] + ] + ], + [ + [ + [ + -74.4189, + -48.304726 + ], + [ + -74.599731, + -48.151672 + ], + [ + -74.537231, + -48.333893 + ], + [ + -74.4189, + -48.304726 + ] + ] + ], + [ + [ + [ + -74.504456, + -45.539452 + ], + [ + -74.438065, + -45.423889 + ], + [ + -74.570007, + -45.529167 + ], + [ + -74.504456, + -45.539452 + ] + ] + ], + [ + [ + [ + -74.455566, + -44.693893 + ], + [ + -74.578339, + -44.620003 + ], + [ + -74.673615, + -44.668617 + ], + [ + -74.455566, + -44.693893 + ] + ] + ], + [ + [ + [ + -74.717224, + -52.087227 + ], + [ + -74.487793, + -51.95723 + ], + [ + -74.551956, + -51.927504 + ], + [ + -74.717224, + -52.087227 + ] + ] + ], + [ + [ + [ + -74.536118, + -51.279167 + ], + [ + -74.7939, + -51.20945 + ], + [ + -75.021118, + -51.468338 + ], + [ + -74.536118, + -51.279167 + ] + ] + ], + [ + [ + [ + -74.738342, + -50.5 + ], + [ + -74.543625, + -50.381393 + ], + [ + -74.753067, + -50.388336 + ], + [ + -74.738342, + -50.5 + ] + ] + ], + [ + [ + [ + -74.620285, + -45.75695 + ], + [ + -74.548615, + -45.577507 + ], + [ + -74.68251, + -45.636948 + ], + [ + -74.620285, + -45.75695 + ] + ] + ], + [ + [ + [ + -74.651398, + -50.588615 + ], + [ + -74.58168, + -50.532227 + ], + [ + -74.685837, + -50.521666 + ], + [ + -74.651398, + -50.588615 + ] + ] + ], + [ + [ + [ + -74.762512, + -52.188339 + ], + [ + -74.596115, + -52.073616 + ], + [ + -74.785278, + -52.121391 + ], + [ + -74.762512, + -52.188339 + ] + ] + ], + [ + [ + [ + -74.863617, + -52.139168 + ], + [ + -74.599167, + -51.840561 + ], + [ + -74.746948, + -51.833893 + ], + [ + -74.863617, + -52.139168 + ] + ] + ], + [ + [ + [ + -74.739456, + -52.316948 + ], + [ + -74.62001, + -52.207779 + ], + [ + -74.820557, + -52.229446 + ], + [ + -74.739456, + -52.316948 + ] + ] + ], + [ + [ + [ + -74.646118, + -43.612503 + ], + [ + -74.862503, + -43.5625 + ], + [ + -74.7939, + -43.647781 + ], + [ + -74.646118, + -43.612503 + ] + ] + ], + [ + [ + [ + -74.689178, + -50.890839 + ], + [ + -74.748901, + -50.70195 + ], + [ + -74.954727, + -50.731117 + ], + [ + -74.689178, + -50.890839 + ] + ] + ], + [ + [ + [ + -74.715561, + -45.851952 + ], + [ + -75.101959, + -45.874168 + ], + [ + -75.083069, + -46.088615 + ], + [ + -74.715561, + -45.851952 + ] + ] + ], + [ + [ + [ + -74.777237, + -44.6875 + ], + [ + -74.72612, + -44.597778 + ], + [ + -74.804169, + -44.549171 + ], + [ + -74.777237, + -44.6875 + ] + ] + ], + [ + [ + [ + -74.752792, + -45.707779 + ], + [ + -74.869171, + -45.605835 + ], + [ + -74.876678, + -45.649727 + ], + [ + -74.752792, + -45.707779 + ] + ] + ], + [ + [ + [ + -74.781113, + -51.821671 + ], + [ + -74.93251, + -51.643616 + ], + [ + -74.969727, + -52.118057 + ], + [ + -74.781113, + -51.821671 + ] + ] + ], + [ + [ + [ + -75.048615, + -50.166946 + ], + [ + -75.399733, + -50.036667 + ], + [ + -75.143616, + -50.246391 + ], + [ + -75.458618, + -50.364174 + ], + [ + -74.789734, + -50.149445 + ], + [ + -75.048615, + -50.166946 + ] + ] + ], + [ + [ + [ + -74.805283, + -47.898056 + ], + [ + -75.266678, + -48.031952 + ], + [ + -74.869736, + -48.069168 + ], + [ + -74.805283, + -47.898056 + ] + ] + ], + [ + [ + [ + -74.979446, + -48.7425 + ], + [ + -74.825562, + -48.661667 + ], + [ + -74.991394, + -48.648895 + ], + [ + -74.979446, + -48.7425 + ] + ] + ], + [ + [ + [ + -74.99556, + -51.177223 + ], + [ + -74.857224, + -51.135284 + ], + [ + -74.940002, + -51.098618 + ], + [ + -74.99556, + -51.177223 + ] + ] + ], + [ + [ + [ + -74.920563, + -49.295006 + ], + [ + -74.972504, + -49.031113 + ], + [ + -75.24028, + -49.150284 + ], + [ + -74.920563, + -49.295006 + ] + ] + ], + [ + [ + [ + -74.925003, + -48.155838 + ], + [ + -75.256958, + -48.073334 + ], + [ + -75.044174, + -48.443611 + ], + [ + -74.925003, + -48.155838 + ] + ] + ], + [ + [ + [ + -74.954727, + -47.783058 + ], + [ + -74.951401, + -47.70639 + ], + [ + -75.075287, + -47.69445 + ], + [ + -74.954727, + -47.783058 + ] + ] + ], + [ + [ + [ + -75.089737, + -51.901672 + ], + [ + -74.972504, + -51.723618 + ], + [ + -75.070847, + -51.74028 + ], + [ + -75.089737, + -51.901672 + ] + ] + ], + [ + [ + [ + -74.993895, + -50.813896 + ], + [ + -74.979736, + -50.664452 + ], + [ + -75.070847, + -50.652229 + ], + [ + -74.993895, + -50.813896 + ] + ] + ], + [ + [ + [ + -75.00029, + -51.395561 + ], + [ + -75.205292, + -51.299171 + ], + [ + -75.310287, + -51.634171 + ], + [ + -75.00029, + -51.395561 + ] + ] + ], + [ + [ + [ + -75.069458, + -44.92556 + ], + [ + -75.023056, + -44.84639 + ], + [ + -75.111679, + -44.778336 + ], + [ + -75.069458, + -44.92556 + ] + ] + ], + [ + [ + [ + -75.12056, + -48.833618 + ], + [ + -75.071396, + -48.634445 + ], + [ + -75.248337, + -48.771393 + ], + [ + -75.12056, + -48.833618 + ] + ] + ], + [ + [ + [ + -75.176117, + -48.999725 + ], + [ + -75.08223, + -48.889168 + ], + [ + -75.3125, + -48.800003 + ], + [ + -75.176117, + -48.999725 + ] + ] + ], + [ + [ + [ + -75.09639, + -50.516396 + ], + [ + -75.515015, + -50.663063 + ], + [ + -75.288895, + -50.785835 + ], + [ + -75.09639, + -50.516396 + ] + ] + ], + [ + [ + [ + -75.131958, + -47.848892 + ], + [ + -75.134445, + -47.698334 + ], + [ + -75.303619, + -47.773338 + ], + [ + -75.131958, + -47.848892 + ] + ] + ], + [ + [ + [ + -75.306946, + -49.671951 + ], + [ + -75.591949, + -49.78389 + ], + [ + -75.173889, + -49.903061 + ], + [ + -75.306946, + -49.671951 + ] + ] + ], + [ + [ + [ + -75.239456, + -48.270561 + ], + [ + -75.582504, + -48.08667 + ], + [ + -75.234451, + -48.711395 + ], + [ + -75.239456, + -48.270561 + ] + ] + ], + [ + [ + [ + -75.281403, + -48.890007 + ], + [ + -75.656677, + -48.938896 + ], + [ + -75.5, + -49.046394 + ], + [ + -75.32251, + -48.954445 + ], + [ + -75.257782, + -49.081947 + ], + [ + -75.281403, + -48.890007 + ] + ] + ], + [ + [ + [ + -75.281677, + -48.713341 + ], + [ + -75.348068, + -48.635559 + ], + [ + -75.654724, + -48.768059 + ], + [ + -75.281677, + -48.713341 + ] + ] + ], + [ + [ + [ + -75.285843, + -49.100281 + ], + [ + -75.358902, + -48.985558 + ], + [ + -75.656403, + -49.216949 + ], + [ + -75.285843, + -49.100281 + ] + ] + ], + [ + [ + [ + -75.32251, + -48.604172 + ], + [ + -75.650558, + -48.481949 + ], + [ + -75.60112, + -48.691948 + ], + [ + -75.32251, + -48.604172 + ] + ] + ], + [ + [ + [ + -75.48056, + -49.547226 + ], + [ + -75.484451, + -49.481117 + ], + [ + -75.578903, + -49.464729 + ], + [ + -75.48056, + -49.547226 + ] + ] + ], + [ + [ + [ + -78.772507, + -33.623611 + ], + [ + -78.888336, + -33.580559 + ], + [ + -78.991669, + -33.66806 + ], + [ + -78.772507, + -33.623611 + ] + ] + ], + [ + [ + [ + -79.882507, + -26.346947 + ], + [ + -79.869446, + -26.340836 + ], + [ + -79.906952, + -26.34639 + ], + [ + -79.882507, + -26.346947 + ] + ] + ], + [ + [ + [ + -80.07695, + -26.261669 + ], + [ + -80.080566, + -26.251392 + ], + [ + -80.099731, + -26.261391 + ], + [ + -80.07695, + -26.261669 + ] + ] + ], + [ + [ + [ + -80.737793, + -33.779449 + ], + [ + -80.735291, + -33.689444 + ], + [ + -80.774733, + -33.741951 + ], + [ + -80.737793, + -33.779449 + ] + ] + ], + [ + [ + [ + -105.45639, + -26.460556 + ], + [ + -105.474167, + -26.453056 + ], + [ + -105.459457, + -26.464724 + ], + [ + -105.45639, + -26.460556 + ] + ] + ], + [ + [ + [ + -109.241386, + -27.133057 + ], + [ + -109.390839, + -27.066669 + ], + [ + -109.449173, + -27.193058 + ], + [ + -109.241386, + -27.133057 + ] + ] + ] + ] + }, + "name" : "Chile", + "iso2" : "CL", + "iso3" : "CHL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ZL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -81.097229, + 19.308887 + ], + [ + -81.254456, + 19.353886 + ], + [ + -81.401123, + 19.28833 + ], + [ + -81.097229, + 19.308887 + ] + ] + ], + [ + [ + [ + -80.097504, + 19.654163 + ], + [ + -79.966675, + 19.707222 + ], + [ + -80.075836, + 19.697498 + ], + [ + -80.097504, + 19.654163 + ] + ] + ], + [ + [ + [ + -79.866394, + 19.686943 + ], + [ + -79.732788, + 19.748608 + ], + [ + -79.893341, + 19.693333 + ], + [ + -79.866394, + 19.686943 + ] + ] + ] + ] + }, + "name" : "Cayman Islands", + "iso2" : "KY", + "iso3" : "CYM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Zb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 9.687222, + 3.574722 + ], + [ + 9.6425, + 3.578611 + ], + [ + 9.62611, + 3.551111 + ], + [ + 9.687222, + 3.574722 + ] + ] + ], + [ + [ + [ + 15.499008, + 7.526609 + ], + [ + 15.201944, + 8.485832 + ], + [ + 13.957499, + 9.638611 + ], + [ + 14.194769, + 9.98175 + ], + [ + 15.68185, + 9.989649 + ], + [ + 15.061666, + 10.789999 + ], + [ + 15.042597, + 12.078888 + ], + [ + 14.577221, + 12.738609 + ], + [ + 14.500875, + 13.001314 + ], + [ + 14.07472, + 13.081665 + ], + [ + 14.174444, + 12.396666 + ], + [ + 14.645277, + 12.188332 + ], + [ + 14.646387, + 11.575832 + ], + [ + 13.80722, + 11.055832 + ], + [ + 12.796944, + 8.769722 + ], + [ + 12.253887, + 8.408054 + ], + [ + 11.864166, + 7.084722 + ], + [ + 11.340277, + 6.440833 + ], + [ + 10.615, + 7.06861 + ], + [ + 9.795555, + 6.801666 + ], + [ + 8.865276, + 5.841944 + ], + [ + 8.591738, + 4.810932 + ], + [ + 8.504166, + 4.527778 + ], + [ + 8.845833, + 4.638055 + ], + [ + 8.975832, + 4.096666 + ], + [ + 9.7225, + 3.865278 + ], + [ + 9.811764, + 2.343698 + ], + [ + 10.02611, + 2.168056 + ], + [ + 11.339764, + 2.168611 + ], + [ + 12.523611, + 2.283333 + ], + [ + 13.293888, + 2.163611 + ], + [ + 14.564999, + 2.169444 + ], + [ + 16.07222, + 1.654166 + ], + [ + 16.207222, + 2.220833 + ], + [ + 16.103054, + 2.898333 + ], + [ + 14.732777, + 4.623055 + ], + [ + 14.419167, + 6.035277 + ], + [ + 15.499008, + 7.526609 + ] + ] + ] + ] + }, + "name" : "Cameroon", + "iso2" : "CM", + "iso3" : "CMR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Zr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 14.07472, + 13.081665 + ], + [ + 14.500875, + 13.001314 + ], + [ + 14.577221, + 12.738609 + ], + [ + 15.042597, + 12.078888 + ], + [ + 15.061666, + 10.789999 + ], + [ + 15.68185, + 9.989649 + ], + [ + 14.194769, + 9.98175 + ], + [ + 13.957499, + 9.638611 + ], + [ + 15.201944, + 8.485832 + ], + [ + 15.499008, + 7.526609 + ], + [ + 18.588886, + 8.040277 + ], + [ + 19.058792, + 8.578382 + ], + [ + 18.988888, + 8.964167 + ], + [ + 20.371666, + 9.108332 + ], + [ + 21.715553, + 10.290554 + ], + [ + 21.719444, + 10.639444 + ], + [ + 22.866505, + 10.922447 + ], + [ + 22.466942, + 12.621666 + ], + [ + 21.827774, + 12.797499 + ], + [ + 22.294167, + 13.35861 + ], + [ + 22.084442, + 13.779165 + ], + [ + 22.554996, + 14.125555 + ], + [ + 22.384163, + 14.554165 + ], + [ + 22.935833, + 15.11611 + ], + [ + 22.937222, + 15.561943 + ], + [ + 23.999603, + 15.698709 + ], + [ + 24.002747, + 19.499065 + ], + [ + 16.000832, + 23.450554 + ], + [ + 14.997889, + 23.000591 + ], + [ + 15.202499, + 21.495831 + ], + [ + 15.996666, + 20.353054 + ], + [ + 15.489166, + 16.914165 + ], + [ + 13.468887, + 14.461111 + ], + [ + 13.62512, + 13.718338 + ], + [ + 14.07472, + 13.081665 + ] + ] + ] + }, + "name" : "Chad", + "iso2" : "TD", + "iso3" : "TCD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Z71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 43.86055, + -12.356112 + ], + [ + 43.622772, + -12.258335 + ], + [ + 43.66861, + -12.3575 + ], + [ + 43.86055, + -12.356112 + ] + ] + ], + [ + [ + [ + 44.487495, + -12.093056 + ], + [ + 44.206665, + -12.161945 + ], + [ + 44.513611, + -12.38028 + ], + [ + 44.487495, + -12.093056 + ] + ] + ], + [ + [ + [ + 43.459717, + -11.935556 + ], + [ + 43.281387, + -11.379723 + ], + [ + 43.219162, + -11.761112 + ], + [ + 43.459717, + -11.935556 + ] + ] + ] + ] + }, + "name" : "Comoros", + "iso2" : "KM", + "iso3" : "COM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "aL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -78.121399, + 2.500834 + ], + [ + -78.091675, + 2.539446 + ], + [ + -78.127792, + 2.643057 + ], + [ + -78.189178, + 2.640554 + ], + [ + -78.215561, + 2.57778 + ], + [ + -78.121399, + 2.500834 + ] + ] + ], + [ + [ + [ + -77.986389, + 2.542501 + ], + [ + -77.960281, + 2.557222 + ], + [ + -77.948334, + 2.627779 + ], + [ + -77.977509, + 2.651945 + ], + [ + -78.045563, + 2.583055 + ], + [ + -77.986389, + 2.542501 + ] + ] + ], + [ + [ + [ + -77.857513, + 2.573336 + ], + [ + -77.786957, + 2.592779 + ], + [ + -77.921112, + 2.693892 + ], + [ + -77.857513, + 2.573336 + ] + ] + ], + [ + [ + [ + -77.76973, + 2.591391 + ], + [ + -77.749725, + 2.615 + ], + [ + -77.827789, + 2.70389 + ], + [ + -77.884735, + 2.717222 + ], + [ + -77.839737, + 2.64028 + ], + [ + -77.76973, + 2.591391 + ] + ] + ], + [ + [ + [ + -77.568893, + 3.069166 + ], + [ + -77.530563, + 3.209444 + ], + [ + -77.662781, + 3.075834 + ], + [ + -77.568893, + 3.069166 + ] + ] + ], + [ + [ + [ + -77.448334, + 4.074167 + ], + [ + -77.494171, + 4.204168 + ], + [ + -77.535568, + 4.167223 + ], + [ + -77.448334, + 4.074167 + ] + ] + ], + [ + [ + [ + -77.54306, + 4.193335 + ], + [ + -77.319733, + 4.251665 + ], + [ + -77.426117, + 4.334723 + ], + [ + -77.54306, + 4.193335 + ] + ] + ], + [ + [ + [ + -71.324722, + 11.853056 + ], + [ + -71.115845, + 12.10111 + ], + [ + -71.563614, + 12.453611 + ], + [ + -73.284454, + 11.295557 + ], + [ + -74.155014, + 11.331388 + ], + [ + -74.390564, + 10.743055 + ], + [ + -74.592224, + 10.878054 + ], + [ + -74.28862, + 11.002501 + ], + [ + -74.860809, + 11.125486 + ], + [ + -75.26973, + 10.798334 + ], + [ + -75.629456, + 9.453611 + ], + [ + -76.928345, + 8.568335 + ], + [ + -76.75528, + 7.91889 + ], + [ + -77.366669, + 8.675001 + ], + [ + -77.215561, + 7.937223 + ], + [ + -77.573898, + 7.525278 + ], + [ + -77.746674, + 7.722223 + ], + [ + -77.889725, + 7.228891 + ], + [ + -77.340012, + 6.567778 + ], + [ + -77.49028, + 6.190832 + ], + [ + -77.240845, + 5.75139 + ], + [ + -77.532227, + 5.518888 + ], + [ + -77.347778, + 5.240557 + ], + [ + -77.384171, + 4.341944 + ], + [ + -77.239182, + 4.26 + ], + [ + -77.434174, + 4.028334 + ], + [ + -77.028624, + 3.91778 + ], + [ + -77.740845, + 2.604723 + ], + [ + -77.792511, + 2.567499 + ], + [ + -77.867233, + 2.560278 + ], + [ + -77.940002, + 2.655001 + ], + [ + -77.948624, + 2.559446 + ], + [ + -77.986954, + 2.522501 + ], + [ + -78.125565, + 2.486944 + ], + [ + -78.265015, + 2.519167 + ], + [ + -78.343613, + 2.436666 + ], + [ + -78.440567, + 2.509443 + ], + [ + -78.565292, + 2.429167 + ], + [ + -78.584166, + 1.768888 + ], + [ + -79.053345, + 1.628332 + ], + [ + -78.809723, + 1.43778 + ], + [ + -78.591675, + 1.243055 + ], + [ + -77.379456, + 0.384722 + ], + [ + -76.243057, + 0.395555 + ], + [ + -75.285843, + -0.119722 + ], + [ + -74.776947, + -0.204166 + ], + [ + -74.227234, + -1.027777 + ], + [ + -73.556395, + -1.370832 + ], + [ + -72.881958, + -2.506388 + ], + [ + -71.698059, + -2.146944 + ], + [ + -70.288345, + -2.504999 + ], + [ + -70.067505, + -2.755556 + ], + [ + -70.724167, + -3.779722 + ], + [ + -69.956924, + -4.236874 + ], + [ + -69.378067, + -1.338055 + ], + [ + -69.607513, + -0.5175 + ], + [ + -70.05806, + -0.157499 + ], + [ + -70.044174, + 0.590834 + ], + [ + -69.124725, + 0.645002 + ], + [ + -69.270004, + 1.038336 + ], + [ + -69.842224, + 1.072222 + ], + [ + -69.8461, + 1.710455 + ], + [ + -68.153061, + 1.724169 + ], + [ + -68.196396, + 1.977503 + ], + [ + -67.914734, + 1.745279 + ], + [ + -67.424179, + 2.143888 + ], + [ + -67.076675, + 1.173334 + ], + [ + -66.871887, + 1.221643 + ], + [ + -67.192505, + 2.3925 + ], + [ + -67.828339, + 2.825003 + ], + [ + -67.290558, + 3.397501 + ], + [ + -67.859726, + 4.558611 + ], + [ + -67.454453, + 6.193056 + ], + [ + -69.245285, + 6.081388 + ], + [ + -70.119171, + 6.975836 + ], + [ + -72, + 7.018888 + ], + [ + -72.47168, + 7.491945 + ], + [ + -72.325287, + 8.095556 + ], + [ + -72.779724, + 9.080278 + ], + [ + -73.378067, + 9.171389 + ], + [ + -72.493057, + 11.121111 + ], + [ + -72.209351, + 11.250002 + ], + [ + -71.977234, + 11.664999 + ], + [ + -71.324722, + 11.853056 + ] + ], + [ + [ + -78.545288, + 2.416113 + ], + [ + -78.553619, + 2.406668 + ], + [ + -78.550293, + 2.433332 + ], + [ + -78.544174, + 2.432501 + ], + [ + -78.545288, + 2.416113 + ] + ] + ], + [ + [ + [ + -81.710281, + 12.490835 + ], + [ + -81.688339, + 12.591112 + ], + [ + -81.719727, + 12.550001 + ], + [ + -81.710281, + 12.490835 + ] + ] + ], + [ + [ + [ + -81.36557, + 13.323057 + ], + [ + -81.353897, + 13.378611 + ], + [ + -81.38945, + 13.335001 + ], + [ + -81.36557, + 13.323057 + ] + ] + ] + ] + }, + "name" : "Colombia", + "iso2" : "CO", + "iso3" : "COL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ab1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -85.115845, + 10.07361 + ], + [ + -85.109177, + 10.105833 + ], + [ + -85.161957, + 10.122499 + ], + [ + -85.198059, + 10.110554 + ], + [ + -85.176117, + 10.077499 + ], + [ + -85.115845, + 10.07361 + ] + ] + ], + [ + [ + [ + -83.645798, + 10.924847 + ], + [ + -83.915558, + 10.708611 + ], + [ + -85.087784, + 11.009998 + ], + [ + -85.692383, + 11.076061 + ], + [ + -85.911392, + 10.891109 + ], + [ + -85.631958, + 10.626389 + ], + [ + -85.861679, + 10.368332 + ], + [ + -85.664459, + 9.908609 + ], + [ + -85.142227, + 9.589443 + ], + [ + -84.897232, + 9.807499 + ], + [ + -85.228622, + 10.088888 + ], + [ + -85.243057, + 10.204166 + ], + [ + -84.74028, + 9.966665 + ], + [ + -84.61528, + 9.575832 + ], + [ + -83.624176, + 9.035276 + ], + [ + -83.730835, + 8.583055 + ], + [ + -83.291122, + 8.370277 + ], + [ + -83.341675, + 8.726944 + ], + [ + -82.898849, + 8.025669 + ], + [ + -82.710846, + 8.93111 + ], + [ + -82.934723, + 9.471666 + ], + [ + -82.563568, + 9.562876 + ], + [ + -83.645798, + 10.924847 + ] + ] + ] + ] + }, + "name" : "Costa Rica", + "iso2" : "CR", + "iso3" : "CRI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ar1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 22.866505, + 10.922447 + ], + [ + 21.719444, + 10.639444 + ], + [ + 21.715553, + 10.290554 + ], + [ + 20.371666, + 9.108332 + ], + [ + 18.988888, + 8.964167 + ], + [ + 19.058792, + 8.578382 + ], + [ + 18.588886, + 8.040277 + ], + [ + 15.499008, + 7.526609 + ], + [ + 14.419167, + 6.035277 + ], + [ + 14.732777, + 4.623055 + ], + [ + 16.103054, + 2.898333 + ], + [ + 16.207222, + 2.220833 + ], + [ + 16.659721, + 3.533333 + ], + [ + 17.475277, + 3.713055 + ], + [ + 18.624958, + 3.479444 + ], + [ + 18.541943, + 4.335555 + ], + [ + 19.421387, + 5.134166 + ], + [ + 20.585552, + 4.41 + ], + [ + 22.379166, + 4.1275 + ], + [ + 22.895832, + 4.821111 + ], + [ + 23.420277, + 4.59111 + ], + [ + 24.394165, + 5.115555 + ], + [ + 24.734444, + 4.910832 + ], + [ + 25.542221, + 5.381389 + ], + [ + 25.891666, + 5.192499 + ], + [ + 27.455276, + 5.016388 + ], + [ + 27.142776, + 5.771944 + ], + [ + 26.437496, + 6.077777 + ], + [ + 26.404999, + 6.646388 + ], + [ + 25.206944, + 7.497499 + ], + [ + 25.25333, + 7.850555 + ], + [ + 24.192497, + 8.30361 + ], + [ + 24.201111, + 8.686943 + ], + [ + 23.517776, + 8.714167 + ], + [ + 23.669167, + 9.866943 + ], + [ + 22.866505, + 10.922447 + ] + ] + ] + }, + "name" : "Central African Republic", + "iso2" : "CF", + "iso3" : "CAF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "a71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -78.327789, + 20.513613 + ], + [ + -78.34584, + 20.569445 + ], + [ + -78.458344, + 20.605555 + ], + [ + -78.327789, + 20.513613 + ] + ] + ], + [ + [ + [ + -78.381958, + 20.637777 + ], + [ + -78.402786, + 20.675833 + ], + [ + -78.412231, + 20.647223 + ], + [ + -78.381958, + 20.637777 + ] + ] + ], + [ + [ + [ + -78.441681, + 20.710554 + ], + [ + -78.458618, + 20.731668 + ], + [ + -78.547501, + 20.703611 + ], + [ + -78.441681, + 20.710554 + ] + ] + ], + [ + [ + [ + -78.767502, + 20.70611 + ], + [ + -78.763626, + 20.730555 + ], + [ + -78.821945, + 20.756945 + ], + [ + -78.767502, + 20.70611 + ] + ] + ], + [ + [ + [ + -75.487228, + 20.728888 + ], + [ + -75.515015, + 20.791945 + ], + [ + -75.578064, + 20.781111 + ], + [ + -75.487228, + 20.728888 + ] + ] + ], + [ + [ + [ + -78.847504, + 20.771666 + ], + [ + -78.931671, + 20.834166 + ], + [ + -78.965836, + 20.809999 + ], + [ + -78.847504, + 20.771666 + ] + ] + ], + [ + [ + [ + -78.977783, + 20.839445 + ], + [ + -78.969727, + 20.874166 + ], + [ + -79.077515, + 20.893888 + ], + [ + -78.977783, + 20.839445 + ] + ] + ], + [ + [ + [ + -79.084457, + 20.898333 + ], + [ + -79.176682, + 21.008612 + ], + [ + -79.225571, + 21.000555 + ], + [ + -79.084457, + 20.898333 + ] + ] + ], + [ + [ + [ + -79.302231, + 21.064444 + ], + [ + -79.3414, + 21.121111 + ], + [ + -79.384171, + 21.119722 + ], + [ + -79.302231, + 21.064444 + ] + ] + ], + [ + [ + [ + -79.406403, + 21.104723 + ], + [ + -79.402512, + 21.121111 + ], + [ + -79.451126, + 21.122778 + ], + [ + -79.406403, + 21.104723 + ] + ] + ], + [ + [ + [ + -81.530838, + 21.600279 + ], + [ + -81.366959, + 21.711943 + ], + [ + -81.556946, + 21.622778 + ], + [ + -81.530838, + 21.600279 + ] + ] + ], + [ + [ + [ + -82.545288, + 21.571112 + ], + [ + -82.974457, + 21.942778 + ], + [ + -83.089447, + 21.785555 + ], + [ + -82.937225, + 21.58 + ], + [ + -83.193069, + 21.621389 + ], + [ + -82.897232, + 21.432779 + ], + [ + -82.545288, + 21.571112 + ] + ] + ], + [ + [ + [ + -77.915054, + 22.094698 + ], + [ + -77.638336, + 21.953054 + ], + [ + -77.653336, + 22.069723 + ], + [ + -77.915054, + 22.094698 + ] + ] + ], + [ + [ + [ + -77.84639, + 22.10639 + ], + [ + -77.997513, + 22.285276 + ], + [ + -78.044174, + 22.186666 + ], + [ + -77.84639, + 22.10639 + ] + ] + ], + [ + [ + [ + -77.777237, + 22.195002 + ], + [ + -77.850006, + 22.294722 + ], + [ + -77.771666, + 22.168055 + ], + [ + -77.777237, + 22.195002 + ] + ] + ], + [ + [ + [ + -78.118622, + 22.413889 + ], + [ + -78.311401, + 22.403891 + ], + [ + -78.019455, + 22.261946 + ], + [ + -78.118622, + 22.413889 + ] + ] + ], + [ + [ + [ + -78.3414, + 22.533888 + ], + [ + -78.696671, + 22.514723 + ], + [ + -78.425293, + 22.4125 + ], + [ + -78.3414, + 22.533888 + ] + ] + ], + [ + [ + [ + -78.976395, + 22.637499 + ], + [ + -78.968903, + 22.669168 + ], + [ + -79.054459, + 22.665277 + ], + [ + -78.976395, + 22.637499 + ] + ] + ], + [ + [ + [ + -79.323059, + 22.614721 + ], + [ + -79.576126, + 22.809999 + ], + [ + -79.632507, + 22.800001 + ], + [ + -79.323059, + 22.614721 + ] + ] + ], + [ + [ + [ + -79.891953, + 22.928335 + ], + [ + -79.883057, + 22.965277 + ], + [ + -79.958618, + 22.9475 + ], + [ + -79.891953, + 22.928335 + ] + ] + ], + [ + [ + [ + -80.232788, + 22.995001 + ], + [ + -80.349457, + 22.981668 + ], + [ + -80.234177, + 22.956388 + ], + [ + -80.232788, + 22.995001 + ] + ] + ], + [ + [ + [ + -80.049454, + 23.02611 + ], + [ + -80.076675, + 23.074446 + ], + [ + -80.077225, + 23.041945 + ], + [ + -80.049454, + 23.02611 + ] + ] + ], + [ + [ + [ + -80.146393, + 23.070276 + ], + [ + -80.199448, + 23.121946 + ], + [ + -80.224167, + 23.099443 + ], + [ + -80.146393, + 23.070276 + ] + ] + ], + [ + [ + [ + -80.927504, + 23.125555 + ], + [ + -80.973618, + 23.1075 + ], + [ + -80.797226, + 23.150557 + ], + [ + -80.927504, + 23.125555 + ] + ] + ], + [ + [ + [ + -75.085281, + 19.893042 + ], + [ + -74.141403, + 20.252222 + ], + [ + -75.736679, + 20.696943 + ], + [ + -75.70723, + 21.121946 + ], + [ + -76.896118, + 21.306391 + ], + [ + -77.54306, + 21.918612 + ], + [ + -77.341124, + 21.63611 + ], + [ + -80.03334, + 22.951113 + ], + [ + -80.278624, + 22.905279 + ], + [ + -80.544449, + 22.99111 + ], + [ + -80.633057, + 23.098333 + ], + [ + -81.134735, + 23.023054 + ], + [ + -81.285568, + 23.119722 + ], + [ + -81.226959, + 23.161665 + ], + [ + -81.500839, + 23.055555 + ], + [ + -81.580566, + 23.155554 + ], + [ + -82.003891, + 23.186388 + ], + [ + -84.07695, + 22.660555 + ], + [ + -84.338058, + 22.01222 + ], + [ + -84.953339, + 21.859999 + ], + [ + -84.026123, + 21.914999 + ], + [ + -82.763901, + 22.700556 + ], + [ + -81.88501, + 22.680834 + ], + [ + -81.648895, + 22.491388 + ], + [ + -82.163071, + 22.398333 + ], + [ + -81.823059, + 22.183611 + ], + [ + -80.491959, + 22.177221 + ], + [ + -79.987793, + 21.723612 + ], + [ + -78.75029, + 21.639166 + ], + [ + -78.050293, + 20.69972 + ], + [ + -77.236389, + 20.663057 + ], + [ + -77.115845, + 20.365 + ], + [ + -77.722504, + 19.832777 + ], + [ + -75.223724, + 19.901556 + ], + [ + -75.15918, + 19.960695 + ], + [ + -75.13974, + 19.962873 + ], + [ + -75.085281, + 19.893042 + ] + ] + ], + [ + [ + [ + -80.493057, + 23.188055 + ], + [ + -80.558624, + 23.203611 + ], + [ + -80.579727, + 23.176111 + ], + [ + -80.493057, + 23.188055 + ] + ] + ] + ] + }, + "name" : "Cuba", + "iso2" : "CU", + "iso3" : "CUB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "bL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -24.368336, + 14.812222 + ], + [ + -24.381668, + 15.047499 + ], + [ + -24.52528, + 14.92111 + ], + [ + -24.368336, + 14.812222 + ] + ] + ], + [ + [ + [ + -23.446667, + 14.982777 + ], + [ + -23.76667, + 15.253054 + ], + [ + -23.681393, + 14.935555 + ], + [ + -23.446667, + 14.982777 + ] + ] + ], + [ + [ + [ + -22.706112, + 16.036388 + ], + [ + -22.798615, + 16.235275 + ], + [ + -22.957779, + 16.089443 + ], + [ + -22.706112, + 16.036388 + ] + ] + ], + [ + [ + [ + -24.034168, + 16.594166 + ], + [ + -24.432224, + 16.644165 + ], + [ + -24.321392, + 16.482777 + ], + [ + -24.034168, + 16.594166 + ] + ] + ], + [ + [ + [ + -24.926113, + 16.799999 + ], + [ + -24.933056, + 16.921387 + ], + [ + -25.093334, + 16.83083 + ], + [ + -24.926113, + 16.799999 + ] + ] + ], + [ + [ + [ + -25.281391, + 16.91333 + ], + [ + -24.974445, + 17.112778 + ], + [ + -25.33028, + 17.096386 + ], + [ + -25.281391, + 16.91333 + ] + ] + ] + ] + }, + "name" : "Cape Verde", + "iso2" : "CV", + "iso3" : "CPV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "bb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -157.890564, + -21.938053 + ], + [ + -157.921967, + -21.880283 + ], + [ + -157.962799, + -21.904167 + ], + [ + -157.890564, + -21.938053 + ] + ] + ], + [ + [ + [ + -159.741119, + -21.254169 + ], + [ + -159.752502, + -21.193054 + ], + [ + -159.833893, + -21.195831 + ], + [ + -159.741119, + -21.254169 + ] + ] + ], + [ + [ + [ + -157.316437, + -20.188053 + ], + [ + -157.309174, + -20.147781 + ], + [ + -157.332214, + -20.13306 + ], + [ + -157.316437, + -20.188053 + ] + ] + ], + [ + [ + [ + -158.098358, + -20.016113 + ], + [ + -158.08197, + -19.986942 + ], + [ + -158.118591, + -19.973057 + ], + [ + -158.098358, + -20.016113 + ] + ] + ], + [ + [ + [ + -158.27948, + -19.817783 + ], + [ + -158.291382, + -19.833332 + ], + [ + -158.262512, + -19.836666 + ], + [ + -158.27948, + -19.817783 + ] + ] + ], + [ + [ + [ + -157.708649, + -19.853054 + ], + [ + -157.713928, + -19.770283 + ], + [ + -157.741364, + -19.814167 + ], + [ + -157.708649, + -19.853054 + ] + ] + ], + [ + [ + [ + -158.92865, + -19.270283 + ], + [ + -158.951935, + -19.242496 + ], + [ + -158.943909, + -19.27195 + ], + [ + -158.92865, + -19.270283 + ] + ] + ], + [ + [ + [ + -159.78833, + -18.890556 + ], + [ + -159.78421, + -18.841393 + ], + [ + -159.803345, + -18.861389 + ], + [ + -159.78833, + -18.890556 + ] + ] + ], + [ + [ + [ + -163.16333, + -18.089443 + ], + [ + -163.154724, + -18.056667 + ], + [ + -163.170319, + -18.079449 + ], + [ + -163.16333, + -18.089443 + ] + ] + ], + [ + [ + [ + -165.422241, + -11.548334 + ], + [ + -165.414185, + -11.537781 + ], + [ + -165.435028, + -11.5375 + ], + [ + -165.422241, + -11.548334 + ] + ] + ], + [ + [ + [ + -165.82666, + -10.888334 + ], + [ + -165.831146, + -10.876945 + ], + [ + -165.850281, + -10.884169 + ], + [ + -165.82666, + -10.888334 + ] + ] + ], + [ + [ + [ + -161.022827, + -10.431391 + ], + [ + -161.048615, + -10.392778 + ], + [ + -161.043335, + -10.419724 + ], + [ + -161.022827, + -10.431391 + ] + ] + ], + [ + [ + [ + -160.975586, + -10.395555 + ], + [ + -160.973602, + -10.378057 + ], + [ + -161.012512, + -10.352777 + ], + [ + -160.975586, + -10.395555 + ] + ] + ], + [ + [ + [ + -161.084442, + -10.041945 + ], + [ + -161.072266, + -10.008059 + ], + [ + -161.090576, + -10.018333 + ], + [ + -161.084442, + -10.041945 + ] + ] + ], + [ + [ + [ + -157.941681, + -8.982502 + ], + [ + -158.008362, + -8.951389 + ], + [ + -157.97226, + -8.981943 + ], + [ + -157.941681, + -8.982502 + ] + ] + ] + ] + }, + "name" : "Cook Islands", + "iso2" : "CK", + "iso3" : "COK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "br1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 33.652618, + 35.354103 + ], + [ + 32.274162, + 35.043884 + ], + [ + 33.030838, + 34.56255 + ], + [ + 34.083328, + 34.959442 + ], + [ + 33.921387, + 35.272774 + ], + [ + 34.590271, + 35.690277 + ], + [ + 33.652618, + 35.354103 + ] + ] + ] + }, + "name" : "Cyprus", + "iso2" : "CY", + "iso3" : "CYP" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "b71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 11.513887, + 54.82972 + ], + [ + 10.989891, + 54.790848 + ], + [ + 11.85611, + 54.683327 + ], + [ + 11.513887, + 54.82972 + ] + ] + ], + [ + [ + [ + 12.038055, + 54.892494 + ], + [ + 11.708611, + 54.936661 + ], + [ + 11.964443, + 54.561661 + ], + [ + 12.038055, + 54.892494 + ] + ] + ], + [ + [ + [ + 10.432777, + 54.84166 + ], + [ + 10.184166, + 54.97361 + ], + [ + 10.248333, + 54.90416 + ], + [ + 10.432777, + 54.84166 + ] + ] + ], + [ + [ + [ + 12.557499, + 54.964165 + ], + [ + 12.311943, + 55.035271 + ], + [ + 12.115833, + 54.90416 + ], + [ + 12.557499, + 54.964165 + ] + ] + ], + [ + [ + [ + 10.615, + 54.950272 + ], + [ + 10.631943, + 55.043327 + ], + [ + 10.49861, + 55.006386 + ], + [ + 10.615, + 54.950272 + ] + ] + ], + [ + [ + [ + 9.7925, + 55.074997 + ], + [ + 9.630554, + 55.049438 + ], + [ + 10.07111, + 54.87471 + ], + [ + 9.7925, + 55.074997 + ] + ] + ], + [ + [ + [ + 10.756943, + 54.777222 + ], + [ + 10.949165, + 55.16111 + ], + [ + 10.681944, + 54.908607 + ], + [ + 10.756943, + 54.777222 + ] + ] + ], + [ + [ + [ + 15.051666, + 54.994995 + ], + [ + 14.746387, + 55.295555 + ], + [ + 14.679722, + 55.099716 + ], + [ + 15.051666, + 54.994995 + ] + ] + ], + [ + [ + [ + 8.46361, + 55.33416 + ], + [ + 8.458332, + 55.426384 + ], + [ + 8.360277, + 55.457771 + ], + [ + 8.46361, + 55.33416 + ] + ] + ], + [ + [ + [ + 10.745277, + 55.482216 + ], + [ + 10.619165, + 55.619164 + ], + [ + 10.478611, + 55.438049 + ], + [ + 10.309721, + 55.616943 + ], + [ + 9.904999, + 55.505829 + ], + [ + 9.813055, + 55.547493 + ], + [ + 9.74861, + 55.540276 + ], + [ + 9.675554, + 55.499161 + ], + [ + 9.810833, + 55.436661 + ], + [ + 9.896944, + 55.279716 + ], + [ + 10.005833, + 55.193329 + ], + [ + 10.11861, + 55.178886 + ], + [ + 10.152777, + 55.084442 + ], + [ + 10.497776, + 55.028885 + ], + [ + 10.782776, + 55.122498 + ], + [ + 10.745277, + 55.482216 + ] + ] + ], + [ + [ + [ + 12.579443, + 55.551384 + ], + [ + 12.67861, + 55.590553 + ], + [ + 12.60611, + 55.696106 + ], + [ + 12.579443, + 55.551384 + ] + ] + ], + [ + [ + [ + 10.630554, + 55.865555 + ], + [ + 10.523611, + 55.981384 + ], + [ + 10.527498, + 55.765831 + ], + [ + 10.630554, + 55.865555 + ] + ] + ], + [ + [ + [ + 12.567221, + 55.992218 + ], + [ + 11.859444, + 55.96666 + ], + [ + 12.05722, + 55.653328 + ], + [ + 11.763887, + 55.964722 + ], + [ + 10.87361, + 55.732498 + ], + [ + 11.246666, + 55.199715 + ], + [ + 12.071943, + 54.968605 + ], + [ + 12.461666, + 55.286385 + ], + [ + 12.190832, + 55.478607 + ], + [ + 12.567221, + 55.992218 + ] + ] + ], + [ + [ + [ + 11.565832, + 56.67083 + ], + [ + 11.648054, + 56.723328 + ], + [ + 11.503332, + 56.707771 + ], + [ + 11.565832, + 56.67083 + ] + ] + ], + [ + [ + [ + 8.924721, + 56.91861 + ], + [ + 8.509722, + 56.741661 + ], + [ + 8.766943, + 56.692215 + ], + [ + 8.924721, + 56.91861 + ] + ] + ], + [ + [ + [ + 9.974274, + 57.071732 + ], + [ + 9.309444, + 57.001938 + ], + [ + 9.1782, + 56.916031 + ], + [ + 9.321665, + 56.525551 + ], + [ + 9.075567, + 56.807449 + ], + [ + 8.728333, + 56.482216 + ], + [ + 8.165277, + 56.653328 + ], + [ + 8.108332, + 56.017776 + ], + [ + 8.397221, + 55.897499 + ], + [ + 8.127222, + 55.98555 + ], + [ + 8.087221, + 55.548882 + ], + [ + 8.623888, + 55.427498 + ], + [ + 8.664545, + 54.913094 + ], + [ + 9.445358, + 54.825401 + ], + [ + 9.768055, + 54.891106 + ], + [ + 9.459166, + 55.123886 + ], + [ + 9.68861, + 55.196938 + ], + [ + 9.588333, + 55.421661 + ], + [ + 9.704166, + 55.531105 + ], + [ + 9.819166, + 55.604721 + ], + [ + 9.549999, + 55.705826 + ], + [ + 9.992777, + 55.704994 + ], + [ + 10.24679, + 56.178551 + ], + [ + 10.963055, + 56.439438 + ], + [ + 9.866388, + 56.650276 + ], + [ + 10.305277, + 56.748055 + ], + [ + 10.311891, + 56.981304 + ], + [ + 9.974274, + 57.071732 + ] + ] + ], + [ + [ + [ + 11.195833, + 57.310829 + ], + [ + 10.854443, + 57.263054 + ], + [ + 10.997499, + 57.223328 + ], + [ + 11.195833, + 57.310829 + ] + ] + ], + [ + [ + [ + 10.432499, + 57.592216 + ], + [ + 10.645953, + 57.736267 + ], + [ + 8.617222, + 57.121666 + ], + [ + 8.240276, + 56.707222 + ], + [ + 8.554998, + 56.582497 + ], + [ + 8.591389, + 56.686104 + ], + [ + 8.415797, + 56.678127 + ], + [ + 8.670832, + 56.945274 + ], + [ + 9.115549, + 57.052773 + ], + [ + 9.243889, + 56.995552 + ], + [ + 10.006666, + 57.089989 + ], + [ + 10.336616, + 56.991665 + ], + [ + 10.432499, + 57.592216 + ] + ] + ] + ] + }, + "name" : "Denmark", + "iso2" : "DK", + "iso3" : "DNK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "cL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 43.249222, + 11.469534 + ], + [ + 42.866806, + 11.585428 + ], + [ + 42.508606, + 11.567221 + ], + [ + 43.413887, + 12.056944 + ], + [ + 43.121384, + 12.708332 + ], + [ + 42.399719, + 12.469721 + ], + [ + 41.828606, + 11.74 + ], + [ + 41.789719, + 11.008055 + ], + [ + 42.944092, + 11.002438 + ], + [ + 43.249222, + 11.469534 + ] + ] + ] + }, + "name" : "Djibouti", + "iso2" : "DJ", + "iso3" : "DJI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "cb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -61.363617, + 15.198055 + ], + [ + -61.253334, + 15.461388 + ], + [ + -61.452225, + 15.631943 + ], + [ + -61.363617, + 15.198055 + ] + ] + ] + }, + "name" : "Dominica", + "iso2" : "DM", + "iso3" : "DMA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "cr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -71.532227, + 17.540276 + ], + [ + -71.463058, + 17.581944 + ], + [ + -71.522232, + 17.615276 + ], + [ + -71.532227, + 17.540276 + ] + ] + ], + [ + [ + [ + -68.574448, + 18.129444 + ], + [ + -68.78389, + 18.195 + ], + [ + -68.731949, + 18.119999 + ], + [ + -68.574448, + 18.129444 + ] + ] + ], + [ + [ + [ + -70.783615, + 19.846664 + ], + [ + -71.754181, + 19.70583 + ], + [ + -71.715836, + 18.749722 + ], + [ + -72.003067, + 18.60083 + ], + [ + -71.767868, + 18.038502 + ], + [ + -71.422501, + 17.601944 + ], + [ + -71.079727, + 18.301109 + ], + [ + -70.690002, + 18.433887 + ], + [ + -70.510834, + 18.194721 + ], + [ + -69.881668, + 18.469444 + ], + [ + -68.449722, + 18.355831 + ], + [ + -68.325562, + 18.616665 + ], + [ + -68.729172, + 18.952774 + ], + [ + -69.631668, + 19.101665 + ], + [ + -69.22168, + 19.362221 + ], + [ + -69.753616, + 19.289444 + ], + [ + -69.936401, + 19.671108 + ], + [ + -70.783615, + 19.846664 + ] + ] + ] + ] + }, + "name" : "Dominican Republic", + "iso2" : "DO", + "iso3" : "DOM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "c71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -80.193344, + -3.034721 + ], + [ + -79.903061, + -2.719721 + ], + [ + -80.20668, + -2.724167 + ], + [ + -80.193344, + -3.034721 + ] + ] + ], + [ + [ + [ + -79.838623, + -2.641945 + ], + [ + -79.856674, + -2.466667 + ], + [ + -79.886948, + -2.626944 + ], + [ + -79.838623, + -2.641945 + ] + ] + ], + [ + [ + [ + -89.621124, + -1.406666 + ], + [ + -89.648346, + -1.343889 + ], + [ + -89.751953, + -1.360832 + ], + [ + -89.621124, + -1.406666 + ] + ] + ], + [ + [ + [ + -90.434448, + -1.355278 + ], + [ + -90.365845, + -1.269167 + ], + [ + -90.481674, + -1.219166 + ], + [ + -90.434448, + -1.355278 + ] + ] + ], + [ + [ + [ + -90.043335, + -0.838888 + ], + [ + -90.039734, + -0.809444 + ], + [ + -90.08223, + -0.801111 + ], + [ + -90.043335, + -0.838888 + ] + ] + ], + [ + [ + [ + -89.443619, + -0.936666 + ], + [ + -89.258621, + -0.6875 + ], + [ + -89.629456, + -0.927221 + ], + [ + -89.443619, + -0.936666 + ] + ] + ], + [ + [ + [ + -90.260559, + -0.75111 + ], + [ + -90.190567, + -0.542778 + ], + [ + -90.535278, + -0.583889 + ], + [ + -90.260559, + -0.75111 + ] + ] + ], + [ + [ + [ + -91.498901, + -0.496111 + ], + [ + -91.471115, + -0.248056 + ], + [ + -91.663895, + -0.316111 + ], + [ + -91.498901, + -0.496111 + ] + ] + ], + [ + [ + [ + -90.547501, + -0.305 + ], + [ + -90.793335, + -0.149443 + ], + [ + -90.874451, + -0.27 + ], + [ + -90.547501, + -0.305 + ] + ] + ], + [ + [ + [ + -91.218903, + -0.01111 + ], + [ + -91.605835, + -0.004999 + ], + [ + -91.080566, + -0.587221 + ], + [ + -91.376114, + -1.026667 + ], + [ + -90.810837, + -0.7325 + ], + [ + -91.218903, + -0.01111 + ] + ] + ], + [ + [ + [ + -90.459166, + 0.26639 + ], + [ + -90.40834, + 0.326944 + ], + [ + -90.532501, + 0.346666 + ], + [ + -90.459166, + 0.26639 + ] + ] + ], + [ + [ + [ + -90.751114, + 0.547503 + ], + [ + -90.792236, + 0.651667 + ], + [ + -90.799728, + 0.563334 + ], + [ + -90.751114, + 0.547503 + ] + ] + ], + [ + [ + [ + -75.285843, + -0.119722 + ], + [ + -76.243057, + 0.395555 + ], + [ + -77.379456, + 0.384722 + ], + [ + -78.591675, + 1.243055 + ], + [ + -78.809723, + 1.43778 + ], + [ + -80.059723, + 0.828611 + ], + [ + -80.068344, + 0.06278 + ], + [ + -80.501953, + -0.3675 + ], + [ + -80.264725, + -0.627222 + ], + [ + -80.911118, + -1.031111 + ], + [ + -80.890015, + -2.320555 + ], + [ + -80.256393, + -2.736389 + ], + [ + -79.763626, + -2.009167 + ], + [ + -79.84584, + -2.376389 + ], + [ + -79.727509, + -2.602777 + ], + [ + -79.948059, + -3.198334 + ], + [ + -80.340424, + -3.380516 + ], + [ + -80.153336, + -3.884228 + ], + [ + -80.467224, + -3.986944 + ], + [ + -80.467789, + -4.43889 + ], + [ + -79.649733, + -4.432777 + ], + [ + -79.054825, + -5.009132 + ], + [ + -78.70903, + -4.584787 + ], + [ + -78.337509, + -3.422777 + ], + [ + -76.660629, + -2.572134 + ], + [ + -75.559174, + -1.534166 + ], + [ + -75.21608, + -0.965336 + ], + [ + -75.62796, + -0.108858 + ], + [ + -75.285843, + -0.119722 + ] + ], + [ + [ + -78.912231, + 1.239168 + ], + [ + -78.998901, + 1.275 + ], + [ + -78.903336, + 1.367781 + ], + [ + -78.912231, + 1.239168 + ] + ] + ] + ] + }, + "name" : "Ecuador", + "iso2" : "EC", + "iso3" : "ECU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "dL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 34.026384, + 27.498335 + ], + [ + 33.917498, + 27.526388 + ], + [ + 34.041941, + 27.442221 + ], + [ + 34.026384, + 27.498335 + ] + ] + ], + [ + [ + [ + 32.04722, + 31.143332 + ], + [ + 32.049997, + 31.153334 + ], + [ + 32.042772, + 31.158056 + ], + [ + 32.04722, + 31.143332 + ] + ] + ], + [ + [ + [ + 33.476664, + 31.137499 + ], + [ + 33.400553, + 31.181665 + ], + [ + 33.266665, + 31.215277 + ], + [ + 33.476664, + 31.137499 + ] + ] + ], + [ + [ + [ + 33.195276, + 31.232779 + ], + [ + 33.096109, + 31.2325 + ], + [ + 32.976664, + 31.168333 + ], + [ + 33.101664, + 31.227221 + ], + [ + 33.261385, + 31.214998 + ], + [ + 33.195276, + 31.232779 + ] + ] + ], + [ + [ + [ + 25.316668, + 31.501112 + ], + [ + 25.151667, + 31.646944 + ], + [ + 24.706667, + 30.168612 + ], + [ + 24.997778, + 29.248888 + ], + [ + 25.001425, + 21.999697 + ], + [ + 31.271112, + 21.998335 + ], + [ + 31.455557, + 22.232222 + ], + [ + 31.45389, + 21.998335 + ], + [ + 36.888468, + 22.000113 + ], + [ + 35.670557, + 22.965834 + ], + [ + 35.483057, + 23.938334 + ], + [ + 35.813051, + 23.916113 + ], + [ + 35.138613, + 24.5175 + ], + [ + 33.558886, + 27.883055 + ], + [ + 32.34083, + 29.596945 + ], + [ + 32.574999, + 30.005278 + ], + [ + 33.242777, + 28.554445 + ], + [ + 34.254442, + 27.728613 + ], + [ + 34.903803, + 29.486708 + ], + [ + 34.26758, + 31.216543 + ], + [ + 34.216661, + 31.323332 + ], + [ + 33.743891, + 31.133333 + ], + [ + 33.532778, + 31.116945 + ], + [ + 33.410555, + 31.154722 + ], + [ + 33.14361, + 31.058332 + ], + [ + 33.149721, + 31.101667 + ], + [ + 33.111666, + 31.193056 + ], + [ + 32.717218, + 31.032499 + ], + [ + 32.21055, + 31.288057 + ], + [ + 32.143068, + 31.074167 + ], + [ + 31.77389, + 31.271666 + ], + [ + 31.9, + 31.531111 + ], + [ + 32.204996, + 31.289999 + ], + [ + 31.92148, + 31.529886 + ], + [ + 31.027777, + 31.600557 + ], + [ + 29.069445, + 30.821665 + ], + [ + 27.33111, + 31.374998 + ], + [ + 25.316668, + 31.501112 + ] + ], + [ + [ + 34.00139, + 26.707224 + ], + [ + 33.960001, + 26.788332 + ], + [ + 33.994722, + 26.749723 + ], + [ + 34.00139, + 26.707224 + ] + ] + ] + ] + }, + "name" : "Egypt", + "iso2" : "EG", + "iso3" : "EGY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "db1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -9.656389, + 53.222223 + ], + [ + -9.660833, + 53.280001 + ], + [ + -9.724724, + 53.268053 + ], + [ + -9.656389, + 53.222223 + ] + ] + ], + [ + [ + [ + -9.964169, + 54.01861 + ], + [ + -10.268612, + 53.975 + ], + [ + -9.955002, + 53.876665 + ], + [ + -9.964169, + 54.01861 + ] + ] + ], + [ + [ + [ + -8.518612, + 54.964167 + ], + [ + -8.490557, + 54.994722 + ], + [ + -8.546946, + 55.011942 + ], + [ + -8.518612, + 54.964167 + ] + ] + ], + [ + [ + [ + -6.266975, + 54.099833 + ], + [ + -7.030834, + 54.417772 + ], + [ + -7.559444, + 54.12694 + ], + [ + -8.159445, + 54.441942 + ], + [ + -7.406389, + 54.953333 + ], + [ + -7.252506, + 55.070597 + ], + [ + -6.931667, + 55.235834 + ], + [ + -7.393888, + 55.379442 + ], + [ + -7.681389, + 54.948328 + ], + [ + -7.657499, + 55.274439 + ], + [ + -8.317501, + 55.108889 + ], + [ + -8.800835, + 54.691668 + ], + [ + -8.188334, + 54.633608 + ], + [ + -8.668335, + 54.349443 + ], + [ + -8.471668, + 54.27389 + ], + [ + -10.112223, + 54.229998 + ], + [ + -10.124445, + 54.096384 + ], + [ + -10.006111, + 54.218889 + ], + [ + -9.787779, + 53.941942 + ], + [ + -9.940556, + 53.866945 + ], + [ + -9.56139, + 53.85972 + ], + [ + -10.175835, + 53.407778 + ], + [ + -8.941113, + 53.264162 + ], + [ + -9.93639, + 52.555834 + ], + [ + -8.818335, + 52.665552 + ], + [ + -10.460835, + 52.182222 + ], + [ + -9.757778, + 52.148607 + ], + [ + -10.338593, + 51.782923 + ], + [ + -9.577501, + 51.872217 + ], + [ + -10.132502, + 51.593332 + ], + [ + -9.535557, + 51.750002 + ], + [ + -9.817501, + 51.445551 + ], + [ + -9.234167, + 51.480555 + ], + [ + -6.994722, + 52.282778 + ], + [ + -6.361111, + 52.1775 + ], + [ + -6.013056, + 52.945002 + ], + [ + -6.266975, + 54.099833 + ] + ], + [ + [ + -8.436945, + 54.944445 + ], + [ + -8.45389, + 54.954996 + ], + [ + -8.438612, + 54.955278 + ], + [ + -8.436945, + 54.944445 + ] + ] + ] + ] + }, + "name" : "Ireland", + "iso2" : "IE", + "iso3" : "IRL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "dr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 5.641388, + -1.474722 + ], + [ + 5.633888, + -1.420556 + ], + [ + 5.615277, + -1.469167 + ], + [ + 5.641388, + -1.474722 + ] + ] + ], + [ + [ + [ + 11.339764, + 2.168611 + ], + [ + 10.02611, + 2.168056 + ], + [ + 9.811764, + 2.343698 + ], + [ + 9.356943, + 1.167222 + ], + [ + 9.803976, + 1.002608 + ], + [ + 11.353888, + 1.001944 + ], + [ + 11.339764, + 2.168611 + ] + ] + ], + [ + [ + [ + 8.856667, + 3.499444 + ], + [ + 8.958887, + 3.703888 + ], + [ + 8.68611, + 3.741666 + ], + [ + 8.44611, + 3.274444 + ], + [ + 8.856667, + 3.499444 + ] + ] + ] + ] + }, + "name" : "Equatorial Guinea", + "iso2" : "GQ", + "iso3" : "GNQ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "d71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 23.990829, + 58.099998 + ], + [ + 24.022186, + 58.142746 + ], + [ + 23.947773, + 58.147217 + ], + [ + 23.990829, + 58.099998 + ] + ] + ], + [ + [ + [ + 22.990829, + 58.597771 + ], + [ + 21.83194, + 58.504997 + ], + [ + 22.201385, + 58.144714 + ], + [ + 21.99416, + 57.922768 + ], + [ + 23.332775, + 58.441658 + ], + [ + 22.990829, + 58.597771 + ] + ] + ], + [ + [ + [ + 23.364998, + 58.529991 + ], + [ + 23.247459, + 58.671051 + ], + [ + 23.057774, + 58.60833 + ], + [ + 23.364998, + 58.529991 + ] + ] + ], + [ + [ + [ + 23.277222, + 58.963051 + ], + [ + 23.391663, + 58.998047 + ], + [ + 23.110828, + 59.024712 + ], + [ + 23.277222, + 58.963051 + ] + ] + ], + [ + [ + [ + 22.749718, + 59 + ], + [ + 22.042221, + 58.939987 + ], + [ + 23.045277, + 58.83638 + ], + [ + 22.749718, + 59 + ] + ] + ], + [ + [ + [ + 27.372059, + 57.535637 + ], + [ + 27.823051, + 57.873878 + ], + [ + 27.426105, + 58.813606 + ], + [ + 28.170359, + 59.30978 + ], + [ + 28.015831, + 59.4786 + ], + [ + 25.780277, + 59.628876 + ], + [ + 23.464161, + 59.206383 + ], + [ + 23.483051, + 58.80999 + ], + [ + 23.874996, + 58.7686 + ], + [ + 23.495548, + 58.694153 + ], + [ + 23.728607, + 58.370827 + ], + [ + 24.555553, + 58.327217 + ], + [ + 24.31498, + 57.871826 + ], + [ + 25.294998, + 58.084435 + ], + [ + 26.511387, + 57.5261 + ], + [ + 27.372059, + 57.535637 + ] + ] + ] + ] + }, + "name" : "Estonia", + "iso2" : "EE", + "iso3" : "EST" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "eL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 40.087219, + 15.851665 + ], + [ + 39.977776, + 15.605 + ], + [ + 40.419441, + 15.573889 + ], + [ + 40.087219, + 15.851665 + ] + ] + ], + [ + [ + [ + 40.113327, + 16.055832 + ], + [ + 40.030273, + 16.095276 + ], + [ + 39.979721, + 16.012218 + ], + [ + 40.113327, + 16.055832 + ] + ] + ], + [ + [ + [ + 43.121384, + 12.708332 + ], + [ + 41.170555, + 14.6325 + ], + [ + 40.17083, + 14.97361 + ], + [ + 39.881386, + 15.489443 + ], + [ + 39.721107, + 15.084166 + ], + [ + 38.797775, + 17.653332 + ], + [ + 38.600693, + 17.994881 + ], + [ + 37.423286, + 17.034214 + ], + [ + 36.995827, + 17.073887 + ], + [ + 36.973053, + 16.269444 + ], + [ + 36.443283, + 15.149952 + ], + [ + 36.542816, + 14.262053 + ], + [ + 37.291664, + 14.451944 + ], + [ + 37.572212, + 14.102253 + ], + [ + 37.911385, + 14.88361 + ], + [ + 38.44944, + 14.4175 + ], + [ + 39.024021, + 14.655162 + ], + [ + 40.228058, + 14.443506 + ], + [ + 42.399719, + 12.469721 + ], + [ + 43.121384, + 12.708332 + ] + ] + ] + ] + }, + "name" : "Eritrea", + "iso2" : "ER", + "iso3" : "ERI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "eb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -87.686401, + 13.168333 + ], + [ + -87.723068, + 13.214722 + ], + [ + -87.72168, + 13.168055 + ], + [ + -87.686401, + 13.168333 + ] + ] + ], + [ + [ + [ + -87.815582, + 13.405386 + ], + [ + -87.75029, + 13.864166 + ], + [ + -88.47084, + 13.855276 + ], + [ + -89.339737, + 14.416111 + ], + [ + -89.348312, + 14.431982 + ], + [ + -90.09639, + 13.745832 + ], + [ + -88.53862, + 13.194166 + ], + [ + -87.93779, + 13.156387 + ], + [ + -87.815582, + 13.405386 + ] + ] + ] + ] + }, + "name" : "El Salvador", + "iso2" : "SV", + "iso3" : "SLV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "er1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 36.542816, + 14.262053 + ], + [ + 36.142693, + 12.706923 + ], + [ + 35.70108, + 12.666115 + ], + [ + 35.096939, + 11.826944 + ], + [ + 34.864441, + 10.734999 + ], + [ + 34.594444, + 10.887777 + ], + [ + 34.28611, + 10.554165 + ], + [ + 34.120552, + 8.577221 + ], + [ + 33.252777, + 8.458611 + ], + [ + 32.991104, + 7.924999 + ], + [ + 33.711388, + 7.660277 + ], + [ + 34.70472, + 6.677777 + ], + [ + 35.301941, + 5.378055 + ], + [ + 35.821663, + 5.32861 + ], + [ + 35.940552, + 4.622499 + ], + [ + 37.039719, + 4.375555 + ], + [ + 38.121109, + 3.611666 + ], + [ + 39.524437, + 3.406389 + ], + [ + 40.783768, + 4.287975 + ], + [ + 41.171387, + 3.9425 + ], + [ + 41.905167, + 3.980322 + ], + [ + 43.686386, + 4.891944 + ], + [ + 44.950829, + 4.902499 + ], + [ + 47.988243, + 8.004107 + ], + [ + 47.01194, + 8.00111 + ], + [ + 44.010551, + 9.007221 + ], + [ + 42.848053, + 10.22361 + ], + [ + 42.663055, + 10.6325 + ], + [ + 42.944092, + 11.002438 + ], + [ + 41.789719, + 11.008055 + ], + [ + 41.828606, + 11.74 + ], + [ + 42.399719, + 12.469721 + ], + [ + 40.228058, + 14.443506 + ], + [ + 39.024021, + 14.655162 + ], + [ + 38.44944, + 14.4175 + ], + [ + 37.911385, + 14.88361 + ], + [ + 37.572212, + 14.102253 + ], + [ + 37.291664, + 14.451944 + ], + [ + 36.542816, + 14.262053 + ] + ] + ] + }, + "name" : "Ethiopia", + "iso2" : "ET", + "iso3" : "ETH" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "e71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 13.833611, + 48.773605 + ], + [ + 12.758333, + 48.123886 + ], + [ + 13.016666, + 47.470276 + ], + [ + 12.735554, + 47.684166 + ], + [ + 11.095554, + 47.396111 + ], + [ + 10.478054, + 47.591942 + ], + [ + 10.173332, + 47.274719 + ], + [ + 9.566724, + 47.540451 + ], + [ + 9.533569, + 47.274544 + ], + [ + 9.598635, + 47.063835 + ], + [ + 10.471235, + 46.871353 + ], + [ + 12.127777, + 47.001663 + ], + [ + 12.440554, + 46.690826 + ], + [ + 13.718655, + 46.526611 + ], + [ + 14.544998, + 46.407494 + ], + [ + 16.111805, + 46.86972 + ], + [ + 16.510555, + 47.00666 + ], + [ + 16.713886, + 47.543884 + ], + [ + 16.450554, + 47.698051 + ], + [ + 17.053886, + 47.709442 + ], + [ + 17.166386, + 48.012497 + ], + [ + 16.946182, + 48.619064 + ], + [ + 15.025833, + 49.018883 + ], + [ + 14.70028, + 48.581379 + ], + [ + 13.833611, + 48.773605 + ] + ] + ] + }, + "name" : "Austria", + "iso2" : "AT", + "iso3" : "AUT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "fL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 13.833611, + 48.773605 + ], + [ + 14.70028, + 48.581379 + ], + [ + 15.025833, + 49.018883 + ], + [ + 16.946182, + 48.619064 + ], + [ + 18.851246, + 49.517357 + ], + [ + 18.577221, + 49.914444 + ], + [ + 17.657776, + 50.108055 + ], + [ + 17.722775, + 50.319717 + ], + [ + 16.890274, + 50.439438 + ], + [ + 17.00222, + 50.216942 + ], + [ + 16.641941, + 50.10833 + ], + [ + 16.20583, + 50.423882 + ], + [ + 16.341942, + 50.66111 + ], + [ + 14.828333, + 50.865829 + ], + [ + 14.309721, + 51.053604 + ], + [ + 12.093704, + 50.322533 + ], + [ + 12.674444, + 49.424995 + ], + [ + 13.833611, + 48.773605 + ] + ] + ] + }, + "name" : "Czech Republic", + "iso2" : "CZ", + "iso3" : "CZE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "fb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -54.603783, + 2.329195 + ], + [ + -52.909729, + 2.195833 + ], + [ + -51.684067, + 4.034163 + ], + [ + -51.850563, + 4.653333 + ], + [ + -52.040001, + 4.331388 + ], + [ + -52.285278, + 4.937499 + ], + [ + -53.494339, + 5.572342 + ], + [ + -53.939728, + 5.744721 + ], + [ + -54.166946, + 5.346944 + ], + [ + -54.477501, + 4.747777 + ], + [ + -54.001114, + 3.448333 + ], + [ + -54.603783, + 2.329195 + ] + ] + ] + }, + "name" : "French Guiana", + "iso2" : "GF", + "iso3" : "GUF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "fr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 22.833612, + 59.956385 + ], + [ + 22.917501, + 59.898333 + ], + [ + 23.0725, + 59.951113 + ], + [ + 22.833612, + 59.956385 + ] + ] + ], + [ + [ + [ + 22.438887, + 59.995829 + ], + [ + 22.440554, + 60.072496 + ], + [ + 22.351946, + 60.066942 + ], + [ + 22.438887, + 59.995829 + ] + ] + ], + [ + [ + [ + 21.598055, + 60.098055 + ], + [ + 21.655554, + 60.15555 + ], + [ + 21.485277, + 60.113886 + ], + [ + 21.598055, + 60.098055 + ] + ] + ], + [ + [ + [ + 21.748888, + 60.111383 + ], + [ + 21.885279, + 60.177217 + ], + [ + 21.715555, + 60.183054 + ], + [ + 21.748888, + 60.111383 + ] + ] + ], + [ + [ + [ + 21.396666, + 60.178606 + ], + [ + 21.268332, + 60.188051 + ], + [ + 21.385279, + 60.156664 + ], + [ + 21.396666, + 60.178606 + ] + ] + ], + [ + [ + [ + 22.000834, + 60.129442 + ], + [ + 22.060835, + 60.20389 + ], + [ + 21.937498, + 60.17 + ], + [ + 22.000834, + 60.129442 + ] + ] + ], + [ + [ + [ + 25.848612, + 60.195551 + ], + [ + 25.874998, + 60.211107 + ], + [ + 25.810556, + 60.204165 + ], + [ + 25.848612, + 60.195551 + ] + ] + ], + [ + [ + [ + 22.824446, + 60.227221 + ], + [ + 22.587778, + 60.202501 + ], + [ + 22.44972, + 60.218332 + ], + [ + 22.469465, + 60.000002 + ], + [ + 22.824446, + 60.227221 + ] + ] + ], + [ + [ + [ + 22.242224, + 60.181108 + ], + [ + 22.294443, + 60.248606 + ], + [ + 22.217779, + 60.218607 + ], + [ + 22.242224, + 60.181108 + ] + ] + ], + [ + [ + [ + 22.342222, + 60.283052 + ], + [ + 22.096109, + 60.307779 + ], + [ + 22.068888, + 60.26861 + ], + [ + 22.342222, + 60.283052 + ] + ] + ], + [ + [ + [ + 22.383333, + 60.288332 + ], + [ + 22.476946, + 60.32361 + ], + [ + 22.325277, + 60.334719 + ], + [ + 22.383333, + 60.288332 + ] + ] + ], + [ + [ + [ + 21.982779, + 60.324167 + ], + [ + 21.807501, + 60.465555 + ], + [ + 21.789999, + 60.372499 + ], + [ + 21.982779, + 60.324167 + ] + ] + ], + [ + [ + [ + 21.751665, + 60.498331 + ], + [ + 21.763334, + 60.522501 + ], + [ + 21.730001, + 60.520273 + ], + [ + 21.684446, + 60.452776 + ], + [ + 21.751665, + 60.498331 + ] + ] + ], + [ + [ + [ + 21.483332, + 60.520273 + ], + [ + 21.321943, + 60.543055 + ], + [ + 21.432501, + 60.469721 + ], + [ + 21.483332, + 60.520273 + ] + ] + ], + [ + [ + [ + 21.32889, + 60.481112 + ], + [ + 21.226946, + 60.5525 + ], + [ + 21.275835, + 60.478052 + ], + [ + 21.32889, + 60.481112 + ] + ] + ], + [ + [ + [ + 21.290277, + 60.612223 + ], + [ + 21.214167, + 60.619722 + ], + [ + 21.289167, + 60.561388 + ], + [ + 21.290277, + 60.612223 + ] + ] + ], + [ + [ + [ + 21.327501, + 60.877222 + ], + [ + 21.357222, + 60.921946 + ], + [ + 21.254168, + 60.958887 + ], + [ + 21.327501, + 60.877222 + ] + ] + ], + [ + [ + [ + 21.080278, + 63.281389 + ], + [ + 21.246946, + 63.144724 + ], + [ + 21.427221, + 63.196939 + ], + [ + 21.080278, + 63.281389 + ] + ] + ], + [ + [ + [ + 22.180834, + 63.265276 + ], + [ + 22.192499, + 63.321939 + ], + [ + 22.040834, + 63.30694 + ], + [ + 22.180834, + 63.265276 + ] + ] + ], + [ + [ + [ + 21.323332, + 63.289164 + ], + [ + 21.381109, + 63.341112 + ], + [ + 21.231943, + 63.325556 + ], + [ + 21.323332, + 63.289164 + ] + ] + ], + [ + [ + [ + 22.87361, + 63.799997 + ], + [ + 22.806112, + 63.87694 + ], + [ + 22.671389, + 63.794443 + ], + [ + 22.87361, + 63.799997 + ] + ] + ], + [ + [ + [ + 24.734999, + 64.944445 + ], + [ + 25.035002, + 65.036104 + ], + [ + 24.551668, + 65.024996 + ], + [ + 24.734999, + 64.944445 + ] + ] + ], + [ + [ + [ + 24.462221, + 65.763887 + ], + [ + 24.503054, + 65.78055 + ], + [ + 24.436945, + 65.769716 + ], + [ + 24.462221, + 65.763887 + ] + ] + ], + [ + [ + [ + 28.957342, + 69.051622 + ], + [ + 28.784166, + 69.160555 + ], + [ + 29.176111, + 69.635271 + ], + [ + 28.165834, + 69.912218 + ], + [ + 26.449999, + 69.927217 + ], + [ + 25.945833, + 69.673326 + ], + [ + 25.76111, + 68.989168 + ], + [ + 24.934919, + 68.580812 + ], + [ + 23.976389, + 68.832491 + ], + [ + 22.398333, + 68.711107 + ], + [ + 21.320833, + 69.326113 + ], + [ + 20.580931, + 69.060305 + ], + [ + 21.809168, + 68.570543 + ], + [ + 23.666113, + 67.941668 + ], + [ + 23.431112, + 67.465548 + ], + [ + 23.767778, + 67.416109 + ], + [ + 23.571665, + 67.156664 + ], + [ + 24.007776, + 66.800554 + ], + [ + 23.661943, + 66.312212 + ], + [ + 24.167009, + 65.814028 + ], + [ + 24.689165, + 65.896105 + ], + [ + 24.669168, + 65.654711 + ], + [ + 25.310835, + 65.51111 + ], + [ + 25.447222, + 64.954714 + ], + [ + 24.542223, + 64.802492 + ], + [ + 24.343332, + 64.523607 + ], + [ + 23.318888, + 63.896662 + ], + [ + 22.188055, + 63.463053 + ], + [ + 22.337221, + 63.273607 + ], + [ + 21.497778, + 63.210001 + ], + [ + 21.68611, + 63.024996 + ], + [ + 21.064722, + 62.612223 + ], + [ + 21.668055, + 61.546946 + ], + [ + 21.35861, + 60.653612 + ], + [ + 22.632223, + 60.391939 + ], + [ + 22.447222, + 60.24444 + ], + [ + 22.574999, + 60.21055 + ], + [ + 22.662779, + 60.222223 + ], + [ + 23.055834, + 60.353334 + ], + [ + 23.086943, + 60.346941 + ], + [ + 22.874445, + 60.145555 + ], + [ + 23.338335, + 60.019999 + ], + [ + 22.909723, + 59.804995 + ], + [ + 25.92, + 60.241663 + ], + [ + 26.659166, + 60.647501 + ], + [ + 26.497221, + 60.446939 + ], + [ + 27.807833, + 60.546404 + ], + [ + 31.58893, + 62.914415 + ], + [ + 29.993334, + 63.743608 + ], + [ + 30.578054, + 64.221376 + ], + [ + 29.636667, + 64.928057 + ], + [ + 29.818888, + 65.653322 + ], + [ + 30.134165, + 65.719164 + ], + [ + 29.074999, + 66.89583 + ], + [ + 30.028612, + 67.694719 + ], + [ + 28.693335, + 68.197496 + ], + [ + 28.457499, + 68.531939 + ], + [ + 28.820555, + 68.844439 + ], + [ + 28.431944, + 68.896944 + ], + [ + 28.957342, + 69.051622 + ] + ], + [ + [ + 25.677221, + 60.234995 + ], + [ + 25.598055, + 60.207773 + ], + [ + 25.56111, + 60.265833 + ], + [ + 25.677221, + 60.234995 + ] + ], + [ + [ + 23.705828, + 59.927217 + ], + [ + 23.370001, + 59.911386 + ], + [ + 23.538328, + 59.960276 + ], + [ + 23.705828, + 59.927217 + ] + ] + ] + ] + }, + "name" : "Finland", + "iso2" : "FI", + "iso3" : "FIN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "f71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -178.707764, + -20.674442 + ], + [ + -178.73056, + -20.646114 + ], + [ + -178.737213, + -20.666115 + ], + [ + -178.707764, + -20.674442 + ] + ] + ], + [ + [ + [ + -178.211426, + -19.852505 + ], + [ + -178.19809, + -19.835838 + ], + [ + -178.209747, + -19.826389 + ], + [ + -178.211426, + -19.852505 + ] + ] + ], + [ + [ + [ + -178.396698, + -19.185001 + ], + [ + -178.398621, + -19.129169 + ], + [ + -178.425049, + -19.177502 + ], + [ + -178.396698, + -19.185001 + ] + ] + ], + [ + [ + [ + 179.779694, + -19.195278 + ], + [ + 179.773041, + -19.123333 + ], + [ + 179.740234, + -19.188053 + ], + [ + 179.779694, + -19.195278 + ] + ] + ], + [ + [ + [ + -178.538605, + -19.181946 + ], + [ + -178.585846, + -19.113613 + ], + [ + -178.596954, + -19.155834 + ], + [ + -178.538605, + -19.181946 + ] + ] + ], + [ + [ + [ + 178.498291, + -18.989998 + ], + [ + 178.306915, + -18.935555 + ], + [ + 177.95108, + -19.13139 + ], + [ + 178.498291, + -18.989998 + ] + ] + ], + [ + [ + [ + -178.936707, + -18.989445 + ], + [ + -178.949432, + -18.925835 + ], + [ + -178.967224, + -18.978336 + ], + [ + -178.936707, + -18.989445 + ] + ] + ], + [ + [ + [ + -179.78363, + -18.946388 + ], + [ + -179.845001, + -18.922504 + ], + [ + -179.868896, + -19.005283 + ], + [ + -179.78363, + -18.946388 + ] + ] + ], + [ + [ + [ + 178.528046, + -18.910831 + ], + [ + 178.521637, + -18.859722 + ], + [ + 178.476624, + -18.883057 + ], + [ + 178.528046, + -18.910831 + ] + ] + ], + [ + [ + [ + -178.498627, + -18.674725 + ], + [ + -178.473053, + -18.650558 + ], + [ + -178.506683, + -18.635281 + ], + [ + -178.498627, + -18.674725 + ] + ] + ], + [ + [ + [ + 179.91275, + -18.641945 + ], + [ + 179.963867, + -18.540558 + ], + [ + 179.837463, + -18.576389 + ], + [ + 179.91275, + -18.641945 + ] + ] + ], + [ + [ + [ + 177.6633, + -18.590279 + ], + [ + 177.630798, + -18.491943 + ], + [ + 177.61911, + -18.538334 + ], + [ + 177.6633, + -18.590279 + ] + ] + ], + [ + [ + [ + 178.132721, + -18.4175 + ], + [ + 178.139709, + -18.351944 + ], + [ + 178.109406, + -18.407501 + ], + [ + 178.132721, + -18.4175 + ] + ] + ], + [ + [ + [ + -178.778351, + -18.249725 + ], + [ + -178.747528, + -18.201389 + ], + [ + -178.828613, + -18.190002 + ], + [ + -178.778351, + -18.249725 + ] + ] + ], + [ + [ + [ + 179.351898, + -18.121113 + ], + [ + 179.266663, + -17.936111 + ], + [ + 179.245789, + -18.036388 + ], + [ + 179.351898, + -18.121113 + ] + ] + ], + [ + [ + [ + -179.011719, + -17.995277 + ], + [ + -178.991119, + -17.950832 + ], + [ + -179.068359, + -17.932503 + ], + [ + -179.011719, + -17.995277 + ] + ] + ], + [ + [ + [ + -178.286987, + -17.96611 + ], + [ + -178.244476, + -17.917778 + ], + [ + -178.347809, + -17.894165 + ], + [ + -178.286987, + -17.96611 + ] + ] + ], + [ + [ + [ + 179.421906, + -17.848335 + ], + [ + 179.421082, + -17.797222 + ], + [ + 179.392761, + -17.786388 + ], + [ + 179.421906, + -17.848335 + ] + ] + ], + [ + [ + [ + -179.292511, + -17.783897 + ], + [ + -179.319153, + -17.727509 + ], + [ + -179.331146, + -17.771954 + ], + [ + -179.292511, + -17.783897 + ] + ] + ], + [ + [ + [ + 178.820251, + -17.742775 + ], + [ + 178.791931, + -17.621113 + ], + [ + 178.747742, + -17.719719 + ], + [ + 178.820251, + -17.742775 + ] + ] + ], + [ + [ + [ + -179.141998, + -17.476952 + ], + [ + -179.143341, + -17.431114 + ], + [ + -179.178894, + -17.433064 + ], + [ + -179.141998, + -17.476952 + ] + ] + ], + [ + [ + [ + 178.280823, + -17.403053 + ], + [ + 177.510254, + -17.509445 + ], + [ + 177.299133, + -18.078613 + ], + [ + 178.67804, + -18.078335 + ], + [ + 178.280823, + -17.403053 + ] + ] + ], + [ + [ + [ + 177.112457, + -17.314445 + ], + [ + 177.141937, + -17.247776 + ], + [ + 177.10025, + -17.271114 + ], + [ + 177.112457, + -17.314445 + ] + ] + ], + [ + [ + [ + -179.128632, + -17.283611 + ], + [ + -179.121429, + -17.258617 + ], + [ + -179.162811, + -17.250835 + ], + [ + -179.128632, + -17.283611 + ] + ] + ], + [ + [ + [ + 179.399414, + -17.394444 + ], + [ + 179.433044, + -17.242222 + ], + [ + 179.357178, + -17.259445 + ], + [ + 179.399414, + -17.394444 + ] + ] + ], + [ + [ + [ + -178.925293, + -17.257225 + ], + [ + -179.02005, + -17.153053 + ], + [ + -178.98584, + -17.318058 + ], + [ + -178.925293, + -17.257225 + ] + ] + ], + [ + [ + [ + 177.263611, + -17.123611 + ], + [ + 177.281097, + -17.051945 + ], + [ + 177.177185, + -17.163612 + ], + [ + 177.263611, + -17.123611 + ] + ] + ], + [ + [ + [ + 178.333038, + -16.835835 + ], + [ + 178.277191, + -16.789444 + ], + [ + 178.282196, + -16.833889 + ], + [ + 178.333038, + -16.835835 + ] + ] + ], + [ + [ + [ + 179.947479, + -17.002781 + ], + [ + 180, + -16.787395 + ], + [ + 179.882446, + -16.964165 + ], + [ + 179.947479, + -17.002781 + ] + ] + ], + [ + [ + [ + -179.993317, + -16.955276 + ], + [ + -179.821106, + -16.781094 + ], + [ + -179.861633, + -16.680321 + ], + [ + -179.993317, + -16.955276 + ] + ] + ], + [ + [ + [ + 177.443024, + -16.83778 + ], + [ + 177.593018, + -16.687778 + ], + [ + 177.559967, + -16.677498 + ], + [ + 177.443024, + -16.83778 + ] + ] + ], + [ + [ + [ + 179.929413, + -16.659164 + ], + [ + 179.947754, + -16.613056 + ], + [ + 179.916656, + -16.625832 + ], + [ + 179.88443, + -16.657501 + ], + [ + 179.914154, + -16.661945 + ], + [ + 179.929413, + -16.659164 + ] + ] + ], + [ + [ + [ + 180, + -16.537918 + ], + [ + 180, + -16.494274 + ], + [ + 179.981079, + -16.524445 + ], + [ + 180, + -16.537918 + ] + ] + ], + [ + [ + [ + -179.976166, + -16.535278 + ], + [ + -179.896423, + -16.43111 + ], + [ + -179.988617, + -16.476952 + ], + [ + -179.976166, + -16.535278 + ] + ] + ], + [ + [ + [ + 179.958008, + -16.197498 + ], + [ + 178.478851, + -16.78167 + ], + [ + 178.747192, + -17.011948 + ], + [ + 179.265808, + -16.690556 + ], + [ + 179.902191, + -16.769447 + ], + [ + 179.951904, + -16.741943 + ], + [ + 179.871338, + -16.665001 + ], + [ + 179.950256, + -16.513058 + ], + [ + 179.932465, + -16.460831 + ], + [ + 179.478577, + -16.701111 + ], + [ + 179.958008, + -16.197498 + ] + ] + ], + [ + [ + [ + -179.968872, + -16.16761 + ], + [ + -179.941132, + -16.128345 + ], + [ + -180, + -16.154732 + ], + [ + -179.968872, + -16.16761 + ] + ] + ], + [ + [ + [ + 177.119415, + -12.514446 + ], + [ + 177.11911, + -12.484722 + ], + [ + 177.026917, + -12.507223 + ], + [ + 177.119415, + -12.514446 + ] + ] + ] + ] + }, + "name" : "Fiji", + "iso2" : "FJ", + "iso3" : "FJI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "gL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -59.691673, + -52.242783 + ], + [ + -59.683891, + -52.172783 + ], + [ + -59.753334, + -52.170006 + ], + [ + -59.761116, + -52.273613 + ], + [ + -59.691673, + -52.242783 + ] + ] + ], + [ + [ + [ + -58.435005, + -52.093895 + ], + [ + -58.432503, + -51.99028 + ], + [ + -58.53389, + -52.024445 + ], + [ + -58.435005, + -52.093895 + ] + ] + ], + [ + [ + [ + -61.224449, + -51.864723 + ], + [ + -61.215004, + -51.797226 + ], + [ + -61.313896, + -51.824722 + ], + [ + -61.224449, + -51.864723 + ] + ] + ], + [ + [ + [ + -61.034447, + -51.869446 + ], + [ + -60.940559, + -51.800285 + ], + [ + -61.149445, + -51.848892 + ], + [ + -60.867783, + -51.903336 + ], + [ + -61.034447, + -51.869446 + ] + ] + ], + [ + [ + [ + -61.195839, + -51.699448 + ], + [ + -61.305, + -51.693062 + ], + [ + -61.315834, + -51.733612 + ], + [ + -61.195839, + -51.699448 + ] + ] + ], + [ + [ + [ + -59.210556, + -51.410561 + ], + [ + -60.019447, + -51.380005 + ], + [ + -60.132225, + -51.494728 + ], + [ + -60.642227, + -51.35556 + ], + [ + -60.163612, + -51.661392 + ], + [ + -60.638336, + -51.722229 + ], + [ + -60.180557, + -51.758896 + ], + [ + -60.980835, + -52.061951 + ], + [ + -60.368057, + -52.159172 + ], + [ + -59.210556, + -51.410561 + ] + ] + ], + [ + [ + [ + -58.696671, + -51.33667 + ], + [ + -59.718056, + -52.121117 + ], + [ + -59.348061, + -52.343056 + ], + [ + -59.449173, + -52.140839 + ], + [ + -59.035278, + -52.14389 + ], + [ + -59.289726, + -52.004173 + ], + [ + -58.64695, + -52.067223 + ], + [ + -58.940559, + -51.801949 + ], + [ + -57.731392, + -51.692223 + ], + [ + -58.142784, + -51.553894 + ], + [ + -57.761673, + -51.538338 + ], + [ + -57.911949, + -51.376396 + ], + [ + -58.279449, + -51.417503 + ], + [ + -58.226952, + -51.654449 + ], + [ + -58.696671, + -51.33667 + ] + ] + ], + [ + [ + [ + -59.935562, + -51.350838 + ], + [ + -59.906113, + -51.303062 + ], + [ + -60.025284, + -51.297783 + ], + [ + -59.935562, + -51.350838 + ] + ] + ], + [ + [ + [ + -60.110558, + -51.405281 + ], + [ + -60.068062, + -51.307503 + ], + [ + -60.300285, + -51.271393 + ], + [ + -60.110558, + -51.405281 + ] + ] + ], + [ + [ + [ + -59.508339, + -51.337502 + ], + [ + -59.479172, + -51.264725 + ], + [ + -59.811111, + -51.26973 + ], + [ + -59.508339, + -51.337502 + ] + ] + ] + ] + }, + "name" : "Falkland Islands (Malvinas)", + "iso2" : "FK", + "iso3" : "FLK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "gb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 153.674408, + 5.286943 + ], + [ + 153.711365, + 5.319721 + ], + [ + 153.659973, + 5.291666 + ], + [ + 153.674408, + 5.286943 + ] + ] + ], + [ + [ + [ + 163.007477, + 5.263055 + ], + [ + 163.016388, + 5.378332 + ], + [ + 162.904144, + 5.307221 + ], + [ + 163.007477, + 5.263055 + ] + ] + ], + [ + [ + [ + 143.063599, + 6.707222 + ], + [ + 143.063599, + 6.719443 + ], + [ + 143.054688, + 6.714722 + ], + [ + 143.063599, + 6.707222 + ] + ] + ], + [ + [ + [ + 149.320251, + 6.698332 + ], + [ + 149.324982, + 6.721944 + ], + [ + 149.313293, + 6.702499 + ], + [ + 149.320251, + 6.698332 + ] + ] + ], + [ + [ + [ + 157.9422, + 6.71861 + ], + [ + 157.952454, + 6.734444 + ], + [ + 157.931915, + 6.721944 + ], + [ + 157.9422, + 6.71861 + ] + ] + ], + [ + [ + [ + 157.973572, + 6.738332 + ], + [ + 157.992737, + 6.751944 + ], + [ + 157.964142, + 6.74111 + ], + [ + 157.973572, + 6.738332 + ] + ] + ], + [ + [ + [ + 158.29776, + 6.78611 + ], + [ + 158.318848, + 6.930277 + ], + [ + 158.120789, + 6.929721 + ], + [ + 158.29776, + 6.78611 + ] + ] + ], + [ + [ + [ + 158.253876, + 6.983333 + ], + [ + 158.259979, + 7.000278 + ], + [ + 158.241638, + 6.992777 + ], + [ + 158.253876, + 6.983333 + ] + ] + ], + [ + [ + [ + 151.860504, + 7.31861 + ], + [ + 151.866638, + 7.35861 + ], + [ + 151.839966, + 7.370276 + ], + [ + 151.860504, + 7.31861 + ] + ] + ], + [ + [ + [ + 149.20163, + 7.363333 + ], + [ + 149.203033, + 7.376388 + ], + [ + 149.194702, + 7.361388 + ], + [ + 149.20163, + 7.363333 + ] + ] + ], + [ + [ + [ + 149.191345, + 7.375554 + ], + [ + 149.188019, + 7.384444 + ], + [ + 149.177765, + 7.382499 + ], + [ + 149.191345, + 7.375554 + ] + ] + ], + [ + [ + [ + 143.920258, + 7.379721 + ], + [ + 143.914154, + 7.391388 + ], + [ + 143.911926, + 7.382499 + ], + [ + 143.920258, + 7.379721 + ] + ] + ], + [ + [ + [ + 151.63916, + 7.326666 + ], + [ + 151.608307, + 7.395277 + ], + [ + 151.5672, + 7.34111 + ], + [ + 151.63916, + 7.326666 + ] + ] + ], + [ + [ + [ + 151.911652, + 7.444999 + ], + [ + 151.866638, + 7.463888 + ], + [ + 151.85495, + 7.423888 + ], + [ + 151.911652, + 7.444999 + ] + ] + ], + [ + [ + [ + 146.193298, + 7.504167 + ], + [ + 146.187195, + 7.515555 + ], + [ + 146.179688, + 7.510833 + ], + [ + 146.193298, + 7.504167 + ] + ] + ], + [ + [ + [ + 149.674988, + 8.575554 + ], + [ + 149.688873, + 8.617496 + ], + [ + 149.659424, + 8.590275 + ], + [ + 149.674988, + 8.575554 + ] + ] + ], + [ + [ + [ + 150.378021, + 8.617496 + ], + [ + 150.366638, + 8.626387 + ], + [ + 150.373291, + 8.612776 + ], + [ + 150.378021, + 8.617496 + ] + ] + ], + [ + [ + [ + 150.130249, + 8.978331 + ], + [ + 150.128021, + 8.992496 + ], + [ + 150.118286, + 8.976387 + ], + [ + 150.130249, + 8.978331 + ] + ] + ], + [ + [ + [ + 138.209137, + 9.523888 + ], + [ + 138.133606, + 9.571943 + ], + [ + 138.060242, + 9.415276 + ], + [ + 138.209137, + 9.523888 + ] + ] + ] + ] + }, + "name" : "Micronesia, Federated States of", + "iso2" : "FM", + "iso3" : "FSM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "gr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -143.482483, + -27.914448 + ], + [ + -143.483917, + -27.900276 + ], + [ + -143.508911, + -27.890839 + ], + [ + -143.482483, + -27.914448 + ] + ] + ], + [ + [ + [ + -144.307526, + -27.642776 + ], + [ + -144.285553, + -27.577499 + ], + [ + -144.324738, + -27.553333 + ], + [ + -144.307526, + -27.642776 + ] + ] + ], + [ + [ + [ + -147.689758, + -23.881668 + ], + [ + -147.648621, + -23.853336 + ], + [ + -147.720306, + -23.865276 + ], + [ + -147.689758, + -23.881668 + ] + ] + ], + [ + [ + [ + -149.483337, + -23.401943 + ], + [ + -149.457214, + -23.361671 + ], + [ + -149.52533, + -23.373894 + ], + [ + -149.483337, + -23.401943 + ] + ] + ], + [ + [ + [ + -135.051941, + -23.163887 + ], + [ + -135.031708, + -23.143333 + ], + [ + -135.06308, + -23.156113 + ], + [ + -135.051941, + -23.163887 + ] + ] + ], + [ + [ + [ + -134.985535, + -23.139442 + ], + [ + -134.941406, + -23.085838 + ], + [ + -135.015564, + -23.12167 + ], + [ + -134.985535, + -23.139442 + ] + ] + ], + [ + [ + [ + -152.860016, + -22.656387 + ], + [ + -152.826416, + -22.634171 + ], + [ + -152.845551, + -22.605003 + ], + [ + -152.860016, + -22.656387 + ] + ] + ], + [ + [ + [ + -151.36557, + -22.518616 + ], + [ + -151.350281, + -22.464725 + ], + [ + -151.387817, + -22.425835 + ], + [ + -151.36557, + -22.518616 + ] + ] + ], + [ + [ + [ + -138.714722, + -22.271667 + ], + [ + -138.743591, + -22.204449 + ], + [ + -138.796661, + -22.22028 + ], + [ + -138.714722, + -22.271667 + ] + ] + ], + [ + [ + [ + -140.609467, + -21.71917 + ], + [ + -140.666687, + -21.655834 + ], + [ + -140.66864, + -21.708332 + ], + [ + -140.609467, + -21.71917 + ] + ] + ], + [ + [ + [ + -144.956146, + -19.923332 + ], + [ + -144.958344, + -19.895283 + ], + [ + -144.965027, + -19.929169 + ], + [ + -144.956146, + -19.923332 + ] + ] + ], + [ + [ + [ + -150.648071, + -17.662498 + ], + [ + -150.645294, + -17.642498 + ], + [ + -150.669464, + -17.645283 + ], + [ + -150.648071, + -17.662498 + ] + ] + ], + [ + [ + [ + -149.211426, + -17.733891 + ], + [ + -149.632507, + -17.549999 + ], + [ + -149.179199, + -17.870834 + ], + [ + -149.211426, + -17.733891 + ] + ] + ], + [ + [ + [ + -149.848602, + -17.573612 + ], + [ + -149.786133, + -17.46917 + ], + [ + -149.937256, + -17.484165 + ], + [ + -149.848602, + -17.573612 + ] + ] + ], + [ + [ + [ + -149.532257, + -16.974445 + ], + [ + -149.544189, + -16.964443 + ], + [ + -149.54306, + -16.974998 + ], + [ + -149.532257, + -16.974445 + ] + ] + ], + [ + [ + [ + -149.572266, + -16.969723 + ], + [ + -149.586121, + -16.956108 + ], + [ + -149.59198, + -16.980003 + ], + [ + -149.572266, + -16.969723 + ] + ] + ], + [ + [ + [ + -150.998322, + -16.824169 + ], + [ + -150.994476, + -16.762505 + ], + [ + -151.040039, + -16.786118 + ], + [ + -150.998322, + -16.824169 + ] + ] + ], + [ + [ + [ + -151.40033, + -16.888332 + ], + [ + -151.475037, + -16.740276 + ], + [ + -151.476654, + -16.895283 + ], + [ + -151.40033, + -16.888332 + ] + ] + ], + [ + [ + [ + -151.03833, + -16.769726 + ], + [ + -151.007233, + -16.74472 + ], + [ + -151.037537, + -16.693054 + ], + [ + -151.03833, + -16.769726 + ] + ] + ], + [ + [ + [ + -151.458344, + -16.673332 + ], + [ + -151.441101, + -16.599171 + ], + [ + -151.532257, + -16.589443 + ], + [ + -151.458344, + -16.673332 + ] + ] + ], + [ + [ + [ + -151.748627, + -16.534451 + ], + [ + -151.742249, + -16.490833 + ], + [ + -151.775879, + -16.473331 + ], + [ + -151.748627, + -16.534451 + ] + ] + ], + [ + [ + [ + -146.335846, + -16.164722 + ], + [ + -146.334991, + -16.113056 + ], + [ + -146.38446, + -16.110279 + ], + [ + -146.335846, + -16.164722 + ] + ] + ], + [ + [ + [ + -148.23526, + -15.848612 + ], + [ + -148.28363, + -15.800835 + ], + [ + -148.26532, + -15.846947 + ], + [ + -148.23526, + -15.848612 + ] + ] + ], + [ + [ + [ + -144.621948, + -15.74861 + ], + [ + -144.633667, + -15.708055 + ], + [ + -144.646393, + -15.73889 + ], + [ + -144.621948, + -15.74861 + ] + ] + ], + [ + [ + [ + -138.656708, + -10.549725 + ], + [ + -138.618347, + -10.465555 + ], + [ + -138.695587, + -10.431112 + ], + [ + -138.656708, + -10.549725 + ] + ] + ], + [ + [ + [ + -139.107483, + -9.978058 + ], + [ + -139.047791, + -9.914167 + ], + [ + -139.125824, + -9.906113 + ], + [ + -139.107483, + -9.978058 + ] + ] + ], + [ + [ + [ + -138.955261, + -9.743055 + ], + [ + -139.172546, + -9.780281 + ], + [ + -138.809479, + -9.744999 + ], + [ + -138.955261, + -9.743055 + ] + ] + ], + [ + [ + [ + -140.07724, + -9.450556 + ], + [ + -140.086121, + -9.324724 + ], + [ + -140.147827, + -9.380556 + ], + [ + -140.07724, + -9.450556 + ] + ] + ], + [ + [ + [ + -139.58252, + -8.87361 + ], + [ + -139.611969, + -8.95639 + ], + [ + -139.504181, + -8.917225 + ], + [ + -139.58252, + -8.87361 + ] + ] + ], + [ + [ + [ + -140.026428, + -8.901112 + ], + [ + -140.249756, + -8.802778 + ], + [ + -140.189453, + -8.954166 + ], + [ + -140.026428, + -8.901112 + ] + ] + ], + [ + [ + [ + -140.704712, + -8.044168 + ], + [ + -140.637817, + -7.959446 + ], + [ + -140.709747, + -7.965556 + ], + [ + -140.704712, + -8.044168 + ] + ] + ], + [ + [ + [ + -140.584991, + -7.92389 + ], + [ + -140.56308, + -7.888333 + ], + [ + -140.60614, + -7.913611 + ], + [ + -140.584991, + -7.92389 + ] + ] + ] + ] + }, + "name" : "French Polynesia", + "iso2" : "PF", + "iso3" : "PYF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "g71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 9.485832, + 42.615273 + ], + [ + 9.457777, + 42.643326 + ], + [ + 9.49472, + 42.603607 + ], + [ + 9.485832, + 42.615273 + ] + ] + ], + [ + [ + [ + 9.446665, + 42.678886 + ], + [ + 9.353054, + 43.003883 + ], + [ + 9.293888, + 42.675552 + ], + [ + 8.575832, + 42.383606 + ], + [ + 8.789165, + 41.558052 + ], + [ + 9.180832, + 41.364716 + ], + [ + 9.553333, + 42.115555 + ], + [ + 9.446665, + 42.678886 + ] + ] + ], + [ + [ + [ + -1.194445, + 45.822495 + ], + [ + -1.233056, + 45.964722 + ], + [ + -1.401667, + 46.050552 + ], + [ + -1.194445, + 45.822495 + ] + ] + ], + [ + [ + [ + -1.260834, + 46.156387 + ], + [ + -1.474445, + 46.255829 + ], + [ + -1.553056, + 46.244995 + ], + [ + -1.260834, + 46.156387 + ] + ] + ], + [ + [ + [ + -2.270833, + 46.693329 + ], + [ + -2.385, + 46.725555 + ], + [ + -2.363889, + 46.698051 + ], + [ + -2.270833, + 46.693329 + ] + ] + ], + [ + [ + [ + -2.196945, + 47.01722 + ], + [ + -2.284722, + 47.020554 + ], + [ + -2.145, + 46.90583 + ], + [ + -2.196945, + 47.01722 + ] + ] + ], + [ + [ + [ + -3.066667, + 47.306664 + ], + [ + -3.258611, + 47.376106 + ], + [ + -3.215834, + 47.302498 + ], + [ + -3.066667, + 47.306664 + ] + ] + ], + [ + [ + [ + -5.055, + 48.454163 + ], + [ + -5.064723, + 48.483055 + ], + [ + -5.134723, + 48.458328 + ], + [ + -5.055, + 48.454163 + ] + ] + ], + [ + [ + [ + -3.576667, + 48.803886 + ], + [ + -3.563334, + 48.808609 + ], + [ + -3.575556, + 48.812492 + ], + [ + -3.576667, + 48.803886 + ] + ] + ], + [ + [ + [ + 2.541667, + 51.09111 + ], + [ + 1.625, + 50.877777 + ], + [ + 1.461111, + 50.124161 + ], + [ + 0.074167, + 49.526665 + ], + [ + 0.424722, + 49.45166 + ], + [ + -1.113889, + 49.365273 + ], + [ + -1.264167, + 49.684166 + ], + [ + -1.941667, + 49.723885 + ], + [ + -1.368889, + 48.643608 + ], + [ + -2.685278, + 48.501663 + ], + [ + -3.220834, + 48.870552 + ], + [ + -4.777779, + 48.509438 + ], + [ + -4.186111, + 48.299995 + ], + [ + -4.726142, + 48.040581 + ], + [ + -4.366389, + 47.804161 + ], + [ + -3.106389, + 47.472221 + ], + [ + -2.698056, + 47.637215 + ], + [ + -2.361111, + 47.504166 + ], + [ + -2.540278, + 47.296661 + ], + [ + -2.289167, + 47.238884 + ], + [ + -2.003334, + 47.31916 + ], + [ + -1.728611, + 47.210831 + ], + [ + -2.134167, + 47.278053 + ], + [ + -2.170834, + 47.126663 + ], + [ + -1.984167, + 47.034439 + ], + [ + -2.130834, + 46.838333 + ], + [ + -1.114635, + 46.316582 + ], + [ + -1.067778, + 45.908882 + ], + [ + -1.240834, + 45.70166 + ], + [ + -0.776667, + 45.461105 + ], + [ + -0.536667, + 44.895554 + ], + [ + -1.083889, + 45.564438 + ], + [ + -1.250278, + 44.662498 + ], + [ + -1.036111, + 44.675278 + ], + [ + -1.780877, + 43.359924 + ], + [ + -0.562222, + 42.781387 + ], + [ + 1.445833, + 42.601944 + ], + [ + 1.78172, + 42.569962 + ], + [ + 1.723611, + 42.509438 + ], + [ + 3.177655, + 42.436806 + ], + [ + 3.081388, + 43.069443 + ], + [ + 3.964722, + 43.540833 + ], + [ + 5.031388, + 43.556664 + ], + [ + 6.165277, + 43.050552 + ], + [ + 7.391609, + 43.727547 + ], + [ + 7.387777, + 43.748604 + ], + [ + 7.416111, + 43.770554 + ], + [ + 7.439293, + 43.757523 + ], + [ + 7.528055, + 43.788605 + ], + [ + 7.662222, + 44.17083 + ], + [ + 6.976388, + 44.284164 + ], + [ + 7.031666, + 44.831383 + ], + [ + 6.61976, + 45.110138 + ], + [ + 7.127777, + 45.257774 + ], + [ + 6.79897, + 45.78067 + ], + [ + 7.038054, + 45.931938 + ], + [ + 6.791389, + 46.434166 + ], + [ + 5.966666, + 46.209442 + ], + [ + 6.990555, + 47.497215 + ], + [ + 7.588268, + 47.58448 + ], + [ + 7.578888, + 48.11972 + ], + [ + 8.226078, + 48.964417 + ], + [ + 6.36217, + 49.459389 + ], + [ + 5.80788, + 49.545044 + ], + [ + 4.873055, + 49.797218 + ], + [ + 4.832503, + 50.16861 + ], + [ + 4.149238, + 49.978371 + ], + [ + 4.165, + 50.283051 + ], + [ + 2.541667, + 51.09111 + ] + ] + ] + ] + }, + "name" : "France", + "iso2" : "FR", + "iso3" : "FRA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "hL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -16.56567, + 13.589998 + ], + [ + -16.394726, + 13.330555 + ], + [ + -16.14389, + 13.454166 + ], + [ + -15.295834, + 13.491665 + ], + [ + -16.162224, + 13.425278 + ], + [ + -16.200836, + 13.251665 + ], + [ + -16.73167, + 13.44972 + ], + [ + -16.750874, + 13.059977 + ], + [ + -15.809723, + 13.159721 + ], + [ + -15.803612, + 13.347776 + ], + [ + -15.285002, + 13.374443 + ], + [ + -15.111668, + 13.595833 + ], + [ + -14.351112, + 13.237778 + ], + [ + -13.798613, + 13.406387 + ], + [ + -15.070278, + 13.826387 + ], + [ + -16.56567, + 13.589998 + ] + ] + ] + }, + "name" : "Gambia", + "iso2" : "GM", + "iso3" : "GMB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "hb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 9.007776, + -0.767778 + ], + [ + 9.006666, + -0.598888 + ], + [ + 8.946665, + -0.658333 + ], + [ + 9.007776, + -0.767778 + ] + ] + ], + [ + [ + [ + 12.523611, + 2.283335 + ], + [ + 11.339766, + 2.168612 + ], + [ + 11.353888, + 1.001944 + ], + [ + 9.803976, + 1.002607 + ], + [ + 9.564722, + 0.983057 + ], + [ + 9.6, + 0.481112 + ], + [ + 9.30361, + 0.528334 + ], + [ + 9.92111, + 0.185278 + ], + [ + 9.347502, + 0.363058 + ], + [ + 9.298334, + -0.371666 + ], + [ + 9.013887, + -0.819166 + ], + [ + 8.710001, + -0.641111 + ], + [ + 9.513887, + -1.596666 + ], + [ + 8.983057, + -1.234167 + ], + [ + 9.615278, + -2.376667 + ], + [ + 10.130556, + -2.52 + ], + [ + 9.700834, + -2.445555 + ], + [ + 11.140661, + -3.925276 + ], + [ + 11.496946, + -3.506945 + ], + [ + 11.925833, + -3.636944 + ], + [ + 11.574167, + -2.333332 + ], + [ + 12.478056, + -2.327221 + ], + [ + 12.65, + -1.8225 + ], + [ + 13.001509, + -2.367672 + ], + [ + 13.482779, + -2.4375 + ], + [ + 13.76222, + -2.088888 + ], + [ + 14.110834, + -2.493055 + ], + [ + 14.429724, + -1.891666 + ], + [ + 14.51861, + -0.609167 + ], + [ + 13.848333, + -0.19861 + ], + [ + 14.487223, + 0.91361 + ], + [ + 14.18889, + 1.39139 + ], + [ + 13.186785, + 1.222475 + ], + [ + 13.29389, + 2.16361 + ], + [ + 12.523611, + 2.283335 + ] + ], + [ + [ + 9.554445, + 0.274446 + ], + [ + 9.538057, + 0.270834 + ], + [ + 9.544443, + 0.285002 + ], + [ + 9.554445, + 0.274446 + ] + ] + ] + ] + }, + "name" : "Gabon", + "iso2" : "GA", + "iso3" : "GAB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "hr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 43.46077, + 41.112961 + ], + [ + 45.022942, + 41.29705 + ], + [ + 45.336655, + 41.462494 + ], + [ + 46.520821, + 41.049988 + ], + [ + 46.693871, + 41.312202 + ], + [ + 46.194427, + 41.685822 + ], + [ + 46.451752, + 41.897057 + ], + [ + 44.934708, + 42.760277 + ], + [ + 43.911934, + 42.583321 + ], + [ + 42.849991, + 43.179153 + ], + [ + 40.253387, + 43.58252 + ], + [ + 40.002968, + 43.379265 + ], + [ + 41.428596, + 42.738045 + ], + [ + 41.547623, + 42.405777 + ], + [ + 41.776093, + 41.841927 + ], + [ + 41.531559, + 41.523876 + ], + [ + 42.827492, + 41.584991 + ], + [ + 43.46077, + 41.112961 + ] + ] + ] + }, + "name" : "Georgia", + "iso2" : "GE", + "iso3" : "GEO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "h71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -3.103041, + 5.085022 + ], + [ + -2.058889, + 4.730833 + ], + [ + -1.613333, + 5.020833 + ], + [ + -0.795556, + 5.208055 + ], + [ + 0.255833, + 5.757777 + ], + [ + 0.662222, + 5.754167 + ], + [ + 0.63953, + 5.845486 + ], + [ + 0.488889, + 6.043611 + ], + [ + 0.208197, + 6.089699 + ], + [ + 0.51209, + 6.055245 + ], + [ + 0.634444, + 5.948055 + ], + [ + 0.692222, + 5.748055 + ], + [ + 1.198891, + 6.100546 + ], + [ + 0.525, + 6.947778 + ], + [ + 0.727222, + 8.321388 + ], + [ + 0.382735, + 8.760756 + ], + [ + 0.550833, + 9.411388 + ], + [ + 0.2175, + 9.457222 + ], + [ + 0.368333, + 10.259443 + ], + [ + -0.149762, + 11.13854 + ], + [ + -0.618333, + 10.911665 + ], + [ + -2.834048, + 11.002007 + ], + [ + -2.685561, + 9.481817 + ], + [ + -2.487778, + 8.197777 + ], + [ + -3.249167, + 6.611388 + ], + [ + -2.764445, + 5.579166 + ], + [ + -2.928128, + 5.100222 + ], + [ + -3.102272, + 5.109545 + ], + [ + -3.103041, + 5.085022 + ] + ] + ] + }, + "name" : "Ghana", + "iso2" : "GH", + "iso3" : "GHA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "iL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -61.746948, + 11.997499 + ], + [ + -61.628616, + 12.048054 + ], + [ + -61.611946, + 12.23111 + ], + [ + -61.746948, + 11.997499 + ] + ] + ], + [ + [ + [ + -61.580002, + 12.295555 + ], + [ + -61.578896, + 12.323055 + ], + [ + -61.589172, + 12.298054 + ], + [ + -61.580002, + 12.295555 + ] + ] + ], + [ + [ + [ + -61.428337, + 12.453609 + ], + [ + -61.434448, + 12.529165 + ], + [ + -61.496948, + 12.443609 + ], + [ + -61.428337, + 12.453609 + ] + ] + ] + ] + }, + "name" : "Grenada", + "iso2" : "GD", + "iso3" : "GRD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ib1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -43.648056, + 59.84749 + ], + [ + -43.958054, + 59.979715 + ], + [ + -44.115555, + 59.829165 + ], + [ + -43.648056, + 59.84749 + ] + ] + ], + [ + [ + [ + -43.295006, + 59.920832 + ], + [ + -43.20417, + 59.968325 + ], + [ + -43.327782, + 59.997217 + ], + [ + -43.295006, + 59.920832 + ] + ] + ], + [ + [ + [ + -44.313889, + 59.871935 + ], + [ + -43.992226, + 60.008333 + ], + [ + -44.244164, + 60.011667 + ], + [ + -44.313889, + 59.871935 + ] + ] + ], + [ + [ + [ + -43.399994, + 59.926104 + ], + [ + -43.453331, + 60.03805 + ], + [ + -43.509171, + 59.912493 + ], + [ + -43.399994, + 59.926104 + ] + ] + ], + [ + [ + [ + -43.354172, + 60.084436 + ], + [ + -44.132774, + 60.140833 + ], + [ + -43.131111, + 60.055269 + ], + [ + -43.354172, + 60.084436 + ] + ] + ], + [ + [ + [ + -44.409439, + 59.947771 + ], + [ + -44.201668, + 60.046106 + ], + [ + -44.434441, + 60.141382 + ], + [ + -44.497498, + 60.008608 + ], + [ + -44.409439, + 59.947771 + ] + ] + ], + [ + [ + [ + -45.232498, + 60.143328 + ], + [ + -45.266113, + 60.187494 + ], + [ + -45.299995, + 60.14583 + ], + [ + -45.232498, + 60.143328 + ] + ] + ], + [ + [ + [ + -45.365004, + 60.185266 + ], + [ + -45.152222, + 60.376383 + ], + [ + -45.353889, + 60.382494 + ], + [ + -45.365004, + 60.185266 + ] + ] + ], + [ + [ + [ + -45.95472, + 60.615549 + ], + [ + -45.783333, + 60.660822 + ], + [ + -45.961388, + 60.683878 + ], + [ + -45.982773, + 60.67277 + ], + [ + -45.996948, + 60.626657 + ], + [ + -45.95472, + 60.615549 + ] + ] + ], + [ + [ + [ + -45.888611, + 60.695826 + ], + [ + -46.00695, + 60.706385 + ], + [ + -46.20472, + 60.67277 + ], + [ + -46.091942, + 60.635553 + ], + [ + -45.985203, + 60.692228 + ], + [ + -45.888611, + 60.695826 + ] + ] + ], + [ + [ + [ + -46.345551, + 60.668055 + ], + [ + -46.277222, + 60.772219 + ], + [ + -46.499443, + 60.69916 + ], + [ + -46.345551, + 60.668055 + ] + ] + ], + [ + [ + [ + -47.754173, + 60.804712 + ], + [ + -48.238892, + 60.795549 + ], + [ + -47.902779, + 60.676386 + ], + [ + -47.754173, + 60.804712 + ] + ] + ], + [ + [ + [ + -46.980278, + 60.772768 + ], + [ + -47.011116, + 60.808046 + ], + [ + -47.049446, + 60.805269 + ], + [ + -46.980278, + 60.772768 + ] + ] + ], + [ + [ + [ + -47.161385, + 60.798052 + ], + [ + -47.152779, + 60.816668 + ], + [ + -47.226944, + 60.818056 + ], + [ + -47.161385, + 60.798052 + ] + ] + ], + [ + [ + [ + -47.231384, + 60.841936 + ], + [ + -47.178337, + 60.871935 + ], + [ + -47.258614, + 60.855829 + ], + [ + -47.231384, + 60.841936 + ] + ] + ], + [ + [ + [ + -47.101944, + 60.822771 + ], + [ + -47.083611, + 60.874712 + ], + [ + -47.192497, + 60.835825 + ], + [ + -47.101944, + 60.822771 + ] + ] + ], + [ + [ + [ + -46.753616, + 60.750277 + ], + [ + -46.164444, + 60.922495 + ], + [ + -46.845001, + 60.760553 + ], + [ + -46.753616, + 60.750277 + ] + ] + ], + [ + [ + [ + -47.029442, + 60.897219 + ], + [ + -46.958054, + 60.925554 + ], + [ + -47.050278, + 60.895273 + ], + [ + -47.029442, + 60.897219 + ] + ] + ], + [ + [ + [ + -47.140839, + 60.87916 + ], + [ + -47.073334, + 60.926661 + ], + [ + -47.171669, + 60.883608 + ], + [ + -47.140839, + 60.87916 + ] + ] + ], + [ + [ + [ + -46.466393, + 60.92222 + ], + [ + -46.429443, + 60.975824 + ], + [ + -46.518608, + 60.993608 + ], + [ + -46.526665, + 60.988886 + ], + [ + -46.514168, + 60.930552 + ], + [ + -46.466393, + 60.92222 + ] + ] + ], + [ + [ + [ + -48.073616, + 61.053881 + ], + [ + -48.243332, + 61.098604 + ], + [ + -48.370552, + 61.078608 + ], + [ + -48.073616, + 61.053881 + ] + ] + ], + [ + [ + [ + -48.934441, + 61.249163 + ], + [ + -48.724167, + 61.291384 + ], + [ + -48.874168, + 61.301386 + ], + [ + -48.934441, + 61.249163 + ] + ] + ], + [ + [ + [ + -48.583328, + 61.312769 + ], + [ + -48.523331, + 61.361109 + ], + [ + -48.833061, + 61.334993 + ], + [ + -48.583328, + 61.312769 + ] + ] + ], + [ + [ + [ + -42.453056, + 61.441378 + ], + [ + -42.389725, + 61.488886 + ], + [ + -42.496666, + 61.454996 + ], + [ + -42.453056, + 61.441378 + ] + ] + ], + [ + [ + [ + -49.089722, + 61.633333 + ], + [ + -49.149445, + 61.700548 + ], + [ + -49.194443, + 61.66221 + ], + [ + -49.089722, + 61.633333 + ] + ] + ], + [ + [ + [ + -49.392227, + 61.706942 + ], + [ + -49.349998, + 61.743052 + ], + [ + -49.485275, + 61.75139 + ], + [ + -49.392227, + 61.706942 + ] + ] + ], + [ + [ + [ + -42.269165, + 61.750277 + ], + [ + -42.121109, + 61.772768 + ], + [ + -42.084442, + 61.874994 + ], + [ + -42.269165, + 61.750277 + ] + ] + ], + [ + [ + [ + -49.440552, + 61.874712 + ], + [ + -49.419449, + 61.930552 + ], + [ + -49.634171, + 61.930826 + ], + [ + -49.440552, + 61.874712 + ] + ] + ], + [ + [ + [ + -49.66333, + 62.180277 + ], + [ + -49.650276, + 62.237772 + ], + [ + -49.79834, + 62.213884 + ], + [ + -49.66333, + 62.180277 + ] + ] + ], + [ + [ + [ + -42.277222, + 62.577219 + ], + [ + -42.125557, + 62.496386 + ], + [ + -42.131111, + 62.564714 + ], + [ + -42.277222, + 62.577219 + ] + ] + ], + [ + [ + [ + -41.996109, + 62.774996 + ], + [ + -42.447777, + 62.75139 + ], + [ + -41.861946, + 62.73472 + ], + [ + -41.996109, + 62.774996 + ] + ] + ], + [ + [ + [ + -41.561386, + 62.873606 + ], + [ + -41.458336, + 63.01639 + ], + [ + -41.588608, + 63.002497 + ], + [ + -41.561386, + 62.873606 + ] + ] + ], + [ + [ + [ + -50.636665, + 63.073885 + ], + [ + -50.755005, + 63.061937 + ], + [ + -50.67028, + 63.02527 + ], + [ + -50.636665, + 63.073885 + ] + ] + ], + [ + [ + [ + -41.333885, + 63.050272 + ], + [ + -41.373329, + 63.109995 + ], + [ + -41.52639, + 63.081385 + ], + [ + -41.333885, + 63.050272 + ] + ] + ], + [ + [ + [ + -41.209442, + 63.15777 + ], + [ + -41.466393, + 63.171381 + ], + [ + -41.184441, + 63.122766 + ], + [ + -41.209442, + 63.15777 + ] + ] + ], + [ + [ + [ + -50.799728, + 63.081667 + ], + [ + -50.682777, + 63.116663 + ], + [ + -50.788055, + 63.186655 + ], + [ + -50.799728, + 63.081667 + ] + ] + ], + [ + [ + [ + -50.618057, + 63.114717 + ], + [ + -50.468605, + 63.153322 + ], + [ + -50.612221, + 63.201662 + ], + [ + -50.618057, + 63.114717 + ] + ] + ], + [ + [ + [ + -41.095833, + 63.221102 + ], + [ + -41.871941, + 63.466661 + ], + [ + -41.430832, + 63.231379 + ], + [ + -41.095833, + 63.221102 + ] + ] + ], + [ + [ + [ + -51.273613, + 63.476938 + ], + [ + -51.20472, + 63.499163 + ], + [ + -51.358055, + 63.483332 + ], + [ + -51.273613, + 63.476938 + ] + ] + ], + [ + [ + [ + -52.000839, + 64.127764 + ], + [ + -51.90583, + 64.188875 + ], + [ + -52.063614, + 64.163881 + ], + [ + -52.000839, + 64.127764 + ] + ] + ], + [ + [ + [ + -40.674171, + 64.291368 + ], + [ + -41.05278, + 64.232759 + ], + [ + -40.679443, + 64.208605 + ], + [ + -40.674171, + 64.291368 + ] + ] + ], + [ + [ + [ + -41.125557, + 64.288317 + ], + [ + -41.296951, + 64.317217 + ], + [ + -41.374168, + 64.28499 + ], + [ + -41.125557, + 64.288317 + ] + ] + ], + [ + [ + [ + -51.567223, + 64.256105 + ], + [ + -51.321388, + 64.326387 + ], + [ + -51.43972, + 64.36249 + ], + [ + -51.567223, + 64.256105 + ] + ] + ], + [ + [ + [ + -51.239723, + 64.214708 + ], + [ + -50.819168, + 64.541658 + ], + [ + -51.025002, + 64.549425 + ], + [ + -51.341942, + 64.253328 + ], + [ + -51.239723, + 64.214708 + ] + ] + ], + [ + [ + [ + -51.323616, + 64.373598 + ], + [ + -51.091942, + 64.566668 + ], + [ + -51.421387, + 64.413317 + ], + [ + -51.323616, + 64.373598 + ] + ] + ], + [ + [ + [ + -52.083061, + 64.591372 + ], + [ + -52.119995, + 64.629152 + ], + [ + -52.14917, + 64.627199 + ], + [ + -52.141945, + 64.597765 + ], + [ + -52.083061, + 64.591372 + ] + ] + ], + [ + [ + [ + -40.18, + 64.431093 + ], + [ + -40.542778, + 64.844149 + ], + [ + -40.864723, + 64.908602 + ], + [ + -40.18, + 64.431093 + ] + ] + ], + [ + [ + [ + -40.495834, + 65.015276 + ], + [ + -40.556389, + 65.073885 + ], + [ + -40.625275, + 65.038591 + ], + [ + -40.495834, + 65.015276 + ] + ] + ], + [ + [ + [ + -52.396666, + 65.109423 + ], + [ + -52.245003, + 65.181658 + ], + [ + -52.361389, + 65.186922 + ], + [ + -52.396666, + 65.109423 + ] + ] + ], + [ + [ + [ + -39.494446, + 65.319994 + ], + [ + -39.804443, + 65.333879 + ], + [ + -39.564444, + 65.265825 + ], + [ + -39.494446, + 65.319994 + ] + ] + ], + [ + [ + [ + -39.277779, + 65.461382 + ], + [ + -39.238892, + 65.508608 + ], + [ + -39.386948, + 65.50194 + ], + [ + -39.277779, + 65.461382 + ] + ] + ], + [ + [ + [ + -52.928337, + 65.425264 + ], + [ + -52.871941, + 65.513613 + ], + [ + -53.087776, + 65.492479 + ], + [ + -52.928337, + 65.425264 + ] + ] + ], + [ + [ + [ + -38.849167, + 65.518602 + ], + [ + -38.761116, + 65.541658 + ], + [ + -38.958611, + 65.517763 + ], + [ + -38.849167, + 65.518602 + ] + ] + ], + [ + [ + [ + -37.037506, + 65.532763 + ], + [ + -37.213333, + 65.578051 + ], + [ + -37.191536, + 65.532625 + ], + [ + -37.037506, + 65.532763 + ] + ] + ], + [ + [ + [ + -52.995003, + 65.548876 + ], + [ + -52.848053, + 65.644152 + ], + [ + -53.232498, + 65.59833 + ], + [ + -52.995003, + 65.548876 + ] + ] + ], + [ + [ + [ + -36.995552, + 65.584429 + ], + [ + -36.992226, + 65.701097 + ], + [ + -37.212502, + 65.68442 + ], + [ + -36.995552, + 65.584429 + ] + ] + ], + [ + [ + [ + -37.394165, + 65.813601 + ], + [ + -37.989166, + 65.69832 + ], + [ + -37.485001, + 65.60721 + ], + [ + -37.394165, + 65.813601 + ] + ] + ], + [ + [ + [ + -36.79834, + 65.750551 + ], + [ + -36.776947, + 65.863878 + ], + [ + -36.942772, + 65.819719 + ], + [ + -36.79834, + 65.750551 + ] + ] + ], + [ + [ + [ + -36.319725, + 65.821932 + ], + [ + -36.18306, + 65.878038 + ], + [ + -36.371109, + 65.877474 + ], + [ + -36.319725, + 65.821932 + ] + ] + ], + [ + [ + [ + -36.619995, + 65.795259 + ], + [ + -36.507225, + 65.956942 + ], + [ + -36.748337, + 65.909716 + ], + [ + -36.736664, + 65.801653 + ], + [ + -36.619995, + 65.795259 + ] + ] + ], + [ + [ + [ + -53.525276, + 66.042482 + ], + [ + -53.423058, + 66.084429 + ], + [ + -53.679726, + 66.081942 + ], + [ + -53.525276, + 66.042482 + ] + ] + ], + [ + [ + [ + -35.499725, + 66.17415 + ], + [ + -35.385002, + 66.240816 + ], + [ + -35.537506, + 66.225542 + ], + [ + -35.499725, + 66.17415 + ] + ] + ], + [ + [ + [ + -33.861946, + 66.793871 + ], + [ + -33.884445, + 66.872484 + ], + [ + -33.970551, + 66.839708 + ], + [ + -33.861946, + 66.793871 + ] + ] + ], + [ + [ + [ + -53.070839, + 66.866091 + ], + [ + -53.464165, + 66.798876 + ], + [ + -52.868233, + 66.897219 + ], + [ + -53.070839, + 66.866091 + ] + ] + ], + [ + [ + [ + -33.431114, + 67.142214 + ], + [ + -33.342224, + 67.204714 + ], + [ + -33.476105, + 67.180544 + ], + [ + -33.431114, + 67.142214 + ] + ] + ], + [ + [ + [ + -33.252228, + 67.295259 + ], + [ + -33.25695, + 67.376085 + ], + [ + -33.327782, + 67.336107 + ], + [ + -33.252228, + 67.295259 + ] + ] + ], + [ + [ + [ + -53.65889, + 67.675814 + ], + [ + -53.587776, + 67.733599 + ], + [ + -53.763062, + 67.776934 + ], + [ + -53.65889, + 67.675814 + ] + ] + ], + [ + [ + [ + -53.347221, + 68.009996 + ], + [ + -53.225273, + 68.058596 + ], + [ + -53.473053, + 68.069155 + ], + [ + -53.347221, + 68.009996 + ] + ] + ], + [ + [ + [ + -51.293335, + 68.100817 + ], + [ + -51.205275, + 68.121645 + ], + [ + -52.007507, + 68.076662 + ], + [ + -51.293335, + 68.100817 + ] + ] + ], + [ + [ + [ + -29.838055, + 68.140825 + ], + [ + -29.694721, + 68.208605 + ], + [ + -30.011669, + 68.207491 + ], + [ + -29.838055, + 68.140825 + ] + ] + ], + [ + [ + [ + -52.070839, + 68.115267 + ], + [ + -51.45417, + 68.257769 + ], + [ + -52.315834, + 68.168871 + ], + [ + -52.070839, + 68.115267 + ] + ] + ], + [ + [ + [ + -52.988892, + 68.357759 + ], + [ + -52.854172, + 68.433321 + ], + [ + -53.019722, + 68.494432 + ], + [ + -53.211945, + 68.401384 + ], + [ + -52.988892, + 68.357759 + ] + ] + ], + [ + [ + [ + -52.64167, + 68.529985 + ], + [ + -52.439438, + 68.560808 + ], + [ + -52.694717, + 68.546099 + ], + [ + -52.64167, + 68.529985 + ] + ] + ], + [ + [ + [ + -52.749725, + 68.484713 + ], + [ + -52.809441, + 68.568605 + ], + [ + -52.884171, + 68.548876 + ], + [ + -52.749725, + 68.484713 + ] + ] + ], + [ + [ + [ + -51.94194, + 68.594439 + ], + [ + -51.803329, + 68.627199 + ], + [ + -52.421387, + 68.571383 + ], + [ + -51.94194, + 68.594439 + ] + ] + ], + [ + [ + [ + -51.035278, + 68.639437 + ], + [ + -51.12944, + 68.682756 + ], + [ + -51.232773, + 68.666658 + ], + [ + -51.035278, + 68.639437 + ] + ] + ], + [ + [ + [ + -52.134726, + 68.701097 + ], + [ + -52.634171, + 68.710268 + ], + [ + -53.120552, + 68.56415 + ], + [ + -52.134726, + 68.701097 + ] + ] + ], + [ + [ + [ + -23.286667, + 69.6411 + ], + [ + -23.289444, + 69.738314 + ], + [ + -23.593056, + 69.713045 + ], + [ + -23.286667, + 69.6411 + ] + ] + ], + [ + [ + [ + -50.50528, + 69.810534 + ], + [ + -50.409721, + 69.861101 + ], + [ + -50.606392, + 69.856371 + ], + [ + -50.50528, + 69.810534 + ] + ] + ], + [ + [ + [ + -50.923332, + 69.892763 + ], + [ + -51.388054, + 69.705263 + ], + [ + -50.958336, + 69.550539 + ], + [ + -50.653885, + 69.836657 + ], + [ + -50.923332, + 69.892763 + ] + ] + ], + [ + [ + [ + -52.693054, + 69.917482 + ], + [ + -54.429169, + 70.30971 + ], + [ + -54.829727, + 70.078325 + ], + [ + -54.229439, + 69.913042 + ], + [ + -54.936111, + 69.845537 + ], + [ + -54.389442, + 69.675264 + ], + [ + -54.994446, + 69.694704 + ], + [ + -53.347496, + 69.579714 + ], + [ + -54.269165, + 69.402208 + ], + [ + -53.574722, + 69.229433 + ], + [ + -51.833328, + 69.626085 + ], + [ + -52.693054, + 69.917482 + ] + ] + ], + [ + [ + [ + -54.661385, + 70.372484 + ], + [ + -55.027779, + 70.483049 + ], + [ + -54.934723, + 70.375536 + ], + [ + -54.661385, + 70.372484 + ] + ] + ], + [ + [ + [ + -51.512779, + 70.653872 + ], + [ + -51.692497, + 70.72777 + ], + [ + -51.861671, + 70.722216 + ], + [ + -51.512779, + 70.653872 + ] + ] + ], + [ + [ + [ + -27.685276, + 70.733873 + ], + [ + -27.276112, + 70.874987 + ], + [ + -27.736942, + 70.882204 + ], + [ + -27.685276, + 70.733873 + ] + ] + ], + [ + [ + [ + -25.394722, + 70.911654 + ], + [ + -27.14959, + 70.874392 + ], + [ + -28.136665, + 70.454714 + ], + [ + -26.029724, + 70.521105 + ], + [ + -25.294445, + 70.659716 + ], + [ + -25.394722, + 70.911654 + ] + ] + ], + [ + [ + [ + -51.565834, + 70.864702 + ], + [ + -52.023056, + 70.979158 + ], + [ + -52.162216, + 70.88666 + ], + [ + -51.565834, + 70.864702 + ] + ] + ], + [ + [ + [ + -25.308891, + 71.014437 + ], + [ + -25.460556, + 71.104158 + ], + [ + -25.579166, + 71.102205 + ], + [ + -25.308891, + 71.014437 + ] + ] + ], + [ + [ + [ + -25.282501, + 71.131929 + ], + [ + -25.359722, + 71.205263 + ], + [ + -25.472775, + 71.150545 + ], + [ + -25.282501, + 71.131929 + ] + ] + ], + [ + [ + [ + -53.64917, + 71.024157 + ], + [ + -53.376389, + 71.114992 + ], + [ + -53.598053, + 71.313311 + ], + [ + -53.99028, + 71.131365 + ], + [ + -53.64917, + 71.024157 + ] + ] + ], + [ + [ + [ + -52.571388, + 71.346102 + ], + [ + -53.184441, + 71.321383 + ], + [ + -52.328339, + 71.287767 + ], + [ + -52.571388, + 71.346102 + ] + ] + ], + [ + [ + [ + -53.133614, + 71.661928 + ], + [ + -53.474442, + 71.652483 + ], + [ + -52.756111, + 71.660265 + ], + [ + -53.133614, + 71.661928 + ] + ] + ], + [ + [ + [ + -55.559166, + 71.819155 + ], + [ + -55.409996, + 71.890276 + ], + [ + -55.805557, + 71.878862 + ], + [ + -55.559166, + 71.819155 + ] + ] + ], + [ + [ + [ + -55.796112, + 72.070543 + ], + [ + -55.725273, + 72.126085 + ], + [ + -55.938606, + 72.079439 + ], + [ + -55.796112, + 72.070543 + ] + ] + ], + [ + [ + [ + -55.374168, + 72.159716 + ], + [ + -55.015282, + 72.377199 + ], + [ + -55.688889, + 72.198595 + ], + [ + -55.374168, + 72.159716 + ] + ] + ], + [ + [ + [ + -55.065002, + 72.52527 + ], + [ + -55.030556, + 72.588884 + ], + [ + -55.383331, + 72.545259 + ], + [ + -55.065002, + 72.52527 + ] + ] + ], + [ + [ + [ + -55.650276, + 72.582491 + ], + [ + -55.943054, + 72.593599 + ], + [ + -55.99472, + 72.557482 + ], + [ + -55.650276, + 72.582491 + ] + ] + ], + [ + [ + [ + -55.131943, + 72.600817 + ], + [ + -54.946663, + 72.672213 + ], + [ + -55.262222, + 72.597765 + ], + [ + -55.131943, + 72.600817 + ] + ] + ], + [ + [ + [ + -54.832504, + 72.695528 + ], + [ + -54.872498, + 72.756945 + ], + [ + -55.0625, + 72.718325 + ], + [ + -54.832504, + 72.695528 + ] + ] + ], + [ + [ + [ + -55.70417, + 72.714998 + ], + [ + -55.639442, + 72.777773 + ], + [ + -56.226105, + 72.706102 + ], + [ + -55.70417, + 72.714998 + ] + ] + ], + [ + [ + [ + -55.285561, + 72.681093 + ], + [ + -54.964722, + 72.811373 + ], + [ + -55.849442, + 72.611376 + ], + [ + -55.285561, + 72.681093 + ] + ] + ], + [ + [ + [ + -55.946663, + 72.82361 + ], + [ + -55.992226, + 72.786654 + ], + [ + -55.801666, + 72.792482 + ], + [ + -55.946663, + 72.82361 + ] + ] + ], + [ + [ + [ + -23.608612, + 72.834993 + ], + [ + -24.484444, + 72.825823 + ], + [ + -22.562778, + 72.138887 + ], + [ + -22.134167, + 72.271654 + ], + [ + -22.756947, + 72.441362 + ], + [ + -21.932499, + 72.399157 + ], + [ + -23.608612, + 72.834993 + ] + ] + ], + [ + [ + [ + -55.586388, + 72.890276 + ], + [ + -55.536667, + 72.822496 + ], + [ + -55.352501, + 72.852205 + ], + [ + -55.586388, + 72.890276 + ] + ] + ], + [ + [ + [ + -24.896666, + 72.777773 + ], + [ + -24.771389, + 72.910814 + ], + [ + -25.210831, + 72.851656 + ], + [ + -24.896666, + 72.777773 + ] + ] + ], + [ + [ + [ + -22.549168, + 73.007219 + ], + [ + -24.58889, + 72.957491 + ], + [ + -21.865833, + 72.713884 + ], + [ + -22.549168, + 73.007219 + ] + ] + ], + [ + [ + [ + -55.753334, + 73.011385 + ], + [ + -55.693886, + 73.032213 + ], + [ + -55.889725, + 73.02582 + ], + [ + -55.753334, + 73.011385 + ] + ] + ], + [ + [ + [ + -55.075562, + 72.965548 + ], + [ + -55.518608, + 73.045824 + ], + [ + -55.689163, + 72.993593 + ], + [ + -55.075562, + 72.965548 + ] + ] + ], + [ + [ + [ + -21.353333, + 73.091372 + ], + [ + -21.173054, + 73.134432 + ], + [ + -21.462776, + 73.118593 + ], + [ + -21.353333, + 73.091372 + ] + ] + ], + [ + [ + [ + -56.201942, + 73.15555 + ], + [ + -56.273331, + 73.218874 + ], + [ + -56.331673, + 73.172213 + ], + [ + -56.201942, + 73.15555 + ] + ] + ], + [ + [ + [ + -56.097778, + 73.086382 + ], + [ + -55.815552, + 73.224703 + ], + [ + -56.01722, + 73.228594 + ], + [ + -56.097778, + 73.086382 + ] + ] + ], + [ + [ + [ + -55.686386, + 73.282763 + ], + [ + -55.654167, + 73.356371 + ], + [ + -55.871666, + 73.327776 + ], + [ + -55.686386, + 73.282763 + ] + ] + ], + [ + [ + [ + -55.953888, + 73.29915 + ], + [ + -55.830833, + 73.373308 + ], + [ + -56.153328, + 73.304155 + ], + [ + -55.953888, + 73.29915 + ] + ] + ], + [ + [ + [ + -55.53167, + 73.318056 + ], + [ + -55.328339, + 73.394991 + ], + [ + -55.593887, + 73.344149 + ], + [ + -55.53167, + 73.318056 + ] + ] + ], + [ + [ + [ + -24.360001, + 73.411928 + ], + [ + -25.243053, + 73.405825 + ], + [ + -25.290836, + 73.327776 + ], + [ + -25.712776, + 73.186373 + ], + [ + -22.93861, + 73.134722 + ], + [ + -25.010281, + 73.30942 + ], + [ + -23.209999, + 73.233599 + ], + [ + -24.360001, + 73.411928 + ] + ] + ], + [ + [ + [ + -55.589722, + 73.38109 + ], + [ + -55.470833, + 73.431932 + ], + [ + -56.115837, + 73.556643 + ], + [ + -55.589722, + 73.38109 + ] + ] + ], + [ + [ + [ + -56.410278, + 73.541933 + ], + [ + -56.188606, + 73.627474 + ], + [ + -56.558609, + 73.556368 + ], + [ + -56.410278, + 73.541933 + ] + ] + ], + [ + [ + [ + -56.344162, + 73.672487 + ], + [ + -56.965553, + 73.658037 + ], + [ + -56.833328, + 73.611376 + ], + [ + -56.344162, + 73.672487 + ] + ] + ], + [ + [ + [ + -56.368607, + 73.7661 + ], + [ + -56.436943, + 73.768053 + ], + [ + -56.205559, + 73.718325 + ], + [ + -56.368607, + 73.7661 + ] + ] + ], + [ + [ + [ + -55.956665, + 73.834719 + ], + [ + -56.777222, + 73.875811 + ], + [ + -56.323334, + 73.783327 + ], + [ + -55.956665, + 73.834719 + ] + ] + ], + [ + [ + [ + -20.016113, + 73.884432 + ], + [ + -20.113613, + 73.932756 + ], + [ + -20.234722, + 73.926378 + ], + [ + -20.016113, + 73.884432 + ] + ] + ], + [ + [ + [ + -20.926945, + 74.419985 + ], + [ + -21.990833, + 74.227205 + ], + [ + -20.12389, + 74.201097 + ], + [ + -20.926945, + 74.419985 + ] + ] + ], + [ + [ + [ + -56.53083, + 74.53055 + ], + [ + -57.556664, + 74.488314 + ], + [ + -56.462776, + 74.504168 + ], + [ + -56.53083, + 74.53055 + ] + ] + ], + [ + [ + [ + -56.982773, + 74.553591 + ], + [ + -56.838608, + 74.591661 + ], + [ + -57.095551, + 74.557482 + ], + [ + -56.982773, + 74.553591 + ] + ] + ], + [ + [ + [ + -57.185272, + 74.576097 + ], + [ + -57.083061, + 74.613039 + ], + [ + -57.281944, + 74.581667 + ], + [ + -57.185272, + 74.576097 + ] + ] + ], + [ + [ + [ + -18.838612, + 74.538317 + ], + [ + -18.752781, + 74.656099 + ], + [ + -19.219997, + 74.581102 + ], + [ + -18.838612, + 74.538317 + ] + ] + ], + [ + [ + [ + -18.530003, + 74.712206 + ], + [ + -18.383057, + 74.620256 + ], + [ + -18.300556, + 74.705263 + ], + [ + -18.530003, + 74.712206 + ] + ] + ], + [ + [ + [ + -57.476387, + 74.706102 + ], + [ + -57.431114, + 74.717485 + ], + [ + -57.727219, + 74.721926 + ], + [ + -57.476387, + 74.706102 + ] + ] + ], + [ + [ + [ + -20.166943, + 74.897493 + ], + [ + -19.960556, + 74.992479 + ], + [ + -20.493053, + 75.030825 + ], + [ + -20.687778, + 74.811647 + ], + [ + -20.084446, + 74.702776 + ], + [ + -19.729164, + 74.858599 + ], + [ + -20.166943, + 74.897493 + ] + ] + ], + [ + [ + [ + -17.808334, + 75.306093 + ], + [ + -18.839169, + 75.328325 + ], + [ + -18.915554, + 75.004168 + ], + [ + -17.319721, + 75.13109 + ], + [ + -18.215275, + 75.225267 + ], + [ + -17.808334, + 75.306093 + ] + ] + ], + [ + [ + [ + -65.049438, + 76.013887 + ], + [ + -64.955566, + 76.054979 + ], + [ + -65.221115, + 76.045534 + ], + [ + -65.049438, + 76.013887 + ] + ] + ], + [ + [ + [ + -64.055557, + 76.05942 + ], + [ + -64.014725, + 76.110537 + ], + [ + -64.146118, + 76.09305 + ], + [ + -64.055557, + 76.05942 + ] + ] + ], + [ + [ + [ + -61.899445, + 76.129702 + ], + [ + -61.881668, + 76.186647 + ], + [ + -61.962219, + 76.178591 + ], + [ + -61.899445, + 76.129702 + ] + ] + ], + [ + [ + [ + -20.343056, + 76.264162 + ], + [ + -20.158611, + 76.346941 + ], + [ + -20.660831, + 76.338884 + ], + [ + -20.343056, + 76.264162 + ] + ] + ], + [ + [ + [ + -69.976105, + 76.394152 + ], + [ + -69.894455, + 76.436922 + ], + [ + -70.188324, + 76.43915 + ], + [ + -69.976105, + 76.394152 + ] + ] + ], + [ + [ + [ + -20.388054, + 76.451662 + ], + [ + -20.26778, + 76.495256 + ], + [ + -20.496109, + 76.474993 + ], + [ + -20.388054, + 76.451662 + ] + ] + ], + [ + [ + [ + -21.353054, + 76.47249 + ], + [ + -21.249443, + 76.499712 + ], + [ + -21.489719, + 76.489702 + ], + [ + -21.353054, + 76.47249 + ] + ] + ], + [ + [ + [ + -20.793335, + 76.389986 + ], + [ + -20.720833, + 76.513887 + ], + [ + -21.141109, + 76.447481 + ], + [ + -20.793335, + 76.389986 + ] + ] + ], + [ + [ + [ + -69.669449, + 76.53055 + ], + [ + -69.464722, + 76.579439 + ], + [ + -70.036392, + 76.563311 + ], + [ + -69.669449, + 76.53055 + ] + ] + ], + [ + [ + [ + -20.712776, + 76.560808 + ], + [ + -20.625557, + 76.579439 + ], + [ + -20.939442, + 76.523317 + ], + [ + -20.712776, + 76.560808 + ] + ] + ], + [ + [ + [ + -21.083057, + 76.569155 + ], + [ + -20.963886, + 76.629152 + ], + [ + -21.547501, + 76.615267 + ], + [ + -21.083057, + 76.569155 + ] + ] + ], + [ + [ + [ + -19.648056, + 76.69832 + ], + [ + -19.605555, + 76.726381 + ], + [ + -19.857224, + 76.731936 + ], + [ + -19.648056, + 76.69832 + ] + ] + ], + [ + [ + [ + -18.653053, + 76.601656 + ], + [ + -19.019169, + 76.759432 + ], + [ + -18.763058, + 76.58777 + ], + [ + -19.141945, + 76.529436 + ], + [ + -18.635277, + 75.889986 + ], + [ + -18.653053, + 76.601656 + ] + ] + ], + [ + [ + [ + -19.691944, + 76.781939 + ], + [ + -19.59, + 76.811647 + ], + [ + -19.809166, + 76.788591 + ], + [ + -19.691944, + 76.781939 + ] + ] + ], + [ + [ + [ + -20.192776, + 76.822496 + ], + [ + -20.210556, + 76.868593 + ], + [ + -20.389442, + 76.847216 + ], + [ + -20.192776, + 76.822496 + ] + ] + ], + [ + [ + [ + -71.942215, + 77.30443 + ], + [ + -71.34584, + 77.375811 + ], + [ + -72.573898, + 77.413881 + ], + [ + -71.942215, + 77.30443 + ] + ] + ], + [ + [ + [ + -70.66777, + 77.457766 + ], + [ + -71.299438, + 77.447756 + ], + [ + -70.056381, + 77.399157 + ], + [ + -70.66777, + 77.457766 + ] + ] + ], + [ + [ + [ + -66.196381, + 77.504442 + ], + [ + -66.731384, + 77.507219 + ], + [ + -66.660828, + 77.488588 + ], + [ + -66.196381, + 77.504442 + ] + ] + ], + [ + [ + [ + -19.834446, + 77.505556 + ], + [ + -19.83028, + 77.554705 + ], + [ + -20.041668, + 77.565813 + ], + [ + -19.834446, + 77.505556 + ] + ] + ], + [ + [ + [ + -66.900558, + 77.591661 + ], + [ + -66.625824, + 77.636385 + ], + [ + -66.97084, + 77.599428 + ], + [ + -66.900558, + 77.591661 + ] + ] + ], + [ + [ + [ + -18.037224, + 77.666094 + ], + [ + -17.584166, + 77.83777 + ], + [ + -18.242222, + 77.679979 + ], + [ + -18.037224, + 77.666094 + ] + ] + ], + [ + [ + [ + -19.940556, + 77.966661 + ], + [ + -20.490833, + 77.954714 + ], + [ + -19.775833, + 77.830553 + ], + [ + -19.229164, + 77.829714 + ], + [ + -19.940556, + 77.966661 + ] + ] + ], + [ + [ + [ + -19.542225, + 77.916094 + ], + [ + -19.613613, + 77.971926 + ], + [ + -19.699722, + 77.964998 + ], + [ + -19.542225, + 77.916094 + ] + ] + ], + [ + [ + [ + -21.31028, + 77.885546 + ], + [ + -21.111111, + 78.012209 + ], + [ + -21.428055, + 77.923601 + ], + [ + -21.31028, + 77.885546 + ] + ] + ], + [ + [ + [ + -20.536114, + 78.015825 + ], + [ + -20.362778, + 78.051653 + ], + [ + -20.631943, + 78.032488 + ], + [ + -20.536114, + 78.015825 + ] + ] + ], + [ + [ + [ + -19.276669, + 78.117754 + ], + [ + -19.298889, + 78.175814 + ], + [ + -19.383331, + 78.127199 + ], + [ + -19.276669, + 78.117754 + ] + ] + ], + [ + [ + [ + -19.043335, + 78.076937 + ], + [ + -18.829723, + 78.176378 + ], + [ + -19.191944, + 78.117754 + ], + [ + -19.043335, + 78.076937 + ] + ] + ], + [ + [ + [ + -20.915833, + 78.146105 + ], + [ + -20.855555, + 78.16527 + ], + [ + -21.043055, + 78.181368 + ], + [ + -20.915833, + 78.146105 + ] + ] + ], + [ + [ + [ + -20.526669, + 78.161379 + ], + [ + -20.302223, + 78.21332 + ], + [ + -20.783333, + 78.191362 + ], + [ + -20.526669, + 78.161379 + ] + ] + ], + [ + [ + [ + -19.490555, + 78.241365 + ], + [ + -19.422775, + 78.276659 + ], + [ + -19.595001, + 78.24721 + ], + [ + -19.490555, + 78.241365 + ] + ] + ], + [ + [ + [ + -19.15889, + 78.240267 + ], + [ + -18.885555, + 78.295259 + ], + [ + -19.353333, + 78.283327 + ], + [ + -19.15889, + 78.240267 + ] + ] + ], + [ + [ + [ + -19.633331, + 78.276659 + ], + [ + -19.490555, + 78.330553 + ], + [ + -19.677498, + 78.386385 + ], + [ + -19.633331, + 78.276659 + ] + ] + ], + [ + [ + [ + -19.288334, + 78.313875 + ], + [ + -19.081944, + 78.363039 + ], + [ + -19.4025, + 78.394442 + ], + [ + -19.288334, + 78.313875 + ] + ] + ], + [ + [ + [ + -18.969997, + 78.392488 + ], + [ + -18.881111, + 78.428865 + ], + [ + -19.097778, + 78.425264 + ], + [ + -18.969997, + 78.392488 + ] + ] + ], + [ + [ + [ + -19.12611, + 78.455263 + ], + [ + -18.964165, + 78.474993 + ], + [ + -19.254169, + 78.445818 + ], + [ + -19.12611, + 78.455263 + ] + ] + ], + [ + [ + [ + -18.571945, + 78.578051 + ], + [ + -18.314724, + 78.673601 + ], + [ + -18.738888, + 78.606096 + ], + [ + -18.571945, + 78.578051 + ] + ] + ], + [ + [ + [ + -18.243053, + 78.750826 + ], + [ + -18.075558, + 78.817766 + ], + [ + -18.297222, + 78.856096 + ], + [ + -18.243053, + 78.750826 + ] + ] + ], + [ + [ + [ + -19.346947, + 78.811373 + ], + [ + -19.190834, + 78.953051 + ], + [ + -19.756668, + 78.795259 + ], + [ + -19.346947, + 78.811373 + ] + ] + ], + [ + [ + [ + -18.037224, + 78.992754 + ], + [ + -17.556389, + 79.164156 + ], + [ + -17.849998, + 79.215548 + ], + [ + -18.037224, + 78.992754 + ] + ] + ], + [ + [ + [ + -19.375, + 79.126375 + ], + [ + -19.314444, + 79.231371 + ], + [ + -19.496666, + 79.195818 + ], + [ + -19.375, + 79.126375 + ] + ] + ], + [ + [ + [ + -19.908333, + 80.059145 + ], + [ + -19.01889, + 80.163607 + ], + [ + -19.756947, + 80.241365 + ], + [ + -20.014168, + 80.096651 + ], + [ + -19.908333, + 80.059145 + ] + ] + ], + [ + [ + [ + -66.595276, + 80.608599 + ], + [ + -66.531677, + 80.61693 + ], + [ + -66.896118, + 80.671099 + ], + [ + -66.595276, + 80.608599 + ] + ] + ], + [ + [ + [ + -20.597221, + 81.672487 + ], + [ + -20.164444, + 81.681932 + ], + [ + -20.971111, + 81.714434 + ], + [ + -20.597221, + 81.672487 + ] + ] + ], + [ + [ + [ + -18.585556, + 81.646654 + ], + [ + -18.304447, + 81.662203 + ], + [ + -19.245831, + 81.777773 + ], + [ + -18.585556, + 81.646654 + ] + ] + ], + [ + [ + [ + -19.777779, + 81.870256 + ], + [ + -20.306667, + 82.130541 + ], + [ + -20.781944, + 82.133883 + ], + [ + -19.777779, + 81.870256 + ] + ] + ], + [ + [ + [ + -18.858334, + 81.974428 + ], + [ + -18.792225, + 81.99193 + ], + [ + -19.413887, + 82.205553 + ], + [ + -18.858334, + 81.974428 + ] + ] + ], + [ + [ + [ + -51.468887, + 81.968325 + ], + [ + -51.19194, + 81.993593 + ], + [ + -53.357506, + 82.224993 + ], + [ + -51.468887, + 81.968325 + ] + ] + ], + [ + [ + [ + -51.888611, + 82.208879 + ], + [ + -51.79528, + 82.214159 + ], + [ + -52.293892, + 82.277483 + ], + [ + -51.888611, + 82.208879 + ] + ] + ], + [ + [ + [ + -48.212502, + 82.39583 + ], + [ + -48.034729, + 82.464434 + ], + [ + -48.864449, + 82.539156 + ], + [ + -48.212502, + 82.39583 + ] + ] + ], + [ + [ + [ + -46.003059, + 82.644442 + ], + [ + -47.749168, + 82.624987 + ], + [ + -45.076668, + 82.055819 + ], + [ + -44.737221, + 82.095827 + ], + [ + -45.067223, + 82.216661 + ], + [ + -44.418892, + 82.366091 + ], + [ + -46.003059, + 82.644442 + ] + ] + ], + [ + [ + [ + -40.174446, + 82.660265 + ], + [ + -40.289169, + 82.69803 + ], + [ + -40.472496, + 82.686373 + ], + [ + -40.174446, + 82.660265 + ] + ] + ], + [ + [ + [ + -49.95472, + 82.769991 + ], + [ + -49.723053, + 82.779985 + ], + [ + -50.067223, + 82.775545 + ], + [ + -49.95472, + 82.769991 + ] + ] + ], + [ + [ + [ + -47.568611, + 82.782488 + ], + [ + -47.442497, + 82.803865 + ], + [ + -48.41555, + 82.84804 + ], + [ + -47.568611, + 82.782488 + ] + ] + ], + [ + [ + [ + -46.443886, + 82.832491 + ], + [ + -46.407501, + 82.836107 + ], + [ + -47.262505, + 82.930819 + ], + [ + -46.443886, + 82.832491 + ] + ] + ], + [ + [ + [ + -39.570557, + 82.996645 + ], + [ + -39.277496, + 83.081377 + ], + [ + -40.546112, + 83.153322 + ], + [ + -39.570557, + 82.996645 + ] + ] + ], + [ + [ + [ + -38.318611, + 83.133608 + ], + [ + -38.009171, + 83.152483 + ], + [ + -38.659721, + 83.164705 + ], + [ + -38.318611, + 83.133608 + ] + ] + ], + [ + [ + [ + -39.904999, + 82.998873 + ], + [ + -40.836945, + 83.163607 + ], + [ + -41.482773, + 83.164995 + ], + [ + -39.904999, + 82.998873 + ] + ] + ], + [ + [ + [ + -40.157776, + 83.203325 + ], + [ + -40.086945, + 83.211657 + ], + [ + -40.57917, + 83.219713 + ], + [ + -40.157776, + 83.203325 + ] + ] + ], + [ + [ + [ + -41.037224, + 83.208605 + ], + [ + -41.001671, + 83.212206 + ], + [ + -41.606392, + 83.224428 + ], + [ + -41.037224, + 83.208605 + ] + ] + ], + [ + [ + [ + -42.097778, + 83.242205 + ], + [ + -41.959442, + 83.251665 + ], + [ + -42.41806, + 83.253878 + ], + [ + -42.097778, + 83.242205 + ] + ] + ], + [ + [ + [ + -39.646111, + 83.262209 + ], + [ + -40.673332, + 83.280275 + ], + [ + -38.639725, + 83.115816 + ], + [ + -39.646111, + 83.262209 + ] + ] + ], + [ + [ + [ + -41.244446, + 83.287767 + ], + [ + -41.45639, + 83.327211 + ], + [ + -41.684441, + 83.313601 + ], + [ + -41.244446, + 83.287767 + ] + ] + ], + [ + [ + [ + -38.902779, + 83.290545 + ], + [ + -39.223885, + 83.396944 + ], + [ + -39.621941, + 83.336931 + ], + [ + -38.902779, + 83.290545 + ] + ] + ], + [ + [ + [ + -32.300278, + 83.570269 + ], + [ + -38.856392, + 83.431658 + ], + [ + -36.877495, + 83.147219 + ], + [ + -39.150276, + 82.980272 + ], + [ + -38.574448, + 82.744143 + ], + [ + -42.695, + 83.274431 + ], + [ + -45.524719, + 83.12221 + ], + [ + -43.386665, + 82.914431 + ], + [ + -46.889999, + 82.961107 + ], + [ + -40.135277, + 82.714434 + ], + [ + -39.752785, + 82.398882 + ], + [ + -41.550278, + 82.73665 + ], + [ + -41.898056, + 82.732759 + ], + [ + -41.682777, + 82.478045 + ], + [ + -42.142775, + 82.76166 + ], + [ + -45.765839, + 82.764437 + ], + [ + -42.299171, + 82.216661 + ], + [ + -44.190552, + 82.312487 + ], + [ + -44.79528, + 82.189974 + ], + [ + -44.502502, + 82.089708 + ], + [ + -44.925278, + 81.989702 + ], + [ + -44.183327, + 81.834154 + ], + [ + -44.639999, + 81.754168 + ], + [ + -50.317505, + 82.518328 + ], + [ + -51.118889, + 82.494143 + ], + [ + -49.43222, + 81.927767 + ], + [ + -51.065552, + 81.932207 + ], + [ + -49.614723, + 81.640276 + ], + [ + -52.89917, + 82.034151 + ], + [ + -53.634445, + 81.513323 + ], + [ + -53.823616, + 81.69359 + ], + [ + -53.559723, + 82.116091 + ], + [ + -54.50528, + 82.365541 + ], + [ + -59.466942, + 81.996935 + ], + [ + -56.478333, + 81.332491 + ], + [ + -58.899445, + 81.864702 + ], + [ + -60.806664, + 81.879976 + ], + [ + -61.452225, + 81.753054 + ], + [ + -60.770836, + 81.500551 + ], + [ + -61.313332, + 81.355822 + ], + [ + -61.056664, + 81.119707 + ], + [ + -63.371666, + 81.155825 + ], + [ + -62.794449, + 80.751101 + ], + [ + -63.680557, + 81.143877 + ], + [ + -67.480835, + 80.325548 + ], + [ + -67.049728, + 80.057482 + ], + [ + -63.78447, + 80.148333 + ], + [ + -65.068893, + 80.009157 + ], + [ + -64.823334, + 79.533602 + ], + [ + -65.976669, + 79.101656 + ], + [ + -72.552216, + 78.521105 + ], + [ + -72.849442, + 78.31415 + ], + [ + -72.456665, + 78.286379 + ], + [ + -73.053604, + 78.157213 + ], + [ + -71.320007, + 77.763613 + ], + [ + -69.968613, + 77.833605 + ], + [ + -70.602783, + 77.678041 + ], + [ + -69.483612, + 77.753603 + ], + [ + -70.289993, + 77.563601 + ], + [ + -69.25029, + 77.453051 + ], + [ + -68.699432, + 77.663881 + ], + [ + -68.344727, + 77.498598 + ], + [ + -66.72583, + 77.680819 + ], + [ + -66.055557, + 77.491365 + ], + [ + -66.659164, + 77.414431 + ], + [ + -66.238327, + 77.248598 + ], + [ + -69.101669, + 77.271929 + ], + [ + -66.170837, + 77.193316 + ], + [ + -66.448608, + 77.133883 + ], + [ + -71.375275, + 77.056093 + ], + [ + -67.982224, + 76.67943 + ], + [ + -69.633331, + 76.380816 + ], + [ + -68.500565, + 76.086931 + ], + [ + -66.458618, + 75.909716 + ], + [ + -67.306107, + 76.167482 + ], + [ + -65.769455, + 76.275545 + ], + [ + -65.553329, + 76.233873 + ], + [ + -65.888336, + 76.09833 + ], + [ + -65.479721, + 76.018602 + ], + [ + -63.440834, + 76.373308 + ], + [ + -60.878609, + 76.152483 + ], + [ + -58.408051, + 75.715273 + ], + [ + -58.208893, + 75.441927 + ], + [ + -58.697777, + 75.346376 + ], + [ + -56.192497, + 74.551653 + ], + [ + -56.797226, + 74.443316 + ], + [ + -56.131111, + 74.383883 + ], + [ + -56.713333, + 74.340822 + ], + [ + -56.309166, + 74.287203 + ], + [ + -57.325005, + 74.107759 + ], + [ + -56.129166, + 74.278322 + ], + [ + -56.409721, + 74.066088 + ], + [ + -55.60778, + 73.720263 + ], + [ + -56.075836, + 73.648607 + ], + [ + -55.085831, + 73.362764 + ], + [ + -55.697777, + 73.066668 + ], + [ + -54.850555, + 73.014437 + ], + [ + -54.604721, + 72.828051 + ], + [ + -54.870552, + 72.642488 + ], + [ + -54.62722, + 72.621645 + ], + [ + -55.016396, + 72.519991 + ], + [ + -54.296394, + 72.479982 + ], + [ + -55.626389, + 72.457491 + ], + [ + -54.682777, + 72.366381 + ], + [ + -55.580002, + 71.998873 + ], + [ + -55.29834, + 71.928591 + ], + [ + -54.384445, + 72.22249 + ], + [ + -55.90583, + 71.678591 + ], + [ + -55.323616, + 71.386934 + ], + [ + -53.91555, + 71.441927 + ], + [ + -54.100281, + 71.707491 + ], + [ + -53.396666, + 71.851931 + ], + [ + -53.955002, + 72.322496 + ], + [ + -53.56028, + 72.358034 + ], + [ + -53.857506, + 72.321657 + ], + [ + -53.321945, + 71.822222 + ], + [ + -52.684441, + 72.001665 + ], + [ + -53.250557, + 71.702776 + ], + [ + -51.640556, + 71.711107 + ], + [ + -52.983612, + 71.41527 + ], + [ + -51.348053, + 71.486101 + ], + [ + -52.555557, + 71.171373 + ], + [ + -51.645554, + 71.361376 + ], + [ + -52.249443, + 71.123308 + ], + [ + -51.226662, + 71.141665 + ], + [ + -51.485275, + 71.063036 + ], + [ + -50.928886, + 70.988588 + ], + [ + -51.952499, + 71.021105 + ], + [ + -50.633057, + 70.740267 + ], + [ + -51.438606, + 70.747759 + ], + [ + -50.618889, + 70.628588 + ], + [ + -51.345001, + 70.566668 + ], + [ + -50.93972, + 70.46776 + ], + [ + -51.037224, + 70.430819 + ], + [ + -50.490555, + 70.509722 + ], + [ + -50.676392, + 70.322771 + ], + [ + -52.722221, + 70.744707 + ], + [ + -54.063332, + 70.829714 + ], + [ + -54.626389, + 70.651934 + ], + [ + -52.312775, + 70.046648 + ], + [ + -50.214165, + 70.021654 + ], + [ + -50.589165, + 69.921923 + ], + [ + -50.313614, + 69.873308 + ], + [ + -50.191666, + 69.757494 + ], + [ + -50.883057, + 69.491365 + ], + [ + -50.20472, + 69.521929 + ], + [ + -51.122772, + 69.201387 + ], + [ + -50.380829, + 69.338884 + ], + [ + -50.138611, + 69.177477 + ], + [ + -50.687775, + 69.117754 + ], + [ + -50.209442, + 68.960817 + ], + [ + -51.069725, + 69.13109 + ], + [ + -51.292503, + 68.748323 + ], + [ + -50.656387, + 68.825548 + ], + [ + -50.865837, + 68.614702 + ], + [ + -52.46167, + 68.544985 + ], + [ + -53.079727, + 68.323046 + ], + [ + -53.389168, + 68.327776 + ], + [ + -52.419167, + 68.180544 + ], + [ + -50.82, + 68.503603 + ], + [ + -51.183609, + 68.398882 + ], + [ + -50.956665, + 68.182756 + ], + [ + -51.434166, + 68.19832 + ], + [ + -50.153053, + 67.933321 + ], + [ + -50.56945, + 67.90082 + ], + [ + -51.188606, + 68.063601 + ], + [ + -51.85778, + 68.041933 + ], + [ + -52.802223, + 68.168871 + ], + [ + -52.414444, + 68.062761 + ], + [ + -53.321114, + 68.18442 + ], + [ + -52.059998, + 67.975267 + ], + [ + -53.187218, + 68.043322 + ], + [ + -52.954559, + 67.978983 + ], + [ + -53.753616, + 67.601091 + ], + [ + -51.059998, + 67.974154 + ], + [ + -51.331116, + 67.868868 + ], + [ + -50.417503, + 67.844439 + ], + [ + -51.230827, + 67.697206 + ], + [ + -50.969719, + 67.62221 + ], + [ + -50.650276, + 67.651659 + ], + [ + -50.288612, + 67.744982 + ], + [ + -49.936661, + 67.693865 + ], + [ + -50.274445, + 67.731096 + ], + [ + -50.852226, + 67.590822 + ], + [ + -50.071945, + 67.509996 + ], + [ + -50.700554, + 67.491655 + ], + [ + -51.330284, + 67.675814 + ], + [ + -51.809441, + 67.625811 + ], + [ + -52.496109, + 67.769716 + ], + [ + -53.881111, + 67.263887 + ], + [ + -53.79834, + 67.202776 + ], + [ + -53.252228, + 67.320543 + ], + [ + -51.151665, + 67.423311 + ], + [ + -51.525833, + 67.351091 + ], + [ + -50.351112, + 67.180544 + ], + [ + -51.189438, + 67.123598 + ], + [ + -51.524719, + 67.323046 + ], + [ + -52.15139, + 67.369982 + ], + [ + -53.477219, + 67.239153 + ], + [ + -53.58889, + 67.214998 + ], + [ + -53.379997, + 67.202211 + ], + [ + -53.816666, + 67.178865 + ], + [ + -53.965553, + 67.074709 + ], + [ + -52.228882, + 66.839983 + ], + [ + -53.451942, + 66.637499 + ], + [ + -52.416389, + 66.546373 + ], + [ + -53.633331, + 66.504442 + ], + [ + -53.61972, + 66.243319 + ], + [ + -53.118332, + 66.285814 + ], + [ + -53.476662, + 66.098879 + ], + [ + -51.189438, + 66.917757 + ], + [ + -50.334724, + 67.071932 + ], + [ + -50.632217, + 67.015825 + ], + [ + -49.99778, + 66.980822 + ], + [ + -50.95639, + 66.93471 + ], + [ + -50.32917, + 66.833055 + ], + [ + -51.271385, + 66.843874 + ], + [ + -53.462219, + 66.034151 + ], + [ + -51.831947, + 66.055819 + ], + [ + -53.268333, + 65.746935 + ], + [ + -52.688889, + 65.805544 + ], + [ + -52.801941, + 65.538881 + ], + [ + -52.469162, + 65.640825 + ], + [ + -52.49778, + 65.387209 + ], + [ + -51.934441, + 65.546373 + ], + [ + -51.948051, + 65.658876 + ], + [ + -51.484726, + 65.763048 + ], + [ + -51.209166, + 65.796099 + ], + [ + -50.545837, + 65.706942 + ], + [ + -51.243889, + 65.759722 + ], + [ + -51.694443, + 65.698595 + ], + [ + -51.901108, + 65.623873 + ], + [ + -51.720833, + 65.582216 + ], + [ + -52.558891, + 65.327486 + ], + [ + -52.099724, + 65.239153 + ], + [ + -52.211388, + 64.806643 + ], + [ + -51.246948, + 65.017488 + ], + [ + -52.120277, + 64.720263 + ], + [ + -52.057503, + 64.599085 + ], + [ + -52.10556, + 64.387209 + ], + [ + -52.039169, + 64.399157 + ], + [ + -52.00695, + 64.2036 + ], + [ + -51.224167, + 64.762209 + ], + [ + -50.636665, + 64.753054 + ], + [ + -50.978607, + 65.219713 + ], + [ + -50.560555, + 64.768053 + ], + [ + -49.998886, + 64.869143 + ], + [ + -50.065552, + 64.529161 + ], + [ + -49.584297, + 64.337648 + ], + [ + -50.856667, + 64.633043 + ], + [ + -50.173058, + 64.44832 + ], + [ + -50.352226, + 64.382753 + ], + [ + -50.856392, + 64.415545 + ], + [ + -51.041946, + 64.275545 + ], + [ + -50.843056, + 64.254168 + ], + [ + -50.950836, + 64.21805 + ], + [ + -51.761391, + 64.181932 + ], + [ + -50.04834, + 64.194139 + ], + [ + -51.601944, + 64.034716 + ], + [ + -51.443329, + 63.804995 + ], + [ + -50.924171, + 63.932497 + ], + [ + -51.559441, + 63.709162 + ], + [ + -50.504723, + 63.667215 + ], + [ + -51.221382, + 63.439432 + ], + [ + -50.276108, + 63.401384 + ], + [ + -51.10778, + 63.339434 + ], + [ + -50.059845, + 63.228754 + ], + [ + -50.606392, + 63.094439 + ], + [ + -50.149994, + 63.015276 + ], + [ + -50.379997, + 62.784441 + ], + [ + -50.191502, + 62.933661 + ], + [ + -49.701393, + 63.057497 + ], + [ + -50.150833, + 62.930826 + ], + [ + -50.317223, + 62.743052 + ], + [ + -50.280281, + 62.704714 + ], + [ + -49.947495, + 62.827219 + ], + [ + -50.31778, + 62.495272 + ], + [ + -49.293892, + 62.17222 + ], + [ + -49.669449, + 61.995546 + ], + [ + -48.840553, + 62.076944 + ], + [ + -49.440277, + 61.842218 + ], + [ + -48.763062, + 61.98472 + ], + [ + -49.148888, + 61.718599 + ], + [ + -48.599213, + 61.636339 + ], + [ + -49.297501, + 61.557497 + ], + [ + -48.344162, + 61.604998 + ], + [ + -49.066109, + 61.39805 + ], + [ + -48.378609, + 61.363886 + ], + [ + -48.637222, + 61.238047 + ], + [ + -48.410278, + 61.132212 + ], + [ + -47.917221, + 61.324167 + ], + [ + -48.218887, + 61.184992 + ], + [ + -47.833611, + 61.041941 + ], + [ + -48.406387, + 60.988329 + ], + [ + -47.689438, + 61.004999 + ], + [ + -48.238892, + 60.819719 + ], + [ + -47.447777, + 60.820276 + ], + [ + -47.31945, + 60.867769 + ], + [ + -47.809441, + 60.87916 + ], + [ + -47.023056, + 60.976099 + ], + [ + -46.914444, + 60.933329 + ], + [ + -46.958611, + 60.863329 + ], + [ + -46.857224, + 60.797495 + ], + [ + -46.705275, + 60.88138 + ], + [ + -46.835274, + 60.930277 + ], + [ + -46.581673, + 60.905825 + ], + [ + -46.523331, + 61.015276 + ], + [ + -46.442223, + 60.999163 + ], + [ + -46.38028, + 61.041109 + ], + [ + -46.406105, + 61.084162 + ], + [ + -46.229439, + 60.97471 + ], + [ + -45.915001, + 61.090273 + ], + [ + -45.839996, + 61.164995 + ], + [ + -46.009726, + 61.223047 + ], + [ + -45.769722, + 61.333605 + ], + [ + -45.65361, + 61.142221 + ], + [ + -46.065552, + 60.921106 + ], + [ + -45.199722, + 61.189989 + ], + [ + -46.221382, + 60.753611 + ], + [ + -45.253059, + 60.901934 + ], + [ + -45.849724, + 60.697489 + ], + [ + -45.671776, + 60.676329 + ], + [ + -45.978333, + 60.573885 + ], + [ + -45.313332, + 60.699999 + ], + [ + -45.491943, + 60.489992 + ], + [ + -45.099167, + 60.64583 + ], + [ + -45.203331, + 60.435266 + ], + [ + -44.626106, + 60.733332 + ], + [ + -45.189995, + 60.12916 + ], + [ + -44.470833, + 60.557215 + ], + [ + -45.152779, + 60.074167 + ], + [ + -44.604172, + 59.982492 + ], + [ + -44.456665, + 60.148333 + ], + [ + -44.080559, + 60.286386 + ], + [ + -44.100838, + 60.384165 + ], + [ + -43.137505, + 60.079439 + ], + [ + -43.16861, + 60.397493 + ], + [ + -44.202499, + 60.593325 + ], + [ + -42.749443, + 60.683603 + ], + [ + -43.526665, + 60.837214 + ], + [ + -42.79084, + 60.801104 + ], + [ + -43.484444, + 60.933329 + ], + [ + -42.70472, + 61.057772 + ], + [ + -43.612778, + 61.127771 + ], + [ + -42.629997, + 61.09833 + ], + [ + -43.246109, + 61.339159 + ], + [ + -42.507507, + 61.355272 + ], + [ + -43.07917, + 61.593607 + ], + [ + -42.434723, + 61.557215 + ], + [ + -42.869446, + 61.77305 + ], + [ + -42.115837, + 62.006662 + ], + [ + -42.54084, + 61.943605 + ], + [ + -42.261116, + 62.242495 + ], + [ + -42.979164, + 62.515276 + ], + [ + -42.162216, + 62.383883 + ], + [ + -43.147224, + 62.757776 + ], + [ + -41.755562, + 62.839434 + ], + [ + -41.61528, + 62.987497 + ], + [ + -42.174446, + 63.201662 + ], + [ + -41.429169, + 63.126383 + ], + [ + -41.907501, + 63.464716 + ], + [ + -41.687218, + 63.524996 + ], + [ + -41.113335, + 63.307215 + ], + [ + -41.580833, + 63.487772 + ], + [ + -41.238335, + 63.404436 + ], + [ + -41.394165, + 63.552217 + ], + [ + -41.113335, + 63.385271 + ], + [ + -40.998886, + 63.407495 + ], + [ + -41.17067, + 63.513605 + ], + [ + -40.748337, + 63.509165 + ], + [ + -41.617775, + 63.792223 + ], + [ + -40.518059, + 63.697214 + ], + [ + -40.838608, + 63.945543 + ], + [ + -40.56778, + 64.109148 + ], + [ + -41.56945, + 64.265551 + ], + [ + -41.50695, + 64.325823 + ], + [ + -41.325836, + 64.341372 + ], + [ + -41.091667, + 64.302202 + ], + [ + -40.788055, + 64.384432 + ], + [ + -40.358894, + 64.34833 + ], + [ + -41.155556, + 64.964434 + ], + [ + -39.755562, + 65.242754 + ], + [ + -40.09639, + 65.567217 + ], + [ + -38.241943, + 65.629427 + ], + [ + -38.100838, + 65.803041 + ], + [ + -38.483612, + 66.010271 + ], + [ + -38.051941, + 65.912493 + ], + [ + -37.691666, + 66.259722 + ], + [ + -38.10611, + 66.386934 + ], + [ + -37.184723, + 66.341661 + ], + [ + -37.811386, + 66.03055 + ], + [ + -37.193054, + 65.769152 + ], + [ + -37.077499, + 66.062197 + ], + [ + -36.980278, + 65.837496 + ], + [ + -36.521111, + 65.984713 + ], + [ + -36.566666, + 66.076662 + ], + [ + -36.343056, + 66.079988 + ], + [ + -36.331947, + 65.907213 + ], + [ + -35.587502, + 66.110262 + ], + [ + -35.851669, + 66.433596 + ], + [ + -34.719994, + 66.33832 + ], + [ + -34.406944, + 66.540819 + ], + [ + -34.429726, + 66.741365 + ], + [ + -34.26722, + 66.575823 + ], + [ + -33.973053, + 66.990541 + ], + [ + -33.365837, + 67.246935 + ], + [ + -33.600555, + 67.37137 + ], + [ + -33.198608, + 67.688036 + ], + [ + -32.122772, + 67.857759 + ], + [ + -31.999165, + 68.095263 + ], + [ + -32.400276, + 68.199419 + ], + [ + -32.133331, + 68.196093 + ], + [ + -32.485001, + 68.619982 + ], + [ + -32.007225, + 68.261934 + ], + [ + -31.535835, + 68.239428 + ], + [ + -31.745831, + 68.210817 + ], + [ + -31.571667, + 68.066942 + ], + [ + -30.030281, + 68.11165 + ], + [ + -30.196945, + 68.242479 + ], + [ + -29.862221, + 68.413607 + ], + [ + -29.378056, + 68.19887 + ], + [ + -26.363335, + 68.667482 + ], + [ + -24.072777, + 69.478045 + ], + [ + -24.343334, + 69.604433 + ], + [ + -23.579166, + 69.623598 + ], + [ + -23.930553, + 69.755266 + ], + [ + -22.079166, + 70.129702 + ], + [ + -25.229164, + 70.414431 + ], + [ + -27.341946, + 69.962496 + ], + [ + -28.542778, + 70.04471 + ], + [ + -26.322224, + 70.373034 + ], + [ + -29.206944, + 70.394152 + ], + [ + -27.914164, + 70.867205 + ], + [ + -28.409164, + 70.975817 + ], + [ + -26.478886, + 70.960268 + ], + [ + -25.411388, + 71.349154 + ], + [ + -28.466942, + 71.552477 + ], + [ + -27.325001, + 71.709719 + ], + [ + -28.639721, + 72.124422 + ], + [ + -24.739998, + 71.332216 + ], + [ + -23.345833, + 70.43915 + ], + [ + -22.622776, + 70.446642 + ], + [ + -22.506947, + 70.850542 + ], + [ + -22.377224, + 70.441652 + ], + [ + -21.47472, + 70.53998 + ], + [ + -21.929165, + 70.802202 + ], + [ + -21.68111, + 71.068331 + ], + [ + -22.333889, + 71.053591 + ], + [ + -21.6875, + 71.149157 + ], + [ + -21.961666, + 71.263887 + ], + [ + -21.603611, + 71.323046 + ], + [ + -21.805557, + 71.509432 + ], + [ + -22.473331, + 71.263048 + ], + [ + -22.50639, + 71.549715 + ], + [ + -21.895832, + 71.740816 + ], + [ + -23.125557, + 71.626085 + ], + [ + -22.494442, + 71.892763 + ], + [ + -24.588333, + 72.421099 + ], + [ + -25.526669, + 72.12137 + ], + [ + -25.289169, + 72.384432 + ], + [ + -25.908333, + 72.413881 + ], + [ + -24.609444, + 72.523317 + ], + [ + -24.842499, + 72.719439 + ], + [ + -26.462776, + 72.572222 + ], + [ + -26.304722, + 72.72777 + ], + [ + -27.388332, + 72.836657 + ], + [ + -25.05389, + 73.082766 + ], + [ + -26.449165, + 73.19359 + ], + [ + -27.497498, + 72.924425 + ], + [ + -27.728611, + 73.129702 + ], + [ + -26.387501, + 73.241365 + ], + [ + -27.337502, + 73.492479 + ], + [ + -26.012501, + 73.242205 + ], + [ + -25.721386, + 73.263613 + ], + [ + -25.315002, + 73.461657 + ], + [ + -24.674168, + 73.513323 + ], + [ + -25.686943, + 73.952486 + ], + [ + -24.463055, + 73.535814 + ], + [ + -24.044167, + 73.814699 + ], + [ + -22.178333, + 73.624697 + ], + [ + -24.032223, + 73.702486 + ], + [ + -22.379166, + 73.250551 + ], + [ + -20.501114, + 73.452776 + ], + [ + -20.283058, + 73.879976 + ], + [ + -21.748608, + 74.058321 + ], + [ + -21.821667, + 73.651094 + ], + [ + -21.980553, + 73.998034 + ], + [ + -22.492495, + 74.074434 + ], + [ + -22.053055, + 74.283876 + ], + [ + -22.479164, + 74.311922 + ], + [ + -21.765003, + 74.419436 + ], + [ + -22.082779, + 74.59833 + ], + [ + -19.684998, + 74.23749 + ], + [ + -18.977776, + 74.481661 + ], + [ + -21.11972, + 74.661654 + ], + [ + -20.60611, + 74.736925 + ], + [ + -20.762779, + 74.846941 + ], + [ + -20.638889, + 75.061922 + ], + [ + -22.435555, + 75.163881 + ], + [ + -20.515003, + 75.140825 + ], + [ + -22.511391, + 75.530825 + ], + [ + -21.406387, + 75.455553 + ], + [ + -22.251114, + 75.664156 + ], + [ + -19.882778, + 75.14583 + ], + [ + -19.335556, + 75.404985 + ], + [ + -19.825001, + 75.909151 + ], + [ + -21.98222, + 75.99193 + ], + [ + -19.805836, + 76.228594 + ], + [ + -21.68222, + 76.239153 + ], + [ + -21.573055, + 76.436647 + ], + [ + -22.506947, + 76.44803 + ], + [ + -21.814444, + 76.590273 + ], + [ + -22.738888, + 76.704439 + ], + [ + -21.605, + 76.644716 + ], + [ + -20.939442, + 76.842485 + ], + [ + -21.728886, + 76.883608 + ], + [ + -20.723053, + 76.988314 + ], + [ + -18.305279, + 76.806093 + ], + [ + -18.120556, + 76.94832 + ], + [ + -18.395832, + 77.34276 + ], + [ + -21.053612, + 77.543871 + ], + [ + -18.956665, + 77.628862 + ], + [ + -19.239998, + 77.763048 + ], + [ + -20.311947, + 77.870821 + ], + [ + -20.86639, + 78.015276 + ], + [ + -21.578335, + 77.56415 + ], + [ + -22.039444, + 77.688311 + ], + [ + -20.906387, + 78.624147 + ], + [ + -21.426945, + 78.644442 + ], + [ + -20.926388, + 78.689974 + ], + [ + -21.182499, + 78.809984 + ], + [ + -20.018059, + 78.877199 + ], + [ + -19.914722, + 78.964159 + ], + [ + -20.09111, + 79.063601 + ], + [ + -19.378334, + 79.274996 + ], + [ + -19.078888, + 79.200548 + ], + [ + -19.573612, + 79.331102 + ], + [ + -19.868889, + 79.153048 + ], + [ + -19.63139, + 79.661379 + ], + [ + -17.449165, + 80.055819 + ], + [ + -19.289444, + 80.103319 + ], + [ + -20.326946, + 79.760546 + ], + [ + -20.755001, + 79.864992 + ], + [ + -20.554722, + 80.105822 + ], + [ + -19.700832, + 80.285814 + ], + [ + -17.113888, + 80.236925 + ], + [ + -16.113888, + 80.502489 + ], + [ + -21.247498, + 80.575548 + ], + [ + -16.005001, + 80.728594 + ], + [ + -12.155001, + 81.603319 + ], + [ + -16.700554, + 81.931932 + ], + [ + -17.534725, + 81.853594 + ], + [ + -17.353889, + 81.701937 + ], + [ + -18.017223, + 81.46805 + ], + [ + -20.305557, + 81.451097 + ], + [ + -19.940834, + 81.683046 + ], + [ + -24.511669, + 80.540819 + ], + [ + -22.23111, + 81.465822 + ], + [ + -22.016945, + 81.933046 + ], + [ + -24.002224, + 82.009722 + ], + [ + -24.210556, + 81.70833 + ], + [ + -27.328613, + 81.380816 + ], + [ + -27.630833, + 81.486101 + ], + [ + -25.202499, + 81.989428 + ], + [ + -33.098335, + 81.773882 + ], + [ + -29.90472, + 82.093325 + ], + [ + -31.618889, + 82.207491 + ], + [ + -25.06889, + 82.152483 + ], + [ + -21.314167, + 82.608034 + ], + [ + -23.992775, + 82.911654 + ], + [ + -25.901112, + 82.777483 + ], + [ + -24.751114, + 83.000826 + ], + [ + -25.142223, + 83.162767 + ], + [ + -35.617775, + 82.901094 + ], + [ + -25.650555, + 83.291658 + ], + [ + -32.300278, + 83.570269 + ] + ], + [ + [ + -20.113335, + 77.653322 + ], + [ + -20.008335, + 77.606936 + ], + [ + -20.438332, + 77.628862 + ], + [ + -20.113335, + 77.653322 + ] + ] + ] + ] + }, + "name" : "Greenland", + "iso2" : "GL", + "iso3" : "GRL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ir1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 8.710257, + 47.69681 + ], + [ + 8.670557, + 47.711107 + ], + [ + 8.678595, + 47.693346 + ], + [ + 8.710257, + 47.69681 + ] + ] + ], + [ + [ + [ + 6.806391, + 53.602221 + ], + [ + 6.658335, + 53.586107 + ], + [ + 6.746946, + 53.560274 + ], + [ + 6.806391, + 53.602221 + ] + ] + ], + [ + [ + [ + 6.939444, + 53.669443 + ], + [ + 7.088335, + 53.684168 + ], + [ + 6.87639, + 53.670275 + ], + [ + 6.939444, + 53.669443 + ] + ] + ], + [ + [ + [ + 7.242498, + 53.704439 + ], + [ + 7.346945, + 53.721109 + ], + [ + 7.135836, + 53.70611 + ], + [ + 7.242498, + 53.704439 + ] + ] + ], + [ + [ + [ + 8.191111, + 53.724718 + ], + [ + 8.142778, + 53.733606 + ], + [ + 8.120001, + 53.713053 + ], + [ + 8.191111, + 53.724718 + ] + ] + ], + [ + [ + [ + 7.622225, + 53.754442 + ], + [ + 7.485834, + 53.757502 + ], + [ + 7.467779, + 53.733057 + ], + [ + 7.622225, + 53.754442 + ] + ] + ], + [ + [ + [ + 7.75889, + 53.760553 + ], + [ + 7.81278, + 53.775553 + ], + [ + 7.664446, + 53.761667 + ], + [ + 7.75889, + 53.760553 + ] + ] + ], + [ + [ + [ + 8.42528, + 53.928057 + ], + [ + 8.455, + 53.963053 + ], + [ + 8.411665, + 53.955553 + ], + [ + 8.42528, + 53.928057 + ] + ] + ], + [ + [ + [ + 13.940279, + 54.024996 + ], + [ + 13.934446, + 54.027773 + ], + [ + 13.925833, + 54.018328 + ], + [ + 13.940279, + 54.024996 + ] + ] + ], + [ + [ + [ + 8.695555, + 54.041109 + ], + [ + 8.693335, + 54.082499 + ], + [ + 8.671389, + 54.077776 + ], + [ + 8.695555, + 54.041109 + ] + ] + ], + [ + [ + [ + 14.001318, + 54.065363 + ], + [ + 13.759165, + 54.159998 + ], + [ + 14.056005, + 53.984865 + ], + [ + 13.823431, + 53.853746 + ], + [ + 14.218889, + 53.86902 + ], + [ + 14.225557, + 53.928606 + ], + [ + 14.001318, + 54.065363 + ] + ] + ], + [ + [ + [ + 10.979445, + 54.380556 + ], + [ + 11.003054, + 54.37694 + ], + [ + 11.017778, + 54.380274 + ], + [ + 10.979445, + 54.380556 + ] + ] + ], + [ + [ + [ + 8.893057, + 54.461939 + ], + [ + 8.960554, + 54.519167 + ], + [ + 8.815001, + 54.500834 + ], + [ + 8.893057, + 54.461939 + ] + ] + ], + [ + [ + [ + 11.312777, + 54.406946 + ], + [ + 11.184168, + 54.519999 + ], + [ + 11.006388, + 54.461664 + ], + [ + 11.312777, + 54.406946 + ] + ] + ], + [ + [ + [ + 8.662779, + 54.494165 + ], + [ + 8.710833, + 54.551668 + ], + [ + 8.591112, + 54.527773 + ], + [ + 8.662779, + 54.494165 + ] + ] + ], + [ + [ + [ + 13.07361, + 54.488611 + ], + [ + 13.151388, + 54.602777 + ], + [ + 13.096666, + 54.590555 + ], + [ + 13.07361, + 54.488611 + ] + ] + ], + [ + [ + [ + 13.383055, + 54.638887 + ], + [ + 13.244722, + 54.559168 + ], + [ + 13.503092, + 54.493097 + ], + [ + 13.146963, + 54.545607 + ], + [ + 13.2675, + 54.382502 + ], + [ + 13.118334, + 54.333887 + ], + [ + 13.730833, + 54.275835 + ], + [ + 13.383055, + 54.638887 + ] + ] + ], + [ + [ + [ + 8.364443, + 54.613329 + ], + [ + 8.353888, + 54.711664 + ], + [ + 8.294443, + 54.666666 + ], + [ + 8.364443, + 54.613329 + ] + ] + ], + [ + [ + [ + 8.567778, + 54.685274 + ], + [ + 8.551111, + 54.753885 + ], + [ + 8.396944, + 54.713884 + ], + [ + 8.567778, + 54.685274 + ] + ] + ], + [ + [ + [ + 10.979445, + 54.380556 + ], + [ + 9.870279, + 54.454439 + ], + [ + 9.972776, + 54.76111 + ], + [ + 9.44536, + 54.825403 + ], + [ + 8.664545, + 54.913095 + ], + [ + 8.393332, + 55.053057 + ], + [ + 8.281111, + 54.746943 + ], + [ + 8.580549, + 54.86788 + ], + [ + 9.016943, + 54.498331 + ], + [ + 8.599443, + 54.333887 + ], + [ + 8.883612, + 54.294168 + ], + [ + 8.899721, + 53.940828 + ], + [ + 9.832499, + 53.536386 + ], + [ + 8.665556, + 53.893885 + ], + [ + 8.503054, + 53.354166 + ], + [ + 8.008333, + 53.710001 + ], + [ + 7.295835, + 53.685274 + ], + [ + 7.015554, + 53.414721 + ], + [ + 7.208364, + 53.242807 + ], + [ + 7.051668, + 52.64361 + ], + [ + 6.68889, + 52.549166 + ], + [ + 7.065557, + 52.385828 + ], + [ + 6.82889, + 51.965555 + ], + [ + 5.9625, + 51.807779 + ], + [ + 6.222223, + 51.46583 + ], + [ + 5.864721, + 51.046106 + ], + [ + 6.011801, + 50.757273 + ], + [ + 6.398207, + 50.323175 + ], + [ + 6.134417, + 50.127848 + ], + [ + 6.524446, + 49.808611 + ], + [ + 6.362169, + 49.459391 + ], + [ + 8.22608, + 48.964418 + ], + [ + 7.57889, + 48.119722 + ], + [ + 7.58827, + 47.584482 + ], + [ + 7.697226, + 47.543329 + ], + [ + 8.576422, + 47.591372 + ], + [ + 8.566111, + 47.80694 + ], + [ + 9.566725, + 47.540453 + ], + [ + 10.173334, + 47.274721 + ], + [ + 10.478056, + 47.591944 + ], + [ + 11.095556, + 47.396112 + ], + [ + 12.735556, + 47.684168 + ], + [ + 13.016668, + 47.470278 + ], + [ + 12.758333, + 48.123888 + ], + [ + 13.833612, + 48.773607 + ], + [ + 12.674444, + 49.424997 + ], + [ + 12.093706, + 50.322535 + ], + [ + 14.309721, + 51.053606 + ], + [ + 14.828333, + 50.865831 + ], + [ + 15.03639, + 51.285555 + ], + [ + 14.599443, + 51.818605 + ], + [ + 14.640276, + 52.572496 + ], + [ + 14.149168, + 52.86278 + ], + [ + 14.275629, + 53.699068 + ], + [ + 13.813055, + 53.845278 + ], + [ + 13.718332, + 54.169718 + ], + [ + 13.455832, + 54.096109 + ], + [ + 13.02389, + 54.399721 + ], + [ + 12.369722, + 54.265001 + ], + [ + 12.924166, + 54.426943 + ], + [ + 12.526945, + 54.474161 + ], + [ + 10.818537, + 53.890055 + ], + [ + 10.979445, + 54.380556 + ] + ], + [ + [ + 11.459166, + 53.961107 + ], + [ + 11.373888, + 53.988611 + ], + [ + 11.488611, + 54.02305 + ], + [ + 11.459166, + 53.961107 + ] + ], + [ + [ + 11.544168, + 54.061388 + ], + [ + 11.51111, + 54.048609 + ], + [ + 11.612421, + 54.104586 + ], + [ + 11.544168, + 54.061388 + ] + ], + [ + [ + 12.729723, + 54.416666 + ], + [ + 12.68611, + 54.418329 + ], + [ + 12.702776, + 54.428331 + ], + [ + 12.729723, + 54.416666 + ] + ] + ] + ] + }, + "name" : "Germany", + "iso2" : "DE", + "iso3" : "DEU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "i71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 144.709412, + 13.234997 + ], + [ + 144.875244, + 13.65361 + ], + [ + 144.655243, + 13.427776 + ], + [ + 144.709412, + 13.234997 + ] + ] + ] + }, + "name" : "Guam", + "iso2" : "GU", + "iso3" : "GUM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "jL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 24.128609, + 34.856667 + ], + [ + 24.04472, + 34.849998 + ], + [ + 24.128609, + 34.808884 + ], + [ + 24.128609, + 34.856667 + ] + ] + ], + [ + [ + [ + 26.900555, + 35.358887 + ], + [ + 27.019997, + 35.430832 + ], + [ + 26.898052, + 35.419998 + ], + [ + 26.900555, + 35.358887 + ] + ] + ], + [ + [ + [ + 23.858608, + 35.52166 + ], + [ + 23.606388, + 35.613327 + ], + [ + 23.521111, + 35.288055 + ], + [ + 24.752777, + 34.942215 + ], + [ + 26.290554, + 35.131104 + ], + [ + 23.858608, + 35.52166 + ] + ] + ], + [ + [ + [ + 27.157497, + 35.445831 + ], + [ + 27.228054, + 35.826385 + ], + [ + 27.066109, + 35.604996 + ], + [ + 27.157497, + 35.445831 + ] + ] + ], + [ + [ + [ + 23.332222, + 35.825272 + ], + [ + 23.325832, + 35.872215 + ], + [ + 23.273052, + 35.899994 + ], + [ + 23.332222, + 35.825272 + ] + ] + ], + [ + [ + [ + 23.049442, + 36.13694 + ], + [ + 23.10722, + 36.243889 + ], + [ + 22.929443, + 36.37944 + ], + [ + 23.049442, + 36.13694 + ] + ] + ], + [ + [ + [ + 25.838882, + 36.348053 + ], + [ + 25.771111, + 36.401932 + ], + [ + 25.73027, + 36.369713 + ], + [ + 25.838882, + 36.348053 + ] + ] + ], + [ + [ + [ + 25.399162, + 36.39444 + ], + [ + 25.406666, + 36.410553 + ], + [ + 25.391388, + 36.408051 + ], + [ + 25.399162, + 36.39444 + ] + ] + ], + [ + [ + [ + 27.786663, + 35.890549 + ], + [ + 28.225826, + 36.453049 + ], + [ + 27.719719, + 36.1661 + ], + [ + 27.786663, + 35.890549 + ] + ] + ], + [ + [ + [ + 27.400272, + 36.372498 + ], + [ + 27.445827, + 36.4086 + ], + [ + 27.297771, + 36.464432 + ], + [ + 27.400272, + 36.372498 + ] + ] + ], + [ + [ + [ + 25.457771, + 36.333611 + ], + [ + 25.486382, + 36.408051 + ], + [ + 25.371941, + 36.472488 + ], + [ + 25.457771, + 36.333611 + ] + ] + ], + [ + [ + [ + 26.342216, + 36.506386 + ], + [ + 26.460548, + 36.598053 + ], + [ + 26.262497, + 36.59166 + ], + [ + 26.342216, + 36.506386 + ] + ] + ], + [ + [ + [ + 27.854717, + 36.527222 + ], + [ + 27.859718, + 36.650269 + ], + [ + 27.764996, + 36.574997 + ], + [ + 27.854717, + 36.527222 + ] + ] + ], + [ + [ + [ + 24.950275, + 36.590553 + ], + [ + 24.938332, + 36.632774 + ], + [ + 24.840832, + 36.658882 + ], + [ + 24.950275, + 36.590553 + ] + ] + ], + [ + [ + [ + 25.089722, + 36.633881 + ], + [ + 25.187775, + 36.71666 + ], + [ + 25.102219, + 36.693329 + ], + [ + 25.089722, + 36.633881 + ] + ] + ], + [ + [ + [ + 21.785831, + 36.736938 + ], + [ + 21.760555, + 36.754997 + ], + [ + 21.750553, + 36.712494 + ], + [ + 21.774998, + 36.697777 + ], + [ + 21.785831, + 36.736938 + ] + ] + ], + [ + [ + [ + 24.413609, + 36.660271 + ], + [ + 24.548054, + 36.759438 + ], + [ + 24.349163, + 36.746109 + ], + [ + 24.413609, + 36.660271 + ] + ] + ], + [ + [ + [ + 25.385551, + 36.651665 + ], + [ + 25.407219, + 36.717766 + ], + [ + 25.275829, + 36.78138 + ], + [ + 25.385551, + 36.651665 + ] + ] + ], + [ + [ + [ + 24.662777, + 36.747498 + ], + [ + 24.665276, + 36.776382 + ], + [ + 24.609722, + 36.778328 + ], + [ + 24.662777, + 36.747498 + ] + ] + ], + [ + [ + [ + 21.698608, + 36.739166 + ], + [ + 21.728333, + 36.79277 + ], + [ + 21.704441, + 36.796661 + ], + [ + 21.698608, + 36.739166 + ] + ] + ], + [ + [ + [ + 24.558609, + 36.775551 + ], + [ + 24.562496, + 36.84861 + ], + [ + 24.521111, + 36.823883 + ], + [ + 24.558609, + 36.775551 + ] + ] + ], + [ + [ + [ + 25.459995, + 36.82222 + ], + [ + 25.474159, + 36.869164 + ], + [ + 25.42083, + 36.83194 + ], + [ + 25.459995, + 36.82222 + ] + ] + ], + [ + [ + [ + 25.826664, + 36.779709 + ], + [ + 25.976662, + 36.874161 + ], + [ + 25.736938, + 36.784431 + ], + [ + 25.826664, + 36.779709 + ] + ] + ], + [ + [ + [ + 26.965832, + 36.681664 + ], + [ + 27.352776, + 36.872208 + ], + [ + 27.064159, + 36.838875 + ], + [ + 26.965832, + 36.681664 + ] + ] + ], + [ + [ + [ + 25.680832, + 36.878052 + ], + [ + 25.651939, + 36.906097 + ], + [ + 25.609161, + 36.886658 + ], + [ + 25.680832, + 36.878052 + ] + ] + ], + [ + [ + [ + 25.076664, + 36.951935 + ], + [ + 25.083881, + 37.04248 + ], + [ + 25.023605, + 36.999146 + ], + [ + 25.076664, + 36.951935 + ] + ] + ], + [ + [ + [ + 24.711941, + 36.903053 + ], + [ + 24.765274, + 36.958328 + ], + [ + 24.641109, + 37.042221 + ], + [ + 24.711941, + 36.903053 + ] + ] + ], + [ + [ + [ + 26.975552, + 36.924431 + ], + [ + 27.048328, + 36.993607 + ], + [ + 26.890831, + 37.076378 + ], + [ + 26.975552, + 36.924431 + ] + ] + ], + [ + [ + [ + 25.834438, + 37.09304 + ], + [ + 25.825554, + 37.125542 + ], + [ + 25.782494, + 37.119987 + ], + [ + 25.834438, + 37.09304 + ] + ] + ], + [ + [ + [ + 25.250275, + 37.008324 + ], + [ + 25.268604, + 37.138611 + ], + [ + 25.098328, + 37.027489 + ], + [ + 25.250275, + 37.008324 + ] + ] + ], + [ + [ + [ + 26.886662, + 37.096657 + ], + [ + 26.85833, + 37.181107 + ], + [ + 26.769161, + 37.176384 + ], + [ + 26.886662, + 37.096657 + ] + ] + ], + [ + [ + [ + 25.461388, + 36.919434 + ], + [ + 25.54472, + 37.198044 + ], + [ + 25.341106, + 37.074997 + ], + [ + 25.461388, + 36.919434 + ] + ] + ], + [ + [ + [ + 24.535, + 37.182495 + ], + [ + 24.414719, + 37.12722 + ], + [ + 24.509163, + 37.112778 + ], + [ + 24.535, + 37.182495 + ] + ] + ], + [ + [ + [ + 26.767494, + 37.186935 + ], + [ + 26.787495, + 37.20694 + ], + [ + 26.772221, + 37.206657 + ], + [ + 26.767494, + 37.186935 + ] + ] + ], + [ + [ + [ + 23.156666, + 37.240273 + ], + [ + 23.150555, + 37.272774 + ], + [ + 23.096943, + 37.277496 + ], + [ + 23.156666, + 37.240273 + ] + ] + ], + [ + [ + [ + 23.410831, + 37.300827 + ], + [ + 23.583332, + 37.364166 + ], + [ + 23.373886, + 37.299721 + ], + [ + 23.410831, + 37.300827 + ] + ] + ], + [ + [ + [ + 24.379444, + 37.305832 + ], + [ + 24.48333, + 37.398048 + ], + [ + 24.442776, + 37.481667 + ], + [ + 24.379444, + 37.305832 + ] + ] + ], + [ + [ + [ + 25.359161, + 37.407776 + ], + [ + 25.463608, + 37.469719 + ], + [ + 25.313889, + 37.488045 + ], + [ + 25.359161, + 37.407776 + ] + ] + ], + [ + [ + [ + 24.952499, + 37.385551 + ], + [ + 24.889721, + 37.512497 + ], + [ + 24.884441, + 37.363609 + ], + [ + 24.952499, + 37.385551 + ] + ] + ], + [ + [ + [ + 23.497776, + 37.504715 + ], + [ + 23.522499, + 37.524162 + ], + [ + 23.432777, + 37.526665 + ], + [ + 23.497776, + 37.504715 + ] + ] + ], + [ + [ + [ + 25.228333, + 37.534431 + ], + [ + 25.238888, + 37.621941 + ], + [ + 24.97583, + 37.675552 + ], + [ + 25.228333, + 37.534431 + ] + ] + ], + [ + [ + [ + 24.298611, + 37.526382 + ], + [ + 24.394165, + 37.673332 + ], + [ + 24.298332, + 37.654999 + ], + [ + 24.298611, + 37.526382 + ] + ] + ], + [ + [ + [ + 26.020828, + 37.514435 + ], + [ + 26.361111, + 37.686661 + ], + [ + 26.06805, + 37.631943 + ], + [ + 26.020828, + 37.514435 + ] + ] + ], + [ + [ + [ + 23.513054, + 37.691666 + ], + [ + 23.563889, + 37.762772 + ], + [ + 23.425552, + 37.762497 + ], + [ + 23.513054, + 37.691666 + ] + ] + ], + [ + [ + [ + 27.069443, + 37.711937 + ], + [ + 26.748608, + 37.811378 + ], + [ + 26.571663, + 37.730553 + ], + [ + 27.069443, + 37.711937 + ] + ] + ], + [ + [ + [ + 20.898052, + 37.805275 + ], + [ + 20.621944, + 37.860832 + ], + [ + 20.831108, + 37.646385 + ], + [ + 20.898052, + 37.805275 + ] + ] + ], + [ + [ + [ + 24.791664, + 37.998329 + ], + [ + 24.713333, + 37.872772 + ], + [ + 24.960278, + 37.685555 + ], + [ + 24.791664, + 37.998329 + ] + ] + ], + [ + [ + [ + 23.462498, + 37.878609 + ], + [ + 23.538887, + 37.985832 + ], + [ + 23.437496, + 37.985832 + ], + [ + 23.462498, + 37.878609 + ] + ] + ], + [ + [ + [ + 20.612499, + 38.394165 + ], + [ + 20.341389, + 38.177216 + ], + [ + 20.7925, + 38.060272 + ], + [ + 20.612499, + 38.394165 + ] + ] + ], + [ + [ + [ + 20.735554, + 38.309998 + ], + [ + 20.648888, + 38.500275 + ], + [ + 20.644722, + 38.398048 + ], + [ + 20.735554, + 38.309998 + ] + ] + ], + [ + [ + [ + 26.025555, + 38.176941 + ], + [ + 26.159443, + 38.544434 + ], + [ + 25.861664, + 38.583611 + ], + [ + 26.025555, + 38.176941 + ] + ] + ], + [ + [ + [ + 20.903053, + 38.545555 + ], + [ + 20.938889, + 38.60527 + ], + [ + 20.899166, + 38.566383 + ], + [ + 20.903053, + 38.545555 + ] + ] + ], + [ + [ + [ + 25.599995, + 38.531937 + ], + [ + 25.613331, + 38.589989 + ], + [ + 25.52916, + 38.599709 + ], + [ + 25.599995, + 38.531937 + ] + ] + ], + [ + [ + [ + 20.643608, + 38.581108 + ], + [ + 20.701385, + 38.834717 + ], + [ + 20.557777, + 38.683884 + ], + [ + 20.643608, + 38.581108 + ] + ] + ], + [ + [ + [ + 24.683052, + 38.79805 + ], + [ + 24.458332, + 38.962776 + ], + [ + 24.553333, + 38.768326 + ], + [ + 24.683052, + 38.79805 + ] + ] + ], + [ + [ + [ + 23.461941, + 38.853333 + ], + [ + 22.829998, + 38.829163 + ], + [ + 24.564163, + 37.987221 + ], + [ + 24.153889, + 38.64666 + ], + [ + 23.461941, + 38.853333 + ] + ] + ], + [ + [ + [ + 23.736664, + 39.074715 + ], + [ + 23.786663, + 39.124161 + ], + [ + 23.590832, + 39.204437 + ], + [ + 23.736664, + 39.074715 + ] + ] + ], + [ + [ + [ + 23.50861, + 39.159721 + ], + [ + 23.461388, + 39.208328 + ], + [ + 23.392498, + 39.152222 + ], + [ + 23.50861, + 39.159721 + ] + ] + ], + [ + [ + [ + 20.19833, + 39.174438 + ], + [ + 20.123608, + 39.236382 + ], + [ + 20.136665, + 39.200554 + ], + [ + 20.19833, + 39.174438 + ] + ] + ], + [ + [ + [ + 23.862499, + 39.136665 + ], + [ + 23.978054, + 39.260277 + ], + [ + 23.953609, + 39.289719 + ], + [ + 23.862499, + 39.136665 + ] + ] + ], + [ + [ + [ + 26.377216, + 39.273598 + ], + [ + 25.832222, + 39.183601 + ], + [ + 26.614441, + 39.012497 + ], + [ + 26.377216, + 39.273598 + ] + ] + ], + [ + [ + [ + 24.992496, + 39.466385 + ], + [ + 25.053608, + 39.530823 + ], + [ + 25.006386, + 39.563309 + ], + [ + 24.992496, + 39.466385 + ] + ] + ], + [ + [ + [ + 19.926109, + 39.794441 + ], + [ + 19.641388, + 39.744438 + ], + [ + 20.111664, + 39.363052 + ], + [ + 19.846664, + 39.649162 + ], + [ + 19.926109, + 39.794441 + ] + ] + ], + [ + [ + [ + 19.404163, + 39.843605 + ], + [ + 19.430553, + 39.867493 + ], + [ + 19.378887, + 39.868607 + ], + [ + 19.404163, + 39.843605 + ] + ] + ], + [ + [ + [ + 25.441666, + 40.004715 + ], + [ + 25.05444, + 39.86055 + ], + [ + 25.355827, + 39.786385 + ], + [ + 25.441666, + 40.004715 + ] + ] + ], + [ + [ + [ + 25.601662, + 40.398041 + ], + [ + 25.694717, + 40.466103 + ], + [ + 25.443886, + 40.475822 + ], + [ + 25.601662, + 40.398041 + ] + ] + ], + [ + [ + [ + 24.773331, + 40.63166 + ], + [ + 24.645275, + 40.797775 + ], + [ + 24.509441, + 40.658051 + ], + [ + 24.773331, + 40.63166 + ] + ] + ], + [ + [ + [ + 26.361095, + 41.711052 + ], + [ + 26.294167, + 41.708054 + ], + [ + 26.066109, + 41.697495 + ], + [ + 26.139996, + 41.354713 + ], + [ + 25.285, + 41.24305 + ], + [ + 24.263885, + 41.570549 + ], + [ + 22.935604, + 41.342125 + ], + [ + 20.98349, + 40.855888 + ], + [ + 20.671944, + 40.098053 + ], + [ + 20.010029, + 39.6912 + ], + [ + 20.731941, + 38.952499 + ], + [ + 21.149998, + 39.001938 + ], + [ + 20.73222, + 38.801109 + ], + [ + 20.989441, + 38.669998 + ], + [ + 21.147778, + 38.304161 + ], + [ + 22.403332, + 38.448051 + ], + [ + 23.226109, + 38.153053 + ], + [ + 22.868053, + 37.938049 + ], + [ + 21.85833, + 38.340828 + ], + [ + 21.106388, + 37.854439 + ], + [ + 21.649719, + 37.44194 + ], + [ + 21.704441, + 36.815277 + ], + [ + 22.152775, + 37.02166 + ], + [ + 22.488888, + 36.386108 + ], + [ + 22.634163, + 36.804443 + ], + [ + 23.19833, + 36.431938 + ], + [ + 22.72583, + 37.568329 + ], + [ + 23.513611, + 37.429443 + ], + [ + 22.991386, + 37.880554 + ], + [ + 23.515553, + 38.04055 + ], + [ + 24.034443, + 37.651665 + ], + [ + 24.073887, + 38.196938 + ], + [ + 22.523331, + 38.857216 + ], + [ + 23.072777, + 39.036942 + ], + [ + 22.937775, + 39.358604 + ], + [ + 23.344997, + 39.178055 + ], + [ + 22.594997, + 40.012215 + ], + [ + 22.59111, + 40.476662 + ], + [ + 22.941387, + 40.630554 + ], + [ + 23.709999, + 39.911942 + ], + [ + 23.353611, + 40.245277 + ], + [ + 23.93222, + 39.943054 + ], + [ + 23.727776, + 40.350555 + ], + [ + 24.398331, + 40.151939 + ], + [ + 23.735275, + 40.754997 + ], + [ + 25.138054, + 41.011375 + ], + [ + 26.04472, + 40.735825 + ], + [ + 26.633884, + 41.354439 + ], + [ + 26.361095, + 41.711052 + ] + ] + ] + ] + }, + "name" : "Greece", + "iso2" : "GR", + "iso3" : "GRC" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "jb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -89.141953, + 17.818886 + ], + [ + -90.982422, + 17.820652 + ], + [ + -90.983902, + 17.256107 + ], + [ + -91.4375, + 17.241108 + ], + [ + -90.406403, + 16.416386 + ], + [ + -90.441956, + 16.088333 + ], + [ + -91.729172, + 16.074997 + ], + [ + -92.24678, + 14.550547 + ], + [ + -91.384735, + 13.978888 + ], + [ + -90.627625, + 13.930555 + ], + [ + -90.09639, + 13.745832 + ], + [ + -89.348312, + 14.431982 + ], + [ + -89.150375, + 15.073481 + ], + [ + -88.214737, + 15.724443 + ], + [ + -88.910568, + 15.89361 + ], + [ + -89.216171, + 15.889851 + ], + [ + -89.141953, + 17.818886 + ] + ] + ] + }, + "name" : "Guatemala", + "iso2" : "GT", + "iso3" : "GTM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "jr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -15.016848, + 10.956451 + ], + [ + -14.693056, + 11.035276 + ], + [ + -14.664446, + 10.476665 + ], + [ + -13.602783, + 9.734441 + ], + [ + -13.29561, + 9.032143 + ], + [ + -12.456112, + 9.888332 + ], + [ + -11.214445, + 9.997499 + ], + [ + -10.571526, + 9.059532 + ], + [ + -10.695835, + 8.298611 + ], + [ + -10.266651, + 8.488377 + ], + [ + -9.48365, + 8.346931 + ], + [ + -9.485161, + 7.361989 + ], + [ + -9.106945, + 7.198889 + ], + [ + -8.660557, + 7.695 + ], + [ + -8.469749, + 7.561325 + ], + [ + -7.946838, + 8.018505 + ], + [ + -8.198057, + 8.496666 + ], + [ + -7.646536, + 8.378416 + ], + [ + -7.957778, + 8.813332 + ], + [ + -7.732779, + 9.088055 + ], + [ + -8.143612, + 9.533888 + ], + [ + -7.973984, + 10.165611 + ], + [ + -8.289722, + 11.007776 + ], + [ + -8.680557, + 10.966389 + ], + [ + -8.357779, + 11.305555 + ], + [ + -8.53388, + 11.49391 + ], + [ + -9.155556, + 12.486111 + ], + [ + -9.701946, + 12.029163 + ], + [ + -10.323893, + 12.224997 + ], + [ + -10.652748, + 11.892609 + ], + [ + -10.92889, + 12.224442 + ], + [ + -11.315556, + 12.022774 + ], + [ + -11.373058, + 12.407774 + ], + [ + -12.345404, + 12.301748 + ], + [ + -13.713139, + 12.677221 + ], + [ + -13.971035, + 12.154758 + ], + [ + -13.709167, + 11.715277 + ], + [ + -14.686945, + 11.509722 + ], + [ + -15.016848, + 10.956451 + ] + ] + ] + }, + "name" : "Guinea", + "iso2" : "GN", + "iso3" : "GIN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "j71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -58.450562, + 6.896944 + ], + [ + -58.328056, + 6.956666 + ], + [ + -58.413338, + 6.969166 + ], + [ + -58.450562, + 6.896944 + ] + ] + ], + [ + [ + [ + -57.248505, + 5.486111 + ], + [ + -57.199722, + 6.147499 + ], + [ + -58.314728, + 6.894722 + ], + [ + -58.646118, + 6.42611 + ], + [ + -58.472778, + 7.349999 + ], + [ + -59.789169, + 8.34111 + ], + [ + -59.99028, + 8.535276 + ], + [ + -59.825562, + 8.236111 + ], + [ + -60.71917, + 7.535555 + ], + [ + -60.288612, + 7.057221 + ], + [ + -61.134026, + 6.711042 + ], + [ + -61.389725, + 5.94 + ], + [ + -60.73037, + 5.204799 + ], + [ + -60.098335, + 5.217222 + ], + [ + -60.147507, + 4.5175 + ], + [ + -59.675835, + 4.388888 + ], + [ + -59.568611, + 3.899444 + ], + [ + -59.989449, + 2.693611 + ], + [ + -59.642784, + 1.731111 + ], + [ + -58.806946, + 1.185555 + ], + [ + -57.324722, + 1.975278 + ], + [ + -56.470634, + 1.944499 + ], + [ + -57.301392, + 3.3775 + ], + [ + -57.642227, + 3.356389 + ], + [ + -58.047226, + 4.008333 + ], + [ + -57.92334, + 4.821944 + ], + [ + -57.327225, + 5.026111 + ], + [ + -57.248505, + 5.486111 + ] + ] + ] + ] + }, + "name" : "Guyana", + "iso2" : "GY", + "iso3" : "GUY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "kL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -73.584732, + 18.056944 + ], + [ + -73.706116, + 18.101389 + ], + [ + -73.667511, + 18.057222 + ], + [ + -73.584732, + 18.056944 + ] + ] + ], + [ + [ + [ + -72.815567, + 18.698889 + ], + [ + -72.857224, + 18.835001 + ], + [ + -73.300003, + 18.927221 + ], + [ + -72.815567, + 18.698889 + ] + ] + ], + [ + [ + [ + -72.673615, + 19.916666 + ], + [ + -73.465286, + 19.687777 + ], + [ + -72.723343, + 19.455 + ], + [ + -72.800293, + 19.033056 + ], + [ + -72.350006, + 18.530279 + ], + [ + -74.268066, + 18.665834 + ], + [ + -74.446671, + 18.34194 + ], + [ + -73.881668, + 18.022779 + ], + [ + -73.386398, + 18.261946 + ], + [ + -71.767868, + 18.038504 + ], + [ + -72.003067, + 18.600832 + ], + [ + -71.715836, + 18.749723 + ], + [ + -71.754181, + 19.705832 + ], + [ + -72.673615, + 19.916666 + ] + ], + [ + [ + -73.739456, + 18.584166 + ], + [ + -73.798065, + 18.624723 + ], + [ + -73.715286, + 18.624445 + ], + [ + -73.739456, + 18.584166 + ] + ] + ], + [ + [ + [ + -72.628342, + 19.986944 + ], + [ + -72.811951, + 20.092222 + ], + [ + -72.95639, + 20.056665 + ], + [ + -72.628342, + 19.986944 + ] + ] + ] + ] + }, + "name" : "Haiti", + "iso2" : "HT", + "iso3" : "HTI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "kb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -87.622513, + 13.246387 + ], + [ + -87.614731, + 13.28611 + ], + [ + -87.669724, + 13.278332 + ], + [ + -87.622513, + 13.246387 + ] + ] + ], + [ + [ + [ + -87.571945, + 13.36861 + ], + [ + -87.65834, + 13.335833 + ], + [ + -87.58168, + 13.30361 + ], + [ + -87.571945, + 13.36861 + ] + ] + ], + [ + [ + [ + -83.131851, + 14.992979 + ], + [ + -84.077515, + 15.351387 + ], + [ + -84.208618, + 15.549999 + ], + [ + -83.85556, + 15.459999 + ], + [ + -84.264725, + 15.828609 + ], + [ + -85.841949, + 16.010555 + ], + [ + -88.214737, + 15.724443 + ], + [ + -89.150375, + 15.073481 + ], + [ + -89.348312, + 14.431982 + ], + [ + -89.339737, + 14.416111 + ], + [ + -88.47084, + 13.855276 + ], + [ + -87.75029, + 13.864166 + ], + [ + -87.815582, + 13.405386 + ], + [ + -87.396393, + 13.410831 + ], + [ + -87.301392, + 12.986599 + ], + [ + -86.695007, + 13.296944 + ], + [ + -86.763016, + 13.751621 + ], + [ + -86.015839, + 14.065832 + ], + [ + -85.732315, + 13.829235 + ], + [ + -84.906677, + 14.808611 + ], + [ + -84.482788, + 14.617777 + ], + [ + -83.239731, + 14.982498 + ], + [ + -83.131851, + 14.992979 + ] + ] + ], + [ + [ + [ + -86.883621, + 16.086666 + ], + [ + -86.876114, + 16.121666 + ], + [ + -86.991669, + 16.087219 + ], + [ + -86.883621, + 16.086666 + ] + ] + ], + [ + [ + [ + -86.599731, + 16.296108 + ], + [ + -86.263336, + 16.423332 + ], + [ + -86.410278, + 16.421665 + ], + [ + -86.599731, + 16.296108 + ] + ] + ], + [ + [ + [ + -85.944733, + 16.409721 + ], + [ + -85.835556, + 16.498886 + ], + [ + -85.900284, + 16.49472 + ], + [ + -85.944733, + 16.409721 + ] + ] + ], + [ + [ + [ + -83.946671, + 17.405277 + ], + [ + -83.944458, + 17.414165 + ], + [ + -83.955292, + 17.417774 + ], + [ + -83.946671, + 17.405277 + ] + ] + ], + [ + [ + [ + -83.910568, + 17.409721 + ], + [ + -83.910004, + 17.41861 + ], + [ + -83.926392, + 17.416664 + ], + [ + -83.910568, + 17.409721 + ] + ] + ] + ] + }, + "name" : "Honduras", + "iso2" : "HN", + "iso3" : "HND" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "kr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 16.903891, + 42.726107 + ], + [ + 16.939722, + 42.768328 + ], + [ + 16.81389, + 42.768053 + ], + [ + 16.903891, + 42.726107 + ] + ] + ], + [ + [ + [ + 17.745001, + 42.691942 + ], + [ + 17.399443, + 42.797777 + ], + [ + 17.321665, + 42.788057 + ], + [ + 17.745001, + 42.691942 + ] + ] + ], + [ + [ + [ + 16.820555, + 42.960001 + ], + [ + 16.633055, + 42.981112 + ], + [ + 17.183611, + 42.918612 + ], + [ + 16.820555, + 42.960001 + ] + ] + ], + [ + [ + [ + 17.298887, + 43.006945 + ], + [ + 17.004168, + 43.046663 + ], + [ + 18.503199, + 42.449442 + ], + [ + 18.455557, + 42.565828 + ], + [ + 17.649843, + 42.889078 + ], + [ + 17.298887, + 43.006945 + ] + ] + ], + [ + [ + [ + 16.208334, + 43.022219 + ], + [ + 16.251944, + 43.072496 + ], + [ + 16.050554, + 43.063051 + ], + [ + 16.208334, + 43.022219 + ] + ] + ], + [ + [ + [ + 16.562037, + 43.230852 + ], + [ + 16.373056, + 43.194162 + ], + [ + 17.190084, + 43.126055 + ], + [ + 16.562037, + 43.230852 + ] + ] + ], + [ + [ + [ + 16.851667, + 43.269167 + ], + [ + 16.753054, + 43.36278 + ], + [ + 16.404722, + 43.329721 + ], + [ + 16.851667, + 43.269167 + ] + ] + ], + [ + [ + [ + 16.390554, + 43.332773 + ], + [ + 16.326387, + 43.394167 + ], + [ + 16.198332, + 43.411661 + ], + [ + 16.390554, + 43.332773 + ] + ] + ], + [ + [ + [ + 15.687498, + 43.630831 + ], + [ + 15.662222, + 43.665834 + ], + [ + 15.606668, + 43.674997 + ], + [ + 15.687498, + 43.630831 + ] + ] + ], + [ + [ + [ + 15.346388, + 43.808886 + ], + [ + 15.225, + 43.873056 + ], + [ + 15.376669, + 43.775927 + ], + [ + 15.346388, + 43.808886 + ] + ] + ], + [ + [ + [ + 15.446665, + 43.887217 + ], + [ + 15.376944, + 43.96805 + ], + [ + 15.260832, + 44.006662 + ], + [ + 15.446665, + 43.887217 + ] + ] + ], + [ + [ + [ + 15.250555, + 44.016665 + ], + [ + 15.243055, + 44.053057 + ], + [ + 15.062498, + 44.157221 + ], + [ + 15.250555, + 44.016665 + ] + ] + ], + [ + [ + [ + 14.855276, + 44.17528 + ], + [ + 15.137499, + 43.896387 + ], + [ + 15.226389, + 43.90111 + ], + [ + 14.855276, + 44.17528 + ] + ] + ], + [ + [ + [ + 14.838655, + 44.609503 + ], + [ + 15.248888, + 44.327776 + ], + [ + 14.732779, + 44.698053 + ], + [ + 14.838655, + 44.609503 + ] + ] + ], + [ + [ + [ + 14.521944, + 44.474161 + ], + [ + 14.3375, + 44.710276 + ], + [ + 14.367498, + 44.590273 + ], + [ + 14.521944, + 44.474161 + ] + ] + ], + [ + [ + [ + 14.757311, + 44.803755 + ], + [ + 14.659254, + 44.794737 + ], + [ + 14.865278, + 44.706667 + ], + [ + 14.757311, + 44.803755 + ] + ] + ], + [ + [ + [ + 14.455076, + 44.9097 + ], + [ + 14.315279, + 45.174997 + ], + [ + 14.400278, + 44.915277 + ], + [ + 14.294138, + 44.907248 + ], + [ + 14.493334, + 44.606386 + ], + [ + 14.455076, + 44.9097 + ] + ] + ], + [ + [ + [ + 14.755835, + 44.941385 + ], + [ + 14.539167, + 45.239443 + ], + [ + 14.428888, + 45.078333 + ], + [ + 14.755835, + 44.941385 + ] + ] + ], + [ + [ + [ + 16.5725, + 46.475275 + ], + [ + 15.654722, + 46.219446 + ], + [ + 15.697779, + 45.844164 + ], + [ + 15.174459, + 45.425821 + ], + [ + 14.601389, + 45.67528 + ], + [ + 13.591742, + 45.481699 + ], + [ + 13.899168, + 44.774439 + ], + [ + 14.292776, + 45.324999 + ], + [ + 14.482779, + 45.311106 + ], + [ + 15.988333, + 43.504442 + ], + [ + 16.884443, + 43.403055 + ], + [ + 17.578527, + 42.943827 + ], + [ + 16.143057, + 44.199442 + ], + [ + 15.786665, + 45.171946 + ], + [ + 18.251944, + 45.138887 + ], + [ + 19.039721, + 44.861383 + ], + [ + 19.423887, + 45.225832 + ], + [ + 18.980326, + 45.378626 + ], + [ + 18.817022, + 45.912966 + ], + [ + 17.669443, + 45.835001 + ], + [ + 16.607874, + 46.476236 + ], + [ + 16.5725, + 46.475275 + ] + ] + ] + ] + }, + "name" : "Croatia", + "iso2" : "HR", + "iso3" : "HRV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "k71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 18.81702, + 45.912964 + ], + [ + 20.261024, + 46.114853 + ], + [ + 20.726955, + 46.17556 + ], + [ + 21.176666, + 46.295555 + ], + [ + 22.032497, + 47.530273 + ], + [ + 22.894804, + 47.95454 + ], + [ + 22.151442, + 48.411919 + ], + [ + 20.660553, + 48.563332 + ], + [ + 18.655277, + 47.758606 + ], + [ + 17.251656, + 48.024994 + ], + [ + 17.166386, + 48.012497 + ], + [ + 17.053886, + 47.709442 + ], + [ + 16.450554, + 47.698051 + ], + [ + 16.713886, + 47.543884 + ], + [ + 16.510555, + 47.00666 + ], + [ + 16.111805, + 46.86972 + ], + [ + 16.607872, + 46.476234 + ], + [ + 17.669441, + 45.834999 + ], + [ + 18.81702, + 45.912964 + ] + ] + ] + }, + "name" : "Hungary", + "iso2" : "HU", + "iso3" : "HUN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "lL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -15.070835, + 66.1436 + ], + [ + -14.710835, + 66.367218 + ], + [ + -15.381945, + 66.142776 + ], + [ + -16.527779, + 66.508041 + ], + [ + -16.594723, + 66.09111 + ], + [ + -18.299446, + 66.174713 + ], + [ + -18.069447, + 65.643326 + ], + [ + -18.784168, + 66.191101 + ], + [ + -19.453056, + 66.056381 + ], + [ + -19.451668, + 65.72583 + ], + [ + -20.179169, + 66.12944 + ], + [ + -20.424446, + 66.083054 + ], + [ + -20.446667, + 65.494995 + ], + [ + -20.927223, + 65.588882 + ], + [ + -21.084446, + 65.159164 + ], + [ + -21.777779, + 65.765823 + ], + [ + -21.33778, + 65.733322 + ], + [ + -21.603058, + 65.953323 + ], + [ + -21.399445, + 66.027222 + ], + [ + -22.9375, + 66.466385 + ], + [ + -23.188614, + 66.349716 + ], + [ + -22.43417, + 66.267776 + ], + [ + -22.972225, + 66.221375 + ], + [ + -22.424725, + 65.847488 + ], + [ + -23.473614, + 66.199158 + ], + [ + -23.665558, + 66.111099 + ], + [ + -23.371113, + 65.986664 + ], + [ + -23.81889, + 66.013321 + ], + [ + -23.213337, + 65.837494 + ], + [ + -23.873058, + 65.866653 + ], + [ + -23.226391, + 65.741653 + ], + [ + -24.105835, + 65.806656 + ], + [ + -23.805557, + 65.530548 + ], + [ + -24.542225, + 65.497772 + ], + [ + -21.698612, + 65.449158 + ], + [ + -22.56139, + 65.171097 + ], + [ + -21.835835, + 65.030273 + ], + [ + -24.059532, + 64.890884 + ], + [ + -22.407223, + 64.812485 + ], + [ + -22.170834, + 64.453888 + ], + [ + -21.508057, + 64.645554 + ], + [ + -22.102501, + 64.314438 + ], + [ + -21.36278, + 64.384987 + ], + [ + -22.703335, + 64.080826 + ], + [ + -22.689167, + 63.80555 + ], + [ + -21.053612, + 63.945 + ], + [ + -18.710003, + 63.391106 + ], + [ + -15.383335, + 64.371933 + ], + [ + -14.925001, + 64.26416 + ], + [ + -14.539167, + 64.406097 + ], + [ + -14.511112, + 64.797485 + ], + [ + -13.499445, + 65.069153 + ], + [ + -14.034723, + 65.193054 + ], + [ + -13.570278, + 65.25943 + ], + [ + -13.611389, + 65.509995 + ], + [ + -14.563612, + 65.494995 + ], + [ + -14.336668, + 65.783051 + ], + [ + -14.848333, + 65.731384 + ], + [ + -14.618891, + 65.994431 + ], + [ + -15.070835, + 66.1436 + ] + ] + ] + }, + "name" : "Iceland", + "iso2" : "IS", + "iso3" : "ISL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "lb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 93.912767, + 7.028612 + ], + [ + 93.671099, + 7.181944 + ], + [ + 93.82387, + 6.745554 + ], + [ + 93.912767, + 7.028612 + ] + ] + ], + [ + [ + [ + 93.662203, + 7.405832 + ], + [ + 93.664156, + 7.414721 + ], + [ + 93.654436, + 7.417501 + ], + [ + 93.662203, + 7.405832 + ] + ] + ], + [ + [ + [ + 93.639437, + 7.247221 + ], + [ + 93.728319, + 7.32472 + ], + [ + 93.69359, + 7.43889 + ], + [ + 93.639437, + 7.247221 + ] + ] + ], + [ + [ + [ + 93.454714, + 7.868891 + ], + [ + 93.317492, + 7.997499 + ], + [ + 93.349428, + 7.879999 + ], + [ + 93.454714, + 7.868891 + ] + ] + ], + [ + [ + [ + 93.57361, + 7.927778 + ], + [ + 93.540545, + 8.015554 + ], + [ + 93.502779, + 7.977221 + ], + [ + 93.57361, + 7.927778 + ] + ] + ], + [ + [ + [ + 93.488039, + 7.98889 + ], + [ + 93.513323, + 8.226389 + ], + [ + 93.443041, + 8.153612 + ], + [ + 93.488039, + 7.98889 + ] + ] + ], + [ + [ + [ + 73.032213, + 8.246664 + ], + [ + 73.078875, + 8.310278 + ], + [ + 73.02083, + 8.26861 + ], + [ + 73.032213, + 8.246664 + ] + ] + ], + [ + [ + [ + 93.169146, + 8.201387 + ], + [ + 93.073885, + 8.348055 + ], + [ + 93.059984, + 8.271666 + ], + [ + 93.169146, + 8.201387 + ] + ] + ], + [ + [ + [ + 93.609423, + 8.429998 + ], + [ + 93.626085, + 8.508055 + ], + [ + 93.601931, + 8.565275 + ], + [ + 93.609423, + 8.429998 + ] + ] + ], + [ + [ + [ + 92.774431, + 9.12472 + ], + [ + 92.76166, + 9.263613 + ], + [ + 92.708879, + 9.16361 + ], + [ + 92.774431, + 9.12472 + ] + ] + ], + [ + [ + [ + 73.637499, + 10.052778 + ], + [ + 73.64554, + 10.097498 + ], + [ + 73.630266, + 10.071112 + ], + [ + 73.637499, + 10.052778 + ] + ] + ], + [ + [ + [ + 72.633608, + 10.550833 + ], + [ + 72.650545, + 10.577497 + ], + [ + 72.624697, + 10.552778 + ], + [ + 72.633608, + 10.550833 + ] + ] + ], + [ + [ + [ + 73.684145, + 10.823053 + ], + [ + 73.685259, + 10.83 + ], + [ + 73.662203, + 10.827776 + ], + [ + 73.684145, + 10.823053 + ] + ] + ], + [ + [ + [ + 72.179979, + 10.817499 + ], + [ + 72.197481, + 10.872774 + ], + [ + 72.170534, + 10.809721 + ], + [ + 72.179979, + 10.817499 + ] + ] + ], + [ + [ + [ + 92.492754, + 10.518332 + ], + [ + 92.494982, + 10.90111 + ], + [ + 92.346651, + 10.694166 + ], + [ + 92.492754, + 10.518332 + ] + ] + ], + [ + [ + [ + 72.29915, + 10.938055 + ], + [ + 72.301378, + 10.954165 + ], + [ + 72.289431, + 10.942778 + ], + [ + 72.29915, + 10.938055 + ] + ] + ], + [ + [ + [ + 72.749422, + 11.108889 + ], + [ + 72.74721, + 11.120554 + ], + [ + 72.73665, + 11.107222 + ], + [ + 72.749422, + 11.108889 + ] + ] + ], + [ + [ + [ + 72.107485, + 11.202776 + ], + [ + 72.108034, + 11.215555 + ], + [ + 72.099718, + 11.201109 + ], + [ + 72.107485, + 11.202776 + ] + ] + ], + [ + [ + [ + 72.778322, + 11.188887 + ], + [ + 72.789156, + 11.256945 + ], + [ + 72.77083, + 11.201109 + ], + [ + 72.778322, + 11.188887 + ] + ] + ], + [ + [ + [ + 73.006945, + 11.476664 + ], + [ + 73.013323, + 11.502222 + ], + [ + 73.004442, + 11.507502 + ], + [ + 73.006945, + 11.476664 + ] + ] + ], + [ + [ + [ + 92.633043, + 11.354166 + ], + [ + 92.703325, + 11.385557 + ], + [ + 92.643602, + 11.514166 + ], + [ + 92.633043, + 11.354166 + ] + ] + ], + [ + [ + [ + 92.271379, + 11.524443 + ], + [ + 92.27582, + 11.58222 + ], + [ + 92.216936, + 11.594721 + ], + [ + 92.271379, + 11.524443 + ] + ] + ], + [ + [ + [ + 72.712496, + 11.688612 + ], + [ + 72.715273, + 11.699999 + ], + [ + 72.700823, + 11.686388 + ], + [ + 72.712496, + 11.688612 + ] + ] + ], + [ + [ + [ + 93.058321, + 11.888613 + ], + [ + 92.978594, + 12.033609 + ], + [ + 92.943316, + 11.982775 + ], + [ + 93.058321, + 11.888613 + ] + ] + ], + [ + [ + [ + 93.13611, + 12.131941 + ], + [ + 93.131365, + 12.149168 + ], + [ + 93.125536, + 12.13389 + ], + [ + 93.13611, + 12.131941 + ] + ] + ], + [ + [ + [ + 92.717058, + 12.182806 + ], + [ + 92.524431, + 11.854166 + ], + [ + 92.718599, + 11.49111 + ], + [ + 92.717058, + 12.182806 + ] + ] + ], + [ + [ + [ + 93.093874, + 12.088053 + ], + [ + 93.086657, + 12.20722 + ], + [ + 93.060808, + 12.143888 + ], + [ + 93.093874, + 12.088053 + ] + ] + ], + [ + [ + [ + 93.865541, + 12.259165 + ], + [ + 93.873308, + 12.277498 + ], + [ + 93.848604, + 12.275831 + ], + [ + 93.865541, + 12.259165 + ] + ] + ], + [ + [ + [ + 92.782534, + 12.28768 + ], + [ + 92.783327, + 12.29389 + ], + [ + 92.774157, + 12.290556 + ], + [ + 92.782534, + 12.28768 + ] + ] + ], + [ + [ + [ + 92.831614, + 12.316526 + ], + [ + 92.754274, + 12.071337 + ], + [ + 92.901659, + 12.265833 + ], + [ + 92.831614, + 12.316526 + ] + ] + ], + [ + [ + [ + 92.904985, + 12.380831 + ], + [ + 92.910814, + 12.404165 + ], + [ + 92.872759, + 12.405832 + ], + [ + 92.904985, + 12.380831 + ] + ] + ], + [ + [ + [ + 92.928591, + 12.909166 + ], + [ + 92.758883, + 12.304998 + ], + [ + 92.98749, + 12.508612 + ], + [ + 92.928591, + 12.909166 + ] + ] + ], + [ + [ + [ + 92.691088, + 12.79611 + ], + [ + 92.714434, + 12.99 + ], + [ + 92.668871, + 12.855276 + ], + [ + 92.691088, + 12.79611 + ] + ] + ], + [ + [ + [ + 92.875811, + 13.39139 + ], + [ + 92.876085, + 13.403887 + ], + [ + 92.866655, + 13.400557 + ], + [ + 92.875811, + 13.39139 + ] + ] + ], + [ + [ + [ + 94.276934, + 13.41361 + ], + [ + 94.284151, + 13.444166 + ], + [ + 94.263887, + 13.430277 + ], + [ + 94.276934, + 13.41361 + ] + ] + ], + [ + [ + [ + 93.064425, + 13.237497 + ], + [ + 93.003878, + 13.571112 + ], + [ + 92.813417, + 12.897921 + ], + [ + 93.064425, + 13.237497 + ] + ] + ], + [ + [ + [ + 93.049425, + 13.639444 + ], + [ + 93.036379, + 13.679998 + ], + [ + 92.993044, + 13.661665 + ], + [ + 93.049425, + 13.639444 + ] + ] + ], + [ + [ + [ + 80.94803, + 15.736666 + ], + [ + 80.99193, + 15.765833 + ], + [ + 80.878588, + 15.843332 + ], + [ + 80.94803, + 15.736666 + ] + ] + ], + [ + [ + [ + 82.370867, + 16.867777 + ], + [ + 82.368868, + 16.871111 + ], + [ + 82.370821, + 16.858332 + ], + [ + 82.370867, + 16.867777 + ] + ] + ], + [ + [ + [ + 88.897219, + 21.525 + ], + [ + 88.908602, + 21.568609 + ], + [ + 88.836382, + 21.605833 + ], + [ + 88.825548, + 21.559443 + ], + [ + 88.844988, + 21.526945 + ], + [ + 88.897219, + 21.525 + ] + ] + ], + [ + [ + [ + 72.71805, + 21.606386 + ], + [ + 72.7661, + 21.655275 + ], + [ + 72.603319, + 21.64361 + ], + [ + 72.71805, + 21.606386 + ] + ] + ], + [ + [ + [ + 88.134722, + 21.619997 + ], + [ + 88.132479, + 21.876108 + ], + [ + 88.044985, + 21.66083 + ], + [ + 88.134722, + 21.619997 + ] + ] + ], + [ + [ + [ + 88.646379, + 21.825556 + ], + [ + 88.641939, + 21.921663 + ], + [ + 88.579165, + 21.826944 + ], + [ + 88.593599, + 21.797777 + ], + [ + 88.644991, + 21.784723 + ], + [ + 88.646379, + 21.825556 + ] + ] + ], + [ + [ + [ + 88.088594, + 21.849443 + ], + [ + 88.135271, + 21.907499 + ], + [ + 88.113039, + 21.948606 + ], + [ + 88.088594, + 21.849443 + ] + ] + ], + [ + [ + [ + 81.025362, + 30.204355 + ], + [ + 79.092485, + 31.437498 + ], + [ + 78.767214, + 31.309999 + ], + [ + 78.397768, + 32.548609 + ], + [ + 78.760546, + 32.635553 + ], + [ + 78.971102, + 32.350832 + ], + [ + 79.530275, + 32.754168 + ], + [ + 78.811647, + 33.525827 + ], + [ + 78.985353, + 34.350016 + ], + [ + 78.309145, + 34.642496 + ], + [ + 78.075548, + 35.445826 + ], + [ + 77.823931, + 35.501329 + ], + [ + 77.042482, + 35.099161 + ], + [ + 76.869982, + 34.658884 + ], + [ + 73.941652, + 34.646387 + ], + [ + 73.913317, + 34.068605 + ], + [ + 74.295824, + 33.977488 + ], + [ + 73.990541, + 33.743883 + ], + [ + 74.01639, + 33.188601 + ], + [ + 75.381289, + 32.214243 + ], + [ + 74.605326, + 31.877119 + ], + [ + 74.69459, + 31.053961 + ], + [ + 73.872499, + 30.3901 + ], + [ + 73.933405, + 30.136003 + ], + [ + 73.397493, + 29.942774 + ], + [ + 71.896944, + 27.961943 + ], + [ + 70.829439, + 27.706385 + ], + [ + 70.368319, + 28.020834 + ], + [ + 69.580278, + 27.17333 + ], + [ + 69.506105, + 26.754446 + ], + [ + 70.183596, + 26.536112 + ], + [ + 70.088045, + 25.982775 + ], + [ + 70.666384, + 25.698332 + ], + [ + 71.105822, + 24.416388 + ], + [ + 70.014711, + 24.169718 + ], + [ + 68.783052, + 24.332777 + ], + [ + 68.74721, + 23.969995 + ], + [ + 68.197802, + 23.766687 + ], + [ + 68.321383, + 23.580832 + ], + [ + 68.741365, + 23.844164 + ], + [ + 68.433046, + 23.429998 + ], + [ + 69.215822, + 22.840277 + ], + [ + 70.506945, + 23.102221 + ], + [ + 70.165545, + 22.548334 + ], + [ + 68.944429, + 22.294165 + ], + [ + 70.81888, + 20.697496 + ], + [ + 72.110537, + 21.201941 + ], + [ + 72.151934, + 22.283888 + ], + [ + 72.919146, + 22.267778 + ], + [ + 72.500826, + 21.976664 + ], + [ + 72.734423, + 21.986383 + ], + [ + 72.541658, + 21.663885 + ], + [ + 73.130816, + 21.753611 + ], + [ + 72.56415, + 21.378054 + ], + [ + 72.93442, + 20.774721 + ], + [ + 72.664156, + 19.870832 + ], + [ + 73.047228, + 19.217257 + ], + [ + 72.78055, + 19.312498 + ], + [ + 72.769991, + 18.943052 + ], + [ + 73.055544, + 19.011946 + ], + [ + 72.853868, + 18.660555 + ], + [ + 73.447756, + 16.055834 + ], + [ + 74.411928, + 14.483332 + ], + [ + 74.810259, + 12.864721 + ], + [ + 75.688875, + 11.435278 + ], + [ + 76.575823, + 8.876944 + ], + [ + 77.536104, + 8.071943 + ], + [ + 78.060534, + 8.364164 + ], + [ + 78.396654, + 9.08972 + ], + [ + 79.451387, + 9.15 + ], + [ + 78.908037, + 9.479719 + ], + [ + 79.324999, + 10.280832 + ], + [ + 79.859713, + 10.288889 + ], + [ + 79.763048, + 11.64889 + ], + [ + 80.349718, + 13.334166 + ], + [ + 80.049425, + 13.617777 + ], + [ + 80.313036, + 13.439165 + ], + [ + 80.048876, + 15.048887 + ], + [ + 80.279436, + 15.699167 + ], + [ + 80.825274, + 15.751944 + ], + [ + 80.891939, + 16.02611 + ], + [ + 81.017275, + 15.775557 + ], + [ + 81.313372, + 16.363333 + ], + [ + 82.301699, + 16.583055 + ], + [ + 82.364428, + 17.100832 + ], + [ + 84.106371, + 18.292223 + ], + [ + 85.434885, + 19.887011 + ], + [ + 85.451387, + 19.660276 + ], + [ + 86.420259, + 19.982775 + ], + [ + 87.02556, + 20.674829 + ], + [ + 86.96332, + 21.381941 + ], + [ + 87.796373, + 21.698885 + ], + [ + 88.168047, + 22.091665 + ], + [ + 87.907763, + 22.421663 + ], + [ + 88.199419, + 22.155275 + ], + [ + 88.254168, + 21.548609 + ], + [ + 88.496096, + 21.950274 + ], + [ + 88.572222, + 21.559999 + ], + [ + 88.628588, + 21.749163 + ], + [ + 88.556932, + 21.813334 + ], + [ + 88.667757, + 22.202219 + ], + [ + 88.707216, + 21.566389 + ], + [ + 88.784426, + 21.556944 + ], + [ + 88.855547, + 21.632776 + ], + [ + 89.007494, + 21.6 + ], + [ + 89.088884, + 21.628054 + ], + [ + 89.005556, + 21.903608 + ], + [ + 89.063005, + 22.115477 + ], + [ + 88.986101, + 23.20833 + ], + [ + 88.563875, + 23.65222 + ], + [ + 88.750536, + 24.220984 + ], + [ + 88.043322, + 24.684164 + ], + [ + 88.450823, + 25.187777 + ], + [ + 89.009432, + 25.288332 + ], + [ + 88.110537, + 25.835554 + ], + [ + 88.433046, + 26.55139 + ], + [ + 89.342775, + 26.017031 + ], + [ + 89.739153, + 26.156385 + ], + [ + 89.845263, + 25.28861 + ], + [ + 92.406374, + 25.030554 + ], + [ + 92.12137, + 24.393332 + ], + [ + 91.373293, + 24.101942 + ], + [ + 91.159426, + 23.640554 + ], + [ + 91.613604, + 22.943052 + ], + [ + 91.949999, + 23.732218 + ], + [ + 92.283327, + 23.705275 + ], + [ + 92.600817, + 21.982218 + ], + [ + 93.196642, + 22.256388 + ], + [ + 93.338732, + 24.077917 + ], + [ + 94.151094, + 23.855276 + ], + [ + 94.734423, + 25.024721 + ], + [ + 94.625536, + 25.397776 + ], + [ + 95.178041, + 26.058889 + ], + [ + 95.141375, + 26.612497 + ], + [ + 96.194139, + 27.270834 + ], + [ + 97.13666, + 27.085833 + ], + [ + 96.88666, + 27.606108 + ], + [ + 97.348879, + 28.222773 + ], + [ + 96.401934, + 28.35111 + ], + [ + 96.615816, + 28.790277 + ], + [ + 96.470827, + 29.056665 + ], + [ + 96.169146, + 28.903608 + ], + [ + 96.395266, + 29.255278 + ], + [ + 96.077486, + 29.468607 + ], + [ + 95.387774, + 29.035276 + ], + [ + 94.647509, + 29.33346 + ], + [ + 92.544985, + 27.86194 + ], + [ + 91.657763, + 27.764723 + ], + [ + 92.113604, + 27.297499 + ], + [ + 92.069994, + 26.861944 + ], + [ + 89.643053, + 26.715273 + ], + [ + 88.893877, + 26.975554 + ], + [ + 88.917727, + 27.320326 + ], + [ + 88.831667, + 28.013334 + ], + [ + 88.142794, + 27.866056 + ], + [ + 88.014711, + 26.364721 + ], + [ + 85.855547, + 26.570276 + ], + [ + 84.147219, + 27.511389 + ], + [ + 83.291368, + 27.337778 + ], + [ + 82.066401, + 27.914156 + ], + [ + 80.055819, + 28.836111 + ], + [ + 80.376925, + 29.748606 + ], + [ + 81.025362, + 30.204355 + ] + ], + [ + [ + 86.283602, + 20.038054 + ], + [ + 86.25139, + 20.045 + ], + [ + 86.276094, + 20.050001 + ], + [ + 86.283602, + 20.038054 + ] + ] + ] + ] + }, + "name" : "India", + "iso2" : "IN", + "iso3" : "IND" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "lr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 54.034439, + 26.484718 + ], + [ + 54.018883, + 26.554165 + ], + [ + 53.903603, + 26.53611 + ], + [ + 54.034439, + 26.484718 + ] + ] + ], + [ + [ + [ + 53.318054, + 26.797775 + ], + [ + 53.151657, + 26.846386 + ], + [ + 53.203323, + 26.802498 + ], + [ + 53.318054, + 26.797775 + ] + ] + ], + [ + [ + [ + 56.346657, + 26.82222 + ], + [ + 56.4086, + 26.885551 + ], + [ + 56.34388, + 26.884163 + ], + [ + 56.346657, + 26.82222 + ] + ] + ], + [ + [ + [ + 55.734993, + 26.838051 + ], + [ + 55.688599, + 26.929161 + ], + [ + 55.632767, + 26.79472 + ], + [ + 55.734993, + 26.838051 + ] + ] + ], + [ + [ + [ + 56.24527, + 26.927494 + ], + [ + 55.75222, + 26.951939 + ], + [ + 55.769989, + 26.792774 + ], + [ + 55.283607, + 26.558609 + ], + [ + 56.24527, + 26.927494 + ] + ] + ], + [ + [ + [ + 56.470825, + 27.037777 + ], + [ + 56.509163, + 27.071663 + ], + [ + 56.469986, + 27.108608 + ], + [ + 56.434715, + 27.086941 + ], + [ + 56.470825, + 27.037777 + ] + ] + ], + [ + [ + [ + 50.32888, + 29.20805 + ], + [ + 50.338326, + 29.268887 + ], + [ + 50.291382, + 29.278053 + ], + [ + 50.32888, + 29.20805 + ] + ] + ], + [ + [ + [ + 61.276558, + 35.607246 + ], + [ + 61.157211, + 36.649994 + ], + [ + 60.333054, + 36.656097 + ], + [ + 59.338882, + 37.539162 + ], + [ + 57.450272, + 37.939156 + ], + [ + 57.212212, + 38.281937 + ], + [ + 55.442764, + 38.086105 + ], + [ + 54.681107, + 37.443604 + ], + [ + 53.90564, + 37.350853 + ], + [ + 53.943321, + 36.799995 + ], + [ + 51.101105, + 36.728874 + ], + [ + 50.191376, + 37.38916 + ], + [ + 49.102486, + 37.643044 + ], + [ + 48.888283, + 38.442406 + ], + [ + 48.020821, + 38.835541 + ], + [ + 48.359787, + 39.385216 + ], + [ + 47.976662, + 39.719231 + ], + [ + 46.540375, + 38.875587 + ], + [ + 46.178246, + 38.841148 + ], + [ + 45.004433, + 39.416382 + ], + [ + 44.813042, + 39.630814 + ], + [ + 44.60582, + 39.78054 + ], + [ + 44.4161, + 39.425262 + ], + [ + 44.034157, + 39.384995 + ], + [ + 44.484154, + 38.345543 + ], + [ + 44.223969, + 37.899151 + ], + [ + 44.61805, + 37.727768 + ], + [ + 44.787338, + 37.149712 + ], + [ + 45.405823, + 35.990829 + ], + [ + 46.346939, + 35.817215 + ], + [ + 45.979988, + 35.584717 + ], + [ + 46.171364, + 35.113411 + ], + [ + 45.797733, + 34.91404 + ], + [ + 45.401054, + 33.979568 + ], + [ + 46.181938, + 33.260277 + ], + [ + 46.107216, + 32.967491 + ], + [ + 47.434158, + 32.397774 + ], + [ + 47.864441, + 31.798607 + ], + [ + 47.693878, + 31.00111 + ], + [ + 48.036385, + 30.997494 + ], + [ + 48.032494, + 30.491383 + ], + [ + 48.545555, + 29.96303 + ], + [ + 48.920547, + 30.043053 + ], + [ + 48.984993, + 30.513054 + ], + [ + 49.551384, + 30.0075 + ], + [ + 50.048607, + 30.207222 + ], + [ + 51.430275, + 27.937775 + ], + [ + 52.440269, + 27.640831 + ], + [ + 53.747772, + 26.70916 + ], + [ + 54.794716, + 26.489994 + ], + [ + 56.132767, + 27.160275 + ], + [ + 56.690544, + 27.148331 + ], + [ + 57.318054, + 25.770832 + ], + [ + 61.611031, + 25.197647 + ], + [ + 61.858047, + 26.234718 + ], + [ + 63.176384, + 26.631107 + ], + [ + 63.341934, + 27.122498 + ], + [ + 62.782494, + 27.260555 + ], + [ + 62.78138, + 28.266941 + ], + [ + 61.905548, + 28.554996 + ], + [ + 60.868599, + 29.863884 + ], + [ + 61.851105, + 31.021111 + ], + [ + 61.713608, + 31.383331 + ], + [ + 60.84388, + 31.498329 + ], + [ + 60.582497, + 33.066101 + ], + [ + 60.943047, + 33.51944 + ], + [ + 60.527771, + 33.644157 + ], + [ + 60.508331, + 34.140274 + ], + [ + 60.878876, + 34.319717 + ], + [ + 60.721657, + 34.522217 + ], + [ + 61.276558, + 35.607246 + ] + ] + ] + ] + }, + "name" : "Iran (Islamic Republic of)", + "iso2" : "IR", + "iso3" : "IRN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "l71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 35.25972, + 31.78722 + ], + [ + 35.248886, + 31.808887 + ], + [ + 35.251663, + 31.788055 + ], + [ + 35.25972, + 31.78722 + ] + ] + ], + [ + [ + [ + 35.623634, + 33.245728 + ], + [ + 35.10083, + 33.093605 + ], + [ + 34.490547, + 31.596096 + ], + [ + 34.33416, + 31.25972 + ], + [ + 34.267578, + 31.216541 + ], + [ + 34.903801, + 29.486706 + ], + [ + 34.97998, + 29.545753 + ], + [ + 35.478195, + 31.497322 + ], + [ + 34.884995, + 31.391388 + ], + [ + 35.282494, + 32.516937 + ], + [ + 35.552567, + 32.394196 + ], + [ + 35.648888, + 32.685272 + ], + [ + 35.623634, + 33.245728 + ] + ] + ] + ] + }, + "name" : "Israel", + "iso2" : "IL", + "iso3" : "ISR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "mL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 13.718655, + 46.526611 + ], + [ + 12.440554, + 46.690826 + ], + [ + 12.127777, + 47.001663 + ], + [ + 10.471235, + 46.871353 + ], + [ + 10.465277, + 46.546387 + ], + [ + 10.050278, + 46.539993 + ], + [ + 10.129999, + 46.227219 + ], + [ + 9.281944, + 46.495827 + ], + [ + 9.036665, + 45.837776 + ], + [ + 8.436388, + 46.463333 + ], + [ + 7.855742, + 45.919052 + ], + [ + 7.038054, + 45.931938 + ], + [ + 6.79897, + 45.78067 + ], + [ + 7.127777, + 45.257774 + ], + [ + 6.61976, + 45.110138 + ], + [ + 7.031666, + 44.831383 + ], + [ + 6.976388, + 44.284164 + ], + [ + 7.662222, + 44.17083 + ], + [ + 7.528055, + 43.788605 + ], + [ + 8.748888, + 44.429161 + ], + [ + 10.107498, + 44.0075 + ], + [ + 11.098888, + 42.393051 + ], + [ + 15.666666, + 40.03083 + ], + [ + 16.2225, + 38.910828 + ], + [ + 15.631666, + 38.011665 + ], + [ + 16.062496, + 37.924164 + ], + [ + 16.594997, + 38.800827 + ], + [ + 17.169167, + 38.963333 + ], + [ + 17.151108, + 39.389999 + ], + [ + 16.486664, + 39.767494 + ], + [ + 16.913609, + 40.445549 + ], + [ + 17.859165, + 40.283607 + ], + [ + 18.349442, + 39.791939 + ], + [ + 18.512218, + 40.136665 + ], + [ + 18.011665, + 40.64444 + ], + [ + 15.932499, + 41.47805 + ], + [ + 16.141941, + 41.914162 + ], + [ + 14.739721, + 42.085548 + ], + [ + 14.016666, + 42.669998 + ], + [ + 13.621666, + 43.553886 + ], + [ + 12.368332, + 44.246666 + ], + [ + 12.245554, + 44.715828 + ], + [ + 12.539165, + 44.961105 + ], + [ + 12.16111, + 45.263885 + ], + [ + 12.281387, + 45.468048 + ], + [ + 13.193333, + 45.778053 + ], + [ + 13.716944, + 45.596107 + ], + [ + 13.919167, + 45.637497 + ], + [ + 13.48, + 46.011108 + ], + [ + 13.669167, + 46.177498 + ], + [ + 13.383055, + 46.297218 + ], + [ + 13.718655, + 46.526611 + ] + ], + [ + [ + 12.459166, + 43.896111 + ], + [ + 12.415798, + 43.957954 + ], + [ + 12.509998, + 43.986938 + ], + [ + 12.459166, + 43.896111 + ] + ], + [ + [ + 12.44509, + 41.903118 + ], + [ + 12.451653, + 41.907989 + ], + [ + 12.45666, + 41.901426 + ], + [ + 12.44509, + 41.903118 + ] + ] + ], + [ + [ + [ + 12.422777, + 45.420555 + ], + [ + 12.373333, + 45.428055 + ], + [ + 12.32361, + 45.343887 + ], + [ + 12.422777, + 45.420555 + ] + ] + ], + [ + [ + [ + 9.844166, + 43.034439 + ], + [ + 9.831665, + 43.075554 + ], + [ + 9.804165, + 43.063889 + ], + [ + 9.806944, + 43.00972 + ], + [ + 9.844166, + 43.034439 + ] + ] + ], + [ + [ + [ + 10.441111, + 42.844444 + ], + [ + 10.101944, + 42.772499 + ], + [ + 10.423054, + 42.708885 + ], + [ + 10.441111, + 42.844444 + ] + ] + ], + [ + [ + [ + 10.088333, + 42.57222 + ], + [ + 10.101665, + 42.593605 + ], + [ + 10.081944, + 42.618889 + ], + [ + 10.088333, + 42.57222 + ] + ] + ], + [ + [ + [ + 10.915833, + 42.325272 + ], + [ + 10.877777, + 42.388054 + ], + [ + 10.866388, + 42.358604 + ], + [ + 10.915833, + 42.325272 + ] + ] + ], + [ + [ + [ + 10.316666, + 42.317497 + ], + [ + 10.326111, + 42.34333 + ], + [ + 10.293055, + 42.349998 + ], + [ + 10.316666, + 42.317497 + ] + ] + ], + [ + [ + [ + 9.513332, + 41.14666 + ], + [ + 8.192499, + 40.913605 + ], + [ + 8.556665, + 39.866104 + ], + [ + 8.406944, + 38.958611 + ], + [ + 8.859165, + 38.879166 + ], + [ + 9.018332, + 39.266388 + ], + [ + 9.569166, + 39.150551 + ], + [ + 9.825832, + 40.526108 + ], + [ + 9.513332, + 41.14666 + ] + ] + ], + [ + [ + [ + 8.339167, + 41.062492 + ], + [ + 8.32111, + 41.121384 + ], + [ + 8.215277, + 40.992493 + ], + [ + 8.339167, + 41.062492 + ] + ] + ], + [ + [ + [ + 12.964167, + 40.883888 + ], + [ + 12.988054, + 40.931389 + ], + [ + 12.950277, + 40.91777 + ], + [ + 12.964167, + 40.883888 + ] + ] + ], + [ + [ + [ + 13.951387, + 40.701385 + ], + [ + 13.948055, + 40.742493 + ], + [ + 13.853888, + 40.734718 + ], + [ + 13.951387, + 40.701385 + ] + ] + ], + [ + [ + [ + 14.210554, + 40.560555 + ], + [ + 14.197222, + 40.536659 + ], + [ + 14.261944, + 40.55555 + ], + [ + 14.210554, + 40.560555 + ] + ] + ], + [ + [ + [ + 8.292221, + 39.093605 + ], + [ + 8.302776, + 39.189995 + ], + [ + 8.223888, + 39.164719 + ], + [ + 8.292221, + 39.093605 + ] + ] + ], + [ + [ + [ + 15.21361, + 38.770554 + ], + [ + 15.239166, + 38.806107 + ], + [ + 15.190277, + 38.79055 + ], + [ + 15.21361, + 38.770554 + ] + ] + ], + [ + [ + [ + 13.173332, + 38.690277 + ], + [ + 13.198332, + 38.711388 + ], + [ + 13.162222, + 38.714439 + ], + [ + 13.173332, + 38.690277 + ] + ] + ], + [ + [ + [ + 14.868332, + 38.531387 + ], + [ + 14.86861, + 38.578049 + ], + [ + 14.794722, + 38.567772 + ], + [ + 14.868332, + 38.531387 + ] + ] + ], + [ + [ + [ + 14.955276, + 38.445549 + ], + [ + 14.963888, + 38.517494 + ], + [ + 14.912222, + 38.516663 + ], + [ + 14.955276, + 38.445549 + ] + ] + ], + [ + [ + [ + 14.988888, + 38.364166 + ], + [ + 14.958887, + 38.431107 + ], + [ + 14.941111, + 38.399437 + ], + [ + 14.988888, + 38.364166 + ] + ] + ], + [ + [ + [ + 15.528889, + 38.13694 + ], + [ + 13.768888, + 37.970551 + ], + [ + 13.316666, + 38.21833 + ], + [ + 12.422222, + 37.796104 + ], + [ + 15.081388, + 36.649162 + ], + [ + 15.316666, + 37.008888 + ], + [ + 15.086666, + 37.479439 + ], + [ + 15.528889, + 38.13694 + ] + ] + ], + [ + [ + [ + 12.073889, + 37.953606 + ], + [ + 12.059166, + 37.989166 + ], + [ + 12.029999, + 37.986938 + ], + [ + 12.073889, + 37.953606 + ] + ] + ], + [ + [ + [ + 12.354166, + 37.906105 + ], + [ + 12.339167, + 37.934441 + ], + [ + 12.271387, + 37.936386 + ], + [ + 12.354166, + 37.906105 + ] + ] + ], + [ + [ + [ + 12.015833, + 36.738327 + ], + [ + 12.048332, + 36.796944 + ], + [ + 11.930832, + 36.82972 + ], + [ + 12.015833, + 36.738327 + ] + ] + ] + ] + }, + "name" : "Italy", + "iso2" : "IT", + "iso3" : "ITA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "mb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -3.102272, + 5.109545 + ], + [ + -3.168334, + 5.117222 + ], + [ + -3.103041, + 5.085022 + ], + [ + -3.102272, + 5.109545 + ] + ] + ], + [ + [ + [ + -4.787278, + 5.168312 + ], + [ + -4.004445, + 5.231667 + ], + [ + -4.146389, + 5.277222 + ], + [ + -4.787278, + 5.168312 + ] + ] + ], + [ + [ + [ + -4.787278, + 5.168312 + ], + [ + -3.807778, + 5.375555 + ], + [ + -4.004168, + 5.253611 + ], + [ + -3.297223, + 5.118055 + ], + [ + -3.1425, + 5.367777 + ], + [ + -2.928128, + 5.100222 + ], + [ + -2.764445, + 5.579166 + ], + [ + -3.249167, + 6.611388 + ], + [ + -2.487778, + 8.197777 + ], + [ + -2.685561, + 9.481817 + ], + [ + -3.633611, + 9.954443 + ], + [ + -4.704445, + 9.698055 + ], + [ + -5.51985, + 10.436272 + ], + [ + -6.111389, + 10.197777 + ], + [ + -6.243402, + 10.735256 + ], + [ + -6.988056, + 10.147499 + ], + [ + -7.635556, + 10.448332 + ], + [ + -7.973984, + 10.165611 + ], + [ + -8.143612, + 9.533888 + ], + [ + -7.732779, + 9.088055 + ], + [ + -7.957778, + 8.813332 + ], + [ + -7.646536, + 8.378416 + ], + [ + -8.198057, + 8.496666 + ], + [ + -7.946838, + 8.018505 + ], + [ + -8.469749, + 7.561325 + ], + [ + -8.308334, + 6.860833 + ], + [ + -8.606384, + 6.507815 + ], + [ + -7.423334, + 5.839444 + ], + [ + -7.525402, + 4.352806 + ], + [ + -5.002929, + 5.129237 + ], + [ + -5.319723, + 5.230833 + ], + [ + -4.787278, + 5.168312 + ] + ] + ] + ] + }, + "name" : "Cote d'Ivoire", + "iso2" : "CI", + "iso3" : "CIV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "mr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 48.545555, + 29.96303 + ], + [ + 48.032494, + 30.491383 + ], + [ + 48.036385, + 30.997494 + ], + [ + 47.693878, + 31.00111 + ], + [ + 47.864441, + 31.798607 + ], + [ + 47.434158, + 32.397774 + ], + [ + 46.107216, + 32.967491 + ], + [ + 46.181938, + 33.260277 + ], + [ + 45.401054, + 33.979568 + ], + [ + 45.797733, + 34.91404 + ], + [ + 46.171364, + 35.113411 + ], + [ + 45.979988, + 35.584717 + ], + [ + 46.346939, + 35.817215 + ], + [ + 45.405823, + 35.990829 + ], + [ + 44.787338, + 37.149712 + ], + [ + 44.317215, + 36.970543 + ], + [ + 44.116379, + 37.316376 + ], + [ + 42.790825, + 37.38472 + ], + [ + 42.355614, + 37.106926 + ], + [ + 41.290276, + 36.355553 + ], + [ + 41.003876, + 34.419434 + ], + [ + 38.794701, + 33.377594 + ], + [ + 39.196743, + 32.154942 + ], + [ + 40.41333, + 31.94833 + ], + [ + 42.084999, + 31.11166 + ], + [ + 44.721661, + 29.19833 + ], + [ + 46.546944, + 29.104198 + ], + [ + 47.169991, + 30.01527 + ], + [ + 47.931099, + 30.018887 + ], + [ + 47.943474, + 30.017555 + ], + [ + 48.158875, + 30.038052 + ], + [ + 48.443047, + 29.927498 + ], + [ + 48.54332, + 29.926662 + ], + [ + 48.545555, + 29.96303 + ] + ] + ] + }, + "name" : "Iraq", + "iso2" : "IQ", + "iso3" : "IRQ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "m71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 153.95859, + 24.295 + ], + [ + 153.952761, + 24.321386 + ], + [ + 153.939699, + 24.300833 + ], + [ + 153.95859, + 24.295 + ] + ] + ], + [ + [ + [ + 123.870821, + 24.252501 + ], + [ + 123.921923, + 24.371111 + ], + [ + 123.678865, + 24.316111 + ], + [ + 123.870821, + 24.252501 + ] + ] + ], + [ + [ + [ + 122.996935, + 24.438887 + ], + [ + 123.009432, + 24.46694 + ], + [ + 122.935259, + 24.458052 + ], + [ + 122.996935, + 24.438887 + ] + ] + ], + [ + [ + [ + 131.264162, + 24.454996 + ], + [ + 131.273592, + 24.475828 + ], + [ + 131.243013, + 24.484442 + ], + [ + 131.264162, + 24.454996 + ] + ] + ], + [ + [ + [ + 124.26166, + 24.457499 + ], + [ + 124.324434, + 24.5875 + ], + [ + 124.075823, + 24.424719 + ], + [ + 124.219149, + 24.335276 + ], + [ + 124.26166, + 24.457499 + ] + ] + ], + [ + [ + [ + 141.309145, + 24.748053 + ], + [ + 141.357454, + 24.788889 + ], + [ + 141.290255, + 24.778055 + ], + [ + 141.309145, + 24.748053 + ] + ] + ], + [ + [ + [ + 125.356371, + 24.776667 + ], + [ + 125.263323, + 24.884165 + ], + [ + 125.257219, + 24.729162 + ], + [ + 125.451105, + 24.739717 + ], + [ + 125.356371, + 24.776667 + ] + ] + ], + [ + [ + [ + 141.293581, + 25.418329 + ], + [ + 141.293581, + 25.451387 + ], + [ + 141.268312, + 25.445276 + ], + [ + 141.293581, + 25.418329 + ] + ] + ], + [ + [ + [ + 131.243837, + 25.816668 + ], + [ + 131.250826, + 25.872221 + ], + [ + 131.20801, + 25.833334 + ], + [ + 131.243837, + 25.816668 + ] + ] + ], + [ + [ + [ + 126.761934, + 26.386942 + ], + [ + 126.692202, + 26.360556 + ], + [ + 126.787203, + 26.296946 + ], + [ + 126.761934, + 26.386942 + ] + ] + ], + [ + [ + [ + 142.177767, + 26.622499 + ], + [ + 142.153048, + 26.68722 + ], + [ + 142.111361, + 26.715273 + ], + [ + 142.177767, + 26.622499 + ] + ] + ], + [ + [ + [ + 128.252779, + 26.638887 + ], + [ + 128.287203, + 26.854998 + ], + [ + 127.883883, + 26.667498 + ], + [ + 127.652773, + 26.083055 + ], + [ + 128.252779, + 26.638887 + ] + ] + ], + [ + [ + [ + 142.232454, + 27.033335 + ], + [ + 142.233309, + 27.089167 + ], + [ + 142.178316, + 27.075277 + ], + [ + 142.232454, + 27.033335 + ] + ] + ], + [ + [ + [ + 142.194704, + 27.148333 + ], + [ + 142.194124, + 27.191107 + ], + [ + 142.178591, + 27.156664 + ], + [ + 142.194704, + 27.148333 + ] + ] + ], + [ + [ + [ + 140.878023, + 27.225828 + ], + [ + 140.872194, + 27.243052 + ], + [ + 140.864138, + 27.219442 + ], + [ + 140.878023, + 27.225828 + ] + ] + ], + [ + [ + [ + 128.609133, + 27.358889 + ], + [ + 128.701906, + 27.445829 + ], + [ + 128.523592, + 27.41361 + ], + [ + 128.609133, + 27.358889 + ] + ] + ], + [ + [ + [ + 142.195528, + 27.599165 + ], + [ + 142.1933, + 27.617777 + ], + [ + 142.169985, + 27.62472 + ], + [ + 142.195528, + 27.599165 + ] + ] + ], + [ + [ + [ + 142.089144, + 27.717775 + ], + [ + 142.086916, + 27.732218 + ], + [ + 142.06885, + 27.726664 + ], + [ + 142.089144, + 27.717775 + ] + ] + ], + [ + [ + [ + 128.951082, + 27.675829 + ], + [ + 129.02997, + 27.774443 + ], + [ + 128.947481, + 27.907499 + ], + [ + 128.951082, + 27.675829 + ] + ] + ], + [ + [ + [ + 129.336092, + 28.075277 + ], + [ + 129.191072, + 28.188608 + ], + [ + 129.219118, + 28.097776 + ], + [ + 129.336092, + 28.075277 + ] + ] + ], + [ + [ + [ + 129.992189, + 28.281668 + ], + [ + 130.027468, + 28.366388 + ], + [ + 129.91498, + 28.29611 + ], + [ + 129.992189, + 28.281668 + ] + ] + ], + [ + [ + [ + 129.715517, + 28.451109 + ], + [ + 129.143587, + 28.250277 + ], + [ + 129.375521, + 28.115274 + ], + [ + 129.715517, + 28.451109 + ] + ] + ], + [ + [ + [ + 129.733034, + 29.60972 + ], + [ + 129.741335, + 29.663332 + ], + [ + 129.706087, + 29.647497 + ], + [ + 129.733034, + 29.60972 + ] + ] + ], + [ + [ + [ + 129.896364, + 29.874166 + ], + [ + 129.8519, + 29.852221 + ], + [ + 129.921907, + 29.819719 + ], + [ + 129.896364, + 29.874166 + ] + ] + ], + [ + [ + [ + 129.963015, + 29.95722 + ], + [ + 129.928591, + 30.000002 + ], + [ + 129.927462, + 29.97444 + ], + [ + 129.963015, + 29.95722 + ] + ] + ], + [ + [ + [ + 130.558596, + 30.236383 + ], + [ + 130.666384, + 30.381941 + ], + [ + 130.382723, + 30.393888 + ], + [ + 130.558596, + 30.236383 + ] + ] + ], + [ + [ + [ + 140.330263, + 30.462496 + ], + [ + 140.329134, + 30.479162 + ], + [ + 140.303041, + 30.475275 + ], + [ + 140.330263, + 30.462496 + ] + ] + ], + [ + [ + [ + 130.906099, + 30.354719 + ], + [ + 131.053591, + 30.840277 + ], + [ + 130.869417, + 30.469717 + ], + [ + 130.906099, + 30.354719 + ] + ] + ], + [ + [ + [ + 129.721346, + 31.632219 + ], + [ + 129.782747, + 31.793333 + ], + [ + 129.670534, + 31.658331 + ], + [ + 129.721346, + 31.632219 + ] + ] + ], + [ + [ + [ + 140.025545, + 31.933054 + ], + [ + 140.009706, + 31.946665 + ], + [ + 139.999392, + 31.942495 + ], + [ + 140.025545, + 31.933054 + ] + ] + ], + [ + [ + [ + 130.157747, + 32.108889 + ], + [ + 130.195528, + 32.176943 + ], + [ + 130.116365, + 32.216661 + ], + [ + 130.157747, + 32.108889 + ] + ] + ], + [ + [ + [ + 130.369417, + 32.374712 + ], + [ + 130.44803, + 32.505274 + ], + [ + 130.209414, + 32.443048 + ], + [ + 130.369417, + 32.374712 + ] + ] + ], + [ + [ + [ + 130.02997, + 32.194994 + ], + [ + 130.20859, + 32.334993 + ], + [ + 130.157198, + 32.543612 + ], + [ + 130.02997, + 32.194994 + ] + ] + ], + [ + [ + [ + 128.90082, + 32.643053 + ], + [ + 128.660799, + 32.781939 + ], + [ + 128.601076, + 32.618601 + ], + [ + 128.90082, + 32.643053 + ] + ] + ], + [ + [ + [ + 139.841646, + 33.034998 + ], + [ + 139.864138, + 33.101664 + ], + [ + 139.743563, + 33.138048 + ], + [ + 139.841646, + 33.034998 + ] + ] + ], + [ + [ + [ + 129.100527, + 32.978601 + ], + [ + 129.117739, + 33.145548 + ], + [ + 129.055544, + 32.816385 + ], + [ + 129.100527, + 32.978601 + ] + ] + ], + [ + [ + [ + 129.392214, + 33.164713 + ], + [ + 129.564699, + 33.386942 + ], + [ + 129.454134, + 33.331667 + ], + [ + 129.392214, + 33.164713 + ] + ] + ], + [ + [ + [ + 132.276094, + 33.759439 + ], + [ + 132.230532, + 33.795275 + ], + [ + 132.185518, + 33.783335 + ], + [ + 132.276094, + 33.759439 + ] + ] + ], + [ + [ + [ + 129.754702, + 33.726938 + ], + [ + 129.701632, + 33.856943 + ], + [ + 129.658876, + 33.744997 + ], + [ + 129.754702, + 33.726938 + ] + ] + ], + [ + [ + [ + 139.618288, + 33.832216 + ], + [ + 139.601076, + 33.887774 + ], + [ + 139.582735, + 33.843607 + ], + [ + 139.618288, + 33.832216 + ] + ] + ], + [ + [ + [ + 132.326082, + 33.894716 + ], + [ + 132.451632, + 33.92277 + ], + [ + 132.18442, + 33.907495 + ], + [ + 132.326082, + 33.894716 + ] + ] + ], + [ + [ + [ + 131.214144, + 33.595545 + ], + [ + 130.690798, + 33.935823 + ], + [ + 129.578859, + 33.353609 + ], + [ + 129.944124, + 32.992495 + ], + [ + 129.675539, + 33.069994 + ], + [ + 129.746065, + 32.561106 + ], + [ + 130.346071, + 32.664438 + ], + [ + 130.211092, + 33.170832 + ], + [ + 130.605532, + 32.791384 + ], + [ + 130.446077, + 32.620546 + ], + [ + 130.587465, + 32.631937 + ], + [ + 130.569704, + 32.442492 + ], + [ + 130.162477, + 32.006945 + ], + [ + 130.228029, + 31.248884 + ], + [ + 130.63553, + 31.178885 + ], + [ + 130.534426, + 31.528887 + ], + [ + 130.808596, + 31.684164 + ], + [ + 130.666384, + 30.996664 + ], + [ + 131.343019, + 31.373888 + ], + [ + 131.989412, + 32.830553 + ], + [ + 131.902773, + 33.256945 + ], + [ + 131.51639, + 33.265551 + ], + [ + 131.66971, + 33.647493 + ], + [ + 131.214144, + 33.595545 + ] + ], + [ + [ + 129.833315, + 33.341105 + ], + [ + 129.813601, + 33.397776 + ], + [ + 129.861086, + 33.375551 + ], + [ + 129.833315, + 33.341105 + ] + ] + ], + [ + [ + [ + 139.526094, + 34.032495 + ], + [ + 139.560518, + 34.106104 + ], + [ + 139.48218, + 34.069994 + ], + [ + 139.526094, + 34.032495 + ] + ] + ], + [ + [ + [ + 132.545534, + 34.111109 + ], + [ + 132.528872, + 34.182497 + ], + [ + 132.456636, + 34.086939 + ], + [ + 132.557467, + 34.061106 + ], + [ + 132.545534, + 34.111109 + ] + ] + ], + [ + [ + [ + 132.448854, + 34.115549 + ], + [ + 132.481905, + 34.279161 + ], + [ + 132.38553, + 34.243608 + ], + [ + 132.448854, + 34.115549 + ] + ] + ], + [ + [ + [ + 132.971071, + 34.185823 + ], + [ + 133.050539, + 34.209719 + ], + [ + 133.029696, + 34.291109 + ], + [ + 132.971071, + 34.185823 + ] + ] + ], + [ + [ + [ + 129.23691, + 34.082216 + ], + [ + 129.349398, + 34.279993 + ], + [ + 129.21747, + 34.321939 + ], + [ + 129.23691, + 34.082216 + ] + ] + ], + [ + [ + [ + 134.223574, + 34.344439 + ], + [ + 133.524141, + 33.961382 + ], + [ + 132.899141, + 34.107775 + ], + [ + 132.01581, + 33.337214 + ], + [ + 132.372469, + 33.466387 + ], + [ + 132.803041, + 32.735552 + ], + [ + 133.598848, + 33.50139 + ], + [ + 134.187746, + 33.238329 + ], + [ + 134.753054, + 33.826105 + ], + [ + 134.223574, + 34.344439 + ] + ] + ], + [ + [ + [ + 139.278872, + 34.321108 + ], + [ + 139.296083, + 34.419718 + ], + [ + 139.248568, + 34.350832 + ], + [ + 139.278872, + 34.321108 + ] + ] + ], + [ + [ + [ + 134.350801, + 34.434435 + ], + [ + 134.368563, + 34.550272 + ], + [ + 134.192751, + 34.509996 + ], + [ + 134.350801, + 34.434435 + ] + ] + ], + [ + [ + [ + 134.790255, + 34.193323 + ], + [ + 135.018038, + 34.592768 + ], + [ + 134.666933, + 34.296946 + ], + [ + 134.790255, + 34.193323 + ] + ] + ], + [ + [ + [ + 129.339968, + 34.294718 + ], + [ + 129.463869, + 34.689432 + ], + [ + 129.300264, + 34.55694 + ], + [ + 129.339968, + 34.294718 + ] + ] + ], + [ + [ + [ + 139.45331, + 34.672495 + ], + [ + 139.371614, + 34.781664 + ], + [ + 139.369967, + 34.692492 + ], + [ + 139.45331, + 34.672495 + ] + ] + ], + [ + [ + [ + 133.070528, + 35.990274 + ], + [ + 133.010805, + 36.014444 + ], + [ + 133.022219, + 35.991381 + ], + [ + 133.070528, + 35.990274 + ] + ] + ], + [ + [ + [ + 133.098848, + 36.029993 + ], + [ + 133.131899, + 36.1 + ], + [ + 133.074678, + 36.079996 + ], + [ + 133.098848, + 36.029993 + ] + ] + ], + [ + [ + [ + 133.002199, + 36.033052 + ], + [ + 133.086641, + 36.12388 + ], + [ + 132.953035, + 36.066385 + ], + [ + 133.002199, + 36.033052 + ] + ] + ], + [ + [ + [ + 133.291933, + 36.324999 + ], + [ + 133.252474, + 36.152491 + ], + [ + 133.378572, + 36.200548 + ], + [ + 133.291933, + 36.324999 + ] + ] + ], + [ + [ + [ + 137.057467, + 37.143053 + ], + [ + 136.911104, + 37.143328 + ], + [ + 136.954134, + 37.089434 + ], + [ + 137.057467, + 37.143053 + ] + ] + ], + [ + [ + [ + 138.435244, + 38.047495 + ], + [ + 138.51639, + 38.320276 + ], + [ + 138.218294, + 37.800829 + ], + [ + 138.435244, + 38.047495 + ] + ] + ], + [ + [ + [ + 141.270815, + 41.342493 + ], + [ + 140.918856, + 41.530275 + ], + [ + 140.763033, + 41.17277 + ], + [ + 141.228853, + 41.22999 + ], + [ + 141.149416, + 40.862215 + ], + [ + 140.724977, + 40.829165 + ], + [ + 140.348574, + 41.248049 + ], + [ + 140.268862, + 40.806658 + ], + [ + 139.852755, + 40.601107 + ], + [ + 140.02054, + 40.230822 + ], + [ + 139.702456, + 39.93194 + ], + [ + 140.038301, + 39.803049 + ], + [ + 140.022768, + 39.378603 + ], + [ + 139.42441, + 38.151659 + ], + [ + 138.580538, + 37.398607 + ], + [ + 137.302462, + 36.746386 + ], + [ + 136.863283, + 37.08777 + ], + [ + 136.921358, + 37.197214 + ], + [ + 137.037477, + 37.18194 + ], + [ + 137.355227, + 37.431383 + ], + [ + 137.356356, + 37.504717 + ], + [ + 136.786928, + 37.362215 + ], + [ + 136.712465, + 36.75139 + ], + [ + 135.959414, + 35.973322 + ], + [ + 136.072756, + 35.648607 + ], + [ + 133.088015, + 35.581667 + ], + [ + 131.40555, + 34.419443 + ], + [ + 130.946352, + 34.416384 + ], + [ + 130.893312, + 33.921663 + ], + [ + 131.74579, + 34.053606 + ], + [ + 132.050539, + 33.772493 + ], + [ + 132.367739, + 34.358606 + ], + [ + 135.33359, + 34.718325 + ], + [ + 135.063295, + 33.877771 + ], + [ + 135.772219, + 33.454996 + ], + [ + 136.343843, + 34.189714 + ], + [ + 136.899141, + 34.266939 + ], + [ + 136.519442, + 34.692492 + ], + [ + 136.846926, + 35.078333 + ], + [ + 136.877748, + 34.72027 + ], + [ + 137.347475, + 34.722216 + ], + [ + 137.036104, + 34.564714 + ], + [ + 138.214144, + 34.599161 + ], + [ + 138.744967, + 35.122766 + ], + [ + 138.847475, + 34.592493 + ], + [ + 139.171083, + 35.236109 + ], + [ + 139.676638, + 35.135271 + ], + [ + 139.968569, + 35.660822 + ], + [ + 139.770266, + 34.953325 + ], + [ + 140.334688, + 35.13138 + ], + [ + 140.837191, + 35.743326 + ], + [ + 140.565523, + 36.247492 + ], + [ + 140.975527, + 36.987772 + ], + [ + 140.953585, + 38.14805 + ], + [ + 141.52582, + 38.26639 + ], + [ + 142.069704, + 39.546663 + ], + [ + 141.270815, + 41.342493 + ] + ] + ], + [ + [ + [ + 139.563021, + 42.228601 + ], + [ + 139.433321, + 42.201937 + ], + [ + 139.428316, + 42.061663 + ], + [ + 139.563021, + 42.228601 + ] + ] + ], + [ + [ + [ + 145.290865, + 43.53866 + ], + [ + 145.361086, + 43.555552 + ], + [ + 145.220003, + 43.602552 + ], + [ + 145.290865, + 43.53866 + ] + ] + ], + [ + [ + [ + 143.970247, + 44.141108 + ], + [ + 143.811922, + 44.168055 + ], + [ + 143.877748, + 44.147776 + ], + [ + 143.970247, + 44.141108 + ] + ] + ], + [ + [ + [ + 141.259432, + 45.098047 + ], + [ + 141.308321, + 45.188883 + ], + [ + 141.134706, + 45.213884 + ], + [ + 141.259432, + 45.098047 + ] + ] + ], + [ + [ + [ + 142.048311, + 45.404711 + ], + [ + 141.578035, + 45.232492 + ], + [ + 141.797213, + 44.624994 + ], + [ + 141.407198, + 43.291384 + ], + [ + 140.467745, + 43.367212 + ], + [ + 140.528872, + 43.000551 + ], + [ + 139.836367, + 42.615274 + ], + [ + 140.069704, + 41.419161 + ], + [ + 141.199129, + 41.798334 + ], + [ + 140.284975, + 42.253054 + ], + [ + 140.461641, + 42.567774 + ], + [ + 140.986086, + 42.295 + ], + [ + 141.790529, + 42.606386 + ], + [ + 143.239962, + 41.924166 + ], + [ + 143.989687, + 42.906656 + ], + [ + 145.822206, + 43.36944 + ], + [ + 145.256105, + 43.314997 + ], + [ + 145.069979, + 43.774714 + ], + [ + 145.34247, + 44.344156 + ], + [ + 144.779421, + 43.913324 + ], + [ + 143.772219, + 44.094156 + ], + [ + 142.048311, + 45.404711 + ] + ] + ], + [ + [ + [ + 141.039431, + 45.266939 + ], + [ + 141.074404, + 45.414156 + ], + [ + 140.973574, + 45.465273 + ], + [ + 141.039431, + 45.266939 + ] + ] + ] + ] + }, + "name" : "Japan", + "iso2" : "JP", + "iso3" : "JPN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "nL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -77.131958, + 17.878887 + ], + [ + -76.221115, + 17.904163 + ], + [ + -76.945282, + 18.394444 + ], + [ + -78.339737, + 18.362499 + ], + [ + -77.733337, + 17.84861 + ], + [ + -77.131958, + 17.878887 + ] + ] + ] + }, + "name" : "Jamaica", + "iso2" : "JM", + "iso3" : "JAM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "nb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 34.97998, + 29.545753 + ], + [ + 34.961388, + 29.360832 + ], + [ + 36.07, + 29.188889 + ], + [ + 36.743607, + 29.864719 + ], + [ + 37.502777, + 30.00222 + ], + [ + 38.001389, + 30.504166 + ], + [ + 37.005272, + 31.505554 + ], + [ + 39.196743, + 32.154942 + ], + [ + 38.794701, + 33.377594 + ], + [ + 36.837776, + 32.313606 + ], + [ + 35.648888, + 32.685272 + ], + [ + 35.552567, + 32.394196 + ], + [ + 35.478195, + 31.497322 + ], + [ + 34.97998, + 29.545753 + ] + ] + ] + }, + "name" : "Jordan", + "iso2" : "JO", + "iso3" : "JOR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "nr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 41.138054, + -2.124444 + ], + [ + 41.063889, + -2.044167 + ], + [ + 40.950272, + -2.173611 + ], + [ + 41.138054, + -2.124444 + ] + ] + ], + [ + [ + [ + 35.940552, + 4.622499 + ], + [ + 34.388191, + 4.609682 + ], + [ + 33.996666, + 4.222777 + ], + [ + 34.463333, + 3.671389 + ], + [ + 35.00972, + 1.895278 + ], + [ + 33.907219, + 0.103056 + ], + [ + 33.920273, + -1.001111 + ], + [ + 37.602776, + -2.995833 + ], + [ + 37.613609, + -3.504167 + ], + [ + 39.203026, + -4.669618 + ], + [ + 40.236664, + -2.663333 + ], + [ + 40.638054, + -2.55 + ], + [ + 40.854996, + -2.236111 + ], + [ + 40.963608, + -2.298889 + ], + [ + 40.891663, + -2.019167 + ], + [ + 41.315277, + -1.958056 + ], + [ + 41.558159, + -1.674868 + ], + [ + 40.998329, + -0.866111 + ], + [ + 40.986595, + 2.829956 + ], + [ + 41.905167, + 3.980322 + ], + [ + 41.171387, + 3.9425 + ], + [ + 40.783768, + 4.287975 + ], + [ + 39.524437, + 3.406389 + ], + [ + 38.121109, + 3.611666 + ], + [ + 37.039719, + 4.375555 + ], + [ + 35.940552, + 4.622499 + ] + ] + ] + ] + }, + "name" : "Kenya", + "iso2" : "KE", + "iso3" : "KEN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "n71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 80.234024, + 42.19622 + ], + [ + 79.194702, + 42.795792 + ], + [ + 75.664429, + 42.807457 + ], + [ + 74.293594, + 43.216904 + ], + [ + 73.583878, + 43.038574 + ], + [ + 73.519714, + 42.408005 + ], + [ + 71.747208, + 42.823586 + ], + [ + 71.171097, + 42.691353 + ], + [ + 70.97081, + 42.254669 + ], + [ + 71.276382, + 42.195511 + ], + [ + 70.187195, + 41.52829 + ], + [ + 71.418045, + 41.118553 + ], + [ + 71.69136, + 41.556335 + ], + [ + 72.19548, + 41.006592 + ], + [ + 73.173035, + 40.822998 + ], + [ + 71.710541, + 40.145767 + ], + [ + 70.98204, + 40.244843 + ], + [ + 70.498032, + 39.90683 + ], + [ + 69.540817, + 40.131378 + ], + [ + 69.306091, + 39.539436 + ], + [ + 70.997757, + 39.40094 + ], + [ + 71.473038, + 39.6213 + ], + [ + 72.248596, + 39.191856 + ], + [ + 73.655685, + 39.454826 + ], + [ + 73.994431, + 40.046043 + ], + [ + 74.86026, + 40.519386 + ], + [ + 75.578049, + 40.647995 + ], + [ + 75.697205, + 40.29911 + ], + [ + 76.345825, + 40.35022 + ], + [ + 76.873871, + 41.014107 + ], + [ + 78.080826, + 41.040787 + ], + [ + 80.234024, + 42.19622 + ] + ] + ] + }, + "name" : "Kyrgyzstan", + "iso2" : "KG", + "iso3" : "KGZ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "oL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 124.8461, + 39.497215 + ], + [ + 124.934143, + 39.60833 + ], + [ + 124.88916, + 39.605553 + ], + [ + 124.8461, + 39.497215 + ] + ] + ], + [ + [ + [ + 128.363556, + 38.625244 + ], + [ + 127.393051, + 39.200829 + ], + [ + 127.506943, + 39.724709 + ], + [ + 129.709412, + 40.829994 + ], + [ + 129.699402, + 41.648605 + ], + [ + 130.697418, + 42.292206 + ], + [ + 130.638885, + 42.406937 + ], + [ + 130.60437, + 42.42186 + ], + [ + 129.907532, + 43.005821 + ], + [ + 129.711914, + 42.444153 + ], + [ + 128.925812, + 42.024437 + ], + [ + 128.058868, + 42.003326 + ], + [ + 128.155823, + 41.382492 + ], + [ + 126.91304, + 41.796104 + ], + [ + 126.016937, + 40.899994 + ], + [ + 124.373596, + 40.09362 + ], + [ + 124.624153, + 39.594994 + ], + [ + 124.744431, + 39.776939 + ], + [ + 125.123032, + 39.557213 + ], + [ + 125.448318, + 39.576385 + ], + [ + 125.139977, + 38.796387 + ], + [ + 125.65332, + 38.627213 + ], + [ + 124.993591, + 38.588326 + ], + [ + 124.664703, + 38.121101 + ], + [ + 125.268051, + 38.072769 + ], + [ + 124.980553, + 37.924438 + ], + [ + 125.512207, + 37.88694 + ], + [ + 125.342758, + 37.671379 + ], + [ + 125.724426, + 37.91082 + ], + [ + 125.589157, + 38.027214 + ], + [ + 126.688492, + 37.833908 + ], + [ + 127.106087, + 38.287498 + ], + [ + 128.079956, + 38.311935 + ], + [ + 128.363556, + 38.625244 + ] + ] + ] + ] + }, + "name" : "Korea, Democratic People's Republic of", + "iso2" : "KP", + "iso3" : "PRK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ob1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -151.78363, + -11.466391 + ], + [ + -151.814453, + -11.392502 + ], + [ + -151.808044, + -11.449722 + ], + [ + -151.78363, + -11.466391 + ] + ] + ], + [ + [ + [ + -152.391418, + -10.105278 + ], + [ + -152.395599, + -10.095835 + ], + [ + -152.406708, + -10.097221 + ], + [ + -152.391418, + -10.105278 + ] + ] + ], + [ + [ + [ + -150.224152, + -9.954166 + ], + [ + -150.220551, + -9.923891 + ], + [ + -150.233063, + -9.938614 + ], + [ + -150.224152, + -9.954166 + ] + ] + ], + [ + [ + [ + -150.225281, + -9.915834 + ], + [ + -150.219177, + -9.901392 + ], + [ + -150.228882, + -9.890835 + ], + [ + -150.225281, + -9.915834 + ] + ] + ], + [ + [ + [ + -155.878052, + -5.64 + ], + [ + -155.85614, + -5.619445 + ], + [ + -155.92807, + -5.61889 + ], + [ + -155.878052, + -5.64 + ] + ] + ], + [ + [ + [ + -172.1875, + -4.531668 + ], + [ + -172.196381, + -4.491944 + ], + [ + -172.231384, + -4.504446 + ], + [ + -172.1875, + -4.531668 + ] + ] + ], + [ + [ + [ + -171.231689, + -4.46139 + ], + [ + -171.235535, + -4.438055 + ], + [ + -171.264496, + -4.446388 + ], + [ + -171.231689, + -4.46139 + ] + ] + ], + [ + [ + [ + -154.939209, + -4.045555 + ], + [ + -155.016113, + -4.060834 + ], + [ + -154.95639, + -4.102501 + ], + [ + -154.939209, + -4.045555 + ] + ] + ], + [ + [ + [ + -171.078064, + -3.141667 + ], + [ + -171.086426, + -3.108889 + ], + [ + -171.089722, + -3.137501 + ], + [ + -171.078064, + -3.141667 + ] + ] + ], + [ + [ + [ + -171.627808, + -2.8325 + ], + [ + -171.725586, + -2.772778 + ], + [ + -171.626373, + -2.869445 + ], + [ + -171.627808, + -2.8325 + ] + ] + ], + [ + [ + [ + 176.848297, + -2.669445 + ], + [ + 176.833313, + -2.633889 + ], + [ + 176.774139, + -2.607778 + ], + [ + 176.848297, + -2.669445 + ] + ] + ], + [ + [ + [ + 175.971893, + -2.505 + ], + [ + 175.964417, + -2.481111 + ], + [ + 175.960236, + -2.505834 + ], + [ + 175.971893, + -2.505 + ] + ] + ], + [ + [ + [ + 175.58609, + -1.919722 + ], + [ + 175.592743, + -1.883333 + ], + [ + 175.54776, + -1.821667 + ], + [ + 175.58609, + -1.919722 + ] + ] + ], + [ + [ + [ + 175.531372, + -1.806111 + ], + [ + 175.519714, + -1.777778 + ], + [ + 175.493561, + -1.769722 + ], + [ + 175.531372, + -1.806111 + ] + ] + ], + [ + [ + [ + 175.041931, + -1.5525 + ], + [ + 175.046082, + -1.434722 + ], + [ + 175.001648, + -1.528611 + ], + [ + 175.041931, + -1.5525 + ] + ] + ], + [ + [ + [ + 174.873291, + -1.408056 + ], + [ + 174.853577, + -1.399167 + ], + [ + 174.857452, + -1.408611 + ], + [ + 174.873291, + -1.408056 + ] + ] + ], + [ + [ + [ + 176.464691, + -1.435278 + ], + [ + 176.421356, + -1.348333 + ], + [ + 176.390533, + -1.324445 + ], + [ + 176.464691, + -1.435278 + ] + ] + ], + [ + [ + [ + 175.954681, + -1.279167 + ], + [ + 175.934143, + -1.3025 + ], + [ + 176.018311, + -1.389444 + ], + [ + 175.954681, + -1.279167 + ] + ] + ], + [ + [ + [ + 174.767761, + -1.255833 + ], + [ + 174.767212, + -1.207222 + ], + [ + 174.71637, + -1.14 + ], + [ + 174.767761, + -1.255833 + ] + ] + ], + [ + [ + [ + 174.489685, + -0.816667 + ], + [ + 174.495789, + -0.770278 + ], + [ + 174.458008, + -0.653611 + ], + [ + 174.489685, + -0.816667 + ] + ] + ], + [ + [ + [ + 174.458862, + -0.651667 + ], + [ + 174.392487, + -0.594722 + ], + [ + 174.377167, + -0.5975 + ], + [ + 174.458862, + -0.651667 + ] + ] + ], + [ + [ + [ + 173.618011, + 0.133611 + ], + [ + 173.631622, + 0.216667 + ], + [ + 173.604126, + 0.2125 + ], + [ + 173.618011, + 0.133611 + ] + ] + ], + [ + [ + [ + 173.409698, + 0.203611 + ], + [ + 173.425537, + 0.215278 + ], + [ + 173.402191, + 0.233056 + ], + [ + 173.409698, + 0.203611 + ] + ] + ], + [ + [ + [ + 173.384979, + 0.244167 + ], + [ + 173.376617, + 0.266111 + ], + [ + 173.371338, + 0.250278 + ], + [ + 173.384979, + 0.244167 + ] + ] + ], + [ + [ + [ + 173.931915, + 0.298055 + ], + [ + 173.939423, + 0.320833 + ], + [ + 173.923584, + 0.302222 + ], + [ + 173.931915, + 0.298055 + ] + ] + ], + [ + [ + [ + 173.830536, + 0.448333 + ], + [ + 173.804962, + 0.431111 + ], + [ + 173.921631, + 0.379722 + ], + [ + 173.830536, + 0.448333 + ] + ] + ], + [ + [ + [ + 173.021912, + 1.006667 + ], + [ + 172.981354, + 0.821667 + ], + [ + 173.084137, + 0.951944 + ], + [ + 173.021912, + 1.006667 + ] + ] + ], + [ + [ + [ + 172.939697, + 1.336111 + ], + [ + 172.943573, + 1.345833 + ], + [ + 172.914154, + 1.346389 + ], + [ + 172.939697, + 1.336111 + ] + ] + ], + [ + [ + [ + 173.126617, + 1.349166 + ], + [ + 173.11911, + 1.373333 + ], + [ + 173.098572, + 1.351389 + ], + [ + 173.126617, + 1.349166 + ] + ] + ], + [ + [ + [ + 173.062195, + 1.410278 + ], + [ + 173.034698, + 1.444444 + ], + [ + 173.039703, + 1.417778 + ], + [ + 173.062195, + 1.410278 + ] + ] + ], + [ + [ + [ + 173.012756, + 1.4725 + ], + [ + 172.997192, + 1.500556 + ], + [ + 173.016388, + 1.465 + ], + [ + 173.012756, + 1.4725 + ] + ] + ], + [ + [ + [ + 172.981903, + 1.529444 + ], + [ + 172.955231, + 1.619166 + ], + [ + 172.960785, + 1.553333 + ], + [ + 172.981903, + 1.529444 + ] + ] + ], + [ + [ + [ + 172.884705, + 1.838333 + ], + [ + 172.858002, + 1.861666 + ], + [ + 172.834137, + 1.863611 + ], + [ + 172.884705, + 1.838333 + ] + ] + ], + [ + [ + [ + 173.014984, + 1.706111 + ], + [ + 173.027191, + 1.821111 + ], + [ + 172.929962, + 1.936111 + ], + [ + 173.014984, + 1.706111 + ] + ] + ], + [ + [ + [ + 172.891663, + 1.93 + ], + [ + 172.885529, + 1.943889 + ], + [ + 172.882721, + 1.932777 + ], + [ + 172.891663, + 1.93 + ] + ] + ], + [ + [ + [ + 173.328857, + 1.940278 + ], + [ + 173.349396, + 1.965833 + ], + [ + 173.311096, + 1.958055 + ], + [ + 173.328857, + 1.940278 + ] + ] + ], + [ + [ + [ + 173.343018, + 1.982777 + ], + [ + 173.325256, + 2.015833 + ], + [ + 173.313599, + 1.973889 + ], + [ + 173.343018, + 1.982777 + ] + ] + ], + [ + [ + [ + -157.431671, + 2.021388 + ], + [ + -157.571381, + 1.858888 + ], + [ + -157.179443, + 1.714444 + ], + [ + -157.431671, + 2.021388 + ] + ] + ], + [ + [ + [ + 172.870239, + 3.064444 + ], + [ + 172.749115, + 3.024166 + ], + [ + 172.774994, + 3.002222 + ], + [ + 172.870239, + 3.064444 + ] + ] + ], + [ + [ + [ + 172.968292, + 3.24861 + ], + [ + 172.976624, + 3.296389 + ], + [ + 172.957458, + 3.281388 + ], + [ + 172.968292, + 3.24861 + ] + ] + ], + [ + [ + [ + -159.340027, + 3.920833 + ], + [ + -159.40448, + 3.864166 + ], + [ + -159.271698, + 3.789722 + ], + [ + -159.340027, + 3.920833 + ] + ] + ], + [ + [ + [ + -160.394745, + 4.685554 + ], + [ + -160.37973, + 4.718332 + ], + [ + -160.405609, + 4.725276 + ], + [ + -160.394745, + 4.685554 + ] + ] + ] + ] + }, + "name" : "Kiribati", + "iso2" : "KI", + "iso3" : "KIR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "or1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 126.622208, + 33.23999 + ], + [ + 126.898041, + 33.523323 + ], + [ + 126.158333, + 33.314713 + ], + [ + 126.622208, + 33.23999 + ] + ] + ], + [ + [ + [ + 126.765549, + 34.280823 + ], + [ + 126.701393, + 34.38694 + ], + [ + 126.651382, + 34.316101 + ], + [ + 126.765549, + 34.280823 + ] + ] + ], + [ + [ + [ + 127.213608, + 34.418884 + ], + [ + 127.222717, + 34.483627 + ], + [ + 127.111366, + 34.460274 + ], + [ + 127.213608, + 34.418884 + ] + ] + ], + [ + [ + [ + 127.790817, + 34.476379 + ], + [ + 127.770828, + 34.53833 + ], + [ + 127.711929, + 34.526657 + ], + [ + 127.790817, + 34.476379 + ] + ] + ], + [ + [ + [ + 126.186653, + 34.351387 + ], + [ + 126.380257, + 34.494713 + ], + [ + 126.243317, + 34.573326 + ], + [ + 126.186653, + 34.351387 + ] + ] + ], + [ + [ + [ + 127.803864, + 34.575554 + ], + [ + 127.768051, + 34.664154 + ], + [ + 127.734421, + 34.613327 + ], + [ + 127.803864, + 34.575554 + ] + ] + ], + [ + [ + [ + 125.991364, + 34.668053 + ], + [ + 125.981369, + 34.716934 + ], + [ + 125.914993, + 34.692215 + ], + [ + 125.991364, + 34.668053 + ] + ] + ], + [ + [ + [ + 125.993042, + 34.791939 + ], + [ + 125.890549, + 34.728043 + ], + [ + 126.009163, + 34.759995 + ], + [ + 125.993042, + 34.791939 + ] + ] + ], + [ + [ + [ + 128.085785, + 34.830276 + ], + [ + 128.024139, + 34.913879 + ], + [ + 127.974152, + 34.85833 + ], + [ + 128.085785, + 34.830276 + ] + ] + ], + [ + [ + [ + 126.063599, + 34.854439 + ], + [ + 126.062759, + 34.928329 + ], + [ + 125.983597, + 34.864998 + ], + [ + 126.063599, + 34.854439 + ] + ] + ], + [ + [ + [ + 127.9561, + 34.800827 + ], + [ + 127.879967, + 34.929436 + ], + [ + 127.857208, + 34.723877 + ], + [ + 128.060791, + 34.701103 + ], + [ + 127.9561, + 34.800827 + ] + ] + ], + [ + [ + [ + 128.754425, + 34.876938 + ], + [ + 128.488556, + 34.856384 + ], + [ + 128.594116, + 34.697769 + ], + [ + 128.754425, + 34.876938 + ] + ] + ], + [ + [ + [ + 126.106087, + 35.046944 + ], + [ + 126.162201, + 35.143326 + ], + [ + 126.059982, + 35.090828 + ], + [ + 126.106087, + 35.046944 + ] + ] + ], + [ + [ + [ + 126.428307, + 36.399719 + ], + [ + 126.346939, + 36.591103 + ], + [ + 126.335823, + 36.438599 + ], + [ + 126.428307, + 36.399719 + ] + ] + ], + [ + [ + [ + 126.169434, + 36.825829 + ], + [ + 126.172447, + 36.836838 + ], + [ + 126.161102, + 36.838043 + ], + [ + 126.169434, + 36.825829 + ] + ] + ], + [ + [ + [ + 130.887482, + 37.453323 + ], + [ + 130.919434, + 37.545273 + ], + [ + 130.807465, + 37.518326 + ], + [ + 130.887482, + 37.453323 + ] + ] + ], + [ + [ + [ + 126.501389, + 37.594437 + ], + [ + 126.400543, + 37.818886 + ], + [ + 126.373032, + 37.621658 + ], + [ + 126.501389, + 37.594437 + ] + ] + ], + [ + [ + [ + 124.695534, + 37.9161 + ], + [ + 124.72554, + 37.981659 + ], + [ + 124.615257, + 37.968597 + ], + [ + 124.695534, + 37.9161 + ] + ] + ], + [ + [ + [ + 126.688492, + 37.833908 + ], + [ + 126.865807, + 37.266937 + ], + [ + 126.661102, + 37.156097 + ], + [ + 126.992203, + 36.91082 + ], + [ + 126.502487, + 37.052773 + ], + [ + 126.123596, + 36.70916 + ], + [ + 126.497208, + 36.723877 + ], + [ + 126.544418, + 36.136406 + ], + [ + 126.872993, + 36.054718 + ], + [ + 126.474701, + 35.635826 + ], + [ + 126.687759, + 35.533333 + ], + [ + 126.431374, + 35.023323 + ], + [ + 126.249153, + 35.116661 + ], + [ + 126.659714, + 34.812767 + ], + [ + 126.266937, + 34.683327 + ], + [ + 126.556374, + 34.300545 + ], + [ + 126.772491, + 34.582771 + ], + [ + 126.889427, + 34.412491 + ], + [ + 127.328598, + 34.74305 + ], + [ + 127.124687, + 34.537216 + ], + [ + 127.389427, + 34.4711 + ], + [ + 127.493874, + 34.851662 + ], + [ + 127.640823, + 34.616936 + ], + [ + 127.593323, + 34.941658 + ], + [ + 129.136932, + 35.112213 + ], + [ + 129.439423, + 35.475822 + ], + [ + 129.433594, + 37.058884 + ], + [ + 128.532471, + 38.330551 + ], + [ + 128.363556, + 38.625244 + ], + [ + 128.079956, + 38.311935 + ], + [ + 127.106087, + 38.287498 + ], + [ + 126.688492, + 37.833908 + ] + ] + ] + ] + }, + "name" : "Korea, Republic of", + "iso2" : "KR", + "iso3" : "KOR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "o71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 48.362488, + 29.450272 + ], + [ + 48.26693, + 29.441109 + ], + [ + 48.388329, + 29.395554 + ], + [ + 48.362488, + 29.450272 + ] + ] + ], + [ + [ + [ + 48.224709, + 29.594719 + ], + [ + 48.359444, + 29.744999 + ], + [ + 48.152222, + 29.99194 + ], + [ + 48.224709, + 29.594719 + ] + ] + ], + [ + [ + [ + 48.032219, + 29.968052 + ], + [ + 48.111664, + 30.023048 + ], + [ + 48.037766, + 30.011105 + ], + [ + 48.008606, + 29.973885 + ], + [ + 48.032219, + 29.968052 + ] + ] + ], + [ + [ + [ + 47.943474, + 30.017555 + ], + [ + 47.931099, + 30.018887 + ], + [ + 47.169991, + 30.01527 + ], + [ + 46.546944, + 29.104198 + ], + [ + 47.459991, + 28.999439 + ], + [ + 47.688881, + 28.538883 + ], + [ + 48.416588, + 28.545277 + ], + [ + 48.028603, + 29.344994 + ], + [ + 47.707222, + 29.375832 + ], + [ + 48.167213, + 29.553055 + ], + [ + 47.943474, + 30.017555 + ] + ] + ] + ] + }, + "name" : "Kuwait", + "iso2" : "KW", + "iso3" : "KWT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "pL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 50.116104, + 44.838043 + ], + [ + 50.11277, + 45.077492 + ], + [ + 49.978867, + 44.956383 + ], + [ + 50.116104, + 44.838043 + ] + ] + ], + [ + [ + [ + 50.291664, + 44.949997 + ], + [ + 50.342766, + 45.083054 + ], + [ + 50.265549, + 45.036659 + ], + [ + 50.291664, + 44.949997 + ] + ] + ], + [ + [ + [ + 53.024994, + 46.2286 + ], + [ + 53.097488, + 46.296661 + ], + [ + 53.046387, + 46.367493 + ], + [ + 52.960274, + 46.266388 + ], + [ + 53.024994, + 46.2286 + ] + ] + ], + [ + [ + [ + 80.234024, + 42.19622 + ], + [ + 80.171921, + 42.660507 + ], + [ + 80.578598, + 42.891075 + ], + [ + 80.376648, + 43.025238 + ], + [ + 80.817215, + 43.156067 + ], + [ + 80.362762, + 44.125244 + ], + [ + 80.520828, + 44.732475 + ], + [ + 79.871094, + 44.904976 + ], + [ + 81.688309, + 45.350815 + ], + [ + 82.561646, + 45.129417 + ], + [ + 82.649429, + 45.43026 + ], + [ + 82.317764, + 45.570534 + ], + [ + 83.040543, + 47.212212 + ], + [ + 84.75943, + 46.826385 + ], + [ + 85.529312, + 47.060165 + ], + [ + 85.759155, + 48.387772 + ], + [ + 86.5961, + 48.53611 + ], + [ + 86.874695, + 49.110825 + ], + [ + 87.348206, + 49.092621 + ], + [ + 86.616653, + 49.587212 + ], + [ + 86.774994, + 49.788887 + ], + [ + 86.191086, + 49.472488 + ], + [ + 85.258606, + 49.591377 + ], + [ + 85.014435, + 50.075829 + ], + [ + 84.363037, + 50.212212 + ], + [ + 83.456375, + 51.002495 + ], + [ + 81.468048, + 50.742218 + ], + [ + 80.687836, + 51.31472 + ], + [ + 80.077957, + 50.758087 + ], + [ + 77.908035, + 53.271103 + ], + [ + 76.521652, + 53.993881 + ], + [ + 76.811646, + 54.447769 + ], + [ + 74.429153, + 53.4786 + ], + [ + 73.437195, + 53.436104 + ], + [ + 73.238586, + 53.64444 + ], + [ + 73.763885, + 54.065544 + ], + [ + 72.613312, + 54.145271 + ], + [ + 72.468597, + 53.908882 + ], + [ + 72.051651, + 54.387772 + ], + [ + 72.196091, + 54.137497 + ], + [ + 71.185532, + 54.103325 + ], + [ + 70.996933, + 54.339157 + ], + [ + 71.27887, + 54.690269 + ], + [ + 70.843323, + 55.301933 + ], + [ + 69.185532, + 55.34388 + ], + [ + 65.483322, + 54.638046 + ], + [ + 65.216385, + 54.318886 + ], + [ + 63.172218, + 54.186378 + ], + [ + 62.547493, + 53.879433 + ], + [ + 61.01416, + 53.947487 + ], + [ + 61.226936, + 53.811935 + ], + [ + 60.905548, + 53.62027 + ], + [ + 61.577492, + 53.513329 + ], + [ + 61.184715, + 53.306656 + ], + [ + 62.118324, + 53.004166 + ], + [ + 61.099159, + 52.981659 + ], + [ + 60.694153, + 52.680824 + ], + [ + 61.061935, + 52.342491 + ], + [ + 60.00222, + 51.958328 + ], + [ + 61.685822, + 51.265831 + ], + [ + 61.381378, + 50.783607 + ], + [ + 60.04361, + 50.863327 + ], + [ + 59.542496, + 50.478325 + ], + [ + 58.337769, + 51.156097 + ], + [ + 57.481934, + 50.864716 + ], + [ + 56.510826, + 51.083328 + ], + [ + 55.69249, + 50.532494 + ], + [ + 54.647217, + 51.036942 + ], + [ + 54.523933, + 50.528839 + ], + [ + 54.506386, + 50.856941 + ], + [ + 53.428604, + 51.491661 + ], + [ + 52.603325, + 51.45694 + ], + [ + 52.338326, + 51.782211 + ], + [ + 51.303047, + 51.479713 + ], + [ + 50.7733, + 51.76918 + ], + [ + 48.697487, + 50.591934 + ], + [ + 48.796944, + 49.941933 + ], + [ + 48.251663, + 49.869713 + ], + [ + 47.520828, + 50.436378 + ], + [ + 46.929436, + 49.863609 + ], + [ + 46.79583, + 49.339714 + ], + [ + 47.062767, + 49.142769 + ], + [ + 46.499161, + 48.417496 + ], + [ + 47.122765, + 48.27166 + ], + [ + 47.383324, + 47.688881 + ], + [ + 48.20443, + 47.704987 + ], + [ + 49.027206, + 46.776093 + ], + [ + 48.560547, + 46.564995 + ], + [ + 49.222527, + 46.346306 + ], + [ + 51.189987, + 47.114716 + ], + [ + 53.194153, + 46.714996 + ], + [ + 52.996658, + 46.488045 + ], + [ + 53.164154, + 46.317215 + ], + [ + 53.085823, + 46.007217 + ], + [ + 52.733047, + 45.549438 + ], + [ + 53.228043, + 45.337769 + ], + [ + 51.405266, + 45.370544 + ], + [ + 50.953049, + 44.861938 + ], + [ + 51.570274, + 44.513885 + ], + [ + 50.239433, + 44.576385 + ], + [ + 50.839989, + 44.193047 + ], + [ + 51.265549, + 43.153046 + ], + [ + 52.738327, + 42.710274 + ], + [ + 52.440071, + 41.740936 + ], + [ + 53.014999, + 42.138885 + ], + [ + 54.17305, + 42.337212 + ], + [ + 55.45694, + 41.286659 + ], + [ + 56.000961, + 41.328453 + ], + [ + 55.99749, + 45.001106 + ], + [ + 58.569717, + 45.571106 + ], + [ + 62.025108, + 43.484787 + ], + [ + 64.931366, + 43.73777 + ], + [ + 65.82193, + 42.877213 + ], + [ + 66.123871, + 42.996941 + ], + [ + 66.02916, + 42.003052 + ], + [ + 66.526382, + 42.003052 + ], + [ + 66.719986, + 41.174995 + ], + [ + 67.935532, + 41.183327 + ], + [ + 68.455261, + 40.597771 + ], + [ + 69.056366, + 41.379433 + ], + [ + 70.97081, + 42.254669 + ], + [ + 71.171097, + 42.691353 + ], + [ + 71.747208, + 42.823586 + ], + [ + 73.519714, + 42.408005 + ], + [ + 73.583878, + 43.038574 + ], + [ + 74.293594, + 43.216904 + ], + [ + 75.664429, + 42.807457 + ], + [ + 79.194702, + 42.795792 + ], + [ + 80.234024, + 42.19622 + ] + ] + ] + ] + }, + "name" : "Kazakhstan", + "iso2" : "KZ", + "iso3" : "KAZ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "pb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 107.5466, + 14.708618 + ], + [ + 107.695251, + 15.270832 + ], + [ + 107.175537, + 15.784164 + ], + [ + 107.464706, + 16.078609 + ], + [ + 106.685532, + 16.45805 + ], + [ + 106.561096, + 16.996941 + ], + [ + 105.183319, + 18.334442 + ], + [ + 105.193863, + 18.642494 + ], + [ + 103.879433, + 19.29361 + ], + [ + 104.037247, + 19.692944 + ], + [ + 104.640266, + 19.611942 + ], + [ + 104.979156, + 20.004997 + ], + [ + 104.381927, + 20.444717 + ], + [ + 104.6436, + 20.660275 + ], + [ + 104.109154, + 20.977219 + ], + [ + 103.693588, + 20.657219 + ], + [ + 103.170532, + 20.846664 + ], + [ + 102.976089, + 21.739437 + ], + [ + 102.676651, + 21.65583 + ], + [ + 102.140747, + 22.396286 + ], + [ + 101.738037, + 22.496941 + ], + [ + 101.574432, + 22.20916 + ], + [ + 101.787201, + 21.144161 + ], + [ + 101.281937, + 21.180275 + ], + [ + 101.148239, + 21.572636 + ], + [ + 100.09137, + 20.348606 + ], + [ + 100.58046, + 20.157768 + ], + [ + 100.503601, + 19.526665 + ], + [ + 101.281097, + 19.562218 + ], + [ + 100.921371, + 17.567219 + ], + [ + 101.162773, + 17.459995 + ], + [ + 102.089394, + 18.214983 + ], + [ + 102.683594, + 17.819996 + ], + [ + 103.397217, + 18.434994 + ], + [ + 103.985527, + 18.321663 + ], + [ + 104.718323, + 17.50333 + ], + [ + 104.747208, + 16.528332 + ], + [ + 105.637772, + 15.659721 + ], + [ + 105.536102, + 14.563332 + ], + [ + 105.210602, + 14.349648 + ], + [ + 106.056641, + 13.929998 + ], + [ + 106.004707, + 14.373053 + ], + [ + 106.540741, + 14.598724 + ], + [ + 106.853592, + 14.303053 + ], + [ + 107.5466, + 14.708618 + ] + ] + ] + }, + "name" : "Lao People's Democratic Republic", + "iso2" : "LA", + "iso3" : "LAO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "pr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 35.623634, + 33.245728 + ], + [ + 36.623741, + 34.204994 + ], + [ + 36.459999, + 34.635277 + ], + [ + 35.972771, + 34.647499 + ], + [ + 35.10083, + 33.093605 + ], + [ + 35.623634, + 33.245728 + ] + ] + ] + }, + "name" : "Lebanon", + "iso2" : "LB", + "iso3" : "LBN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "p71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 24.31498, + 57.871826 + ], + [ + 24.407497, + 57.25666 + ], + [ + 23.785831, + 56.970268 + ], + [ + 22.610275, + 57.756386 + ], + [ + 21.73333, + 57.576942 + ], + [ + 21.053608, + 56.83638 + ], + [ + 21.068607, + 56.435547 + ], + [ + 21.051685, + 56.077309 + ], + [ + 22.139439, + 56.423607 + ], + [ + 25, + 56.295547 + ], + [ + 26.613209, + 55.674835 + ], + [ + 28.168011, + 56.150154 + ], + [ + 27.70166, + 56.914711 + ], + [ + 27.861107, + 57.302216 + ], + [ + 27.372059, + 57.535637 + ], + [ + 26.511387, + 57.5261 + ], + [ + 25.294998, + 58.084435 + ], + [ + 24.31498, + 57.871826 + ] + ] + ] + }, + "name" : "Latvia", + "iso2" : "LV", + "iso3" : "LVA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "qL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 26.613209, + 55.674835 + ], + [ + 26.45583, + 55.341377 + ], + [ + 26.819717, + 55.281105 + ], + [ + 25.788887, + 54.87027 + ], + [ + 25.547497, + 54.332771 + ], + [ + 25.785275, + 54.160545 + ], + [ + 23.50404, + 53.947044 + ], + [ + 23.94083, + 52.732208 + ], + [ + 23.1654, + 52.282276 + ], + [ + 23.638607, + 52.079437 + ], + [ + 23.604633, + 51.527695 + ], + [ + 24.396664, + 51.886658 + ], + [ + 25.775829, + 51.939156 + ], + [ + 30.551414, + 51.251846 + ], + [ + 30.943096, + 52.073792 + ], + [ + 31.783886, + 52.108047 + ], + [ + 31.266941, + 53.024712 + ], + [ + 32.741104, + 53.463051 + ], + [ + 31.764225, + 53.80262 + ], + [ + 31.844162, + 54.064438 + ], + [ + 30.781387, + 54.79361 + ], + [ + 31.02972, + 55.043327 + ], + [ + 30.926247, + 55.60257 + ], + [ + 28.168011, + 56.150154 + ], + [ + 26.613209, + 55.674835 + ] + ] + ] + }, + "name" : "Belarus", + "iso2" : "BY", + "iso3" : "BLR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "qb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 21.044441, + 55.326385 + ], + [ + 21.089996, + 55.719986 + ], + [ + 20.942833, + 55.287201 + ], + [ + 20.984814, + 55.27655 + ], + [ + 21.044441, + 55.326385 + ] + ] + ], + [ + [ + [ + 26.613209, + 55.674835 + ], + [ + 25, + 56.295547 + ], + [ + 22.139439, + 56.423607 + ], + [ + 21.051685, + 56.077309 + ], + [ + 21.263935, + 55.248985 + ], + [ + 21.431385, + 55.251938 + ], + [ + 22.842495, + 54.896942 + ], + [ + 22.785885, + 54.363838 + ], + [ + 23.50404, + 53.947044 + ], + [ + 25.785275, + 54.160545 + ], + [ + 25.547497, + 54.332771 + ], + [ + 25.788887, + 54.87027 + ], + [ + 26.819717, + 55.281105 + ], + [ + 26.45583, + 55.341377 + ], + [ + 26.613209, + 55.674835 + ] + ] + ] + ] + }, + "name" : "Lithuania", + "iso2" : "LT", + "iso3" : "LTU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "qr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -11.492331, + 6.927091 + ], + [ + -10.806074, + 6.403 + ], + [ + -9.142778, + 5.055555 + ], + [ + -7.525402, + 4.352806 + ], + [ + -7.423334, + 5.839444 + ], + [ + -8.606384, + 6.507815 + ], + [ + -8.308334, + 6.860833 + ], + [ + -8.469749, + 7.561325 + ], + [ + -8.660557, + 7.695 + ], + [ + -9.106945, + 7.198889 + ], + [ + -9.485161, + 7.361989 + ], + [ + -9.48365, + 8.346931 + ], + [ + -10.266651, + 8.488377 + ], + [ + -11.492331, + 6.927091 + ] + ] + ] + }, + "name" : "Liberia", + "iso2" : "LR", + "iso3" : "LBR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "q71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 17.166386, + 48.012497 + ], + [ + 17.251656, + 48.024994 + ], + [ + 18.655277, + 47.758606 + ], + [ + 20.660553, + 48.563332 + ], + [ + 22.151442, + 48.411919 + ], + [ + 22.558052, + 49.079437 + ], + [ + 21.618889, + 49.436386 + ], + [ + 20.074444, + 49.175278 + ], + [ + 19.475555, + 49.599998 + ], + [ + 18.851246, + 49.517357 + ], + [ + 16.946182, + 48.619064 + ], + [ + 17.166386, + 48.012497 + ] + ] + ] + }, + "name" : "Slovakia", + "iso2" : "SK", + "iso3" : "SVK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "rL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 9.533569, + 47.274544 + ], + [ + 9.474637, + 47.057457 + ], + [ + 9.598635, + 47.063835 + ], + [ + 9.533569, + 47.274544 + ] + ] + ] + }, + "name" : "Liechtenstein", + "iso2" : "LI", + "iso3" : "LIE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "rb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 9.537113, + 30.23439 + ], + [ + 9.303888, + 30.122498 + ], + [ + 9.766388, + 29.427776 + ], + [ + 9.948332, + 27.824444 + ], + [ + 9.871666, + 26.514164 + ], + [ + 9.398333, + 26.153332 + ], + [ + 10.252222, + 24.605831 + ], + [ + 11.558887, + 24.302498 + ], + [ + 11.986475, + 23.522305 + ], + [ + 13.543888, + 23.16861 + ], + [ + 14.234999, + 22.614166 + ], + [ + 14.997889, + 23.000591 + ], + [ + 16.000832, + 23.450554 + ], + [ + 24.002747, + 19.499065 + ], + [ + 24.000832, + 20.001942 + ], + [ + 25.000832, + 19.999119 + ], + [ + 25.001423, + 21.999695 + ], + [ + 24.997776, + 29.248886 + ], + [ + 24.706665, + 30.16861 + ], + [ + 25.151665, + 31.646942 + ], + [ + 24.973888, + 31.969997 + ], + [ + 23.247196, + 32.216225 + ], + [ + 23.112499, + 32.6325 + ], + [ + 21.621387, + 32.933609 + ], + [ + 20.084442, + 32.184715 + ], + [ + 20.060555, + 30.855274 + ], + [ + 19.001389, + 30.266941 + ], + [ + 17.370831, + 31.081665 + ], + [ + 15.761665, + 31.385555 + ], + [ + 15.165833, + 32.398605 + ], + [ + 11.526081, + 33.171135 + ], + [ + 11.567499, + 32.442215 + ], + [ + 10.287222, + 31.694164 + ], + [ + 10.21361, + 30.730831 + ], + [ + 9.537113, + 30.23439 + ] + ] + ] + }, + "name" : "Libyan Arab Jamahiriya", + "iso2" : "LY", + "iso3" : "LBY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "rr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 49.833612, + -17.089724 + ], + [ + 50.010553, + -16.725559 + ], + [ + 49.860552, + -16.913891 + ], + [ + 49.833612, + -17.089724 + ] + ] + ], + [ + [ + [ + 47.219721, + -15.436668 + ], + [ + 47.219446, + -15.420834 + ], + [ + 47.206667, + -15.420557 + ], + [ + 47.200556, + -15.427502 + ], + [ + 47.207773, + -15.434446 + ], + [ + 47.219721, + -15.436668 + ] + ] + ], + [ + [ + [ + 48.342501, + -13.418055 + ], + [ + 48.281389, + -13.196667 + ], + [ + 48.205553, + -13.39139 + ], + [ + 48.342501, + -13.418055 + ] + ] + ], + [ + [ + [ + 49.356943, + -12.090834 + ], + [ + 48.730829, + -12.434168 + ], + [ + 48.959444, + -12.822224 + ], + [ + 48.739717, + -13.427223 + ], + [ + 48.287218, + -13.808056 + ], + [ + 47.905275, + -13.59639 + ], + [ + 48.048334, + -14.155556 + ], + [ + 47.699442, + -14.420557 + ], + [ + 48.001665, + -14.765556 + ], + [ + 47.811277, + -14.603889 + ], + [ + 47.427217, + -15.110556 + ], + [ + 47.454996, + -14.665279 + ], + [ + 47.058329, + -15.185001 + ], + [ + 47.11194, + -15.305557 + ], + [ + 47.235647, + -15.41292 + ], + [ + 47.223619, + -15.448465 + ], + [ + 46.959444, + -15.558056 + ], + [ + 46.947222, + -15.198891 + ], + [ + 46.338335, + -15.624723 + ], + [ + 46.477221, + -15.966112 + ], + [ + 46.151384, + -15.703611 + ], + [ + 44.459162, + -16.184448 + ], + [ + 43.93722, + -17.479446 + ], + [ + 44.482218, + -19.97028 + ], + [ + 43.500551, + -21.333889 + ], + [ + 43.238886, + -22.282501 + ], + [ + 44.017221, + -24.985279 + ], + [ + 45.214724, + -25.588337 + ], + [ + 47.133051, + -24.928059 + ], + [ + 49.788607, + -16.83028 + ], + [ + 49.633608, + -15.557501 + ], + [ + 49.866106, + -15.432501 + ], + [ + 50.172777, + -15.979723 + ], + [ + 50.433611, + -15.580002 + ], + [ + 49.943331, + -13.039446 + ], + [ + 49.356943, + -12.090834 + ] + ], + [ + [ + 49.604441, + -12.62639 + ], + [ + 49.594446, + -12.623611 + ], + [ + 49.595835, + -12.610001 + ], + [ + 49.604441, + -12.62639 + ] + ] + ] + ] + }, + "name" : "Madagascar", + "iso2" : "MG", + "iso3" : "MDG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "r71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -60.86084, + 14.402777 + ], + [ + -60.940834, + 14.740833 + ], + [ + -61.174728, + 14.876944 + ], + [ + -60.86084, + 14.402777 + ] + ] + ] + }, + "name" : "Martinique", + "iso2" : "MQ", + "iso3" : "MTQ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "sL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 91.020248, + 46.600109 + ], + [ + 90.681931, + 45.57972 + ], + [ + 90.896942, + 45.253052 + ], + [ + 93.554703, + 44.957214 + ], + [ + 95.416656, + 44.293884 + ], + [ + 95.336105, + 44.020828 + ], + [ + 96.383041, + 42.731102 + ], + [ + 100.835541, + 42.678047 + ], + [ + 105.012207, + 41.581383 + ], + [ + 107.471916, + 42.466103 + ], + [ + 109.313599, + 42.429993 + ], + [ + 110.440536, + 42.777771 + ], + [ + 111.958328, + 43.692215 + ], + [ + 111.421371, + 44.382492 + ], + [ + 111.98082, + 45.09166 + ], + [ + 113.638046, + 44.74527 + ], + [ + 114.545258, + 45.389435 + ], + [ + 115.701927, + 45.458603 + ], + [ + 116.585541, + 46.29583 + ], + [ + 117.421097, + 46.578331 + ], + [ + 119.897491, + 46.675552 + ], + [ + 119.72998, + 47.164154 + ], + [ + 118.539337, + 47.994751 + ], + [ + 117.801086, + 48.010551 + ], + [ + 117.372192, + 47.653595 + ], + [ + 115.592194, + 47.919441 + ], + [ + 116.71138, + 49.830467 + ], + [ + 114.313026, + 50.284164 + ], + [ + 113.09082, + 49.598602 + ], + [ + 110.788589, + 49.149437 + ], + [ + 108.57222, + 49.333603 + ], + [ + 107.949142, + 49.678047 + ], + [ + 107.977127, + 49.943626 + ], + [ + 106.66304, + 50.3386 + ], + [ + 102.918587, + 50.315269 + ], + [ + 102.327766, + 50.569717 + ], + [ + 102.218872, + 51.333603 + ], + [ + 98.930267, + 52.143608 + ], + [ + 97.827774, + 51.001106 + ], + [ + 98.289703, + 50.293884 + ], + [ + 97.34082, + 49.734436 + ], + [ + 94.635269, + 50.024437 + ], + [ + 94.274994, + 50.569443 + ], + [ + 92.322769, + 50.814995 + ], + [ + 87.840698, + 49.172951 + ], + [ + 87.973312, + 48.576942 + ], + [ + 88.65332, + 48.18277 + ], + [ + 90.074432, + 47.886383 + ], + [ + 91.020248, + 46.600109 + ] + ] + ] + }, + "name" : "Mongolia", + "iso2" : "MN", + "iso3" : "MNG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "sb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -62.171394, + 16.671387 + ], + [ + -62.20195, + 16.81361 + ], + [ + -62.236671, + 16.711941 + ], + [ + -62.171394, + 16.671387 + ] + ] + ] + }, + "name" : "Montserrat", + "iso2" : "MS", + "iso3" : "MSR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "sr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 20.589642, + 41.882187 + ], + [ + 20.492775, + 41.331108 + ], + [ + 20.82111, + 40.908882 + ], + [ + 20.98349, + 40.855888 + ], + [ + 22.935604, + 41.342125 + ], + [ + 23.014721, + 41.762215 + ], + [ + 22.365276, + 42.323883 + ], + [ + 21.630444, + 42.141091 + ], + [ + 20.589642, + 41.882187 + ] + ] + ] + }, + "name" : "The former Yugoslav Republic of Macedonia", + "iso2" : "MK", + "iso3" : "MKD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "s71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -11.373058, + 12.407774 + ], + [ + -11.315556, + 12.022774 + ], + [ + -10.92889, + 12.224442 + ], + [ + -10.652748, + 11.892609 + ], + [ + -10.323893, + 12.224997 + ], + [ + -9.701946, + 12.029163 + ], + [ + -9.155556, + 12.486111 + ], + [ + -8.53388, + 11.49391 + ], + [ + -8.357779, + 11.305555 + ], + [ + -8.680557, + 10.966389 + ], + [ + -8.289722, + 11.007776 + ], + [ + -7.973984, + 10.165611 + ], + [ + -7.635556, + 10.448332 + ], + [ + -6.988056, + 10.147499 + ], + [ + -6.243402, + 10.735256 + ], + [ + -6.111389, + 10.197777 + ], + [ + -5.51985, + 10.436272 + ], + [ + -5.273056, + 11.843887 + ], + [ + -4.4175, + 12.300831 + ], + [ + -4.337223, + 13.121666 + ], + [ + -3.964253, + 13.50383 + ], + [ + -3.437675, + 13.166498 + ], + [ + -3.2575, + 13.696665 + ], + [ + -2.879167, + 13.655554 + ], + [ + -2.474722, + 14.287498 + ], + [ + -2.006945, + 14.187777 + ], + [ + -1.980834, + 14.474722 + ], + [ + -0.725278, + 15.082777 + ], + [ + 0.235048, + 14.915068 + ], + [ + 1.3125, + 15.286665 + ], + [ + 3.523981, + 15.358152 + ], + [ + 4.200833, + 16.393887 + ], + [ + 4.245, + 18.645275 + ], + [ + 4.245277, + 19.146664 + ], + [ + 3.331944, + 18.976387 + ], + [ + 3.233055, + 19.820274 + ], + [ + 1.795833, + 20.308331 + ], + [ + 1.1675, + 20.741108 + ], + [ + 1.169662, + 21.102543 + ], + [ + -4.806111, + 25.000275 + ], + [ + -6.577223, + 24.999165 + ], + [ + -5.601389, + 16.507774 + ], + [ + -5.335, + 16.328053 + ], + [ + -5.49505, + 15.498371 + ], + [ + -9.333612, + 15.499722 + ], + [ + -9.338057, + 15.704721 + ], + [ + -9.411112, + 15.443888 + ], + [ + -10.716387, + 15.438902 + ], + [ + -10.899637, + 15.106874 + ], + [ + -11.494167, + 15.646387 + ], + [ + -11.841391, + 14.863054 + ], + [ + -12.244833, + 14.764385 + ], + [ + -12.057222, + 13.664721 + ], + [ + -11.378056, + 12.988054 + ], + [ + -11.373058, + 12.407774 + ] + ] + ] + }, + "name" : "Mali", + "iso2" : "ML", + "iso3" : "MLI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "tL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -2.209445, + 35.085831 + ], + [ + -2.914722, + 35.273605 + ], + [ + -2.925278, + 35.266663 + ], + [ + -2.946945, + 35.329163 + ], + [ + -4.695834, + 35.208885 + ], + [ + -5.345834, + 35.84166 + ], + [ + -5.395557, + 35.916336 + ], + [ + -5.918744, + 35.790649 + ], + [ + -6.843056, + 34.018608 + ], + [ + -9.053169, + 32.734802 + ], + [ + -9.809168, + 31.446663 + ], + [ + -9.640278, + 30.168053 + ], + [ + -10.138056, + 29.428055 + ], + [ + -11.458057, + 28.334442 + ], + [ + -13.174961, + 27.666958 + ], + [ + -8.666668, + 27.666664 + ], + [ + -8.667223, + 28.709442 + ], + [ + -7.123889, + 29.636944 + ], + [ + -5.538334, + 29.902496 + ], + [ + -4.920556, + 30.508053 + ], + [ + -3.626667, + 30.970554 + ], + [ + -3.818334, + 31.695553 + ], + [ + -2.853889, + 32.088333 + ], + [ + -1.180556, + 32.11055 + ], + [ + -1.010278, + 32.508331 + ], + [ + -1.668056, + 33.261108 + ], + [ + -1.747222, + 34.747215 + ], + [ + -2.209445, + 35.085831 + ] + ] + ] + }, + "name" : "Morocco", + "iso2" : "MA", + "iso3" : "MAR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "tb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 57.572495, + -20.514168 + ], + [ + 57.624443, + -19.986389 + ], + [ + 57.304718, + -20.449169 + ], + [ + 57.572495, + -20.514168 + ] + ] + ], + [ + [ + [ + 63.466385, + -19.735836 + ], + [ + 63.461105, + -19.673058 + ], + [ + 63.328606, + -19.738056 + ], + [ + 63.466385, + -19.735836 + ] + ] + ], + [ + [ + [ + 56.564438, + -10.397223 + ], + [ + 56.513611, + -10.316668 + ], + [ + 56.511665, + -10.346668 + ], + [ + 56.564438, + -10.397223 + ] + ] + ] + ] + }, + "name" : "Mauritius", + "iso2" : "MU", + "iso3" : "MUS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "tr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -16.427502, + 19.603611 + ], + [ + -16.344448, + 19.866386 + ], + [ + -16.460003, + 19.699718 + ], + [ + -16.427502, + 19.603611 + ] + ] + ], + [ + [ + [ + -4.806111, + 25.000275 + ], + [ + -6.662778, + 26.129166 + ], + [ + -8.66679, + 27.290459 + ], + [ + -8.666945, + 26.000275 + ], + [ + -12.000557, + 26 + ], + [ + -12.000278, + 23.454441 + ], + [ + -13.105278, + 22.893055 + ], + [ + -12.999723, + 21.338055 + ], + [ + -15.741997, + 21.338284 + ], + [ + -16.953056, + 21.338333 + ], + [ + -17.05233, + 20.764095 + ], + [ + -16.919724, + 21.161663 + ], + [ + -16.196392, + 20.223053 + ], + [ + -16.511669, + 19.352219 + ], + [ + -16.039448, + 17.728054 + ], + [ + -16.527679, + 16.060249 + ], + [ + -16.280834, + 16.519722 + ], + [ + -14.345278, + 16.638611 + ], + [ + -12.244833, + 14.764385 + ], + [ + -11.841391, + 14.863054 + ], + [ + -11.494167, + 15.646387 + ], + [ + -10.899637, + 15.106874 + ], + [ + -10.716387, + 15.438902 + ], + [ + -9.411112, + 15.443888 + ], + [ + -9.338057, + 15.704721 + ], + [ + -9.333612, + 15.499722 + ], + [ + -5.49505, + 15.498371 + ], + [ + -5.335, + 16.328053 + ], + [ + -5.601389, + 16.507774 + ], + [ + -6.577223, + 24.999165 + ], + [ + -4.806111, + 25.000275 + ] + ] + ] + ] + }, + "name" : "Mauritania", + "iso2" : "MR", + "iso3" : "MRT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "t71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 14.562222, + 35.820274 + ], + [ + 14.326387, + 35.978882 + ], + [ + 14.374998, + 35.847496 + ], + [ + 14.562222, + 35.820274 + ] + ] + ], + [ + [ + [ + 14.2675, + 36.011383 + ], + [ + 14.34111, + 36.033882 + ], + [ + 14.18111, + 36.060829 + ], + [ + 14.2675, + 36.011383 + ] + ] + ] + ] + }, + "name" : "Malta", + "iso2" : "MT", + "iso3" : "MLT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "uL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 55.874718, + 17.490833 + ], + [ + 55.859718, + 17.516666 + ], + [ + 55.829163, + 17.49361 + ], + [ + 55.874718, + 17.490833 + ] + ] + ], + [ + [ + [ + 56.024162, + 17.484165 + ], + [ + 56.093605, + 17.514721 + ], + [ + 55.957497, + 17.519165 + ], + [ + 56.024162, + 17.484165 + ] + ] + ], + [ + [ + [ + 58.842773, + 20.441109 + ], + [ + 58.899719, + 20.693054 + ], + [ + 58.649719, + 20.168888 + ], + [ + 58.842773, + 20.441109 + ] + ] + ], + [ + [ + [ + 56.373528, + 24.979382 + ], + [ + 56.104164, + 24.734722 + ], + [ + 56.037498, + 24.938889 + ], + [ + 55.779442, + 24.563889 + ], + [ + 56.024719, + 24.076111 + ], + [ + 55.510277, + 23.972775 + ], + [ + 55.199165, + 22.699718 + ], + [ + 55.666107, + 21.999722 + ], + [ + 55, + 20 + ], + [ + 51.99929, + 18.999344 + ], + [ + 53.114441, + 16.642778 + ], + [ + 55.039993, + 17.018608 + ], + [ + 55.436943, + 17.828888 + ], + [ + 56.353333, + 17.934166 + ], + [ + 56.814484, + 18.747684 + ], + [ + 57.803886, + 18.969444 + ], + [ + 57.829437, + 20.218887 + ], + [ + 58.210831, + 20.612499 + ], + [ + 58.515831, + 20.411663 + ], + [ + 59.811386, + 22.226665 + ], + [ + 58.609444, + 23.633053 + ], + [ + 57.164993, + 23.937775 + ], + [ + 56.373528, + 24.979382 + ] + ] + ], + [ + [ + [ + 56.269722, + 25.636015 + ], + [ + 56.365368, + 26.382389 + ], + [ + 56.079941, + 26.065559 + ], + [ + 56.183331, + 25.654989 + ], + [ + 56.269722, + 25.636015 + ] + ] + ] + ] + }, + "name" : "Oman", + "iso2" : "OM", + "iso3" : "OMN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ub1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 73.176376, + -0.689722 + ], + [ + 73.171921, + -0.681667 + ], + [ + 73.156372, + -0.683889 + ], + [ + 73.176376, + -0.689722 + ] + ] + ], + [ + [ + [ + 73.201385, + -0.680833 + ], + [ + 73.201935, + -0.667222 + ], + [ + 73.188309, + -0.684722 + ], + [ + 73.201385, + -0.680833 + ] + ] + ], + [ + [ + [ + 73.12915, + -0.668889 + ], + [ + 73.121368, + -0.653333 + ], + [ + 73.125259, + -0.668889 + ], + [ + 73.12915, + -0.668889 + ] + ] + ], + [ + [ + [ + 73.23082, + -0.648056 + ], + [ + 73.242203, + -0.617778 + ], + [ + 73.226089, + -0.6325 + ], + [ + 73.23082, + -0.648056 + ] + ] + ], + [ + [ + [ + 73.116379, + -0.635833 + ], + [ + 73.09137, + -0.5825 + ], + [ + 73.09082, + -0.606667 + ], + [ + 73.116379, + -0.635833 + ] + ] + ], + [ + [ + [ + 73.248032, + -0.605278 + ], + [ + 73.249146, + -0.576111 + ], + [ + 73.235809, + -0.585556 + ], + [ + 73.248032, + -0.605278 + ] + ] + ], + [ + [ + [ + 73.44693, + -0.299444 + ], + [ + 73.442474, + -0.285278 + ], + [ + 73.428314, + -0.286389 + ], + [ + 73.44693, + -0.299444 + ] + ] + ], + [ + [ + [ + 73.106934, + 0.211944 + ], + [ + 73.103317, + 0.228889 + ], + [ + 73.095535, + 0.228056 + ], + [ + 73.106934, + 0.211944 + ] + ] + ], + [ + [ + [ + 73.214706, + 0.230833 + ], + [ + 73.220261, + 0.239167 + ], + [ + 73.209152, + 0.24 + ], + [ + 73.214706, + 0.230833 + ] + ] + ], + [ + [ + [ + 73.044983, + 0.259444 + ], + [ + 73.033051, + 0.272778 + ], + [ + 73.034424, + 0.261389 + ], + [ + 73.044983, + 0.259444 + ] + ] + ], + [ + [ + [ + 73.375809, + 0.28 + ], + [ + 73.3797, + 0.291944 + ], + [ + 73.367203, + 0.281389 + ], + [ + 73.375809, + 0.28 + ] + ] + ], + [ + [ + [ + 73.513046, + 0.378333 + ], + [ + 73.508881, + 0.3925 + ], + [ + 73.504715, + 0.383889 + ], + [ + 73.513046, + 0.378333 + ] + ] + ], + [ + [ + [ + 72.943039, + 0.488611 + ], + [ + 72.937195, + 0.499722 + ], + [ + 72.938034, + 0.485555 + ], + [ + 72.943039, + 0.488611 + ] + ] + ], + [ + [ + [ + 73.498032, + 0.499722 + ], + [ + 73.487762, + 0.508055 + ], + [ + 73.493042, + 0.496944 + ], + [ + 73.498032, + 0.499722 + ] + ] + ], + [ + [ + [ + 73.374695, + 1.781667 + ], + [ + 73.374695, + 1.795278 + ], + [ + 73.361374, + 1.788611 + ], + [ + 73.374695, + 1.781667 + ] + ] + ], + [ + [ + [ + 73.399155, + 1.793889 + ], + [ + 73.407761, + 1.805833 + ], + [ + 73.397766, + 1.806389 + ], + [ + 73.399155, + 1.793889 + ] + ] + ], + [ + [ + [ + 73.287201, + 1.831944 + ], + [ + 73.284424, + 1.823055 + ], + [ + 73.297211, + 1.819166 + ], + [ + 73.287201, + 1.831944 + ] + ] + ], + [ + [ + [ + 73.506943, + 1.826667 + ], + [ + 73.516663, + 1.847222 + ], + [ + 73.49498, + 1.823055 + ], + [ + 73.506943, + 1.826667 + ] + ] + ], + [ + [ + [ + 73.250549, + 1.889166 + ], + [ + 73.247757, + 1.898333 + ], + [ + 73.241928, + 1.886111 + ], + [ + 73.250549, + 1.889166 + ] + ] + ], + [ + [ + [ + 73.549988, + 1.896389 + ], + [ + 73.549713, + 1.937222 + ], + [ + 73.539978, + 1.891944 + ], + [ + 73.549988, + 1.896389 + ] + ] + ], + [ + [ + [ + 73.55304, + 1.965 + ], + [ + 73.547211, + 1.978333 + ], + [ + 73.548325, + 1.964166 + ], + [ + 73.55304, + 1.965 + ] + ] + ], + [ + [ + [ + 73.323044, + 1.985 + ], + [ + 73.322495, + 1.995555 + ], + [ + 73.313873, + 1.986388 + ], + [ + 73.323044, + 1.985 + ] + ] + ], + [ + [ + [ + 73.588882, + 2.1075 + ], + [ + 73.567764, + 2.11 + ], + [ + 73.559143, + 2.09611 + ], + [ + 73.588882, + 2.1075 + ] + ] + ], + [ + [ + [ + 73.123871, + 2.190555 + ], + [ + 73.121918, + 2.196944 + ], + [ + 73.11026, + 2.196944 + ], + [ + 73.123871, + 2.190555 + ] + ] + ], + [ + [ + [ + 72.930817, + 2.314444 + ], + [ + 72.92276, + 2.328888 + ], + [ + 72.919983, + 2.3225 + ], + [ + 72.930817, + 2.314444 + ] + ] + ], + [ + [ + [ + 73.366653, + 2.384444 + ], + [ + 73.368591, + 2.409721 + ], + [ + 73.350266, + 2.440833 + ], + [ + 73.366653, + 2.384444 + ] + ] + ], + [ + [ + [ + 73.319717, + 2.492499 + ], + [ + 73.311096, + 2.504722 + ], + [ + 73.313599, + 2.491944 + ], + [ + 73.319717, + 2.492499 + ] + ] + ], + [ + [ + [ + 72.876083, + 2.681388 + ], + [ + 72.866379, + 2.69611 + ], + [ + 72.866379, + 2.684999 + ], + [ + 72.876083, + 2.681388 + ] + ] + ], + [ + [ + [ + 73.025269, + 2.734444 + ], + [ + 73.034988, + 2.747499 + ], + [ + 73.018875, + 2.736944 + ], + [ + 73.025269, + 2.734444 + ] + ] + ], + [ + [ + [ + 73.356644, + 2.771666 + ], + [ + 73.349426, + 2.781944 + ], + [ + 73.348877, + 2.770833 + ], + [ + 73.356644, + 2.771666 + ] + ] + ], + [ + [ + [ + 73.017761, + 2.946944 + ], + [ + 73.012207, + 2.954722 + ], + [ + 73.005829, + 2.946944 + ], + [ + 73.017761, + 2.946944 + ] + ] + ], + [ + [ + [ + 73.579987, + 2.948888 + ], + [ + 73.585541, + 2.967499 + ], + [ + 73.574432, + 2.950555 + ], + [ + 73.579987, + 2.948888 + ] + ] + ], + [ + [ + [ + 72.982208, + 3.101944 + ], + [ + 72.982758, + 3.110833 + ], + [ + 72.973877, + 3.108055 + ], + [ + 72.982208, + 3.101944 + ] + ] + ], + [ + [ + [ + 73.587204, + 3.367777 + ], + [ + 73.59082, + 3.376944 + ], + [ + 73.581665, + 3.372221 + ], + [ + 73.587204, + 3.367777 + ] + ] + ], + [ + [ + [ + 73.753326, + 3.446388 + ], + [ + 73.751389, + 3.452499 + ], + [ + 73.747757, + 3.451111 + ], + [ + 73.753326, + 3.446388 + ] + ] + ], + [ + [ + [ + 72.802765, + 3.510278 + ], + [ + 72.798599, + 3.516944 + ], + [ + 72.78804, + 3.511111 + ], + [ + 72.802765, + 3.510278 + ] + ] + ], + [ + [ + [ + 72.92276, + 3.544167 + ], + [ + 72.9272, + 3.559721 + ], + [ + 72.908035, + 3.537777 + ], + [ + 72.92276, + 3.544167 + ] + ] + ], + [ + [ + [ + 72.697479, + 3.714166 + ], + [ + 72.699417, + 3.724166 + ], + [ + 72.687759, + 3.724721 + ], + [ + 72.697479, + 3.714166 + ] + ] + ], + [ + [ + [ + 73.473877, + 3.933055 + ], + [ + 73.48027, + 3.940555 + ], + [ + 73.465546, + 3.932222 + ], + [ + 73.473877, + 3.933055 + ] + ] + ], + [ + [ + [ + 72.709717, + 3.995555 + ], + [ + 72.707764, + 4.003611 + ], + [ + 72.697754, + 4.000833 + ], + [ + 72.709717, + 3.995555 + ] + ] + ], + [ + [ + [ + 73.512207, + 4.093611 + ], + [ + 73.503052, + 4.106943 + ], + [ + 73.501938, + 4.096388 + ], + [ + 73.512207, + 4.093611 + ] + ] + ], + [ + [ + [ + 73.503601, + 4.164165 + ], + [ + 73.505264, + 4.17861 + ], + [ + 73.491089, + 4.174999 + ], + [ + 73.503601, + 4.164165 + ] + ] + ], + [ + [ + [ + 73.5186, + 4.191387 + ], + [ + 73.511383, + 4.182221 + ], + [ + 73.51915, + 4.176388 + ], + [ + 73.5186, + 4.191387 + ] + ] + ], + [ + [ + [ + 72.959717, + 4.26861 + ], + [ + 72.962494, + 4.262221 + ], + [ + 72.977768, + 4.261666 + ], + [ + 72.959717, + 4.26861 + ] + ] + ], + [ + [ + [ + 72.969711, + 4.877776 + ], + [ + 72.98027, + 4.901111 + ], + [ + 72.970261, + 4.898055 + ], + [ + 72.969711, + 4.877776 + ] + ] + ], + [ + [ + [ + 73.589706, + 5.27361 + ], + [ + 73.589706, + 5.286943 + ], + [ + 73.56694, + 5.277499 + ], + [ + 73.589706, + 5.27361 + ] + ] + ], + [ + [ + [ + 73.320267, + 5.36111 + ], + [ + 73.333603, + 5.366666 + ], + [ + 73.314987, + 5.365276 + ], + [ + 73.320267, + 5.36111 + ] + ] + ], + [ + [ + [ + 73.635269, + 5.385555 + ], + [ + 73.637497, + 5.412777 + ], + [ + 73.620255, + 5.420833 + ], + [ + 73.635269, + 5.385555 + ] + ] + ], + [ + [ + [ + 73.384155, + 5.709722 + ], + [ + 73.392761, + 5.72861 + ], + [ + 73.387772, + 5.741943 + ], + [ + 73.384155, + 5.709722 + ] + ] + ], + [ + [ + [ + 72.991364, + 5.76111 + ], + [ + 72.981659, + 5.771666 + ], + [ + 72.981659, + 5.758888 + ], + [ + 72.991364, + 5.76111 + ] + ] + ], + [ + [ + [ + 73.436371, + 5.827222 + ], + [ + 73.451096, + 5.849166 + ], + [ + 73.429703, + 5.827222 + ], + [ + 73.436371, + 5.827222 + ] + ] + ], + [ + [ + [ + 72.968872, + 5.850832 + ], + [ + 72.961105, + 5.867777 + ], + [ + 72.964996, + 5.847499 + ], + [ + 72.968872, + 5.850832 + ] + ] + ], + [ + [ + [ + 73.433044, + 5.902222 + ], + [ + 73.422211, + 5.911666 + ], + [ + 73.423599, + 5.90361 + ], + [ + 73.433044, + 5.902222 + ] + ] + ], + [ + [ + [ + 73.398331, + 5.955277 + ], + [ + 73.393326, + 5.96861 + ], + [ + 73.379425, + 5.971388 + ], + [ + 73.398331, + 5.955277 + ] + ] + ], + [ + [ + [ + 72.933319, + 5.960833 + ], + [ + 72.926086, + 5.971944 + ], + [ + 72.928314, + 5.954999 + ], + [ + 72.933319, + 5.960833 + ] + ] + ], + [ + [ + [ + 73.270538, + 6.185276 + ], + [ + 73.269989, + 6.193054 + ], + [ + 73.2686, + 6.175277 + ], + [ + 73.270538, + 6.185276 + ] + ] + ], + [ + [ + [ + 73.248032, + 6.231943 + ], + [ + 73.234711, + 6.23611 + ], + [ + 73.2397, + 6.227499 + ], + [ + 73.248032, + 6.231943 + ] + ] + ], + [ + [ + [ + 73.204437, + 6.317499 + ], + [ + 73.20166, + 6.327499 + ], + [ + 73.190811, + 6.324721 + ], + [ + 73.204437, + 6.317499 + ] + ] + ], + [ + [ + [ + 73.050262, + 6.429166 + ], + [ + 73.041367, + 6.444165 + ], + [ + 73.040817, + 6.429999 + ], + [ + 73.050262, + 6.429166 + ] + ] + ], + [ + [ + [ + 73.06749, + 6.661388 + ], + [ + 73.068054, + 6.672776 + ], + [ + 73.059982, + 6.657499 + ], + [ + 73.06749, + 6.661388 + ] + ] + ], + [ + [ + [ + 73.101089, + 6.696943 + ], + [ + 73.102478, + 6.715555 + ], + [ + 73.093323, + 6.697221 + ], + [ + 73.101089, + 6.696943 + ] + ] + ], + [ + [ + [ + 73.136932, + 6.726388 + ], + [ + 73.161926, + 6.784165 + ], + [ + 73.12915, + 6.733888 + ], + [ + 73.136932, + 6.726388 + ] + ] + ], + [ + [ + [ + 73.181366, + 6.8325 + ], + [ + 73.184143, + 6.81861 + ], + [ + 73.20166, + 6.828888 + ], + [ + 73.181366, + 6.8325 + ] + ] + ], + [ + [ + [ + 73.205261, + 6.883611 + ], + [ + 73.209991, + 6.926388 + ], + [ + 73.195526, + 6.889443 + ], + [ + 73.205261, + 6.883611 + ] + ] + ], + [ + [ + [ + 73.198868, + 6.947498 + ], + [ + 73.193588, + 6.97861 + ], + [ + 73.19165, + 6.951111 + ], + [ + 73.198868, + 6.947498 + ] + ] + ], + [ + [ + [ + 72.985535, + 7.012221 + ], + [ + 72.974991, + 7.029444 + ], + [ + 72.97998, + 7.011666 + ], + [ + 72.985535, + 7.012221 + ] + ] + ], + [ + [ + [ + 72.916092, + 7.081666 + ], + [ + 72.911926, + 7.094999 + ], + [ + 72.902771, + 7.093055 + ], + [ + 72.916092, + 7.081666 + ] + ] + ] + ] + }, + "name" : "Maldives", + "iso2" : "MV", + "iso3" : "MDV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ur1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -114.742783, + 18.322779 + ], + [ + -114.723892, + 18.353334 + ], + [ + -114.80307, + 18.332777 + ], + [ + -114.742783, + 18.322779 + ] + ] + ], + [ + [ + [ + -87.372787, + 18.400278 + ], + [ + -87.32695, + 18.453333 + ], + [ + -87.33168, + 18.503054 + ], + [ + -87.372787, + 18.400278 + ] + ] + ], + [ + [ + [ + -87.251678, + 18.64139 + ], + [ + -87.265015, + 18.733889 + ], + [ + -87.259445, + 18.627779 + ], + [ + -87.251678, + 18.64139 + ] + ] + ], + [ + [ + [ + -91.828613, + 18.639166 + ], + [ + -91.523895, + 18.770555 + ], + [ + -91.646118, + 18.753611 + ], + [ + -91.828613, + 18.639166 + ] + ] + ], + [ + [ + [ + -110.926117, + 18.721109 + ], + [ + -111.003342, + 18.865 + ], + [ + -111.071404, + 18.768332 + ], + [ + -110.926117, + 18.721109 + ] + ] + ], + [ + [ + [ + -110.78862, + 19.308054 + ], + [ + -110.813339, + 19.341665 + ], + [ + -110.835854, + 19.271387 + ], + [ + -110.78862, + 19.308054 + ] + ] + ], + [ + [ + [ + -86.732788, + 20.585554 + ], + [ + -86.938904, + 20.539446 + ], + [ + -87, + 20.256388 + ], + [ + -86.732788, + 20.585554 + ] + ] + ], + [ + [ + [ + -86.701401, + 21.197222 + ], + [ + -86.749176, + 21.28639 + ], + [ + -86.738892, + 21.24 + ], + [ + -86.701401, + 21.197222 + ] + ] + ], + [ + [ + [ + -106.195557, + 21.255278 + ], + [ + -106.19751, + 21.33861 + ], + [ + -106.265007, + 21.336668 + ], + [ + -106.195557, + 21.255278 + ] + ] + ], + [ + [ + [ + -106.386673, + 21.420832 + ], + [ + -106.335564, + 21.498888 + ], + [ + -106.511398, + 21.450277 + ], + [ + -106.386673, + 21.420832 + ] + ] + ], + [ + [ + [ + -106.515007, + 21.513056 + ], + [ + -106.530006, + 21.690832 + ], + [ + -106.645844, + 21.688334 + ], + [ + -106.515007, + 21.513056 + ] + ] + ], + [ + [ + [ + -106.656403, + 21.752501 + ], + [ + -106.670563, + 21.816389 + ], + [ + -106.675293, + 21.741388 + ], + [ + -106.656403, + 21.752501 + ] + ] + ], + [ + [ + [ + -97.818893, + 22.682501 + ], + [ + -97.78418, + 22.774168 + ], + [ + -97.830841, + 22.697222 + ], + [ + -97.818893, + 22.682501 + ] + ] + ], + [ + [ + [ + -97.773056, + 22.791388 + ], + [ + -97.760284, + 22.834166 + ], + [ + -97.781403, + 22.804998 + ], + [ + -97.773056, + 22.791388 + ] + ] + ], + [ + [ + [ + -109.784447, + 24.135 + ], + [ + -109.915558, + 24.368891 + ], + [ + -109.871399, + 24.187498 + ], + [ + -109.784447, + 24.135 + ] + ] + ], + [ + [ + [ + -111.532501, + 24.378054 + ], + [ + -111.670288, + 24.371946 + ], + [ + -111.494743, + 24.351389 + ], + [ + -111.532501, + 24.378054 + ] + ] + ], + [ + [ + [ + -111.705841, + 24.331667 + ], + [ + -111.836937, + 24.541113 + ], + [ + -112.016678, + 24.532499 + ], + [ + -111.705841, + 24.331667 + ] + ] + ], + [ + [ + [ + -110.328056, + 24.400835 + ], + [ + -110.300003, + 24.484446 + ], + [ + -110.401947, + 24.58 + ], + [ + -110.328056, + 24.400835 + ] + ] + ], + [ + [ + [ + -110.536957, + 24.882223 + ], + [ + -110.578903, + 25.033888 + ], + [ + -110.705002, + 25.093889 + ], + [ + -110.536957, + 24.882223 + ] + ] + ], + [ + [ + [ + -112.046112, + 24.519167 + ], + [ + -112.202507, + 24.844999 + ], + [ + -112.133621, + 25.281111 + ], + [ + -112.252792, + 24.809999 + ], + [ + -112.046112, + 24.519167 + ] + ] + ], + [ + [ + [ + -108.842789, + 25.42861 + ], + [ + -109.011124, + 25.438334 + ], + [ + -108.789169, + 25.372221 + ], + [ + -108.842789, + 25.42861 + ] + ] + ], + [ + [ + [ + -110.796951, + 25.594999 + ], + [ + -110.808327, + 25.695833 + ], + [ + -110.825287, + 25.6425 + ], + [ + -110.796951, + 25.594999 + ] + ] + ], + [ + [ + [ + -111.19751, + 25.844999 + ], + [ + -111.08667, + 26.074446 + ], + [ + -111.191391, + 26.038889 + ], + [ + -111.19751, + 25.844999 + ] + ] + ], + [ + [ + [ + -110.546112, + 27.309999 + ], + [ + -110.590286, + 27.415277 + ], + [ + -110.597504, + 27.336111 + ], + [ + -110.546112, + 27.309999 + ] + ] + ], + [ + [ + [ + -114.220001, + 27.738333 + ], + [ + -114.24501, + 27.814444 + ], + [ + -114.323898, + 27.816668 + ], + [ + -114.220001, + 27.738333 + ] + ] + ], + [ + [ + [ + -115.173889, + 28.027498 + ], + [ + -115.240837, + 28.370554 + ], + [ + -115.326683, + 28.138334 + ], + [ + -115.173889, + 28.027498 + ] + ] + ], + [ + [ + [ + -112.76001, + 28.593611 + ], + [ + -112.796402, + 28.644167 + ], + [ + -112.885834, + 28.683889 + ], + [ + -112.76001, + 28.593611 + ] + ] + ], + [ + [ + [ + -112.58168, + 28.670279 + ], + [ + -112.540848, + 28.735834 + ], + [ + -112.603622, + 28.727221 + ], + [ + -112.58168, + 28.670279 + ] + ] + ], + [ + [ + [ + -118.289169, + 28.881666 + ], + [ + -118.310013, + 29.195276 + ], + [ + -118.404167, + 29.147779 + ], + [ + -118.289169, + 28.881666 + ] + ] + ], + [ + [ + [ + -112.261948, + 28.773333 + ], + [ + -112.34584, + 29.23361 + ], + [ + -112.564178, + 28.878332 + ], + [ + -112.261948, + 28.773333 + ] + ] + ], + [ + [ + [ + -113.135559, + 29.019724 + ], + [ + -113.588623, + 29.583612 + ], + [ + -113.592215, + 29.425833 + ], + [ + -113.135559, + 29.019724 + ] + ] + ], + [ + [ + [ + -114.650848, + 31.690554 + ], + [ + -114.790283, + 31.799444 + ], + [ + -114.763634, + 31.7125 + ], + [ + -114.650848, + 31.690554 + ] + ] + ], + [ + [ + [ + -97.140739, + 25.966429 + ], + [ + -99.104736, + 26.434999 + ], + [ + -99.505005, + 27.570276 + ], + [ + -101.405014, + 29.772779 + ], + [ + -102.305847, + 29.889444 + ], + [ + -103.375, + 29.023611 + ], + [ + -104.540009, + 29.67111 + ], + [ + -104.900558, + 30.572779 + ], + [ + -106.400848, + 31.750277 + ], + [ + -108.208618, + 31.783335 + ], + [ + -108.208344, + 31.333055 + ], + [ + -111.045837, + 31.333055 + ], + [ + -113.052887, + 31.971071 + ], + [ + -114.80983, + 32.50699 + ], + [ + -114.719093, + 32.718458 + ], + [ + -117.122374, + 32.535334 + ], + [ + -115.693893, + 29.768332 + ], + [ + -114.063606, + 28.527224 + ], + [ + -114.310562, + 27.865557 + ], + [ + -113.983063, + 27.702501 + ], + [ + -114.988892, + 27.721109 + ], + [ + -113.597504, + 26.736944 + ], + [ + -113.128342, + 26.958887 + ], + [ + -113.220291, + 26.705557 + ], + [ + -112.396666, + 26.272779 + ], + [ + -112.106117, + 25.518332 + ], + [ + -112.070847, + 25.613054 + ], + [ + -112.087509, + 24.756109 + ], + [ + -110.316681, + 23.567499 + ], + [ + -110.004997, + 22.88611 + ], + [ + -109.410843, + 23.468332 + ], + [ + -110.213623, + 24.351946 + ], + [ + -110.354172, + 24.115835 + ], + [ + -110.660568, + 24.337778 + ], + [ + -111.560837, + 26.723612 + ], + [ + -111.842215, + 26.903055 + ], + [ + -111.858612, + 26.661943 + ], + [ + -112.862793, + 28.433332 + ], + [ + -114.545288, + 30.001112 + ], + [ + -115.031677, + 31.968054 + ], + [ + -113.08667, + 31.227221 + ], + [ + -112.164726, + 28.972502 + ], + [ + -111.10556, + 27.938334 + ], + [ + -110.509743, + 27.866388 + ], + [ + -110.529715, + 27.371111 + ], + [ + -109.103897, + 26.283609 + ], + [ + -109.388062, + 25.756109 + ], + [ + -108.828056, + 25.798334 + ], + [ + -109.108902, + 25.52611 + ], + [ + -108.767792, + 25.542223 + ], + [ + -108.39418, + 25.141111 + ], + [ + -108.042511, + 25.07361 + ], + [ + -107.999184, + 24.652498 + ], + [ + -105.816963, + 22.660276 + ], + [ + -105.189453, + 21.437498 + ], + [ + -105.544449, + 20.785002 + ], + [ + -105.244171, + 20.574167 + ], + [ + -105.680008, + 20.386389 + ], + [ + -104.983612, + 19.339445 + ], + [ + -103.450012, + 18.313612 + ], + [ + -101.950012, + 17.977499 + ], + [ + -101.011124, + 17.265276 + ], + [ + -97.785004, + 15.968611 + ], + [ + -96.47612, + 15.64361 + ], + [ + -94.861954, + 16.4275 + ], + [ + -94.789734, + 16.257776 + ], + [ + -94.578064, + 16.318335 + ], + [ + -94.724731, + 16.196665 + ], + [ + -94.057785, + 16.040834 + ], + [ + -94.368057, + 16.294443 + ], + [ + -92.772781, + 15.174444 + ], + [ + -92.24678, + 14.550547 + ], + [ + -91.729172, + 16.074999 + ], + [ + -90.441956, + 16.088335 + ], + [ + -90.406403, + 16.416388 + ], + [ + -91.4375, + 17.24111 + ], + [ + -90.983902, + 17.256109 + ], + [ + -90.982422, + 17.820654 + ], + [ + -89.141953, + 17.818888 + ], + [ + -88.377792, + 18.482779 + ], + [ + -88.2995, + 18.482931 + ], + [ + -88.037506, + 18.869444 + ], + [ + -87.847504, + 18.190832 + ], + [ + -87.411667, + 19.57889 + ], + [ + -87.738892, + 19.674723 + ], + [ + -86.772781, + 21.151388 + ], + [ + -87.027786, + 21.590277 + ], + [ + -88.451401, + 21.568888 + ], + [ + -90.327515, + 21.031389 + ], + [ + -90.454727, + 19.975279 + ], + [ + -91.475006, + 18.439444 + ], + [ + -91.814728, + 18.383055 + ], + [ + -91.99501, + 18.727777 + ], + [ + -94.478897, + 18.146666 + ], + [ + -94.802231, + 18.522501 + ], + [ + -95.911392, + 18.825277 + ], + [ + -97.176117, + 20.684999 + ], + [ + -97.889725, + 22.600832 + ], + [ + -97.140739, + 25.966429 + ] + ], + [ + [ + -109.948898, + 27.024443 + ], + [ + -110.034447, + 27.091391 + ], + [ + -109.9814, + 27.076387 + ], + [ + -109.948898, + 27.024443 + ] + ], + [ + [ + -97.607788, + 21.736666 + ], + [ + -97.674179, + 21.790277 + ], + [ + -97.685562, + 21.859999 + ], + [ + -97.607788, + 21.736666 + ] + ] + ] + ] + }, + "name" : "Mexico", + "iso2" : "MX", + "iso3" : "MEX" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "u71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 104.120241, + 2.318892 + ], + [ + 104.101068, + 2.294168 + ], + [ + 104.15497, + 2.287779 + ], + [ + 104.120241, + 2.318892 + ] + ] + ], + [ + [ + [ + 111.370821, + 2.360277 + ], + [ + 111.413881, + 2.376112 + ], + [ + 111.376925, + 2.495279 + ], + [ + 111.383883, + 2.680002 + ], + [ + 111.327478, + 2.781389 + ], + [ + 111.303591, + 2.448057 + ], + [ + 111.370821, + 2.360277 + ] + ] + ], + [ + [ + [ + 104.171083, + 2.705278 + ], + [ + 104.221628, + 2.729723 + ], + [ + 104.171915, + 2.895002 + ], + [ + 104.171083, + 2.705278 + ] + ] + ], + [ + [ + [ + 117.903559, + 4.174044 + ], + [ + 117.726648, + 4.169722 + ], + [ + 117.686922, + 4.168337 + ], + [ + 117.903559, + 4.174044 + ] + ] + ], + [ + [ + [ + 118.681932, + 4.499723 + ], + [ + 118.689425, + 4.441111 + ], + [ + 118.762774, + 4.463614 + ], + [ + 118.681932, + 4.499723 + ] + ] + ], + [ + [ + [ + 118.509722, + 4.554445 + ], + [ + 118.499422, + 4.529165 + ], + [ + 118.517488, + 4.536112 + ], + [ + 118.509722, + 4.554445 + ] + ] + ], + [ + [ + [ + 118.570269, + 4.600832 + ], + [ + 118.478868, + 4.689165 + ], + [ + 118.343874, + 4.670553 + ], + [ + 118.570269, + 4.600832 + ] + ] + ], + [ + [ + [ + 115.233049, + 5.259722 + ], + [ + 115.24193, + 5.384722 + ], + [ + 115.158335, + 5.257776 + ], + [ + 115.233049, + 5.259722 + ] + ] + ], + [ + [ + [ + 100.288858, + 5.256109 + ], + [ + 100.320253, + 5.427778 + ], + [ + 100.183855, + 5.4625 + ], + [ + 100.288858, + 5.256109 + ] + ] + ], + [ + [ + [ + 115.672213, + 5.707224 + ], + [ + 115.654428, + 5.735834 + ], + [ + 115.627764, + 5.728334 + ], + [ + 115.672213, + 5.707224 + ] + ] + ], + [ + [ + [ + 118.171923, + 5.812223 + ], + [ + 118.233049, + 5.848333 + ], + [ + 118.178865, + 5.84889 + ], + [ + 118.171923, + 5.812223 + ] + ] + ], + [ + [ + [ + 116.05942, + 6.003057 + ], + [ + 116.056643, + 6.039999 + ], + [ + 116.016939, + 6.035833 + ], + [ + 116.05942, + 6.003057 + ] + ] + ], + [ + [ + [ + 115.609156, + 6.195276 + ], + [ + 115.607759, + 6.221109 + ], + [ + 115.592745, + 6.204721 + ], + [ + 115.609156, + 6.195276 + ] + ] + ], + [ + [ + [ + 99.873293, + 6.416109 + ], + [ + 99.640825, + 6.419722 + ], + [ + 99.813021, + 6.156668 + ], + [ + 99.873293, + 6.416109 + ] + ] + ], + [ + [ + [ + 100.65497, + 6.448332 + ], + [ + 100.214983, + 6.711111 + ], + [ + 100.127115, + 6.424948 + ], + [ + 100.697191, + 3.903891 + ], + [ + 101.29442, + 3.268888 + ], + [ + 101.284975, + 2.841112 + ], + [ + 103.51214, + 1.269529 + ], + [ + 103.959414, + 1.646944 + ], + [ + 104.275805, + 1.365557 + ], + [ + 103.435793, + 2.933889 + ], + [ + 103.409975, + 4.858053 + ], + [ + 102.095232, + 6.236139 + ], + [ + 101.833864, + 5.743334 + ], + [ + 101.569979, + 5.916666 + ], + [ + 101.139688, + 5.631945 + ], + [ + 101.115519, + 6.248888 + ], + [ + 100.65497, + 6.448332 + ] + ] + ], + [ + [ + [ + 117.493593, + 6.742498 + ], + [ + 117.337198, + 6.651388 + ], + [ + 117.466928, + 6.6425 + ], + [ + 117.493593, + 6.742498 + ] + ] + ], + [ + [ + [ + 117.592058, + 4.169821 + ], + [ + 118.552202, + 4.351667 + ], + [ + 118.140551, + 4.888334 + ], + [ + 119.27582, + 5.344999 + ], + [ + 118.373598, + 5.807501 + ], + [ + 117.960276, + 5.681391 + ], + [ + 118.008883, + 6.061666 + ], + [ + 117.503054, + 5.896112 + ], + [ + 117.738878, + 6.390001 + ], + [ + 117.290819, + 6.635836 + ], + [ + 117.178308, + 6.990278 + ], + [ + 116.789148, + 6.579168 + ], + [ + 116.762499, + 7.023611 + ], + [ + 115.848879, + 5.56389 + ], + [ + 115.378862, + 5.39889 + ], + [ + 115.546099, + 5.053057 + ], + [ + 115.145784, + 4.903242 + ], + [ + 115.22304, + 4.804998 + ], + [ + 115.343325, + 4.311945 + ], + [ + 115.029131, + 4.820211 + ], + [ + 115.018435, + 4.895796 + ], + [ + 114.6411, + 4.018888 + ], + [ + 114.095079, + 4.59054 + ], + [ + 113.010538, + 3.160555 + ], + [ + 111.444704, + 2.691668 + ], + [ + 111.450274, + 2.368612 + ], + [ + 111.368113, + 2.339094 + ], + [ + 111.223314, + 2.42111 + ], + [ + 111.168589, + 2.152224 + ], + [ + 111.372759, + 2.150835 + ], + [ + 111.000002, + 1.575556 + ], + [ + 111.376925, + 1.343889 + ], + [ + 110.33333, + 1.802221 + ], + [ + 109.928308, + 1.689165 + ], + [ + 109.648569, + 2.073408 + ], + [ + 109.669985, + 1.613054 + ], + [ + 110.555254, + 0.853891 + ], + [ + 111.827211, + 0.998613 + ], + [ + 112.472765, + 1.568056 + ], + [ + 113.658335, + 1.224722 + ], + [ + 114.562761, + 1.433611 + ], + [ + 114.804705, + 2.248888 + ], + [ + 115.2372, + 2.522501 + ], + [ + 115.139711, + 2.906111 + ], + [ + 115.495531, + 3.040003 + ], + [ + 115.685259, + 4.171946 + ], + [ + 116.049425, + 4.279444 + ], + [ + 117.592058, + 4.169821 + ] + ] + ], + [ + [ + [ + 117.283335, + 7.314722 + ], + [ + 117.07416, + 7.2875 + ], + [ + 117.066675, + 7.101942 + ], + [ + 117.283335, + 7.314722 + ] + ] + ], + [ + [ + [ + 116.872484, + 7.219999 + ], + [ + 117.018885, + 7.26639 + ], + [ + 117.003328, + 7.353334 + ], + [ + 116.872484, + 7.219999 + ] + ] + ] + ] + }, + "name" : "Malaysia", + "iso2" : "MY", + "iso3" : "MYS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "vL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 32.954437, + -26.058613 + ], + [ + 32.980553, + -25.972778 + ], + [ + 32.895271, + -26.040836 + ], + [ + 32.954437, + -26.058613 + ] + ] + ], + [ + [ + [ + 35.488327, + -21.685001 + ], + [ + 35.479439, + -21.523891 + ], + [ + 35.435555, + -21.783337 + ], + [ + 35.488327, + -21.685001 + ] + ] + ], + [ + [ + [ + 39.901382, + -16.413334 + ], + [ + 39.861382, + -16.278057 + ], + [ + 39.810829, + -16.363056 + ], + [ + 39.901382, + -16.413334 + ] + ] + ], + [ + [ + [ + 32.890427, + -26.847145 + ], + [ + 32.952499, + -26.083889 + ], + [ + 32.837494, + -26.293056 + ], + [ + 32.576111, + -25.975559 + ], + [ + 32.813889, + -25.60778 + ], + [ + 35.012215, + -24.654167 + ], + [ + 35.497215, + -24.105278 + ], + [ + 35.545273, + -22.232502 + ], + [ + 35.312492, + -22.418056 + ], + [ + 34.619164, + -19.617779 + ], + [ + 34.899162, + -19.857224 + ], + [ + 36.252777, + -18.891392 + ], + [ + 36.943886, + -18.108612 + ], + [ + 36.841385, + -17.877224 + ], + [ + 39.094444, + -16.986389 + ], + [ + 40.587776, + -15.479723 + ], + [ + 40.846107, + -14.697779 + ], + [ + 40.409996, + -12.961945 + ], + [ + 40.646942, + -12.760834 + ], + [ + 40.500832, + -11.031946 + ], + [ + 40.436813, + -10.478174 + ], + [ + 39.268051, + -11.168056 + ], + [ + 37.941383, + -11.285002 + ], + [ + 37.462044, + -11.727329 + ], + [ + 36.18972, + -11.706667 + ], + [ + 35.838333, + -11.414722 + ], + [ + 34.966728, + -11.572111 + ], + [ + 34.626106, + -11.575834 + ], + [ + 34.375275, + -12.155834 + ], + [ + 34.566383, + -13.342224 + ], + [ + 35.924164, + -14.885557 + ], + [ + 35.814438, + -16.019447 + ], + [ + 35.1353, + -16.553375 + ], + [ + 35.290054, + -17.134266 + ], + [ + 34.255554, + -15.899168 + ], + [ + 34.589722, + -15.282778 + ], + [ + 34.522217, + -14.571667 + ], + [ + 33.633331, + -14.539722 + ], + [ + 33.222229, + -14.012566 + ], + [ + 30.213017, + -14.981716 + ], + [ + 30.415756, + -15.631872 + ], + [ + 30.422775, + -16.009167 + ], + [ + 31.276665, + -16.018612 + ], + [ + 32.98114, + -16.709053 + ], + [ + 32.987808, + -17.265003 + ], + [ + 33.073051, + -18.348892 + ], + [ + 32.699165, + -18.944447 + ], + [ + 33.018883, + -19.943336 + ], + [ + 32.50222, + -20.598614 + ], + [ + 32.488876, + -21.344448 + ], + [ + 31.297504, + -22.414764 + ], + [ + 32.016106, + -24.459446 + ], + [ + 31.96851, + -25.95784 + ], + [ + 32.1334, + -26.839626 + ], + [ + 32.890427, + -26.847145 + ] + ], + [ + [ + 34.602776, + -12.011946 + ], + [ + 34.629997, + -12.012501 + ], + [ + 34.623886, + -12.036667 + ], + [ + 34.602776, + -12.011946 + ] + ], + [ + [ + 34.723885, + -12.032778 + ], + [ + 34.754715, + -12.044168 + ], + [ + 34.732216, + -12.095556 + ], + [ + 34.723885, + -12.032778 + ] + ] + ] + ] + }, + "name" : "Mozambique", + "iso2" : "MZ", + "iso3" : "MOZ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "vb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 34.723885, + -12.032778 + ], + [ + 34.732216, + -12.095556 + ], + [ + 34.754715, + -12.044168 + ], + [ + 34.723885, + -12.032778 + ] + ] + ], + [ + [ + [ + 34.602776, + -12.011946 + ], + [ + 34.623886, + -12.036667 + ], + [ + 34.629997, + -12.012501 + ], + [ + 34.602776, + -12.011946 + ] + ] + ], + [ + [ + [ + 34.966728, + -11.572111 + ], + [ + 34.325272, + -9.732779 + ], + [ + 33.13472, + -9.494167 + ], + [ + 32.940399, + -9.405077 + ], + [ + 33.702278, + -10.561857 + ], + [ + 33.250549, + -10.886667 + ], + [ + 33.273331, + -12.144445 + ], + [ + 33.54583, + -12.359446 + ], + [ + 33.046387, + -12.603889 + ], + [ + 32.678886, + -13.60639 + ], + [ + 33.222229, + -14.012566 + ], + [ + 33.633331, + -14.539722 + ], + [ + 34.522217, + -14.571667 + ], + [ + 34.589722, + -15.282778 + ], + [ + 34.255554, + -15.899168 + ], + [ + 35.290054, + -17.134266 + ], + [ + 35.1353, + -16.553375 + ], + [ + 35.814438, + -16.019447 + ], + [ + 35.924164, + -14.885557 + ], + [ + 34.566383, + -13.342224 + ], + [ + 34.375275, + -12.155834 + ], + [ + 34.626106, + -11.575834 + ], + [ + 34.966728, + -11.572111 + ] + ] + ] + ] + }, + "name" : "Malawi", + "iso2" : "MW", + "iso3" : "MWI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "vr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 167.534424, + -22.69389 + ], + [ + 167.531372, + -22.651112 + ], + [ + 167.508026, + -22.688332 + ], + [ + 167.534424, + -22.69389 + ] + ] + ], + [ + [ + [ + 167.501648, + -22.672222 + ], + [ + 167.553864, + -22.612499 + ], + [ + 167.434692, + -22.543056 + ], + [ + 167.501648, + -22.672222 + ] + ] + ], + [ + [ + [ + 166.816071, + -22.463333 + ], + [ + 166.811646, + -22.395 + ], + [ + 166.772491, + -22.456108 + ], + [ + 166.816071, + -22.463333 + ] + ] + ], + [ + [ + [ + 171.313873, + -22.33139 + ], + [ + 171.304962, + -22.327778 + ], + [ + 171.300812, + -22.334999 + ], + [ + 171.313873, + -22.33139 + ] + ] + ], + [ + [ + [ + 166.050537, + -22.079445 + ], + [ + 166.050537, + -22.036667 + ], + [ + 166.027191, + -22.054722 + ], + [ + 166.050537, + -22.079445 + ] + ] + ], + [ + [ + [ + 166.450256, + -21.704445 + ], + [ + 166.440796, + -21.68861 + ], + [ + 166.415527, + -21.691387 + ], + [ + 166.450256, + -21.704445 + ] + ] + ], + [ + [ + [ + 168.002197, + -21.451942 + ], + [ + 167.808868, + -21.385834 + ], + [ + 168.120239, + -21.631111 + ], + [ + 168.002197, + -21.451942 + ] + ] + ], + [ + [ + [ + 167.842743, + -21.14389 + ], + [ + 167.80246, + -21.100277 + ], + [ + 167.801361, + -21.119446 + ], + [ + 167.842743, + -21.14389 + ] + ] + ], + [ + [ + [ + 166.448029, + -20.734165 + ], + [ + 166.459137, + -20.719719 + ], + [ + 166.38858, + -20.72583 + ], + [ + 166.448029, + -20.734165 + ] + ] + ], + [ + [ + [ + 167.287201, + -20.75639 + ], + [ + 167.059692, + -20.988609 + ], + [ + 167.398041, + -21.177776 + ], + [ + 167.287201, + -20.75639 + ] + ] + ], + [ + [ + [ + 166.624664, + -20.406109 + ], + [ + 166.499115, + -20.717777 + ], + [ + 166.625793, + -20.601665 + ], + [ + 166.624664, + -20.406109 + ] + ] + ], + [ + [ + [ + 164.288025, + -20.255558 + ], + [ + 164.270264, + -20.219719 + ], + [ + 164.275269, + -20.248886 + ], + [ + 164.288025, + -20.255558 + ] + ] + ], + [ + [ + [ + 163.943848, + -20.170555 + ], + [ + 163.906921, + -20.14389 + ], + [ + 163.922485, + -20.16972 + ], + [ + 163.943848, + -20.170555 + ] + ] + ], + [ + [ + [ + 164.31665, + -20.327225 + ], + [ + 163.98941, + -20.087223 + ], + [ + 165.259979, + -21.558056 + ], + [ + 166.116364, + -21.946388 + ], + [ + 166.451904, + -22.316666 + ], + [ + 167.014709, + -22.321388 + ], + [ + 164.31665, + -20.327225 + ] + ] + ], + [ + [ + [ + 164.234131, + -20.161945 + ], + [ + 164.1633, + -20.065277 + ], + [ + 164.161102, + -20.113335 + ], + [ + 164.234131, + -20.161945 + ] + ] + ], + [ + [ + [ + 163.821625, + -20.082779 + ], + [ + 163.817749, + -20.040836 + ], + [ + 163.796936, + -20.040836 + ], + [ + 163.821625, + -20.082779 + ] + ] + ], + [ + [ + [ + 163.977173, + -20.081669 + ], + [ + 163.949402, + -20.002224 + ], + [ + 163.939972, + -20.068058 + ], + [ + 163.977173, + -20.081669 + ] + ] + ], + [ + [ + [ + 163.671906, + -19.785835 + ], + [ + 163.700806, + -19.766392 + ], + [ + 163.61969, + -19.625832 + ], + [ + 163.671906, + -19.785835 + ] + ] + ], + [ + [ + [ + 163.607452, + -19.604168 + ], + [ + 163.57663, + -19.549446 + ], + [ + 163.568024, + -19.573055 + ], + [ + 163.607452, + -19.604168 + ] + ] + ], + [ + [ + [ + 159.949402, + -19.343334 + ], + [ + 159.978851, + -19.171665 + ], + [ + 159.95108, + -19.114445 + ], + [ + 159.949402, + -19.343334 + ] + ] + ] + ] + }, + "name" : "New Caledonia", + "iso2" : "NC", + "iso3" : "NCL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "v71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -169.89389, + -19.145557 + ], + [ + -169.817505, + -18.96833 + ], + [ + -169.931671, + -19.016666 + ], + [ + -169.89389, + -19.145557 + ] + ] + ] + }, + "name" : "Niue", + "iso2" : "NU", + "iso3" : "NIU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "wL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 4.245277, + 19.146664 + ], + [ + 4.245, + 18.645275 + ], + [ + 4.200833, + 16.393887 + ], + [ + 3.523981, + 15.358152 + ], + [ + 1.3125, + 15.286665 + ], + [ + 0.235048, + 14.915068 + ], + [ + 0.602222, + 13.703888 + ], + [ + 1.285306, + 13.349957 + ], + [ + 0.991667, + 13.371666 + ], + [ + 0.989167, + 13.047222 + ], + [ + 1.578333, + 12.629999 + ], + [ + 2.1425, + 12.694443 + ], + [ + 2.397925, + 11.896152 + ], + [ + 2.378054, + 12.240274 + ], + [ + 2.83862, + 12.396658 + ], + [ + 3.604459, + 11.693274 + ], + [ + 4.1425, + 13.476944 + ], + [ + 5.874722, + 13.749443 + ], + [ + 6.423055, + 13.605276 + ], + [ + 6.933332, + 12.997221 + ], + [ + 7.815, + 13.352777 + ], + [ + 9.634932, + 12.802435 + ], + [ + 10.724165, + 13.386389 + ], + [ + 12.459166, + 13.066111 + ], + [ + 13.62512, + 13.718338 + ], + [ + 13.468887, + 14.461111 + ], + [ + 15.489166, + 16.914165 + ], + [ + 15.996666, + 20.353054 + ], + [ + 15.202499, + 21.495831 + ], + [ + 14.997889, + 23.000591 + ], + [ + 14.234999, + 22.614166 + ], + [ + 13.543888, + 23.16861 + ], + [ + 11.986475, + 23.522305 + ], + [ + 7.450807, + 20.852863 + ], + [ + 5.812499, + 19.44611 + ], + [ + 4.245277, + 19.146664 + ] + ] + ] + }, + "name" : "Niger", + "iso2" : "NE", + "iso3" : "NER" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "wb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -69.882233, + 12.41111 + ], + [ + -70.063065, + 12.628611 + ], + [ + -70.059448, + 12.538055 + ], + [ + -69.882233, + 12.41111 + ] + ] + ] + }, + "name" : "Aruba", + "iso2" : "AW", + "iso3" : "ABW" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "wr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -63.167778, + 18.164444 + ], + [ + -62.993057, + 18.227219 + ], + [ + -62.970001, + 18.272221 + ], + [ + -63.167778, + 18.164444 + ] + ] + ] + }, + "name" : "Anguilla", + "iso2" : "AI", + "iso3" : "AIA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "w71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 6.134414, + 50.127846 + ], + [ + 6.398204, + 50.323174 + ], + [ + 6.011798, + 50.757271 + ], + [ + 5.640833, + 50.839722 + ], + [ + 5.849171, + 51.15638 + ], + [ + 5.041389, + 51.486664 + ], + [ + 4.252368, + 51.375145 + ], + [ + 4.302375, + 51.263184 + ], + [ + 4.238898, + 51.350426 + ], + [ + 3.370866, + 51.373856 + ], + [ + 2.541667, + 51.09111 + ], + [ + 4.165, + 50.283051 + ], + [ + 4.149238, + 49.978371 + ], + [ + 4.832503, + 50.16861 + ], + [ + 4.873055, + 49.797218 + ], + [ + 5.80788, + 49.545044 + ], + [ + 6.026256, + 50.181252 + ], + [ + 6.134414, + 50.127846 + ] + ] + ] + }, + "name" : "Belgium", + "iso2" : "BE", + "iso3" : "BEL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "xL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 114.246094, + 22.203327 + ], + [ + 114.201103, + 22.290554 + ], + [ + 114.124977, + 22.279999 + ], + [ + 114.246094, + 22.203327 + ] + ] + ], + [ + [ + [ + 113.896652, + 22.195827 + ], + [ + 114.04776, + 22.339996 + ], + [ + 113.825272, + 22.232216 + ], + [ + 113.896652, + 22.195827 + ] + ] + ], + [ + [ + [ + 114.314148, + 22.342773 + ], + [ + 114.296097, + 22.368053 + ], + [ + 114.295258, + 22.345829 + ], + [ + 114.314148, + 22.342773 + ] + ] + ], + [ + [ + [ + 114.219437, + 22.474438 + ], + [ + 114.222596, + 22.550548 + ], + [ + 114.03333, + 22.509138 + ], + [ + 114.296104, + 22.260561 + ], + [ + 114.219437, + 22.474438 + ] + ] + ] + ] + }, + "name" : "Hong Kong", + "iso2" : "HK", + "iso3" : "HKG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "xb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 145.281647, + 14.158333 + ], + [ + 145.237183, + 14.194998 + ], + [ + 145.119965, + 14.122498 + ], + [ + 145.281647, + 14.158333 + ] + ] + ], + [ + [ + [ + 145.535248, + 14.828331 + ], + [ + 145.570251, + 14.844997 + ], + [ + 145.529694, + 14.848331 + ], + [ + 145.535248, + 14.828331 + ] + ] + ], + [ + [ + [ + 145.624115, + 14.908054 + ], + [ + 145.633026, + 15.083887 + ], + [ + 145.572205, + 15.009998 + ], + [ + 145.624115, + 14.908054 + ] + ] + ], + [ + [ + [ + 145.736084, + 15.13361 + ], + [ + 145.818024, + 15.265833 + ], + [ + 145.679138, + 15.105276 + ], + [ + 145.736084, + 15.13361 + ] + ] + ], + [ + [ + [ + 145.655823, + 16.334721 + ], + [ + 145.714691, + 16.355831 + ], + [ + 145.63443, + 16.376106 + ], + [ + 145.655823, + 16.334721 + ] + ] + ], + [ + [ + [ + 145.798309, + 16.680275 + ], + [ + 145.801636, + 16.70055 + ], + [ + 145.774994, + 16.705273 + ], + [ + 145.798309, + 16.680275 + ] + ] + ], + [ + [ + [ + 145.860779, + 17.28722 + ], + [ + 145.867462, + 17.304165 + ], + [ + 145.84024, + 17.317219 + ], + [ + 145.860779, + 17.28722 + ] + ] + ], + [ + [ + [ + 145.860779, + 17.567776 + ], + [ + 145.833862, + 17.604996 + ], + [ + 145.824402, + 17.577496 + ], + [ + 145.860779, + 17.567776 + ] + ] + ], + [ + [ + [ + 145.736084, + 18.043888 + ], + [ + 145.824402, + 18.163052 + ], + [ + 145.779144, + 18.17083 + ], + [ + 145.736084, + 18.043888 + ] + ] + ], + [ + [ + [ + 145.679138, + 18.721382 + ], + [ + 145.71051, + 18.76833 + ], + [ + 145.6633, + 18.810276 + ], + [ + 145.679138, + 18.721382 + ] + ] + ], + [ + [ + [ + 145.405823, + 19.652775 + ], + [ + 145.415253, + 19.677219 + ], + [ + 145.38916, + 19.688885 + ], + [ + 145.405823, + 19.652775 + ] + ] + ], + [ + [ + [ + 145.256927, + 20.01083 + ], + [ + 145.27359, + 20.036385 + ], + [ + 145.242188, + 20.052219 + ], + [ + 145.256927, + 20.01083 + ] + ] + ], + [ + [ + [ + 144.921082, + 20.51833 + ], + [ + 144.913605, + 20.556385 + ], + [ + 144.899139, + 20.526108 + ], + [ + 144.921082, + 20.51833 + ] + ] + ] + ] + }, + "name" : "Northern Mariana Islands", + "iso2" : "MP", + "iso3" : "MNP" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "xr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -6.655277, + 61.389444 + ], + [ + -6.724445, + 61.573328 + ], + [ + -6.962778, + 61.619165 + ], + [ + -6.655277, + 61.389444 + ] + ] + ], + [ + [ + [ + -6.604166, + 61.821665 + ], + [ + -6.908333, + 61.904718 + ], + [ + -6.652222, + 61.742777 + ], + [ + -6.604166, + 61.821665 + ] + ] + ], + [ + [ + [ + -7.049723, + 62.067774 + ], + [ + -7.434999, + 62.140276 + ], + [ + -7.201666, + 62.01861 + ], + [ + -7.049723, + 62.067774 + ] + ] + ], + [ + [ + [ + -6.706944, + 61.937494 + ], + [ + -7.210833, + 62.284723 + ], + [ + -7.232222, + 62.172495 + ], + [ + -6.706944, + 61.937494 + ] + ] + ], + [ + [ + [ + -6.657499, + 62.092501 + ], + [ + -6.60111, + 62.196939 + ], + [ + -7.060278, + 62.313608 + ], + [ + -6.657499, + 62.092501 + ] + ] + ], + [ + [ + [ + -6.620001, + 62.229723 + ], + [ + -6.720833, + 62.331385 + ], + [ + -6.685833, + 62.244997 + ], + [ + -6.620001, + 62.229723 + ] + ] + ], + [ + [ + [ + -6.418612, + 62.183886 + ], + [ + -6.574402, + 62.349878 + ], + [ + -6.5725, + 62.211664 + ], + [ + -6.418612, + 62.183886 + ] + ] + ], + [ + [ + [ + -6.406111, + 62.284441 + ], + [ + -6.545279, + 62.386942 + ], + [ + -6.480278, + 62.297777 + ], + [ + -6.406111, + 62.284441 + ] + ] + ] + ] + }, + "name" : "Faroe Islands", + "iso2" : "FO", + "iso3" : "FRO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "x71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 1.723611, + 42.509438 + ], + [ + 1.78172, + 42.569962 + ], + [ + 1.445833, + 42.601944 + ], + [ + 1.723611, + 42.509438 + ] + ] + ] + }, + "name" : "Andorra", + "iso2" : "AD", + "iso3" : "AND" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "yL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -5.334508, + 36.16256 + ], + [ + -5.355799, + 36.163307 + ], + [ + -5.33823, + 36.112175 + ], + [ + -5.334508, + 36.16256 + ] + ] + ] + }, + "name" : "Gibraltar", + "iso2" : "GI", + "iso3" : "GIB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "yb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -4.777779, + 54.05555 + ], + [ + -4.394444, + 54.186386 + ], + [ + -4.354167, + 54.410828 + ], + [ + -4.777779, + 54.05555 + ] + ] + ] + }, + "name" : "Isle of Man", + "iso2" : "IM", + "iso3" : "IMN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "yr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 6.134414, + 50.127846 + ], + [ + 6.026256, + 50.181252 + ], + [ + 5.80788, + 49.545044 + ], + [ + 6.36217, + 49.459389 + ], + [ + 6.524444, + 49.808609 + ], + [ + 6.134414, + 50.127846 + ] + ] + ] + }, + "name" : "Luxembourg", + "iso2" : "LU", + "iso3" : "LUX" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "y71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 113.531662, + 22.194736 + ], + [ + 113.552467, + 22.183052 + ], + [ + 113.554428, + 22.21273 + ], + [ + 113.531662, + 22.194736 + ] + ] + ] + }, + "name" : "Macau", + "iso2" : "MO", + "iso3" : "MAC" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "zL1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 7.439293, + 43.757523 + ], + [ + 7.416111, + 43.770554 + ], + [ + 7.387777, + 43.748604 + ], + [ + 7.391609, + 43.727547 + ], + [ + 7.439293, + 43.757523 + ] + ] + ] + }, + "name" : "Monaco", + "iso2" : "MC", + "iso3" : "MCO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "zb1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 34.267578, + 31.216541 + ], + [ + 34.33416, + 31.25972 + ], + [ + 34.490547, + 31.596096 + ], + [ + 34.21666, + 31.32333 + ], + [ + 34.267578, + 31.216541 + ] + ] + ], + [ + [ + [ + 35.552567, + 32.394196 + ], + [ + 35.282494, + 32.516937 + ], + [ + 34.884995, + 31.391388 + ], + [ + 35.478195, + 31.497322 + ], + [ + 35.552567, + 32.394196 + ] + ], + [ + [ + 35.25972, + 31.78722 + ], + [ + 35.251663, + 31.788055 + ], + [ + 35.248886, + 31.808887 + ], + [ + 35.25972, + 31.78722 + ] + ] + ] + ] + }, + "name" : "Palestine", + "iso2" : "PS", + "iso3" : "PSE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "zr1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 18.455555, + 42.565826 + ], + [ + 18.503197, + 42.44944 + ], + [ + 19.367771, + 41.848999 + ], + [ + 19.645832, + 42.61805 + ], + [ + 20.071423, + 42.560913 + ], + [ + 20.295954, + 42.824291 + ], + [ + 20.348888, + 42.886383 + ], + [ + 19.228809, + 43.513214 + ], + [ + 18.699997, + 43.255554 + ], + [ + 18.455555, + 42.565826 + ] + ] + ] + }, + "name" : "Montenegro", + "iso2" : "ME", + "iso3" : "MNE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "z71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 45.282494, + -12.804167 + ], + [ + 45.283051, + -12.747501 + ], + [ + 45.262497, + -12.76889 + ], + [ + 45.282494, + -12.804167 + ] + ] + ], + [ + [ + [ + 45.204994, + -12.849724 + ], + [ + 45.078888, + -12.6625 + ], + [ + 45.097496, + -12.985834 + ], + [ + 45.204994, + -12.849724 + ] + ] + ] + ] + }, + "name" : "Mayotte", + "iso2" : "YT", + "iso3" : "MYT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "0L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 20.210831, + 59.979996 + ], + [ + 20.205276, + 60.063606 + ], + [ + 19.999165, + 60.055275 + ], + [ + 20.210831, + 59.979996 + ] + ] + ], + [ + [ + [ + 20.270554, + 60.057495 + ], + [ + 20.292221, + 60.125275 + ], + [ + 20.215553, + 60.13916 + ], + [ + 20.270554, + 60.057495 + ] + ] + ], + [ + [ + [ + 19.676666, + 60.156944 + ], + [ + 19.601944, + 60.255829 + ], + [ + 19.510555, + 60.175278 + ], + [ + 19.676666, + 60.156944 + ] + ] + ], + [ + [ + [ + 20.397221, + 60.195 + ], + [ + 20.441109, + 60.253052 + ], + [ + 20.366108, + 60.265549 + ], + [ + 20.397221, + 60.195 + ] + ] + ], + [ + [ + [ + 20.084721, + 60.350273 + ], + [ + 19.648331, + 60.25666 + ], + [ + 19.943886, + 60.04277 + ], + [ + 20.277496, + 60.274162 + ], + [ + 20.084721, + 60.350273 + ] + ] + ] + ] + }, + "name" : "Åland Islands", + "iso2" : "AX", + "iso3" : "ALA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "0b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 167.964966, + -29.081112 + ], + [ + 167.997742, + -29.025002 + ], + [ + 167.912476, + -29.00528 + ], + [ + 167.964966, + -29.081112 + ] + ] + ] + }, + "name" : "Norfolk Island", + "iso2" : "NF", + "iso3" : "NFK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "0r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 96.914154, + -12.198055 + ], + [ + 96.914703, + -12.151945 + ], + [ + 96.902481, + -12.199999 + ], + [ + 96.914154, + -12.198055 + ] + ] + ], + [ + [ + [ + 96.862762, + -12.196112 + ], + [ + 96.826385, + -12.128332 + ], + [ + 96.819443, + -12.178057 + ], + [ + 96.862762, + -12.196112 + ] + ] + ] + ] + }, + "name" : "Cocos (Keeling) Islands", + "iso2" : "CC", + "iso3" : "CCK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "071E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -60.220001, + -80.285843 + ], + [ + -60.173615, + -79.71167 + ], + [ + -60.695007, + -79.610001 + ], + [ + -62.550003, + -80.258896 + ], + [ + -67.031952, + -80.166397 + ], + [ + -61.843895, + -80.836395 + ], + [ + -60.908615, + -80.748337 + ], + [ + -60.220001, + -80.285843 + ] + ] + ], + [ + [ + [ + 162.159731, + -79.061676 + ], + [ + 161.925844, + -78.981674 + ], + [ + 161.947786, + -79.030838 + ], + [ + 162.159731, + -79.061676 + ] + ] + ], + [ + [ + [ + -162.133362, + -78.741119 + ], + [ + -163.816406, + -79.207504 + ], + [ + -161.085846, + -79.835281 + ], + [ + -158.532501, + -79.713898 + ], + [ + -162.133362, + -78.741119 + ] + ] + ], + [ + [ + [ + -39.972504, + -78.554733 + ], + [ + -41.930557, + -78.591949 + ], + [ + -37.45945, + -78.640289 + ], + [ + -39.972504, + -78.554733 + ] + ] + ], + [ + [ + [ + -70.945557, + -79.650009 + ], + [ + -67.31723, + -78.503616 + ], + [ + -70.304169, + -78.805283 + ], + [ + -71.855286, + -79.420288 + ], + [ + -70.945557, + -79.650009 + ] + ] + ], + [ + [ + [ + 167.315554, + -78.253616 + ], + [ + 167.677492, + -78.117523 + ], + [ + 166.871645, + -78.208084 + ], + [ + 167.315554, + -78.253616 + ] + ] + ], + [ + [ + [ + 166.352205, + -78.313629 + ], + [ + 166.774172, + -78.221115 + ], + [ + 166.065554, + -78.114746 + ], + [ + 166.352205, + -78.313629 + ] + ] + ], + [ + [ + [ + -44.114449, + -78.698898 + ], + [ + -43.891113, + -78.361954 + ], + [ + -44.841949, + -78.101395 + ], + [ + -48.272781, + -78.056395 + ], + [ + -50.183617, + -78.650558 + ], + [ + -50.666115, + -79.588623 + ], + [ + -54.90889, + -80.718613 + ], + [ + -52.055557, + -80.902786 + ], + [ + -44.286392, + -80.339737 + ], + [ + -44.066673, + -80.257507 + ], + [ + -44.572502, + -80.092224 + ], + [ + -43.354446, + -79.779724 + ], + [ + -43.466118, + -79.470291 + ], + [ + -44.583336, + -79.333893 + ], + [ + -43.793335, + -79.003616 + ], + [ + -45.575279, + -78.851959 + ], + [ + -44.114449, + -78.698898 + ] + ] + ], + [ + [ + [ + -148.761139, + -77.44223 + ], + [ + -148.829468, + -77.401398 + ], + [ + -149.035278, + -77.416946 + ], + [ + -148.761139, + -77.44223 + ] + ] + ], + [ + [ + [ + -150.20752, + -77.37001 + ], + [ + -150.076416, + -77.340561 + ], + [ + -151.193909, + -77.271957 + ], + [ + -150.20752, + -77.37001 + ] + ] + ], + [ + [ + [ + -148.858612, + -77.354736 + ], + [ + -149.161682, + -77.258896 + ], + [ + -149.51947, + -77.290848 + ], + [ + -148.858612, + -77.354736 + ] + ] + ], + [ + [ + [ + 167.716951, + -77.405838 + ], + [ + 166.631655, + -77.172806 + ], + [ + 166.21335, + -77.538635 + ], + [ + 166.882509, + -77.671951 + ], + [ + 166.547762, + -77.70668 + ], + [ + 166.776644, + -77.857788 + ], + [ + 169.451113, + -77.496689 + ], + [ + 167.716951, + -77.405838 + ] + ] + ], + [ + [ + [ + -147.252228, + -77.165558 + ], + [ + -147.0625, + -77.173889 + ], + [ + -147.532806, + -77.151947 + ], + [ + -147.252228, + -77.165558 + ] + ] + ], + [ + [ + [ + -147.896973, + -77.429733 + ], + [ + -147.590851, + -77.33168 + ], + [ + -147.708893, + -77.189453 + ], + [ + -148.464447, + -77.070557 + ], + [ + -148.864197, + -77.270844 + ], + [ + -147.896973, + -77.429733 + ] + ] + ], + [ + [ + [ + -147.633636, + -77.103348 + ], + [ + -147.654724, + -77.040009 + ], + [ + -147.835297, + -77.034729 + ], + [ + -147.633636, + -77.103348 + ] + ] + ], + [ + [ + [ + -148.511688, + -76.907791 + ], + [ + -149.194733, + -76.950562 + ], + [ + -148.206696, + -76.978058 + ], + [ + -148.511688, + -76.907791 + ] + ] + ], + [ + [ + [ + -149.478363, + -76.898346 + ], + [ + -150.736389, + -76.951126 + ], + [ + -149.07251, + -77.100845 + ], + [ + -149.478363, + -76.898346 + ] + ] + ], + [ + [ + [ + -146.710846, + -76.979172 + ], + [ + -146.223358, + -76.897507 + ], + [ + -146.991669, + -76.851395 + ], + [ + -146.710846, + -76.979172 + ] + ] + ], + [ + [ + [ + -148.533905, + -76.722504 + ], + [ + -149.169189, + -76.732224 + ], + [ + -148.157227, + -76.765289 + ], + [ + -148.533905, + -76.722504 + ] + ] + ], + [ + [ + [ + -149.83197, + -76.664459 + ], + [ + -150.701416, + -76.719452 + ], + [ + -150.320862, + -76.781677 + ], + [ + -149.83197, + -76.664459 + ] + ] + ], + [ + [ + [ + -148.409454, + -76.689453 + ], + [ + -148.619171, + -76.618057 + ], + [ + -148.77475, + -76.652786 + ], + [ + -148.409454, + -76.689453 + ] + ] + ], + [ + [ + [ + -147.433624, + -76.688614 + ], + [ + -147.5914, + -76.593903 + ], + [ + -147.954193, + -76.591124 + ], + [ + -147.433624, + -76.688614 + ] + ] + ], + [ + [ + [ + -146.772247, + -76.714172 + ], + [ + -146.760834, + -76.570557 + ], + [ + -147.251404, + -76.57695 + ], + [ + -146.772247, + -76.714172 + ] + ] + ], + [ + [ + [ + -147.347229, + -76.613892 + ], + [ + -147.474731, + -76.55751 + ], + [ + -147.618073, + -76.556946 + ], + [ + -147.347229, + -76.613892 + ] + ] + ], + [ + [ + [ + 168.603334, + -76.232788 + ], + [ + 168.490816, + -76.158615 + ], + [ + 168.361086, + -76.162506 + ], + [ + 168.603334, + -76.232788 + ] + ] + ], + [ + [ + [ + -146.585571, + -76.305557 + ], + [ + -146.573059, + -76.220291 + ], + [ + -146.776123, + -76.087233 + ], + [ + -147.278076, + -76.113342 + ], + [ + -146.585571, + -76.305557 + ] + ] + ], + [ + [ + [ + -146.790558, + -75.855835 + ], + [ + -146.859467, + -75.805557 + ], + [ + -147.003632, + -75.819458 + ], + [ + -146.790558, + -75.855835 + ] + ] + ], + [ + [ + [ + -145.1539, + -75.736679 + ], + [ + -145.571686, + -75.55278 + ], + [ + -145.867279, + -75.604553 + ], + [ + -145.1539, + -75.736679 + ] + ] + ], + [ + [ + [ + -143.001404, + -75.526123 + ], + [ + -143.082245, + -75.465286 + ], + [ + -143.280853, + -75.491669 + ], + [ + -143.001404, + -75.526123 + ] + ] + ], + [ + [ + [ + -132.371948, + -74.464172 + ], + [ + -132.205292, + -74.392502 + ], + [ + -132.661957, + -74.419174 + ], + [ + -132.371948, + -74.464172 + ] + ] + ], + [ + [ + [ + -131.38974, + -74.346954 + ], + [ + -132.007782, + -74.429169 + ], + [ + -130.744751, + -74.415009 + ], + [ + -131.38974, + -74.346954 + ] + ] + ], + [ + [ + [ + -127.391113, + -74.580292 + ], + [ + -127.036118, + -74.392227 + ], + [ + -128.160858, + -74.254181 + ], + [ + -127.391113, + -74.580292 + ] + ] + ], + [ + [ + [ + -117.114182, + -74.334166 + ], + [ + -116.751678, + -74.247223 + ], + [ + -117.198334, + -74.328339 + ], + [ + -117.114182, + -74.334166 + ] + ] + ], + [ + [ + [ + -20.467503, + -74.330292 + ], + [ + -20.369446, + -74.121674 + ], + [ + -21.603615, + -74.450836 + ], + [ + -20.119446, + -74.850571 + ], + [ + -20.467503, + -74.330292 + ] + ] + ], + [ + [ + [ + -115.930283, + -73.961945 + ], + [ + -117.241119, + -74.1875 + ], + [ + -116.273621, + -74.153624 + ], + [ + -115.930283, + -73.961945 + ] + ] + ], + [ + [ + [ + -122.149727, + -73.614456 + ], + [ + -123.159393, + -73.734039 + ], + [ + -122.414459, + -73.87056 + ], + [ + -122.629997, + -74.320847 + ], + [ + -122.132233, + -74.368057 + ], + [ + -118.549454, + -73.928894 + ], + [ + -122.149727, + -73.614456 + ] + ] + ], + [ + [ + [ + 169.824434, + -73.595581 + ], + [ + 169.868593, + -73.289169 + ], + [ + 169.388033, + -73.533081 + ], + [ + 169.824434, + -73.595581 + ] + ] + ], + [ + [ + [ + -78.048065, + -73.44223 + ], + [ + -77.636398, + -73.300003 + ], + [ + -78.346115, + -73.252792 + ], + [ + -78.048065, + -73.44223 + ] + ] + ], + [ + [ + [ + -126.118347, + -73.247223 + ], + [ + -127.392502, + -73.417786 + ], + [ + -125.252792, + -74.063904 + ], + [ + -123.724167, + -74.100571 + ], + [ + -124.23056, + -73.689178 + ], + [ + -125.134171, + -73.718063 + ], + [ + -126.118347, + -73.247223 + ] + ] + ], + [ + [ + [ + -73.891113, + -73.425003 + ], + [ + -73.498901, + -73.153624 + ], + [ + -74.064178, + -73.325562 + ], + [ + -73.891113, + -73.425003 + ] + ] + ], + [ + [ + [ + -104.865013, + -73.238892 + ], + [ + -104.550293, + -73.186676 + ], + [ + -105.241119, + -73.054733 + ], + [ + -104.865013, + -73.238892 + ] + ] + ], + [ + [ + [ + -89.74501, + -72.875565 + ], + [ + -90.379456, + -73.047791 + ], + [ + -89.45668, + -72.91362 + ], + [ + -89.74501, + -72.875565 + ] + ] + ], + [ + [ + [ + -74.222778, + -72.97612 + ], + [ + -75.386124, + -72.818069 + ], + [ + -75.720291, + -72.945557 + ], + [ + -75.395279, + -73.060013 + ], + [ + -76.093613, + -73.209457 + ], + [ + -74.465561, + -73.648346 + ], + [ + -74.222778, + -72.97612 + ] + ] + ], + [ + [ + [ + -93.759445, + -72.911667 + ], + [ + -93.805847, + -72.815002 + ], + [ + -94.138062, + -72.839172 + ], + [ + -93.759445, + -72.911667 + ] + ] + ], + [ + [ + [ + -98.148056, + -72.730011 + ], + [ + -97.825287, + -72.663345 + ], + [ + -98.343613, + -72.699448 + ], + [ + -98.148056, + -72.730011 + ] + ] + ], + [ + [ + [ + -99.740845, + -72.623611 + ], + [ + -100.858612, + -72.665558 + ], + [ + -98.930283, + -72.673615 + ], + [ + -99.740845, + -72.623611 + ] + ] + ], + [ + [ + [ + -95.33139, + -72.671951 + ], + [ + -94.696762, + -72.614197 + ], + [ + -95.518341, + -72.649445 + ], + [ + -95.33139, + -72.671951 + ] + ] + ], + [ + [ + [ + -91.337233, + -73.156952 + ], + [ + -90.806395, + -72.592789 + ], + [ + -91.617233, + -72.604736 + ], + [ + -91.337233, + -73.156952 + ] + ] + ], + [ + [ + [ + -93.36528, + -72.654449 + ], + [ + -93.170288, + -72.575562 + ], + [ + -93.461426, + -72.584518 + ], + [ + -93.36528, + -72.654449 + ] + ] + ], + [ + [ + [ + -61.038612, + -72.559723 + ], + [ + -60.970001, + -72.527512 + ], + [ + -61.135002, + -72.545013 + ], + [ + -61.038612, + -72.559723 + ] + ] + ], + [ + [ + [ + -78.420013, + -72.56778 + ], + [ + -79.247513, + -72.402512 + ], + [ + -79.461395, + -72.566391 + ], + [ + -78.841675, + -72.771393 + ], + [ + -79.421677, + -72.960007 + ], + [ + -78.806366, + -73.181656 + ], + [ + -77.594452, + -72.910004 + ], + [ + -77.439178, + -72.588623 + ], + [ + -78.420013, + -72.56778 + ] + ] + ], + [ + [ + [ + -68.816116, + -72.474457 + ], + [ + -68.598068, + -72.385834 + ], + [ + -68.977509, + -72.460556 + ], + [ + -68.816116, + -72.474457 + ] + ] + ], + [ + [ + [ + -60.336945, + -72.257507 + ], + [ + -60.343613, + -72.194168 + ], + [ + -60.501944, + -72.199722 + ], + [ + -60.336945, + -72.257507 + ] + ] + ], + [ + [ + [ + 68.482012, + -72.277786 + ], + [ + 68.820024, + -72.165283 + ], + [ + 68.693132, + -72.088913 + ], + [ + 68.482012, + -72.277786 + ] + ] + ], + [ + [ + [ + 69.797564, + -72.033081 + ], + [ + 69.957293, + -71.91864 + ], + [ + 69.773088, + -71.92363 + ], + [ + 69.797564, + -72.033081 + ] + ] + ], + [ + [ + [ + -98.80307, + -71.886673 + ], + [ + -99.30751, + -71.943893 + ], + [ + -98.833069, + -72.131393 + ], + [ + -100.235001, + -72.130844 + ], + [ + -100.510559, + -72.023621 + ], + [ + -100.061661, + -71.935135 + ], + [ + -100.414459, + -71.881393 + ], + [ + -102.56279, + -72.124725 + ], + [ + -98.616119, + -72.568893 + ], + [ + -95.675842, + -72.360565 + ], + [ + -96.596115, + -72.286667 + ], + [ + -95.821671, + -72.189453 + ], + [ + -95.995148, + -72.080002 + ], + [ + -97.258057, + -72.222229 + ], + [ + -96.342636, + -72.002197 + ], + [ + -96.650558, + -71.873337 + ], + [ + -97.349457, + -71.862503 + ], + [ + -97.686401, + -72.181946 + ], + [ + -98.136307, + -71.892899 + ], + [ + -98.196671, + -72.199173 + ], + [ + -98.560562, + -72.131119 + ], + [ + -98.297501, + -71.871948 + ], + [ + -98.80307, + -71.886673 + ] + ] + ], + [ + [ + [ + 0.452028, + -71.100586 + ], + [ + 0.586733, + -71.064453 + ], + [ + 0.239809, + -71.033615 + ], + [ + 0.452028, + -71.100586 + ] + ] + ], + [ + [ + [ + -60.53553, + -71.056351 + ], + [ + -60.624725, + -70.88501 + ], + [ + -60.959166, + -70.945282 + ], + [ + -60.53553, + -71.056351 + ] + ] + ], + [ + [ + [ + -7.879444, + -70.733902 + ], + [ + -7.725277, + -70.710281 + ], + [ + -8.043612, + -70.700012 + ], + [ + -7.879444, + -70.733902 + ] + ] + ], + [ + [ + [ + -2.389999, + -70.751953 + ], + [ + -3.455, + -70.693069 + ], + [ + -2.796389, + -71.039734 + ], + [ + -1.982777, + -70.816391 + ], + [ + -2.389999, + -70.751953 + ] + ] + ], + [ + [ + [ + -73.685287, + -70.680283 + ], + [ + -76.63501, + -71.060287 + ], + [ + -74.306122, + -71.010284 + ], + [ + -73.685287, + -70.680283 + ] + ] + ], + [ + [ + [ + 2.050657, + -70.699722 + ], + [ + 2.216734, + -70.636398 + ], + [ + 1.895933, + -70.646118 + ], + [ + 2.050657, + -70.699722 + ] + ] + ], + [ + [ + [ + -60.81945, + -70.662231 + ], + [ + -60.631393, + -70.54834 + ], + [ + -61.159172, + -70.575836 + ], + [ + -60.81945, + -70.662231 + ] + ] + ], + [ + [ + [ + 2.957579, + -70.625 + ], + [ + 3.32733, + -70.468918 + ], + [ + 2.613157, + -70.50502 + ], + [ + 2.957579, + -70.625 + ] + ] + ], + [ + [ + [ + -6.040277, + -70.579178 + ], + [ + -5.969852, + -70.417952 + ], + [ + -6.376682, + -70.476074 + ], + [ + -6.040277, + -70.579178 + ] + ] + ], + [ + [ + [ + -3.128056, + -70.504181 + ], + [ + -2.644167, + -70.415283 + ], + [ + -3.329721, + -70.483337 + ], + [ + -3.128056, + -70.504181 + ] + ] + ], + [ + [ + [ + 163.386141, + -70.380569 + ], + [ + 163.483339, + -70.353897 + ], + [ + 163.3053, + -70.349182 + ], + [ + 163.386141, + -70.380569 + ] + ] + ], + [ + [ + [ + 72.227007, + -70.613083 + ], + [ + 71.930071, + -70.294174 + ], + [ + 71.688128, + -70.338348 + ], + [ + 72.227007, + -70.613083 + ] + ] + ], + [ + [ + [ + -1.790277, + -70.231949 + ], + [ + -1.897221, + -70.1689 + ], + [ + -1.973055, + -70.181671 + ], + [ + -1.790277, + -70.231949 + ] + ] + ], + [ + [ + [ + 13.109552, + -70.057251 + ], + [ + 12.481745, + -70.110565 + ], + [ + 13.221186, + -70.137512 + ], + [ + 13.109552, + -70.057251 + ] + ] + ], + [ + [ + [ + 15.992849, + -70.172241 + ], + [ + 16.362055, + -70.017517 + ], + [ + 15.360346, + -70.0289 + ], + [ + 15.992849, + -70.172241 + ] + ] + ], + [ + [ + [ + -61.385002, + -70.015289 + ], + [ + -61.292503, + -69.934174 + ], + [ + -61.528061, + -69.965286 + ], + [ + -61.385002, + -70.015289 + ] + ] + ], + [ + [ + [ + -74.842224, + -69.815842 + ], + [ + -75.861389, + -70.055283 + ], + [ + -74.452515, + -70.021666 + ], + [ + -74.842224, + -69.815842 + ] + ] + ], + [ + [ + [ + 38.231485, + -69.67807 + ], + [ + 38.231485, + -69.646666 + ], + [ + 38.056192, + -69.636688 + ], + [ + 38.231485, + -69.67807 + ] + ] + ], + [ + [ + [ + -72.355286, + -69.757507 + ], + [ + -72.044449, + -69.693069 + ], + [ + -72.945282, + -69.600845 + ], + [ + -72.355286, + -69.757507 + ] + ] + ], + [ + [ + [ + -62.042229, + -69.720001 + ], + [ + -61.715561, + -69.468613 + ], + [ + -62.327225, + -69.107513 + ], + [ + -62.042229, + -69.720001 + ] + ] + ], + [ + [ + [ + 155.873629, + -69.151123 + ], + [ + 155.883699, + -69.058975 + ], + [ + 155.52585, + -69.00058 + ], + [ + 155.873629, + -69.151123 + ] + ] + ], + [ + [ + [ + 155.200838, + -69.046112 + ], + [ + 155.308901, + -68.98114 + ], + [ + 154.95392, + -69.017227 + ], + [ + 155.200838, + -69.046112 + ] + ] + ], + [ + [ + [ + -70.156952, + -68.848618 + ], + [ + -72.253342, + -69.20723 + ], + [ + -71.645844, + -69.517502 + ], + [ + -71.815002, + -69.984177 + ], + [ + -71.389175, + -70.230011 + ], + [ + -72.460846, + -70.601959 + ], + [ + -71.020844, + -70.803345 + ], + [ + -70.613892, + -71.166397 + ], + [ + -72.926392, + -71.115845 + ], + [ + -73.159729, + -71.185013 + ], + [ + -72.411957, + -71.336395 + ], + [ + -73.679169, + -71.358063 + ], + [ + -73.529175, + -71.643341 + ], + [ + -74.389175, + -71.434174 + ], + [ + -74.435837, + -71.693069 + ], + [ + -75.141953, + -71.577789 + ], + [ + -75.466124, + -71.85112 + ], + [ + -74.043335, + -72.208893 + ], + [ + -73.581116, + -72.047226 + ], + [ + -73.879181, + -71.820557 + ], + [ + -72.866669, + -71.934174 + ], + [ + -72.267502, + -71.646118 + ], + [ + -70.947235, + -72.038895 + ], + [ + -72.045013, + -72.194458 + ], + [ + -70.521957, + -72.207779 + ], + [ + -73.194458, + -72.431395 + ], + [ + -72.376114, + -72.727783 + ], + [ + -69.26001, + -72.564178 + ], + [ + -68.391678, + -72.233902 + ], + [ + -68.071396, + -71.638336 + ], + [ + -68.377228, + -70.649445 + ], + [ + -70.084166, + -69.263626 + ], + [ + -70.156952, + -68.848618 + ] + ] + ], + [ + [ + [ + -90.594452, + -68.925842 + ], + [ + -90.486954, + -68.827789 + ], + [ + -90.751404, + -68.799179 + ], + [ + -90.594452, + -68.925842 + ] + ] + ], + [ + [ + [ + -63.446945, + -68.851395 + ], + [ + -63.413338, + -68.837233 + ], + [ + -63.627785, + -68.796951 + ], + [ + -63.446945, + -68.851395 + ] + ] + ], + [ + [ + [ + -60.718056, + -68.75473 + ], + [ + -60.829727, + -68.661118 + ], + [ + -61.081673, + -68.679459 + ], + [ + -60.718056, + -68.75473 + ] + ] + ], + [ + [ + [ + -67.507507, + -67.810013 + ], + [ + -67.084166, + -67.631393 + ], + [ + -67.815292, + -67.689178 + ], + [ + -67.507507, + -67.810013 + ] + ] + ], + [ + [ + [ + 47.671183, + -67.586685 + ], + [ + 47.407869, + -67.624725 + ], + [ + 47.898043, + -67.594284 + ], + [ + 47.671183, + -67.586685 + ] + ] + ], + [ + [ + [ + 59.35531, + -67.33168 + ], + [ + 59.416468, + -67.320572 + ], + [ + 59.269258, + -67.290283 + ], + [ + 59.35531, + -67.33168 + ] + ] + ], + [ + [ + [ + 164.787233, + -67.595291 + ], + [ + 164.840029, + -67.42363 + ], + [ + 164.561678, + -67.271666 + ], + [ + 164.787233, + -67.595291 + ] + ] + ], + [ + [ + [ + 58.64255, + -67.126419 + ], + [ + 58.671473, + -67.12001 + ], + [ + 58.52865, + -67.117798 + ], + [ + 58.64255, + -67.126419 + ] + ] + ], + [ + [ + [ + 58.86062, + -67.121948 + ], + [ + 58.8248, + -67.102249 + ], + [ + 58.774195, + -67.108612 + ], + [ + 58.86062, + -67.121948 + ] + ] + ], + [ + [ + [ + 50.346468, + -67.116394 + ], + [ + 50.250093, + -67.067795 + ], + [ + 50.130648, + -67.074188 + ], + [ + 50.346468, + -67.116394 + ] + ] + ], + [ + [ + [ + 48.793978, + -66.756134 + ], + [ + 48.291475, + -66.820007 + ], + [ + 48.397318, + -66.890289 + ], + [ + 48.793978, + -66.756134 + ] + ] + ], + [ + [ + [ + 86.065325, + -67.001129 + ], + [ + 86.183901, + -66.922516 + ], + [ + 85.871965, + -66.773895 + ], + [ + 85.37282, + -66.746689 + ], + [ + 86.065325, + -67.001129 + ] + ] + ], + [ + [ + [ + 86.4928, + -66.774733 + ], + [ + 86.732012, + -66.712233 + ], + [ + 86.301699, + -66.711136 + ], + [ + 86.4928, + -66.774733 + ] + ] + ], + [ + [ + [ + -67.244171, + -66.747787 + ], + [ + -67.459732, + -66.697235 + ], + [ + -67.541946, + -66.869736 + ], + [ + -67.244171, + -66.747787 + ] + ] + ], + [ + [ + [ + -68.100281, + -67.393341 + ], + [ + -67.674728, + -67.15918 + ], + [ + -67.910843, + -66.848892 + ], + [ + -67.585556, + -66.613892 + ], + [ + -69.228897, + -67.541397 + ], + [ + -68.565002, + -67.748062 + ], + [ + -68.100281, + -67.393341 + ] + ] + ], + [ + [ + [ + 99.294497, + -66.748611 + ], + [ + 99.520876, + -66.590027 + ], + [ + 99.215883, + -66.723068 + ], + [ + 99.294497, + -66.748611 + ] + ] + ], + [ + [ + [ + 163.106966, + -66.756134 + ], + [ + 163.118349, + -66.623062 + ], + [ + 162.94919, + -66.572235 + ], + [ + 163.106966, + -66.756134 + ] + ] + ], + [ + [ + [ + 85.332842, + -66.628616 + ], + [ + 85.284197, + -66.520294 + ], + [ + 85.151995, + -66.590286 + ], + [ + 85.332842, + -66.628616 + ] + ] + ], + [ + [ + [ + 98.771975, + -66.491974 + ], + [ + 98.862795, + -66.454468 + ], + [ + 98.601992, + -66.433334 + ], + [ + 98.771975, + -66.491974 + ] + ] + ], + [ + [ + [ + 97.229189, + -66.4664 + ], + [ + 97.353106, + -66.423889 + ], + [ + 97.088381, + -66.415283 + ], + [ + 97.229189, + -66.4664 + ] + ] + ], + [ + [ + [ + 162.568087, + -66.435028 + ], + [ + 162.601412, + -66.350586 + ], + [ + 162.300295, + -66.188919 + ], + [ + 162.568087, + -66.435028 + ] + ] + ], + [ + [ + [ + 100.273073, + -66.192795 + ], + [ + 100.351679, + -66.143631 + ], + [ + 100.229738, + -66.148895 + ], + [ + 100.273073, + -66.192795 + ] + ] + ], + [ + [ + [ + 96.767519, + -66.259735 + ], + [ + 96.847795, + -66.121689 + ], + [ + 96.260012, + -66.188919 + ], + [ + 96.767519, + -66.259735 + ] + ] + ], + [ + [ + [ + -66.732224, + -66.310562 + ], + [ + -66.575562, + -66.088058 + ], + [ + -66.743057, + -66.117783 + ], + [ + -66.732224, + -66.310562 + ] + ] + ], + [ + [ + [ + 100.55475, + -66.147232 + ], + [ + 100.756411, + -66.079193 + ], + [ + 100.618654, + -66.046951 + ], + [ + 100.55475, + -66.147232 + ] + ] + ], + [ + [ + [ + 100.821413, + -66.026947 + ], + [ + 100.817263, + -65.997528 + ], + [ + 100.772829, + -66.013336 + ], + [ + 100.821413, + -66.026947 + ] + ] + ], + [ + [ + [ + 100.927553, + -66.005569 + ], + [ + 100.958925, + -65.968338 + ], + [ + 100.84363, + -65.983078 + ], + [ + 100.927553, + -66.005569 + ] + ] + ], + [ + [ + [ + 100.770571, + -65.861389 + ], + [ + 100.99811, + -65.808914 + ], + [ + 100.708071, + -65.832794 + ], + [ + 100.770571, + -65.861389 + ] + ] + ], + [ + [ + [ + 92.698931, + -65.798355 + ], + [ + 92.495058, + -65.672241 + ], + [ + 92.268923, + -65.764175 + ], + [ + 92.698931, + -65.798355 + ] + ] + ], + [ + [ + [ + -65.666946, + -65.687225 + ], + [ + -65.918335, + -65.529724 + ], + [ + -66.161118, + -65.868895 + ], + [ + -65.666946, + -65.687225 + ] + ] + ], + [ + [ + [ + 100.754999, + -65.678619 + ], + [ + 101.256655, + -65.503769 + ], + [ + 100.24695, + -65.583618 + ], + [ + 100.754999, + -65.678619 + ] + ] + ], + [ + [ + [ + 103.2428, + -65.295837 + ], + [ + 102.773935, + -65.140289 + ], + [ + 103.472528, + -65.450012 + ], + [ + 103.2428, + -65.295837 + ] + ] + ], + [ + [ + [ + -59.436111, + -65.255844 + ], + [ + -59.533058, + -65.109451 + ], + [ + -59.813057, + -65.107224 + ], + [ + -59.436111, + -65.255844 + ] + ] + ], + [ + [ + [ + -63.144173, + -64.781403 + ], + [ + -63.555, + -64.893066 + ], + [ + -63.324448, + -64.911957 + ], + [ + -63.144173, + -64.781403 + ] + ] + ], + [ + [ + [ + -57.279167, + -64.552504 + ], + [ + -56.855003, + -64.338623 + ], + [ + -57.488617, + -64.496399 + ], + [ + -57.279167, + -64.552504 + ] + ] + ], + [ + [ + [ + -63.306671, + -64.428619 + ], + [ + -63.089447, + -64.296677 + ], + [ + -64.220566, + -64.67334 + ], + [ + -63.640007, + -64.833893 + ], + [ + -62.760284, + -64.560287 + ], + [ + -63.306671, + -64.428619 + ] + ] + ], + [ + [ + [ + -56.815002, + -64.316956 + ], + [ + -56.575562, + -64.219727 + ], + [ + -56.758339, + -64.237793 + ], + [ + -56.815002, + -64.316956 + ] + ] + ], + [ + [ + [ + -62.300003, + -64.434448 + ], + [ + -62.011673, + -64.214172 + ], + [ + -62.48056, + -64.043335 + ], + [ + -62.704727, + -64.466124 + ], + [ + -62.300003, + -64.434448 + ] + ] + ], + [ + [ + [ + -57.815834, + -63.961395 + ], + [ + -58.428612, + -64.113342 + ], + [ + -58.080833, + -64.084732 + ], + [ + -58.239449, + -64.325012 + ], + [ + -57.912781, + -64.445282 + ], + [ + -57.03334, + -64.172501 + ], + [ + -57.815834, + -63.961395 + ] + ] + ], + [ + [ + [ + -57.570557, + -63.787781 + ], + [ + -57.694725, + -63.816391 + ], + [ + -57.045563, + -63.822784 + ], + [ + -57.570557, + -63.787781 + ] + ] + ], + [ + [ + [ + -60.738335, + -63.86834 + ], + [ + -60.531395, + -63.651672 + ], + [ + -60.764168, + -63.660561 + ], + [ + -60.738335, + -63.86834 + ] + ] + ], + [ + [ + [ + -55.976669, + -63.58139 + ], + [ + -55.707779, + -63.452507 + ], + [ + -56.205559, + -63.452782 + ], + [ + -55.976669, + -63.58139 + ] + ] + ], + [ + [ + [ + -62.154167, + -63.324173 + ], + [ + -61.943335, + -63.28167 + ], + [ + -62.260284, + -63.253891 + ], + [ + -62.154167, + -63.324173 + ] + ] + ], + [ + [ + [ + -56.946396, + -63.450562 + ], + [ + -57.205002, + -63.205559 + ], + [ + -58.910835, + -63.533058 + ], + [ + -59.445839, + -63.893059 + ], + [ + -60.991669, + -64.035843 + ], + [ + -60.941948, + -64.277512 + ], + [ + -61.93528, + -64.690567 + ], + [ + -62.453613, + -64.589172 + ], + [ + -62.617783, + -64.755005 + ], + [ + -62.31945, + -64.858902 + ], + [ + -62.938057, + -64.797501 + ], + [ + -63.090561, + -65.133896 + ], + [ + -63.879448, + -65.018341 + ], + [ + -64.05307, + -65.421951 + ], + [ + -63.712784, + -65.502502 + ], + [ + -64.659729, + -65.74028 + ], + [ + -64.453339, + -65.981674 + ], + [ + -65.689728, + -66.125 + ], + [ + -66.497223, + -66.622513 + ], + [ + -66.404724, + -66.885559 + ], + [ + -67.48584, + -67.077225 + ], + [ + -67.623901, + -67.553619 + ], + [ + -66.427231, + -67.53334 + ], + [ + -67.157227, + -68.010559 + ], + [ + -66.589737, + -68.238068 + ], + [ + -67.165558, + -68.293335 + ], + [ + -66.932236, + -68.773895 + ], + [ + -67.494446, + -68.815567 + ], + [ + -66.657791, + -69.017792 + ], + [ + -68.838058, + -69.417236 + ], + [ + -67.703903, + -70.593063 + ], + [ + -67.400284, + -71.040009 + ], + [ + -67.537231, + -71.454727 + ], + [ + -66.859177, + -71.895569 + ], + [ + -66.797226, + -72.407791 + ], + [ + -69.428345, + -73.197235 + ], + [ + -76.962784, + -73.873062 + ], + [ + -76.618347, + -73.576675 + ], + [ + -78.789734, + -73.693069 + ], + [ + -78.958893, + -73.392502 + ], + [ + -80.695557, + -73.050568 + ], + [ + -80.51918, + -73.446396 + ], + [ + -81.275284, + -73.369446 + ], + [ + -81.041397, + -73.715561 + ], + [ + -82.134171, + -73.943344 + ], + [ + -85.599731, + -73.558334 + ], + [ + -85.47084, + -73.349731 + ], + [ + -85.966675, + -73.041397 + ], + [ + -86.840836, + -73.336395 + ], + [ + -88.709166, + -73.179459 + ], + [ + -88.335846, + -72.816116 + ], + [ + -89.261124, + -72.63945 + ], + [ + -89.537231, + -72.633621 + ], + [ + -89.321121, + -73.054169 + ], + [ + -90.861115, + -73.326675 + ], + [ + -102.099167, + -73.084732 + ], + [ + -103.176117, + -72.733337 + ], + [ + -103.603348, + -72.891953 + ], + [ + -103.036118, + -73.326401 + ], + [ + -99.175568, + -73.619171 + ], + [ + -103.013344, + -73.629181 + ], + [ + -102.901398, + -73.875839 + ], + [ + -101.65834, + -73.998901 + ], + [ + -101.331947, + -74.48056 + ], + [ + -100.248062, + -74.490845 + ], + [ + -100.515556, + -74.671112 + ], + [ + -100.151123, + -74.760834 + ], + [ + -100.851669, + -74.814728 + ], + [ + -99.510284, + -75.092514 + ], + [ + -110.383057, + -75.306122 + ], + [ + -110.96167, + -75.157791 + ], + [ + -109.928886, + -74.761398 + ], + [ + -110.154715, + -74.28418 + ], + [ + -111.503891, + -74.191681 + ], + [ + -111.385834, + -74.462233 + ], + [ + -111.724457, + -74.587233 + ], + [ + -111.343063, + -74.759445 + ], + [ + -112.654167, + -74.858612 + ], + [ + -113.555557, + -74.634445 + ], + [ + -112.930283, + -74.455002 + ], + [ + -113.433617, + -74.472229 + ], + [ + -113.186401, + -74.1689 + ], + [ + -114.003616, + -73.889175 + ], + [ + -114.810013, + -74.104736 + ], + [ + -114.697777, + -74.469177 + ], + [ + -117.396957, + -74.530838 + ], + [ + -117.743057, + -74.308624 + ], + [ + -118.531677, + -74.613617 + ], + [ + -121.478348, + -74.742508 + ], + [ + -133.262512, + -74.847229 + ], + [ + -134.303894, + -74.532791 + ], + [ + -146.295288, + -76.039734 + ], + [ + -145.479462, + -76.443344 + ], + [ + -146.491669, + -76.367508 + ], + [ + -148.101288, + -76.095657 + ], + [ + -149.506134, + -76.387512 + ], + [ + -146.932251, + -76.45195 + ], + [ + -145.45639, + -76.760284 + ], + [ + -146.102234, + -76.840012 + ], + [ + -145.298889, + -77.029175 + ], + [ + -146.301392, + -76.999176 + ], + [ + -145.842804, + -77.114182 + ], + [ + -146.227509, + -77.165009 + ], + [ + -145.878906, + -77.306395 + ], + [ + -146.268616, + -77.4664 + ], + [ + -147.032227, + -77.22084 + ], + [ + -147.071686, + -77.372787 + ], + [ + -147.493073, + -77.296951 + ], + [ + -147.5914, + -77.422226 + ], + [ + -148.581116, + -77.504456 + ], + [ + -148.585571, + -77.594452 + ], + [ + -148.732788, + -77.625565 + ], + [ + -149.414185, + -77.570847 + ], + [ + -149.08725, + -77.696121 + ], + [ + -149.662231, + -77.761124 + ], + [ + -152.061127, + -77.325287 + ], + [ + -153.106415, + -77.497223 + ], + [ + -153.083618, + -77.286667 + ], + [ + -153.790283, + -77.174728 + ], + [ + -155.861389, + -77.084457 + ], + [ + -156.483337, + -77.358612 + ], + [ + -157.753082, + -77.108063 + ], + [ + -157.69696, + -77.571396 + ], + [ + -158.175842, + -77.859726 + ], + [ + -157.910278, + -78.001953 + ], + [ + -153.750305, + -78.308334 + ], + [ + -155.906403, + -78.719727 + ], + [ + -146.811951, + -79.887512 + ], + [ + -145.52417, + -80.460556 + ], + [ + -148.413361, + -81.357513 + ], + [ + -154.921692, + -81.001953 + ], + [ + -156.960022, + -81.251678 + ], + [ + -154.205017, + -81.552231 + ], + [ + -153.989197, + -81.629181 + ], + [ + -154.891418, + -81.905014 + ], + [ + -151.794189, + -82.577789 + ], + [ + -153.007507, + -83.087509 + ], + [ + -153.05307, + -84.012787 + ], + [ + -149.294739, + -84.561951 + ], + [ + -138.589447, + -84.984726 + ], + [ + -139.661407, + -85.24501 + ], + [ + -148.138336, + -85.090836 + ], + [ + -150.239471, + -85.463623 + ], + [ + -157.483337, + -85.448624 + ], + [ + -180, + -84.305344 + ], + [ + -180, + -90 + ], + [ + 180, + -90 + ], + [ + 180, + -84.302246 + ], + [ + 171.905031, + -83.801697 + ], + [ + 172.318605, + -83.597229 + ], + [ + 169.250826, + -83.330017 + ], + [ + 167.469728, + -83.439178 + ], + [ + 168.692476, + -83.146408 + ], + [ + 163.446138, + -82.26503 + ], + [ + 163.859468, + -82.174179 + ], + [ + 162.27585, + -81.662231 + ], + [ + 160.391115, + -81.521408 + ], + [ + 162.193911, + -81.297806 + ], + [ + 160.626131, + -81.205017 + ], + [ + 160.839449, + -81.078079 + ], + [ + 160.503084, + -80.952789 + ], + [ + 160.843904, + -80.893066 + ], + [ + 160.015566, + -80.780304 + ], + [ + 161.174471, + -80.635559 + ], + [ + 159.75696, + -80.569748 + ], + [ + 160.89197, + -80.377502 + ], + [ + 158.057253, + -80.280563 + ], + [ + 160.524446, + -80.041397 + ], + [ + 159.092806, + -79.971115 + ], + [ + 160.73807, + -79.453079 + ], + [ + 160.04056, + -79.155838 + ], + [ + 160.494173, + -79.020859 + ], + [ + 164.494448, + -78.569748 + ], + [ + 167.269442, + -78.655838 + ], + [ + 165.683596, + -78.391693 + ], + [ + 165.54001, + -78.003357 + ], + [ + 164.206697, + -78.14389 + ], + [ + 164.565004, + -77.736389 + ], + [ + 163.610842, + -77.696121 + ], + [ + 163.896975, + -77.46669 + ], + [ + 163.238344, + -77.041397 + ], + [ + 162.332796, + -76.951416 + ], + [ + 163.069735, + -76.73085 + ], + [ + 162.623629, + -76.619461 + ], + [ + 162.932253, + -76.583084 + ], + [ + 162.875582, + -76.247787 + ], + [ + 162.337801, + -76.167236 + ], + [ + 163.136965, + -75.936676 + ], + [ + 162.539736, + -75.108917 + ], + [ + 163.871675, + -74.953354 + ], + [ + 163.656679, + -74.77446 + ], + [ + 164.142519, + -74.616119 + ], + [ + 165.333315, + -74.672806 + ], + [ + 164.780855, + -74.136963 + ], + [ + 166.129152, + -74.127243 + ], + [ + 165.548586, + -73.93251 + ], + [ + 167.561678, + -73.403351 + ], + [ + 169.079165, + -73.527527 + ], + [ + 169.26642, + -73.083908 + ], + [ + 170.322237, + -72.580307 + ], + [ + 170.304171, + -72.300842 + ], + [ + 169.871645, + -72.379196 + ], + [ + 170.129976, + -72.051407 + ], + [ + 170.994448, + -71.864197 + ], + [ + 170.453035, + -71.351669 + ], + [ + 170.215273, + -71.282791 + ], + [ + 170.272249, + -71.660019 + ], + [ + 167.767519, + -70.780838 + ], + [ + 166.463045, + -70.70195 + ], + [ + 166.771669, + -70.611679 + ], + [ + 163.553896, + -70.465286 + ], + [ + 163.78528, + -70.628067 + ], + [ + 163.520845, + -70.675003 + ], + [ + 162.753908, + -70.280304 + ], + [ + 160.968904, + -70.255569 + ], + [ + 157.236391, + -68.94252 + ], + [ + 156.336123, + -69.24057 + ], + [ + 154.856691, + -69.102524 + ], + [ + 154.286684, + -68.863083 + ], + [ + 154.685854, + -68.615004 + ], + [ + 153.778353, + -68.343628 + ], + [ + 153.768618, + -68.922241 + ], + [ + 151.18503, + -68.980026 + ], + [ + 150.992525, + -68.390854 + ], + [ + 148.813356, + -68.335281 + ], + [ + 148.217226, + -68.127243 + ], + [ + 148.648073, + -67.989197 + ], + [ + 148.029451, + -67.844467 + ], + [ + 146.953341, + -68.141693 + ], + [ + 147.15085, + -67.99086 + ], + [ + 146.642794, + -67.709457 + ], + [ + 145.315004, + -67.613342 + ], + [ + 145.875307, + -67.195862 + ], + [ + 145.404451, + -67.017227 + ], + [ + 144.585573, + -67.245285 + ], + [ + 143.400026, + -66.851135 + ], + [ + 142.566408, + -66.994171 + ], + [ + 134.947786, + -66.093063 + ], + [ + 135.272249, + -65.436401 + ], + [ + 134.437838, + -64.926132 + ], + [ + 134.100618, + -65.123062 + ], + [ + 134.436403, + -66.001419 + ], + [ + 134.245302, + -66.201126 + ], + [ + 130.351992, + -66.225845 + ], + [ + 128.83478, + -67.142517 + ], + [ + 126.928652, + -66.834457 + ], + [ + 126.988359, + -66.453583 + ], + [ + 126.356165, + -66.279724 + ], + [ + 125.19002, + -66.734192 + ], + [ + 122.183359, + -66.547806 + ], + [ + 117.767, + -66.989746 + ], + [ + 116.18004, + -66.366684 + ], + [ + 114.518358, + -66.472778 + ], + [ + 114.431429, + -66.179474 + ], + [ + 113.31534, + -65.713348 + ], + [ + 110.891726, + -66.063629 + ], + [ + 110.629763, + -66.486679 + ], + [ + 108.824221, + -66.831131 + ], + [ + 107.804781, + -66.398361 + ], + [ + 102.626162, + -65.901123 + ], + [ + 100.95392, + -66.080841 + ], + [ + 99.283083, + -66.880844 + ], + [ + 98.261965, + -66.516113 + ], + [ + 97.564455, + -66.74057 + ], + [ + 92.005312, + -66.533905 + ], + [ + 88.967226, + -66.761398 + ], + [ + 88.227236, + -66.036392 + ], + [ + 88.109499, + -66.652527 + ], + [ + 87.50252, + -66.894745 + ], + [ + 85.791689, + -67.17778 + ], + [ + 83.403399, + -67.156677 + ], + [ + 82.665041, + -67.39389 + ], + [ + 82.014482, + -67.251678 + ], + [ + 81.469744, + -67.505295 + ], + [ + 82.057268, + -67.672241 + ], + [ + 78.116411, + -68.459732 + ], + [ + 77.747271, + -69.116974 + ], + [ + 72.90114, + -70.021957 + ], + [ + 72.615618, + -70.203613 + ], + [ + 72.863115, + -70.432785 + ], + [ + 71.504473, + -70.953903 + ], + [ + 71.248125, + -71.38945 + ], + [ + 71.449785, + -71.546112 + ], + [ + 70.864946, + -71.930145 + ], + [ + 68.936419, + -72.425003 + ], + [ + 67.337557, + -72.063339 + ], + [ + 67.90114, + -71.64447 + ], + [ + 67.605303, + -71.583084 + ], + [ + 69.243914, + -70.670578 + ], + [ + 69.144793, + -70.33139 + ], + [ + 68.661699, + -70.367798 + ], + [ + 68.850298, + -70.532242 + ], + [ + 68.59395, + -70.770584 + ], + [ + 67.646135, + -70.386398 + ], + [ + 68.094744, + -69.879471 + ], + [ + 69.205339, + -69.863907 + ], + [ + 69.340044, + -69.638626 + ], + [ + 68.871172, + -69.379471 + ], + [ + 69.74312, + -69.363083 + ], + [ + 69.292009, + -69.102783 + ], + [ + 70.102007, + -68.523895 + ], + [ + 69.644793, + -67.753906 + ], + [ + 59.11062, + -67.412231 + ], + [ + 56.729525, + -66.901123 + ], + [ + 57.311975, + -66.563339 + ], + [ + 55.619234, + -66.006958 + ], + [ + 53.778963, + -65.840027 + ], + [ + 50.413118, + -66.441971 + ], + [ + 50.169771, + -66.743057 + ], + [ + 50.689486, + -67.181395 + ], + [ + 49.151705, + -67.088623 + ], + [ + 49.163973, + -66.862808 + ], + [ + 48.262857, + -67.167526 + ], + [ + 49.167269, + -67.383362 + ], + [ + 48.217012, + -67.634445 + ], + [ + 47.395609, + -67.722519 + ], + [ + 47.009501, + -67.550308 + ], + [ + 47.448954, + -67.417801 + ], + [ + 46.551432, + -67.277252 + ], + [ + 46.246431, + -67.357513 + ], + [ + 46.308931, + -67.641693 + ], + [ + 41.103128, + -68.523895 + ], + [ + 39.760355, + -68.954468 + ], + [ + 39.701761, + -69.648636 + ], + [ + 38.65037, + -69.988632 + ], + [ + 38.564493, + -69.50058 + ], + [ + 38.239237, + -69.992798 + ], + [ + 37.14506, + -69.664749 + ], + [ + 37.850931, + -69.533905 + ], + [ + 37.916178, + -69.251419 + ], + [ + 36.722574, + -69.728073 + ], + [ + 36.126444, + -69.533615 + ], + [ + 36.41453, + -69.314453 + ], + [ + 34.14036, + -68.482788 + ], + [ + 33.424234, + -68.651413 + ], + [ + 33.445047, + -68.957245 + ], + [ + 32.902323, + -69.276947 + ], + [ + 31.083422, + -69.773895 + ], + [ + 23.246756, + -70.546417 + ], + [ + 18.036489, + -69.969177 + ], + [ + 15.705927, + -70.278624 + ], + [ + 14.165644, + -70.158905 + ], + [ + 12.740351, + -70.281128 + ], + [ + 12.046747, + -70.717514 + ], + [ + 11.270624, + -70.710281 + ], + [ + 8.682856, + -70.074463 + ], + [ + 9.090387, + -70.318344 + ], + [ + 8.480646, + -70.477249 + ], + [ + 7.55731, + -70.16835 + ], + [ + 6.699522, + -70.586395 + ], + [ + 2.80316, + -70.846954 + ], + [ + -0.297499, + -71.65889 + ], + [ + -0.923056, + -71.589172 + ], + [ + -0.777222, + -71.389175 + ], + [ + -1.053333, + -71.276672 + ], + [ + -2.093889, + -71.486115 + ], + [ + -2.261667, + -71.170837 + ], + [ + -6.009167, + -71.4189 + ], + [ + -6.103889, + -71.144455 + ], + [ + -5.441111, + -70.882507 + ], + [ + -6.021111, + -70.699722 + ], + [ + -7.723333, + -71.429169 + ], + [ + -7.337778, + -71.691956 + ], + [ + -8.366945, + -71.825836 + ], + [ + -8.930834, + -71.233612 + ], + [ + -9.878714, + -70.90097 + ], + [ + -10.43, + -70.986954 + ], + [ + -10.048613, + -71.111389 + ], + [ + -11.019445, + -71.657227 + ], + [ + -11.592779, + -71.561951 + ], + [ + -11.556507, + -71.278824 + ], + [ + -12.276945, + -71.377502 + ], + [ + -11.325834, + -71.965012 + ], + [ + -11.657778, + -72.32695 + ], + [ + -13.406113, + -72.823059 + ], + [ + -14.469168, + -72.796677 + ], + [ + -13.731112, + -73.020844 + ], + [ + -16.023613, + -73.320282 + ], + [ + -16.898891, + -73.773056 + ], + [ + -16.069168, + -73.747513 + ], + [ + -16.91917, + -73.97612 + ], + [ + -16.326115, + -74.063904 + ], + [ + -13.704723, + -73.941956 + ], + [ + -17.147224, + -74.784729 + ], + [ + -18.25639, + -75.495834 + ], + [ + -17.758057, + -75.729736 + ], + [ + -28.305279, + -76.565292 + ], + [ + -33.886116, + -77.660568 + ], + [ + -36.30278, + -78.779175 + ], + [ + -33.001114, + -79.453903 + ], + [ + -27.085556, + -79.013336 + ], + [ + -30.210556, + -79.666672 + ], + [ + -28.0625, + -80.00473 + ], + [ + -28.319447, + -80.276947 + ], + [ + -41.488892, + -81.383347 + ], + [ + -43.08445, + -81.851395 + ], + [ + -53.725838, + -82.150284 + ], + [ + -58.210838, + -83.03334 + ], + [ + -59.079727, + -82.965836 + ], + [ + -58.783058, + -82.645004 + ], + [ + -59.648056, + -82.433899 + ], + [ + -74.693893, + -80.697235 + ], + [ + -76.089447, + -80.197235 + ], + [ + -79.849457, + -79.954453 + ], + [ + -77.321945, + -80.011398 + ], + [ + -76.083618, + -79.645844 + ], + [ + -77.029449, + -79.279449 + ], + [ + -80.202789, + -79.228897 + ], + [ + -80.635559, + -79.619171 + ], + [ + -84.107788, + -78.36084 + ], + [ + -78.957504, + -78.813339 + ], + [ + -77.487503, + -78.526672 + ], + [ + -81.470001, + -77.897232 + ], + [ + -80.60556, + -77.886398 + ], + [ + -81.496948, + -77.657791 + ], + [ + -74.853348, + -78.141113 + ], + [ + -72.839737, + -77.640015 + ], + [ + -75.632782, + -77.508621 + ], + [ + -78.476669, + -76.407227 + ], + [ + -77.771666, + -75.9189 + ], + [ + -76.380569, + -76.065002 + ], + [ + -75.444458, + -76.546402 + ], + [ + -70.476395, + -76.707779 + ], + [ + -69.385284, + -76.296112 + ], + [ + -63.429169, + -75.450562 + ], + [ + -63.094727, + -75.325562 + ], + [ + -64.447784, + -75.297791 + ], + [ + -63.09584, + -75.130844 + ], + [ + -63.989449, + -75.008057 + ], + [ + -63.051392, + -74.895279 + ], + [ + -63.245834, + -74.604172 + ], + [ + -62.531395, + -74.982513 + ], + [ + -61.887505, + -74.83223 + ], + [ + -61.75528, + -74.306395 + ], + [ + -61.036392, + -74.098343 + ], + [ + -61.762505, + -73.913895 + ], + [ + -60.587784, + -73.706116 + ], + [ + -61.609169, + -73.546112 + ], + [ + -61.83667, + -73.366394 + ], + [ + -61.436394, + -73.343613 + ], + [ + -61.919449, + -73.143066 + ], + [ + -60.599724, + -73.360291 + ], + [ + -59.849449, + -73.233063 + ], + [ + -59.77417, + -72.900284 + ], + [ + -60.617226, + -73.028624 + ], + [ + -60.616112, + -72.643341 + ], + [ + -61.270836, + -72.700287 + ], + [ + -61.549728, + -72.422791 + ], + [ + -60.852501, + -72.388901 + ], + [ + -61.074722, + -72.16362 + ], + [ + -60.865837, + -72.003067 + ], + [ + -62.552504, + -72.047501 + ], + [ + -60.904167, + -71.736389 + ], + [ + -61.929726, + -71.656403 + ], + [ + -60.942505, + -71.15834 + ], + [ + -61.38028, + -70.815292 + ], + [ + -62.128891, + -70.86557 + ], + [ + -61.484451, + -70.520279 + ], + [ + -62.490837, + -70.380569 + ], + [ + -61.940834, + -70.229172 + ], + [ + -62.635002, + -69.853348 + ], + [ + -62.475838, + -69.453064 + ], + [ + -63.638893, + -69.227234 + ], + [ + -63.368057, + -69.050003 + ], + [ + -63.706673, + -68.742508 + ], + [ + -63.210556, + -68.786957 + ], + [ + -63.974167, + -68.536392 + ], + [ + -62.72834, + -68.410004 + ], + [ + -64.390015, + -68.513336 + ], + [ + -63.85778, + -68.842789 + ], + [ + -65.313339, + -68.711395 + ], + [ + -65.091675, + -68.441956 + ], + [ + -65.59668, + -68.347504 + ], + [ + -64.768341, + -68.122787 + ], + [ + -65.723618, + -68.148056 + ], + [ + -65.329178, + -67.974731 + ], + [ + -65.617783, + -67.880005 + ], + [ + -65.290283, + -67.67334 + ], + [ + -65.613892, + -67.559174 + ], + [ + -64.770569, + -67.31723 + ], + [ + -64.837784, + -66.951401 + ], + [ + -63.743614, + -66.891678 + ], + [ + -64.196671, + -66.720291 + ], + [ + -63.67556, + -66.218338 + ], + [ + -62.608894, + -66.728348 + ], + [ + -62.443611, + -66.430283 + ], + [ + -62.885284, + -66.262787 + ], + [ + -62.181395, + -66.180283 + ], + [ + -61.71389, + -66.469177 + ], + [ + -61.416672, + -66.12529 + ], + [ + -60.936951, + -66.26001 + ], + [ + -60.557503, + -65.945282 + ], + [ + -61.87278, + -66.171951 + ], + [ + -62.459724, + -65.904724 + ], + [ + -61.68306, + -65.53862 + ], + [ + -62.089729, + -65.440292 + ], + [ + -61.95945, + -65.180283 + ], + [ + -59.918892, + -64.412231 + ], + [ + -59.50528, + -64.537231 + ], + [ + -59.493057, + -64.316116 + ], + [ + -58.778641, + -64.535812 + ], + [ + -58.600838, + -63.948891 + ], + [ + -57.380005, + -63.460556 + ], + [ + -56.72139, + -63.594727 + ], + [ + -56.946396, + -63.450562 + ] + ] + ], + [ + [ + [ + -55.470001, + -63.143333 + ], + [ + -56.543335, + -63.364449 + ], + [ + -55.002785, + -63.28389 + ], + [ + -55.470001, + -63.143333 + ] + ] + ], + [ + [ + [ + -56.265007, + -63.169449 + ], + [ + -55.97084, + -63.054451 + ], + [ + -56.584724, + -63.035004 + ], + [ + -56.265007, + -63.169449 + ] + ] + ], + [ + [ + [ + -60.47184, + -62.900898 + ], + [ + -60.742481, + -62.973991 + ], + [ + -60.580002, + -63.008057 + ], + [ + -60.47184, + -62.900898 + ] + ] + ], + [ + [ + [ + -62.691391, + -63.095001 + ], + [ + -62.260559, + -62.881668 + ], + [ + -62.489449, + -62.921112 + ], + [ + -62.691391, + -63.095001 + ] + ] + ], + [ + [ + [ + -61.358612, + -62.813614 + ], + [ + -61.150558, + -62.708618 + ], + [ + -61.479172, + -62.753891 + ], + [ + -61.358612, + -62.813614 + ] + ] + ], + [ + [ + [ + -60.51667, + -62.553894 + ], + [ + -61.172501, + -62.575005 + ], + [ + -59.816948, + -62.614174 + ], + [ + -60.51667, + -62.553894 + ] + ] + ], + [ + [ + [ + -59.665558, + -62.556946 + ], + [ + -59.542229, + -62.498611 + ], + [ + -59.979172, + -62.450836 + ], + [ + -59.665558, + -62.556946 + ] + ] + ], + [ + [ + [ + -59.439171, + -62.447226 + ], + [ + -59.327507, + -62.371391 + ], + [ + -59.678337, + -62.363892 + ], + [ + -59.439171, + -62.447226 + ] + ] + ], + [ + [ + [ + -58.9925, + -62.347778 + ], + [ + -58.816391, + -62.298058 + ], + [ + -59.208893, + -62.285561 + ], + [ + -58.9925, + -62.347778 + ] + ] + ], + [ + [ + [ + -57.621948, + -61.909729 + ], + [ + -58.400284, + -61.938614 + ], + [ + -58.986389, + -62.214447 + ], + [ + -57.621948, + -61.909729 + ] + ] + ], + [ + [ + [ + -55.092224, + -61.098061 + ], + [ + -55.494446, + -61.126671 + ], + [ + -54.646393, + -61.092781 + ], + [ + -55.092224, + -61.098061 + ] + ] + ], + [ + [ + [ + -54.046951, + -61.269447 + ], + [ + -54.032227, + -61.088058 + ], + [ + -54.200562, + -61.236115 + ], + [ + -54.046951, + -61.269447 + ] + ] + ], + [ + [ + [ + -44.428062, + -60.723335 + ], + [ + -44.531395, + -60.67556 + ], + [ + -44.784729, + -60.734451 + ], + [ + -44.428062, + -60.723335 + ] + ] + ], + [ + [ + [ + -45.00528, + -60.725281 + ], + [ + -45.025841, + -60.641945 + ], + [ + -45.071114, + -60.631111 + ], + [ + -45.00528, + -60.725281 + ] + ] + ], + [ + [ + [ + -45.550835, + -60.547226 + ], + [ + -46.023613, + -60.61084 + ], + [ + -45.145279, + -60.766113 + ], + [ + -45.550835, + -60.547226 + ] + ] + ] + ] + }, + "name" : "Antarctica", + "iso2" : "AQ", + "iso3" : "ATA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "1L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 3.361389, + -54.462784 + ], + [ + 3.483611, + -54.402229 + ], + [ + 3.366944, + -54.399727 + ], + [ + 3.361389, + -54.462784 + ] + ] + ] + }, + "name" : "Bouvet Island", + "iso2" : "BV", + "iso3" : "BVT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "1b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 69.812777, + -49.678062 + ], + [ + 69.795, + -49.647224 + ], + [ + 69.761934, + -49.65889 + ], + [ + 69.812777, + -49.678062 + ] + ] + ], + [ + [ + [ + 68.789156, + -49.361671 + ], + [ + 68.801668, + -49.328339 + ], + [ + 68.644442, + -49.343613 + ], + [ + 68.789156, + -49.361671 + ] + ] + ], + [ + [ + [ + 69.606661, + -49.207779 + ], + [ + 69.678331, + -49.153061 + ], + [ + 69.533052, + -49.196671 + ], + [ + 69.606661, + -49.207779 + ] + ] + ], + [ + [ + [ + 69.264711, + -49.091118 + ], + [ + 69.368883, + -48.886391 + ], + [ + 69.216387, + -48.967224 + ], + [ + 69.264711, + -49.091118 + ] + ] + ], + [ + [ + [ + 69.152224, + -48.98806 + ], + [ + 69.242495, + -48.892502 + ], + [ + 69.222216, + -48.856117 + ], + [ + 69.152224, + -48.98806 + ] + ] + ], + [ + [ + [ + 69.491106, + -48.882782 + ], + [ + 69.517214, + -48.860283 + ], + [ + 69.401934, + -48.83445 + ], + [ + 69.491106, + -48.882782 + ] + ] + ], + [ + [ + [ + 69.001101, + -48.797501 + ], + [ + 68.797777, + -49.721947 + ], + [ + 69.643328, + -49.501396 + ], + [ + 70.253603, + -49.691116 + ], + [ + 69.774721, + -49.394173 + ], + [ + 70.566668, + -49.245003 + ], + [ + 70.323885, + -49.050835 + ], + [ + 69.582766, + -49.304451 + ], + [ + 69.282488, + -49.186394 + ], + [ + 69.621935, + -48.978058 + ], + [ + 69.217211, + -49.125557 + ], + [ + 69.103884, + -48.995834 + ], + [ + 69.063051, + -49.119728 + ], + [ + 69.001101, + -48.797501 + ] + ], + [ + [ + 69.904436, + -49.477226 + ], + [ + 69.84305, + -49.45945 + ], + [ + 69.825274, + -49.425835 + ], + [ + 69.904436, + -49.477226 + ] + ], + [ + [ + 70.011934, + -49.571945 + ], + [ + 69.835543, + -49.508057 + ], + [ + 69.921099, + -49.513062 + ], + [ + 70.011934, + -49.571945 + ] + ] + ], + [ + [ + [ + 68.675554, + -48.64389 + ], + [ + 68.668612, + -48.628059 + ], + [ + 68.606112, + -48.639725 + ], + [ + 68.675554, + -48.64389 + ] + ] + ], + [ + [ + [ + 68.797777, + -48.615004 + ], + [ + 68.824709, + -48.570557 + ], + [ + 68.787218, + -48.577225 + ], + [ + 68.797777, + -48.615004 + ] + ] + ], + [ + [ + [ + 52.254442, + -46.457504 + ], + [ + 52.257219, + -46.378059 + ], + [ + 52.088335, + -46.411118 + ], + [ + 52.254442, + -46.457504 + ] + ] + ], + [ + [ + [ + 51.819445, + -46.453613 + ], + [ + 51.780001, + -46.341118 + ], + [ + 51.651941, + -46.374168 + ], + [ + 51.819445, + -46.453613 + ] + ] + ], + [ + [ + [ + 50.272219, + -46.131393 + ], + [ + 50.27389, + -46.050835 + ], + [ + 50.176943, + -46.0625 + ], + [ + 50.272219, + -46.131393 + ] + ] + ], + [ + [ + [ + 77.529436, + -38.737785 + ], + [ + 77.506105, + -38.703896 + ], + [ + 77.499712, + -38.731117 + ], + [ + 77.529436, + -38.737785 + ] + ] + ], + [ + [ + [ + 77.554155, + -37.902779 + ], + [ + 77.554445, + -37.822502 + ], + [ + 77.483889, + -37.835281 + ], + [ + 77.554155, + -37.902779 + ] + ] + ], + [ + [ + [ + 42.757776, + -17.075001 + ], + [ + 42.756945, + -17.059723 + ], + [ + 42.721109, + -17.055557 + ], + [ + 42.757776, + -17.075001 + ] + ] + ] + ] + }, + "name" : "French Southern and Antarctic Lands", + "iso2" : "TF", + "iso3" : "ATF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "1r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 73.77388, + -53.125031 + ], + [ + 73.234436, + -52.987785 + ], + [ + 73.474442, + -53.194168 + ], + [ + 73.77388, + -53.125031 + ] + ] + ] + }, + "name" : "Heard Island and McDonald Islands", + "iso2" : "HM", + "iso3" : "HMD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "171E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 72.487198, + -7.381944 + ], + [ + 72.448868, + -7.234445 + ], + [ + 72.359146, + -7.265278 + ], + [ + 72.487198, + -7.381944 + ] + ] + ], + [ + [ + [ + 71.348328, + -6.658889 + ], + [ + 71.365265, + -6.651667 + ], + [ + 71.343323, + -6.656667 + ], + [ + 71.348328, + -6.658889 + ] + ] + ], + [ + [ + [ + 71.266388, + -6.391945 + ], + [ + 71.266098, + -6.366666 + ], + [ + 71.258606, + -6.382222 + ], + [ + 71.266388, + -6.391945 + ] + ] + ], + [ + [ + [ + 71.347763, + -6.206944 + ], + [ + 71.360809, + -6.174167 + ], + [ + 71.338593, + -6.195833 + ], + [ + 71.347763, + -6.206944 + ] + ] + ], + [ + [ + [ + 71.782486, + -5.440277 + ], + [ + 71.766388, + -5.429722 + ], + [ + 71.759995, + -5.431389 + ], + [ + 71.782486, + -5.440277 + ] + ] + ], + [ + [ + [ + 72.216385, + -5.362222 + ], + [ + 72.208603, + -5.348056 + ], + [ + 72.207764, + -5.354445 + ], + [ + 72.216385, + -5.362222 + ] + ] + ], + [ + [ + [ + 72.232483, + -5.319722 + ], + [ + 72.228043, + -5.315833 + ], + [ + 72.2211, + -5.335556 + ], + [ + 72.232483, + -5.319722 + ] + ] + ], + [ + [ + [ + 71.742203, + -5.291111 + ], + [ + 71.748596, + -5.265556 + ], + [ + 71.74054, + -5.271111 + ], + [ + 71.742203, + -5.291111 + ] + ] + ], + [ + [ + [ + 71.869431, + -5.257778 + ], + [ + 71.882202, + -5.256111 + ], + [ + 71.870255, + -5.249722 + ], + [ + 71.869431, + -5.257778 + ] + ] + ] + ] + }, + "name" : "British Indian Ocean Territory", + "iso2" : "IO", + "iso3" : "IOT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "2L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 105.701401, + -10.51097 + ], + [ + 105.736603, + -10.38408 + ], + [ + 105.628998, + -10.43731 + ], + [ + 105.701401, + -10.51097 + ] + ] + ] + }, + "name" : "Christmas Island", + "iso2" : "CX", + "iso3" : "CXR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "2b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -160.021149, + -0.398056 + ], + [ + -160.017792, + -0.374722 + ], + [ + -160.048615, + -0.383611 + ], + [ + -160.021149, + -0.398056 + ] + ] + ], + [ + [ + [ + -176.456146, + 0.215833 + ], + [ + -176.453918, + 0.226111 + ], + [ + -176.468323, + 0.222222 + ], + [ + -176.456146, + 0.215833 + ] + ] + ], + [ + [ + [ + -176.632202, + 0.793055 + ], + [ + -176.643097, + 0.812778 + ], + [ + -176.64447, + 0.795555 + ], + [ + -176.632202, + 0.793055 + ] + ] + ], + [ + [ + [ + -169.522522, + 16.728882 + ], + [ + -169.531708, + 16.732491 + ], + [ + -169.543884, + 16.726379 + ], + [ + -169.522522, + 16.728882 + ] + ] + ], + [ + [ + [ + 166.646362, + 19.279442 + ], + [ + 166.627594, + 19.324577 + ], + [ + 166.607452, + 19.304996 + ], + [ + 166.646362, + 19.279442 + ] + ] + ], + [ + [ + [ + -177.334442, + 28.194157 + ], + [ + -177.317505, + 28.200829 + ], + [ + -177.321686, + 28.213608 + ], + [ + -177.334442, + 28.194157 + ] + ] + ], + [ + [ + [ + -177.388062, + 28.186378 + ], + [ + -177.358032, + 28.219162 + ], + [ + -177.389771, + 28.212769 + ], + [ + -177.388062, + 28.186378 + ] + ] + ] + ] + }, + "name" : "United States Minor Outlying Islands", + "iso2" : "UM", + "iso3" : "UMI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "2r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 169.846069, + -20.252224 + ], + [ + 169.886658, + -20.170555 + ], + [ + 169.745514, + -20.149445 + ], + [ + 169.846069, + -20.252224 + ] + ] + ], + [ + [ + [ + 170.217468, + -19.559444 + ], + [ + 170.232452, + -19.52417 + ], + [ + 170.205231, + -19.525002 + ], + [ + 170.217468, + -19.559444 + ] + ] + ], + [ + [ + [ + 169.498291, + -19.545002 + ], + [ + 169.232452, + -19.350277 + ], + [ + 169.349701, + -19.636944 + ], + [ + 169.498291, + -19.545002 + ] + ] + ], + [ + [ + [ + 169.594971, + -19.273613 + ], + [ + 169.594971, + -19.231388 + ], + [ + 169.578583, + -19.262501 + ], + [ + 169.594971, + -19.273613 + ] + ] + ], + [ + [ + [ + 169.305237, + -18.978886 + ], + [ + 169.018585, + -18.639999 + ], + [ + 168.989136, + -18.880833 + ], + [ + 169.305237, + -18.978886 + ] + ] + ], + [ + [ + [ + 168.574677, + -17.692776 + ], + [ + 168.311096, + -17.531391 + ], + [ + 168.148041, + -17.719719 + ], + [ + 168.574677, + -17.692776 + ] + ] + ], + [ + [ + [ + 168.399139, + -16.78278 + ], + [ + 168.148315, + -16.580555 + ], + [ + 168.168579, + -16.805279 + ], + [ + 168.399139, + -16.78278 + ] + ] + ], + [ + [ + [ + 168.231079, + -16.516113 + ], + [ + 168.242462, + -16.429165 + ], + [ + 168.201355, + -16.500557 + ], + [ + 168.231079, + -16.516113 + ] + ] + ], + [ + [ + [ + 168.21524, + -16.174168 + ], + [ + 167.917755, + -16.260281 + ], + [ + 168.304138, + -16.339443 + ], + [ + 168.21524, + -16.174168 + ] + ] + ], + [ + [ + [ + 167.416656, + -16.110001 + ], + [ + 167.177765, + -15.899168 + ], + [ + 167.41748, + -16.532223 + ], + [ + 167.772491, + -16.535 + ], + [ + 167.416656, + -16.110001 + ] + ] + ], + [ + [ + [ + 167.209137, + -15.755556 + ], + [ + 167.227173, + -15.637779 + ], + [ + 167.077454, + -15.640278 + ], + [ + 167.209137, + -15.755556 + ] + ] + ], + [ + [ + [ + 167.258606, + -15.588055 + ], + [ + 167.276917, + -15.546112 + ], + [ + 167.239136, + -15.574444 + ], + [ + 167.258606, + -15.588055 + ] + ] + ], + [ + [ + [ + 167.202454, + -15.60861 + ], + [ + 167.21051, + -15.580278 + ], + [ + 167.190521, + -15.529167 + ], + [ + 167.16275, + -15.535833 + ], + [ + 167.110229, + -15.59 + ], + [ + 167.202454, + -15.60861 + ] + ] + ], + [ + [ + [ + 168.210785, + -15.998055 + ], + [ + 168.266663, + -15.870832 + ], + [ + 168.15332, + -15.492222 + ], + [ + 168.210785, + -15.998055 + ] + ] + ], + [ + [ + [ + 167.855804, + -15.485832 + ], + [ + 168.002197, + -15.290001 + ], + [ + 167.668304, + -15.446945 + ], + [ + 167.855804, + -15.485832 + ] + ] + ], + [ + [ + [ + 167.175262, + -15.266666 + ], + [ + 167.179413, + -15.256668 + ], + [ + 167.163605, + -15.254168 + ], + [ + 167.175262, + -15.266666 + ] + ] + ], + [ + [ + [ + 167.14444, + -14.971388 + ], + [ + 167.151093, + -14.957777 + ], + [ + 167.096344, + -14.932501 + ], + [ + 167.14444, + -14.971388 + ] + ] + ], + [ + [ + [ + 168.169128, + -15.395834 + ], + [ + 168.190247, + -15.214722 + ], + [ + 168.105804, + -14.92 + ], + [ + 168.169128, + -15.395834 + ] + ] + ], + [ + [ + [ + 166.802765, + -15.157501 + ], + [ + 166.592743, + -14.624443 + ], + [ + 166.761932, + -15.642778 + ], + [ + 166.814697, + -15.663055 + ], + [ + 166.902771, + -15.582777 + ], + [ + 167.071625, + -15.598055 + ], + [ + 167.151154, + -15.520343 + ], + [ + 167.237717, + -15.524258 + ], + [ + 167.058868, + -14.945 + ], + [ + 166.802765, + -15.157501 + ] + ] + ], + [ + [ + [ + 167.527466, + -14.326666 + ], + [ + 167.588287, + -14.172777 + ], + [ + 167.413605, + -14.178888 + ], + [ + 167.527466, + -14.326666 + ] + ] + ], + [ + [ + [ + 167.479126, + -13.948334 + ], + [ + 167.577759, + -13.847221 + ], + [ + 167.476624, + -13.706667 + ], + [ + 167.479126, + -13.948334 + ] + ] + ], + [ + [ + [ + 167.705536, + -13.675001 + ], + [ + 167.687744, + -13.621666 + ], + [ + 167.623566, + -13.691944 + ], + [ + 167.705536, + -13.675001 + ] + ] + ], + [ + [ + [ + 167.347198, + -13.56139 + ], + [ + 167.322205, + -13.486944 + ], + [ + 167.293304, + -13.52639 + ], + [ + 167.347198, + -13.56139 + ] + ] + ], + [ + [ + [ + 166.67746, + -13.452499 + ], + [ + 166.694122, + -13.415834 + ], + [ + 166.650818, + -13.409723 + ], + [ + 166.67746, + -13.452499 + ] + ] + ], + [ + [ + [ + 166.631622, + -13.381388 + ], + [ + 166.641357, + -13.356943 + ], + [ + 166.596069, + -13.334166 + ], + [ + 166.631622, + -13.381388 + ] + ] + ], + [ + [ + [ + 166.620239, + -13.271389 + ], + [ + 166.638306, + -13.221666 + ], + [ + 166.587463, + -13.223055 + ], + [ + 166.620239, + -13.271389 + ] + ] + ], + [ + [ + [ + 166.559692, + -13.186388 + ], + [ + 166.564972, + -13.091944 + ], + [ + 166.521362, + -13.070555 + ], + [ + 166.559692, + -13.186388 + ] + ] + ] + ] + }, + "name" : "Vanuatu", + "iso2" : "VU", + "iso3" : "VUT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "271E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 7.466389, + 4.445277 + ], + [ + 7.411944, + 4.488055 + ], + [ + 7.335833, + 4.443055 + ], + [ + 7.466389, + 4.445277 + ] + ] + ], + [ + [ + [ + 7.20361, + 4.380555 + ], + [ + 7.316667, + 4.4725 + ], + [ + 7.22611, + 4.52 + ], + [ + 7.20361, + 4.380555 + ] + ] + ], + [ + [ + [ + 13.62512, + 13.718338 + ], + [ + 12.459166, + 13.066111 + ], + [ + 10.724165, + 13.386389 + ], + [ + 9.634932, + 12.802435 + ], + [ + 7.815, + 13.352777 + ], + [ + 6.933332, + 12.997221 + ], + [ + 6.423055, + 13.605276 + ], + [ + 5.874722, + 13.749443 + ], + [ + 4.1425, + 13.476944 + ], + [ + 3.604459, + 11.693274 + ], + [ + 3.855, + 10.584999 + ], + [ + 3.095, + 9.090555 + ], + [ + 2.789444, + 9.043888 + ], + [ + 2.719606, + 6.365505 + ], + [ + 3.807222, + 6.612778 + ], + [ + 3.388611, + 6.443333 + ], + [ + 4.525833, + 6.304999 + ], + [ + 5.175278, + 5.575555 + ], + [ + 5.501111, + 5.620555 + ], + [ + 5.257222, + 5.435555 + ], + [ + 5.639722, + 5.536111 + ], + [ + 5.345277, + 5.33 + ], + [ + 5.451944, + 4.923055 + ], + [ + 6.104166, + 4.272778 + ], + [ + 6.694166, + 4.33 + ], + [ + 6.727221, + 4.605 + ], + [ + 6.848611, + 4.348332 + ], + [ + 6.768055, + 4.774722 + ], + [ + 7.005555, + 4.369444 + ], + [ + 6.962222, + 4.725277 + ], + [ + 7.073055, + 4.434722 + ], + [ + 7.071666, + 4.753888 + ], + [ + 7.676944, + 4.496388 + ], + [ + 8.591738, + 4.810932 + ], + [ + 8.865276, + 5.841944 + ], + [ + 9.795555, + 6.801666 + ], + [ + 10.615, + 7.06861 + ], + [ + 11.340277, + 6.440833 + ], + [ + 11.864166, + 7.084722 + ], + [ + 12.253887, + 8.408054 + ], + [ + 12.796944, + 8.769722 + ], + [ + 13.80722, + 11.055832 + ], + [ + 14.646387, + 11.575832 + ], + [ + 14.645277, + 12.188332 + ], + [ + 14.174444, + 12.396666 + ], + [ + 14.07472, + 13.081665 + ], + [ + 13.62512, + 13.718338 + ] + ] + ] + ] + }, + "name" : "Nigeria", + "iso2" : "NG", + "iso3" : "NGA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "3L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 3.764166, + 51.345278 + ], + [ + 4.238897, + 51.350428 + ], + [ + 3.370867, + 51.373857 + ], + [ + 3.764166, + 51.345278 + ] + ] + ], + [ + [ + [ + 5.763887, + 52.415277 + ], + [ + 5.855558, + 52.492495 + ], + [ + 5.855558, + 52.544168 + ], + [ + 5.643614, + 52.601107 + ], + [ + 5.135557, + 52.380274 + ], + [ + 5.428614, + 52.264162 + ], + [ + 5.534166, + 52.283335 + ], + [ + 5.573057, + 52.368052 + ], + [ + 5.763887, + 52.415277 + ] + ] + ], + [ + [ + [ + 5.423334, + 52.636385 + ], + [ + 5.039495, + 52.633654 + ], + [ + 5.051794, + 52.394117 + ], + [ + 5.423334, + 52.636385 + ] + ] + ], + [ + [ + [ + 4.764723, + 52.990274 + ], + [ + 4.883333, + 53.184168 + ], + [ + 4.713888, + 53.056108 + ], + [ + 4.764723, + 52.990274 + ] + ] + ], + [ + [ + [ + 4.957224, + 53.23778 + ], + [ + 5.10639, + 53.303331 + ], + [ + 4.879999, + 53.214441 + ], + [ + 4.957224, + 53.23778 + ] + ] + ], + [ + [ + [ + 7.208364, + 53.242807 + ], + [ + 6.871668, + 53.416109 + ], + [ + 4.734167, + 52.955553 + ], + [ + 4.58, + 52.471666 + ], + [ + 5.028334, + 52.375834 + ], + [ + 5.033335, + 52.634165 + ], + [ + 5.304167, + 52.706942 + ], + [ + 5.100279, + 52.948053 + ], + [ + 5.364168, + 53.070276 + ], + [ + 5.420557, + 52.964441 + ], + [ + 5.368612, + 52.877779 + ], + [ + 5.718351, + 52.838022 + ], + [ + 5.599169, + 52.757776 + ], + [ + 5.599443, + 52.658609 + ], + [ + 5.855001, + 52.606913 + ], + [ + 5.878057, + 52.509439 + ], + [ + 5.774168, + 52.405275 + ], + [ + 5.624723, + 52.354166 + ], + [ + 5.533609, + 52.267221 + ], + [ + 5.424444, + 52.248606 + ], + [ + 4.584433, + 52.461504 + ], + [ + 3.865557, + 51.814997 + ], + [ + 4.167753, + 51.685572 + ], + [ + 3.687502, + 51.709719 + ], + [ + 4.286112, + 51.44861 + ], + [ + 3.440832, + 51.53583 + ], + [ + 4.252371, + 51.375147 + ], + [ + 5.041391, + 51.486666 + ], + [ + 5.849173, + 51.156382 + ], + [ + 5.640833, + 50.839724 + ], + [ + 6.011801, + 50.757273 + ], + [ + 5.864721, + 51.046106 + ], + [ + 6.222223, + 51.46583 + ], + [ + 5.9625, + 51.807779 + ], + [ + 6.82889, + 51.965555 + ], + [ + 7.065557, + 52.385828 + ], + [ + 6.68889, + 52.549166 + ], + [ + 7.051668, + 52.64361 + ], + [ + 7.208364, + 53.242807 + ] + ] + ], + [ + [ + [ + 5.213057, + 53.35 + ], + [ + 5.581945, + 53.447779 + ], + [ + 5.16889, + 53.373888 + ], + [ + 5.213057, + 53.35 + ] + ] + ], + [ + [ + [ + 5.699167, + 53.462778 + ], + [ + 5.633055, + 53.441668 + ], + [ + 5.956114, + 53.462778 + ], + [ + 5.699167, + 53.462778 + ] + ] + ], + [ + [ + [ + 6.135, + 53.453608 + ], + [ + 6.341112, + 53.502779 + ], + [ + 6.14889, + 53.497499 + ], + [ + 6.135, + 53.453608 + ] + ] + ] + ] + }, + "name" : "Netherlands", + "iso2" : "NL", + "iso3" : "NLD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "3b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 5.336946, + 61.592775 + ], + [ + 5.148611, + 61.59305 + ], + [ + 5.27389, + 61.557775 + ], + [ + 5.130835, + 61.526667 + ], + [ + 5.804998, + 61.452776 + ], + [ + 4.948889, + 61.412775 + ], + [ + 5.634169, + 61.360552 + ], + [ + 4.953333, + 61.258608 + ], + [ + 5.397223, + 61.068605 + ], + [ + 5.749166, + 61.152773 + ], + [ + 6.498335, + 61.130274 + ], + [ + 6.520407, + 61.246202 + ], + [ + 6.703611, + 61.401384 + ], + [ + 6.564165, + 61.218332 + ], + [ + 6.955557, + 61.109995 + ], + [ + 7.278055, + 61.158609 + ], + [ + 7.353891, + 61.189997 + ], + [ + 7.273054, + 61.278887 + ], + [ + 7.309168, + 61.362497 + ], + [ + 7.574446, + 61.479441 + ], + [ + 7.303888, + 61.294443 + ], + [ + 7.428614, + 61.181391 + ], + [ + 7.000834, + 61.096109 + ], + [ + 7.11389, + 60.860277 + ], + [ + 6.590555, + 61.151384 + ], + [ + 6.372225, + 61.061945 + ], + [ + 5.920835, + 61.123056 + ], + [ + 5.419443, + 61.025553 + ], + [ + 5.007776, + 61.037218 + ], + [ + 5.533609, + 60.872499 + ], + [ + 5.236387, + 60.77389 + ], + [ + 5.433611, + 60.627222 + ], + [ + 4.928888, + 60.798883 + ], + [ + 5.261389, + 60.553057 + ], + [ + 5.700834, + 60.694162 + ], + [ + 5.702501, + 60.454439 + ], + [ + 5.142221, + 60.346384 + ], + [ + 5.411112, + 60.129717 + ], + [ + 5.734446, + 60.386942 + ], + [ + 5.747225, + 59.986666 + ], + [ + 6.220835, + 60.4125 + ], + [ + 7.108057, + 60.494165 + ], + [ + 6.521112, + 60.076662 + ], + [ + 6.640554, + 60.410273 + ], + [ + 6.204721, + 60.295557 + ], + [ + 5.698336, + 59.832773 + ], + [ + 6.306391, + 59.843332 + ], + [ + 5.178057, + 59.508333 + ], + [ + 5.51111, + 59.274996 + ], + [ + 6.468889, + 59.555277 + ], + [ + 5.866388, + 59.072222 + ], + [ + 6.623335, + 59.051668 + ], + [ + 6.168612, + 58.832224 + ], + [ + 5.552778, + 59.032778 + ], + [ + 5.457777, + 58.74444 + ], + [ + 6.767221, + 58.238329 + ], + [ + 6.597776, + 58.070276 + ], + [ + 8.211111, + 58.115557 + ], + [ + 8.248056, + 58.201944 + ], + [ + 8.510279, + 58.270273 + ], + [ + 8.691946, + 58.377222 + ], + [ + 8.712645, + 58.441938 + ], + [ + 8.995832, + 58.59833 + ], + [ + 9.191111, + 58.658335 + ], + [ + 9.409445, + 58.841387 + ], + [ + 9.693056, + 58.983057 + ], + [ + 9.540834, + 59.114717 + ], + [ + 10.231112, + 59.038607 + ], + [ + 10.51639, + 59.310831 + ], + [ + 10.222223, + 59.727495 + ], + [ + 10.558054, + 59.543055 + ], + [ + 10.527498, + 59.875277 + ], + [ + 10.748335, + 59.886942 + ], + [ + 10.557779, + 59.728609 + ], + [ + 10.797499, + 59.186388 + ], + [ + 11.429193, + 58.987642 + ], + [ + 11.751112, + 59.090273 + ], + [ + 11.815962, + 59.846102 + ], + [ + 12.494165, + 60.111109 + ], + [ + 12.594446, + 60.516939 + ], + [ + 12.210001, + 61.002497 + ], + [ + 12.856112, + 61.362497 + ], + [ + 12.124445, + 61.728609 + ], + [ + 12.295832, + 62.261667 + ], + [ + 11.936388, + 63.272219 + ], + [ + 12.139444, + 63.584162 + ], + [ + 12.938055, + 64.053331 + ], + [ + 13.988333, + 64.018053 + ], + [ + 14.116388, + 64.470552 + ], + [ + 13.6625, + 64.582766 + ], + [ + 14.493055, + 65.313601 + ], + [ + 14.504999, + 66.132494 + ], + [ + 15.468054, + 66.283876 + ], + [ + 15.36278, + 66.479998 + ], + [ + 16.353888, + 67.017778 + ], + [ + 16.085833, + 67.411654 + ], + [ + 16.726946, + 67.899157 + ], + [ + 17.884165, + 67.945543 + ], + [ + 18.090834, + 68.507769 + ], + [ + 19.937777, + 68.337496 + ], + [ + 20.350279, + 68.786654 + ], + [ + 20.096945, + 69.042223 + ], + [ + 20.580931, + 69.060305 + ], + [ + 21.320833, + 69.326113 + ], + [ + 22.398333, + 68.711107 + ], + [ + 23.976389, + 68.832491 + ], + [ + 24.934919, + 68.580812 + ], + [ + 25.76111, + 68.989168 + ], + [ + 25.945833, + 69.673326 + ], + [ + 26.449999, + 69.927217 + ], + [ + 28.165834, + 69.912218 + ], + [ + 29.176111, + 69.635271 + ], + [ + 28.784166, + 69.160555 + ], + [ + 28.957342, + 69.051622 + ], + [ + 30.103334, + 69.663057 + ], + [ + 30.910002, + 69.548876 + ], + [ + 30.854841, + 69.792315 + ], + [ + 29.486666, + 69.65555 + ], + [ + 29.737501, + 69.905275 + ], + [ + 29.365557, + 69.855272 + ], + [ + 29.671667, + 69.967501 + ], + [ + 28.612501, + 70.107775 + ], + [ + 31.078054, + 70.289156 + ], + [ + 29.036112, + 70.874163 + ], + [ + 28.527498, + 70.726656 + ], + [ + 28.038889, + 70.061937 + ], + [ + 28.335554, + 70.505556 + ], + [ + 27.851667, + 70.478884 + ], + [ + 28.295, + 70.71277 + ], + [ + 27.647501, + 70.605272 + ], + [ + 28.550833, + 70.968325 + ], + [ + 27.651667, + 71.113054 + ], + [ + 27.13611, + 70.95833 + ], + [ + 27.565554, + 70.80472 + ], + [ + 27.029444, + 70.474154 + ], + [ + 26.504999, + 70.363054 + ], + [ + 26.570276, + 70.93889 + ], + [ + 25.234724, + 70.089724 + ], + [ + 24.942499, + 70.08777 + ], + [ + 25.273054, + 70.398882 + ], + [ + 25.07361, + 70.500002 + ], + [ + 25.907778, + 70.88666 + ], + [ + 24.591944, + 70.963045 + ], + [ + 24.245554, + 70.777224 + ], + [ + 24.729166, + 70.621935 + ], + [ + 23.660002, + 70.42 + ], + [ + 23.311945, + 69.940828 + ], + [ + 22.287779, + 70.038881 + ], + [ + 22.950556, + 70.205553 + ], + [ + 21.300001, + 70.246935 + ], + [ + 22.096666, + 70.113329 + ], + [ + 21.797224, + 70.033602 + ], + [ + 22.101667, + 69.740831 + ], + [ + 21.307222, + 70.019716 + ], + [ + 20.48139, + 69.638887 + ], + [ + 20.853056, + 69.489168 + ], + [ + 19.946943, + 69.256105 + ], + [ + 20.304167, + 69.968325 + ], + [ + 19.679167, + 69.429445 + ], + [ + 19.75889, + 69.810274 + ], + [ + 18.944166, + 69.613054 + ], + [ + 19.440554, + 69.225832 + ], + [ + 18.256945, + 69.486376 + ], + [ + 18.152224, + 69.152224 + ], + [ + 17.425833, + 68.905001 + ], + [ + 17.792501, + 68.756945 + ], + [ + 17.236113, + 68.754717 + ], + [ + 17.680277, + 68.654436 + ], + [ + 16.459444, + 68.508043 + ], + [ + 17.552778, + 68.523882 + ], + [ + 17.200834, + 68.366945 + ], + [ + 17.354723, + 68.173876 + ], + [ + 16.317221, + 68.366945 + ], + [ + 16.805834, + 68.13138 + ], + [ + 16.103334, + 68.276934 + ], + [ + 16.715277, + 68.066668 + ], + [ + 16.207499, + 68.001665 + ], + [ + 16.495832, + 67.794161 + ], + [ + 16.217222, + 67.888048 + ], + [ + 15.972223, + 68.245546 + ], + [ + 15.283056, + 68.035555 + ], + [ + 15.961111, + 68.013048 + ], + [ + 15.871111, + 67.923326 + ], + [ + 14.758055, + 67.805269 + ], + [ + 15.899168, + 67.558886 + ], + [ + 15.541113, + 67.476946 + ], + [ + 15.640001, + 67.26639 + ], + [ + 15.035833, + 67.570543 + ], + [ + 14.361666, + 67.233889 + ], + [ + 15.739721, + 67.172487 + ], + [ + 13.546946, + 66.926668 + ], + [ + 13.990835, + 66.783602 + ], + [ + 13.228056, + 66.712496 + ], + [ + 13.725557, + 66.601946 + ], + [ + 12.969999, + 66.518328 + ], + [ + 13.53639, + 66.303606 + ], + [ + 13.027224, + 66.186098 + ], + [ + 14.146666, + 66.321657 + ], + [ + 12.673887, + 66.066942 + ], + [ + 12.959444, + 66.042223 + ], + [ + 12.931944, + 65.974993 + ], + [ + 13.121946, + 65.940279 + ], + [ + 13.175001, + 65.849154 + ], + [ + 12.667501, + 65.916933 + ], + [ + 12.78861, + 65.636385 + ], + [ + 12.360834, + 65.647768 + ], + [ + 12.638056, + 65.418886 + ], + [ + 12.248888, + 65.228609 + ], + [ + 12.939722, + 65.308321 + ], + [ + 12.624723, + 65.133608 + ], + [ + 12.14889, + 65.039156 + ], + [ + 12.047499, + 65.055834 + ], + [ + 12.019445, + 65.02611 + ], + [ + 11.975, + 65.065828 + ], + [ + 11.297224, + 64.883608 + ], + [ + 12.224443, + 64.937212 + ], + [ + 11.438334, + 64.711107 + ], + [ + 11.728056, + 64.579714 + ], + [ + 11.221666, + 64.316103 + ], + [ + 10.972223, + 64.601381 + ], + [ + 10.495291, + 64.423815 + ], + [ + 9.982222, + 63.990557 + ], + [ + 10.189722, + 63.930552 + ], + [ + 9.54389, + 63.763613 + ], + [ + 10.098333, + 63.761942 + ], + [ + 9.789167, + 63.6625 + ], + [ + 10.047777, + 63.496111 + ], + [ + 10.941946, + 63.738054 + ], + [ + 11.077223, + 63.837496 + ], + [ + 10.904165, + 63.894167 + ], + [ + 10.574167, + 63.804995 + ], + [ + 11.180277, + 64.008043 + ], + [ + 11.305834, + 64.116381 + ], + [ + 11.358332, + 64.110552 + ], + [ + 11.318888, + 64.032213 + ], + [ + 11.492777, + 64.019442 + ], + [ + 11.090555, + 63.878328 + ], + [ + 11.455832, + 63.787218 + ], + [ + 10.658888, + 63.549997 + ], + [ + 10.910276, + 63.451113 + ], + [ + 10.047224, + 63.406107 + ], + [ + 10.256666, + 63.26111 + ], + [ + 9.647501, + 63.623888 + ], + [ + 9.149721, + 63.484163 + ], + [ + 9.427778, + 63.37694 + ], + [ + 9.004999, + 63.467501 + ], + [ + 8.652777, + 63.409166 + ], + [ + 8.763613, + 63.345278 + ], + [ + 8.477777, + 63.293612 + ], + [ + 8.938334, + 63.206667 + ], + [ + 8.159166, + 63.120279 + ], + [ + 8.530832, + 62.841387 + ], + [ + 7.879168, + 63.010553 + ], + [ + 8.548334, + 62.653887 + ], + [ + 7.03639, + 62.967501 + ], + [ + 6.958887, + 62.722498 + ], + [ + 8.145277, + 62.689997 + ], + [ + 6.246946, + 62.574717 + ], + [ + 6.649836, + 62.498384 + ], + [ + 6.257223, + 62.448885 + ], + [ + 6.781389, + 62.478334 + ], + [ + 7.415556, + 62.2325 + ], + [ + 7.043058, + 62.08639 + ], + [ + 6.876112, + 62.414995 + ], + [ + 6.388334, + 62.369722 + ], + [ + 6.538057, + 62.104723 + ], + [ + 6.306665, + 62.371668 + ], + [ + 5.918058, + 62.21583 + ], + [ + 6.357222, + 62.055277 + ], + [ + 5.150278, + 62.211939 + ], + [ + 5.403612, + 62.016108 + ], + [ + 5.148054, + 61.892221 + ], + [ + 6.763613, + 61.868052 + ], + [ + 4.938055, + 61.676386 + ], + [ + 5.336946, + 61.592775 + ] + ], + [ + [ + 5.336946, + 61.592775 + ], + [ + 5.345335, + 61.586332 + ], + [ + 5.276834, + 61.587999 + ], + [ + 5.336946, + 61.592775 + ] + ], + [ + [ + 5.778334, + 58.947496 + ], + [ + 5.760836, + 58.945833 + ], + [ + 5.754999, + 58.956385 + ], + [ + 5.778334, + 58.947496 + ] + ] + ], + [ + [ + [ + 30.155554, + 69.781664 + ], + [ + 30.126112, + 69.797487 + ], + [ + 30.110556, + 69.787218 + ], + [ + 30.155554, + 69.781664 + ] + ] + ], + [ + [ + [ + 29.826666, + 69.756945 + ], + [ + 30.048056, + 69.827501 + ], + [ + 29.841944, + 69.910265 + ], + [ + 29.826666, + 69.756945 + ] + ] + ], + [ + [ + [ + 25.828054, + 71.098604 + ], + [ + 25.286112, + 71.02083 + ], + [ + 26.219721, + 71.033602 + ], + [ + 25.828054, + 71.098604 + ] + ] + ], + [ + [ + [ + 24.799444, + 71.023882 + ], + [ + 24.853613, + 71.089983 + ], + [ + 24.639444, + 71.060823 + ], + [ + 24.799444, + 71.023882 + ] + ] + ], + [ + [ + [ + 24.061945, + 70.908876 + ], + [ + 24.243891, + 70.951937 + ], + [ + 23.880835, + 70.993608 + ], + [ + 24.061945, + 70.908876 + ] + ] + ], + [ + [ + [ + 23.871111, + 70.512209 + ], + [ + 24.125834, + 70.615267 + ], + [ + 23.634165, + 70.696383 + ], + [ + 23.871111, + 70.512209 + ] + ] + ], + [ + [ + [ + 23.595835, + 70.578051 + ], + [ + 22.85111, + 70.405825 + ], + [ + 23.230555, + 70.278322 + ], + [ + 23.595835, + 70.578051 + ] + ] + ], + [ + [ + [ + 23.451666, + 70.783602 + ], + [ + 21.94972, + 70.646105 + ], + [ + 22.784166, + 70.519716 + ], + [ + 23.451666, + 70.783602 + ] + ] + ], + [ + [ + [ + 22.834723, + 70.332216 + ], + [ + 22.368612, + 70.334444 + ], + [ + 23.022779, + 70.259432 + ], + [ + 22.834723, + 70.332216 + ] + ] + ], + [ + [ + [ + 21.772779, + 70.266665 + ], + [ + 21.841391, + 70.350267 + ], + [ + 21.697779, + 70.381945 + ], + [ + 21.772779, + 70.266665 + ] + ] + ], + [ + [ + [ + 21.730276, + 69.931108 + ], + [ + 21.717222, + 69.949709 + ], + [ + 21.668612, + 69.941942 + ], + [ + 21.730276, + 69.931108 + ] + ] + ], + [ + [ + [ + 20.892569, + 70.030817 + ], + [ + 20.757776, + 69.989992 + ], + [ + 21.102499, + 70.004717 + ], + [ + 20.892569, + 70.030817 + ] + ] + ], + [ + [ + [ + 21.000834, + 70.019716 + ], + [ + 21.049166, + 70.049715 + ], + [ + 20.951944, + 70.025835 + ], + [ + 21.000834, + 70.019716 + ] + ] + ], + [ + [ + [ + 20.919722, + 70.079439 + ], + [ + 20.861387, + 70.149157 + ], + [ + 20.814722, + 70.116106 + ], + [ + 20.919722, + 70.079439 + ] + ] + ], + [ + [ + [ + 20.831945, + 70.19388 + ], + [ + 20.385279, + 70.098879 + ], + [ + 20.783888, + 70.056383 + ], + [ + 20.831945, + 70.19388 + ] + ] + ], + [ + [ + [ + 20.680277, + 69.808611 + ], + [ + 20.739168, + 69.905275 + ], + [ + 20.556391, + 69.851107 + ], + [ + 20.680277, + 69.808611 + ] + ] + ], + [ + [ + [ + 20.11278, + 70.104723 + ], + [ + 19.536112, + 70.248323 + ], + [ + 19.769999, + 70.065279 + ], + [ + 20.11278, + 70.104723 + ] + ] + ], + [ + [ + [ + 19.959166, + 70.005556 + ], + [ + 19.996111, + 70.012774 + ], + [ + 19.899168, + 70.0161 + ], + [ + 19.959166, + 70.005556 + ] + ] + ], + [ + [ + [ + 19.567221, + 69.851656 + ], + [ + 19.897779, + 69.972216 + ], + [ + 19.459444, + 69.842501 + ], + [ + 19.567221, + 69.851656 + ] + ] + ], + [ + [ + [ + 19.300554, + 70.02611 + ], + [ + 18.721109, + 69.93416 + ], + [ + 19.691946, + 69.994722 + ], + [ + 19.300554, + 70.02611 + ] + ] + ], + [ + [ + [ + 19.6075, + 70.101946 + ], + [ + 19.431391, + 70.177767 + ], + [ + 19.349722, + 70.13138 + ], + [ + 19.6075, + 70.101946 + ] + ] + ], + [ + [ + [ + 19.185278, + 70.122499 + ], + [ + 19.23361, + 70.254442 + ], + [ + 19.033609, + 70.161104 + ], + [ + 19.185278, + 70.122499 + ] + ] + ], + [ + [ + [ + 18.785002, + 70.111376 + ], + [ + 18.684446, + 69.99666 + ], + [ + 19.002779, + 70.084154 + ], + [ + 18.785002, + 70.111376 + ] + ] + ], + [ + [ + [ + 18.890001, + 69.691942 + ], + [ + 18.693056, + 69.884432 + ], + [ + 18.75139, + 69.682772 + ], + [ + 17.996946, + 69.588335 + ], + [ + 18.890001, + 69.691942 + ] + ] + ], + [ + [ + [ + 17.63661, + 69.516047 + ], + [ + 16.930834, + 69.392488 + ], + [ + 17.173887, + 69.195833 + ], + [ + 16.775278, + 69.06444 + ], + [ + 18.003611, + 69.190279 + ], + [ + 18.074167, + 69.430834 + ], + [ + 17.63661, + 69.516047 + ] + ] + ], + [ + [ + [ + 17.416945, + 68.995821 + ], + [ + 17.561388, + 69.094988 + ], + [ + 17.352777, + 69.024157 + ], + [ + 17.416945, + 68.995821 + ] + ] + ], + [ + [ + [ + 17.241667, + 68.788607 + ], + [ + 17.437777, + 68.865267 + ], + [ + 17.083612, + 68.910265 + ], + [ + 17.241667, + 68.788607 + ] + ] + ], + [ + [ + [ + 17.116388, + 68.752489 + ], + [ + 17.000555, + 68.854433 + ], + [ + 16.813055, + 68.728334 + ], + [ + 17.116388, + 68.752489 + ] + ] + ], + [ + [ + [ + 16.537222, + 68.879717 + ], + [ + 16.601667, + 68.945543 + ], + [ + 16.26111, + 68.966661 + ], + [ + 16.537222, + 68.879717 + ] + ] + ], + [ + [ + [ + 15.988054, + 68.75194 + ], + [ + 15.63611, + 68.946657 + ], + [ + 15.451666, + 68.762209 + ], + [ + 15.71361, + 68.69861 + ], + [ + 14.986666, + 68.247499 + ], + [ + 16.565001, + 68.651934 + ], + [ + 16.178888, + 68.851656 + ], + [ + 15.739443, + 68.52611 + ], + [ + 15.988054, + 68.75194 + ] + ] + ], + [ + [ + [ + 16.405554, + 68.411104 + ], + [ + 16.326944, + 68.533602 + ], + [ + 16.094446, + 68.396654 + ], + [ + 16.405554, + 68.411104 + ] + ] + ], + [ + [ + [ + 15.522501, + 68.906099 + ], + [ + 16.148054, + 69.286379 + ], + [ + 15.560278, + 69.094713 + ], + [ + 15.522501, + 68.906099 + ] + ] + ], + [ + [ + [ + 15.903334, + 67.978884 + ], + [ + 15.85111, + 68.013613 + ], + [ + 15.498888, + 67.98778 + ], + [ + 15.903334, + 67.978884 + ] + ] + ], + [ + [ + [ + 15.382776, + 68.845278 + ], + [ + 15.087778, + 69.008043 + ], + [ + 15.148611, + 68.812212 + ], + [ + 14.371111, + 68.683611 + ], + [ + 15.059168, + 68.572496 + ], + [ + 15.382776, + 68.845278 + ] + ] + ], + [ + [ + [ + 15.202223, + 67.90027 + ], + [ + 15.30361, + 67.920275 + ], + [ + 14.931665, + 67.923876 + ], + [ + 15.202223, + 67.90027 + ] + ] + ], + [ + [ + [ + 15.026388, + 68.354998 + ], + [ + 15.16889, + 68.450548 + ], + [ + 14.19972, + 68.152224 + ], + [ + 15.026388, + 68.354998 + ] + ] + ], + [ + [ + [ + 14.954443, + 68.872774 + ], + [ + 14.885279, + 68.933321 + ], + [ + 14.839167, + 68.881945 + ], + [ + 14.954443, + 68.872774 + ] + ] + ], + [ + [ + [ + 14.870554, + 68.211657 + ], + [ + 14.940554, + 68.268053 + ], + [ + 14.826113, + 68.254442 + ], + [ + 14.870554, + 68.211657 + ] + ] + ], + [ + [ + [ + 14.253054, + 67.358599 + ], + [ + 14.374998, + 67.422213 + ], + [ + 14.216665, + 67.358324 + ], + [ + 14.253054, + 67.358599 + ] + ] + ], + [ + [ + [ + 14.257776, + 67.133043 + ], + [ + 13.99111, + 67.0786 + ], + [ + 14.191946, + 66.999437 + ], + [ + 14.257776, + 67.133043 + ] + ] + ], + [ + [ + [ + 14.203611, + 68.239168 + ], + [ + 14.214167, + 68.301104 + ], + [ + 14.049444, + 68.303331 + ], + [ + 14.203611, + 68.239168 + ] + ] + ], + [ + [ + [ + 13.968332, + 68.238329 + ], + [ + 13.44972, + 68.067492 + ], + [ + 14.135832, + 68.239443 + ], + [ + 13.968332, + 68.238329 + ] + ] + ], + [ + [ + [ + 13.973333, + 68.253328 + ], + [ + 13.990557, + 68.309999 + ], + [ + 13.883333, + 68.302217 + ], + [ + 13.973333, + 68.253328 + ] + ] + ], + [ + [ + [ + 13.438055, + 68.11278 + ], + [ + 13.299166, + 68.149721 + ], + [ + 13.163057, + 68.011385 + ], + [ + 13.438055, + 68.11278 + ] + ] + ], + [ + [ + [ + 12.986666, + 66.228334 + ], + [ + 13.158335, + 66.277498 + ], + [ + 12.930834, + 66.226381 + ], + [ + 12.986666, + 66.228334 + ] + ] + ], + [ + [ + [ + 12.841944, + 67.808611 + ], + [ + 13.134443, + 67.952501 + ], + [ + 13.155832, + 68.081102 + ], + [ + 12.841944, + 67.808611 + ] + ] + ], + [ + [ + [ + 12.542501, + 65.896944 + ], + [ + 12.903612, + 66.008608 + ], + [ + 12.573889, + 66.010546 + ], + [ + 12.414999, + 65.893602 + ], + [ + 12.542501, + 65.896944 + ] + ] + ], + [ + [ + [ + 12.796667, + 66.214434 + ], + [ + 12.870832, + 66.277498 + ], + [ + 12.715834, + 66.247499 + ], + [ + 12.796667, + 66.214434 + ] + ] + ], + [ + [ + [ + 12.352499, + 66.022493 + ], + [ + 12.657221, + 66.104723 + ], + [ + 12.563334, + 66.217775 + ], + [ + 12.352499, + 66.022493 + ] + ] + ], + [ + [ + [ + 12.075277, + 65.211382 + ], + [ + 12.502779, + 65.391939 + ], + [ + 12.258055, + 65.576113 + ], + [ + 12.075277, + 65.211382 + ] + ] + ], + [ + [ + [ + 12.156389, + 65.051378 + ], + [ + 12.285002, + 65.084444 + ], + [ + 12.315279, + 65.109987 + ], + [ + 12.183611, + 65.20833 + ], + [ + 11.981668, + 65.076387 + ], + [ + 12.156389, + 65.051378 + ] + ] + ], + [ + [ + [ + 11.974165, + 65.62694 + ], + [ + 11.894445, + 65.704439 + ], + [ + 11.758612, + 65.616945 + ], + [ + 11.974165, + 65.62694 + ] + ] + ], + [ + [ + [ + 11.636667, + 65.065279 + ], + [ + 11.772779, + 65.113604 + ], + [ + 11.531389, + 65.060823 + ], + [ + 11.636667, + 65.065279 + ] + ] + ], + [ + [ + [ + 11.453611, + 64.514162 + ], + [ + 11.03861, + 64.628878 + ], + [ + 11.175554, + 64.506945 + ], + [ + 11.453611, + 64.514162 + ] + ] + ], + [ + [ + [ + 11.351389, + 64.649996 + ], + [ + 11.176111, + 64.644442 + ], + [ + 11.310835, + 64.596666 + ], + [ + 11.351389, + 64.649996 + ] + ] + ], + [ + [ + [ + 11.261667, + 64.884722 + ], + [ + 11.106112, + 64.950274 + ], + [ + 10.824999, + 64.844988 + ], + [ + 11.261667, + 64.884722 + ] + ] + ], + [ + [ + [ + 11.110834, + 64.965822 + ], + [ + 10.777777, + 64.918886 + ], + [ + 10.73139, + 64.860277 + ], + [ + 11.110834, + 64.965822 + ] + ] + ], + [ + [ + [ + 8.494165, + 63.428331 + ], + [ + 9.17639, + 63.564722 + ], + [ + 8.280001, + 63.464724 + ], + [ + 8.494165, + 63.428331 + ] + ] + ], + [ + [ + [ + 8.808332, + 63.810274 + ], + [ + 8.269999, + 63.678888 + ], + [ + 8.794443, + 63.697496 + ], + [ + 8.808332, + 63.810274 + ] + ] + ], + [ + [ + [ + 8.743612, + 58.409723 + ], + [ + 8.761389, + 58.421389 + ], + [ + 8.761389, + 58.436663 + ], + [ + 8.737501, + 58.434999 + ], + [ + 8.726946, + 58.412775 + ], + [ + 8.743612, + 58.409723 + ] + ] + ], + [ + [ + [ + 8.511946, + 63.319162 + ], + [ + 8.675833, + 63.346666 + ], + [ + 8.431112, + 63.331942 + ], + [ + 8.511946, + 63.319162 + ] + ] + ], + [ + [ + [ + 8.391111, + 63.159166 + ], + [ + 8.576113, + 63.18944 + ], + [ + 8.437498, + 63.283884 + ], + [ + 8.269724, + 63.266108 + ], + [ + 8.391111, + 63.159166 + ] + ] + ], + [ + [ + [ + 8.060278, + 63.141665 + ], + [ + 8.186388, + 63.153055 + ], + [ + 7.92639, + 63.171946 + ], + [ + 8.060278, + 63.141665 + ] + ] + ], + [ + [ + [ + 8.162222, + 63.361383 + ], + [ + 8.091665, + 63.466661 + ], + [ + 7.778334, + 63.405832 + ], + [ + 8.162222, + 63.361383 + ] + ] + ], + [ + [ + [ + 7.809725, + 63.023333 + ], + [ + 7.915277, + 63.079165 + ], + [ + 7.679445, + 63.056108 + ], + [ + 7.809725, + 63.023333 + ] + ] + ], + [ + [ + [ + 7.548334, + 62.948328 + ], + [ + 7.711946, + 63.002497 + ], + [ + 7.365557, + 62.996386 + ], + [ + 7.548334, + 62.948328 + ] + ] + ], + [ + [ + [ + 6.886389, + 62.776941 + ], + [ + 6.940557, + 62.844446 + ], + [ + 6.775835, + 62.845552 + ], + [ + 6.886389, + 62.776941 + ] + ] + ], + [ + [ + [ + 6.736666, + 62.667223 + ], + [ + 6.919443, + 62.709162 + ], + [ + 6.649721, + 62.681391 + ], + [ + 6.736666, + 62.667223 + ] + ] + ], + [ + [ + [ + 6.253889, + 62.391665 + ], + [ + 6.333612, + 62.413332 + ], + [ + 6.023054, + 62.435556 + ], + [ + 6.253889, + 62.391665 + ] + ] + ], + [ + [ + [ + 5.95278, + 59.228334 + ], + [ + 6.059168, + 59.260828 + ], + [ + 5.909723, + 59.274164 + ], + [ + 5.95278, + 59.228334 + ] + ] + ], + [ + [ + [ + 5.954721, + 60.089441 + ], + [ + 6.016947, + 60.146662 + ], + [ + 5.924166, + 60.145273 + ], + [ + 5.954721, + 60.089441 + ] + ] + ], + [ + [ + [ + 5.840555, + 62.24 + ], + [ + 5.977503, + 62.411112 + ], + [ + 5.804998, + 62.366945 + ], + [ + 5.840555, + 62.24 + ] + ] + ], + [ + [ + [ + 5.961946, + 58.972223 + ], + [ + 5.958887, + 58.983889 + ], + [ + 5.945002, + 58.977495 + ], + [ + 5.961946, + 58.972223 + ] + ] + ], + [ + [ + [ + 5.647779, + 62.187494 + ], + [ + 5.808058, + 62.27305 + ], + [ + 5.506109, + 62.224443 + ], + [ + 5.647779, + 62.187494 + ] + ] + ], + [ + [ + [ + 5.726389, + 59.078051 + ], + [ + 5.68889, + 59.129168 + ], + [ + 5.548334, + 59.130556 + ], + [ + 5.726389, + 59.078051 + ] + ] + ], + [ + [ + [ + 5.550001, + 60.431391 + ], + [ + 5.675833, + 60.683054 + ], + [ + 5.360003, + 60.52389 + ], + [ + 5.550001, + 60.431391 + ] + ] + ], + [ + [ + [ + 5.525, + 59.893328 + ], + [ + 5.658056, + 60.075274 + ], + [ + 5.360834, + 59.99222 + ], + [ + 5.525, + 59.893328 + ] + ] + ], + [ + [ + [ + 5.413057, + 59.751665 + ], + [ + 5.468332, + 59.886385 + ], + [ + 5.276388, + 59.966944 + ], + [ + 5.413057, + 59.751665 + ] + ] + ], + [ + [ + [ + 5.287779, + 59.218889 + ], + [ + 5.183611, + 59.411943 + ], + [ + 5.155279, + 59.146944 + ], + [ + 5.287779, + 59.218889 + ] + ] + ], + [ + [ + [ + 5.268057, + 60.004999 + ], + [ + 5.172777, + 60.121668 + ], + [ + 5.168058, + 60.031389 + ], + [ + 5.268057, + 60.004999 + ] + ] + ], + [ + [ + [ + 5.263334, + 59.798609 + ], + [ + 5.1075, + 59.864443 + ], + [ + 5.14889, + 59.58111 + ], + [ + 5.263334, + 59.798609 + ] + ] + ], + [ + [ + [ + 5.216944, + 60.241945 + ], + [ + 5.233335, + 60.254717 + ], + [ + 5.19972, + 60.251108 + ], + [ + 5.216944, + 60.241945 + ] + ] + ], + [ + [ + [ + 4.934168, + 61.774164 + ], + [ + 5.221945, + 61.845552 + ], + [ + 4.804167, + 61.840555 + ], + [ + 4.934168, + 61.774164 + ] + ] + ], + [ + [ + [ + 5.195276, + 60.408884 + ], + [ + 5.179445, + 60.482775 + ], + [ + 5.000834, + 60.531107 + ], + [ + 5.195276, + 60.408884 + ] + ] + ], + [ + [ + [ + 5.185278, + 60.506105 + ], + [ + 5.121668, + 60.578051 + ], + [ + 4.926947, + 60.605272 + ], + [ + 5.185278, + 60.506105 + ] + ] + ], + [ + [ + [ + 5.158335, + 60.581667 + ], + [ + 4.980001, + 60.714724 + ], + [ + 4.854445, + 60.7325 + ], + [ + 5.158335, + 60.581667 + ] + ] + ], + [ + [ + [ + 5.068056, + 61.923052 + ], + [ + 5.127222, + 61.992495 + ], + [ + 5.009722, + 62.013613 + ], + [ + 5.068056, + 61.923052 + ] + ] + ], + [ + [ + [ + 5.111944, + 60.185831 + ], + [ + 4.942499, + 60.4275 + ], + [ + 4.946943, + 60.249163 + ], + [ + 5.111944, + 60.185831 + ] + ] + ], + [ + [ + [ + 4.986387, + 61.104441 + ], + [ + 4.788057, + 61.146387 + ], + [ + 4.804724, + 61.044443 + ], + [ + 4.986387, + 61.104441 + ] + ] + ], + [ + [ + [ + 4.69639, + 60.987223 + ], + [ + 4.628057, + 61.06444 + ], + [ + 4.630835, + 61.006662 + ], + [ + 4.69639, + 60.987223 + ] + ] + ] + ] + }, + "name" : "Norway", + "iso2" : "NO", + "iso3" : "NOR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "3r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 82.066399, + 27.914154 + ], + [ + 83.291367, + 27.337776 + ], + [ + 84.147217, + 27.511387 + ], + [ + 85.855545, + 26.570274 + ], + [ + 88.014709, + 26.364719 + ], + [ + 88.142792, + 27.866055 + ], + [ + 87.192749, + 27.823051 + ], + [ + 86.686371, + 28.112217 + ], + [ + 86.444977, + 27.908051 + ], + [ + 86.183594, + 28.163883 + ], + [ + 86.014435, + 27.882774 + ], + [ + 85.721375, + 28.279163 + ], + [ + 85.106644, + 28.309441 + ], + [ + 85.189972, + 28.603329 + ], + [ + 84.481094, + 28.73666 + ], + [ + 84.119141, + 29.259998 + ], + [ + 83.552765, + 29.185829 + ], + [ + 82.10054, + 30.34222 + ], + [ + 81.421097, + 30.385273 + ], + [ + 81.223602, + 30.010277 + ], + [ + 81.02536, + 30.204353 + ], + [ + 80.376923, + 29.748604 + ], + [ + 80.055817, + 28.836109 + ], + [ + 82.066399, + 27.914154 + ] + ] + ] + }, + "name" : "Nepal", + "iso2" : "NP", + "iso3" : "NPL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "371E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 166.929138, + -0.552222 + ], + [ + 166.958588, + -0.506389 + ], + [ + 166.930542, + -0.493333 + ], + [ + 166.929138, + -0.552222 + ] + ] + ] + }, + "name" : "Nauru", + "iso2" : "NR", + "iso3" : "NRU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "4L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -54.166946, + 5.346944 + ], + [ + -54.030006, + 5.821111 + ], + [ + -55.127968, + 5.822173 + ], + [ + -55.836395, + 5.956666 + ], + [ + -55.899559, + 5.671908 + ], + [ + -56.972504, + 5.996944 + ], + [ + -57.248505, + 5.486111 + ], + [ + -57.327225, + 5.026111 + ], + [ + -57.92334, + 4.821944 + ], + [ + -58.047226, + 4.008333 + ], + [ + -57.642227, + 3.356389 + ], + [ + -57.301392, + 3.3775 + ], + [ + -56.470634, + 1.944499 + ], + [ + -55.904167, + 1.893055 + ], + [ + -55.965836, + 2.532777 + ], + [ + -54.603783, + 2.329195 + ], + [ + -54.001114, + 3.448333 + ], + [ + -54.477501, + 4.747777 + ], + [ + -54.166946, + 5.346944 + ] + ] + ] + }, + "name" : "Suriname", + "iso2" : "SR", + "iso3" : "SUR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "4b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -83.712509, + 11.868332 + ], + [ + -83.714447, + 11.988054 + ], + [ + -83.731949, + 11.903332 + ], + [ + -83.712509, + 11.868332 + ] + ] + ], + [ + [ + [ + -83.048889, + 12.145555 + ], + [ + -83.021393, + 12.184166 + ], + [ + -83.05751, + 12.183611 + ], + [ + -83.048889, + 12.145555 + ] + ] + ], + [ + [ + [ + -82.964737, + 12.286943 + ], + [ + -82.97139, + 12.312498 + ], + [ + -82.983337, + 12.313055 + ], + [ + -82.964737, + 12.286943 + ] + ] + ], + [ + [ + [ + -82.750839, + 14.353888 + ], + [ + -82.733612, + 14.418888 + ], + [ + -82.789734, + 14.374998 + ], + [ + -82.750839, + 14.353888 + ] + ] + ], + [ + [ + [ + -83.131851, + 14.992979 + ], + [ + -83.239731, + 14.982498 + ], + [ + -84.482788, + 14.617777 + ], + [ + -84.906677, + 14.808611 + ], + [ + -85.732315, + 13.829235 + ], + [ + -86.015839, + 14.065832 + ], + [ + -86.763016, + 13.751621 + ], + [ + -86.695007, + 13.296944 + ], + [ + -87.301392, + 12.986599 + ], + [ + -87.692505, + 12.912222 + ], + [ + -85.692383, + 11.076061 + ], + [ + -85.087784, + 11.009998 + ], + [ + -83.915558, + 10.708611 + ], + [ + -83.645798, + 10.924847 + ], + [ + -83.83168, + 11.874722 + ], + [ + -83.604446, + 12.819443 + ], + [ + -83.482788, + 12.403889 + ], + [ + -83.551117, + 13.450554 + ], + [ + -83.186951, + 14.323889 + ], + [ + -83.421402, + 14.80611 + ], + [ + -83.131851, + 14.992979 + ] + ] + ] + ] + }, + "name" : "Nicaragua", + "iso2" : "NI", + "iso3" : "NIC" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "4r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 169.185516, + -52.57695 + ], + [ + 169.205231, + -52.441383 + ], + [ + 169.000824, + -52.507225 + ], + [ + 169.185516, + -52.57695 + ] + ] + ], + [ + [ + [ + 166.096619, + -50.923058 + ], + [ + 166.22052, + -50.887505 + ], + [ + 165.923584, + -50.856392 + ], + [ + 166.096619, + -50.923058 + ] + ] + ], + [ + [ + [ + 165.995544, + -50.603638 + ], + [ + 166.003601, + -50.595001 + ], + [ + 165.969421, + -50.605003 + ], + [ + 165.995544, + -50.603638 + ] + ] + ], + [ + [ + [ + 166.250824, + -50.82695 + ], + [ + 166.199402, + -50.527222 + ], + [ + 165.886932, + -50.804443 + ], + [ + 166.250824, + -50.82695 + ] + ] + ], + [ + [ + [ + 166.321899, + -50.50695 + ], + [ + 166.331909, + -50.49472 + ], + [ + 166.284973, + -50.50528 + ], + [ + 166.321899, + -50.50695 + ] + ] + ], + [ + [ + [ + 178.816376, + -49.723885 + ], + [ + 178.814972, + -49.613617 + ], + [ + 178.71524, + -49.685272 + ], + [ + 178.816376, + -49.723885 + ] + ] + ], + [ + [ + [ + 166.632172, + -48.04084 + ], + [ + 166.622192, + -47.995552 + ], + [ + 166.563873, + -48.039444 + ], + [ + 166.632172, + -48.04084 + ] + ] + ], + [ + [ + [ + 179.076904, + -47.680595 + ], + [ + 179.069702, + -47.661667 + ], + [ + 179.049133, + -47.67556 + ], + [ + 179.076904, + -47.680595 + ] + ] + ], + [ + [ + [ + 167.434967, + -47.248611 + ], + [ + 167.486908, + -47.214165 + ], + [ + 167.426636, + -47.222496 + ], + [ + 167.434967, + -47.248611 + ] + ] + ], + [ + [ + [ + 167.685791, + -46.796669 + ], + [ + 167.718842, + -46.771385 + ], + [ + 167.663605, + -46.760002 + ], + [ + 167.685791, + -46.796669 + ] + ] + ], + [ + [ + [ + 168.191925, + -46.905273 + ], + [ + 167.775818, + -46.700279 + ], + [ + 167.519135, + -47.27417 + ], + [ + 168.191925, + -46.905273 + ] + ] + ], + [ + [ + [ + 166.71637, + -45.741669 + ], + [ + 166.710785, + -45.61528 + ], + [ + 166.504974, + -45.719162 + ], + [ + 166.71637, + -45.741669 + ] + ] + ], + [ + [ + [ + 167.009979, + -45.31028 + ], + [ + 166.962189, + -45.153328 + ], + [ + 166.891357, + -45.250282 + ], + [ + 167.009979, + -45.31028 + ] + ] + ], + [ + [ + [ + -176.162231, + -44.324722 + ], + [ + -176.115814, + -44.263336 + ], + [ + -176.23584, + -44.234734 + ], + [ + -176.162231, + -44.324722 + ] + ] + ], + [ + [ + [ + -176.45224, + -43.736122 + ], + [ + -176.848053, + -43.812225 + ], + [ + -176.53421, + -43.870277 + ], + [ + -176.60556, + -44.119171 + ], + [ + -176.45224, + -43.736122 + ] + ] + ], + [ + [ + [ + 174.399414, + -41.115837 + ], + [ + 174.322754, + -41.1325 + ], + [ + 174.371887, + -41.148613 + ], + [ + 174.344421, + -41.18306 + ], + [ + 174.193298, + -41.232498 + ], + [ + 174.37439, + -41.203056 + ], + [ + 174.399414, + -41.115837 + ] + ] + ], + [ + [ + [ + 173.805817, + -40.92778 + ], + [ + 173.963867, + -40.710556 + ], + [ + 173.823303, + -40.762505 + ], + [ + 173.805817, + -40.92778 + ] + ] + ], + [ + [ + [ + 172.861359, + -40.507782 + ], + [ + 172.108856, + -40.885559 + ], + [ + 172.064972, + -41.40361 + ], + [ + 170.794128, + -42.90139 + ], + [ + 168.374969, + -44.037781 + ], + [ + 167.507202, + -45.001396 + ], + [ + 166.996918, + -45.145836 + ], + [ + 167.211914, + -45.475273 + ], + [ + 166.821625, + -45.320557 + ], + [ + 166.704407, + -45.574448 + ], + [ + 167.041351, + -45.501396 + ], + [ + 166.775818, + -45.662773 + ], + [ + 166.987183, + -45.709724 + ], + [ + 166.484406, + -46.01445 + ], + [ + 169.008026, + -46.680832 + ], + [ + 170.783051, + -45.878334 + ], + [ + 170.554413, + -45.888054 + ], + [ + 171.293579, + -44.343613 + ], + [ + 172.424988, + -43.733612 + ], + [ + 173.091644, + -43.856392 + ], + [ + 172.760803, + -43.239166 + ], + [ + 174.289154, + -41.748337 + ], + [ + 174.044434, + -41.442497 + ], + [ + 174.326904, + -41.222771 + ], + [ + 174.20636, + -41.269447 + ], + [ + 174.026642, + -41.236115 + ], + [ + 174.323853, + -41.003334 + ], + [ + 173.10553, + -41.313332 + ], + [ + 173.013306, + -40.796669 + ], + [ + 172.656921, + -40.653328 + ], + [ + 172.861359, + -40.507782 + ] + ] + ], + [ + [ + [ + 177.001373, + -37.870552 + ], + [ + 176.97995, + -37.848053 + ], + [ + 176.964691, + -37.863617 + ], + [ + 177.001373, + -37.870552 + ] + ] + ], + [ + [ + [ + 176.438568, + -37.650276 + ], + [ + 176.459412, + -37.622772 + ], + [ + 176.44693, + -37.604721 + ], + [ + 176.438568, + -37.650276 + ] + ] + ], + [ + [ + [ + 175.166077, + -36.833885 + ], + [ + 175.193848, + -36.727493 + ], + [ + 175.002472, + -36.792778 + ], + [ + 175.166077, + -36.833885 + ] + ] + ], + [ + [ + [ + 175.827179, + -36.630829 + ], + [ + 175.80246, + -36.576111 + ], + [ + 175.770264, + -36.580833 + ], + [ + 175.827179, + -36.630829 + ] + ] + ], + [ + [ + [ + 174.863861, + -36.459724 + ], + [ + 174.907196, + -36.451668 + ], + [ + 174.869965, + -36.388893 + ], + [ + 174.863861, + -36.459724 + ] + ] + ], + [ + [ + [ + 175.149414, + -36.213333 + ], + [ + 175.121887, + -36.170555 + ], + [ + 175.079681, + -36.200836 + ], + [ + 175.149414, + -36.213333 + ] + ] + ], + [ + [ + [ + 175.544708, + -36.347778 + ], + [ + 175.371887, + -36.070557 + ], + [ + 175.358856, + -36.229439 + ], + [ + 175.544708, + -36.347778 + ] + ] + ], + [ + [ + [ + 173.038879, + -34.436943 + ], + [ + 172.722473, + -34.495277 + ], + [ + 173.087463, + -35.211388 + ], + [ + 173.380524, + -35.528053 + ], + [ + 173.655548, + -35.313332 + ], + [ + 173.398865, + -35.573891 + ], + [ + 174.080811, + -36.409439 + ], + [ + 173.913879, + -35.86972 + ], + [ + 174.505249, + -36.231384 + ], + [ + 174.268585, + -36.342224 + ], + [ + 174.453033, + -36.651108 + ], + [ + 174.187744, + -36.496948 + ], + [ + 174.502472, + -37.037506 + ], + [ + 174.887482, + -37.059166 + ], + [ + 174.549713, + -37.073616 + ], + [ + 174.974976, + -37.75 + ], + [ + 174.594421, + -38.815834 + ], + [ + 173.751923, + -39.288612 + ], + [ + 175.155548, + -40.095833 + ], + [ + 175.127747, + -40.713615 + ], + [ + 174.591919, + -41.27861 + ], + [ + 175.323029, + -41.614449 + ], + [ + 176.834137, + -40.181671 + ], + [ + 177.054962, + -39.204445 + ], + [ + 177.909973, + -39.25695 + ], + [ + 178.565521, + -37.713333 + ], + [ + 178.018005, + -37.550831 + ], + [ + 177.159424, + -38.013336 + ], + [ + 175.994415, + -37.638893 + ], + [ + 175.84079, + -36.754173 + ], + [ + 175.353577, + -36.481941 + ], + [ + 175.579132, + -37.244446 + ], + [ + 174.854401, + -36.847778 + ], + [ + 174.319977, + -35.232773 + ], + [ + 173.450806, + -34.807777 + ], + [ + 173.269135, + -35.019722 + ], + [ + 173.038879, + -34.436943 + ] + ] + ], + [ + [ + [ + 172.157196, + -34.173889 + ], + [ + 172.18692, + -34.152496 + ], + [ + 172.133331, + -34.153328 + ], + [ + 172.157196, + -34.173889 + ] + ] + ], + [ + [ + [ + -178.605286, + -30.581116 + ], + [ + -178.612518, + -30.574448 + ], + [ + -178.613068, + -30.587223 + ], + [ + -178.605286, + -30.581116 + ] + ] + ], + [ + [ + [ + -177.84613, + -29.278614 + ], + [ + -177.952484, + -29.226112 + ], + [ + -177.923615, + -29.284725 + ], + [ + -177.84613, + -29.278614 + ] + ] + ] + ] + }, + "name" : "New Zealand", + "iso2" : "NZ", + "iso3" : "NZL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "471E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -54.598915, + -25.573223 + ], + [ + -54.330559, + -24.679449 + ], + [ + -54.407227, + -23.916668 + ], + [ + -55.411667, + -23.95639 + ], + [ + -55.849724, + -22.288891 + ], + [ + -57.985107, + -22.091827 + ], + [ + -57.814445, + -20.971947 + ], + [ + -58.15889, + -20.168056 + ], + [ + -58.15139, + -19.828056 + ], + [ + -59.09584, + -19.348892 + ], + [ + -61.7425, + -19.645 + ], + [ + -62.643768, + -22.238903 + ], + [ + -61.007782, + -23.813335 + ], + [ + -57.756111, + -25.176945 + ], + [ + -57.576668, + -25.549446 + ], + [ + -58.604622, + -27.316921 + ], + [ + -55.736115, + -27.439445 + ], + [ + -54.698334, + -26.438335 + ], + [ + -54.598915, + -25.573223 + ] + ] + ] + }, + "name" : "Paraguay", + "iso2" : "PY", + "iso3" : "PRY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "5L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -69.568436, + -10.951092 + ], + [ + -70.631393, + -11.009167 + ], + [ + -70.514664, + -9.428001 + ], + [ + -71.298889, + -9.996389 + ], + [ + -72.14389, + -10.004723 + ], + [ + -72.366394, + -9.494446 + ], + [ + -73.205292, + -9.407223 + ], + [ + -72.964172, + -8.983334 + ], + [ + -74.010559, + -7.541389 + ], + [ + -73.744171, + -6.876945 + ], + [ + -73.123901, + -6.447223 + ], + [ + -72.851959, + -5.124722 + ], + [ + -70.765839, + -4.146389 + ], + [ + -69.956924, + -4.236874 + ], + [ + -70.724167, + -3.779723 + ], + [ + -70.067505, + -2.755556 + ], + [ + -70.288345, + -2.505 + ], + [ + -71.698059, + -2.146945 + ], + [ + -72.881958, + -2.506389 + ], + [ + -73.556396, + -1.370833 + ], + [ + -74.227234, + -1.027778 + ], + [ + -74.776947, + -0.204167 + ], + [ + -75.285843, + -0.119722 + ], + [ + -75.62796, + -0.108859 + ], + [ + -75.21608, + -0.965336 + ], + [ + -75.559174, + -1.534167 + ], + [ + -76.660629, + -2.572135 + ], + [ + -78.337509, + -3.422778 + ], + [ + -78.70903, + -4.584787 + ], + [ + -79.054825, + -5.009132 + ], + [ + -79.649734, + -4.432778 + ], + [ + -80.467789, + -4.43889 + ], + [ + -80.467224, + -3.986945 + ], + [ + -80.153336, + -3.884228 + ], + [ + -80.340424, + -3.380517 + ], + [ + -81.289734, + -4.31 + ], + [ + -80.871399, + -5.652223 + ], + [ + -81.174728, + -6.086667 + ], + [ + -79.982788, + -6.764445 + ], + [ + -78.989731, + -8.226946 + ], + [ + -77.652512, + -11.292223 + ], + [ + -76.196945, + -13.418335 + ], + [ + -76.39389, + -13.898056 + ], + [ + -75.933334, + -14.658056 + ], + [ + -75.047501, + -15.469168 + ], + [ + -71.497513, + -17.296947 + ], + [ + -70.405487, + -18.348545 + ], + [ + -69.951126, + -18.242779 + ], + [ + -69.499725, + -17.50528 + ], + [ + -69.618896, + -17.214725 + ], + [ + -68.82251, + -16.339725 + ], + [ + -69.421951, + -15.618057 + ], + [ + -69.136948, + -15.245834 + ], + [ + -69.366394, + -14.802502 + ], + [ + -68.853058, + -14.199167 + ], + [ + -68.974457, + -12.869722 + ], + [ + -68.673904, + -12.50115 + ], + [ + -69.568436, + -10.951092 + ] + ] + ] + }, + "name" : "Peru", + "iso2" : "PE", + "iso3" : "PER" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "5b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 67.449417, + 24.002777 + ], + [ + 67.458878, + 24.007221 + ], + [ + 67.481659, + 24.042774 + ], + [ + 67.458878, + 24.056942 + ], + [ + 67.379425, + 24.051662 + ], + [ + 67.411926, + 24.005833 + ], + [ + 67.449417, + 24.002777 + ] + ] + ], + [ + [ + [ + 61.611031, + 25.197647 + ], + [ + 64.113876, + 25.453327 + ], + [ + 64.651932, + 25.162773 + ], + [ + 66.506378, + 25.402496 + ], + [ + 66.141602, + 25.503941 + ], + [ + 66.359421, + 25.613609 + ], + [ + 66.732758, + 25.197495 + ], + [ + 66.645538, + 24.829163 + ], + [ + 67.254166, + 24.746105 + ], + [ + 67.151657, + 24.610554 + ], + [ + 67.27388, + 24.425827 + ], + [ + 67.338043, + 24.089718 + ], + [ + 67.461197, + 24.065355 + ], + [ + 67.486649, + 24.045277 + ], + [ + 67.500671, + 23.974043 + ], + [ + 67.53804, + 23.938129 + ], + [ + 67.493591, + 23.890831 + ], + [ + 68.1978, + 23.766685 + ], + [ + 68.747208, + 23.969994 + ], + [ + 68.783051, + 24.332775 + ], + [ + 70.014709, + 24.169716 + ], + [ + 71.10582, + 24.416386 + ], + [ + 70.666382, + 25.69833 + ], + [ + 70.088043, + 25.982773 + ], + [ + 70.183594, + 26.53611 + ], + [ + 69.506104, + 26.754444 + ], + [ + 69.580276, + 27.173328 + ], + [ + 70.368317, + 28.020832 + ], + [ + 70.829437, + 27.706383 + ], + [ + 71.896942, + 27.961941 + ], + [ + 73.397491, + 29.942772 + ], + [ + 73.933403, + 30.136002 + ], + [ + 73.872498, + 30.390099 + ], + [ + 74.694588, + 31.053961 + ], + [ + 74.605324, + 31.877119 + ], + [ + 75.381287, + 32.214241 + ], + [ + 74.016388, + 33.188599 + ], + [ + 73.99054, + 33.743881 + ], + [ + 74.295822, + 33.977486 + ], + [ + 73.913315, + 34.068604 + ], + [ + 73.94165, + 34.646385 + ], + [ + 76.86998, + 34.658882 + ], + [ + 77.04248, + 35.099159 + ], + [ + 77.823929, + 35.501328 + ], + [ + 76.166382, + 35.819717 + ], + [ + 75.864426, + 36.659676 + ], + [ + 74.81749, + 37.021767 + ], + [ + 74.56543, + 37.027817 + ], + [ + 72.556641, + 36.821266 + ], + [ + 71.243576, + 36.129715 + ], + [ + 71.649429, + 35.424995 + ], + [ + 70.987488, + 34.551102 + ], + [ + 71.08194, + 34.055824 + ], + [ + 69.906372, + 34.035271 + ], + [ + 70.326935, + 33.33194 + ], + [ + 69.505264, + 33.034164 + ], + [ + 69.328247, + 31.940365 + ], + [ + 68.833054, + 31.603886 + ], + [ + 68.166092, + 31.833054 + ], + [ + 67.575546, + 31.53194 + ], + [ + 67.778046, + 31.332218 + ], + [ + 66.723038, + 31.212215 + ], + [ + 66.395538, + 30.94083 + ], + [ + 66.256653, + 29.85194 + ], + [ + 62.484436, + 29.406105 + ], + [ + 60.868599, + 29.863884 + ], + [ + 61.905548, + 28.554996 + ], + [ + 62.78138, + 28.266941 + ], + [ + 62.782494, + 27.260555 + ], + [ + 63.341934, + 27.122498 + ], + [ + 63.176384, + 26.631107 + ], + [ + 61.858047, + 26.234718 + ], + [ + 61.611031, + 25.197647 + ] + ] + ] + ] + }, + "name" : "Pakistan", + "iso2" : "PK", + "iso3" : "PAK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "5r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 18.851246, + 49.517357 + ], + [ + 19.475555, + 49.599998 + ], + [ + 20.074444, + 49.175278 + ], + [ + 21.618889, + 49.436386 + ], + [ + 22.558052, + 49.079437 + ], + [ + 22.886074, + 49.002914 + ], + [ + 22.680828, + 49.572495 + ], + [ + 24.111385, + 50.56694 + ], + [ + 23.604633, + 51.527695 + ], + [ + 23.638607, + 52.079437 + ], + [ + 23.1654, + 52.282276 + ], + [ + 23.94083, + 52.732208 + ], + [ + 23.50404, + 53.947044 + ], + [ + 22.785885, + 54.363838 + ], + [ + 19.797007, + 54.43755 + ], + [ + 19.226662, + 54.32888 + ], + [ + 19.651108, + 54.455826 + ], + [ + 19.627258, + 54.463272 + ], + [ + 18.836388, + 54.353333 + ], + [ + 18.582775, + 54.435272 + ], + [ + 18.405277, + 54.74305 + ], + [ + 18.739998, + 54.685272 + ], + [ + 18.334999, + 54.836662 + ], + [ + 17.918888, + 54.82666 + ], + [ + 14.225555, + 53.928604 + ], + [ + 14.218887, + 53.869019 + ], + [ + 14.614166, + 53.816383 + ], + [ + 14.275627, + 53.699066 + ], + [ + 14.149166, + 52.862778 + ], + [ + 14.640276, + 52.572495 + ], + [ + 14.599443, + 51.818604 + ], + [ + 15.036388, + 51.285553 + ], + [ + 14.828333, + 50.865829 + ], + [ + 16.341942, + 50.66111 + ], + [ + 16.20583, + 50.423882 + ], + [ + 16.641941, + 50.10833 + ], + [ + 17.00222, + 50.216942 + ], + [ + 16.890274, + 50.439438 + ], + [ + 17.722775, + 50.319717 + ], + [ + 17.657776, + 50.108055 + ], + [ + 18.577221, + 49.914444 + ], + [ + 18.851246, + 49.517357 + ] + ] + ] + }, + "name" : "Poland", + "iso2" : "PL", + "iso3" : "POL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "571E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -81.778624, + 7.276388 + ], + [ + -81.818619, + 7.290003 + ], + [ + -81.797501, + 7.225836 + ], + [ + -81.778624, + 7.276388 + ] + ] + ], + [ + [ + [ + -81.205841, + 7.486666 + ], + [ + -81.033615, + 7.570833 + ], + [ + -81.249725, + 7.488333 + ], + [ + -81.205841, + 7.486666 + ] + ] + ], + [ + [ + [ + -81.649445, + 7.384169 + ], + [ + -81.758621, + 7.634169 + ], + [ + -81.874176, + 7.491114 + ], + [ + -81.649445, + 7.384169 + ] + ] + ], + [ + [ + [ + -81.103897, + 7.717779 + ], + [ + -81.124176, + 7.75889 + ], + [ + -81.14917, + 7.741667 + ], + [ + -81.103897, + 7.717779 + ] + ] + ], + [ + [ + [ + -81.165283, + 7.822779 + ], + [ + -81.161392, + 7.841665 + ], + [ + -81.173615, + 7.818056 + ], + [ + -81.165283, + 7.822779 + ] + ] + ], + [ + [ + [ + -82.340561, + 8.0875 + ], + [ + -82.319733, + 8.136667 + ], + [ + -82.366394, + 8.088888 + ], + [ + -82.340561, + 8.0875 + ] + ] + ], + [ + [ + [ + -82.213348, + 8.1975 + ], + [ + -82.313339, + 8.218889 + ], + [ + -82.295288, + 8.193609 + ], + [ + -82.213348, + 8.1975 + ] + ] + ], + [ + [ + [ + -82.332504, + 8.23361 + ], + [ + -82.314178, + 8.271666 + ], + [ + -82.336121, + 8.292501 + ], + [ + -82.403624, + 8.253054 + ], + [ + -82.332504, + 8.23361 + ] + ] + ], + [ + [ + [ + -79.106949, + 8.201113 + ], + [ + -79.055847, + 8.25139 + ], + [ + -79.097504, + 8.309168 + ], + [ + -79.106949, + 8.201113 + ] + ] + ], + [ + [ + [ + -79.076401, + 8.369722 + ], + [ + -79.075836, + 8.408609 + ], + [ + -79.114456, + 8.415277 + ], + [ + -79.076401, + 8.369722 + ] + ] + ], + [ + [ + [ + -78.851395, + 8.28861 + ], + [ + -78.960281, + 8.447222 + ], + [ + -78.959166, + 8.292223 + ], + [ + -78.851395, + 8.28861 + ] + ] + ], + [ + [ + [ + -82.015015, + 9.12639 + ], + [ + -82.045837, + 9.17639 + ], + [ + -82.049179, + 9.144167 + ], + [ + -82.015015, + 9.12639 + ] + ] + ], + [ + [ + [ + -82.079178, + 9.284445 + ], + [ + -82.20639, + 9.348333 + ], + [ + -82.124451, + 9.271944 + ], + [ + -82.079178, + 9.284445 + ] + ] + ], + [ + [ + [ + -82.224457, + 9.335001 + ], + [ + -82.224731, + 9.352499 + ], + [ + -82.229446, + 9.3375 + ], + [ + -82.224457, + 9.335001 + ] + ] + ], + [ + [ + [ + -82.239182, + 9.330278 + ], + [ + -82.258347, + 9.429167 + ], + [ + -82.314453, + 9.424723 + ], + [ + -82.239182, + 9.330278 + ] + ] + ], + [ + [ + [ + -77.366669, + 8.675001 + ], + [ + -78.035568, + 9.230001 + ], + [ + -79.463058, + 9.568056 + ], + [ + -81.196121, + 8.780279 + ], + [ + -81.883896, + 9.174444 + ], + [ + -81.816391, + 8.945276 + ], + [ + -82.236954, + 8.997778 + ], + [ + -82.563568, + 9.562876 + ], + [ + -82.934723, + 9.471666 + ], + [ + -82.710846, + 8.931112 + ], + [ + -82.898848, + 8.025671 + ], + [ + -82.72168, + 8.317221 + ], + [ + -82.287231, + 8.313334 + ], + [ + -82.191956, + 8.194445 + ], + [ + -81.738617, + 8.1625 + ], + [ + -81.496948, + 7.69861 + ], + [ + -81.217789, + 7.607222 + ], + [ + -81.178864, + 7.854994 + ], + [ + -81.05806, + 7.873335 + ], + [ + -80.925293, + 7.250002 + ], + [ + -80.433334, + 7.244444 + ], + [ + -79.989731, + 7.516111 + ], + [ + -80.473618, + 8.212778 + ], + [ + -78.978622, + 9.142778 + ], + [ + -78.414169, + 8.344168 + ], + [ + -78.107513, + 8.455832 + ], + [ + -77.779175, + 8.155001 + ], + [ + -78.139175, + 8.403891 + ], + [ + -78.257233, + 8.101946 + ], + [ + -78.43306, + 8.051943 + ], + [ + -77.889725, + 7.228891 + ], + [ + -77.746674, + 7.722223 + ], + [ + -77.573898, + 7.525278 + ], + [ + -77.215561, + 7.937223 + ], + [ + -77.366669, + 8.675001 + ] + ], + [ + [ + -77.986954, + 8.242224 + ], + [ + -78.003067, + 8.251112 + ], + [ + -77.992233, + 8.250555 + ], + [ + -77.986954, + 8.242224 + ] + ] + ] + ] + }, + "name" : "Panama", + "iso2" : "PA", + "iso3" : "PAN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "6L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -17.102501, + 32.823328 + ], + [ + -16.943611, + 32.637499 + ], + [ + -16.715557, + 32.75889 + ], + [ + -17.102501, + 32.823328 + ] + ] + ], + [ + [ + [ + -16.285835, + 33.094164 + ], + [ + -16.325558, + 33.108057 + ], + [ + -16.400558, + 33.038607 + ], + [ + -16.285835, + 33.094164 + ] + ] + ], + [ + [ + [ + -25.016392, + 36.969721 + ], + [ + -25.086391, + 37.023607 + ], + [ + -25.200558, + 36.985834 + ], + [ + -25.016392, + 36.969721 + ] + ] + ], + [ + [ + [ + -25.585003, + 37.826662 + ], + [ + -25.13028, + 37.811663 + ], + [ + -25.864723, + 37.850557 + ], + [ + -25.585003, + 37.826662 + ] + ] + ], + [ + [ + [ + -28.141113, + 38.449884 + ], + [ + -28.549446, + 38.527224 + ], + [ + -28.037781, + 38.406946 + ], + [ + -28.141113, + 38.449884 + ] + ] + ], + [ + [ + [ + -27.086945, + 38.631388 + ], + [ + -27.065834, + 38.764162 + ], + [ + -27.385002, + 38.76333 + ], + [ + -27.086945, + 38.631388 + ] + ] + ], + [ + [ + [ + -31.215557, + 39.353334 + ], + [ + -31.123058, + 39.448885 + ], + [ + -31.21389, + 39.521944 + ], + [ + -31.215557, + 39.353334 + ] + ] + ], + [ + [ + [ + -7.431854, + 37.253191 + ], + [ + -7.446945, + 37.699442 + ], + [ + -6.939167, + 38.178057 + ], + [ + -7.321112, + 38.449442 + ], + [ + -6.954792, + 39.026384 + ], + [ + -7.532505, + 39.66942 + ], + [ + -7.017221, + 39.674997 + ], + [ + -6.931667, + 41.018053 + ], + [ + -6.187222, + 41.579721 + ], + [ + -6.594166, + 41.953608 + ], + [ + -8.204723, + 41.87472 + ], + [ + -8.201223, + 42.152742 + ], + [ + -8.745008, + 41.952501 + ], + [ + -8.660833, + 40.68722 + ], + [ + -9.484446, + 38.710001 + ], + [ + -8.984446, + 38.947779 + ], + [ + -9.183889, + 38.419718 + ], + [ + -8.673334, + 38.413889 + ], + [ + -8.990278, + 37.02305 + ], + [ + -7.431854, + 37.253191 + ] + ] + ] + ] + }, + "name" : "Portugal", + "iso2" : "PT", + "iso3" : "PRT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "6b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 153.770815, + -11.616388 + ], + [ + 153.19803, + -11.324167 + ], + [ + 153.37607, + -11.567223 + ], + [ + 153.770815, + -11.616388 + ] + ] + ], + [ + [ + [ + 154.297762, + -11.391945 + ], + [ + 154.153872, + -11.314167 + ], + [ + 154.003328, + -11.38389 + ], + [ + 154.297762, + -11.391945 + ] + ] + ], + [ + [ + [ + 153.24106, + -11.26889 + ], + [ + 153.091066, + -11.197222 + ], + [ + 153.210512, + -11.285833 + ], + [ + 153.24106, + -11.26889 + ] + ] + ], + [ + [ + [ + 152.873293, + -10.662222 + ], + [ + 152.540804, + -10.630554 + ], + [ + 152.744417, + -10.716665 + ], + [ + 152.873293, + -10.662222 + ] + ] + ], + [ + [ + [ + 151.069704, + -10.611111 + ], + [ + 150.909975, + -10.654722 + ], + [ + 151.042208, + -10.676945 + ], + [ + 151.069704, + -10.611111 + ] + ] + ], + [ + [ + [ + 150.892214, + -10.650833 + ], + [ + 150.90027, + -10.553055 + ], + [ + 150.790804, + -10.542223 + ], + [ + 150.892214, + -10.650833 + ] + ] + ], + [ + [ + [ + 151.11606, + -10.046667 + ], + [ + 150.759981, + -9.707777 + ], + [ + 150.95859, + -10.110277 + ], + [ + 151.229128, + -10.201111 + ], + [ + 151.281374, + -9.923334 + ], + [ + 151.11606, + -10.046667 + ] + ] + ], + [ + [ + [ + 150.666658, + -9.438334 + ], + [ + 150.421907, + -9.389444 + ], + [ + 150.921633, + -9.670834 + ], + [ + 150.666658, + -9.438334 + ] + ] + ], + [ + [ + [ + 150.339144, + -9.524723 + ], + [ + 150.18915, + -9.211111 + ], + [ + 150.108309, + -9.36861 + ], + [ + 150.339144, + -9.524723 + ] + ] + ], + [ + [ + [ + 152.814974, + -8.972776 + ], + [ + 152.497744, + -9.021666 + ], + [ + 152.997194, + -9.173056 + ], + [ + 152.814974, + -8.972776 + ] + ] + ], + [ + [ + [ + 151.124971, + -8.425556 + ], + [ + 150.99692, + -8.528612 + ], + [ + 151.144442, + -8.830555 + ], + [ + 151.124971, + -8.425556 + ] + ] + ], + [ + [ + [ + 143.638033, + -8.733055 + ], + [ + 143.467196, + -8.527779 + ], + [ + 143.183596, + -8.42 + ], + [ + 143.638033, + -8.733055 + ] + ] + ], + [ + [ + [ + 143.572756, + -8.493889 + ], + [ + 143.57831, + -8.373888 + ], + [ + 143.314425, + -8.376665 + ], + [ + 143.572756, + -8.493889 + ] + ] + ], + [ + [ + [ + 143.687197, + -8.439722 + ], + [ + 143.672213, + -8.354445 + ], + [ + 143.60718, + -8.332777 + ], + [ + 143.687197, + -8.439722 + ] + ] + ], + [ + [ + [ + 143.697481, + -8.245277 + ], + [ + 143.733309, + -8.174723 + ], + [ + 143.651644, + -8.199722 + ], + [ + 143.697481, + -8.245277 + ] + ] + ], + [ + [ + [ + 143.677767, + -8.174723 + ], + [ + 143.700258, + -8.10611 + ], + [ + 143.604952, + -8.108889 + ], + [ + 143.677767, + -8.174723 + ] + ] + ], + [ + [ + [ + 143.731081, + -8.071667 + ], + [ + 143.565248, + -8.02 + ], + [ + 143.588564, + -8.071667 + ], + [ + 143.731081, + -8.071667 + ] + ] + ], + [ + [ + [ + 145.193575, + -7.867222 + ], + [ + 145.182467, + -7.827778 + ], + [ + 145.180544, + -7.861111 + ], + [ + 145.193575, + -7.867222 + ] + ] + ], + [ + [ + [ + 143.999697, + -7.824444 + ], + [ + 143.966921, + -7.748333 + ], + [ + 143.877169, + -7.709723 + ], + [ + 143.999697, + -7.824444 + ] + ] + ], + [ + [ + [ + 154.882448, + -5.543333 + ], + [ + 154.744387, + -5.939779 + ], + [ + 155.239962, + -6.622499 + ], + [ + 155.918581, + -6.807777 + ], + [ + 154.882448, + -5.543333 + ] + ] + ], + [ + [ + [ + 148.061495, + -5.777117 + ], + [ + 147.780275, + -5.494165 + ], + [ + 147.865114, + -5.747753 + ], + [ + 148.061495, + -5.777117 + ] + ] + ], + [ + [ + [ + 148.12079, + -5.468332 + ], + [ + 148.099703, + -5.377499 + ], + [ + 148.071627, + -5.424444 + ], + [ + 148.12079, + -5.468332 + ] + ] + ], + [ + [ + [ + 147.602175, + -5.361944 + ], + [ + 147.609133, + -5.288055 + ], + [ + 147.560518, + -5.31889 + ], + [ + 147.602175, + -5.361944 + ] + ] + ], + [ + [ + [ + 147.153322, + -5.44972 + ], + [ + 147.121065, + -5.191111 + ], + [ + 147.008028, + -5.350277 + ], + [ + 147.153322, + -5.44972 + ] + ] + ], + [ + [ + [ + 154.675539, + -5.440832 + ], + [ + 154.639162, + -5.016388 + ], + [ + 154.530275, + -5.133888 + ], + [ + 154.675539, + -5.440832 + ] + ] + ], + [ + [ + [ + 149.156923, + -4.923056 + ], + [ + 149.161928, + -4.866388 + ], + [ + 149.118013, + -4.889444 + ], + [ + 149.156923, + -4.923056 + ] + ] + ], + [ + [ + [ + 146.246614, + -4.8575 + ], + [ + 146.219973, + -4.788332 + ], + [ + 146.199404, + -4.833611 + ], + [ + 146.246614, + -4.8575 + ] + ] + ], + [ + [ + [ + 149.557192, + -4.718889 + ], + [ + 149.540255, + -4.653889 + ], + [ + 149.455812, + -4.679167 + ], + [ + 149.557192, + -4.718889 + ] + ] + ], + [ + [ + [ + 159.516939, + -4.578056 + ], + [ + 159.518862, + -4.536388 + ], + [ + 159.511385, + -4.576666 + ], + [ + 159.516939, + -4.578056 + ] + ] + ], + [ + [ + [ + 145.951357, + -4.764444 + ], + [ + 145.98163, + -4.5275 + ], + [ + 145.872469, + -4.672499 + ], + [ + 145.951357, + -4.764444 + ] + ] + ], + [ + [ + [ + 154.155245, + -4.438055 + ], + [ + 154.152773, + -4.379444 + ], + [ + 154.132723, + -4.371666 + ], + [ + 154.155245, + -4.438055 + ] + ] + ], + [ + [ + [ + 152.235231, + -4.207222 + ], + [ + 151.51166, + -4.204445 + ], + [ + 151.676088, + -4.908054 + ], + [ + 150.92441, + -5.487221 + ], + [ + 150.164431, + -5.551388 + ], + [ + 150.088869, + -5.007778 + ], + [ + 149.8808, + -5.535 + ], + [ + 148.428591, + -5.451111 + ], + [ + 148.323092, + -5.675377 + ], + [ + 149.056917, + -6.164165 + ], + [ + 150.468569, + -6.276112 + ], + [ + 151.459414, + -5.535833 + ], + [ + 152.096071, + -5.457222 + ], + [ + 151.970797, + -4.993332 + ], + [ + 152.405825, + -4.688889 + ], + [ + 152.235231, + -4.207222 + ] + ], + [ + [ + 149.053591, + -6.094166 + ], + [ + 149.043856, + -6.088612 + ], + [ + 149.05414, + -6.083889 + ], + [ + 149.053591, + -6.094166 + ] + ] + ], + [ + [ + [ + 145.057741, + -4.135277 + ], + [ + 145.109957, + -4.098333 + ], + [ + 145.06885, + -4.045 + ], + [ + 145.057741, + -4.135277 + ] + ] + ], + [ + [ + [ + 153.64554, + -4.140278 + ], + [ + 153.658602, + -4.019167 + ], + [ + 153.584414, + -4.095833 + ], + [ + 153.64554, + -4.140278 + ] + ] + ], + [ + [ + [ + 153.258333, + -3.498888 + ], + [ + 153.233583, + -3.446667 + ], + [ + 153.19385, + -3.468611 + ], + [ + 153.258333, + -3.498888 + ] + ] + ], + [ + [ + [ + 154.83304, + -3.510277 + ], + [ + 154.79941, + -3.424999 + ], + [ + 154.818575, + -3.530277 + ], + [ + 154.83304, + -3.510277 + ] + ] + ], + [ + [ + [ + 153.345247, + -3.411943 + ], + [ + 153.33359, + -3.371389 + ], + [ + 153.262484, + -3.404444 + ], + [ + 153.345247, + -3.411943 + ] + ] + ], + [ + [ + [ + 152.646364, + -3.228611 + ], + [ + 152.599703, + -3.048056 + ], + [ + 152.538881, + -3.10611 + ], + [ + 152.646364, + -3.228611 + ] + ] + ], + [ + [ + [ + 150.941347, + -2.921944 + ], + [ + 150.766085, + -2.979443 + ], + [ + 151.021639, + -2.971943 + ], + [ + 150.941347, + -2.921944 + ] + ] + ], + [ + [ + [ + 152.069979, + -3.001389 + ], + [ + 152.078859, + -2.928333 + ], + [ + 151.973574, + -2.848055 + ], + [ + 152.069979, + -3.001389 + ] + ] + ], + [ + [ + [ + 152.002199, + -2.828888 + ], + [ + 151.932467, + -2.708332 + ], + [ + 151.931643, + -2.8325 + ], + [ + 152.002199, + -2.828888 + ] + ] + ], + [ + [ + [ + 150.906527, + -2.635944 + ], + [ + 150.729677, + -2.740555 + ], + [ + 152.282473, + -3.572777 + ], + [ + 152.691652, + -4.180555 + ], + [ + 152.735506, + -4.660833 + ], + [ + 152.974672, + -4.766666 + ], + [ + 152.989687, + -4.075832 + ], + [ + 152.055819, + -3.247778 + ], + [ + 150.906527, + -2.635944 + ] + ] + ], + [ + [ + [ + 141.007021, + -9.128468 + ], + [ + 142.638887, + -9.334723 + ], + [ + 143.331636, + -9.028334 + ], + [ + 143.110231, + -8.470278 + ], + [ + 142.137209, + -8.225555 + ], + [ + 143.61191, + -8.243889 + ], + [ + 143.358309, + -7.9025 + ], + [ + 143.95801, + -7.978622 + ], + [ + 143.664827, + -7.467649 + ], + [ + 144.213015, + -7.795277 + ], + [ + 144.52054, + -7.501944 + ], + [ + 146.089693, + -8.09111 + ], + [ + 146.586641, + -8.999165 + ], + [ + 146.972475, + -9.029167 + ], + [ + 147.055239, + -9.466665 + ], + [ + 147.952456, + -10.145834 + ], + [ + 149.747744, + -10.342777 + ], + [ + 150.209688, + -10.700556 + ], + [ + 150.691347, + -10.561111 + ], + [ + 150.369112, + -10.321945 + ], + [ + 150.878298, + -10.231667 + ], + [ + 149.914156, + -10.048889 + ], + [ + 149.71747, + -9.826666 + ], + [ + 150.008883, + -9.631388 + ], + [ + 149.219973, + -9.474722 + ], + [ + 149.314699, + -9.01889 + ], + [ + 148.604128, + -9.0825 + ], + [ + 148.135256, + -8.066111 + ], + [ + 147.178591, + -7.463888 + ], + [ + 146.961367, + -6.747221 + ], + [ + 147.869417, + -6.660833 + ], + [ + 147.47687, + -5.974192 + ], + [ + 145.76639, + -5.485277 + ], + [ + 145.735506, + -4.802776 + ], + [ + 144.51166, + -3.820833 + ], + [ + 141.889986, + -2.969999 + ], + [ + 141.002474, + -2.607084 + ], + [ + 141.007021, + -9.128468 + ] + ] + ], + [ + [ + [ + 152.022219, + -2.6675 + ], + [ + 151.983858, + -2.596111 + ], + [ + 151.957735, + -2.664722 + ], + [ + 152.022219, + -2.6675 + ] + ] + ], + [ + [ + [ + 150.458315, + -2.65361 + ], + [ + 150.216372, + -2.377777 + ], + [ + 149.94858, + -2.471666 + ], + [ + 150.458315, + -2.65361 + ] + ] + ], + [ + [ + [ + 147.812471, + -2.349722 + ], + [ + 147.879122, + -2.293612 + ], + [ + 147.815248, + -2.24361 + ], + [ + 147.812471, + -2.349722 + ] + ] + ], + [ + [ + [ + 147.300814, + -2.025278 + ], + [ + 146.638582, + -1.978611 + ], + [ + 146.524996, + -2.190832 + ], + [ + 147.300814, + -2.025278 + ] + ] + ], + [ + [ + [ + 142.866365, + -1.697777 + ], + [ + 142.821077, + -1.695833 + ], + [ + 142.813601, + -1.732777 + ], + [ + 142.866365, + -1.697777 + ] + ] + ], + [ + [ + [ + 149.719698, + -1.433332 + ], + [ + 149.527773, + -1.454443 + ], + [ + 149.731905, + -1.603333 + ], + [ + 149.719698, + -1.433332 + ] + ] + ], + [ + [ + [ + 144.521914, + -1.395554 + ], + [ + 144.51639, + -1.381943 + ], + [ + 144.505556, + -1.380556 + ], + [ + 144.521914, + -1.395554 + ] + ] + ], + [ + [ + [ + 144.52054, + -1.120832 + ], + [ + 144.517214, + -1.098333 + ], + [ + 144.514437, + -1.11611 + ], + [ + 144.52054, + -1.120832 + ] + ] + ] + ] + }, + "name" : "Papua New Guinea", + "iso2" : "PG", + "iso3" : "PNG" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "6r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -15.885834, + 11.052221 + ], + [ + -15.94639, + 11.195 + ], + [ + -15.981112, + 11.049444 + ], + [ + -15.885834, + 11.052221 + ] + ] + ], + [ + [ + [ + -16.005836, + 11.068333 + ], + [ + -15.980556, + 11.202499 + ], + [ + -16.06139, + 11.163055 + ], + [ + -16.005836, + 11.068333 + ] + ] + ], + [ + [ + [ + -16.088058, + 11.025555 + ], + [ + -16.0825, + 11.206944 + ], + [ + -16.244167, + 11.100555 + ], + [ + -16.088058, + 11.025555 + ] + ] + ], + [ + [ + [ + -15.862223, + 11.199999 + ], + [ + -15.830278, + 11.300833 + ], + [ + -15.906389, + 11.224998 + ], + [ + -15.862223, + 11.199999 + ] + ] + ], + [ + [ + [ + -15.740002, + 11.166943 + ], + [ + -15.667501, + 11.306389 + ], + [ + -15.77639, + 11.225832 + ], + [ + -15.740002, + 11.166943 + ] + ] + ], + [ + [ + [ + -16.17778, + 11.215277 + ], + [ + -16.160835, + 11.290277 + ], + [ + -16.264446, + 11.281666 + ], + [ + -16.17778, + 11.215277 + ] + ] + ], + [ + [ + [ + -15.679724, + 11.439444 + ], + [ + -15.665834, + 11.502222 + ], + [ + -15.743057, + 11.458332 + ], + [ + -15.679724, + 11.439444 + ] + ] + ], + [ + [ + [ + -16.21278, + 11.439722 + ], + [ + -16.164448, + 11.514999 + ], + [ + -16.300556, + 11.449444 + ], + [ + -16.21278, + 11.439722 + ] + ] + ], + [ + [ + [ + -16.250557, + 11.536665 + ], + [ + -16.39389, + 11.545832 + ], + [ + -16.419445, + 11.482777 + ], + [ + -16.250557, + 11.536665 + ] + ] + ], + [ + [ + [ + -15.952501, + 11.423054 + ], + [ + -15.958334, + 11.594166 + ], + [ + -16.065002, + 11.44972 + ], + [ + -15.952501, + 11.423054 + ] + ] + ], + [ + [ + [ + -15.553057, + 11.517221 + ], + [ + -15.472223, + 11.631109 + ], + [ + -15.633612, + 11.535276 + ], + [ + -15.553057, + 11.517221 + ] + ] + ], + [ + [ + [ + -16.031948, + 11.755833 + ], + [ + -15.978334, + 11.905832 + ], + [ + -16.162224, + 11.86861 + ], + [ + -16.031948, + 11.755833 + ] + ] + ], + [ + [ + [ + -16.236389, + 11.836943 + ], + [ + -16.184723, + 11.876665 + ], + [ + -16.30167, + 11.971666 + ], + [ + -16.236389, + 11.836943 + ] + ] + ], + [ + [ + [ + -13.713139, + 12.677221 + ], + [ + -14.516945, + 12.679722 + ], + [ + -16.71777, + 12.322426 + ], + [ + -16.110558, + 12.330832 + ], + [ + -16.334446, + 12.15111 + ], + [ + -16.333893, + 11.996664 + ], + [ + -16.128056, + 11.881943 + ], + [ + -15.852779, + 12.016666 + ], + [ + -15.704445, + 12.004444 + ], + [ + -15.963335, + 11.734165 + ], + [ + -15.003889, + 11.974165 + ], + [ + -14.931946, + 11.750832 + ], + [ + -15.556667, + 11.723331 + ], + [ + -15.027224, + 11.594166 + ], + [ + -15.509167, + 11.338055 + ], + [ + -15.26528, + 11.425913 + ], + [ + -15.407223, + 11.184999 + ], + [ + -15.022779, + 11.195276 + ], + [ + -15.016848, + 10.956451 + ], + [ + -14.686945, + 11.509722 + ], + [ + -13.709167, + 11.715277 + ], + [ + -13.971035, + 12.154758 + ], + [ + -13.713139, + 12.677221 + ] + ] + ] + ] + }, + "name" : "Guinea-Bissau", + "iso2" : "GW", + "iso3" : "GNB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "671E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 51.51759, + 25.383415 + ], + [ + 51.568054, + 25.908333 + ], + [ + 51.042496, + 26.049442 + ], + [ + 50.830956, + 24.749966 + ], + [ + 51.215164, + 24.620888 + ], + [ + 51.611664, + 25.010277 + ], + [ + 51.51759, + 25.383415 + ] + ] + ] + }, + "name" : "Qatar", + "iso2" : "QA", + "iso3" : "QAT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "7L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 55.709999, + -20.998058 + ], + [ + 55.219719, + -21.027779 + ], + [ + 55.674164, + -21.37389 + ], + [ + 55.709999, + -20.998058 + ] + ] + ] + }, + "name" : "Reunion", + "iso2" : "RE", + "iso3" : "REU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "7b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 22.894804, + 47.95454 + ], + [ + 22.032497, + 47.530273 + ], + [ + 21.176666, + 46.295555 + ], + [ + 20.726955, + 46.17556 + ], + [ + 20.261024, + 46.114853 + ], + [ + 21.513611, + 45.151108 + ], + [ + 21.400398, + 44.780823 + ], + [ + 22.146385, + 44.479164 + ], + [ + 22.479164, + 44.710274 + ], + [ + 22.764893, + 44.559006 + ], + [ + 22.457333, + 44.474358 + ], + [ + 22.681435, + 44.224701 + ], + [ + 23.044167, + 44.076111 + ], + [ + 22.875275, + 43.842499 + ], + [ + 24.179996, + 43.684715 + ], + [ + 25.430229, + 43.626778 + ], + [ + 27.036427, + 44.147339 + ], + [ + 28.583244, + 43.747765 + ], + [ + 28.868324, + 44.943047 + ], + [ + 29.549438, + 44.820267 + ], + [ + 29.664331, + 45.211803 + ], + [ + 28.21484, + 45.448647 + ], + [ + 28.119717, + 46.854404 + ], + [ + 26.634995, + 48.257164 + ], + [ + 24.919441, + 47.711662 + ], + [ + 22.894804, + 47.95454 + ] + ] + ] + }, + "name" : "Romania", + "iso2" : "RO", + "iso3" : "ROU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "7r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 26.634995, + 48.257164 + ], + [ + 28.119717, + 46.854404 + ], + [ + 28.21484, + 45.448647 + ], + [ + 28.971935, + 46.006653 + ], + [ + 28.994434, + 46.478325 + ], + [ + 30.11694, + 46.386101 + ], + [ + 29.949997, + 46.814156 + ], + [ + 29.184441, + 47.443047 + ], + [ + 29.141937, + 47.986092 + ], + [ + 27.755554, + 48.451385 + ], + [ + 26.634995, + 48.257164 + ] + ] + ] + }, + "name" : "Republic of Moldova", + "iso2" : "MD", + "iso3" : "MDA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "771E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 119.472216, + 4.648054 + ], + [ + 119.510538, + 4.763887 + ], + [ + 119.455835, + 4.908888 + ], + [ + 119.472216, + 4.648054 + ] + ] + ], + [ + [ + [ + 120.019152, + 5.030279 + ], + [ + 120.014711, + 5.030832 + ], + [ + 120.018885, + 5.028612 + ], + [ + 120.019152, + 5.030279 + ] + ] + ], + [ + [ + [ + 119.947199, + 5.076944 + ], + [ + 119.941095, + 5.083612 + ], + [ + 119.934145, + 5.075834 + ], + [ + 119.947199, + 5.076944 + ] + ] + ], + [ + [ + [ + 120.244143, + 5.300833 + ], + [ + 120.231089, + 5.325003 + ], + [ + 120.226648, + 5.306391 + ], + [ + 120.244143, + 5.300833 + ] + ] + ], + [ + [ + [ + 120.253603, + 5.233335 + ], + [ + 120.177759, + 5.343611 + ], + [ + 119.831102, + 5.059164 + ], + [ + 120.253603, + 5.233335 + ] + ] + ], + [ + [ + [ + 125.414705, + 5.361113 + ], + [ + 125.405825, + 5.430277 + ], + [ + 125.329988, + 5.38722 + ], + [ + 125.414705, + 5.361113 + ] + ] + ], + [ + [ + [ + 125.478319, + 5.388334 + ], + [ + 125.479433, + 5.491945 + ], + [ + 125.450274, + 5.421946 + ], + [ + 125.478319, + 5.388334 + ] + ] + ], + [ + [ + [ + 120.869715, + 5.491388 + ], + [ + 120.90999, + 5.536112 + ], + [ + 120.843325, + 5.585001 + ], + [ + 120.869715, + 5.491388 + ] + ] + ], + [ + [ + [ + 121.18387, + 5.7875 + ], + [ + 121.146379, + 5.84889 + ], + [ + 121.139162, + 5.785276 + ], + [ + 121.18387, + 5.7875 + ] + ] + ], + [ + [ + [ + 121.185259, + 6.039999 + ], + [ + 120.875528, + 5.92111 + ], + [ + 121.425814, + 5.952501 + ], + [ + 121.185259, + 6.039999 + ] + ] + ], + [ + [ + [ + 121.863039, + 6.01639 + ], + [ + 121.953325, + 6.051111 + ], + [ + 121.762774, + 6.090834 + ], + [ + 121.863039, + 6.01639 + ] + ] + ], + [ + [ + [ + 120.568331, + 6.244722 + ], + [ + 120.599718, + 6.396112 + ], + [ + 120.47777, + 6.264166 + ], + [ + 120.568331, + 6.244722 + ] + ] + ], + [ + [ + [ + 122.230272, + 6.660833 + ], + [ + 121.79471, + 6.593611 + ], + [ + 122.033869, + 6.411112 + ], + [ + 122.230272, + 6.660833 + ] + ] + ], + [ + [ + [ + 118.533602, + 7.035002 + ], + [ + 118.417215, + 7.022223 + ], + [ + 118.54027, + 6.965277 + ], + [ + 118.533602, + 7.035002 + ] + ] + ], + [ + [ + [ + 125.794985, + 6.932775 + ], + [ + 125.699144, + 7.191668 + ], + [ + 125.669985, + 7.075003 + ], + [ + 125.794985, + 6.932775 + ] + ] + ], + [ + [ + [ + 117.022219, + 7.808889 + ], + [ + 117.065538, + 8.078611 + ], + [ + 116.949999, + 8.032221 + ], + [ + 117.022219, + 7.808889 + ] + ] + ], + [ + [ + [ + 117.298868, + 8.182222 + ], + [ + 117.318048, + 8.33111 + ], + [ + 117.268053, + 8.306108 + ], + [ + 117.298868, + 8.182222 + ] + ] + ], + [ + [ + [ + 126.23665, + 9.008333 + ], + [ + 126.229433, + 9.013056 + ], + [ + 126.231661, + 8.998053 + ], + [ + 126.23665, + 9.008333 + ] + ] + ], + [ + [ + [ + 126.263613, + 8.997221 + ], + [ + 126.260538, + 9.006666 + ], + [ + 126.246645, + 9.013613 + ], + [ + 126.263613, + 8.997221 + ] + ] + ], + [ + [ + [ + 123.67499, + 9.226389 + ], + [ + 123.457209, + 9.190554 + ], + [ + 123.609423, + 9.092222 + ], + [ + 123.67499, + 9.226389 + ] + ] + ], + [ + [ + [ + 124.778589, + 9.075556 + ], + [ + 124.672762, + 9.253054 + ], + [ + 124.643602, + 9.155279 + ], + [ + 124.778589, + 9.075556 + ] + ] + ], + [ + [ + [ + 123.773615, + 9.544165 + ], + [ + 123.844995, + 9.63611 + ], + [ + 123.744715, + 9.595278 + ], + [ + 123.773615, + 9.544165 + ] + ] + ], + [ + [ + [ + 125.952478, + 9.557501 + ], + [ + 125.938311, + 9.756388 + ], + [ + 125.900545, + 9.616941 + ], + [ + 125.952478, + 9.557501 + ] + ] + ], + [ + [ + [ + 126.048601, + 9.231943 + ], + [ + 125.440264, + 9.809164 + ], + [ + 125.514711, + 9.006666 + ], + [ + 124.803865, + 9.001665 + ], + [ + 124.72748, + 8.486387 + ], + [ + 124.432215, + 8.615274 + ], + [ + 123.671099, + 7.95389 + ], + [ + 123.818048, + 8.476942 + ], + [ + 123.379152, + 8.727221 + ], + [ + 122.923029, + 8.150831 + ], + [ + 122.223314, + 7.962221 + ], + [ + 121.921099, + 6.994165 + ], + [ + 122.149988, + 6.905279 + ], + [ + 122.623873, + 7.773054 + ], + [ + 122.832766, + 7.275278 + ], + [ + 123.116381, + 7.729445 + ], + [ + 123.454714, + 7.367498 + ], + [ + 123.676653, + 7.812498 + ], + [ + 124.268602, + 7.374445 + ], + [ + 123.948595, + 6.823336 + ], + [ + 124.185808, + 6.210554 + ], + [ + 124.956942, + 5.851389 + ], + [ + 125.263613, + 6.091665 + ], + [ + 125.40555, + 5.563334 + ], + [ + 125.703325, + 6.027224 + ], + [ + 125.377199, + 6.719721 + ], + [ + 125.652208, + 7.236666 + ], + [ + 125.855555, + 7.349722 + ], + [ + 126.191652, + 6.272223 + ], + [ + 126.16527, + 6.881666 + ], + [ + 126.585825, + 7.285002 + ], + [ + 126.048601, + 9.231943 + ] + ] + ], + [ + [ + [ + 124.57416, + 9.854719 + ], + [ + 124.57416, + 9.863333 + ], + [ + 124.565538, + 9.861944 + ], + [ + 124.566095, + 9.849443 + ], + [ + 124.57416, + 9.854719 + ] + ] + ], + [ + [ + [ + 123.384432, + 9.878885 + ], + [ + 123.379702, + 9.888056 + ], + [ + 123.37221, + 9.880552 + ], + [ + 123.384432, + 9.878885 + ] + ] + ], + [ + [ + [ + 126.113039, + 9.744444 + ], + [ + 126.060259, + 10.054167 + ], + [ + 125.945536, + 9.830832 + ], + [ + 126.113039, + 9.744444 + ] + ] + ], + [ + [ + [ + 124.483873, + 10.050833 + ], + [ + 124.148882, + 10.146944 + ], + [ + 123.793322, + 9.729445 + ], + [ + 124.365541, + 9.626944 + ], + [ + 124.483873, + 10.050833 + ] + ] + ], + [ + [ + [ + 125.286928, + 9.909166 + ], + [ + 125.217485, + 10.122221 + ], + [ + 125.12665, + 10.155832 + ], + [ + 125.286928, + 9.909166 + ] + ] + ], + [ + [ + [ + 125.659418, + 9.82472 + ], + [ + 125.645266, + 10.468889 + ], + [ + 125.475275, + 10.131109 + ], + [ + 125.659418, + 9.82472 + ] + ] + ], + [ + [ + [ + 119.827211, + 10.439722 + ], + [ + 120.002489, + 10.591387 + ], + [ + 119.758333, + 10.556944 + ], + [ + 119.827211, + 10.439722 + ] + ] + ], + [ + [ + [ + 124.367205, + 10.607775 + ], + [ + 124.320543, + 10.706942 + ], + [ + 124.27582, + 10.587778 + ], + [ + 124.367205, + 10.607775 + ] + ] + ], + [ + [ + [ + 124.437479, + 10.624998 + ], + [ + 124.517488, + 10.659445 + ], + [ + 124.451395, + 10.714998 + ], + [ + 124.437479, + 10.624998 + ] + ] + ], + [ + [ + [ + 122.635271, + 10.443609 + ], + [ + 122.659418, + 10.748331 + ], + [ + 122.479715, + 10.487776 + ], + [ + 122.635271, + 10.443609 + ] + ] + ], + [ + [ + [ + 125.802469, + 10.688887 + ], + [ + 125.692202, + 10.82361 + ], + [ + 125.662493, + 10.750834 + ], + [ + 125.802469, + 10.688887 + ] + ] + ], + [ + [ + [ + 123.563875, + 10.794165 + ], + [ + 122.952478, + 10.894445 + ], + [ + 122.858324, + 10.097498 + ], + [ + 122.452768, + 9.973333 + ], + [ + 123.014711, + 9.033888 + ], + [ + 123.296373, + 9.229719 + ], + [ + 123.136385, + 9.836111 + ], + [ + 123.563875, + 10.794165 + ] + ] + ], + [ + [ + [ + 121.040545, + 10.791945 + ], + [ + 121.081102, + 10.905279 + ], + [ + 121.003885, + 10.836111 + ], + [ + 121.040545, + 10.791945 + ] + ] + ], + [ + [ + [ + 124.019876, + 11.118944 + ], + [ + 123.310259, + 9.411943 + ], + [ + 124.026934, + 10.381941 + ], + [ + 124.019876, + 11.118944 + ] + ] + ], + [ + [ + [ + 123.750818, + 11.147501 + ], + [ + 123.733049, + 11.300554 + ], + [ + 123.692751, + 11.221388 + ], + [ + 123.750818, + 11.147501 + ] + ] + ], + [ + [ + [ + 119.508577, + 11.335608 + ], + [ + 119.456102, + 10.723608 + ], + [ + 119.216928, + 10.959997 + ], + [ + 119.312479, + 10.582499 + ], + [ + 117.185808, + 8.325556 + ], + [ + 119.712488, + 10.497499 + ], + [ + 119.508577, + 11.335608 + ] + ] + ], + [ + [ + [ + 119.533869, + 11.362497 + ], + [ + 119.54027, + 11.373053 + ], + [ + 119.522219, + 11.366667 + ], + [ + 119.533869, + 11.362497 + ] + ] + ], + [ + [ + [ + 119.832491, + 11.376944 + ], + [ + 119.87137, + 11.506666 + ], + [ + 119.714708, + 11.47611 + ], + [ + 119.832491, + 11.376944 + ] + ] + ], + [ + [ + [ + 124.638895, + 11.293333 + ], + [ + 124.289705, + 11.541388 + ], + [ + 125.014711, + 10.027777 + ], + [ + 124.980272, + 10.379164 + ], + [ + 125.271654, + 10.297499 + ], + [ + 125.029985, + 11.195833 + ], + [ + 124.947481, + 11.425001 + ], + [ + 124.638895, + 11.293333 + ] + ] + ], + [ + [ + [ + 124.584719, + 11.472498 + ], + [ + 124.531374, + 11.67972 + ], + [ + 124.338884, + 11.680834 + ], + [ + 124.584719, + 11.472498 + ] + ] + ], + [ + [ + [ + 124.831675, + 11.528887 + ], + [ + 124.84276, + 11.591665 + ], + [ + 124.71805, + 11.727221 + ], + [ + 124.831675, + 11.528887 + ] + ] + ], + [ + [ + [ + 122.229433, + 11.797777 + ], + [ + 121.84804, + 11.76 + ], + [ + 122.098879, + 11.699999 + ], + [ + 121.943316, + 10.416388 + ], + [ + 123.128595, + 11.174444 + ], + [ + 123.153055, + 11.600275 + ], + [ + 122.880816, + 11.429167 + ], + [ + 122.229433, + 11.797777 + ] + ] + ], + [ + [ + [ + 119.965273, + 11.656942 + ], + [ + 120.070543, + 11.865 + ], + [ + 119.884989, + 11.97611 + ], + [ + 119.965273, + 11.656942 + ] + ], + [ + [ + 120.046373, + 11.823332 + ], + [ + 120.043871, + 11.824442 + ], + [ + 120.046099, + 11.826387 + ], + [ + 120.046373, + 11.823332 + ] + ] + ], + [ + [ + [ + 120.268053, + 11.826944 + ], + [ + 120.254442, + 11.982222 + ], + [ + 120.202768, + 11.946112 + ], + [ + 120.268053, + 11.826944 + ] + ] + ], + [ + [ + [ + 120.084719, + 11.958609 + ], + [ + 120.061655, + 11.992498 + ], + [ + 120.065538, + 11.964167 + ], + [ + 120.084719, + 11.958609 + ] + ] + ], + [ + [ + [ + 119.953585, + 12.021666 + ], + [ + 119.959414, + 12.036943 + ], + [ + 119.950258, + 12.030554 + ], + [ + 119.953585, + 12.021666 + ] + ] + ], + [ + [ + [ + 121.137499, + 12.157499 + ], + [ + 121.045824, + 12.290556 + ], + [ + 121.042765, + 12.229445 + ], + [ + 121.137499, + 12.157499 + ] + ] + ], + [ + [ + [ + 120.168299, + 12.11833 + ], + [ + 119.873873, + 12.314444 + ], + [ + 120.339983, + 11.992777 + ], + [ + 120.168299, + 12.11833 + ] + ] + ], + [ + [ + [ + 122.681093, + 12.308054 + ], + [ + 122.669436, + 12.48361 + ], + [ + 122.432482, + 12.461111 + ], + [ + 122.681093, + 12.308054 + ] + ] + ], + [ + [ + [ + 124.463884, + 12.520834 + ], + [ + 124.258043, + 12.555555 + ], + [ + 124.386934, + 12.190275 + ], + [ + 125.042482, + 11.747221 + ], + [ + 124.843599, + 11.466387 + ], + [ + 124.969995, + 11.4475 + ], + [ + 125.269442, + 11.128054 + ], + [ + 125.760271, + 11.011667 + ], + [ + 125.296946, + 12.457499 + ], + [ + 124.463884, + 12.520834 + ] + ], + [ + [ + 125.672495, + 11.089998 + ], + [ + 125.664705, + 11.102777 + ], + [ + 125.681932, + 11.103609 + ], + [ + 125.672495, + 11.089998 + ] + ] + ], + [ + [ + [ + 123.669436, + 12.346945 + ], + [ + 123.241655, + 12.606943 + ], + [ + 123.157763, + 11.908609 + ], + [ + 123.530275, + 12.208609 + ], + [ + 124.076395, + 11.718332 + ], + [ + 123.669436, + 12.346945 + ] + ] + ], + [ + [ + [ + 122.306932, + 12.486387 + ], + [ + 122.283052, + 12.633333 + ], + [ + 122.248034, + 12.56111 + ], + [ + 122.306932, + 12.486387 + ] + ] + ], + [ + [ + [ + 123.792215, + 12.344999 + ], + [ + 123.72777, + 12.601664 + ], + [ + 123.585543, + 12.660555 + ], + [ + 123.792215, + 12.344999 + ] + ] + ], + [ + [ + [ + 122.048601, + 12.176664 + ], + [ + 122.122759, + 12.676943 + ], + [ + 121.917482, + 12.304167 + ], + [ + 122.048601, + 12.176664 + ] + ] + ], + [ + [ + [ + 123.382479, + 12.691942 + ], + [ + 123.048601, + 13.134722 + ], + [ + 122.931932, + 13.109999 + ], + [ + 123.382479, + 12.691942 + ] + ] + ], + [ + [ + [ + 124.21805, + 13.172499 + ], + [ + 124.163309, + 13.232222 + ], + [ + 124.078325, + 13.211111 + ], + [ + 124.21805, + 13.172499 + ] + ] + ], + [ + [ + [ + 124.046099, + 13.220552 + ], + [ + 124.098879, + 13.260557 + ], + [ + 123.914995, + 13.286386 + ], + [ + 123.956102, + 13.2325 + ], + [ + 124.046099, + 13.220552 + ] + ] + ], + [ + [ + [ + 123.913042, + 13.243055 + ], + [ + 123.890482, + 13.27878 + ], + [ + 123.930819, + 13.324442 + ], + [ + 123.851091, + 13.351942 + ], + [ + 123.853868, + 13.267221 + ], + [ + 123.879152, + 13.229445 + ], + [ + 123.913042, + 13.243055 + ] + ] + ], + [ + [ + [ + 122.151384, + 13.395555 + ], + [ + 122.126085, + 13.421946 + ], + [ + 122.131655, + 13.400831 + ], + [ + 122.151384, + 13.395555 + ] + ] + ], + [ + [ + [ + 122.123438, + 13.404104 + ], + [ + 121.813311, + 13.44861 + ], + [ + 122.003328, + 13.202223 + ], + [ + 122.123438, + 13.404104 + ] + ] + ], + [ + [ + [ + 120.721651, + 13.477777 + ], + [ + 120.303308, + 13.443609 + ], + [ + 121.220545, + 12.230555 + ], + [ + 121.558321, + 12.60111 + ], + [ + 121.502214, + 13.14889 + ], + [ + 120.721651, + 13.477777 + ] + ] + ], + [ + [ + [ + 120.281939, + 13.754168 + ], + [ + 120.079988, + 13.849165 + ], + [ + 120.274698, + 13.668333 + ], + [ + 120.281939, + 13.754168 + ] + ] + ], + [ + [ + [ + 124.287363, + 13.946177 + ], + [ + 124.03055, + 13.663889 + ], + [ + 124.20804, + 13.515276 + ], + [ + 124.287363, + 13.946177 + ] + ] + ], + [ + [ + [ + 124.301088, + 13.952223 + ], + [ + 124.303041, + 13.96361 + ], + [ + 124.294146, + 13.958055 + ], + [ + 124.301088, + 13.952223 + ] + ] + ], + [ + [ + [ + 124.342211, + 13.942221 + ], + [ + 124.325274, + 13.981943 + ], + [ + 124.312761, + 13.955 + ], + [ + 124.342211, + 13.942221 + ] + ] + ], + [ + [ + [ + 122.171099, + 13.99861 + ], + [ + 122.124422, + 14.088888 + ], + [ + 121.917482, + 14.185278 + ], + [ + 122.171099, + 13.99861 + ] + ] + ], + [ + [ + [ + 122.254175, + 14.722498 + ], + [ + 122.213045, + 14.839167 + ], + [ + 122.098604, + 14.837778 + ], + [ + 122.254175, + 14.722498 + ] + ] + ], + [ + [ + [ + 122.050814, + 14.996664 + ], + [ + 121.819155, + 14.991667 + ], + [ + 121.930819, + 14.629164 + ], + [ + 122.050814, + 14.996664 + ] + ] + ], + [ + [ + [ + 120.000269, + 16.225554 + ], + [ + 120.002779, + 16.340555 + ], + [ + 119.974154, + 16.346666 + ], + [ + 119.924425, + 16.299444 + ], + [ + 120.000269, + 16.225554 + ] + ] + ], + [ + [ + [ + 121.256655, + 18.566111 + ], + [ + 120.570543, + 18.490831 + ], + [ + 120.421923, + 16.155832 + ], + [ + 120.156649, + 16.036112 + ], + [ + 119.935259, + 16.242773 + ], + [ + 119.919146, + 16.290277 + ], + [ + 119.928865, + 16.384996 + ], + [ + 119.786928, + 16.323053 + ], + [ + 120.086115, + 14.785276 + ], + [ + 120.493319, + 14.42972 + ], + [ + 120.551653, + 14.826944 + ], + [ + 120.956652, + 14.636946 + ], + [ + 120.592211, + 14.231112 + ], + [ + 120.661104, + 13.768332 + ], + [ + 121.279428, + 13.593889 + ], + [ + 121.754709, + 13.964445 + ], + [ + 122.607485, + 13.163889 + ], + [ + 122.560999, + 13.936567 + ], + [ + 123.322222, + 13.008612 + ], + [ + 124.028589, + 12.963053 + ], + [ + 123.848879, + 12.731943 + ], + [ + 124.082766, + 12.540556 + ], + [ + 124.195826, + 13.057775 + ], + [ + 123.762774, + 13.061666 + ], + [ + 123.531939, + 13.575556 + ], + [ + 123.92499, + 13.789167 + ], + [ + 123.34305, + 14.086943 + ], + [ + 123.099993, + 13.667498 + ], + [ + 122.71332, + 14.338331 + ], + [ + 122.165545, + 14.158056 + ], + [ + 122.233324, + 13.897223 + ], + [ + 121.733873, + 14.170832 + ], + [ + 121.378862, + 15.33222 + ], + [ + 122.533335, + 17.099443 + ], + [ + 122.170259, + 17.607222 + ], + [ + 122.241655, + 18.512777 + ], + [ + 121.936655, + 18.269445 + ], + [ + 121.256655, + 18.566111 + ] + ], + [ + [ + 122.735262, + 13.774168 + ], + [ + 122.72748, + 13.777224 + ], + [ + 122.744982, + 13.781668 + ], + [ + 122.735262, + 13.774168 + ] + ] + ], + [ + [ + [ + 121.400545, + 18.847219 + ], + [ + 121.484423, + 18.882776 + ], + [ + 121.279428, + 18.86611 + ], + [ + 121.400545, + 18.847219 + ] + ] + ], + [ + [ + [ + 121.882753, + 18.833334 + ], + [ + 121.946093, + 19.004446 + ], + [ + 121.833055, + 18.880552 + ], + [ + 121.882753, + 18.833334 + ] + ] + ], + [ + [ + [ + 121.25139, + 19.011946 + ], + [ + 121.220263, + 19.172773 + ], + [ + 121.201929, + 19.065275 + ], + [ + 121.25139, + 19.011946 + ] + ] + ], + [ + [ + [ + 121.539705, + 19.266668 + ], + [ + 121.53055, + 19.389719 + ], + [ + 121.372759, + 19.364443 + ], + [ + 121.539705, + 19.266668 + ] + ] + ], + [ + [ + [ + 121.974703, + 19.479998 + ], + [ + 121.993593, + 19.565275 + ], + [ + 121.903055, + 19.550276 + ], + [ + 121.974703, + 19.479998 + ] + ] + ], + [ + [ + [ + 121.886934, + 20.283335 + ], + [ + 121.846369, + 20.352777 + ], + [ + 121.841928, + 20.282499 + ], + [ + 121.886934, + 20.283335 + ] + ] + ], + [ + [ + [ + 121.954439, + 20.348608 + ], + [ + 122.026659, + 20.483332 + ], + [ + 121.923868, + 20.407221 + ], + [ + 121.954439, + 20.348608 + ] + ] + ], + [ + [ + [ + 121.812189, + 20.686663 + ], + [ + 121.883333, + 20.765276 + ], + [ + 121.870821, + 20.834723 + ], + [ + 121.812189, + 20.686663 + ] + ] + ], + [ + [ + [ + 121.956942, + 21.103609 + ], + [ + 121.949709, + 21.118055 + ], + [ + 121.949419, + 21.106108 + ], + [ + 121.956942, + 21.103609 + ] + ] + ] + ] + }, + "name" : "Philippines", + "iso2" : "PH", + "iso3" : "PHL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "8L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -67.880569, + 18.048332 + ], + [ + -67.84668, + 18.107498 + ], + [ + -67.930847, + 18.109722 + ], + [ + -67.880569, + 18.048332 + ] + ] + ], + [ + [ + [ + -65.441391, + 18.090275 + ], + [ + -65.301117, + 18.147778 + ], + [ + -65.580292, + 18.114719 + ], + [ + -65.441391, + 18.090275 + ] + ] + ], + [ + [ + [ + -65.242783, + 18.302219 + ], + [ + -65.338898, + 18.346664 + ], + [ + -65.275284, + 18.276943 + ], + [ + -65.242783, + 18.302219 + ] + ] + ], + [ + [ + [ + -66.996674, + 18.504997 + ], + [ + -67.266113, + 18.368053 + ], + [ + -67.187225, + 17.932499 + ], + [ + -65.603058, + 18.232498 + ], + [ + -66.996674, + 18.504997 + ] + ] + ] + ] + }, + "name" : "Puerto Rico", + "iso2" : "PR", + "iso3" : "PRI" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "8b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 180, + 71.53586 + ], + [ + 178.617739, + 71.03554 + ], + [ + 178.791018, + 70.796404 + ], + [ + 180, + 70.99721 + ], + [ + 180, + 71.53586 + ] + ] + ], + [ + [ + [ + 130.604372, + 42.421862 + ], + [ + 130.638887, + 42.406939 + ], + [ + 130.69742, + 42.292208 + ], + [ + 130.699984, + 42.679163 + ], + [ + 131.221346, + 42.555826 + ], + [ + 131.810518, + 43.325556 + ], + [ + 132.056368, + 43.313326 + ], + [ + 131.943026, + 43.063883 + ], + [ + 132.352175, + 43.292772 + ], + [ + 132.310518, + 42.844439 + ], + [ + 133.151369, + 42.682215 + ], + [ + 135.129671, + 43.49888 + ], + [ + 140.175814, + 48.448603 + ], + [ + 140.407473, + 49.87166 + ], + [ + 140.695803, + 50.087496 + ], + [ + 140.460512, + 50.706659 + ], + [ + 141.514162, + 52.213327 + ], + [ + 140.705538, + 53.113054 + ], + [ + 141.199984, + 52.986383 + ], + [ + 141.41913, + 53.290277 + ], + [ + 139.74634, + 54.308886 + ], + [ + 138.641939, + 54.295275 + ], + [ + 138.444124, + 53.510553 + ], + [ + 138.239412, + 53.562494 + ], + [ + 138.553865, + 53.989435 + ], + [ + 137.310793, + 53.53277 + ], + [ + 137.859133, + 53.961382 + ], + [ + 137.307985, + 54.114443 + ], + [ + 137.738863, + 54.317217 + ], + [ + 137.187166, + 54.214716 + ], + [ + 137.061892, + 54.140833 + ], + [ + 137.289125, + 54.033609 + ], + [ + 137.172487, + 53.834719 + ], + [ + 136.760805, + 53.768602 + ], + [ + 136.816072, + 54.651384 + ], + [ + 135.736635, + 54.570551 + ], + [ + 135.154421, + 54.859438 + ], + [ + 140.49634, + 57.823328 + ], + [ + 140.68857, + 58.233881 + ], + [ + 142.1597, + 59.069162 + ], + [ + 143.926363, + 59.413324 + ], + [ + 148.898043, + 59.239161 + ], + [ + 148.743013, + 59.491663 + ], + [ + 149.598574, + 59.771379 + ], + [ + 152.287752, + 59.226938 + ], + [ + 151.07358, + 59.110552 + ], + [ + 151.30942, + 58.836939 + ], + [ + 152.877169, + 58.917498 + ], + [ + 153.368563, + 59.243052 + ], + [ + 154.74164, + 59.12694 + ], + [ + 155.190523, + 59.357805 + ], + [ + 154.114138, + 59.459719 + ], + [ + 154.232729, + 59.881937 + ], + [ + 157.486635, + 61.803324 + ], + [ + 159.247469, + 61.92222 + ], + [ + 159.531099, + 61.662767 + ], + [ + 160.354952, + 61.947489 + ], + [ + 159.827181, + 61.261385 + ], + [ + 159.78055, + 60.940828 + ], + [ + 160.391359, + 61.025827 + ], + [ + 160.137758, + 60.583605 + ], + [ + 162.403322, + 61.672495 + ], + [ + 163.288027, + 61.664438 + ], + [ + 162.950258, + 61.806383 + ], + [ + 163.263613, + 62.545 + ], + [ + 164.359407, + 62.712214 + ], + [ + 165.642488, + 62.452776 + ], + [ + 164.127748, + 62.28277 + ], + [ + 163.658327, + 60.871935 + ], + [ + 161.914431, + 60.42277 + ], + [ + 158.233309, + 58.019442 + ], + [ + 156.748842, + 57.728327 + ], + [ + 156.977755, + 57.414438 + ], + [ + 155.948854, + 56.666101 + ], + [ + 155.54413, + 55.303606 + ], + [ + 156.668306, + 50.881662 + ], + [ + 158.27582, + 51.936655 + ], + [ + 158.644716, + 52.894716 + ], + [ + 158.430544, + 53.021936 + ], + [ + 160.055239, + 53.093607 + ], + [ + 159.791658, + 53.514719 + ], + [ + 160.005831, + 54.139162 + ], + [ + 162.112185, + 54.761942 + ], + [ + 161.712465, + 55.496943 + ], + [ + 162.036928, + 56.061663 + ], + [ + 162.572206, + 56.267214 + ], + [ + 162.393587, + 56.399996 + ], + [ + 163.089144, + 56.534166 + ], + [ + 162.645266, + 56.191935 + ], + [ + 163.354677, + 56.198603 + ], + [ + 163.213869, + 56.740549 + ], + [ + 162.791353, + 56.791109 + ], + [ + 162.73691, + 57.357775 + ], + [ + 163.213594, + 57.836107 + ], + [ + 162.571077, + 57.951105 + ], + [ + 162.346071, + 57.684717 + ], + [ + 161.938875, + 58.074442 + ], + [ + 163.044771, + 59.010317 + ], + [ + 162.876345, + 59.128046 + ], + [ + 163.193575, + 59.053606 + ], + [ + 163.173037, + 59.55916 + ], + [ + 163.63553, + 60.045549 + ], + [ + 164.15555, + 59.852777 + ], + [ + 164.468569, + 60.111383 + ], + [ + 164.832186, + 59.781107 + ], + [ + 165.182467, + 59.981104 + ], + [ + 164.997194, + 60.129435 + ], + [ + 166.348574, + 60.486383 + ], + [ + 166.137758, + 59.815271 + ], + [ + 167.050264, + 60.323885 + ], + [ + 169.210238, + 60.622766 + ], + [ + 170.248842, + 59.909433 + ], + [ + 170.641939, + 60.417498 + ], + [ + 172.956087, + 61.302774 + ], + [ + 172.710787, + 61.429995 + ], + [ + 177.265535, + 62.574717 + ], + [ + 176.975527, + 62.865549 + ], + [ + 179.061373, + 62.284723 + ], + [ + 179.561098, + 62.621378 + ], + [ + 179.236635, + 62.994158 + ], + [ + 179.408602, + 63.142771 + ], + [ + 178.772219, + 63.594995 + ], + [ + 178.688021, + 63.383051 + ], + [ + 178.26166, + 63.562494 + ], + [ + 178.757479, + 63.639994 + ], + [ + 178.367464, + 64.273882 + ], + [ + 177.631899, + 64.31888 + ], + [ + 177.486086, + 64.761385 + ], + [ + 174.436647, + 64.688311 + ], + [ + 177.303316, + 64.827776 + ], + [ + 176.302767, + 65.04999 + ], + [ + 176.899721, + 65.083605 + ], + [ + 177.609407, + 64.71805 + ], + [ + 178.755556, + 64.682207 + ], + [ + 178.522219, + 64.588045 + ], + [ + 180, + 65.068911 + ], + [ + 180, + 68.980104 + ], + [ + 176.11191, + 69.890551 + ], + [ + 173.191927, + 69.779711 + ], + [ + 170.471895, + 70.134157 + ], + [ + 170.567202, + 69.778048 + ], + [ + 170.123842, + 69.609987 + ], + [ + 170.609133, + 69.580278 + ], + [ + 171.031923, + 69.042208 + ], + [ + 170.61194, + 68.756334 + ], + [ + 168.283327, + 69.241655 + ], + [ + 167.786928, + 69.776094 + ], + [ + 166.860506, + 69.490541 + ], + [ + 164.014437, + 69.767488 + ], + [ + 161.446077, + 69.385546 + ], + [ + 161.579683, + 68.914995 + ], + [ + 161.319429, + 68.792482 + ], + [ + 161.127748, + 68.555254 + ], + [ + 160.846071, + 68.522768 + ], + [ + 161.066072, + 68.563311 + ], + [ + 161.411654, + 68.979708 + ], + [ + 160.963869, + 69.103594 + ], + [ + 160.995241, + 69.58832 + ], + [ + 159.729677, + 69.834719 + ], + [ + 160.038027, + 70.40555 + ], + [ + 159.053865, + 70.869143 + ], + [ + 155.937197, + 71.094439 + ], + [ + 152.538301, + 70.83777 + ], + [ + 151.663607, + 70.980822 + ], + [ + 152.141085, + 70.997484 + ], + [ + 151.45331, + 71.343325 + ], + [ + 150.023592, + 71.207491 + ], + [ + 150.667757, + 71.489428 + ], + [ + 148.82358, + 71.669985 + ], + [ + 150.075258, + 71.883883 + ], + [ + 149.185244, + 72.22249 + ], + [ + 147.139711, + 72.317217 + ], + [ + 146.088289, + 71.793871 + ], + [ + 145.31885, + 71.658037 + ], + [ + 144.913301, + 71.695818 + ], + [ + 145.216341, + 71.827211 + ], + [ + 144.956911, + 71.95833 + ], + [ + 145.802401, + 71.925539 + ], + [ + 145.614962, + 72.080553 + ], + [ + 145.749117, + 72.207216 + ], + [ + 145.608309, + 72.243593 + ], + [ + 145.711641, + 72.252214 + ], + [ + 145.898317, + 72.206102 + ], + [ + 145.985506, + 72.061373 + ], + [ + 146.339968, + 72.128038 + ], + [ + 145.988558, + 72.025545 + ], + [ + 145.964663, + 71.846941 + ], + [ + 146.930269, + 72.30942 + ], + [ + 145.086367, + 72.259157 + ], + [ + 144.391939, + 72.171923 + ], + [ + 144.138582, + 72.27083 + ], + [ + 146.848024, + 72.34749 + ], + [ + 140.748842, + 72.889437 + ], + [ + 141.024141, + 72.585817 + ], + [ + 139.085238, + 72.233324 + ], + [ + 140.198305, + 72.203325 + ], + [ + 139.336641, + 71.945528 + ], + [ + 139.932467, + 71.484987 + ], + [ + 138.066072, + 71.57361 + ], + [ + 137.824129, + 71.383883 + ], + [ + 138.221346, + 71.262209 + ], + [ + 137.854128, + 71.111376 + ], + [ + 135.864962, + 71.639711 + ], + [ + 133.67914, + 71.433321 + ], + [ + 132.728029, + 71.941927 + ], + [ + 131.946627, + 71.289156 + ], + [ + 132.184694, + 71.214708 + ], + [ + 131.130251, + 70.731096 + ], + [ + 128.847445, + 71.601381 + ], + [ + 129.539949, + 71.722216 + ], + [ + 129.072481, + 72.00194 + ], + [ + 129.179934, + 71.800264 + ], + [ + 128.711641, + 71.77054 + ], + [ + 127.658602, + 72.34749 + ], + [ + 126.719149, + 72.388887 + ], + [ + 127.326082, + 71.898043 + ], + [ + 127.220545, + 71.392488 + ], + [ + 127.129412, + 71.851091 + ], + [ + 126.372484, + 72.353319 + ], + [ + 126.117754, + 72.266939 + ], + [ + 124.729715, + 72.626375 + ], + [ + 121.865808, + 72.96805 + ], + [ + 119.817759, + 72.935808 + ], + [ + 118.392214, + 73.235811 + ], + [ + 118.993876, + 73.489153 + ], + [ + 118.634432, + 73.571657 + ], + [ + 113.475275, + 73.504168 + ], + [ + 114.033869, + 73.341936 + ], + [ + 113.546946, + 73.242205 + ], + [ + 113.530825, + 72.960268 + ], + [ + 113.151094, + 72.839434 + ], + [ + 114.04471, + 72.597216 + ], + [ + 113.178591, + 72.723604 + ], + [ + 113.104433, + 72.853594 + ], + [ + 113.486368, + 72.95833 + ], + [ + 113.499422, + 73.334154 + ], + [ + 112.887774, + 73.964998 + ], + [ + 112.248323, + 73.706942 + ], + [ + 111.201395, + 73.967485 + ], + [ + 111.543322, + 74.044985 + ], + [ + 110.200411, + 74.024446 + ], + [ + 109.529161, + 73.770266 + ], + [ + 110.914324, + 73.696688 + ], + [ + 106.333879, + 73.187197 + ], + [ + 105.211931, + 72.764711 + ], + [ + 107.142488, + 73.614702 + ], + [ + 108.189699, + 73.670259 + ], + [ + 113.717485, + 75.408602 + ], + [ + 112.337198, + 75.846651 + ], + [ + 113.509432, + 75.532488 + ], + [ + 113.892488, + 75.849993 + ], + [ + 113.242754, + 76.262209 + ], + [ + 112.566675, + 76.040545 + ], + [ + 112.742754, + 76.328325 + ], + [ + 111.103868, + 76.755266 + ], + [ + 106.401094, + 76.509722 + ], + [ + 107.503603, + 76.922213 + ], + [ + 104.117205, + 77.090822 + ], + [ + 106.291933, + 77.362764 + ], + [ + 104.267488, + 77.675814 + ], + [ + 103.105555, + 77.631929 + ], + [ + 100.849718, + 76.878588 + ], + [ + 101.234713, + 76.753054 + ], + [ + 100.878313, + 76.551378 + ], + [ + 102.233599, + 76.377199 + ], + [ + 98.813875, + 76.492754 + ], + [ + 99.877199, + 76.091661 + ], + [ + 99.171923, + 75.569994 + ], + [ + 100.186258, + 75.168535 + ], + [ + 99.094439, + 75.554979 + ], + [ + 99.768328, + 76.031099 + ], + [ + 99.276934, + 76.214159 + ], + [ + 95.743868, + 75.850542 + ], + [ + 96.197756, + 76.085268 + ], + [ + 93.15555, + 76.097765 + ], + [ + 92.865267, + 75.94832 + ], + [ + 94.161928, + 75.942751 + ], + [ + 86.994982, + 75.151384 + ], + [ + 87.785814, + 75.022219 + ], + [ + 87.181658, + 74.989977 + ], + [ + 87.38666, + 74.943041 + ], + [ + 86.913042, + 74.61249 + ], + [ + 86.029161, + 74.813036 + ], + [ + 85.789156, + 74.630816 + ], + [ + 87.132753, + 74.369143 + ], + [ + 85.951097, + 74.280825 + ], + [ + 87.664995, + 73.894716 + ], + [ + 85.84804, + 73.475267 + ], + [ + 86.783602, + 72.994081 + ], + [ + 85.778322, + 73.459719 + ], + [ + 87.086931, + 73.859423 + ], + [ + 80.509996, + 73.571657 + ], + [ + 80.248598, + 73.31415 + ], + [ + 80.572496, + 73.220537 + ], + [ + 80.231096, + 73.173601 + ], + [ + 80.817217, + 72.966097 + ], + [ + 80.721376, + 72.526094 + ], + [ + 82.192476, + 72.283052 + ], + [ + 83.628588, + 71.623873 + ], + [ + 83.148333, + 71.236101 + ], + [ + 83.745531, + 70.459993 + ], + [ + 83.531664, + 70.339159 + ], + [ + 82.951662, + 70.320543 + ], + [ + 83.130541, + 70.20804 + ], + [ + 83.19359, + 70.123308 + ], + [ + 83.106936, + 70.068605 + ], + [ + 82.639162, + 70.174425 + ], + [ + 83.118868, + 70.887499 + ], + [ + 82.160265, + 70.577486 + ], + [ + 82.346102, + 70.198595 + ], + [ + 82.081102, + 70.567766 + ], + [ + 82.414431, + 70.771105 + ], + [ + 82.257494, + 71.259722 + ], + [ + 83.261644, + 71.721087 + ], + [ + 81.653048, + 71.70804 + ], + [ + 78.538042, + 72.403597 + ], + [ + 77.369982, + 72.098879 + ], + [ + 78.104738, + 71.876146 + ], + [ + 76.09749, + 71.928591 + ], + [ + 76.27054, + 71.571657 + ], + [ + 79.112764, + 71.002489 + ], + [ + 76.915819, + 71.069719 + ], + [ + 75.24193, + 71.376085 + ], + [ + 75.715822, + 72.556643 + ], + [ + 74.829988, + 72.834154 + ], + [ + 74.95804, + 72.109423 + ], + [ + 73.532198, + 71.819155 + ], + [ + 73.015276, + 71.421648 + ], + [ + 74.314989, + 70.673601 + ], + [ + 73.51639, + 69.755556 + ], + [ + 73.894442, + 69.425814 + ], + [ + 73.749422, + 69.168047 + ], + [ + 76.037203, + 69.2372 + ], + [ + 77.634996, + 68.907763 + ], + [ + 78.1747, + 68.265001 + ], + [ + 77.558596, + 68.143877 + ], + [ + 77.462496, + 67.762209 + ], + [ + 79.044847, + 67.567156 + ], + [ + 77.091936, + 67.778597 + ], + [ + 77.324434, + 68.516939 + ], + [ + 76.591661, + 68.968325 + ], + [ + 74.640551, + 68.769152 + ], + [ + 74.332766, + 68.380266 + ], + [ + 74.731661, + 68.143053 + ], + [ + 74.739977, + 67.691652 + ], + [ + 73.908876, + 67.298037 + ], + [ + 73.847216, + 66.981096 + ], + [ + 72.000002, + 66.219439 + ], + [ + 69.38611, + 66.507494 + ], + [ + 68.96776, + 66.804155 + ], + [ + 70.730822, + 66.757219 + ], + [ + 70.291368, + 66.623873 + ], + [ + 70.694979, + 66.508043 + ], + [ + 71.558596, + 66.645266 + ], + [ + 71.410265, + 66.966936 + ], + [ + 72.231096, + 67.16054 + ], + [ + 72.040545, + 67.296938 + ], + [ + 73.040819, + 67.724154 + ], + [ + 73.09804, + 68.216936 + ], + [ + 73.648043, + 68.457766 + ], + [ + 72.553865, + 68.976656 + ], + [ + 72.686373, + 69.849718 + ], + [ + 72.4247, + 70.270266 + ], + [ + 72.778048, + 70.418047 + ], + [ + 72.840548, + 70.865267 + ], + [ + 71.802477, + 71.47249 + ], + [ + 72.881929, + 72.281374 + ], + [ + 72.83333, + 72.708605 + ], + [ + 71.560534, + 72.909716 + ], + [ + 69.333879, + 72.94887 + ], + [ + 68.465548, + 71.818895 + ], + [ + 66.623034, + 71.051653 + ], + [ + 66.891665, + 71.077486 + ], + [ + 66.688875, + 70.760546 + ], + [ + 67.339708, + 70.750277 + ], + [ + 67.088045, + 70.217211 + ], + [ + 67.327776, + 70.09749 + ], + [ + 66.873308, + 70.001101 + ], + [ + 66.79915, + 69.57416 + ], + [ + 66.950274, + 69.528872 + ], + [ + 67.000551, + 69.699709 + ], + [ + 68.101656, + 69.546648 + ], + [ + 68.459719, + 68.978045 + ], + [ + 69.220263, + 68.957216 + ], + [ + 68.436373, + 68.224993 + ], + [ + 68.265001, + 68.187487 + ], + [ + 68.159426, + 68.411379 + ], + [ + 67.193041, + 68.704714 + ], + [ + 67.039156, + 68.789705 + ], + [ + 67.116091, + 68.84276 + ], + [ + 64.787767, + 69.142763 + ], + [ + 65.002779, + 69.298037 + ], + [ + 64.150545, + 69.541933 + ], + [ + 60.874437, + 69.863604 + ], + [ + 60.140551, + 69.57416 + ], + [ + 60.914438, + 68.904711 + ], + [ + 59.811663, + 68.681932 + ], + [ + 59.836107, + 68.366655 + ], + [ + 59.073328, + 68.421373 + ], + [ + 59.427217, + 68.745256 + ], + [ + 58.898333, + 68.999712 + ], + [ + 57.276102, + 68.555819 + ], + [ + 55.324732, + 68.550005 + ], + [ + 54.791941, + 68.163042 + ], + [ + 53.209993, + 68.261385 + ], + [ + 53.945826, + 68.399996 + ], + [ + 53.719713, + 68.651934 + ], + [ + 54.019159, + 68.855257 + ], + [ + 53.598879, + 68.908037 + ], + [ + 54.560823, + 68.992479 + ], + [ + 53.783609, + 68.96805 + ], + [ + 52.288332, + 68.614153 + ], + [ + 52.733049, + 68.466387 + ], + [ + 52.268602, + 68.305819 + ], + [ + 52.074717, + 68.544436 + ], + [ + 48.591105, + 67.934984 + ], + [ + 49.101107, + 67.628038 + ], + [ + 47.994997, + 67.65027 + ], + [ + 47.699717, + 66.986376 + ], + [ + 46.385553, + 66.739702 + ], + [ + 46.600832, + 66.853319 + ], + [ + 44.911936, + 67.372759 + ], + [ + 45.382494, + 67.735537 + ], + [ + 46.706942, + 67.813036 + ], + [ + 46.52083, + 68.144152 + ], + [ + 45.903322, + 68.48221 + ], + [ + 43.311663, + 68.684984 + ], + [ + 44.245829, + 68.270266 + ], + [ + 43.75194, + 67.31888 + ], + [ + 44.496386, + 66.907488 + ], + [ + 44.17444, + 65.874697 + ], + [ + 43.858049, + 66.176928 + ], + [ + 43.354715, + 66.038591 + ], + [ + 43.697489, + 66.235811 + ], + [ + 43.299723, + 66.422213 + ], + [ + 42.168329, + 66.522768 + ], + [ + 39.75139, + 65.550814 + ], + [ + 40.505831, + 64.535265 + ], + [ + 38.046946, + 64.6411 + ], + [ + 38.408602, + 64.858873 + ], + [ + 37.032213, + 65.20833 + ], + [ + 36.439714, + 64.942751 + ], + [ + 37.144716, + 64.408876 + ], + [ + 37.978876, + 64.316668 + ], + [ + 38.077494, + 64.017214 + ], + [ + 37.414995, + 63.803881 + ], + [ + 34.787775, + 64.547762 + ], + [ + 34.936106, + 64.83832 + ], + [ + 34.377771, + 65.378313 + ], + [ + 34.681665, + 65.451097 + ], + [ + 34.690828, + 65.803865 + ], + [ + 34.96361, + 65.71776 + ], + [ + 34.84749, + 65.901094 + ], + [ + 33.312769, + 66.316088 + ], + [ + 33.732492, + 66.423876 + ], + [ + 31.854998, + 67.153872 + ], + [ + 38.607775, + 66.052202 + ], + [ + 40.073328, + 66.277773 + ], + [ + 41.219713, + 66.83777 + ], + [ + 41.390551, + 67.122759 + ], + [ + 40.99222, + 67.716097 + ], + [ + 35.974993, + 69.173037 + ], + [ + 33.719156, + 69.331377 + ], + [ + 33.022768, + 68.953325 + ], + [ + 33.521662, + 69.421923 + ], + [ + 32.809992, + 69.296099 + ], + [ + 33.029417, + 69.471865 + ], + [ + 32.026396, + 69.636538 + ], + [ + 33.093607, + 69.747484 + ], + [ + 30.854841, + 69.792315 + ], + [ + 30.910002, + 69.548876 + ], + [ + 30.103334, + 69.663057 + ], + [ + 28.957342, + 69.051622 + ], + [ + 28.431944, + 68.896944 + ], + [ + 28.820555, + 68.844439 + ], + [ + 28.457499, + 68.531939 + ], + [ + 28.693335, + 68.197496 + ], + [ + 30.028612, + 67.694719 + ], + [ + 29.074999, + 66.89583 + ], + [ + 30.134165, + 65.719164 + ], + [ + 29.818888, + 65.653322 + ], + [ + 29.636667, + 64.928057 + ], + [ + 30.578054, + 64.221376 + ], + [ + 29.993334, + 63.743608 + ], + [ + 31.58893, + 62.914415 + ], + [ + 27.807833, + 60.546404 + ], + [ + 28.686663, + 60.735826 + ], + [ + 28.601942, + 60.384439 + ], + [ + 30.245829, + 59.975267 + ], + [ + 28.080278, + 59.796389 + ], + [ + 28.015833, + 59.478601 + ], + [ + 28.170359, + 59.309782 + ], + [ + 27.426107, + 58.813608 + ], + [ + 27.823053, + 57.87388 + ], + [ + 27.372061, + 57.535639 + ], + [ + 27.861109, + 57.302217 + ], + [ + 27.701662, + 56.914713 + ], + [ + 28.168013, + 56.150156 + ], + [ + 30.926249, + 55.602571 + ], + [ + 31.029722, + 55.043329 + ], + [ + 30.781389, + 54.793612 + ], + [ + 31.844164, + 54.06444 + ], + [ + 31.764227, + 53.802622 + ], + [ + 32.741106, + 53.463053 + ], + [ + 31.266943, + 53.024714 + ], + [ + 31.783888, + 52.108049 + ], + [ + 33.417704, + 52.355402 + ], + [ + 33.838884, + 52.360552 + ], + [ + 34.419718, + 51.808886 + ], + [ + 34.098047, + 51.653879 + ], + [ + 34.382212, + 51.263613 + ], + [ + 35.371889, + 51.041437 + ], + [ + 35.606653, + 50.36944 + ], + [ + 37.458605, + 50.439714 + ], + [ + 38.024225, + 49.903086 + ], + [ + 38.307772, + 50.073885 + ], + [ + 40.139765, + 49.601053 + ], + [ + 40.166941, + 49.248606 + ], + [ + 39.696657, + 49.010828 + ], + [ + 40.076662, + 48.874994 + ], + [ + 39.656939, + 48.616663 + ], + [ + 39.99888, + 48.29722 + ], + [ + 39.796389, + 47.857218 + ], + [ + 38.853601, + 47.860826 + ], + [ + 38.303324, + 47.558596 + ], + [ + 38.235826, + 47.10943 + ], + [ + 39.29999, + 47.076937 + ], + [ + 38.410814, + 46.828051 + ], + [ + 38.581659, + 46.650827 + ], + [ + 37.734995, + 46.669161 + ], + [ + 38.574434, + 46.089708 + ], + [ + 37.940264, + 46.025827 + ], + [ + 37.591372, + 45.627481 + ], + [ + 37.737207, + 45.299166 + ], + [ + 36.830828, + 45.436647 + ], + [ + 36.960543, + 45.274996 + ], + [ + 36.575274, + 45.18471 + ], + [ + 38.760279, + 44.270266 + ], + [ + 40.00297, + 43.379267 + ], + [ + 40.253389, + 43.582521 + ], + [ + 42.849993, + 43.179155 + ], + [ + 43.911936, + 42.583323 + ], + [ + 44.93471, + 42.760279 + ], + [ + 46.451754, + 41.897058 + ], + [ + 46.571383, + 41.871935 + ], + [ + 47.766932, + 41.196093 + ], + [ + 48.583956, + 41.835772 + ], + [ + 47.462214, + 43.019152 + ], + [ + 47.69832, + 43.868876 + ], + [ + 47.407206, + 43.501101 + ], + [ + 47.350267, + 44.026651 + ], + [ + 46.679712, + 44.523043 + ], + [ + 47.569155, + 45.557489 + ], + [ + 47.380274, + 45.744715 + ], + [ + 47.637217, + 45.553041 + ], + [ + 47.552217, + 45.769442 + ], + [ + 47.830545, + 45.655825 + ], + [ + 48.565821, + 45.96583 + ], + [ + 48.713327, + 45.830271 + ], + [ + 48.627764, + 46.082766 + ], + [ + 49.222528, + 46.346308 + ], + [ + 48.560549, + 46.564997 + ], + [ + 49.027208, + 46.776094 + ], + [ + 48.204432, + 47.704988 + ], + [ + 47.383326, + 47.688883 + ], + [ + 47.122766, + 48.271662 + ], + [ + 46.499163, + 48.417498 + ], + [ + 47.062769, + 49.142771 + ], + [ + 46.795832, + 49.339716 + ], + [ + 46.929438, + 49.863611 + ], + [ + 47.52083, + 50.43638 + ], + [ + 48.251665, + 49.869715 + ], + [ + 48.796946, + 49.941935 + ], + [ + 48.697489, + 50.591936 + ], + [ + 50.773302, + 51.769182 + ], + [ + 51.303049, + 51.479715 + ], + [ + 52.338327, + 51.782213 + ], + [ + 52.603327, + 51.456942 + ], + [ + 53.428606, + 51.491663 + ], + [ + 54.506388, + 50.856943 + ], + [ + 54.523935, + 50.528841 + ], + [ + 54.647219, + 51.036943 + ], + [ + 55.692492, + 50.532495 + ], + [ + 56.510828, + 51.08333 + ], + [ + 57.481936, + 50.864717 + ], + [ + 58.33777, + 51.156099 + ], + [ + 59.542498, + 50.478327 + ], + [ + 60.043612, + 50.863329 + ], + [ + 61.38138, + 50.783609 + ], + [ + 61.685823, + 51.265833 + ], + [ + 60.002222, + 51.95833 + ], + [ + 61.061937, + 52.342493 + ], + [ + 60.694155, + 52.680826 + ], + [ + 61.099161, + 52.981661 + ], + [ + 62.118326, + 53.004168 + ], + [ + 61.184717, + 53.306658 + ], + [ + 61.577494, + 53.51333 + ], + [ + 60.90555, + 53.620272 + ], + [ + 61.226938, + 53.811937 + ], + [ + 61.014162, + 53.947489 + ], + [ + 62.547495, + 53.879435 + ], + [ + 63.17222, + 54.18638 + ], + [ + 65.216387, + 54.318888 + ], + [ + 65.483324, + 54.638048 + ], + [ + 69.185534, + 55.343882 + ], + [ + 70.843325, + 55.301935 + ], + [ + 71.278872, + 54.690271 + ], + [ + 70.996935, + 54.339159 + ], + [ + 71.185534, + 54.103327 + ], + [ + 72.196093, + 54.137499 + ], + [ + 72.051653, + 54.387774 + ], + [ + 72.468599, + 53.908884 + ], + [ + 72.613314, + 54.145273 + ], + [ + 73.763887, + 54.065546 + ], + [ + 73.238588, + 53.644442 + ], + [ + 73.437197, + 53.436106 + ], + [ + 74.429155, + 53.478601 + ], + [ + 76.811647, + 54.447771 + ], + [ + 76.521654, + 53.993883 + ], + [ + 77.908037, + 53.271105 + ], + [ + 80.077959, + 50.758089 + ], + [ + 80.687838, + 51.314722 + ], + [ + 81.46805, + 50.74222 + ], + [ + 83.456377, + 51.002497 + ], + [ + 84.363039, + 50.212214 + ], + [ + 85.014437, + 50.07583 + ], + [ + 85.258608, + 49.591379 + ], + [ + 86.191088, + 49.47249 + ], + [ + 86.774996, + 49.788889 + ], + [ + 86.616655, + 49.587214 + ], + [ + 87.348207, + 49.092623 + ], + [ + 87.8407, + 49.172953 + ], + [ + 92.322771, + 50.814997 + ], + [ + 94.274996, + 50.569445 + ], + [ + 94.635271, + 50.024439 + ], + [ + 97.340822, + 49.734438 + ], + [ + 98.289705, + 50.293886 + ], + [ + 97.827776, + 51.001108 + ], + [ + 98.930269, + 52.14361 + ], + [ + 102.218874, + 51.333605 + ], + [ + 102.327768, + 50.569719 + ], + [ + 102.918589, + 50.315271 + ], + [ + 106.663042, + 50.338602 + ], + [ + 107.977129, + 49.943628 + ], + [ + 107.949144, + 49.678049 + ], + [ + 108.572222, + 49.333605 + ], + [ + 110.788591, + 49.149439 + ], + [ + 113.090822, + 49.598604 + ], + [ + 114.313028, + 50.284166 + ], + [ + 116.711382, + 49.830469 + ], + [ + 117.874712, + 49.520578 + ], + [ + 119.214159, + 50.015276 + ], + [ + 119.361368, + 50.336939 + ], + [ + 119.138605, + 50.394716 + ], + [ + 120.776659, + 52.115 + ], + [ + 120.71361, + 52.544718 + ], + [ + 120.029161, + 52.768053 + ], + [ + 120.863878, + 53.279718 + ], + [ + 123.382204, + 53.526659 + ], + [ + 126.095545, + 52.764444 + ], + [ + 127.586069, + 50.208567 + ], + [ + 127.529428, + 49.789164 + ], + [ + 130.671633, + 48.865 + ], + [ + 130.521639, + 48.607775 + ], + [ + 130.988558, + 47.688601 + ], + [ + 132.52109, + 47.710276 + ], + [ + 133.088564, + 48.101664 + ], + [ + 134.740755, + 48.26713 + ], + [ + 134.767214, + 47.707499 + ], + [ + 134.182467, + 47.323328 + ], + [ + 133.900179, + 46.250315 + ], + [ + 133.122194, + 45.128603 + ], + [ + 131.864687, + 45.345545 + ], + [ + 130.949984, + 44.841105 + ], + [ + 131.311373, + 43.392221 + ], + [ + 131.123293, + 42.910822 + ], + [ + 130.405245, + 42.71805 + ], + [ + 130.604372, + 42.421862 + ] + ], + [ + [ + 86.902208, + 73.697481 + ], + [ + 86.73665, + 73.595263 + ], + [ + 86.394991, + 73.58832 + ], + [ + 86.902208, + 73.697481 + ] + ], + [ + [ + 40.274439, + 64.874147 + ], + [ + 40.209719, + 64.992479 + ], + [ + 40.278879, + 64.945818 + ], + [ + 40.274439, + 64.874147 + ] + ] + ], + [ + [ + [ + 170.151094, + 69.734148 + ], + [ + 170.20331, + 69.788317 + ], + [ + 169.984957, + 69.748034 + ], + [ + 170.151094, + 69.734148 + ] + ] + ], + [ + [ + [ + 169.447481, + 69.80887 + ], + [ + 167.751925, + 69.827486 + ], + [ + 168.868288, + 69.567766 + ], + [ + 169.447481, + 69.80887 + ] + ] + ], + [ + [ + [ + 167.855806, + 54.681383 + ], + [ + 167.432985, + 54.863077 + ], + [ + 168.116915, + 54.507776 + ], + [ + 167.855806, + 54.681383 + ] + ] + ], + [ + [ + [ + 166.119112, + 55.328608 + ], + [ + 165.838015, + 55.264444 + ], + [ + 166.663027, + 54.674166 + ], + [ + 166.119112, + 55.328608 + ] + ] + ], + [ + [ + [ + 164.656923, + 59.084436 + ], + [ + 163.699404, + 59.014444 + ], + [ + 163.38553, + 58.559404 + ], + [ + 164.656923, + 59.084436 + ] + ] + ], + [ + [ + [ + 162.381899, + 70.679155 + ], + [ + 162.236635, + 70.659151 + ], + [ + 162.484957, + 70.651094 + ], + [ + 162.381899, + 70.679155 + ] + ] + ], + [ + [ + [ + 161.69385, + 70.750277 + ], + [ + 161.657747, + 70.808596 + ], + [ + 161.463289, + 70.803591 + ], + [ + 161.69385, + 70.750277 + ] + ] + ], + [ + [ + [ + 161.437746, + 69.408037 + ], + [ + 161.622194, + 69.588594 + ], + [ + 161.394991, + 69.590822 + ], + [ + 161.437746, + 69.408037 + ] + ] + ], + [ + [ + [ + 161.4433, + 68.889986 + ], + [ + 161.509157, + 68.915545 + ], + [ + 161.515261, + 68.9872 + ], + [ + 161.38611, + 69.10248 + ], + [ + 161.319979, + 69.241091 + ], + [ + 161.361361, + 69.358599 + ], + [ + 161.289339, + 69.415865 + ], + [ + 161.388887, + 69.459154 + ], + [ + 161.377748, + 69.532213 + ], + [ + 161.096346, + 69.470537 + ], + [ + 161.134432, + 69.089708 + ], + [ + 161.45801, + 68.995531 + ], + [ + 161.4433, + 68.889986 + ] + ] + ], + [ + [ + [ + 160.619112, + 70.814699 + ], + [ + 160.71979, + 70.818514 + ], + [ + 160.408022, + 70.919146 + ], + [ + 160.619112, + 70.814699 + ] + ] + ], + [ + [ + [ + 156.617739, + 77.103868 + ], + [ + 156.73218, + 77.125811 + ], + [ + 156.434145, + 77.135271 + ], + [ + 156.617739, + 77.103868 + ] + ] + ], + [ + [ + [ + 156.403826, + 50.653399 + ], + [ + 156.463869, + 50.86944 + ], + [ + 156.164431, + 50.728601 + ], + [ + 156.403826, + 50.653399 + ] + ] + ], + [ + [ + [ + 155.785524, + 50.184992 + ], + [ + 156.104128, + 50.76111 + ], + [ + 155.20859, + 50.080828 + ], + [ + 155.785524, + 50.184992 + ] + ] + ], + [ + [ + [ + 155.62079, + 50.806101 + ], + [ + 155.639162, + 50.920832 + ], + [ + 155.447756, + 50.897776 + ], + [ + 155.62079, + 50.806101 + ] + ] + ], + [ + [ + [ + 155.555819, + 59.321939 + ], + [ + 155.555819, + 59.359163 + ], + [ + 155.478304, + 59.317217 + ], + [ + 155.555819, + 59.321939 + ] + ] + ], + [ + [ + [ + 154.715792, + 49.263887 + ], + [ + 154.904421, + 49.624163 + ], + [ + 154.602449, + 49.373606 + ], + [ + 154.715792, + 49.263887 + ] + ] + ], + [ + [ + [ + 154.454683, + 49.169161 + ], + [ + 154.500551, + 49.074442 + ], + [ + 154.598848, + 49.11194 + ], + [ + 154.454683, + 49.169161 + ] + ] + ], + [ + [ + [ + 154.42499, + 49.733606 + ], + [ + 154.459963, + 49.813883 + ], + [ + 154.374971, + 49.824999 + ], + [ + 154.42499, + 49.733606 + ] + ] + ], + [ + [ + [ + 154.019442, + 48.723322 + ], + [ + 154.228853, + 48.902491 + ], + [ + 154.112185, + 48.894999 + ], + [ + 154.019442, + 48.723322 + ] + ] + ], + [ + [ + [ + 153.981905, + 48.926661 + ], + [ + 154.004702, + 48.96361 + ], + [ + 153.901918, + 48.969988 + ], + [ + 153.981905, + 48.926661 + ] + ] + ], + [ + [ + [ + 153.290529, + 48.053606 + ], + [ + 153.223299, + 48.133051 + ], + [ + 153.137758, + 48.101107 + ], + [ + 153.290529, + 48.053606 + ] + ] + ], + [ + [ + [ + 153.016085, + 47.693048 + ], + [ + 153.080263, + 47.714159 + ], + [ + 153.074129, + 47.808329 + ], + [ + 153.016085, + 47.693048 + ] + ] + ], + [ + [ + [ + 152.741335, + 76.107759 + ], + [ + 152.756655, + 76.211931 + ], + [ + 152.455233, + 76.156939 + ], + [ + 152.741335, + 76.107759 + ] + ] + ], + [ + [ + [ + 152.519136, + 47.307215 + ], + [ + 152.503878, + 47.377214 + ], + [ + 152.388033, + 47.344156 + ], + [ + 152.519136, + 47.307215 + ] + ] + ], + [ + [ + [ + 152.225527, + 47.174715 + ], + [ + 151.712191, + 46.801104 + ], + [ + 152.013033, + 46.888887 + ], + [ + 152.225527, + 47.174715 + ] + ] + ], + [ + [ + [ + 147.018312, + 75.334719 + ], + [ + 146.41498, + 75.586107 + ], + [ + 146.070253, + 75.226656 + ], + [ + 148.704409, + 74.759996 + ], + [ + 150.953035, + 75.139437 + ], + [ + 147.018312, + 75.334719 + ] + ] + ], + [ + [ + [ + 150.874117, + 46.440828 + ], + [ + 150.841921, + 46.471102 + ], + [ + 150.798525, + 46.449984 + ], + [ + 150.874117, + 46.440828 + ] + ] + ], + [ + [ + [ + 150.764986, + 46.703882 + ], + [ + 150.762209, + 46.727488 + ], + [ + 150.730806, + 46.722765 + ], + [ + 150.764986, + 46.703882 + ] + ] + ], + [ + [ + [ + 150.590517, + 59.019716 + ], + [ + 150.743837, + 59.11194 + ], + [ + 150.454561, + 59.017801 + ], + [ + 150.590517, + 59.019716 + ] + ] + ], + [ + [ + [ + 150.066378, + 45.84749 + ], + [ + 150.498568, + 46.192492 + ], + [ + 149.437471, + 45.583605 + ], + [ + 150.066378, + 45.84749 + ] + ] + ], + [ + [ + [ + 149.314425, + 76.753603 + ], + [ + 148.392214, + 76.643602 + ], + [ + 149.168856, + 76.650545 + ], + [ + 149.314425, + 76.753603 + ] + ] + ], + [ + [ + [ + 149.104677, + 59.187769 + ], + [ + 149.005251, + 59.211107 + ], + [ + 148.941011, + 59.141672 + ], + [ + 149.104677, + 59.187769 + ] + ] + ], + [ + [ + [ + 148.825258, + 45.334993 + ], + [ + 147.932741, + 45.421381 + ], + [ + 146.840517, + 44.415545 + ], + [ + 148.825258, + 45.334993 + ] + ] + ], + [ + [ + [ + 146.669985, + 43.704439 + ], + [ + 146.90497, + 43.839991 + ], + [ + 146.604677, + 43.803881 + ], + [ + 146.669985, + 43.704439 + ] + ] + ], + [ + [ + [ + 146.148043, + 44.509996 + ], + [ + 145.437471, + 43.716936 + ], + [ + 146.568026, + 44.438326 + ], + [ + 146.148043, + 44.509996 + ] + ] + ], + [ + [ + [ + 146.137484, + 43.458887 + ], + [ + 146.226076, + 43.525553 + ], + [ + 146.076082, + 43.51333 + ], + [ + 146.137484, + 43.458887 + ] + ] + ], + [ + [ + [ + 139.190798, + 76.072222 + ], + [ + 137.449984, + 75.954714 + ], + [ + 137.744692, + 75.748323 + ], + [ + 136.958559, + 75.604219 + ], + [ + 137.40497, + 75.352205 + ], + [ + 136.861361, + 75.349154 + ], + [ + 139.096071, + 74.647219 + ], + [ + 139.646944, + 74.979158 + ], + [ + 143.706911, + 74.938585 + ], + [ + 142.612459, + 75.099718 + ], + [ + 142.155245, + 75.375536 + ], + [ + 142.447481, + 75.711107 + ], + [ + 143.040529, + 75.66971 + ], + [ + 142.506044, + 75.453722 + ], + [ + 142.903597, + 75.133883 + ], + [ + 143.949709, + 75.026934 + ], + [ + 145.394716, + 75.517488 + ], + [ + 141.35663, + 76.180544 + ], + [ + 141.619692, + 76.012499 + ], + [ + 140.971895, + 76.039156 + ], + [ + 141.060793, + 75.645266 + ], + [ + 140.479128, + 75.63611 + ], + [ + 139.190798, + 76.072222 + ] + ] + ], + [ + [ + [ + 143.661928, + 49.312212 + ], + [ + 144.75165, + 48.641939 + ], + [ + 143.220797, + 51.521379 + ], + [ + 143.290804, + 53.130274 + ], + [ + 142.696627, + 54.424715 + ], + [ + 142.393862, + 54.237497 + ], + [ + 142.798311, + 53.697489 + ], + [ + 141.766939, + 53.371378 + ], + [ + 141.638033, + 52.315828 + ], + [ + 142.267214, + 51.120272 + ], + [ + 141.852449, + 48.750277 + ], + [ + 142.188875, + 47.975267 + ], + [ + 141.812746, + 46.586107 + ], + [ + 142.077456, + 45.891382 + ], + [ + 142.709688, + 46.744158 + ], + [ + 143.378572, + 46.548334 + ], + [ + 143.473848, + 46.092768 + ], + [ + 143.49164, + 46.808603 + ], + [ + 143.088289, + 46.801661 + ], + [ + 142.5347, + 48.002779 + ], + [ + 143.017763, + 49.139719 + ], + [ + 143.661928, + 49.312212 + ] + ], + [ + [ + 143.661928, + 49.312212 + ], + [ + 143.320253, + 49.313608 + ], + [ + 143.246065, + 49.37916 + ], + [ + 143.661928, + 49.312212 + ] + ] + ], + [ + [ + [ + 142.15497, + 73.889986 + ], + [ + 139.653597, + 73.402208 + ], + [ + 143.505831, + 73.230272 + ], + [ + 143.431917, + 73.522493 + ], + [ + 142.15497, + 73.889986 + ] + ] + ], + [ + [ + [ + 140.910799, + 76.066942 + ], + [ + 141.079409, + 76.109423 + ], + [ + 140.8472, + 76.095537 + ], + [ + 140.910799, + 76.066942 + ] + ] + ], + [ + [ + [ + 141.02054, + 73.992754 + ], + [ + 140.874392, + 74.271105 + ], + [ + 140.072756, + 74.097765 + ], + [ + 141.02054, + 73.992754 + ] + ] + ], + [ + [ + [ + 140.745943, + 75.651857 + ], + [ + 140.769991, + 75.677202 + ], + [ + 140.519442, + 75.705828 + ], + [ + 140.745943, + 75.651857 + ] + ] + ], + [ + [ + [ + 138.516085, + 71.856096 + ], + [ + 138.362459, + 71.885546 + ], + [ + 138.273867, + 71.859987 + ], + [ + 138.516085, + 71.856096 + ] + ] + ], + [ + [ + [ + 137.991335, + 54.885553 + ], + [ + 138.204134, + 55.043886 + ], + [ + 137.57831, + 55.190546 + ], + [ + 137.221315, + 54.773722 + ], + [ + 137.707186, + 54.618326 + ], + [ + 137.991335, + 54.885553 + ] + ] + ], + [ + [ + [ + 137.961092, + 71.503054 + ], + [ + 136.991335, + 71.515551 + ], + [ + 137.676912, + 71.411654 + ], + [ + 137.961092, + 71.503054 + ] + ] + ], + [ + [ + [ + 137.77997, + 54.366388 + ], + [ + 137.913881, + 54.507776 + ], + [ + 137.708315, + 54.368601 + ], + [ + 137.77997, + 54.366388 + ] + ] + ], + [ + [ + [ + 137.632174, + 54.41305 + ], + [ + 137.618563, + 54.565271 + ], + [ + 137.548861, + 54.504999 + ], + [ + 137.632174, + 54.41305 + ] + ] + ], + [ + [ + [ + 137.188295, + 55.102221 + ], + [ + 136.667269, + 54.905062 + ], + [ + 137.046083, + 54.917498 + ], + [ + 137.188295, + 55.102221 + ] + ] + ], + [ + [ + [ + 135.649996, + 74.2036 + ], + [ + 135.353579, + 74.252779 + ], + [ + 136.272493, + 73.935808 + ], + [ + 135.649996, + 74.2036 + ] + ] + ], + [ + [ + [ + 135.653872, + 75.364992 + ], + [ + 136.177767, + 75.619143 + ], + [ + 135.70801, + 75.849993 + ], + [ + 135.444124, + 75.440813 + ], + [ + 135.653872, + 75.364992 + ] + ] + ], + [ + [ + [ + 131.873293, + 42.956942 + ], + [ + 131.917208, + 43.021105 + ], + [ + 131.77997, + 43.04944 + ], + [ + 131.873293, + 42.956942 + ] + ] + ], + [ + [ + [ + 128.143038, + 72.578875 + ], + [ + 126.65027, + 72.436098 + ], + [ + 127.549715, + 72.433321 + ], + [ + 128.763613, + 72.07416 + ], + [ + 129.561098, + 72.225267 + ], + [ + 128.143038, + 72.578875 + ] + ] + ], + [ + [ + [ + 129.355806, + 72.702776 + ], + [ + 128.301912, + 72.787767 + ], + [ + 127.31415, + 72.653322 + ], + [ + 129.355806, + 72.702776 + ] + ] + ], + [ + [ + [ + 129.230257, + 72.831942 + ], + [ + 128.290529, + 72.866091 + ], + [ + 129.298037, + 72.800264 + ], + [ + 129.230257, + 72.831942 + ] + ] + ], + [ + [ + [ + 127.296373, + 73.517214 + ], + [ + 126.659418, + 73.416933 + ], + [ + 126.771929, + 73.076387 + ], + [ + 126.333879, + 72.897219 + ], + [ + 126.449999, + 72.78554 + ], + [ + 126.302469, + 72.501101 + ], + [ + 126.526934, + 72.400545 + ], + [ + 126.589434, + 72.535814 + ], + [ + 129.118288, + 73.094713 + ], + [ + 127.296373, + 73.517214 + ] + ] + ], + [ + [ + [ + 128.838869, + 72.576662 + ], + [ + 128.9722, + 72.590822 + ], + [ + 128.100527, + 72.63196 + ], + [ + 128.838869, + 72.576662 + ] + ] + ], + [ + [ + [ + 128.055544, + 73.483049 + ], + [ + 127.707766, + 73.53554 + ], + [ + 127.388048, + 73.520266 + ], + [ + 128.055544, + 73.483049 + ] + ] + ], + [ + [ + [ + 124.604433, + 73.728594 + ], + [ + 123.376925, + 73.662493 + ], + [ + 123.219149, + 73.404711 + ], + [ + 123.658869, + 73.168047 + ], + [ + 122.428041, + 72.981936 + ], + [ + 124.765001, + 72.670824 + ], + [ + 126.125528, + 72.300539 + ], + [ + 126.34833, + 72.379976 + ], + [ + 126.244432, + 72.518877 + ], + [ + 126.38582, + 72.792757 + ], + [ + 126.278055, + 72.879976 + ], + [ + 126.714998, + 73.084429 + ], + [ + 126.156649, + 73.374422 + ], + [ + 126.30887, + 73.545824 + ], + [ + 125.560259, + 73.403048 + ], + [ + 124.604433, + 73.728594 + ] + ] + ], + [ + [ + [ + 124.545259, + 73.853319 + ], + [ + 124.65999, + 73.898043 + ], + [ + 124.287775, + 73.884432 + ], + [ + 124.545259, + 73.853319 + ] + ] + ], + [ + [ + [ + 122.955835, + 72.863314 + ], + [ + 122.302469, + 72.937487 + ], + [ + 123.605822, + 72.777773 + ], + [ + 122.955835, + 72.863314 + ] + ] + ], + [ + [ + [ + 120.213884, + 73.042482 + ], + [ + 120.086931, + 73.152483 + ], + [ + 119.629702, + 73.114702 + ], + [ + 120.213884, + 73.042482 + ] + ] + ], + [ + [ + [ + 116.06888, + 74.286928 + ], + [ + 116.067492, + 74.369143 + ], + [ + 115.88582, + 74.320269 + ], + [ + 116.06888, + 74.286928 + ] + ] + ], + [ + [ + [ + 113.439974, + 76.360537 + ], + [ + 113.258883, + 76.436373 + ], + [ + 113.118761, + 76.369997 + ], + [ + 113.439974, + 76.360537 + ] + ] + ], + [ + [ + [ + 112.71332, + 74.498873 + ], + [ + 111.455553, + 74.316668 + ], + [ + 112.787775, + 74.091936 + ], + [ + 113.433321, + 74.393877 + ], + [ + 112.71332, + 74.498873 + ] + ] + ], + [ + [ + [ + 112.521929, + 76.622484 + ], + [ + 111.956652, + 76.598604 + ], + [ + 112.713884, + 76.510546 + ], + [ + 112.521929, + 76.622484 + ] + ] + ], + [ + [ + [ + 107.561922, + 77.254992 + ], + [ + 107.666658, + 77.330828 + ], + [ + 107.200274, + 77.233873 + ], + [ + 107.561922, + 77.254992 + ] + ] + ], + [ + [ + [ + 107.635271, + 78.166094 + ], + [ + 106.493044, + 78.121645 + ], + [ + 107.438875, + 78.049425 + ], + [ + 107.635271, + 78.166094 + ] + ] + ], + [ + [ + [ + 106.646654, + 77.376085 + ], + [ + 106.90082, + 77.459154 + ], + [ + 106.504175, + 77.389986 + ], + [ + 106.646654, + 77.376085 + ] + ] + ], + [ + [ + [ + 106.761385, + 78.303591 + ], + [ + 106.458605, + 78.334719 + ], + [ + 105.992754, + 78.214159 + ], + [ + 106.761385, + 78.303591 + ] + ] + ], + [ + [ + [ + 106.402483, + 77.303591 + ], + [ + 106.45833, + 77.315264 + ], + [ + 106.331675, + 77.318056 + ], + [ + 106.402483, + 77.303591 + ] + ] + ], + [ + [ + [ + 105.884722, + 77.261385 + ], + [ + 106.007769, + 77.282488 + ], + [ + 105.78055, + 77.274157 + ], + [ + 105.884722, + 77.261385 + ] + ] + ], + [ + [ + [ + 102.972765, + 79.331377 + ], + [ + 101.550814, + 79.34833 + ], + [ + 100.988878, + 79.061098 + ], + [ + 101.624422, + 78.98221 + ], + [ + 100.893885, + 78.976656 + ], + [ + 101.168055, + 78.758333 + ], + [ + 100.378313, + 78.745256 + ], + [ + 99.341372, + 78.019991 + ], + [ + 105.414431, + 78.564699 + ], + [ + 103.946932, + 79.133333 + ], + [ + 102.393335, + 78.8286 + ], + [ + 102.972765, + 79.331377 + ] + ] + ], + [ + [ + [ + 100.01082, + 79.62221 + ], + [ + 99.903597, + 79.599993 + ], + [ + 100.306643, + 79.664705 + ], + [ + 100.01082, + 79.62221 + ] + ] + ], + [ + [ + [ + 99.945818, + 79.401384 + ], + [ + 100.017763, + 79.433046 + ], + [ + 99.850542, + 79.415545 + ], + [ + 99.945818, + 79.401384 + ] + ] + ], + [ + [ + [ + 97.614992, + 80.165545 + ], + [ + 95.580278, + 80.111376 + ], + [ + 95.269442, + 80.01639 + ], + [ + 94.936647, + 80.099428 + ], + [ + 94.222216, + 79.897768 + ], + [ + 94.616091, + 79.811922 + ], + [ + 92.850817, + 79.553865 + ], + [ + 93.878038, + 79.601381 + ], + [ + 93.69887, + 79.456102 + ], + [ + 94.332491, + 79.465548 + ], + [ + 94.777208, + 79.084429 + ], + [ + 97.304705, + 78.845263 + ], + [ + 99.938875, + 78.953325 + ], + [ + 99.035265, + 79.29027 + ], + [ + 99.659151, + 79.295824 + ], + [ + 100.015268, + 79.82416 + ], + [ + 98.528597, + 80.052477 + ], + [ + 97.193041, + 79.702211 + ], + [ + 98.034426, + 80.067492 + ], + [ + 97.614992, + 80.165545 + ] + ] + ], + [ + [ + [ + 95.958605, + 81.217211 + ], + [ + 93.068605, + 80.994432 + ], + [ + 92.48749, + 80.767488 + ], + [ + 93.325548, + 80.805819 + ], + [ + 91.889437, + 80.457766 + ], + [ + 92.623873, + 80.384996 + ], + [ + 91.421373, + 80.307756 + ], + [ + 93.246645, + 80.305544 + ], + [ + 92.061647, + 80.170259 + ], + [ + 93.753054, + 79.995821 + ], + [ + 94.80971, + 80.139986 + ], + [ + 97.158876, + 80.233599 + ], + [ + 97.426378, + 80.310808 + ], + [ + 97.129152, + 80.662767 + ], + [ + 97.969439, + 80.715548 + ], + [ + 95.958605, + 81.217211 + ] + ] + ], + [ + [ + [ + 97.869982, + 76.770266 + ], + [ + 97.919436, + 76.83832 + ], + [ + 97.729433, + 76.818331 + ], + [ + 97.869982, + 76.770266 + ] + ] + ], + [ + [ + [ + 97.546373, + 76.582216 + ], + [ + 97.440538, + 76.714998 + ], + [ + 97.316378, + 76.606646 + ], + [ + 97.546373, + 76.582216 + ] + ] + ], + [ + [ + [ + 96.766939, + 75.975267 + ], + [ + 97.337282, + 76.102083 + ], + [ + 96.695818, + 76.011385 + ], + [ + 96.766939, + 75.975267 + ] + ] + ], + [ + [ + [ + 96.997484, + 76.277208 + ], + [ + 96.834429, + 76.346941 + ], + [ + 96.711107, + 76.21361 + ], + [ + 96.997484, + 76.277208 + ] + ] + ], + [ + [ + [ + 96.756945, + 76.322771 + ], + [ + 96.383043, + 76.331942 + ], + [ + 96.664705, + 76.292482 + ], + [ + 96.756945, + 76.322771 + ] + ] + ], + [ + [ + [ + 96.366381, + 76.301088 + ], + [ + 95.263613, + 76.213045 + ], + [ + 96.649431, + 76.248873 + ], + [ + 96.366381, + 76.301088 + ] + ] + ], + [ + [ + [ + 96.575548, + 77.130266 + ], + [ + 95.229158, + 76.993319 + ], + [ + 96.166094, + 76.989153 + ], + [ + 96.575548, + 77.130266 + ] + ] + ], + [ + [ + [ + 96.464083, + 76.706011 + ], + [ + 95.889162, + 76.62137 + ], + [ + 96.242205, + 76.609713 + ], + [ + 96.464083, + 76.706011 + ] + ] + ], + [ + [ + [ + 95.598879, + 76.669985 + ], + [ + 95.831942, + 76.685534 + ], + [ + 95.412767, + 76.699709 + ], + [ + 95.598879, + 76.669985 + ] + ] + ], + [ + [ + [ + 95.133043, + 76.702776 + ], + [ + 94.813036, + 76.648882 + ], + [ + 95.326937, + 76.661104 + ], + [ + 95.133043, + 76.702776 + ] + ] + ], + [ + [ + [ + 95.199419, + 76.157763 + ], + [ + 95.084505, + 76.220797 + ], + [ + 95.002779, + 76.172487 + ], + [ + 95.199419, + 76.157763 + ] + ] + ], + [ + [ + [ + 94.997484, + 76.269152 + ], + [ + 94.408037, + 76.204988 + ], + [ + 94.840273, + 76.17943 + ], + [ + 94.997484, + 76.269152 + ] + ] + ], + [ + [ + [ + 94.35721, + 76.574434 + ], + [ + 93.951815, + 76.609819 + ], + [ + 93.869982, + 76.584993 + ], + [ + 94.35721, + 76.574434 + ] + ] + ], + [ + [ + [ + 94.307756, + 80.016939 + ], + [ + 93.988253, + 80.009783 + ], + [ + 93.927477, + 79.968325 + ], + [ + 94.307756, + 80.016939 + ] + ] + ], + [ + [ + [ + 91.176378, + 80.053041 + ], + [ + 90.864428, + 80.057207 + ], + [ + 92.349993, + 79.72777 + ], + [ + 91.921648, + 79.673311 + ], + [ + 93.808596, + 79.888323 + ], + [ + 91.176378, + 80.053041 + ] + ] + ], + [ + [ + [ + 93.750551, + 78.155825 + ], + [ + 93.640276, + 78.222765 + ], + [ + 93.519716, + 78.187761 + ], + [ + 93.750551, + 78.155825 + ] + ] + ], + [ + [ + [ + 92.805544, + 79.382479 + ], + [ + 92.987764, + 79.416933 + ], + [ + 92.582216, + 79.406939 + ], + [ + 92.805544, + 79.382479 + ] + ] + ], + [ + [ + [ + 92.702211, + 79.071383 + ], + [ + 92.725542, + 79.074999 + ], + [ + 92.182619, + 79.127184 + ], + [ + 92.702211, + 79.071383 + ] + ] + ], + [ + [ + [ + 92.467485, + 79.429979 + ], + [ + 91.804155, + 79.412493 + ], + [ + 92.243593, + 79.379976 + ], + [ + 92.467485, + 79.429979 + ] + ] + ], + [ + [ + [ + 91.966387, + 77.599993 + ], + [ + 92.037767, + 77.630816 + ], + [ + 91.739702, + 77.647219 + ], + [ + 91.966387, + 77.599993 + ] + ] + ], + [ + [ + [ + 91.651094, + 79.651094 + ], + [ + 91.858873, + 79.664705 + ], + [ + 91.124422, + 79.72249 + ], + [ + 91.651094, + 79.651094 + ] + ] + ], + [ + [ + [ + 91.250277, + 81.063036 + ], + [ + 91.577211, + 81.143053 + ], + [ + 89.893602, + 81.168596 + ], + [ + 91.250277, + 81.063036 + ] + ] + ], + [ + [ + [ + 91.468599, + 79.454714 + ], + [ + 91.166094, + 79.526934 + ], + [ + 90.781939, + 79.54915 + ], + [ + 91.468599, + 79.454714 + ] + ] + ], + [ + [ + [ + 90.180269, + 77.115816 + ], + [ + 89.829714, + 77.140825 + ], + [ + 89.967211, + 77.113039 + ], + [ + 90.180269, + 77.115816 + ] + ] + ], + [ + [ + [ + 89.681658, + 77.284426 + ], + [ + 89.13582, + 77.204988 + ], + [ + 89.485262, + 77.179979 + ], + [ + 89.681658, + 77.284426 + ] + ] + ], + [ + [ + [ + 88.664705, + 77.096376 + ], + [ + 88.783052, + 77.004992 + ], + [ + 88.957216, + 77.125811 + ], + [ + 88.664705, + 77.096376 + ] + ] + ], + [ + [ + [ + 87.049715, + 74.979158 + ], + [ + 86.211107, + 74.898607 + ], + [ + 86.835268, + 74.826387 + ], + [ + 87.049715, + 74.979158 + ] + ] + ], + [ + [ + [ + 86.4872, + 73.908876 + ], + [ + 86.301378, + 73.977205 + ], + [ + 86.223314, + 73.966387 + ], + [ + 86.4872, + 73.908876 + ] + ] + ], + [ + [ + [ + 86.212496, + 74.518328 + ], + [ + 85.82361, + 74.570269 + ], + [ + 85.659426, + 74.470537 + ], + [ + 86.212496, + 74.518328 + ] + ] + ], + [ + [ + [ + 85.534426, + 74.127474 + ], + [ + 85.73279, + 74.168627 + ], + [ + 85.408876, + 74.189699 + ], + [ + 85.534426, + 74.127474 + ] + ] + ], + [ + [ + [ + 85.65555, + 74.791658 + ], + [ + 85.095537, + 74.747759 + ], + [ + 85.700274, + 74.721651 + ], + [ + 85.65555, + 74.791658 + ] + ] + ], + [ + [ + [ + 85.439425, + 74.4536 + ], + [ + 85.653322, + 74.529436 + ], + [ + 85.144991, + 74.54027 + ], + [ + 85.439425, + 74.4536 + ] + ] + ], + [ + [ + [ + 84.945253, + 74.47777 + ], + [ + 84.373034, + 74.448595 + ], + [ + 84.744432, + 74.395266 + ], + [ + 84.945253, + 74.47777 + ] + ] + ], + [ + [ + [ + 84.419146, + 74.031939 + ], + [ + 83.879427, + 74.006655 + ], + [ + 84.389437, + 73.955553 + ], + [ + 84.419146, + 74.031939 + ] + ] + ], + [ + [ + [ + 83.550264, + 70.46361 + ], + [ + 83.624422, + 70.524157 + ], + [ + 83.412493, + 70.440264 + ], + [ + 83.379702, + 70.364992 + ], + [ + 83.533602, + 70.377199 + ], + [ + 83.612764, + 70.437761 + ], + [ + 83.550264, + 70.46361 + ] + ] + ], + [ + [ + [ + 83.615816, + 74.09305 + ], + [ + 83.202776, + 74.149721 + ], + [ + 82.815813, + 74.091097 + ], + [ + 83.615816, + 74.09305 + ] + ] + ], + [ + [ + [ + 83.37221, + 70.686098 + ], + [ + 83.214159, + 70.807207 + ], + [ + 83.069719, + 70.397768 + ], + [ + 83.37221, + 70.686098 + ] + ] + ], + [ + [ + [ + 82.97304, + 75.969149 + ], + [ + 82.257219, + 75.958605 + ], + [ + 83.302477, + 75.941362 + ], + [ + 82.97304, + 75.969149 + ] + ] + ], + [ + [ + [ + 83.096941, + 70.124987 + ], + [ + 83.113604, + 70.193316 + ], + [ + 83.082766, + 70.218599 + ], + [ + 82.863878, + 70.251665 + ], + [ + 82.768602, + 70.208879 + ], + [ + 83.096941, + 70.124987 + ] + ] + ], + [ + [ + [ + 82.609713, + 74.048601 + ], + [ + 82.736376, + 74.098879 + ], + [ + 82.314699, + 74.114428 + ], + [ + 82.609713, + 74.048601 + ] + ] + ], + [ + [ + [ + 82.560259, + 77.461931 + ], + [ + 82.443865, + 77.510271 + ], + [ + 82.120256, + 77.50638 + ], + [ + 82.560259, + 77.461931 + ] + ] + ], + [ + [ + [ + 82.105822, + 75.412203 + ], + [ + 81.493044, + 75.358324 + ], + [ + 82.011934, + 75.172213 + ], + [ + 82.291933, + 75.330553 + ], + [ + 82.105822, + 75.412203 + ] + ] + ], + [ + [ + [ + 81.600267, + 75.935259 + ], + [ + 81.550814, + 75.923601 + ], + [ + 82.256945, + 75.869432 + ], + [ + 81.600267, + 75.935259 + ] + ] + ], + [ + [ + [ + 82.151934, + 75.115541 + ], + [ + 82.107485, + 75.158327 + ], + [ + 82.027208, + 75.128313 + ], + [ + 82.151934, + 75.115541 + ] + ] + ], + [ + [ + [ + 79.977205, + 80.952486 + ], + [ + 78.972765, + 80.837496 + ], + [ + 80.437761, + 80.926378 + ], + [ + 79.977205, + 80.952486 + ] + ] + ], + [ + [ + [ + 80.360537, + 73.500277 + ], + [ + 80.403597, + 73.546099 + ], + [ + 80.056643, + 73.555819 + ], + [ + 80.360537, + 73.500277 + ] + ] + ], + [ + [ + [ + 79.38611, + 74.617205 + ], + [ + 79.149157, + 74.603045 + ], + [ + 79.6122, + 74.594988 + ], + [ + 79.38611, + 74.617205 + ] + ] + ], + [ + [ + [ + 79.570833, + 72.730272 + ], + [ + 79.194704, + 73.095827 + ], + [ + 78.5786, + 72.845537 + ], + [ + 79.570833, + 72.730272 + ] + ] + ], + [ + [ + [ + 77.762499, + 72.295259 + ], + [ + 78.393053, + 72.489153 + ], + [ + 77.620256, + 72.630541 + ], + [ + 76.854708, + 72.329988 + ], + [ + 77.762499, + 72.295259 + ] + ] + ], + [ + [ + [ + 76.232485, + 79.601381 + ], + [ + 77.619707, + 79.512209 + ], + [ + 76.041933, + 79.634722 + ], + [ + 76.232485, + 79.601381 + ] + ] + ], + [ + [ + [ + 76.390276, + 73.52083 + ], + [ + 76.07416, + 73.521379 + ], + [ + 76.7661, + 73.43387 + ], + [ + 76.390276, + 73.52083 + ] + ] + ], + [ + [ + [ + 76.452776, + 73.190538 + ], + [ + 76.122759, + 73.207216 + ], + [ + 76.73749, + 73.153597 + ], + [ + 76.452776, + 73.190538 + ] + ] + ], + [ + [ + [ + 76.077776, + 73.558031 + ], + [ + 75.621096, + 73.54999 + ], + [ + 75.306322, + 73.418337 + ], + [ + 76.077776, + 73.558031 + ] + ] + ], + [ + [ + [ + 74.862764, + 73.089708 + ], + [ + 74.089708, + 73.02054 + ], + [ + 74.654436, + 72.855822 + ], + [ + 74.862764, + 73.089708 + ] + ] + ], + [ + [ + [ + 72.993044, + 72.60248 + ], + [ + 72.984987, + 72.676088 + ], + [ + 72.840548, + 72.67499 + ], + [ + 72.993044, + 72.60248 + ] + ] + ], + [ + [ + [ + 71.046938, + 73.500002 + ], + [ + 69.974428, + 73.407213 + ], + [ + 69.866381, + 73.032763 + ], + [ + 71.676653, + 73.176928 + ], + [ + 70.999147, + 73.288881 + ], + [ + 71.265001, + 73.436373 + ], + [ + 71.046938, + 73.500002 + ] + ] + ], + [ + [ + [ + 71.341097, + 73.324999 + ], + [ + 71.262774, + 73.414156 + ], + [ + 71.139986, + 73.289705 + ], + [ + 71.341097, + 73.324999 + ] + ] + ], + [ + [ + [ + 69.252214, + 66.78998 + ], + [ + 69.12665, + 66.788591 + ], + [ + 69.419436, + 66.769716 + ], + [ + 69.841097, + 66.478319 + ], + [ + 70.104433, + 66.531099 + ], + [ + 70.055254, + 66.703325 + ], + [ + 69.252214, + 66.78998 + ] + ] + ], + [ + [ + [ + 70.033876, + 66.723879 + ], + [ + 69.9536, + 66.76111 + ], + [ + 69.789156, + 66.780275 + ], + [ + 70.033876, + 66.723879 + ] + ] + ], + [ + [ + [ + 69.334993, + 66.654436 + ], + [ + 69.33333, + 66.718874 + ], + [ + 69.243319, + 66.693316 + ], + [ + 69.334993, + 66.654436 + ] + ] + ], + [ + [ + [ + 68.2661, + 76.958605 + ], + [ + 64.109713, + 76.311373 + ], + [ + 61.066385, + 76.273882 + ], + [ + 60.750002, + 76.006105 + ], + [ + 58.00139, + 75.67415 + ], + [ + 58.194712, + 75.58832 + ], + [ + 57.503328, + 75.492479 + ], + [ + 57.737215, + 75.323046 + ], + [ + 55.797777, + 75.146379 + ], + [ + 56.678606, + 74.952211 + ], + [ + 55.829721, + 74.796099 + ], + [ + 56.984583, + 74.687151 + ], + [ + 55.571665, + 74.659716 + ], + [ + 56.290552, + 74.491365 + ], + [ + 55.073328, + 74.264437 + ], + [ + 55.866388, + 74.10248 + ], + [ + 53.630548, + 73.755266 + ], + [ + 55.176104, + 73.706102 + ], + [ + 54.220545, + 73.323046 + ], + [ + 54.971659, + 73.442202 + ], + [ + 55.977488, + 73.317492 + ], + [ + 55.90777, + 73.440264 + ], + [ + 56.75889, + 73.246935 + ], + [ + 57.253328, + 73.487764 + ], + [ + 56.723047, + 73.673601 + ], + [ + 57.613611, + 73.662203 + ], + [ + 56.555826, + 73.882204 + ], + [ + 57.715273, + 73.713045 + ], + [ + 57.911661, + 73.915545 + ], + [ + 57.257502, + 74.076097 + ], + [ + 58.135828, + 73.985262 + ], + [ + 58.742769, + 74.266939 + ], + [ + 58.183352, + 74.573534 + ], + [ + 59.147219, + 74.438585 + ], + [ + 59.169443, + 74.719713 + ], + [ + 59.773325, + 74.591097 + ], + [ + 59.509996, + 74.794985 + ], + [ + 60.318605, + 74.760546 + ], + [ + 60.680277, + 74.933321 + ], + [ + 59.925554, + 74.999147 + ], + [ + 61.287775, + 75.326097 + ], + [ + 68.861101, + 76.541933 + ], + [ + 68.931368, + 76.782763 + ], + [ + 68.2661, + 76.958605 + ] + ] + ], + [ + [ + [ + 67.383043, + 68.777483 + ], + [ + 67.338594, + 68.819155 + ], + [ + 67.148882, + 68.821932 + ], + [ + 67.383043, + 68.777483 + ] + ] + ], + [ + [ + [ + 67.252489, + 69.444704 + ], + [ + 67.33832, + 69.588884 + ], + [ + 67.021105, + 69.486101 + ], + [ + 67.252489, + 69.444704 + ] + ] + ], + [ + [ + [ + 67.13109, + 69.361376 + ], + [ + 67.210543, + 69.425814 + ], + [ + 66.938036, + 69.44359 + ], + [ + 67.13109, + 69.361376 + ] + ] + ], + [ + [ + [ + 66.171923, + 69.08777 + ], + [ + 65.951937, + 69.093874 + ], + [ + 66.537767, + 68.94359 + ], + [ + 66.171923, + 69.08777 + ] + ] + ], + [ + [ + [ + 65.452486, + 81.027773 + ], + [ + 64.483599, + 81.191088 + ], + [ + 62.504168, + 80.818331 + ], + [ + 64.303041, + 80.729982 + ], + [ + 65.452486, + 81.027773 + ] + ] + ], + [ + [ + [ + 62.793329, + 81.708605 + ], + [ + 62.104166, + 81.672487 + ], + [ + 63.802774, + 81.653322 + ], + [ + 62.793329, + 81.708605 + ] + ] + ], + [ + [ + [ + 62.218325, + 80.811098 + ], + [ + 59.220827, + 80.642763 + ], + [ + 61.066103, + 80.403597 + ], + [ + 62.218325, + 80.811098 + ] + ] + ], + [ + [ + [ + 62.080828, + 81.544146 + ], + [ + 62.203608, + 81.564989 + ], + [ + 61.654436, + 81.603045 + ], + [ + 62.080828, + 81.544146 + ] + ] + ], + [ + [ + [ + 60.98527, + 80.916094 + ], + [ + 61.654161, + 81.110811 + ], + [ + 60.024996, + 80.991655 + ], + [ + 60.98527, + 80.916094 + ] + ] + ], + [ + [ + [ + 60.638887, + 81.272219 + ], + [ + 59.722216, + 81.283327 + ], + [ + 60.377489, + 81.244143 + ], + [ + 60.638887, + 81.272219 + ] + ] + ], + [ + [ + [ + 59.461107, + 70.276659 + ], + [ + 59.033052, + 70.478868 + ], + [ + 58.408602, + 70.250277 + ], + [ + 59.601664, + 69.712496 + ], + [ + 60.546106, + 69.79915 + ], + [ + 59.461107, + 70.276659 + ] + ] + ], + [ + [ + [ + 60.47249, + 76.15999 + ], + [ + 60.041109, + 76.156939 + ], + [ + 59.866106, + 76.104158 + ], + [ + 60.47249, + 76.15999 + ] + ] + ], + [ + [ + [ + 60.261667, + 80.163317 + ], + [ + 60.289438, + 80.166933 + ], + [ + 59.897776, + 80.191652 + ], + [ + 60.261667, + 80.163317 + ] + ] + ], + [ + [ + [ + 59.76639, + 81.170259 + ], + [ + 59.844713, + 81.179979 + ], + [ + 59.010828, + 81.207216 + ], + [ + 59.76639, + 81.170259 + ] + ] + ], + [ + [ + [ + 59.42222, + 79.920259 + ], + [ + 59.844713, + 80.068331 + ], + [ + 58.759165, + 80.022768 + ], + [ + 59.42222, + 79.920259 + ] + ] + ], + [ + [ + [ + 59.2875, + 81.742754 + ], + [ + 59.437769, + 81.816668 + ], + [ + 57.888887, + 81.706942 + ], + [ + 59.2875, + 81.742754 + ] + ] + ], + [ + [ + [ + 59.053324, + 81.28499 + ], + [ + 59.381662, + 81.32416 + ], + [ + 58.461939, + 81.338594 + ], + [ + 59.053324, + 81.28499 + ] + ] + ], + [ + [ + [ + 59.192492, + 75.888048 + ], + [ + 59.27833, + 75.908327 + ], + [ + 58.993608, + 75.8911 + ], + [ + 59.192492, + 75.888048 + ] + ] + ], + [ + [ + [ + 57.968325, + 80.489428 + ], + [ + 56.946383, + 80.474428 + ], + [ + 57.718599, + 80.09833 + ], + [ + 59.276384, + 80.334154 + ], + [ + 57.968325, + 80.489428 + ] + ] + ], + [ + [ + [ + 58.754717, + 75.896944 + ], + [ + 59.266939, + 75.969439 + ], + [ + 58.694712, + 75.899431 + ], + [ + 58.754717, + 75.896944 + ] + ] + ], + [ + [ + [ + 59.239435, + 69.175814 + ], + [ + 59.19388, + 69.233873 + ], + [ + 58.760553, + 69.333605 + ], + [ + 59.239435, + 69.175814 + ] + ] + ], + [ + [ + [ + 59.033884, + 74.34276 + ], + [ + 59.08111, + 74.409151 + ], + [ + 58.934992, + 74.358324 + ], + [ + 59.033884, + 74.34276 + ] + ] + ], + [ + [ + [ + 58.68638, + 79.944704 + ], + [ + 58.279161, + 79.926653 + ], + [ + 58.988047, + 79.89554 + ], + [ + 58.68638, + 79.944704 + ] + ] + ], + [ + [ + [ + 58.986658, + 80.791658 + ], + [ + 58.756662, + 80.896105 + ], + [ + 57.816385, + 80.805819 + ], + [ + 58.986658, + 80.791658 + ] + ] + ], + [ + [ + [ + 58.855272, + 80.640276 + ], + [ + 58.537775, + 80.605822 + ], + [ + 58.806383, + 80.582766 + ], + [ + 58.855272, + 80.640276 + ] + ] + ], + [ + [ + [ + 58.758051, + 81.07332 + ], + [ + 58.808046, + 81.09749 + ], + [ + 58.515276, + 81.104433 + ], + [ + 58.758051, + 81.07332 + ] + ] + ], + [ + [ + [ + 58.490831, + 81.55887 + ], + [ + 58.719713, + 81.599718 + ], + [ + 58.226656, + 81.581377 + ], + [ + 58.490831, + 81.55887 + ] + ] + ], + [ + [ + [ + 58.533335, + 80.953051 + ], + [ + 58.698877, + 81.025545 + ], + [ + 57.834162, + 81.045259 + ], + [ + 58.533335, + 80.953051 + ] + ] + ], + [ + [ + [ + 58.445269, + 81.114153 + ], + [ + 58.648607, + 81.134996 + ], + [ + 58.149439, + 81.128862 + ], + [ + 58.445269, + 81.114153 + ] + ] + ], + [ + [ + [ + 57.796663, + 81.529985 + ], + [ + 56.741381, + 81.448595 + ], + [ + 58.572496, + 81.411928 + ], + [ + 57.796663, + 81.529985 + ] + ] + ], + [ + [ + [ + 56.242495, + 81.101091 + ], + [ + 56.096384, + 81.089159 + ], + [ + 58.278605, + 80.91971 + ], + [ + 56.242495, + 81.101091 + ] + ] + ], + [ + [ + [ + 57.564997, + 81.125261 + ], + [ + 58.080553, + 81.209719 + ], + [ + 56.994715, + 81.165545 + ], + [ + 57.564997, + 81.125261 + ] + ] + ], + [ + [ + [ + 58.010553, + 80.6411 + ], + [ + 57.213053, + 80.603594 + ], + [ + 57.870829, + 80.553316 + ], + [ + 58.010553, + 80.6411 + ] + ] + ], + [ + [ + [ + 57.920832, + 68.803316 + ], + [ + 57.199999, + 68.718874 + ], + [ + 57.864717, + 68.761934 + ], + [ + 57.920832, + 68.803316 + ] + ] + ], + [ + [ + [ + 57.458048, + 81.313601 + ], + [ + 55.431665, + 81.271654 + ], + [ + 57.902773, + 81.29027 + ], + [ + 57.458048, + 81.313601 + ] + ] + ], + [ + [ + [ + 54.749437, + 81.109713 + ], + [ + 54.418329, + 81.006105 + ], + [ + 57.720827, + 80.792482 + ], + [ + 54.749437, + 81.109713 + ] + ] + ], + [ + [ + [ + 55.331667, + 73.329988 + ], + [ + 54.914438, + 73.422213 + ], + [ + 53.153322, + 73.155825 + ], + [ + 53.381937, + 72.88109 + ], + [ + 52.376383, + 72.724703 + ], + [ + 53.219439, + 72.647219 + ], + [ + 52.74888, + 72.633043 + ], + [ + 53.09749, + 72.594713 + ], + [ + 52.397219, + 72.076097 + ], + [ + 51.574442, + 72.070833 + ], + [ + 51.416101, + 71.737764 + ], + [ + 51.79722, + 71.474993 + ], + [ + 53.355829, + 71.567217 + ], + [ + 53.480547, + 71.291658 + ], + [ + 53.929438, + 71.466936 + ], + [ + 53.453325, + 71.26111 + ], + [ + 54.244997, + 71.12665 + ], + [ + 53.508333, + 71.086107 + ], + [ + 53.743326, + 70.943041 + ], + [ + 53.46361, + 70.813875 + ], + [ + 55.186319, + 70.552065 + ], + [ + 57.639994, + 70.726381 + ], + [ + 56.228045, + 71.194139 + ], + [ + 55.221018, + 71.925615 + ], + [ + 55.57583, + 72.195818 + ], + [ + 55.118052, + 72.44803 + ], + [ + 55.945543, + 72.666658 + ], + [ + 55.429438, + 72.784151 + ], + [ + 56.262217, + 72.960817 + ], + [ + 55.615274, + 72.961382 + ], + [ + 56.588602, + 73.137499 + ], + [ + 55.331667, + 73.329988 + ] + ] + ], + [ + [ + [ + 57.204714, + 70.508883 + ], + [ + 56.841661, + 70.599154 + ], + [ + 56.96583, + 70.517488 + ], + [ + 57.204714, + 70.508883 + ] + ] + ], + [ + [ + [ + 57.096941, + 80.34305 + ], + [ + 55.71361, + 80.101091 + ], + [ + 57.050547, + 80.074999 + ], + [ + 57.096941, + 80.34305 + ] + ] + ], + [ + [ + [ + 56.778879, + 80.735811 + ], + [ + 55.432497, + 80.70833 + ], + [ + 56.948603, + 80.692751 + ], + [ + 56.778879, + 80.735811 + ] + ] + ], + [ + [ + [ + 56.308046, + 80.381365 + ], + [ + 55.873049, + 80.435259 + ], + [ + 55.786112, + 80.407213 + ], + [ + 56.308046, + 80.381365 + ] + ] + ], + [ + [ + [ + 55.449999, + 80.851381 + ], + [ + 53.97555, + 80.817492 + ], + [ + 55.982767, + 80.795824 + ], + [ + 55.449999, + 80.851381 + ] + ] + ], + [ + [ + [ + 55.151102, + 80.220263 + ], + [ + 55.543886, + 80.293871 + ], + [ + 54.8575, + 80.252489 + ], + [ + 55.151102, + 80.220263 + ] + ] + ], + [ + [ + [ + 55.472315, + 68.909044 + ], + [ + 55.508425, + 68.912111 + ], + [ + 55.224566, + 68.909868 + ], + [ + 55.472315, + 68.909044 + ] + ] + ], + [ + [ + [ + 55.366938, + 80.428865 + ], + [ + 54.977488, + 80.416933 + ], + [ + 55.167498, + 80.369432 + ], + [ + 55.366938, + 80.428865 + ] + ] + ], + [ + [ + [ + 55.015833, + 80.556932 + ], + [ + 54.641108, + 80.528048 + ], + [ + 55.16305, + 80.494707 + ], + [ + 55.015833, + 80.556932 + ] + ] + ], + [ + [ + [ + 54.637217, + 80.393602 + ], + [ + 54.863054, + 80.450274 + ], + [ + 54.370272, + 80.405825 + ], + [ + 54.637217, + 80.393602 + ] + ] + ], + [ + [ + [ + 54.654161, + 68.955828 + ], + [ + 54.694155, + 68.991365 + ], + [ + 54.567774, + 68.955828 + ], + [ + 54.654161, + 68.955828 + ] + ] + ], + [ + [ + [ + 54.301661, + 80.419146 + ], + [ + 54.458887, + 80.498034 + ], + [ + 53.779993, + 80.469439 + ], + [ + 54.301661, + 80.419146 + ] + ] + ], + [ + [ + [ + 54.221933, + 80.204165 + ], + [ + 54.439714, + 80.298601 + ], + [ + 54.151384, + 80.299425 + ], + [ + 54.221933, + 80.204165 + ] + ] + ], + [ + [ + [ + 54.293612, + 81.33333 + ], + [ + 54.114717, + 81.347216 + ], + [ + 54.421938, + 81.270266 + ], + [ + 54.293612, + 81.33333 + ] + ] + ], + [ + [ + [ + 54.211939, + 68.249712 + ], + [ + 54.336939, + 68.303865 + ], + [ + 54.283052, + 68.336657 + ], + [ + 54.211939, + 68.249712 + ] + ] + ], + [ + [ + [ + 53.949717, + 68.292757 + ], + [ + 54.01333, + 68.3622 + ], + [ + 53.868883, + 68.346102 + ], + [ + 53.949717, + 68.292757 + ] + ] + ], + [ + [ + [ + 53.621103, + 80.294985 + ], + [ + 52.181383, + 80.271929 + ], + [ + 53.87166, + 80.256655 + ], + [ + 53.621103, + 80.294985 + ] + ] + ], + [ + [ + [ + 53.59527, + 71.110262 + ], + [ + 53.542498, + 71.18387 + ], + [ + 53.432497, + 71.136934 + ], + [ + 53.59527, + 71.110262 + ] + ] + ], + [ + [ + [ + 53.442217, + 80.484987 + ], + [ + 53.398607, + 80.62665 + ], + [ + 53.105272, + 80.619982 + ], + [ + 53.442217, + 80.484987 + ] + ] + ], + [ + [ + [ + 53.360552, + 71.292208 + ], + [ + 53.12916, + 71.358599 + ], + [ + 53.204165, + 71.311098 + ], + [ + 53.360552, + 71.292208 + ] + ] + ], + [ + [ + [ + 52.858606, + 71.378313 + ], + [ + 52.208887, + 71.305544 + ], + [ + 53.141939, + 70.978319 + ], + [ + 53.207499, + 71.251101 + ], + [ + 52.858606, + 71.378313 + ] + ] + ], + [ + [ + [ + 52.452494, + 80.321108 + ], + [ + 52.521379, + 80.330828 + ], + [ + 52.166666, + 80.350267 + ], + [ + 52.452494, + 80.321108 + ] + ] + ], + [ + [ + [ + 50.133051, + 80.846651 + ], + [ + 50.441378, + 80.903872 + ], + [ + 48.954165, + 80.731371 + ], + [ + 49.681383, + 80.717485 + ], + [ + 49.192217, + 80.521379 + ], + [ + 47.380274, + 80.450548 + ], + [ + 48.183878, + 80.331377 + ], + [ + 46.616388, + 80.290819 + ], + [ + 48.374163, + 80.087206 + ], + [ + 49.113054, + 80.182756 + ], + [ + 48.622766, + 80.300264 + ], + [ + 48.809717, + 80.376375 + ], + [ + 51.746943, + 80.712206 + ], + [ + 50.133051, + 80.846651 + ] + ] + ], + [ + [ + [ + 51.204996, + 80.038042 + ], + [ + 50.043886, + 79.97304 + ], + [ + 51.50194, + 79.931658 + ], + [ + 51.204996, + 80.038042 + ] + ] + ], + [ + [ + [ + 50.814157, + 68.37221 + ], + [ + 51.456659, + 68.476931 + ], + [ + 51.163881, + 68.495256 + ], + [ + 50.814157, + 68.37221 + ] + ] + ], + [ + [ + [ + 50.597216, + 81.046099 + ], + [ + 50.983332, + 81.100542 + ], + [ + 50.34749, + 81.090273 + ], + [ + 50.597216, + 81.046099 + ] + ] + ], + [ + [ + [ + 50.305269, + 69.161928 + ], + [ + 48.943323, + 69.506945 + ], + [ + 48.312769, + 69.279161 + ], + [ + 48.216105, + 68.894991 + ], + [ + 48.912767, + 68.736101 + ], + [ + 50.305269, + 69.161928 + ] + ] + ], + [ + [ + [ + 50.252779, + 80.146379 + ], + [ + 49.532213, + 80.152208 + ], + [ + 49.97249, + 80.054155 + ], + [ + 50.252779, + 80.146379 + ] + ] + ], + [ + [ + [ + 49.596102, + 80.072771 + ], + [ + 49.330278, + 80.061922 + ], + [ + 49.683054, + 80.036379 + ], + [ + 49.596102, + 80.072771 + ] + ] + ], + [ + [ + [ + 49.37916, + 79.989153 + ], + [ + 49.435266, + 80.002489 + ], + [ + 49.193605, + 80.032213 + ], + [ + 49.37916, + 79.989153 + ] + ] + ], + [ + [ + [ + 47.897776, + 80.803316 + ], + [ + 44.8575, + 80.616381 + ], + [ + 46.036386, + 80.572222 + ], + [ + 46.084162, + 80.436922 + ], + [ + 47.423609, + 80.588884 + ], + [ + 47.303324, + 80.657488 + ], + [ + 47.751665, + 80.76639 + ], + [ + 48.76639, + 80.646379 + ], + [ + 47.897776, + 80.803316 + ] + ] + ], + [ + [ + [ + 48.723314, + 45.69832 + ], + [ + 48.495829, + 45.882212 + ], + [ + 48.591928, + 45.747492 + ], + [ + 48.723314, + 45.69832 + ] + ] + ], + [ + [ + [ + 48.468882, + 45.673883 + ], + [ + 48.404428, + 45.794992 + ], + [ + 48.33777, + 45.797213 + ], + [ + 48.468882, + 45.673883 + ] + ] + ], + [ + [ + [ + 47.962496, + 45.504992 + ], + [ + 47.993876, + 45.536654 + ], + [ + 47.960276, + 45.653048 + ], + [ + 47.962496, + 45.504992 + ] + ] + ], + [ + [ + [ + 47.739717, + 43.932215 + ], + [ + 47.785555, + 43.958879 + ], + [ + 47.628038, + 43.974436 + ], + [ + 47.739717, + 43.932215 + ] + ] + ], + [ + [ + [ + 42.706659, + 66.686373 + ], + [ + 42.622766, + 66.782213 + ], + [ + 42.432497, + 66.758608 + ], + [ + 42.706659, + 66.686373 + ] + ] + ], + [ + [ + [ + 40.412493, + 64.653597 + ], + [ + 39.97471, + 64.682756 + ], + [ + 40.471376, + 64.566088 + ], + [ + 40.412493, + 64.653597 + ] + ] + ], + [ + [ + [ + 36.061663, + 65.190264 + ], + [ + 35.943323, + 65.181932 + ], + [ + 36.300829, + 65.201097 + ], + [ + 36.061663, + 65.190264 + ] + ] + ], + [ + [ + [ + 35.991106, + 64.325823 + ], + [ + 36.047495, + 64.355547 + ], + [ + 35.854441, + 64.405825 + ], + [ + 35.991106, + 64.325823 + ] + ] + ], + [ + [ + [ + 35.790834, + 64.973314 + ], + [ + 35.834436, + 65.168322 + ], + [ + 35.524698, + 65.158876 + ], + [ + 35.790834, + 64.973314 + ] + ] + ], + [ + [ + [ + 34.404711, + 69.339434 + ], + [ + 34.213373, + 69.402727 + ], + [ + 33.973047, + 69.366091 + ], + [ + 34.404711, + 69.339434 + ] + ] + ], + [ + [ + [ + 28.693052, + 60.267771 + ], + [ + 28.714998, + 60.31138 + ], + [ + 28.551111, + 60.349436 + ], + [ + 28.693052, + 60.267771 + ] + ] + ], + [ + [ + [ + 21.431387, + 55.25194 + ], + [ + 21.263937, + 55.248987 + ], + [ + 21.222498, + 54.93194 + ], + [ + 20.538054, + 54.949434 + ], + [ + 20.984816, + 55.276552 + ], + [ + 20.942835, + 55.287203 + ], + [ + 19.969442, + 54.957499 + ], + [ + 19.872713, + 54.640551 + ], + [ + 20.405001, + 54.679163 + ], + [ + 19.797007, + 54.437551 + ], + [ + 22.785887, + 54.36384 + ], + [ + 22.842497, + 54.896944 + ], + [ + 21.431387, + 55.25194 + ] + ] + ], + [ + [ + [ + 19.697779, + 54.479441 + ], + [ + 19.898203, + 54.625959 + ], + [ + 19.62726, + 54.463274 + ], + [ + 19.65111, + 54.455828 + ], + [ + 19.697779, + 54.479441 + ] + ] + ], + [ + [ + [ + -169.053345, + 65.749147 + ], + [ + -168.989746, + 65.808855 + ], + [ + -169.075012, + 65.815523 + ], + [ + -169.053345, + 65.749147 + ] + ] + ], + [ + [ + [ + -179.626129, + 68.906359 + ], + [ + -180, + 68.980104 + ], + [ + -180, + 65.068911 + ], + [ + -179.315002, + 65.536089 + ], + [ + -179.79837, + 65.870516 + ], + [ + -179.695587, + 66.183031 + ], + [ + -178.516998, + 66.402773 + ], + [ + -178.909454, + 65.993868 + ], + [ + -178.460541, + 65.736376 + ], + [ + -178.56308, + 65.51639 + ], + [ + -176.078064, + 65.470263 + ], + [ + -175.448883, + 64.784426 + ], + [ + -173.681671, + 64.347216 + ], + [ + -173.41333, + 64.619982 + ], + [ + -173.191406, + 64.254427 + ], + [ + -172.355835, + 64.458315 + ], + [ + -173.200867, + 64.786089 + ], + [ + -172.126129, + 65.086367 + ], + [ + -172.693359, + 65.232759 + ], + [ + -172.190552, + 65.446627 + ], + [ + -172.800293, + 65.681658 + ], + [ + -171.11557, + 65.476366 + ], + [ + -171.544189, + 65.833605 + ], + [ + -170.63559, + 65.610537 + ], + [ + -170.587799, + 65.863604 + ], + [ + -169.691101, + 66.072496 + ], + [ + -170.64447, + 66.2372 + ], + [ + -171.726105, + 66.955248 + ], + [ + -173.352509, + 66.838869 + ], + [ + -173.176697, + 67.063311 + ], + [ + -173.666962, + 67.131655 + ], + [ + -174.652527, + 67.063601 + ], + [ + -174.125275, + 66.989138 + ], + [ + -173.99585, + 66.691347 + ], + [ + -174.30307, + 66.577761 + ], + [ + -173.758667, + 66.44803 + ], + [ + -174.461945, + 66.301073 + ], + [ + -175.000336, + 66.671099 + ], + [ + -174.742798, + 66.773043 + ], + [ + -174.830292, + 67.382738 + ], + [ + -175.38031, + 67.344988 + ], + [ + -175.191101, + 67.510805 + ], + [ + -175.463623, + 67.707476 + ], + [ + -179.626129, + 68.906359 + ] + ] + ], + [ + [ + [ + -172.590576, + 64.70331 + ], + [ + -172.171112, + 64.795259 + ], + [ + -172.531158, + 64.843035 + ], + [ + -172.590576, + 64.70331 + ] + ] + ], + [ + [ + [ + -172.544464, + 64.613314 + ], + [ + -172.488312, + 64.633608 + ], + [ + -172.758087, + 64.660799 + ], + [ + -172.544464, + 64.613314 + ] + ] + ], + [ + [ + [ + -175.62085, + 71.377764 + ], + [ + -175.764191, + 71.42441 + ], + [ + -175.923615, + 71.425814 + ], + [ + -175.62085, + 71.377764 + ] + ] + ], + [ + [ + [ + -178.568604, + 71.56415 + ], + [ + -180, + 71.535845 + ], + [ + -180, + 70.99721 + ], + [ + -177.439453, + 71.226931 + ], + [ + -178.568604, + 71.56415 + ] + ] + ] + ] + }, + "name" : "Russia", + "iso2" : "RU", + "iso3" : "RUS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "8r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 29.024441, + -2.744722 + ], + [ + 29.85083, + -2.759722 + ], + [ + 29.952221, + -2.309445 + ], + [ + 30.57333, + -2.399167 + ], + [ + 30.894165, + -2.076111 + ], + [ + 30.48222, + -1.063334 + ], + [ + 29.974998, + -1.464445 + ], + [ + 29.596943, + -1.385834 + ], + [ + 28.868332, + -2.394444 + ], + [ + 29.024441, + -2.744722 + ] + ] + ] + }, + "name" : "Rwanda", + "iso2" : "RW", + "iso3" : "RWA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "871E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 41.957773, + 16.708887 + ], + [ + 42.179995, + 16.566946 + ], + [ + 41.753611, + 16.876112 + ], + [ + 41.957773, + 16.708887 + ] + ] + ], + [ + [ + [ + 41.986666, + 16.753332 + ], + [ + 41.845552, + 17.009165 + ], + [ + 41.837221, + 16.868612 + ], + [ + 41.986666, + 16.753332 + ] + ] + ], + [ + [ + [ + 37.080553, + 24.959166 + ], + [ + 37.041666, + 24.996946 + ], + [ + 37.03583, + 24.963057 + ], + [ + 37.080553, + 24.959166 + ] + ] + ], + [ + [ + [ + 35.754717, + 27.094721 + ], + [ + 35.726389, + 27.128611 + ], + [ + 35.757776, + 27.076944 + ], + [ + 35.754717, + 27.094721 + ] + ] + ], + [ + [ + [ + 49.53721, + 27.363607 + ], + [ + 49.452211, + 27.28583 + ], + [ + 49.638613, + 27.316385 + ], + [ + 49.53721, + 27.363607 + ] + ] + ], + [ + [ + [ + 34.593607, + 27.909166 + ], + [ + 34.546663, + 27.99861 + ], + [ + 34.49222, + 27.996111 + ], + [ + 34.593607, + 27.909166 + ] + ] + ], + [ + [ + [ + 44.721663, + 29.198332 + ], + [ + 42.085001, + 31.111662 + ], + [ + 40.413332, + 31.948332 + ], + [ + 39.196745, + 32.154943 + ], + [ + 37.005274, + 31.505556 + ], + [ + 38.00139, + 30.504168 + ], + [ + 37.502779, + 30.002222 + ], + [ + 36.743608, + 29.864721 + ], + [ + 36.070002, + 29.18889 + ], + [ + 34.96139, + 29.360834 + ], + [ + 34.571665, + 28.088888 + ], + [ + 35.160555, + 28.056665 + ], + [ + 37.235552, + 25.182501 + ], + [ + 37.441668, + 24.371389 + ], + [ + 38.452776, + 23.782499 + ], + [ + 39.062777, + 22.583334 + ], + [ + 39.176943, + 21.099165 + ], + [ + 40.759996, + 19.760279 + ], + [ + 42.789682, + 16.377504 + ], + [ + 43.20611, + 16.672224 + ], + [ + 43.309443, + 17.457224 + ], + [ + 44.467501, + 17.411943 + ], + [ + 46.33333, + 16.666666 + ], + [ + 46.333055, + 15.616945 + ], + [ + 48.76639, + 18.26639 + ], + [ + 51.999292, + 18.999346 + ], + [ + 55.000002, + 20.000002 + ], + [ + 55.666109, + 21.999723 + ], + [ + 55.199167, + 22.69972 + ], + [ + 52.58333, + 22.93889 + ], + [ + 51.583612, + 24.259722 + ], + [ + 51.215166, + 24.62089 + ], + [ + 50.830957, + 24.749968 + ], + [ + 49.993891, + 26.019999 + ], + [ + 50.159166, + 26.656668 + ], + [ + 48.838877, + 27.619719 + ], + [ + 48.41659, + 28.545279 + ], + [ + 47.688883, + 28.538885 + ], + [ + 47.459993, + 28.999441 + ], + [ + 46.546946, + 29.1042 + ], + [ + 44.721663, + 29.198332 + ] + ] + ] + ] + }, + "name" : "Saudi Arabia", + "iso2" : "SA", + "iso3" : "SAU" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "9L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -62.55278, + 17.094166 + ], + [ + -62.599724, + 17.19722 + ], + [ + -62.621948, + 17.111385 + ], + [ + -62.55278, + 17.094166 + ] + ] + ], + [ + [ + [ + -62.701668, + 17.336941 + ], + [ + -62.863892, + 17.370831 + ], + [ + -62.625282, + 17.220833 + ], + [ + -62.701668, + 17.336941 + ] + ] + ] + ] + }, + "name" : "Saint Kitts and Nevis", + "iso2" : "KN", + "iso3" : "KNA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "9b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 46.491386, + -9.754446 + ], + [ + 46.508331, + -9.717779 + ], + [ + 46.476105, + -9.744167 + ], + [ + 46.491386, + -9.754446 + ] + ] + ], + [ + [ + [ + 46.510551, + -9.396946 + ], + [ + 46.204163, + -9.389446 + ], + [ + 46.269165, + -9.463057 + ], + [ + 46.510551, + -9.396946 + ] + ] + ], + [ + [ + [ + 46.413887, + -9.358891 + ], + [ + 46.426941, + -9.342779 + ], + [ + 46.276665, + -9.346111 + ], + [ + 46.413887, + -9.358891 + ] + ] + ], + [ + [ + [ + 56.282219, + -7.134167 + ], + [ + 56.27861, + -7.110834 + ], + [ + 56.247215, + -7.194445 + ], + [ + 56.282219, + -7.134167 + ] + ] + ], + [ + [ + [ + 55.535271, + -4.763056 + ], + [ + 55.45916, + -4.55139 + ], + [ + 55.376106, + -4.627223 + ], + [ + 55.535271, + -4.763056 + ] + ] + ], + [ + [ + [ + 55.246109, + -4.506945 + ], + [ + 55.26722, + -4.481668 + ], + [ + 55.231667, + -4.448056 + ], + [ + 55.246109, + -4.506945 + ] + ] + ], + [ + [ + [ + 55.775833, + -4.348333 + ], + [ + 55.77166, + -4.315556 + ], + [ + 55.687218, + -4.2875 + ], + [ + 55.775833, + -4.348333 + ] + ] + ] + ] + }, + "name" : "Seychelles", + "iso2" : "SC", + "iso3" : "SYC" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "9r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 37.85083, + -46.956947 + ], + [ + 37.781944, + -46.83223 + ], + [ + 37.576385, + -46.909447 + ], + [ + 37.85083, + -46.956947 + ] + ] + ], + [ + [ + [ + 37.959442, + -46.658615 + ], + [ + 37.942772, + -46.60334 + ], + [ + 37.856941, + -46.626945 + ], + [ + 37.959442, + -46.658615 + ] + ] + ], + [ + [ + [ + 31.297504, + -22.414764 + ], + [ + 29.893887, + -22.194447 + ], + [ + 29.373623, + -22.19241 + ], + [ + 28.298332, + -22.609447 + ], + [ + 26.95919, + -23.752075 + ], + [ + 26.845276, + -24.264446 + ], + [ + 25.871387, + -24.744446 + ], + [ + 25.50972, + -25.67778 + ], + [ + 24.6772, + -25.827824 + ], + [ + 23.014832, + -25.299725 + ], + [ + 22.624809, + -26.111565 + ], + [ + 21.667221, + -26.864445 + ], + [ + 20.642498, + -26.828056 + ], + [ + 20.811386, + -25.883335 + ], + [ + 20.000942, + -24.765408 + ], + [ + 19.99612, + -28.421448 + ], + [ + 19.123055, + -28.962223 + ], + [ + 18.175831, + -28.908611 + ], + [ + 17.40472, + -28.713612 + ], + [ + 17.06361, + -28.028614 + ], + [ + 16.48959, + -28.578178 + ], + [ + 18.27861, + -31.89278 + ], + [ + 18.292221, + -32.624451 + ], + [ + 17.8475, + -32.830833 + ], + [ + 18.441109, + -33.706673 + ], + [ + 18.40472, + -34.30278 + ], + [ + 18.793331, + -34.08667 + ], + [ + 18.817776, + -34.377785 + ], + [ + 20, + -34.822002 + ], + [ + 22.544998, + -34.005005 + ], + [ + 25.701942, + -34.031952 + ], + [ + 25.724998, + -33.767227 + ], + [ + 26.530552, + -33.753334 + ], + [ + 27.899998, + -33.040558 + ], + [ + 30.023888, + -31.281113 + ], + [ + 31.325832, + -29.390835 + ], + [ + 32.390274, + -28.537781 + ], + [ + 32.890427, + -26.847145 + ], + [ + 32.1334, + -26.839626 + ], + [ + 31.987499, + -27.316113 + ], + [ + 31.161663, + -27.203056 + ], + [ + 30.818886, + -26.810558 + ], + [ + 30.902048, + -26.305254 + ], + [ + 31.33083, + -25.751392 + ], + [ + 31.96851, + -25.95784 + ], + [ + 32.016106, + -24.459446 + ], + [ + 31.297504, + -22.414764 + ] + ], + [ + [ + 28.565552, + -28.610001 + ], + [ + 29.430832, + -29.278614 + ], + [ + 29.168888, + -29.913891 + ], + [ + 28.377777, + -30.16028 + ], + [ + 28.079937, + -30.650528 + ], + [ + 27.564617, + -30.404911 + ], + [ + 27.011108, + -29.625278 + ], + [ + 28.565552, + -28.610001 + ] + ] + ] + ] + }, + "name" : "South Africa", + "iso2" : "ZA", + "iso3" : "ZAF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "971E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 28.565552, + -28.610001 + ], + [ + 27.011108, + -29.625278 + ], + [ + 27.564617, + -30.404911 + ], + [ + 28.079937, + -30.650528 + ], + [ + 28.377777, + -30.16028 + ], + [ + 29.168888, + -29.913891 + ], + [ + 29.430832, + -29.278614 + ], + [ + 28.565552, + -28.610001 + ] + ] + ] + }, + "name" : "Lesotho", + "iso2" : "LS", + "iso3" : "LSO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "-L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 20.000942, + -24.765408 + ], + [ + 20.811386, + -25.883335 + ], + [ + 20.642498, + -26.828056 + ], + [ + 21.667221, + -26.864445 + ], + [ + 22.624809, + -26.111565 + ], + [ + 23.014832, + -25.299725 + ], + [ + 24.6772, + -25.827824 + ], + [ + 25.50972, + -25.67778 + ], + [ + 25.871387, + -24.744446 + ], + [ + 26.845276, + -24.264446 + ], + [ + 26.95919, + -23.752075 + ], + [ + 28.298332, + -22.609447 + ], + [ + 29.373623, + -22.19241 + ], + [ + 29.060555, + -21.798058 + ], + [ + 28.015831, + -21.566113 + ], + [ + 27.713165, + -20.506432 + ], + [ + 27.287453, + -20.494965 + ], + [ + 27.219997, + -20.091667 + ], + [ + 26.166111, + -19.527779 + ], + [ + 25.264431, + -17.80225 + ], + [ + 24.362499, + -17.948612 + ], + [ + 23.615578, + -18.485069 + ], + [ + 23.297108, + -17.995949 + ], + [ + 20.993286, + -18.318417 + ], + [ + 20.991943, + -21.996948 + ], + [ + 19.996666, + -22.005001 + ], + [ + 20.000942, + -24.765408 + ] + ] + ] + }, + "name" : "Botswana", + "iso2" : "BW", + "iso3" : "BWA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "-b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -16.527679, + 16.060249 + ], + [ + -16.878334, + 15.224998 + ], + [ + -17.537224, + 14.756109 + ], + [ + -17.148308, + 14.61392 + ], + [ + -16.775837, + 14.012499 + ], + [ + -16.363056, + 14.166111 + ], + [ + -16.747223, + 13.951944 + ], + [ + -16.490837, + 13.958055 + ], + [ + -16.56567, + 13.589998 + ], + [ + -15.070278, + 13.826387 + ], + [ + -13.798613, + 13.406387 + ], + [ + -14.351112, + 13.237778 + ], + [ + -15.111668, + 13.595833 + ], + [ + -15.285002, + 13.374443 + ], + [ + -15.803612, + 13.347776 + ], + [ + -15.809723, + 13.159721 + ], + [ + -16.750874, + 13.059977 + ], + [ + -16.756111, + 12.564999 + ], + [ + -16.598057, + 12.791666 + ], + [ + -15.650002, + 12.555555 + ], + [ + -15.390001, + 12.831944 + ], + [ + -15.626945, + 12.531111 + ], + [ + -16.586945, + 12.632776 + ], + [ + -16.71777, + 12.322426 + ], + [ + -14.516945, + 12.679722 + ], + [ + -13.713139, + 12.677221 + ], + [ + -12.345404, + 12.301748 + ], + [ + -11.373058, + 12.407774 + ], + [ + -11.378056, + 12.988054 + ], + [ + -12.057222, + 13.664721 + ], + [ + -12.244833, + 14.764385 + ], + [ + -14.345278, + 16.638611 + ], + [ + -16.280834, + 16.519722 + ], + [ + -16.527679, + 16.060249 + ] + ] + ] + }, + "name" : "Senegal", + "iso2" : "SN", + "iso3" : "SEN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "-r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 13.718655, + 46.526611 + ], + [ + 13.383055, + 46.297218 + ], + [ + 13.669167, + 46.177498 + ], + [ + 13.48, + 46.011108 + ], + [ + 13.919167, + 45.637497 + ], + [ + 13.716944, + 45.596107 + ], + [ + 13.59174, + 45.481697 + ], + [ + 14.601387, + 45.675278 + ], + [ + 15.174458, + 45.425819 + ], + [ + 15.697777, + 45.844162 + ], + [ + 15.654722, + 46.219444 + ], + [ + 16.572498, + 46.475273 + ], + [ + 16.607872, + 46.476234 + ], + [ + 16.111805, + 46.86972 + ], + [ + 14.544998, + 46.407494 + ], + [ + 13.718655, + 46.526611 + ] + ] + ] + }, + "name" : "Slovenia", + "iso2" : "SI", + "iso3" : "SVN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "-71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -12.525278, + 7.431389 + ], + [ + -12.591112, + 7.634444 + ], + [ + -12.952778, + 7.568333 + ], + [ + -12.525278, + 7.431389 + ] + ] + ], + [ + [ + [ + -10.266651, + 8.488377 + ], + [ + -10.695835, + 8.298611 + ], + [ + -10.571526, + 9.059532 + ], + [ + -11.214445, + 9.997499 + ], + [ + -12.456112, + 9.888332 + ], + [ + -13.29561, + 9.032143 + ], + [ + -13.132223, + 8.861944 + ], + [ + -13.2425, + 8.8025 + ], + [ + -13.165279, + 8.51861 + ], + [ + -12.897501, + 8.567778 + ], + [ + -13.120279, + 8.461666 + ], + [ + -13.05139, + 8.36861 + ], + [ + -13.288057, + 8.496111 + ], + [ + -12.958612, + 7.9 + ], + [ + -11.492331, + 6.927091 + ], + [ + -10.266651, + 8.488377 + ] + ] + ] + ] + }, + "name" : "Sierra Leone", + "iso2" : "SL", + "iso3" : "SLE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "_L1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 103.99054, + 1.383291 + ], + [ + 103.713593, + 1.429444 + ], + [ + 103.640808, + 1.315555 + ], + [ + 103.99054, + 1.383291 + ] + ] + ] + }, + "name" : "Singapore", + "iso2" : "SG", + "iso3" : "SGP" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "_b1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 42.944092, + 11.002438 + ], + [ + 42.663055, + 10.6325 + ], + [ + 42.848053, + 10.22361 + ], + [ + 44.010551, + 9.007221 + ], + [ + 47.01194, + 8.00111 + ], + [ + 47.988243, + 8.004107 + ], + [ + 44.950829, + 4.902499 + ], + [ + 43.686386, + 4.891944 + ], + [ + 41.905167, + 3.980322 + ], + [ + 40.986595, + 2.829956 + ], + [ + 40.998329, + -0.866111 + ], + [ + 41.558159, + -1.674868 + ], + [ + 43.488609, + 0.649999 + ], + [ + 46.014717, + 2.427778 + ], + [ + 47.954437, + 4.463888 + ], + [ + 50.83625, + 9.432688 + ], + [ + 50.896942, + 10.319721 + ], + [ + 51.412636, + 10.451515 + ], + [ + 51.01416, + 10.442778 + ], + [ + 51.277222, + 11.836666 + ], + [ + 50.76944, + 11.979166 + ], + [ + 50.085548, + 11.511944 + ], + [ + 47.398888, + 11.179998 + ], + [ + 46.448051, + 10.688889 + ], + [ + 45.759995, + 10.875277 + ], + [ + 44.898331, + 10.420555 + ], + [ + 44.278328, + 10.447777 + ], + [ + 43.249222, + 11.469534 + ], + [ + 42.944092, + 11.002438 + ] + ] + ] + }, + "name" : "Somalia", + "iso2" : "SO", + "iso3" : "SOM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "_r1E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -17.912781, + 27.771666 + ], + [ + -18.170559, + 27.737223 + ], + [ + -17.98278, + 27.637499 + ], + [ + -17.912781, + 27.771666 + ] + ] + ], + [ + [ + [ + -15.554167, + 27.755835 + ], + [ + -15.365557, + 28.010279 + ], + [ + -15.702501, + 28.156111 + ], + [ + -15.554167, + 27.755835 + ] + ] + ], + [ + [ + [ + -17.175003, + 28.016943 + ], + [ + -17.101948, + 28.134722 + ], + [ + -17.316948, + 28.172224 + ], + [ + -17.175003, + 28.016943 + ] + ] + ], + [ + [ + [ + -16.341114, + 28.370279 + ], + [ + -16.156948, + 28.572222 + ], + [ + -16.912781, + 28.341391 + ], + [ + -16.671391, + 27.984167 + ], + [ + -16.341114, + 28.370279 + ] + ] + ], + [ + [ + [ + -14.327223, + 28.046389 + ], + [ + -13.923056, + 28.249166 + ], + [ + -13.869722, + 28.75139 + ], + [ + -14.327223, + 28.046389 + ] + ] + ], + [ + [ + [ + -17.831947, + 28.45389 + ], + [ + -17.716393, + 28.746111 + ], + [ + -17.904446, + 28.849443 + ], + [ + -17.831947, + 28.45389 + ] + ] + ], + [ + [ + [ + -13.609724, + 28.92639 + ], + [ + -13.442501, + 29.231668 + ], + [ + -13.852222, + 28.906389 + ], + [ + -13.609724, + 28.92639 + ] + ] + ], + [ + [ + [ + -2.925278, + 35.266665 + ], + [ + -2.914722, + 35.273607 + ], + [ + -2.946945, + 35.329165 + ], + [ + -2.925278, + 35.266665 + ] + ] + ], + [ + [ + [ + -5.319445, + 35.87694 + ], + [ + -5.395557, + 35.916338 + ], + [ + -5.345833, + 35.841661 + ], + [ + -5.319445, + 35.87694 + ] + ] + ], + [ + [ + [ + -3.03611, + 35.912775 + ], + [ + -3.027222, + 35.92444 + ], + [ + -3.051111, + 35.915834 + ], + [ + -3.03611, + 35.912775 + ] + ] + ], + [ + [ + [ + 1.57778, + 38.687777 + ], + [ + 1.383055, + 38.720552 + ], + [ + 1.39028, + 38.643328 + ], + [ + 1.57778, + 38.687777 + ] + ] + ], + [ + [ + [ + 1.531668, + 38.951944 + ], + [ + 1.519724, + 39.118334 + ], + [ + 1.211946, + 38.898333 + ], + [ + 1.531668, + 38.951944 + ] + ] + ], + [ + [ + [ + 3.247778, + 39.73472 + ], + [ + 2.98778, + 39.911112 + ], + [ + 2.364168, + 39.555834 + ], + [ + 3.063612, + 39.263613 + ], + [ + 3.479723, + 39.711107 + ], + [ + 3.247778, + 39.73472 + ] + ] + ], + [ + [ + [ + 4.273333, + 39.96139 + ], + [ + 3.796946, + 40.017221 + ], + [ + 4.276388, + 39.806391 + ], + [ + 4.273333, + 39.96139 + ] + ] + ], + [ + [ + [ + -7.431854, + 37.253191 + ], + [ + -6.355555, + 36.860834 + ], + [ + -6.0375, + 36.180277 + ], + [ + -5.355799, + 36.163309 + ], + [ + -5.334507, + 36.162561 + ], + [ + -4.398333, + 36.722223 + ], + [ + -2.129166, + 36.731386 + ], + [ + -1.64361, + 37.372774 + ], + [ + -0.715555, + 37.606943 + ], + [ + -0.511667, + 38.324999 + ], + [ + 0.207224, + 38.73221 + ], + [ + -0.338055, + 39.435556 + ], + [ + 0.048891, + 40.036104 + ], + [ + 0.964445, + 41.032778 + ], + [ + 3.17528, + 41.867495 + ], + [ + 3.177656, + 42.436808 + ], + [ + 1.723612, + 42.509439 + ], + [ + 1.445833, + 42.601946 + ], + [ + -0.562222, + 42.781389 + ], + [ + -1.780876, + 43.359926 + ], + [ + -7.044819, + 43.490404 + ], + [ + -7.855555, + 43.759996 + ], + [ + -9.209446, + 43.152773 + ], + [ + -9.041389, + 42.528887 + ], + [ + -8.719446, + 42.695833 + ], + [ + -8.869167, + 42.25139 + ], + [ + -8.579723, + 42.351664 + ], + [ + -8.898613, + 42.108057 + ], + [ + -8.745008, + 41.952501 + ], + [ + -8.201223, + 42.152742 + ], + [ + -8.204723, + 41.87472 + ], + [ + -6.594166, + 41.953608 + ], + [ + -6.187222, + 41.579721 + ], + [ + -6.931667, + 41.018053 + ], + [ + -7.017221, + 39.674997 + ], + [ + -7.532505, + 39.66942 + ], + [ + -6.954792, + 39.026384 + ], + [ + -7.321112, + 38.449442 + ], + [ + -6.939167, + 38.178057 + ], + [ + -7.446945, + 37.699442 + ], + [ + -7.431854, + 37.253191 + ] + ], + [ + [ + -6.924999, + 37.170832 + ], + [ + -6.954166, + 37.180277 + ], + [ + -6.973055, + 37.210276 + ], + [ + -6.924999, + 37.170832 + ] + ] + ] + ] + }, + "name" : "Spain", + "iso2" : "ES", + "iso3" : "ESP" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "_71E6XMBz91lfVjVLNnV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -60.954727, + 13.709444 + ], + [ + -60.930283, + 14.109444 + ], + [ + -61.079445, + 13.879999 + ], + [ + -60.954727, + 13.709444 + ] + ] + ] + }, + "name" : "Saint Lucia", + "iso2" : "LC", + "iso3" : "LCA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "AL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 24.047173, + 8.693076 + ], + [ + 24.201111, + 8.686943 + ], + [ + 24.192497, + 8.30361 + ], + [ + 25.25333, + 7.850555 + ], + [ + 25.206944, + 7.497499 + ], + [ + 26.404999, + 6.646388 + ], + [ + 26.437496, + 6.077777 + ], + [ + 27.142776, + 5.771944 + ], + [ + 27.455276, + 5.016388 + ], + [ + 28.363052, + 4.29 + ], + [ + 29.64333, + 4.643611 + ], + [ + 30.858818, + 3.493394 + ], + [ + 31.176666, + 3.795278 + ], + [ + 32.193329, + 3.511389 + ], + [ + 33.016663, + 3.888611 + ], + [ + 33.516937, + 3.752222 + ], + [ + 33.996666, + 4.222777 + ], + [ + 34.388191, + 4.609682 + ], + [ + 35.940552, + 4.622499 + ], + [ + 35.821663, + 5.32861 + ], + [ + 35.301941, + 5.378055 + ], + [ + 34.70472, + 6.677777 + ], + [ + 33.711388, + 7.660277 + ], + [ + 32.991104, + 7.924999 + ], + [ + 33.252777, + 8.458611 + ], + [ + 34.120552, + 8.577221 + ], + [ + 34.195517, + 9.47239 + ], + [ + 33.963393, + 9.464285 + ], + [ + 33.824963, + 9.484061 + ], + [ + 33.842131, + 9.981915 + ], + [ + 33.721959, + 10.325262 + ], + [ + 33.206938, + 10.720112 + ], + [ + 33.086766, + 11.441141 + ], + [ + 33.206938, + 12.179338 + ], + [ + 32.743419, + 12.248008 + ], + [ + 32.67475, + 12.024832 + ], + [ + 32.073892, + 11.97333 + ], + [ + 32.314235, + 11.681484 + ], + [ + 32.400072, + 11.080626 + ], + [ + 31.850716, + 10.531271 + ], + [ + 31.352862, + 9.810241 + ], + [ + 30.837841, + 9.707237 + ], + [ + 29.996639, + 10.290927 + ], + [ + 29.618957, + 10.084919 + ], + [ + 29.515953, + 9.793074 + ], + [ + 29.000932, + 9.604232 + ], + [ + 28.966597, + 9.398224 + ], + [ + 27.97089, + 9.398224 + ], + [ + 27.833551, + 9.604232 + ], + [ + 27.112521, + 9.638567 + ], + [ + 26.752006, + 9.466893 + ], + [ + 26.477328, + 9.55273 + ], + [ + 26.1522, + 9.826436 + ], + [ + 25.962307, + 10.136421 + ], + [ + 25.790633, + 10.411099 + ], + [ + 25.069604, + 10.27376 + ], + [ + 24.794926, + 9.810241 + ], + [ + 24.537415, + 8.917538 + ], + [ + 24.047173, + 8.693076 + ] + ] + ] + }, + "name" : "South Sudan", + "iso2" : "SS", + "iso3" : "SSD" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ab1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 16.836666, + 56.826942 + ], + [ + 17.105553, + 57.348328 + ], + [ + 16.42083, + 56.211105 + ], + [ + 16.836666, + 56.826942 + ] + ] + ], + [ + [ + [ + 18.206108, + 56.911942 + ], + [ + 19.004719, + 57.908607 + ], + [ + 18.119164, + 57.531105 + ], + [ + 18.206108, + 56.911942 + ] + ] + ], + [ + [ + [ + 19.334442, + 57.955826 + ], + [ + 19.034443, + 57.901108 + ], + [ + 19.12611, + 57.839722 + ], + [ + 19.334442, + 57.955826 + ] + ] + ], + [ + [ + [ + 11.594444, + 57.932495 + ], + [ + 11.735884, + 58.041714 + ], + [ + 11.501944, + 58.036659 + ], + [ + 11.594444, + 57.932495 + ] + ] + ], + [ + [ + [ + 16.816666, + 58.116104 + ], + [ + 16.801109, + 58.123329 + ], + [ + 16.77861, + 58.100555 + ], + [ + 16.816666, + 58.116104 + ] + ] + ], + [ + [ + [ + 11.806389, + 58.120552 + ], + [ + 11.6775, + 58.286659 + ], + [ + 11.40111, + 58.130272 + ], + [ + 11.806389, + 58.120552 + ] + ] + ], + [ + [ + [ + 19.236942, + 58.337219 + ], + [ + 19.331108, + 58.366104 + ], + [ + 19.186665, + 58.391388 + ], + [ + 19.236942, + 58.337219 + ] + ] + ], + [ + [ + [ + 17.691387, + 58.916939 + ], + [ + 17.675831, + 59.054718 + ], + [ + 17.639164, + 58.971107 + ], + [ + 17.691387, + 58.916939 + ] + ] + ], + [ + [ + [ + 18.40583, + 59.023888 + ], + [ + 18.479164, + 59.119995 + ], + [ + 18.35722, + 59.034996 + ], + [ + 18.40583, + 59.023888 + ] + ] + ], + [ + [ + [ + 18.53722, + 59.223885 + ], + [ + 18.610275, + 59.254166 + ], + [ + 18.389442, + 59.284721 + ], + [ + 18.53722, + 59.223885 + ] + ] + ], + [ + [ + [ + 17.786942, + 59.310555 + ], + [ + 17.773888, + 59.372772 + ], + [ + 17.605553, + 59.416664 + ], + [ + 17.786942, + 59.310555 + ] + ] + ], + [ + [ + [ + 17.734722, + 59.296104 + ], + [ + 17.520275, + 59.418327 + ], + [ + 17.622776, + 59.305275 + ], + [ + 17.817497, + 59.277771 + ], + [ + 17.734722, + 59.296104 + ] + ] + ], + [ + [ + [ + 17.266388, + 59.374443 + ], + [ + 17.266941, + 59.44416 + ], + [ + 17.07, + 59.459442 + ], + [ + 17.266388, + 59.374443 + ] + ] + ], + [ + [ + [ + 18.575554, + 59.448326 + ], + [ + 18.746944, + 59.544998 + ], + [ + 18.570274, + 59.526382 + ], + [ + 18.575554, + 59.448326 + ] + ] + ], + [ + [ + [ + 18.57, + 60.307777 + ], + [ + 18.374165, + 60.499718 + ], + [ + 18.401108, + 60.365273 + ], + [ + 18.57, + 60.307777 + ] + ] + ], + [ + [ + [ + 17.509163, + 62.363327 + ], + [ + 17.472221, + 62.458328 + ], + [ + 17.367222, + 62.471664 + ], + [ + 17.509163, + 62.363327 + ] + ] + ], + [ + [ + [ + 18.060833, + 62.67083 + ], + [ + 18.153053, + 62.728882 + ], + [ + 18.039165, + 62.73555 + ], + [ + 18.060833, + 62.67083 + ] + ] + ], + [ + [ + [ + 20.885555, + 63.751663 + ], + [ + 20.928608, + 63.773331 + ], + [ + 20.838055, + 63.773331 + ], + [ + 20.885555, + 63.751663 + ] + ] + ], + [ + [ + [ + 21.809166, + 68.570541 + ], + [ + 20.580929, + 69.060303 + ], + [ + 20.096943, + 69.042221 + ], + [ + 20.350277, + 68.786652 + ], + [ + 19.937775, + 68.337494 + ], + [ + 18.090832, + 68.507767 + ], + [ + 17.884163, + 67.945541 + ], + [ + 16.726944, + 67.899155 + ], + [ + 16.085831, + 67.411652 + ], + [ + 16.353886, + 67.017776 + ], + [ + 15.362778, + 66.479996 + ], + [ + 15.468054, + 66.283875 + ], + [ + 14.504999, + 66.132492 + ], + [ + 14.493055, + 65.313599 + ], + [ + 13.662498, + 64.582764 + ], + [ + 14.116388, + 64.470551 + ], + [ + 13.988333, + 64.018051 + ], + [ + 12.938055, + 64.053329 + ], + [ + 12.139444, + 63.58416 + ], + [ + 11.936388, + 63.272217 + ], + [ + 12.295832, + 62.261665 + ], + [ + 12.124443, + 61.728607 + ], + [ + 12.85611, + 61.362495 + ], + [ + 12.209999, + 61.002495 + ], + [ + 12.594444, + 60.516937 + ], + [ + 12.494165, + 60.111107 + ], + [ + 11.81596, + 59.8461 + ], + [ + 11.75111, + 59.090271 + ], + [ + 11.429192, + 58.98764 + ], + [ + 11.113333, + 59.003609 + ], + [ + 11.201387, + 58.399437 + ], + [ + 11.798054, + 58.318329 + ], + [ + 11.88611, + 58.211937 + ], + [ + 11.698889, + 57.69722 + ], + [ + 12.887499, + 56.638329 + ], + [ + 12.622221, + 56.411942 + ], + [ + 12.813332, + 56.232773 + ], + [ + 12.451666, + 56.297775 + ], + [ + 13.059721, + 55.693054 + ], + [ + 12.982222, + 55.400551 + ], + [ + 14.193546, + 55.386147 + ], + [ + 14.217222, + 55.830276 + ], + [ + 14.696665, + 56.16111 + ], + [ + 15.865555, + 56.092216 + ], + [ + 16.693333, + 57.469162 + ], + [ + 16.41861, + 57.893326 + ], + [ + 16.700706, + 57.74015 + ], + [ + 16.495552, + 57.98555 + ], + [ + 16.770554, + 57.884438 + ], + [ + 16.613888, + 57.986938 + ], + [ + 16.824718, + 58.19944 + ], + [ + 16.41333, + 58.474716 + ], + [ + 16.93861, + 58.484161 + ], + [ + 16.193607, + 58.627495 + ], + [ + 17.349998, + 58.75222 + ], + [ + 17.663887, + 59.168327 + ], + [ + 17.894722, + 58.858887 + ], + [ + 18.311386, + 59.1325 + ], + [ + 18.277222, + 59.310829 + ], + [ + 18.640274, + 59.338882 + ], + [ + 18.434444, + 59.433609 + ], + [ + 18.466663, + 59.330276 + ], + [ + 18.289444, + 59.368607 + ], + [ + 17.847221, + 59.264442 + ], + [ + 17.35083, + 59.32444 + ], + [ + 17.375832, + 59.247498 + ], + [ + 16.840275, + 59.489441 + ], + [ + 16.692776, + 59.471382 + ], + [ + 16.889999, + 59.383331 + ], + [ + 16.020275, + 59.494995 + ], + [ + 17.38361, + 59.654999 + ], + [ + 17.73111, + 59.442772 + ], + [ + 17.786663, + 59.535828 + ], + [ + 17.561171, + 59.668449 + ], + [ + 17.618332, + 59.731384 + ], + [ + 17.513054, + 59.706383 + ], + [ + 17.543152, + 59.573006 + ], + [ + 17.444721, + 59.676109 + ], + [ + 17.594166, + 59.806938 + ], + [ + 17.654163, + 59.718048 + ], + [ + 17.648331, + 59.665833 + ], + [ + 17.59222, + 59.656105 + ], + [ + 17.71722, + 59.66333 + ], + [ + 17.845276, + 59.533051 + ], + [ + 17.764442, + 59.400551 + ], + [ + 17.941109, + 59.335548 + ], + [ + 19.081944, + 59.75972 + ], + [ + 17.150555, + 60.945 + ], + [ + 17.140274, + 61.719719 + ], + [ + 17.498886, + 61.635826 + ], + [ + 17.34972, + 61.945274 + ], + [ + 17.65472, + 62.23111 + ], + [ + 17.328888, + 62.486938 + ], + [ + 18.048054, + 62.601387 + ], + [ + 17.696663, + 62.991943 + ], + [ + 18.208611, + 62.77861 + ], + [ + 19.428055, + 63.549438 + ], + [ + 20.777775, + 63.869164 + ], + [ + 21.584999, + 64.439713 + ], + [ + 21.03611, + 64.824432 + ], + [ + 21.621387, + 65.142212 + ], + [ + 21.260555, + 65.337494 + ], + [ + 22.199165, + 65.545273 + ], + [ + 21.766941, + 65.722488 + ], + [ + 22.40583, + 65.535263 + ], + [ + 22.329166, + 65.829712 + ], + [ + 22.644722, + 65.905548 + ], + [ + 24.167007, + 65.814026 + ], + [ + 23.661942, + 66.31221 + ], + [ + 24.007774, + 66.800552 + ], + [ + 23.571663, + 67.156662 + ], + [ + 23.767776, + 67.416107 + ], + [ + 23.43111, + 67.465546 + ], + [ + 23.666111, + 67.941666 + ], + [ + 21.809166, + 68.570541 + ] + ] + ] + ] + }, + "name" : "Sweden", + "iso2" : "SE", + "iso3" : "SWE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ar1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 42.355614, + 37.106926 + ], + [ + 40.770821, + 37.11805 + ], + [ + 39.229996, + 36.665276 + ], + [ + 36.659943, + 36.83371 + ], + [ + 36.690269, + 36.236107 + ], + [ + 35.92244, + 35.926994 + ], + [ + 35.733887, + 35.581665 + ], + [ + 35.972771, + 34.647499 + ], + [ + 36.459999, + 34.635277 + ], + [ + 36.623741, + 34.204994 + ], + [ + 35.623634, + 33.245728 + ], + [ + 35.648888, + 32.685272 + ], + [ + 36.837776, + 32.313606 + ], + [ + 38.794701, + 33.377594 + ], + [ + 41.003876, + 34.419434 + ], + [ + 41.290276, + 36.355553 + ], + [ + 42.355614, + 37.106926 + ] + ] + ] + }, + "name" : "Syrian Arab Republic", + "iso2" : "SY", + "iso3" : "SYR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "A71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 9.566724, + 47.540451 + ], + [ + 8.566111, + 47.806938 + ], + [ + 8.57642, + 47.59137 + ], + [ + 7.697223, + 47.543327 + ], + [ + 7.588268, + 47.58448 + ], + [ + 6.990555, + 47.497215 + ], + [ + 5.966666, + 46.209442 + ], + [ + 6.791389, + 46.434166 + ], + [ + 7.038054, + 45.931938 + ], + [ + 7.855742, + 45.919052 + ], + [ + 8.436388, + 46.463333 + ], + [ + 9.036665, + 45.837776 + ], + [ + 9.281944, + 46.495827 + ], + [ + 10.129999, + 46.227219 + ], + [ + 10.050278, + 46.539993 + ], + [ + 10.465277, + 46.546387 + ], + [ + 10.471235, + 46.871353 + ], + [ + 9.598635, + 47.063835 + ], + [ + 9.474637, + 47.057457 + ], + [ + 9.533569, + 47.274544 + ], + [ + 9.566724, + 47.540451 + ] + ], + [ + [ + 8.710255, + 47.696808 + ], + [ + 8.678595, + 47.693344 + ], + [ + 8.670555, + 47.711105 + ], + [ + 8.710255, + 47.696808 + ] + ] + ] + }, + "name" : "Switzerland", + "iso2" : "CH", + "iso3" : "CHE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "BL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -60.923058, + 10.797222 + ], + [ + -61.662224, + 10.709166 + ], + [ + -61.458336, + 10.278332 + ], + [ + -61.91806, + 10.042776 + ], + [ + -61.008057, + 10.140554 + ], + [ + -60.923058, + 10.797222 + ] + ] + ], + [ + [ + [ + -60.63945, + 11.203054 + ], + [ + -60.526672, + 11.346109 + ], + [ + -60.847504, + 11.158333 + ], + [ + -60.63945, + 11.203054 + ] + ] + ] + ] + }, + "name" : "Trinidad and Tobago", + "iso2" : "TT", + "iso3" : "TTO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Bb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 99.219162, + 6.532499 + ], + [ + 99.256119, + 6.571944 + ], + [ + 99.159988, + 6.548888 + ], + [ + 99.219162, + 6.532499 + ] + ] + ], + [ + [ + [ + 99.668045, + 6.496387 + ], + [ + 99.662811, + 6.702995 + ], + [ + 99.594986, + 6.593888 + ], + [ + 99.668045, + 6.496387 + ] + ] + ], + [ + [ + [ + 100.536087, + 7.15611 + ], + [ + 100.534973, + 7.174166 + ], + [ + 100.520813, + 7.154999 + ], + [ + 100.536087, + 7.15611 + ] + ] + ], + [ + [ + [ + 99.38916, + 7.194721 + ], + [ + 99.419144, + 7.234165 + ], + [ + 99.3936, + 7.270555 + ], + [ + 99.38916, + 7.194721 + ] + ] + ], + [ + [ + [ + 99.110809, + 7.468055 + ], + [ + 99.024155, + 7.636666 + ], + [ + 99.04248, + 7.525832 + ], + [ + 99.110809, + 7.468055 + ] + ] + ], + [ + [ + [ + 99.119705, + 7.591944 + ], + [ + 99.121918, + 7.665277 + ], + [ + 99.045822, + 7.669443 + ], + [ + 99.119705, + 7.591944 + ] + ] + ], + [ + [ + [ + 98.434708, + 7.930554 + ], + [ + 98.43692, + 7.94361 + ], + [ + 98.418045, + 7.93611 + ], + [ + 98.434708, + 7.930554 + ] + ] + ], + [ + [ + [ + 98.603592, + 7.901111 + ], + [ + 98.611923, + 8.048609 + ], + [ + 98.526093, + 8.121386 + ], + [ + 98.603592, + 7.901111 + ] + ] + ], + [ + [ + [ + 98.399841, + 7.941753 + ], + [ + 98.282486, + 8.186386 + ], + [ + 98.305252, + 7.757222 + ], + [ + 98.399841, + 7.941753 + ] + ] + ], + [ + [ + [ + 98.616653, + 8.084442 + ], + [ + 98.628311, + 8.189165 + ], + [ + 98.568329, + 8.11722 + ], + [ + 98.616653, + 8.084442 + ] + ] + ], + [ + [ + [ + 98.266663, + 9.030554 + ], + [ + 98.324432, + 9.084164 + ], + [ + 98.280823, + 9.158054 + ], + [ + 98.266663, + 9.030554 + ] + ] + ], + [ + [ + [ + 97.87915, + 9.381941 + ], + [ + 97.847214, + 9.43222 + ], + [ + 97.835266, + 9.402777 + ], + [ + 97.87915, + 9.381941 + ] + ] + ], + [ + [ + [ + 97.89888, + 9.437498 + ], + [ + 97.883881, + 9.475554 + ], + [ + 97.847488, + 9.458609 + ], + [ + 97.89888, + 9.437498 + ] + ] + ], + [ + [ + [ + 99.681366, + 9.506109 + ], + [ + 99.708603, + 9.53861 + ], + [ + 99.664993, + 9.524443 + ], + [ + 99.681366, + 9.506109 + ] + ] + ], + [ + [ + [ + 98.467484, + 9.574999 + ], + [ + 98.464432, + 9.585554 + ], + [ + 98.457764, + 9.573887 + ], + [ + 98.467484, + 9.574999 + ] + ] + ], + [ + [ + [ + 99.976089, + 9.41361 + ], + [ + 100.080833, + 9.58861 + ], + [ + 99.932205, + 9.546944 + ], + [ + 99.976089, + 9.41361 + ] + ] + ], + [ + [ + [ + 99.685532, + 9.606665 + ], + [ + 99.673599, + 9.629164 + ], + [ + 99.676651, + 9.607498 + ], + [ + 99.685532, + 9.606665 + ] + ] + ], + [ + [ + [ + 98.407211, + 9.714165 + ], + [ + 98.408325, + 9.770832 + ], + [ + 98.380814, + 9.732775 + ], + [ + 98.407211, + 9.714165 + ] + ] + ], + [ + [ + [ + 100.081673, + 9.686665 + ], + [ + 99.987488, + 9.796387 + ], + [ + 99.99054, + 9.711388 + ], + [ + 100.081673, + 9.686665 + ] + ] + ], + [ + [ + [ + 102.59552, + 11.56361 + ], + [ + 102.560226, + 11.754396 + ], + [ + 102.531357, + 11.601387 + ], + [ + 102.59552, + 11.56361 + ] + ] + ], + [ + [ + [ + 102.435791, + 11.954165 + ], + [ + 102.250549, + 12.15 + ], + [ + 102.291351, + 11.974442 + ], + [ + 102.435791, + 11.954165 + ] + ] + ], + [ + [ + [ + 102.241089, + 12.283888 + ], + [ + 102.2397, + 12.299442 + ], + [ + 102.235527, + 12.285276 + ], + [ + 102.241089, + 12.283888 + ] + ] + ], + [ + [ + [ + 100.688873, + 12.923609 + ], + [ + 100.676376, + 12.952776 + ], + [ + 100.671654, + 12.938332 + ], + [ + 100.688873, + 12.923609 + ] + ] + ], + [ + [ + [ + 100.816673, + 13.129442 + ], + [ + 100.821381, + 13.150555 + ], + [ + 100.807213, + 13.180277 + ], + [ + 100.816673, + 13.129442 + ] + ] + ], + [ + [ + [ + 100.09137, + 20.348606 + ], + [ + 100.081322, + 20.348841 + ], + [ + 99.522766, + 20.352776 + ], + [ + 98.995529, + 19.780552 + ], + [ + 98.049988, + 19.807499 + ], + [ + 97.774704, + 18.569996 + ], + [ + 97.346375, + 18.562496 + ], + [ + 98.689697, + 16.284996 + ], + [ + 98.92804, + 16.38583 + ], + [ + 98.201096, + 15.074999 + ], + [ + 99.173965, + 13.727781 + ], + [ + 99.112198, + 13.055832 + ], + [ + 99.661652, + 11.826942 + ], + [ + 98.742752, + 10.348608 + ], + [ + 98.274155, + 8.274443 + ], + [ + 98.656372, + 8.38361 + ], + [ + 100.127113, + 6.424947 + ], + [ + 100.214981, + 6.71111 + ], + [ + 100.654968, + 6.448332 + ], + [ + 101.115517, + 6.248888 + ], + [ + 101.139687, + 5.631943 + ], + [ + 101.569977, + 5.916666 + ], + [ + 101.833862, + 5.743332 + ], + [ + 102.09523, + 6.236138 + ], + [ + 101.541367, + 6.851388 + ], + [ + 100.421082, + 7.159444 + ], + [ + 99.847763, + 9.300831 + ], + [ + 99.237488, + 9.254166 + ], + [ + 99.149155, + 10.365553 + ], + [ + 100.021378, + 12.194164 + ], + [ + 100.066673, + 13.419998 + ], + [ + 100.976349, + 13.462809 + ], + [ + 100.853867, + 12.682775 + ], + [ + 102.060257, + 12.567497 + ], + [ + 102.916092, + 11.635851 + ], + [ + 102.377197, + 13.573887 + ], + [ + 103.180542, + 14.32972 + ], + [ + 105.210602, + 14.349648 + ], + [ + 105.536102, + 14.563332 + ], + [ + 105.637772, + 15.659721 + ], + [ + 104.747208, + 16.528332 + ], + [ + 104.718323, + 17.50333 + ], + [ + 103.985527, + 18.321663 + ], + [ + 103.397217, + 18.434994 + ], + [ + 102.683594, + 17.819996 + ], + [ + 102.089394, + 18.214983 + ], + [ + 101.162773, + 17.459995 + ], + [ + 100.921371, + 17.567219 + ], + [ + 101.281097, + 19.562218 + ], + [ + 100.503601, + 19.526665 + ], + [ + 100.58046, + 20.157768 + ], + [ + 100.09137, + 20.348606 + ] + ] + ] + ] + }, + "name" : "Thailand", + "iso2" : "TH", + "iso3" : "THA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Br1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 74.915741, + 37.237328 + ], + [ + 75.187485, + 37.406586 + ], + [ + 74.902771, + 37.647156 + ], + [ + 74.856644, + 38.470482 + ], + [ + 73.817764, + 38.607712 + ], + [ + 73.655685, + 39.454826 + ], + [ + 72.248596, + 39.191856 + ], + [ + 71.473038, + 39.6213 + ], + [ + 70.997757, + 39.40094 + ], + [ + 69.306091, + 39.539436 + ], + [ + 69.540817, + 40.131378 + ], + [ + 70.498032, + 39.90683 + ], + [ + 70.98204, + 40.244843 + ], + [ + 70.375534, + 40.376404 + ], + [ + 70.796799, + 40.725594 + ], + [ + 70.423874, + 41.049118 + ], + [ + 69.732483, + 40.638603 + ], + [ + 69.356094, + 40.772491 + ], + [ + 69.308029, + 40.201385 + ], + [ + 68.600815, + 40.178329 + ], + [ + 69.009995, + 40.089714 + ], + [ + 68.540268, + 39.55471 + ], + [ + 67.441956, + 39.483582 + ], + [ + 67.376373, + 39.212494 + ], + [ + 68.123871, + 38.98555 + ], + [ + 68.384155, + 38.195541 + ], + [ + 67.779877, + 37.185822 + ], + [ + 68.058014, + 36.932526 + ], + [ + 68.887772, + 37.3386 + ], + [ + 69.315262, + 37.115273 + ], + [ + 69.515823, + 37.580826 + ], + [ + 70.155823, + 37.536232 + ], + [ + 70.161377, + 37.933372 + ], + [ + 70.967209, + 38.472115 + ], + [ + 71.363037, + 38.248497 + ], + [ + 71.252777, + 37.922035 + ], + [ + 71.591934, + 37.902618 + ], + [ + 71.429428, + 37.075829 + ], + [ + 71.6772, + 36.67601 + ], + [ + 73.307205, + 37.462753 + ], + [ + 74.915741, + 37.237328 + ] + ] + ] + }, + "name" : "Tajikistan", + "iso2" : "TJ", + "iso3" : "TJK" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "B71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -171.214722, + -9.377499 + ], + [ + -171.224701, + -9.345556 + ], + [ + -171.223907, + -9.378889 + ], + [ + -171.214722, + -9.377499 + ] + ] + ], + [ + [ + [ + -171.843079, + -9.207502 + ], + [ + -171.853882, + -9.168058 + ], + [ + -171.860535, + -9.206667 + ], + [ + -171.843079, + -9.207502 + ] + ] + ], + [ + [ + [ + -172.483917, + -8.587221 + ], + [ + -172.483612, + -8.566666 + ], + [ + -172.496979, + -8.553888 + ], + [ + -172.483917, + -8.587221 + ] + ] + ] + ] + }, + "name" : "Tokelau", + "iso2" : "TK", + "iso3" : "TKL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "CL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -174.910858, + -21.426666 + ], + [ + -174.911438, + -21.30611 + ], + [ + -174.974701, + -21.365833 + ], + [ + -174.910858, + -21.426666 + ] + ] + ], + [ + [ + [ + -175.145844, + -21.178059 + ], + [ + -175.047241, + -21.139442 + ], + [ + -175.359467, + -21.099171 + ], + [ + -175.145844, + -21.178059 + ] + ] + ], + [ + [ + [ + -174.760834, + -20.27639 + ], + [ + -174.76004, + -20.237225 + ], + [ + -174.791962, + -20.234722 + ], + [ + -174.760834, + -20.27639 + ] + ] + ], + [ + [ + [ + -174.41394, + -19.926666 + ], + [ + -174.390869, + -19.881668 + ], + [ + -174.422546, + -19.910004 + ], + [ + -174.41394, + -19.926666 + ] + ] + ], + [ + [ + [ + -174.318604, + -19.821945 + ], + [ + -174.315857, + -19.764172 + ], + [ + -174.35498, + -19.811951 + ], + [ + -174.318604, + -19.821945 + ] + ] + ], + [ + [ + [ + -175.056671, + -19.800838 + ], + [ + -175.081696, + -19.70639 + ], + [ + -175.098602, + -19.749725 + ], + [ + -175.056671, + -19.800838 + ] + ] + ], + [ + [ + [ + -174.272522, + -19.752785 + ], + [ + -174.256134, + -19.688053 + ], + [ + -174.30722, + -19.740833 + ], + [ + -174.272522, + -19.752785 + ] + ] + ], + [ + [ + [ + -175.018341, + -19.691387 + ], + [ + -175.005585, + -19.6525 + ], + [ + -175.035858, + -19.676666 + ], + [ + -175.018341, + -19.691387 + ] + ] + ], + [ + [ + [ + -174.244476, + -19.656113 + ], + [ + -174.291962, + -19.594444 + ], + [ + -174.281952, + -19.634445 + ], + [ + -174.244476, + -19.656113 + ] + ] + ], + [ + [ + [ + -174.646973, + -18.83028 + ], + [ + -174.623077, + -18.809444 + ], + [ + -174.64978, + -18.783058 + ], + [ + -174.675049, + -18.804447 + ], + [ + -174.646973, + -18.83028 + ] + ] + ], + [ + [ + [ + -174.061401, + -18.704723 + ], + [ + -174.073639, + -18.68111 + ], + [ + -174.097809, + -18.696388 + ], + [ + -174.061401, + -18.704723 + ] + ] + ], + [ + [ + [ + -174.019745, + -18.71722 + ], + [ + -174.019196, + -18.694447 + ], + [ + -174.043335, + -18.680836 + ], + [ + -174.019745, + -18.71722 + ] + ] + ], + [ + [ + [ + -174.089722, + -18.674171 + ], + [ + -174.115814, + -18.671391 + ], + [ + -174.128052, + -18.703335 + ], + [ + -174.089722, + -18.674171 + ] + ] + ], + [ + [ + [ + -173.910553, + -18.638058 + ], + [ + -173.939209, + -18.568893 + ], + [ + -174.070587, + -18.632504 + ], + [ + -173.910553, + -18.638058 + ] + ] + ], + [ + [ + [ + -175.644745, + -15.629168 + ], + [ + -175.621399, + -15.560835 + ], + [ + -175.683929, + -15.589724 + ], + [ + -175.644745, + -15.629168 + ] + ] + ] + ] + }, + "name" : "Tonga", + "iso2" : "TO", + "iso3" : "TON" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Cb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 1.635404, + 6.218721 + ], + [ + 1.398542, + 9.429901 + ], + [ + 1.355, + 9.995277 + ], + [ + 0.776667, + 10.376665 + ], + [ + 0.91797, + 10.996399 + ], + [ + -0.149762, + 11.13854 + ], + [ + 0.368333, + 10.259443 + ], + [ + 0.2175, + 9.457222 + ], + [ + 0.550833, + 9.411388 + ], + [ + 0.382735, + 8.760756 + ], + [ + 0.727222, + 8.321388 + ], + [ + 0.525, + 6.947778 + ], + [ + 1.198891, + 6.100546 + ], + [ + 1.635404, + 6.218721 + ] + ] + ] + }, + "name" : "Togo", + "iso2" : "TG", + "iso3" : "TGO" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Cr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 6.523889, + 0.018333 + ], + [ + 6.687778, + 0.402222 + ], + [ + 6.467222, + 0.259722 + ], + [ + 6.523889, + 0.018333 + ] + ] + ], + [ + [ + [ + 7.423055, + 1.556111 + ], + [ + 7.406666, + 1.701944 + ], + [ + 7.327222, + 1.607222 + ], + [ + 7.423055, + 1.556111 + ] + ] + ] + ] + }, + "name" : "Sao Tome and Principe", + "iso2" : "ST", + "iso3" : "STP" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "C71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 10.99361, + 33.75 + ], + [ + 10.72611, + 33.880829 + ], + [ + 10.865, + 33.638611 + ], + [ + 10.99361, + 33.75 + ] + ] + ], + [ + [ + [ + 11.064722, + 34.640549 + ], + [ + 10.961111, + 34.655273 + ], + [ + 11.035, + 34.617493 + ], + [ + 11.064722, + 34.640549 + ] + ] + ], + [ + [ + [ + 11.13722, + 34.675278 + ], + [ + 11.302221, + 34.803329 + ], + [ + 11.230833, + 34.821106 + ], + [ + 11.13722, + 34.675278 + ] + ] + ], + [ + [ + [ + 10.808611, + 37.119438 + ], + [ + 10.814722, + 37.125275 + ], + [ + 10.791943, + 37.126389 + ], + [ + 10.808611, + 37.119438 + ] + ] + ], + [ + [ + [ + 11.526081, + 33.171135 + ], + [ + 11.17111, + 33.210831 + ], + [ + 11.048611, + 33.616943 + ], + [ + 10.331944, + 33.700272 + ], + [ + 10.005833, + 34.166939 + ], + [ + 11.128887, + 35.235832 + ], + [ + 10.455276, + 36.123329 + ], + [ + 11.067778, + 37.051384 + ], + [ + 10.381943, + 36.723328 + ], + [ + 10.252499, + 37.186386 + ], + [ + 9.845247, + 37.139351 + ], + [ + 9.672499, + 37.338051 + ], + [ + 8.62203, + 36.941368 + ], + [ + 8.183611, + 36.524162 + ], + [ + 8.251665, + 34.64444 + ], + [ + 7.492499, + 33.887497 + ], + [ + 8.34861, + 32.533333 + ], + [ + 9.055277, + 32.099998 + ], + [ + 9.537113, + 30.23439 + ], + [ + 10.21361, + 30.730831 + ], + [ + 10.287222, + 31.694164 + ], + [ + 11.567499, + 32.442215 + ], + [ + 11.526081, + 33.171135 + ] + ] + ], + [ + [ + [ + 8.917776, + 37.510826 + ], + [ + 8.944721, + 37.538055 + ], + [ + 8.896111, + 37.525833 + ], + [ + 8.917776, + 37.510826 + ] + ] + ] + ] + }, + "name" : "Tunisia", + "iso2" : "TN", + "iso3" : "TUN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "DL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 26.078053, + 39.7836 + ], + [ + 26.075829, + 39.839722 + ], + [ + 25.974995, + 39.829987 + ], + [ + 26.078053, + 39.7836 + ] + ] + ], + [ + [ + [ + 25.824444, + 40.100266 + ], + [ + 26.013611, + 40.157494 + ], + [ + 25.663883, + 40.126389 + ], + [ + 25.824444, + 40.100266 + ] + ] + ], + [ + [ + [ + 27.60722, + 40.57222 + ], + [ + 27.735271, + 40.634438 + ], + [ + 27.531109, + 40.648331 + ], + [ + 27.60722, + 40.57222 + ] + ] + ], + [ + [ + [ + 41.531559, + 41.523876 + ], + [ + 40.149994, + 40.920273 + ], + [ + 38.361382, + 40.909431 + ], + [ + 36.429153, + 41.242775 + ], + [ + 36.051102, + 41.691933 + ], + [ + 35.506386, + 41.638054 + ], + [ + 35.096931, + 41.961655 + ], + [ + 33.333878, + 42.020264 + ], + [ + 31.23111, + 41.088875 + ], + [ + 29.166111, + 41.226662 + ], + [ + 29.12944, + 40.914444 + ], + [ + 29.938049, + 40.723885 + ], + [ + 28.795277, + 40.551384 + ], + [ + 28.985271, + 40.356934 + ], + [ + 26.707222, + 40.384995 + ], + [ + 26.067219, + 39.483047 + ], + [ + 26.951664, + 39.552773 + ], + [ + 26.644722, + 39.263054 + ], + [ + 27.064442, + 38.874435 + ], + [ + 26.730827, + 38.645821 + ], + [ + 27.161942, + 38.443886 + ], + [ + 26.682217, + 38.307487 + ], + [ + 26.369999, + 38.661942 + ], + [ + 26.275829, + 38.264435 + ], + [ + 27.267773, + 37.955544 + ], + [ + 27.193886, + 37.350822 + ], + [ + 27.595276, + 37.232491 + ], + [ + 27.252499, + 36.967499 + ], + [ + 28.328606, + 37.039719 + ], + [ + 27.37944, + 36.680832 + ], + [ + 28.118332, + 36.800278 + ], + [ + 27.983887, + 36.552773 + ], + [ + 28.454163, + 36.881386 + ], + [ + 29.677216, + 36.118332 + ], + [ + 30.40694, + 36.203606 + ], + [ + 30.623333, + 36.850822 + ], + [ + 31.046661, + 36.849152 + ], + [ + 32.808884, + 36.025551 + ], + [ + 33.988602, + 36.277771 + ], + [ + 34.659431, + 36.805275 + ], + [ + 35.339989, + 36.539162 + ], + [ + 36.021935, + 36.926384 + ], + [ + 36.217766, + 36.654999 + ], + [ + 35.783875, + 36.312485 + ], + [ + 35.92244, + 35.926994 + ], + [ + 36.690269, + 36.236107 + ], + [ + 36.659943, + 36.83371 + ], + [ + 39.229996, + 36.665276 + ], + [ + 40.770821, + 37.11805 + ], + [ + 42.355614, + 37.106926 + ], + [ + 42.790825, + 37.38472 + ], + [ + 44.116379, + 37.316376 + ], + [ + 44.317215, + 36.970543 + ], + [ + 44.787338, + 37.149712 + ], + [ + 44.61805, + 37.727768 + ], + [ + 44.223969, + 37.899151 + ], + [ + 44.484154, + 38.345543 + ], + [ + 44.034157, + 39.384995 + ], + [ + 44.4161, + 39.425262 + ], + [ + 44.60582, + 39.78054 + ], + [ + 44.813042, + 39.630814 + ], + [ + 44.778862, + 39.706383 + ], + [ + 44.347214, + 40.023888 + ], + [ + 43.657494, + 40.108597 + ], + [ + 43.751938, + 40.739998 + ], + [ + 43.46077, + 41.112961 + ], + [ + 42.827492, + 41.584991 + ], + [ + 41.531559, + 41.523876 + ] + ] + ], + [ + [ + [ + 28.013054, + 41.982216 + ], + [ + 27.394997, + 42.008041 + ], + [ + 26.361095, + 41.711052 + ], + [ + 26.633884, + 41.354439 + ], + [ + 26.04472, + 40.735825 + ], + [ + 26.826939, + 40.594437 + ], + [ + 26.181107, + 40.045273 + ], + [ + 27.50972, + 40.983597 + ], + [ + 29.039162, + 41.057213 + ], + [ + 28.090549, + 41.631386 + ], + [ + 28.013054, + 41.982216 + ] + ] + ] + ] + }, + "name" : "Turkey", + "iso2" : "TR", + "iso3" : "TUR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Db1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 179.222366, + -8.554146 + ], + [ + 179.231094, + -8.50492 + ], + [ + 179.203705, + -8.462443 + ], + [ + 179.222366, + -8.554146 + ] + ] + ], + [ + [ + [ + 178.366913, + -8.062778 + ], + [ + 178.36969, + -8.0275 + ], + [ + 178.355804, + -8.06139 + ], + [ + 178.366913, + -8.062778 + ] + ] + ], + [ + [ + [ + 178.397766, + -8.015278 + ], + [ + 178.403046, + -7.991388 + ], + [ + 178.39151, + -8 + ], + [ + 178.397766, + -8.015278 + ] + ] + ], + [ + [ + [ + 178.700531, + -7.482223 + ], + [ + 178.690796, + -7.464445 + ], + [ + 178.687469, + -7.478889 + ], + [ + 178.700531, + -7.482223 + ] + ] + ], + [ + [ + [ + 177.158875, + -7.187778 + ], + [ + 177.142212, + -7.173611 + ], + [ + 177.146362, + -7.188611 + ], + [ + 177.158875, + -7.187778 + ] + ] + ], + [ + [ + [ + 176.310242, + -6.285556 + ], + [ + 176.308868, + -6.257501 + ], + [ + 176.295258, + -6.278056 + ], + [ + 176.310242, + -6.285556 + ] + ] + ], + [ + [ + [ + 177.295807, + -6.113889 + ], + [ + 177.308868, + -6.098889 + ], + [ + 177.281372, + -6.089444 + ], + [ + 177.295807, + -6.113889 + ] + ] + ], + [ + [ + [ + 176.139709, + -5.690556 + ], + [ + 176.129395, + -5.675 + ], + [ + 176.130249, + -5.693333 + ], + [ + 176.139709, + -5.690556 + ] + ] + ], + [ + [ + [ + 176.08136, + -5.665277 + ], + [ + 176.079407, + -5.657778 + ], + [ + 176.066376, + -5.665277 + ], + [ + 176.08136, + -5.665277 + ] + ] + ] + ] + }, + "name" : "Tuvalu", + "iso2" : "TV", + "iso3" : "TUV" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Dr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 53.069719, + 38.899721 + ], + [ + 53.1, + 38.751108 + ], + [ + 53.078608, + 39.093882 + ], + [ + 53.069719, + 38.899721 + ] + ] + ], + [ + [ + [ + 58.78055, + 42.658045 + ], + [ + 58.164438, + 42.651934 + ], + [ + 58.515551, + 42.304438 + ], + [ + 58.026606, + 42.504641 + ], + [ + 56.98694, + 41.893053 + ], + [ + 57.044718, + 41.260279 + ], + [ + 56.000963, + 41.328455 + ], + [ + 55.456942, + 41.286661 + ], + [ + 54.173052, + 42.337214 + ], + [ + 53.015001, + 42.138887 + ], + [ + 52.440073, + 41.740938 + ], + [ + 52.881937, + 41.04722 + ], + [ + 52.815828, + 41.695826 + ], + [ + 52.946657, + 41.973047 + ], + [ + 53.803881, + 42.12388 + ], + [ + 54.072771, + 41.47555 + ], + [ + 54.733881, + 41.102221 + ], + [ + 54.244715, + 40.880274 + ], + [ + 54.417772, + 40.703608 + ], + [ + 53.746386, + 40.615274 + ], + [ + 52.918604, + 41.081667 + ], + [ + 52.721933, + 40.4461 + ], + [ + 53.004717, + 39.762217 + ], + [ + 52.934717, + 39.990549 + ], + [ + 53.57583, + 39.966105 + ], + [ + 53.408327, + 39.665827 + ], + [ + 53.734438, + 39.523882 + ], + [ + 53.264162, + 39.655268 + ], + [ + 53.162493, + 39.175554 + ], + [ + 53.541384, + 39.335825 + ], + [ + 53.983881, + 38.915827 + ], + [ + 53.905642, + 37.350855 + ], + [ + 54.681108, + 37.443605 + ], + [ + 55.442766, + 38.086107 + ], + [ + 57.212214, + 38.281939 + ], + [ + 57.450274, + 37.939157 + ], + [ + 59.338884, + 37.539164 + ], + [ + 60.333055, + 36.656099 + ], + [ + 61.157213, + 36.649996 + ], + [ + 61.27656, + 35.607248 + ], + [ + 62.30916, + 35.141665 + ], + [ + 62.722216, + 35.254717 + ], + [ + 63.105272, + 35.45083 + ], + [ + 63.11944, + 35.86194 + ], + [ + 64.503603, + 36.28055 + ], + [ + 64.798037, + 37.124994 + ], + [ + 65.708879, + 37.538607 + ], + [ + 66.537737, + 37.366381 + ], + [ + 66.643877, + 38.003054 + ], + [ + 64.383028, + 38.953127 + ], + [ + 62.551104, + 39.93416 + ], + [ + 61.874163, + 41.125551 + ], + [ + 60.140276, + 41.381105 + ], + [ + 60.014444, + 42.217493 + ], + [ + 58.78055, + 42.658045 + ] + ] + ] + ] + }, + "name" : "Turkmenistan", + "iso2" : "TM", + "iso3" : "TKM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "D71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 39.682495, + -7.993334 + ], + [ + 39.901108, + -7.638889 + ], + [ + 39.591385, + -7.945834 + ], + [ + 39.682495, + -7.993334 + ] + ] + ], + [ + [ + [ + 39.446663, + -6.210556 + ], + [ + 39.304161, + -5.723889 + ], + [ + 39.201385, + -6.226945 + ], + [ + 39.516106, + -6.468612 + ], + [ + 39.446663, + -6.210556 + ] + ] + ], + [ + [ + [ + 39.736107, + -5.462778 + ], + [ + 39.857216, + -4.908611 + ], + [ + 39.676941, + -4.941389 + ], + [ + 39.736107, + -5.462778 + ] + ] + ], + [ + [ + [ + 33.920273, + -1.001111 + ], + [ + 31.677219, + -0.999722 + ], + [ + 30.48222, + -1.063334 + ], + [ + 30.894165, + -2.076111 + ], + [ + 30.57333, + -2.399167 + ], + [ + 30.4175, + -2.861945 + ], + [ + 30.843662, + -2.978794 + ], + [ + 30.834999, + -3.256945 + ], + [ + 30.026108, + -4.269444 + ], + [ + 29.423885, + -4.448056 + ], + [ + 29.550278, + -6.295279 + ], + [ + 30.77124, + -8.192247 + ], + [ + 31.041111, + -8.590279 + ], + [ + 32.940399, + -9.405077 + ], + [ + 33.13472, + -9.494167 + ], + [ + 34.325272, + -9.732779 + ], + [ + 34.966728, + -11.572111 + ], + [ + 35.838333, + -11.414722 + ], + [ + 36.18972, + -11.706667 + ], + [ + 37.462044, + -11.727329 + ], + [ + 37.941383, + -11.285002 + ], + [ + 39.268051, + -11.168056 + ], + [ + 40.436813, + -10.478174 + ], + [ + 39.826385, + -9.993057 + ], + [ + 39.387772, + -8.9025 + ], + [ + 39.274437, + -7.579167 + ], + [ + 39.547882, + -6.994313 + ], + [ + 38.776382, + -6.045556 + ], + [ + 39.203026, + -4.669618 + ], + [ + 37.613609, + -3.504167 + ], + [ + 37.602776, + -2.995833 + ], + [ + 33.920273, + -1.001111 + ] + ] + ] + ] + }, + "name" : "United Republic of Tanzania", + "iso2" : "TZ", + "iso3" : "TZA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "EL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 33.996666, + 4.222777 + ], + [ + 33.516937, + 3.752222 + ], + [ + 33.016663, + 3.888611 + ], + [ + 32.193329, + 3.511389 + ], + [ + 31.176666, + 3.795278 + ], + [ + 30.858818, + 3.493394 + ], + [ + 30.729721, + 2.448055 + ], + [ + 31.302776, + 2.121388 + ], + [ + 29.960552, + 0.825555 + ], + [ + 29.596943, + -1.385834 + ], + [ + 29.974998, + -1.464445 + ], + [ + 30.48222, + -1.063334 + ], + [ + 31.677219, + -0.999722 + ], + [ + 33.920273, + -1.001111 + ], + [ + 33.907219, + 0.103056 + ], + [ + 35.00972, + 1.895278 + ], + [ + 34.463333, + 3.671389 + ], + [ + 33.996666, + 4.222777 + ] + ] + ] + }, + "name" : "Uganda", + "iso2" : "UG", + "iso3" : "UGA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Eb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -6.290833, + 49.912218 + ], + [ + -6.295, + 49.933886 + ], + [ + -6.317499, + 49.915277 + ], + [ + -6.290833, + 49.912218 + ] + ] + ], + [ + [ + [ + -1.059721, + 50.687494 + ], + [ + -1.296944, + 50.771944 + ], + [ + -1.57, + 50.660555 + ], + [ + -1.059721, + 50.687494 + ] + ] + ], + [ + [ + [ + -0.938332, + 50.777498 + ], + [ + -0.970833, + 50.830828 + ], + [ + -1.022499, + 50.78583 + ], + [ + -0.938332, + 50.777498 + ] + ] + ], + [ + [ + [ + -4.651667, + 51.159441 + ], + [ + -4.665556, + 51.195002 + ], + [ + -4.673334, + 51.161386 + ], + [ + -4.651667, + 51.159441 + ] + ] + ], + [ + [ + [ + -4.571388, + 53.238611 + ], + [ + -4.621666, + 53.32139 + ], + [ + -4.69389, + 53.301386 + ], + [ + -4.571388, + 53.238611 + ] + ] + ], + [ + [ + [ + -4.153334, + 53.225557 + ], + [ + -4.569166, + 53.388056 + ], + [ + -4.402222, + 53.125834 + ], + [ + -4.153334, + 53.225557 + ] + ] + ], + [ + [ + [ + -6.266975, + 54.099833 + ], + [ + -5.429722, + 54.483606 + ], + [ + -5.908333, + 54.604723 + ], + [ + -5.688055, + 54.806108 + ], + [ + -6.353333, + 55.23778 + ], + [ + -7.252506, + 55.070597 + ], + [ + -7.406389, + 54.953333 + ], + [ + -8.159445, + 54.441942 + ], + [ + -7.559444, + 54.12694 + ], + [ + -7.030834, + 54.417772 + ], + [ + -6.266975, + 54.099833 + ] + ] + ], + [ + [ + [ + -6.172777, + 55.293055 + ], + [ + -6.282499, + 55.292223 + ], + [ + -6.188334, + 55.259722 + ], + [ + -6.172777, + 55.293055 + ] + ] + ], + [ + [ + [ + -5.103611, + 55.438608 + ], + [ + -5.160278, + 55.679163 + ], + [ + -5.381111, + 55.668612 + ], + [ + -5.103611, + 55.438608 + ] + ] + ], + [ + [ + [ + -6.121666, + 55.878885 + ], + [ + -6.509167, + 55.682222 + ], + [ + -6.076666, + 55.649996 + ], + [ + -6.121666, + 55.878885 + ] + ] + ], + [ + [ + [ + -5.016388, + 55.721941 + ], + [ + -5.036388, + 55.837778 + ], + [ + -5.206388, + 55.899439 + ], + [ + -5.016388, + 55.721941 + ] + ] + ], + [ + [ + [ + -6.19389, + 56.029161 + ], + [ + -6.130833, + 56.120829 + ], + [ + -6.263056, + 56.036112 + ], + [ + -6.19389, + 56.029161 + ] + ] + ], + [ + [ + [ + -5.946945, + 55.829996 + ], + [ + -5.694445, + 56.147219 + ], + [ + -6.078888, + 55.90555 + ], + [ + -5.946945, + 55.829996 + ] + ] + ], + [ + [ + [ + -5.735001, + 56.158052 + ], + [ + -5.675833, + 56.169443 + ], + [ + -5.675278, + 56.191942 + ], + [ + -5.735001, + 56.158052 + ] + ] + ], + [ + [ + [ + -5.629999, + 56.196939 + ], + [ + -5.606388, + 56.254442 + ], + [ + -5.641945, + 56.260279 + ], + [ + -5.629999, + 56.196939 + ] + ] + ], + [ + [ + [ + -5.616667, + 56.268885 + ], + [ + -5.583889, + 56.319719 + ], + [ + -5.645555, + 56.301111 + ], + [ + -5.616667, + 56.268885 + ] + ] + ], + [ + [ + [ + -6.404722, + 56.303606 + ], + [ + -6.381945, + 56.34083 + ], + [ + -6.436388, + 56.310556 + ], + [ + -6.404722, + 56.303606 + ] + ] + ], + [ + [ + [ + -5.543612, + 56.382776 + ], + [ + -5.51, + 56.411112 + ], + [ + -5.587778, + 56.389162 + ], + [ + -5.543612, + 56.382776 + ] + ] + ], + [ + [ + [ + -6.165833, + 56.464724 + ], + [ + -6.215555, + 56.497774 + ], + [ + -6.26, + 56.481943 + ], + [ + -6.165833, + 56.464724 + ] + ] + ], + [ + [ + [ + -6.739166, + 56.515833 + ], + [ + -6.990833, + 56.49444 + ], + [ + -6.892778, + 56.438608 + ], + [ + -6.739166, + 56.515833 + ] + ] + ], + [ + [ + [ + -5.783611, + 56.50889 + ], + [ + -6.32, + 56.603052 + ], + [ + -6.002777, + 56.494165 + ], + [ + -6.193611, + 56.361383 + ], + [ + -6.017778, + 56.37472 + ], + [ + -6.366112, + 56.308886 + ], + [ + -5.808611, + 56.317499 + ], + [ + -5.648333, + 56.435831 + ], + [ + -5.783611, + 56.50889 + ] + ] + ], + [ + [ + [ + -6.589167, + 56.579996 + ], + [ + -6.454445, + 56.686106 + ], + [ + -6.698889, + 56.579996 + ], + [ + -6.589167, + 56.579996 + ] + ] + ], + [ + [ + [ + -6.144722, + 56.869997 + ], + [ + -6.113611, + 56.932497 + ], + [ + -6.213055, + 56.906946 + ], + [ + -6.144722, + 56.869997 + ] + ] + ], + [ + [ + [ + -6.317499, + 56.934168 + ], + [ + -6.261667, + 57.037775 + ], + [ + -6.451666, + 57.006105 + ], + [ + -6.317499, + 56.934168 + ] + ] + ], + [ + [ + [ + -7.466944, + 56.940828 + ], + [ + -7.439722, + 57.054445 + ], + [ + -7.559999, + 56.960276 + ], + [ + -7.466944, + 56.940828 + ] + ] + ], + [ + [ + [ + -6.499166, + 57.052217 + ], + [ + -6.549444, + 57.068056 + ], + [ + -6.602501, + 57.046389 + ], + [ + -6.499166, + 57.052217 + ] + ] + ], + [ + [ + [ + -5.939167, + 57.278055 + ], + [ + -5.933889, + 57.311663 + ], + [ + -6.017778, + 57.311663 + ], + [ + -5.939167, + 57.278055 + ] + ] + ], + [ + [ + [ + -7.223055, + 57.337496 + ], + [ + -7.424999, + 57.382219 + ], + [ + -7.38139, + 57.108606 + ], + [ + -7.223055, + 57.337496 + ] + ] + ], + [ + [ + [ + -7.268888, + 57.39889 + ], + [ + -7.204721, + 57.460833 + ], + [ + -7.406389, + 57.464167 + ], + [ + -7.268888, + 57.39889 + ] + ] + ], + [ + [ + [ + -6.026945, + 57.328608 + ], + [ + -5.98, + 57.495829 + ], + [ + -6.078333, + 57.394167 + ], + [ + -6.026945, + 57.328608 + ] + ] + ], + [ + [ + [ + -6.143888, + 57.568056 + ], + [ + -6.785833, + 57.446108 + ], + [ + -6.011944, + 57.022219 + ], + [ + -5.663889, + 57.204996 + ], + [ + -6.127222, + 57.306108 + ], + [ + -6.143888, + 57.568056 + ] + ] + ], + [ + [ + [ + -5.967777, + 57.522776 + ], + [ + -5.961666, + 57.574999 + ], + [ + -5.990833, + 57.540834 + ], + [ + -5.967777, + 57.522776 + ] + ] + ], + [ + [ + [ + -7.188612, + 57.68722 + ], + [ + -7.543333, + 57.59083 + ], + [ + -7.153889, + 57.509439 + ], + [ + -7.188612, + 57.68722 + ] + ] + ], + [ + [ + [ + -7.196667, + 57.702219 + ], + [ + -7.144722, + 57.723612 + ], + [ + -7.219166, + 57.707773 + ], + [ + -7.196667, + 57.702219 + ] + ] + ], + [ + [ + [ + -8.555279, + 57.810831 + ], + [ + -8.621389, + 57.822779 + ], + [ + -8.5825, + 57.798883 + ], + [ + -8.555279, + 57.810831 + ] + ] + ], + [ + [ + [ + -7.00639, + 57.881388 + ], + [ + -6.99361, + 57.918612 + ], + [ + -7.077778, + 57.879999 + ], + [ + -7.00639, + 57.881388 + ] + ] + ], + [ + [ + [ + -6.204166, + 58.356112 + ], + [ + -7.040556, + 58.233332 + ], + [ + -6.830278, + 57.900835 + ], + [ + -7.123056, + 57.817499 + ], + [ + -6.473888, + 57.940279 + ], + [ + -6.204166, + 58.356112 + ] + ], + [ + [ + -6.802221, + 58.203051 + ], + [ + -6.869167, + 58.20389 + ], + [ + -6.889723, + 58.252497 + ], + [ + -6.802221, + 58.203051 + ] + ] + ], + [ + [ + [ + -4.153334, + 53.225557 + ], + [ + -4.760862, + 52.788973 + ], + [ + -4.133612, + 52.914446 + ], + [ + -4.130833, + 52.334719 + ], + [ + -5.246944, + 51.730272 + ], + [ + -3.346111, + 51.378611 + ], + [ + -2.379999, + 51.755556 + ], + [ + -3.028334, + 51.20611 + ], + [ + -4.226389, + 51.189165 + ], + [ + -5.7125, + 50.053606 + ], + [ + -5.193056, + 49.955278 + ], + [ + -4.379999, + 50.363886 + ], + [ + -3.716667, + 50.206667 + ], + [ + -2.924723, + 50.731943 + ], + [ + -2.43445, + 50.541792 + ], + [ + -1.154722, + 50.844164 + ], + [ + -0.926943, + 50.839441 + ], + [ + -0.796389, + 50.725275 + ], + [ + -0.254999, + 50.826387 + ], + [ + 0.242224, + 50.738054 + ], + [ + 0.975, + 50.93194 + ], + [ + 1.385557, + 51.387774 + ], + [ + 0.38278, + 51.450556 + ], + [ + 0.950556, + 51.606386 + ], + [ + 0.699724, + 51.719446 + ], + [ + 1.223612, + 51.808886 + ], + [ + 1.749445, + 52.455828 + ], + [ + 1.282225, + 52.9275 + ], + [ + 3.6E-5, + 52.879549 + ], + [ + 0.341669, + 53.095835 + ], + [ + 0.235556, + 53.399439 + ], + [ + -0.718889, + 53.699717 + ], + [ + 0.118055, + 53.56444 + ], + [ + -0.074999, + 54.11194 + ], + [ + -1.297499, + 54.763613 + ], + [ + -1.633888, + 55.580828 + ], + [ + -2.631111, + 56.05472 + ], + [ + -3.725277, + 56.027498 + ], + [ + -2.582777, + 56.268053 + ], + [ + -3.278055, + 56.3575 + ], + [ + -2.527222, + 56.578608 + ], + [ + -1.773333, + 57.458055 + ], + [ + -2.075556, + 57.699442 + ], + [ + -4.435833, + 57.574999 + ], + [ + -3.773056, + 57.851107 + ], + [ + -4.392221, + 57.905275 + ], + [ + -3.208611, + 58.304445 + ], + [ + -3.025555, + 58.647501 + ], + [ + -5.004723, + 58.623331 + ], + [ + -5.455278, + 58.076387 + ], + [ + -5.102777, + 57.850832 + ], + [ + -5.816668, + 57.821665 + ], + [ + -5.508612, + 57.534723 + ], + [ + -5.819166, + 57.363886 + ], + [ + -5.450277, + 57.420275 + ], + [ + -5.649611, + 57.161612 + ], + [ + -5.399723, + 57.105829 + ], + [ + -6.235001, + 56.719164 + ], + [ + -5.546944, + 56.691942 + ], + [ + -6.008333, + 56.637499 + ], + [ + -5.676945, + 56.493891 + ], + [ + -5.120001, + 56.816668 + ], + [ + -5.398666, + 56.478666 + ], + [ + -5.107779, + 56.507776 + ], + [ + -5.57361, + 56.324717 + ], + [ + -5.7775, + 55.296663 + ], + [ + -5.032223, + 56.2325 + ], + [ + -5.303333, + 55.850557 + ], + [ + -4.828606, + 56.113165 + ], + [ + -4.481668, + 55.921106 + ], + [ + -4.879723, + 55.936106 + ], + [ + -4.613333, + 55.494997 + ], + [ + -5.174166, + 55.000551 + ], + [ + -4.941111, + 54.64889 + ], + [ + -4.852222, + 54.868608 + ], + [ + -4.387222, + 54.675554 + ], + [ + -4.393055, + 54.908052 + ], + [ + -3.023056, + 54.970552 + ], + [ + -3.634167, + 54.511942 + ], + [ + -3.22611, + 54.098612 + ], + [ + -2.813612, + 54.222773 + ], + [ + -3.1075, + 53.551668 + ], + [ + -2.702499, + 53.346384 + ], + [ + -4.153334, + 53.225557 + ] + ], + [ + [ + 0.904722, + 51.358057 + ], + [ + 0.735003, + 51.408335 + ], + [ + 0.908892, + 51.416941 + ], + [ + 0.904722, + 51.358057 + ] + ] + ], + [ + [ + [ + -2.918333, + 58.731943 + ], + [ + -2.886389, + 58.831942 + ], + [ + -3.036945, + 58.818056 + ], + [ + -2.918333, + 58.731943 + ] + ] + ], + [ + [ + [ + -3.231388, + 58.775553 + ], + [ + -3.134722, + 58.800829 + ], + [ + -3.418055, + 58.904161 + ], + [ + -3.231388, + 58.775553 + ] + ] + ], + [ + [ + [ + -2.793055, + 58.951387 + ], + [ + -3.351389, + 59.106386 + ], + [ + -3.195, + 58.911112 + ], + [ + -2.793055, + 58.951387 + ] + ] + ], + [ + [ + [ + -2.681389, + 59.195833 + ], + [ + -2.390278, + 59.283052 + ], + [ + -2.555555, + 59.303057 + ], + [ + -2.681389, + 59.195833 + ] + ] + ], + [ + [ + [ + -2.889999, + 59.295275 + ], + [ + -3.076389, + 59.331385 + ], + [ + -2.877499, + 59.228609 + ], + [ + -2.889999, + 59.295275 + ] + ] + ], + [ + [ + [ + -1.29611, + 60.491106 + ], + [ + -1.693056, + 60.279718 + ], + [ + -1.291389, + 60.241388 + ], + [ + -1.26861, + 59.851107 + ], + [ + -1.037222, + 60.444162 + ], + [ + -1.29611, + 60.491106 + ] + ] + ], + [ + [ + [ + -1.029444, + 60.495829 + ], + [ + -1.09861, + 60.729998 + ], + [ + -1.170277, + 60.527224 + ], + [ + -1.029444, + 60.495829 + ] + ] + ], + [ + [ + [ + -0.819721, + 60.68889 + ], + [ + -0.758055, + 60.817774 + ], + [ + -0.878332, + 60.844446 + ], + [ + -0.965555, + 60.688051 + ], + [ + -0.819721, + 60.68889 + ] + ] + ] + ] + }, + "name" : "United Kingdom", + "iso2" : "GB", + "iso3" : "GBR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Er1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 33.040276, + 46.011375 + ], + [ + 32.965271, + 46.049431 + ], + [ + 32.759438, + 46.03611 + ], + [ + 33.040276, + 46.011375 + ] + ] + ], + [ + [ + [ + 34.227486, + 46.061928 + ], + [ + 34.229149, + 46.187759 + ], + [ + 34.158043, + 46.100548 + ], + [ + 34.227486, + 46.061928 + ] + ] + ], + [ + [ + [ + 32.167763, + 46.145821 + ], + [ + 31.501106, + 46.366653 + ], + [ + 31.584164, + 46.253319 + ], + [ + 32.167763, + 46.145821 + ] + ] + ], + [ + [ + [ + 29.664331, + 45.211803 + ], + [ + 29.633606, + 45.821106 + ], + [ + 29.746941, + 45.619431 + ], + [ + 30.251659, + 45.876656 + ], + [ + 30.832771, + 46.548325 + ], + [ + 31.907494, + 46.648872 + ], + [ + 31.749435, + 47.253319 + ], + [ + 32.019707, + 46.629433 + ], + [ + 32.647217, + 46.641106 + ], + [ + 31.507771, + 46.57972 + ], + [ + 32.059151, + 46.395821 + ], + [ + 31.791943, + 46.283051 + ], + [ + 33.611382, + 46.147217 + ], + [ + 33.771935, + 45.92054 + ], + [ + 32.480537, + 45.395821 + ], + [ + 33.541939, + 45.111931 + ], + [ + 33.366936, + 44.579163 + ], + [ + 33.955544, + 44.381104 + ], + [ + 35.515266, + 45.116096 + ], + [ + 36.439713, + 45.065536 + ], + [ + 36.637215, + 45.376099 + ], + [ + 35.475266, + 45.2911 + ], + [ + 35.311661, + 45.383041 + ], + [ + 35.053879, + 45.65387 + ], + [ + 34.827209, + 46.069443 + ], + [ + 34.666939, + 46.093597 + ], + [ + 34.763054, + 46.015549 + ], + [ + 35.050262, + 45.613884 + ], + [ + 35.34304, + 45.332497 + ], + [ + 35.126656, + 45.326096 + ], + [ + 34.460541, + 45.767212 + ], + [ + 34.633324, + 45.94165 + ], + [ + 33.671928, + 46.220818 + ], + [ + 34.542496, + 46.187485 + ], + [ + 34.401649, + 46.013878 + ], + [ + 34.561661, + 45.984993 + ], + [ + 34.702492, + 46.175819 + ], + [ + 35.05304, + 46.258041 + ], + [ + 35.198044, + 46.443314 + ], + [ + 34.985268, + 46.075829 + ], + [ + 35.907204, + 46.651093 + ], + [ + 38.235825, + 47.109428 + ], + [ + 38.303322, + 47.558594 + ], + [ + 38.8536, + 47.860825 + ], + [ + 39.796387, + 47.857216 + ], + [ + 39.998878, + 48.297218 + ], + [ + 39.656937, + 48.616661 + ], + [ + 40.07666, + 48.874992 + ], + [ + 39.696655, + 49.010826 + ], + [ + 40.166939, + 49.248604 + ], + [ + 40.139763, + 49.601051 + ], + [ + 38.30777, + 50.073883 + ], + [ + 38.024223, + 49.903084 + ], + [ + 37.458603, + 50.439713 + ], + [ + 35.606651, + 50.369438 + ], + [ + 35.371887, + 51.041435 + ], + [ + 34.38221, + 51.263611 + ], + [ + 34.098045, + 51.653877 + ], + [ + 34.419716, + 51.808884 + ], + [ + 33.838882, + 52.36055 + ], + [ + 33.417702, + 52.3554 + ], + [ + 31.783886, + 52.108047 + ], + [ + 30.943096, + 52.073792 + ], + [ + 30.551414, + 51.251846 + ], + [ + 25.775829, + 51.939156 + ], + [ + 24.396664, + 51.886658 + ], + [ + 23.604633, + 51.527695 + ], + [ + 24.111385, + 50.56694 + ], + [ + 22.680828, + 49.572495 + ], + [ + 22.886074, + 49.002914 + ], + [ + 22.558052, + 49.079437 + ], + [ + 22.151442, + 48.411919 + ], + [ + 22.894804, + 47.95454 + ], + [ + 24.919441, + 47.711662 + ], + [ + 26.634995, + 48.257164 + ], + [ + 27.755554, + 48.451385 + ], + [ + 29.141937, + 47.986092 + ], + [ + 29.184441, + 47.443047 + ], + [ + 29.949997, + 46.814156 + ], + [ + 30.11694, + 46.386101 + ], + [ + 28.994434, + 46.478325 + ], + [ + 28.971935, + 46.006653 + ], + [ + 28.21484, + 45.448647 + ], + [ + 29.664331, + 45.211803 + ] + ] + ] + ] + }, + "name" : "Ukraine", + "iso2" : "UA", + "iso3" : "UKR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "E71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -75.223724, + 19.901556 + ], + [ + -75.170288, + 19.931391 + ], + [ + -75.15918, + 19.960695 + ], + [ + -75.223724, + 19.901556 + ] + ] + ], + [ + [ + [ + -75.13974, + 19.962873 + ], + [ + -75.121399, + 19.887499 + ], + [ + -75.085281, + 19.893042 + ], + [ + -75.13974, + 19.962873 + ] + ] + ], + [ + [ + [ + -155.005585, + 19.328882 + ], + [ + -154.792816, + 19.53861 + ], + [ + -155.15863, + 19.962496 + ], + [ + -155.864441, + 20.269163 + ], + [ + -155.859467, + 19.032778 + ], + [ + -155.005585, + 19.328882 + ] + ] + ], + [ + [ + [ + -156.547241, + 20.525274 + ], + [ + -156.585297, + 20.607222 + ], + [ + -156.698639, + 20.534719 + ], + [ + -156.547241, + 20.525274 + ] + ] + ], + [ + [ + [ + -156.891998, + 20.744162 + ], + [ + -156.812256, + 20.843611 + ], + [ + -157.04837, + 20.918055 + ], + [ + -156.891998, + 20.744162 + ] + ] + ], + [ + [ + [ + -156.473358, + 20.89805 + ], + [ + -156.70224, + 20.924437 + ], + [ + -156.420013, + 20.58861 + ], + [ + -155.988617, + 20.748053 + ], + [ + -156.473358, + 20.89805 + ] + ] + ], + [ + [ + [ + -156.89447, + 21.161104 + ], + [ + -157.304749, + 21.100554 + ], + [ + -156.703918, + 21.158052 + ], + [ + -156.89447, + 21.161104 + ] + ] + ], + [ + [ + [ + -160.530609, + 21.643888 + ], + [ + -160.541138, + 21.641382 + ], + [ + -160.537781, + 21.632215 + ], + [ + -160.530609, + 21.643888 + ] + ] + ], + [ + [ + [ + -157.730316, + 21.411661 + ], + [ + -157.971924, + 21.699438 + ], + [ + -158.273376, + 21.580549 + ], + [ + -158.103638, + 21.295279 + ], + [ + -157.730316, + 21.411661 + ] + ] + ], + [ + [ + [ + -160.11499, + 21.887499 + ], + [ + -160.061401, + 22.013884 + ], + [ + -160.247772, + 21.813608 + ], + [ + -160.11499, + 21.887499 + ] + ] + ], + [ + [ + [ + -159.433624, + 21.881388 + ], + [ + -159.351654, + 22.22138 + ], + [ + -159.785309, + 22.061384 + ], + [ + -159.433624, + 21.881388 + ] + ] + ], + [ + [ + [ + -161.941681, + 23.039438 + ], + [ + -161.938324, + 23.046389 + ], + [ + -161.948334, + 23.047216 + ], + [ + -161.941681, + 23.039438 + ] + ] + ], + [ + [ + [ + -164.696136, + 23.564718 + ], + [ + -164.696686, + 23.578054 + ], + [ + -164.70752, + 23.576666 + ], + [ + -164.696136, + 23.564718 + ] + ] + ], + [ + [ + [ + -81.773895, + 24.544722 + ], + [ + -81.729172, + 24.560556 + ], + [ + -81.813499, + 24.543871 + ], + [ + -81.773895, + 24.544722 + ] + ] + ], + [ + [ + [ + -82.114441, + 24.545832 + ], + [ + -82.099991, + 24.583055 + ], + [ + -82.137222, + 24.593889 + ], + [ + -82.114441, + 24.545832 + ] + ] + ], + [ + [ + [ + -81.715118, + 24.553118 + ], + [ + -81.646225, + 24.577551 + ], + [ + -81.710739, + 24.59572 + ], + [ + -81.715118, + 24.553118 + ] + ] + ], + [ + [ + [ + -81.477219, + 24.636385 + ], + [ + -81.478607, + 24.677774 + ], + [ + -81.517775, + 24.684996 + ], + [ + -81.477219, + 24.636385 + ] + ] + ], + [ + [ + [ + -81.588333, + 24.589998 + ], + [ + -81.508347, + 24.629999 + ], + [ + -81.553055, + 24.68722 + ], + [ + -81.588333, + 24.589998 + ] + ] + ], + [ + [ + [ + -81.108612, + 24.706106 + ], + [ + -81.052673, + 24.716532 + ], + [ + -81.137772, + 24.701681 + ], + [ + -81.108612, + 24.706106 + ] + ] + ], + [ + [ + [ + -81.349442, + 24.629721 + ], + [ + -81.360825, + 24.70083 + ], + [ + -81.428055, + 24.748606 + ], + [ + -81.349442, + 24.629721 + ] + ] + ], + [ + [ + [ + -80.968887, + 24.742773 + ], + [ + -80.923462, + 24.769209 + ], + [ + -81.026688, + 24.718588 + ], + [ + -80.968887, + 24.742773 + ] + ] + ], + [ + [ + [ + -80.846115, + 24.797499 + ], + [ + -80.786171, + 24.822931 + ], + [ + -80.824173, + 24.821112 + ], + [ + -80.846115, + 24.797499 + ] + ] + ], + [ + [ + [ + -80.698608, + 24.866667 + ], + [ + -80.702499, + 24.880831 + ], + [ + -80.745834, + 24.842497 + ], + [ + -80.698608, + 24.866667 + ] + ] + ], + [ + [ + [ + -80.646666, + 24.90222 + ], + [ + -80.623886, + 24.932775 + ], + [ + -80.664444, + 24.894999 + ], + [ + -80.646666, + 24.90222 + ] + ] + ], + [ + [ + [ + -167.99057, + 25.002501 + ], + [ + -168.00589, + 25.017496 + ], + [ + -168.00116, + 25.003885 + ], + [ + -167.99057, + 25.002501 + ] + ] + ], + [ + [ + [ + -80.577225, + 24.945551 + ], + [ + -80.371933, + 25.143888 + ], + [ + -80.257507, + 25.346388 + ], + [ + -80.577225, + 24.945551 + ] + ] + ], + [ + [ + [ + -80.225006, + 25.40111 + ], + [ + -80.188599, + 25.494162 + ], + [ + -80.234161, + 25.40222 + ], + [ + -80.225006, + 25.40111 + ] + ] + ], + [ + [ + [ + -80.162216, + 25.669443 + ], + [ + -80.156387, + 25.733332 + ], + [ + -80.185547, + 25.68944 + ], + [ + -80.162216, + 25.669443 + ] + ] + ], + [ + [ + [ + -171.723602, + 25.762499 + ], + [ + -171.724701, + 25.791662 + ], + [ + -171.731384, + 25.760832 + ], + [ + -171.723602, + 25.762499 + ] + ] + ], + [ + [ + [ + -81.684158, + 25.844721 + ], + [ + -81.664169, + 25.888609 + ], + [ + -81.714722, + 25.888609 + ], + [ + -81.684158, + 25.844721 + ] + ] + ], + [ + [ + [ + -173.946136, + 26.063334 + ], + [ + -173.944733, + 26.080832 + ], + [ + -173.960846, + 26.079439 + ], + [ + -173.946136, + 26.063334 + ] + ] + ], + [ + [ + [ + -82.126389, + 26.449999 + ], + [ + -82.028885, + 26.444998 + ], + [ + -82.20639, + 26.545832 + ], + [ + -82.126389, + 26.449999 + ] + ] + ], + [ + [ + [ + -82.221664, + 26.612497 + ], + [ + -82.255005, + 26.698606 + ], + [ + -82.244995, + 26.634996 + ], + [ + -82.221664, + 26.612497 + ] + ] + ], + [ + [ + [ + -82.079453, + 26.487776 + ], + [ + -82.133331, + 26.691107 + ], + [ + -82.179718, + 26.699163 + ], + [ + -82.079453, + 26.487776 + ] + ] + ], + [ + [ + [ + -82.263626, + 26.716387 + ], + [ + -82.25528, + 26.759443 + ], + [ + -82.281387, + 26.808889 + ], + [ + -82.263626, + 26.716387 + ] + ] + ], + [ + [ + [ + -97.17778, + 26.084723 + ], + [ + -97.383621, + 27.20722 + ], + [ + -97.385757, + 26.838224 + ], + [ + -97.17778, + 26.084723 + ] + ] + ], + [ + [ + [ + -82.587509, + 27.321112 + ], + [ + -82.654175, + 27.418608 + ], + [ + -82.680557, + 27.425829 + ], + [ + -82.587509, + 27.321112 + ] + ] + ], + [ + [ + [ + -97.382217, + 27.218885 + ], + [ + -97.045546, + 27.843889 + ], + [ + -97.31723, + 27.495829 + ], + [ + -97.382217, + 27.218885 + ] + ] + ], + [ + [ + [ + -96.887787, + 28.030554 + ], + [ + -96.867767, + 28.134996 + ], + [ + -97.035828, + 27.875277 + ], + [ + -96.887787, + 28.030554 + ] + ] + ], + [ + [ + [ + -96.551941, + 28.266668 + ], + [ + -96.404724, + 28.392221 + ], + [ + -96.813614, + 28.092497 + ], + [ + -96.551941, + 28.266668 + ] + ] + ], + [ + [ + [ + -96.360825, + 28.402498 + ], + [ + -96.229996, + 28.485552 + ], + [ + -96.313049, + 28.455275 + ], + [ + -96.360825, + 28.402498 + ] + ] + ], + [ + [ + [ + -80.663895, + 28.258333 + ], + [ + -80.625275, + 28.590555 + ], + [ + -80.74028, + 28.478331 + ], + [ + -80.663895, + 28.258333 + ] + ] + ], + [ + [ + [ + -90.87265, + 29.046133 + ], + [ + -90.923615, + 29.060556 + ], + [ + -90.950394, + 29.060003 + ], + [ + -90.87265, + 29.046133 + ] + ] + ], + [ + [ + [ + -90.739166, + 29.045 + ], + [ + -90.642502, + 29.073332 + ], + [ + -90.758347, + 29.048609 + ], + [ + -90.739166, + 29.045 + ] + ] + ], + [ + [ + [ + -90.335556, + 29.057222 + ], + [ + -90.29834, + 29.066942 + ], + [ + -90.285278, + 29.083055 + ], + [ + -90.335556, + 29.057222 + ] + ] + ], + [ + [ + [ + -89.975281, + 29.242773 + ], + [ + -89.955002, + 29.268057 + ], + [ + -90.031113, + 29.211943 + ], + [ + -89.975281, + 29.242773 + ] + ] + ], + [ + [ + [ + -89.928329, + 29.278612 + ], + [ + -89.907501, + 29.302221 + ], + [ + -89.935272, + 29.2875 + ], + [ + -89.928329, + 29.278612 + ] + ] + ], + [ + [ + [ + -89.860001, + 29.310278 + ], + [ + -89.86972, + 29.335276 + ], + [ + -89.89389, + 29.323053 + ], + [ + -89.860001, + 29.310278 + ] + ] + ], + [ + [ + [ + -95.111115, + 29.098055 + ], + [ + -94.784729, + 29.308054 + ], + [ + -94.821396, + 29.33861 + ], + [ + -95.111115, + 29.098055 + ] + ] + ], + [ + [ + [ + -89.170546, + 29.473051 + ], + [ + -89.156952, + 29.492495 + ], + [ + -89.219162, + 29.46472 + ], + [ + -89.170546, + 29.473051 + ] + ] + ], + [ + [ + [ + -89.601105, + 29.513887 + ], + [ + -89.56221, + 29.521112 + ], + [ + -89.565826, + 29.55472 + ], + [ + -89.590286, + 29.560556 + ], + [ + -89.618332, + 29.538332 + ], + [ + -89.601105, + 29.513887 + ] + ] + ], + [ + [ + [ + -89.080292, + 29.521387 + ], + [ + -89.037216, + 29.57361 + ], + [ + -89.078888, + 29.545553 + ], + [ + -89.080292, + 29.521387 + ] + ] + ], + [ + [ + [ + -91.786667, + 29.486109 + ], + [ + -91.856384, + 29.634996 + ], + [ + -92.034439, + 29.591665 + ], + [ + -91.786667, + 29.486109 + ] + ] + ], + [ + [ + [ + -85.111115, + 29.632219 + ], + [ + -85.08168, + 29.679163 + ], + [ + -85.198044, + 29.685274 + ], + [ + -85.111115, + 29.632219 + ] + ] + ], + [ + [ + [ + -89.428604, + 29.692774 + ], + [ + -89.422501, + 29.722773 + ], + [ + -89.468613, + 29.728609 + ], + [ + -89.428604, + 29.692774 + ] + ] + ], + [ + [ + [ + -84.972778, + 29.608889 + ], + [ + -84.692215, + 29.758333 + ], + [ + -85.095001, + 29.623888 + ], + [ + -84.972778, + 29.608889 + ] + ] + ], + [ + [ + [ + -89.424164, + 29.740831 + ], + [ + -89.491104, + 29.793055 + ], + [ + -89.488892, + 29.73805 + ], + [ + -89.424164, + 29.740831 + ] + ] + ], + [ + [ + [ + -89.285278, + 29.771387 + ], + [ + -89.275558, + 29.809164 + ], + [ + -89.341675, + 29.803888 + ], + [ + -89.285278, + 29.771387 + ] + ] + ], + [ + [ + [ + -84.638901, + 29.778334 + ], + [ + -84.573425, + 29.819998 + ], + [ + -84.667221, + 29.776945 + ], + [ + -84.638901, + 29.778334 + ] + ] + ], + [ + [ + [ + -88.84584, + 29.776388 + ], + [ + -88.805832, + 29.906385 + ], + [ + -88.868744, + 30.060606 + ], + [ + -88.84584, + 29.776388 + ] + ] + ], + [ + [ + [ + -89.31778, + 30.040834 + ], + [ + -89.184998, + 30.166666 + ], + [ + -89.34639, + 30.059443 + ], + [ + -89.31778, + 30.040834 + ] + ] + ], + [ + [ + [ + -88.437775, + 30.206106 + ], + [ + -88.428055, + 30.212774 + ], + [ + -88.500565, + 30.218885 + ], + [ + -88.437775, + 30.206106 + ] + ] + ], + [ + [ + [ + -88.552216, + 30.21472 + ], + [ + -88.526398, + 30.223051 + ], + [ + -88.754181, + 30.244719 + ], + [ + -88.552216, + 30.21472 + ] + ] + ], + [ + [ + [ + -89.081116, + 30.19972 + ], + [ + -89.060516, + 30.246675 + ], + [ + -89.091675, + 30.216665 + ], + [ + -89.081116, + 30.19972 + ] + ] + ], + [ + [ + [ + -88.094727, + 30.241106 + ], + [ + -88.107773, + 30.273611 + ], + [ + -88.3125, + 30.232775 + ], + [ + -88.094727, + 30.241106 + ] + ] + ], + [ + [ + [ + -86.529175, + 30.400831 + ], + [ + -86.763062, + 30.404997 + ], + [ + -87.292221, + 30.332777 + ], + [ + -86.529175, + 30.400831 + ] + ] + ], + [ + [ + [ + -118.406952, + 32.816668 + ], + [ + -118.369164, + 32.854715 + ], + [ + -118.592499, + 33.046946 + ], + [ + -118.406952, + 32.816668 + ] + ] + ], + [ + [ + [ + -79.365004, + 33.003054 + ], + [ + -79.336121, + 33.067217 + ], + [ + -79.361115, + 33.049997 + ], + [ + -79.365004, + 33.003054 + ] + ] + ], + [ + [ + [ + -119.444153, + 33.216661 + ], + [ + -119.48056, + 33.274439 + ], + [ + -119.566673, + 33.28277 + ], + [ + -119.444153, + 33.216661 + ] + ] + ], + [ + [ + [ + -118.301941, + 33.309435 + ], + [ + -118.592215, + 33.486658 + ], + [ + -118.448883, + 33.327494 + ], + [ + -118.301941, + 33.309435 + ] + ] + ], + [ + [ + [ + -77.960831, + 33.85 + ], + [ + -77.949722, + 33.91305 + ], + [ + -78.016403, + 33.874163 + ], + [ + -77.960831, + 33.85 + ] + ] + ], + [ + [ + [ + -120.035278, + 34.023882 + ], + [ + -120.226097, + 34.006105 + ], + [ + -120.107498, + 33.90555 + ], + [ + -120.035278, + 34.023882 + ] + ] + ], + [ + [ + [ + -120.297783, + 34.028605 + ], + [ + -120.363892, + 34.065546 + ], + [ + -120.438049, + 34.036943 + ], + [ + -120.297783, + 34.028605 + ] + ] + ], + [ + [ + [ + -119.868057, + 34.084162 + ], + [ + -119.78833, + 33.967211 + ], + [ + -119.513634, + 34.042772 + ], + [ + -119.868057, + 34.084162 + ] + ] + ], + [ + [ + [ + -76.535278, + 34.635553 + ], + [ + -76.559158, + 34.664995 + ], + [ + -76.654724, + 34.686106 + ], + [ + -76.535278, + 34.635553 + ] + ] + ], + [ + [ + [ + -76.682495, + 34.702219 + ], + [ + -76.931107, + 34.691378 + ], + [ + -77.098053, + 34.650545 + ], + [ + -76.682495, + 34.702219 + ] + ] + ], + [ + [ + [ + -76.531952, + 34.585825 + ], + [ + -76.199722, + 34.94166 + ], + [ + -76.420837, + 34.775827 + ], + [ + -76.531952, + 34.585825 + ] + ] + ], + [ + [ + [ + -76.06778, + 35.039438 + ], + [ + -76.039444, + 35.061106 + ], + [ + -76.131104, + 35.00194 + ], + [ + -76.06778, + 35.039438 + ] + ] + ], + [ + [ + [ + -76.010834, + 35.074167 + ], + [ + -75.766953, + 35.19388 + ], + [ + -75.98111, + 35.115 + ], + [ + -76.010834, + 35.074167 + ] + ] + ], + [ + [ + [ + -75.527222, + 35.235552 + ], + [ + -75.512512, + 35.777216 + ], + [ + -75.65361, + 35.22555 + ], + [ + -75.527222, + 35.235552 + ] + ] + ], + [ + [ + [ + -75.619446, + 35.821383 + ], + [ + -75.665833, + 35.926943 + ], + [ + -75.723328, + 35.94166 + ], + [ + -75.619446, + 35.821383 + ] + ] + ], + [ + [ + [ + -75.906113, + 37.112497 + ], + [ + -75.872498, + 37.149164 + ], + [ + -75.898895, + 37.136942 + ], + [ + -75.906113, + 37.112497 + ] + ] + ], + [ + [ + [ + -75.78833, + 37.238047 + ], + [ + -75.785278, + 37.298609 + ], + [ + -75.837509, + 37.22777 + ], + [ + -75.78833, + 37.238047 + ] + ] + ], + [ + [ + [ + -75.696655, + 37.402773 + ], + [ + -75.668335, + 37.460276 + ], + [ + -75.710831, + 37.390276 + ], + [ + -75.696655, + 37.402773 + ] + ] + ], + [ + [ + [ + -121.801392, + 38.055269 + ], + [ + -121.796387, + 38.066668 + ], + [ + -121.820007, + 38.068056 + ], + [ + -121.801392, + 38.055269 + ] + ] + ], + [ + [ + [ + -75.354172, + 37.866663 + ], + [ + -75.121109, + 38.263056 + ], + [ + -75.384171, + 37.872217 + ], + [ + -75.354172, + 37.866663 + ] + ] + ], + [ + [ + [ + -74.329453, + 39.421663 + ], + [ + -74.348053, + 39.474436 + ], + [ + -74.376251, + 39.420744 + ], + [ + -74.444153, + 39.406939 + ], + [ + -74.394455, + 39.382494 + ], + [ + -74.329453, + 39.421663 + ] + ] + ], + [ + [ + [ + -74.246948, + 39.525553 + ], + [ + -74.138336, + 39.659433 + ], + [ + -74.099991, + 39.750834 + ], + [ + -74.246948, + 39.525553 + ] + ] + ], + [ + [ + [ + -74.220001, + 40.511667 + ], + [ + -74.062775, + 40.639437 + ], + [ + -74.176941, + 40.641939 + ], + [ + -74.220001, + 40.511667 + ] + ] + ], + [ + [ + [ + -73.223328, + 40.635271 + ], + [ + -72.766663, + 40.766108 + ], + [ + -73.294724, + 40.633883 + ], + [ + -73.223328, + 40.635271 + ] + ] + ], + [ + [ + [ + -72.262222, + 41.125269 + ], + [ + -74.032501, + 40.625826 + ], + [ + -73.582779, + 40.596102 + ], + [ + -71.85611, + 41.069162 + ], + [ + -72.621109, + 40.91305 + ], + [ + -72.262222, + 41.125269 + ] + ] + ], + [ + [ + [ + -69.994995, + 41.328051 + ], + [ + -70.234161, + 41.283609 + ], + [ + -69.993881, + 41.250277 + ], + [ + -69.994995, + 41.328051 + ] + ] + ], + [ + [ + [ + -70.506393, + 41.357218 + ], + [ + -70.617218, + 41.473879 + ], + [ + -70.838058, + 41.359995 + ], + [ + -70.506393, + 41.357218 + ] + ] + ], + [ + [ + [ + -71.297501, + 41.458605 + ], + [ + -71.222504, + 41.654161 + ], + [ + -71.358337, + 41.459162 + ], + [ + -71.297501, + 41.458605 + ] + ] + ], + [ + [ + [ + -68.803329, + 44.048052 + ], + [ + -68.76445, + 44.094995 + ], + [ + -68.898056, + 44.12388 + ], + [ + -68.803329, + 44.048052 + ] + ] + ], + [ + [ + [ + -68.650833, + 44.168886 + ], + [ + -68.66806, + 44.285273 + ], + [ + -68.72139, + 44.228876 + ], + [ + -68.650833, + 44.168886 + ] + ] + ], + [ + [ + [ + -68.320847, + 44.237215 + ], + [ + -68.168335, + 44.345545 + ], + [ + -68.263062, + 44.452776 + ], + [ + -68.428329, + 44.319994 + ], + [ + -68.320847, + 44.237215 + ] + ] + ], + [ + [ + [ + -123.938049, + 46.431108 + ], + [ + -123.972504, + 46.515276 + ], + [ + -123.983063, + 46.469156 + ], + [ + -123.949158, + 46.431108 + ], + [ + -123.938049, + 46.431108 + ] + ] + ], + [ + [ + [ + -122.843063, + 47.206942 + ], + [ + -122.845551, + 47.312494 + ], + [ + -122.902222, + 47.297495 + ], + [ + -122.843063, + 47.206942 + ] + ] + ], + [ + [ + [ + -122.482224, + 47.349718 + ], + [ + -122.381104, + 47.394716 + ], + [ + -122.450562, + 47.518328 + ], + [ + -122.482224, + 47.349718 + ] + ] + ], + [ + [ + [ + -122.50473, + 48.309717 + ], + [ + -122.757782, + 48.233881 + ], + [ + -122.372223, + 47.919443 + ], + [ + -122.50473, + 48.309717 + ] + ] + ], + [ + [ + [ + -122.816673, + 48.416941 + ], + [ + -122.876663, + 48.564157 + ], + [ + -122.936111, + 48.457773 + ], + [ + -122.816673, + 48.416941 + ] + ] + ], + [ + [ + [ + -123, + 48.4461 + ], + [ + -122.995003, + 48.529718 + ], + [ + -123.178329, + 48.592218 + ], + [ + -123, + 48.4461 + ] + ] + ], + [ + [ + [ + -122.922501, + 48.711664 + ], + [ + -123.010277, + 48.603609 + ], + [ + -122.749161, + 48.651384 + ], + [ + -122.922501, + 48.711664 + ] + ] + ], + [ + [ + [ + -123.09375, + 48.999437 + ], + [ + -123.053329, + 48.973879 + ], + [ + -123.034317, + 48.999437 + ], + [ + -123.09375, + 48.999437 + ] + ] + ], + [ + [ + [ + -67.206543, + 45.183039 + ], + [ + -67.799164, + 45.701105 + ], + [ + -67.794998, + 47.069994 + ], + [ + -69.232498, + 47.471376 + ], + [ + -70.878601, + 45.238604 + ], + [ + -74.990829, + 44.986658 + ], + [ + -76.801941, + 43.633608 + ], + [ + -78.724716, + 43.629435 + ], + [ + -79.184723, + 43.465548 + ], + [ + -78.986938, + 42.819994 + ], + [ + -82.696655, + 41.683878 + ], + [ + -83.16861, + 42.046106 + ], + [ + -82.521393, + 42.618883 + ], + [ + -82.13028, + 43.585268 + ], + [ + -82.54306, + 45.355829 + ], + [ + -83.597778, + 45.827219 + ], + [ + -83.577499, + 46.105272 + ], + [ + -83.958893, + 46.071665 + ], + [ + -84.126389, + 46.531939 + ], + [ + -84.565002, + 46.466387 + ], + [ + -84.856949, + 46.902216 + ], + [ + -88.368057, + 48.312212 + ], + [ + -89.356659, + 47.979715 + ], + [ + -90.868607, + 48.237497 + ], + [ + -91.418335, + 48.041109 + ], + [ + -92.953064, + 48.623323 + ], + [ + -94.605835, + 48.724436 + ], + [ + -95.078064, + 49.359163 + ], + [ + -95.154175, + 48.999437 + ], + [ + -122.7603, + 48.999437 + ], + [ + -122.4375, + 48.598047 + ], + [ + -122.704453, + 48.486109 + ], + [ + -122.379173, + 48.291666 + ], + [ + -122.309723, + 47.401102 + ], + [ + -122.878601, + 47.064157 + ], + [ + -123.068619, + 47.151659 + ], + [ + -122.797501, + 47.395273 + ], + [ + -122.758621, + 47.189714 + ], + [ + -122.619164, + 47.420549 + ], + [ + -122.549988, + 47.28277 + ], + [ + -122.454727, + 47.774439 + ], + [ + -122.565552, + 47.938044 + ], + [ + -123.102493, + 47.399721 + ], + [ + -122.836403, + 47.439157 + ], + [ + -123.147507, + 47.368601 + ], + [ + -122.63028, + 47.915827 + ], + [ + -122.751106, + 48.161104 + ], + [ + -124.715843, + 48.395273 + ], + [ + -124.161942, + 46.941103 + ], + [ + -123.796661, + 46.976099 + ], + [ + -124.097504, + 46.861383 + ], + [ + -123.752563, + 46.693071 + ], + [ + -123.941673, + 46.391108 + ], + [ + -123.98999, + 46.397776 + ], + [ + -124.015839, + 46.654436 + ], + [ + -124.04277, + 46.658045 + ], + [ + -124, + 46.32361 + ], + [ + -123.163574, + 46.195192 + ], + [ + -123.95195, + 46.181108 + ], + [ + -124.138344, + 43.371103 + ], + [ + -124.524437, + 42.866106 + ], + [ + -124.039993, + 41.431108 + ], + [ + -124.33223, + 40.266108 + ], + [ + -123.775833, + 39.717211 + ], + [ + -123.703613, + 38.932497 + ], + [ + -123.104721, + 38.461107 + ], + [ + -122.803595, + 38.088045 + ], + [ + -122.964561, + 38.239614 + ], + [ + -122.99707, + 38.00511 + ], + [ + -122.491379, + 37.827776 + ], + [ + -122.36528, + 38.15555 + ], + [ + -122.109734, + 38.06138 + ], + [ + -122.018623, + 38.148115 + ], + [ + -121.736107, + 38.044718 + ], + [ + -121.576683, + 38.115831 + ], + [ + -121.419998, + 38.012774 + ], + [ + -122.240547, + 38.05916 + ], + [ + -122.393341, + 37.957773 + ], + [ + -122.005835, + 37.471376 + ], + [ + -122.386948, + 37.816668 + ], + [ + -122.488052, + 37.518328 + ], + [ + -121.796387, + 36.879435 + ], + [ + -121.867493, + 36.312494 + ], + [ + -120.614166, + 35.135828 + ], + [ + -120.62027, + 34.570833 + ], + [ + -118.534729, + 34.050829 + ], + [ + -117.480827, + 33.327494 + ], + [ + -117.122374, + 32.535334 + ], + [ + -114.719093, + 32.718458 + ], + [ + -114.80983, + 32.50699 + ], + [ + -113.052887, + 31.971071 + ], + [ + -111.045837, + 31.333055 + ], + [ + -108.208344, + 31.333055 + ], + [ + -108.208618, + 31.783335 + ], + [ + -106.400848, + 31.750277 + ], + [ + -104.900558, + 30.572779 + ], + [ + -104.540009, + 29.67111 + ], + [ + -103.375, + 29.023611 + ], + [ + -102.305847, + 29.889444 + ], + [ + -101.405014, + 29.772779 + ], + [ + -99.505005, + 27.570276 + ], + [ + -99.104736, + 26.434999 + ], + [ + -97.140739, + 25.966429 + ], + [ + -97.559433, + 26.836111 + ], + [ + -97.423889, + 27.2675 + ], + [ + -97.773895, + 27.458887 + ], + [ + -97.411118, + 27.327497 + ], + [ + -97.520554, + 27.866388 + ], + [ + -97.184723, + 27.827497 + ], + [ + -96.803604, + 28.473051 + ], + [ + -96.398346, + 28.43611 + ], + [ + -96.641678, + 28.719717 + ], + [ + -95.985825, + 28.649164 + ], + [ + -96.212784, + 28.485552 + ], + [ + -95.140839, + 29.057501 + ], + [ + -95.093887, + 29.177774 + ], + [ + -94.902786, + 29.314444 + ], + [ + -94.888062, + 29.375555 + ], + [ + -95.059433, + 29.718885 + ], + [ + -94.47583, + 29.561388 + ], + [ + -94.772507, + 29.363886 + ], + [ + -93.857498, + 29.676107 + ], + [ + -93.845276, + 29.98805 + ], + [ + -93.840286, + 29.704165 + ], + [ + -92.308334, + 29.539721 + ], + [ + -91.841675, + 29.830278 + ], + [ + -91.246948, + 29.240831 + ], + [ + -90.206665, + 29.091944 + ], + [ + -90.178329, + 29.5725 + ], + [ + -89.272781, + 29.155832 + ], + [ + -89.404999, + 28.926664 + ], + [ + -89.008347, + 29.176943 + ], + [ + -89.18721, + 29.33972 + ], + [ + -89.676392, + 29.52389 + ], + [ + -89.753342, + 29.630831 + ], + [ + -89.399445, + 30.050833 + ], + [ + -89.658051, + 29.873888 + ], + [ + -89.667221, + 30.167776 + ], + [ + -90.419724, + 30.198332 + ], + [ + -88.132767, + 30.314444 + ], + [ + -88.020279, + 30.701109 + ], + [ + -87.756393, + 30.285276 + ], + [ + -88.023621, + 30.219442 + ], + [ + -86.263336, + 30.496664 + ], + [ + -85.392227, + 30.049444 + ], + [ + -85.633942, + 30.104441 + ], + [ + -85.354172, + 29.676664 + ], + [ + -84.207504, + 30.105555 + ], + [ + -83.669449, + 29.906107 + ], + [ + -82.631104, + 28.884996 + ], + [ + -82.853333, + 27.855276 + ], + [ + -82.722504, + 27.656942 + ], + [ + -82.691376, + 28.032221 + ], + [ + -82.422501, + 27.917498 + ], + [ + -82.655273, + 27.461664 + ], + [ + -82.30278, + 26.837221 + ], + [ + -82.017227, + 26.96472 + ], + [ + -82.064163, + 26.545 + ], + [ + -81.777786, + 26.710554 + ], + [ + -81.970055, + 26.482832 + ], + [ + -81.736588, + 25.959444 + ], + [ + -81.33667, + 25.804998 + ], + [ + -80.915283, + 25.25139 + ], + [ + -81.088058, + 25.115553 + ], + [ + -80.398621, + 25.184721 + ], + [ + -80.033325, + 26.786665 + ], + [ + -80.755569, + 28.415831 + ], + [ + -80.844162, + 28.790556 + ], + [ + -80.602219, + 28.6075 + ], + [ + -80.446655, + 27.864443 + ], + [ + -80.55249, + 28.525 + ], + [ + -81.25528, + 29.796667 + ], + [ + -81.496948, + 31.125555 + ], + [ + -80.669998, + 32.214159 + ], + [ + -80.836945, + 32.516665 + ], + [ + -80.467224, + 32.315828 + ], + [ + -80.671661, + 32.521662 + ], + [ + -79.381943, + 33.009722 + ], + [ + -79.371719, + 33.058947 + ], + [ + -79.205841, + 33.165545 + ], + [ + -79.271393, + 33.373323 + ], + [ + -79.188599, + 33.43638 + ], + [ + -79.196442, + 33.27894 + ], + [ + -78.827499, + 33.730272 + ], + [ + -78.013626, + 33.891939 + ], + [ + -77.96167, + 34.158602 + ], + [ + -77.930832, + 33.927774 + ], + [ + -77.428879, + 34.741938 + ], + [ + -76.335831, + 34.886942 + ], + [ + -76.944443, + 34.977488 + ], + [ + -77.076401, + 35.156099 + ], + [ + -76.761398, + 34.987772 + ], + [ + -76.468887, + 35.271662 + ], + [ + -77.050827, + 35.530275 + ], + [ + -76.14917, + 35.336939 + ], + [ + -75.720276, + 35.81444 + ], + [ + -75.853607, + 35.974993 + ], + [ + -76.035278, + 35.649996 + ], + [ + -76.070847, + 35.991938 + ], + [ + -76.73056, + 35.939432 + ], + [ + -76.706116, + 36.264162 + ], + [ + -76.656662, + 36.031107 + ], + [ + -76.063049, + 36.153322 + ], + [ + -76.195541, + 36.319994 + ], + [ + -75.785553, + 36.069994 + ], + [ + -75.938889, + 36.716661 + ], + [ + -75.529175, + 35.803881 + ], + [ + -75.98999, + 36.913881 + ], + [ + -77.232224, + 37.296389 + ], + [ + -76.268066, + 37.078882 + ], + [ + -76.68277, + 37.42972 + ], + [ + -76.381104, + 37.273882 + ], + [ + -76.286667, + 37.567499 + ], + [ + -77.133896, + 38.17277 + ], + [ + -76.353607, + 37.618601 + ], + [ + -76.241669, + 37.904993 + ], + [ + -77.320007, + 38.34527 + ], + [ + -77.061111, + 38.905268 + ], + [ + -77.244446, + 38.398333 + ], + [ + -76.309998, + 38.046389 + ], + [ + -76.666107, + 38.480547 + ], + [ + -76.376099, + 38.363611 + ], + [ + -76.618607, + 39.254168 + ], + [ + -75.83168, + 39.577494 + ], + [ + -76.360001, + 38.857218 + ], + [ + -75.956665, + 38.648607 + ], + [ + -76.242493, + 38.366938 + ], + [ + -75.838058, + 38.398882 + ], + [ + -75.880829, + 37.949434 + ], + [ + -75.644043, + 37.961176 + ], + [ + -75.960831, + 37.152216 + ], + [ + -75.043884, + 38.421663 + ], + [ + -75.588608, + 39.648882 + ], + [ + -75.028519, + 40.012308 + ], + [ + -75.557495, + 39.618052 + ], + [ + -74.892775, + 39.167772 + ], + [ + -74.955002, + 38.924166 + ], + [ + -74.415558, + 39.355272 + ], + [ + -74.462593, + 39.421068 + ], + [ + -74.405563, + 39.516108 + ], + [ + -74.150284, + 39.704996 + ], + [ + -74.053879, + 40.057497 + ], + [ + -74.076401, + 39.776941 + ], + [ + -73.952225, + 40.299997 + ], + [ + -74.269165, + 40.47471 + ], + [ + -73.956665, + 41.305269 + ], + [ + -73.99749, + 40.713461 + ], + [ + -72.906387, + 41.286112 + ], + [ + -71.50528, + 41.366938 + ], + [ + -71.391388, + 41.811937 + ], + [ + -71.111115, + 41.795 + ], + [ + -71.185822, + 41.466661 + ], + [ + -69.936386, + 41.669443 + ], + [ + -70.078888, + 42.062212 + ], + [ + -70.011124, + 41.79722 + ], + [ + -70.324722, + 41.711382 + ], + [ + -71.044449, + 42.311106 + ], + [ + -70.580566, + 42.651934 + ], + [ + -70.729172, + 43.122766 + ], + [ + -70.172501, + 43.78055 + ], + [ + -69.823898, + 43.714441 + ], + [ + -69.773331, + 44.079165 + ], + [ + -69.721939, + 43.78583 + ], + [ + -69.067505, + 44.063326 + ], + [ + -68.795273, + 44.579721 + ], + [ + -68.615829, + 44.306383 + ], + [ + -68.547501, + 44.317774 + ], + [ + -68.559158, + 44.418886 + ], + [ + -68.321152, + 44.465883 + ], + [ + -68.108612, + 44.460276 + ], + [ + -68.047501, + 44.346941 + ], + [ + -67.775284, + 44.546946 + ], + [ + -67.565277, + 44.550272 + ], + [ + -67.551102, + 44.666101 + ], + [ + -67.186935, + 44.661936 + ], + [ + -66.968887, + 44.83111 + ], + [ + -67.206543, + 45.183039 + ] + ], + [ + [ + -122.495827, + 47.595545 + ], + [ + -122.58168, + 47.671663 + ], + [ + -122.503342, + 47.715273 + ], + [ + -122.495827, + 47.595545 + ] + ], + [ + [ + -123.938599, + 45.536661 + ], + [ + -123.934433, + 45.558329 + ], + [ + -123.916946, + 45.56444 + ], + [ + -123.938599, + 45.536661 + ] + ], + [ + [ + -77.851669, + 34.111109 + ], + [ + -77.855835, + 34.149164 + ], + [ + -77.820847, + 34.175272 + ], + [ + -77.851669, + 34.111109 + ] + ] + ], + [ + [ + [ + -179.105286, + 51.213053 + ], + [ + -179.08725, + 51.290834 + ], + [ + -179.141998, + 51.268595 + ], + [ + -179.105286, + 51.213053 + ] + ] + ], + [ + [ + [ + -178.962494, + 51.311663 + ], + [ + -178.90033, + 51.354998 + ], + [ + -178.949982, + 51.396936 + ], + [ + -178.962494, + 51.311663 + ] + ] + ], + [ + [ + [ + 178.993013, + 51.574999 + ], + [ + 178.636385, + 51.637774 + ], + [ + 179.471346, + 51.367495 + ], + [ + 178.993013, + 51.574999 + ] + ] + ], + [ + [ + [ + -178.776978, + 51.745539 + ], + [ + -178.742798, + 51.807772 + ], + [ + -178.842529, + 51.819155 + ], + [ + -178.776978, + 51.745539 + ] + ] + ], + [ + [ + [ + 178.392214, + 51.763056 + ], + [ + 178.329958, + 51.814997 + ], + [ + 178.223024, + 51.830828 + ], + [ + 178.392214, + 51.763056 + ] + ] + ], + [ + [ + [ + -176.012817, + 51.830271 + ], + [ + -176.219452, + 51.831385 + ], + [ + -176.143341, + 51.774439 + ], + [ + -176.012817, + 51.830271 + ] + ] + ], + [ + [ + [ + -176.336426, + 51.721659 + ], + [ + -176.276978, + 51.86027 + ], + [ + -176.41449, + 51.854998 + ], + [ + -176.336426, + 51.721659 + ] + ] + ], + [ + [ + [ + -177.813904, + 51.719706 + ], + [ + -178.218079, + 51.871935 + ], + [ + -177.949982, + 51.606379 + ], + [ + -177.813904, + 51.719706 + ] + ] + ], + [ + [ + [ + -176.550598, + 51.905825 + ], + [ + -176.975037, + 51.595819 + ], + [ + -176.429749, + 51.730265 + ], + [ + -176.550598, + 51.905825 + ] + ] + ], + [ + [ + [ + -175.951111, + 51.868876 + ], + [ + -176.001953, + 51.908876 + ], + [ + -176.093079, + 51.885263 + ], + [ + -175.951111, + 51.868876 + ] + ] + ], + [ + [ + [ + -177.122223, + 51.784433 + ], + [ + -177.157257, + 51.938326 + ], + [ + -177.704468, + 51.70083 + ], + [ + -177.122223, + 51.784433 + ] + ] + ], + [ + [ + [ + -175.725037, + 51.930552 + ], + [ + -175.657501, + 51.956942 + ], + [ + -175.729187, + 51.966105 + ], + [ + -175.725037, + 51.930552 + ] + ] + ], + [ + [ + [ + -175.86499, + 51.96361 + ], + [ + -175.801941, + 51.982203 + ], + [ + -175.946686, + 51.978868 + ], + [ + -175.86499, + 51.96361 + ] + ] + ], + [ + [ + [ + 178.536928, + 51.89361 + ], + [ + 178.606081, + 51.947771 + ], + [ + 178.468294, + 51.98472 + ], + [ + 178.536928, + 51.89361 + ] + ] + ], + [ + [ + [ + 179.737459, + 51.903048 + ], + [ + 179.658602, + 52.024714 + ], + [ + 179.486086, + 51.972216 + ], + [ + 179.737459, + 51.903048 + ] + ] + ], + [ + [ + [ + 177.684694, + 52.079996 + ], + [ + 177.24106, + 51.87694 + ], + [ + 177.604952, + 51.920275 + ], + [ + 177.684694, + 52.079996 + ] + ] + ], + [ + [ + [ + -176.037231, + 51.964434 + ], + [ + -176.046112, + 52.102221 + ], + [ + -176.190857, + 52.059992 + ], + [ + -176.037231, + 51.964434 + ] + ] + ], + [ + [ + [ + -173.515869, + 52.106936 + ], + [ + -174.056976, + 52.120272 + ], + [ + -172.955597, + 52.085543 + ], + [ + -173.515869, + 52.106936 + ] + ] + ], + [ + [ + [ + 175.961092, + 52.33555 + ], + [ + 175.987734, + 52.353609 + ], + [ + 175.881899, + 52.372492 + ], + [ + 175.961092, + 52.33555 + ] + ] + ], + [ + [ + [ + -172.388367, + 52.289721 + ], + [ + -172.438324, + 52.391932 + ], + [ + -172.628052, + 52.258326 + ], + [ + -172.388367, + 52.289721 + ] + ] + ], + [ + [ + [ + -173.9953, + 52.291101 + ], + [ + -174.184479, + 52.416941 + ], + [ + -175.335846, + 52.014154 + ], + [ + -173.9953, + 52.291101 + ] + ] + ], + [ + [ + [ + 173.787752, + 52.501108 + ], + [ + 173.375246, + 52.399439 + ], + [ + 173.735506, + 52.353327 + ], + [ + 173.787752, + 52.501108 + ] + ] + ], + [ + [ + [ + -171.23526, + 52.45083 + ], + [ + -171.217224, + 52.510546 + ], + [ + -171.308044, + 52.49943 + ], + [ + -171.23526, + 52.45083 + ] + ] + ], + [ + [ + [ + -170.60556, + 52.59083 + ], + [ + -170.676147, + 52.694155 + ], + [ + -170.841675, + 52.554155 + ], + [ + -170.60556, + 52.59083 + ] + ] + ], + [ + [ + [ + 174.177767, + 52.705553 + ], + [ + 174.102175, + 52.741106 + ], + [ + 174.074129, + 52.711382 + ], + [ + 174.177767, + 52.705553 + ] + ] + ], + [ + [ + [ + -170.114746, + 52.718325 + ], + [ + -170.054993, + 52.765268 + ], + [ + -170.179993, + 52.783876 + ], + [ + -170.114746, + 52.718325 + ] + ] + ], + [ + [ + [ + -169.675049, + 52.817774 + ], + [ + -169.781158, + 52.885263 + ], + [ + -170.013062, + 52.818331 + ], + [ + -169.675049, + 52.817774 + ] + ] + ], + [ + [ + [ + -170.040833, + 52.853045 + ], + [ + -169.993895, + 52.901934 + ], + [ + -170.127472, + 52.888597 + ], + [ + -170.040833, + 52.853045 + ] + ] + ], + [ + [ + [ + 173.29999, + 52.882212 + ], + [ + 172.476351, + 52.92444 + ], + [ + 172.928591, + 52.743883 + ], + [ + 173.29999, + 52.882212 + ] + ] + ], + [ + [ + [ + -169.724457, + 52.943316 + ], + [ + -169.676697, + 53.031664 + ], + [ + -169.752502, + 53.026377 + ], + [ + -169.724457, + 52.943316 + ] + ] + ], + [ + [ + [ + -168.243591, + 53.251101 + ], + [ + -167.795319, + 53.495539 + ], + [ + -168.351959, + 53.47555 + ], + [ + -169.0867, + 52.828051 + ], + [ + -168.243591, + 53.251101 + ] + ] + ], + [ + [ + [ + -166.209991, + 53.705271 + ], + [ + -166.090027, + 53.839434 + ], + [ + -166.293335, + 53.793055 + ], + [ + -166.209991, + 53.705271 + ] + ] + ], + [ + [ + [ + -166.607483, + 53.829721 + ], + [ + -167.0242, + 53.955545 + ], + [ + -166.803894, + 53.648874 + ], + [ + -167.846375, + 53.308596 + ], + [ + -166.752838, + 53.446383 + ], + [ + -166.215027, + 53.928324 + ], + [ + -166.607483, + 53.829721 + ] + ] + ], + [ + [ + [ + -165.251709, + 54.076097 + ], + [ + -165.481934, + 54.074434 + ], + [ + -165.297791, + 54.037493 + ], + [ + -165.251709, + 54.076097 + ] + ] + ], + [ + [ + [ + -164.939209, + 54.12694 + ], + [ + -165.221924, + 54.089991 + ], + [ + -164.965576, + 54.075274 + ], + [ + -164.939209, + 54.12694 + ] + ] + ], + [ + [ + [ + -165.69696, + 54.084719 + ], + [ + -165.938324, + 54.220545 + ], + [ + -166.123077, + 54.116381 + ], + [ + -165.69696, + 54.084719 + ] + ] + ], + [ + [ + [ + -165.560577, + 54.11027 + ], + [ + -165.48642, + 54.28805 + ], + [ + -165.681976, + 54.238047 + ], + [ + -165.560577, + 54.11027 + ] + ] + ], + [ + [ + [ + -162.400574, + 54.36944 + ], + [ + -162.368317, + 54.38833 + ], + [ + -162.489716, + 54.409716 + ], + [ + -162.400574, + 54.36944 + ] + ] + ], + [ + [ + [ + -162.543884, + 54.38138 + ], + [ + -162.831116, + 54.494158 + ], + [ + -162.786407, + 54.414713 + ], + [ + -162.543884, + 54.38138 + ] + ] + ], + [ + [ + [ + -132.619446, + 54.754442 + ], + [ + -132.618866, + 54.896105 + ], + [ + -132.781128, + 54.925272 + ], + [ + -132.619446, + 54.754442 + ] + ] + ], + [ + [ + [ + -159.295013, + 54.866938 + ], + [ + -159.20694, + 54.92444 + ], + [ + -159.336121, + 54.927217 + ], + [ + -159.295013, + 54.866938 + ] + ] + ], + [ + [ + [ + -163.413635, + 54.891108 + ], + [ + -164.43277, + 54.930552 + ], + [ + -164.952209, + 54.57583 + ], + [ + -163.048615, + 54.668329 + ], + [ + -163.14502, + 54.766108 + ], + [ + -163.369995, + 54.784998 + ], + [ + -163.413635, + 54.891108 + ] + ] + ], + [ + [ + [ + -162.29306, + 54.834162 + ], + [ + -162.232758, + 54.965273 + ], + [ + -162.434448, + 54.931108 + ], + [ + -162.29306, + 54.834162 + ] + ] + ], + [ + [ + [ + -131.325836, + 54.856943 + ], + [ + -131.236389, + 54.995272 + ], + [ + -131.482758, + 54.930826 + ], + [ + -131.325836, + 54.856943 + ] + ] + ], + [ + [ + [ + -159.434174, + 54.940546 + ], + [ + -159.349426, + 55.049166 + ], + [ + -159.479155, + 55.014162 + ], + [ + -159.434174, + 54.940546 + ] + ] + ], + [ + [ + [ + -161.739716, + 55.056101 + ], + [ + -161.641388, + 55.113329 + ], + [ + -161.906952, + 55.151384 + ], + [ + -161.739716, + 55.056101 + ] + ] + ], + [ + [ + [ + -132.674713, + 55.033052 + ], + [ + -132.853333, + 55.159433 + ], + [ + -132.864716, + 55.029993 + ], + [ + -132.674713, + 55.033052 + ] + ] + ], + [ + [ + [ + -131.425842, + 55.211107 + ], + [ + -131.617493, + 55.01111 + ], + [ + -131.372223, + 55.013613 + ], + [ + -131.425842, + 55.211107 + ] + ] + ], + [ + [ + [ + -132.835815, + 54.889162 + ], + [ + -133.195557, + 55.230272 + ], + [ + -132.679993, + 54.666101 + ], + [ + -132.835815, + 54.889162 + ] + ] + ], + [ + [ + [ + -159.51947, + 55.064157 + ], + [ + -159.535278, + 55.247492 + ], + [ + -159.655579, + 55.054995 + ], + [ + -159.51947, + 55.064157 + ] + ] + ], + [ + [ + [ + -161.561951, + 55.21805 + ], + [ + -161.53363, + 55.252779 + ], + [ + -161.706116, + 55.204714 + ], + [ + -161.561951, + 55.21805 + ] + ] + ], + [ + [ + [ + -159.843323, + 55.132494 + ], + [ + -159.882202, + 55.290834 + ], + [ + -160.24472, + 54.901384 + ], + [ + -159.843323, + 55.132494 + ] + ] + ], + [ + [ + [ + -133.249725, + 55.209162 + ], + [ + -133.296661, + 55.330553 + ], + [ + -133.439453, + 55.301935 + ], + [ + -133.249725, + 55.209162 + ] + ] + ], + [ + [ + [ + -160.333069, + 55.248049 + ], + [ + -160.346954, + 55.368601 + ], + [ + -160.528076, + 55.320551 + ], + [ + -160.333069, + 55.248049 + ] + ] + ], + [ + [ + [ + -160.695557, + 55.399996 + ], + [ + -160.816406, + 55.118326 + ], + [ + -160.46167, + 55.187212 + ], + [ + -160.695557, + 55.399996 + ] + ] + ], + [ + [ + [ + -133.598328, + 55.233881 + ], + [ + -133.44696, + 55.410273 + ], + [ + -133.653624, + 55.36944 + ], + [ + -133.598328, + 55.233881 + ] + ] + ], + [ + [ + [ + -131.725006, + 55.134722 + ], + [ + -131.616638, + 55.283609 + ], + [ + -131.8461, + 55.419992 + ], + [ + -131.725006, + 55.134722 + ] + ] + ], + [ + [ + [ + -163.146393, + 55.393328 + ], + [ + -163.136963, + 55.436106 + ], + [ + -163.194733, + 55.421938 + ], + [ + -163.146393, + 55.393328 + ] + ] + ], + [ + [ + [ + -160.178894, + 55.396105 + ], + [ + -160.249725, + 55.463053 + ], + [ + -160.341949, + 55.416941 + ], + [ + -160.178894, + 55.396105 + ] + ] + ], + [ + [ + [ + -133.505005, + 55.427217 + ], + [ + -133.421387, + 55.483606 + ], + [ + -133.601654, + 55.447489 + ], + [ + -133.505005, + 55.427217 + ] + ] + ], + [ + [ + [ + -133.578064, + 55.497774 + ], + [ + -133.702484, + 55.551386 + ], + [ + -133.758057, + 55.487215 + ], + [ + -133.578064, + 55.497774 + ] + ] + ], + [ + [ + [ + -133.289459, + 55.475824 + ], + [ + -133.30835, + 55.554712 + ], + [ + -133.436676, + 55.527491 + ], + [ + -133.289459, + 55.475824 + ] + ] + ], + [ + [ + [ + -133.505585, + 55.693323 + ], + [ + -133.299744, + 55.793612 + ], + [ + -133.677795, + 55.784166 + ], + [ + -133.505585, + 55.693323 + ] + ] + ], + [ + [ + [ + -133.242218, + 55.776659 + ], + [ + -133.215546, + 55.86194 + ], + [ + -133.329163, + 55.877489 + ], + [ + -133.242218, + 55.776659 + ] + ] + ], + [ + [ + [ + -158.864166, + 55.803881 + ], + [ + -158.709717, + 55.831385 + ], + [ + -158.832764, + 55.893885 + ], + [ + -158.864166, + 55.803881 + ] + ] + ], + [ + [ + [ + -134.249725, + 55.819445 + ], + [ + -134.096649, + 55.918329 + ], + [ + -134.338898, + 55.918055 + ], + [ + -134.249725, + 55.819445 + ] + ] + ], + [ + [ + [ + -155.580292, + 55.774439 + ], + [ + -155.563904, + 55.918604 + ], + [ + -155.73999, + 55.828608 + ], + [ + -155.580292, + 55.774439 + ] + ] + ], + [ + [ + [ + -133.847778, + 55.84749 + ], + [ + -133.847778, + 55.935266 + ], + [ + -133.927216, + 55.911936 + ], + [ + -133.847778, + 55.84749 + ] + ] + ], + [ + [ + [ + -131.050568, + 55.799723 + ], + [ + -131.265015, + 55.960825 + ], + [ + -131.683899, + 55.83333 + ], + [ + -131.822235, + 55.450274 + ], + [ + -131.521942, + 55.293055 + ], + [ + -131.348877, + 55.644999 + ], + [ + -131.46167, + 55.286112 + ], + [ + -131.142792, + 55.196939 + ], + [ + -131.050568, + 55.799723 + ] + ] + ], + [ + [ + [ + -131.51947, + 55.915545 + ], + [ + -131.399445, + 55.963884 + ], + [ + -131.576935, + 55.93194 + ], + [ + -131.51947, + 55.915545 + ] + ] + ], + [ + [ + [ + -133.695282, + 55.896387 + ], + [ + -133.278076, + 56.139719 + ], + [ + -133.679718, + 56.066385 + ], + [ + -133.695282, + 55.896387 + ] + ] + ], + [ + [ + [ + -133.931122, + 56.288332 + ], + [ + -133.925568, + 56.298052 + ], + [ + -133.948059, + 56.301935 + ], + [ + -133.931122, + 56.288332 + ] + ] + ], + [ + [ + [ + -133.488586, + 56.336939 + ], + [ + -133.617218, + 56.207499 + ], + [ + -133.258362, + 56.152491 + ], + [ + -133.13501, + 55.881105 + ], + [ + -133.372223, + 55.620546 + ], + [ + -132.908356, + 55.628046 + ], + [ + -133.128601, + 55.494715 + ], + [ + -132.867493, + 55.353884 + ], + [ + -133.222504, + 55.283052 + ], + [ + -132.641388, + 55.250277 + ], + [ + -132.003906, + 54.690546 + ], + [ + -131.963043, + 55.025827 + ], + [ + -132.218597, + 54.992495 + ], + [ + -131.988586, + 55.264162 + ], + [ + -132.5625, + 55.567774 + ], + [ + -132.144165, + 55.480547 + ], + [ + -133.488586, + 56.336939 + ] + ] + ], + [ + [ + [ + -132.094452, + 56.093325 + ], + [ + -132.417786, + 56.350832 + ], + [ + -132.716949, + 56.151384 + ], + [ + -132.318878, + 55.91221 + ], + [ + -132.094452, + 56.093325 + ] + ] + ], + [ + [ + [ + -132.81723, + 56.233881 + ], + [ + -132.635559, + 56.43416 + ], + [ + -133.05777, + 56.34749 + ], + [ + -132.81723, + 56.233881 + ] + ] + ], + [ + [ + [ + -132.500853, + 56.353327 + ], + [ + -132.386688, + 56.398607 + ], + [ + -132.493866, + 56.435823 + ], + [ + -132.500853, + 56.353327 + ] + ] + ], + [ + [ + [ + -132.132477, + 56.34527 + ], + [ + -132.373871, + 56.484438 + ], + [ + -132.056122, + 56.111383 + ], + [ + -132.132477, + 56.34527 + ] + ] + ], + [ + [ + [ + -153.958893, + 56.502779 + ], + [ + -153.873871, + 56.553324 + ], + [ + -154.13446, + 56.505556 + ], + [ + -153.958893, + 56.502779 + ] + ] + ], + [ + [ + [ + -156.996643, + 56.555552 + ], + [ + -157.251678, + 56.581667 + ], + [ + -157.329712, + 56.53583 + ], + [ + -156.996643, + 56.555552 + ] + ] + ], + [ + [ + [ + -132.398071, + 56.583605 + ], + [ + -132.379425, + 56.60055 + ], + [ + -132.434998, + 56.589716 + ], + [ + -132.398071, + 56.583605 + ] + ] + ], + [ + [ + [ + -154.481384, + 56.601698 + ], + [ + -154.787476, + 56.414968 + ], + [ + -154.402802, + 56.546663 + ], + [ + -154.481384, + 56.601698 + ] + ] + ], + [ + [ + [ + -154.211945, + 56.49888 + ], + [ + -154.084991, + 56.608049 + ], + [ + -154.352478, + 56.541666 + ], + [ + -154.211945, + 56.49888 + ] + ] + ], + [ + [ + [ + -169.67337, + 56.608599 + ], + [ + -169.786133, + 56.613886 + ], + [ + -169.471375, + 56.592211 + ], + [ + -169.67337, + 56.608599 + ] + ] + ], + [ + [ + [ + -132.773071, + 56.494715 + ], + [ + -132.5289, + 56.59527 + ], + [ + -132.873596, + 56.796106 + ], + [ + -132.773071, + 56.494715 + ] + ] + ], + [ + [ + [ + -133.987488, + 56.870829 + ], + [ + -134.408905, + 56.829439 + ], + [ + -134.065277, + 56.550547 + ], + [ + -134.123047, + 55.995829 + ], + [ + -134.065552, + 56.305826 + ], + [ + -133.973328, + 56.081667 + ], + [ + -133.973206, + 56.356104 + ], + [ + -133.8461, + 56.290834 + ], + [ + -133.920563, + 56.614161 + ], + [ + -133.691376, + 56.599718 + ], + [ + -133.830566, + 56.796106 + ], + [ + -134.024719, + 56.647219 + ], + [ + -133.902802, + 56.753054 + ], + [ + -133.987488, + 56.870829 + ] + ] + ], + [ + [ + [ + -133.31778, + 56.993883 + ], + [ + -134.018066, + 57.014719 + ], + [ + -133.736115, + 56.893053 + ], + [ + -133.890564, + 56.896944 + ], + [ + -133.69696, + 56.831942 + ], + [ + -133.575562, + 56.433603 + ], + [ + -133.08194, + 56.523882 + ], + [ + -133.351929, + 56.838602 + ], + [ + -132.925018, + 56.643328 + ], + [ + -133.31778, + 56.993883 + ] + ] + ], + [ + [ + [ + -153.253357, + 56.998331 + ], + [ + -152.883057, + 57.15027 + ], + [ + -153.234161, + 57.205828 + ], + [ + -153.407501, + 57.072771 + ], + [ + -153.253357, + 56.998331 + ] + ] + ], + [ + [ + [ + -170.166138, + 57.163317 + ], + [ + -170.150574, + 57.228327 + ], + [ + -170.41394, + 57.174166 + ], + [ + -170.166138, + 57.163317 + ] + ] + ], + [ + [ + [ + -135.795837, + 56.986383 + ], + [ + -135.546112, + 57.129435 + ], + [ + -135.710541, + 57.32361 + ], + [ + -135.795837, + 56.986383 + ] + ] + ], + [ + [ + [ + -134.9375, + 57.358889 + ], + [ + -135.672791, + 57.351938 + ], + [ + -134.653624, + 56.16305 + ], + [ + -134.9375, + 57.358889 + ] + ] + ], + [ + [ + [ + -134.792511, + 57.300272 + ], + [ + -134.813629, + 57.416941 + ], + [ + -134.974701, + 57.41527 + ], + [ + -134.792511, + 57.300272 + ] + ] + ], + [ + [ + [ + -153.208893, + 57.812494 + ], + [ + -153.269745, + 57.899164 + ], + [ + -153.353333, + 57.93638 + ], + [ + -153.536407, + 57.934717 + ], + [ + -153.208893, + 57.812494 + ] + ] + ], + [ + [ + [ + -152.354431, + 57.890276 + ], + [ + -152.417236, + 57.976381 + ], + [ + -152.503357, + 57.933054 + ], + [ + -152.354431, + 57.890276 + ] + ] + ], + [ + [ + [ + -153.116943, + 57.949999 + ], + [ + -153.292236, + 58.001665 + ], + [ + -153.048065, + 57.827494 + ], + [ + -153.150574, + 57.863886 + ], + [ + -153.213043, + 57.788332 + ], + [ + -153.479155, + 57.839434 + ], + [ + -153.315277, + 57.725824 + ], + [ + -153.496948, + 57.627214 + ], + [ + -153.928345, + 57.811106 + ], + [ + -153.581116, + 57.612497 + ], + [ + -153.88028, + 57.643053 + ], + [ + -153.628052, + 57.269442 + ], + [ + -154.207214, + 57.666666 + ], + [ + -154.801117, + 57.286112 + ], + [ + -154.297791, + 56.848879 + ], + [ + -154.101105, + 57.116388 + ], + [ + -154.479431, + 57.120272 + ], + [ + -153.737762, + 57.130823 + ], + [ + -153.979706, + 56.738604 + ], + [ + -153.549988, + 56.983049 + ], + [ + -153.731659, + 57.059717 + ], + [ + -153.5, + 57.063883 + ], + [ + -153.260284, + 57.22777 + ], + [ + -152.956116, + 57.253885 + ], + [ + -153.169464, + 57.345545 + ], + [ + -152.595825, + 57.369989 + ], + [ + -153.022797, + 57.473604 + ], + [ + -152.151398, + 57.604441 + ], + [ + -153.116943, + 57.949999 + ] + ] + ], + [ + [ + [ + -153.185272, + 58.092493 + ], + [ + -153.41806, + 58.058886 + ], + [ + -152.887787, + 57.991106 + ], + [ + -153.185272, + 58.092493 + ] + ] + ], + [ + [ + [ + -136.437225, + 57.846384 + ], + [ + -136.330566, + 58.010279 + ], + [ + -136.484436, + 58.093325 + ], + [ + -136.437225, + 57.846384 + ] + ] + ], + [ + [ + [ + -135.742767, + 58.256105 + ], + [ + -136.352203, + 58.219439 + ], + [ + -136.029724, + 57.849161 + ], + [ + -136.412231, + 57.815828 + ], + [ + -135.830841, + 57.385828 + ], + [ + -135.542786, + 57.472216 + ], + [ + -135.804169, + 57.76333 + ], + [ + -134.843323, + 57.46277 + ], + [ + -134.921661, + 57.756945 + ], + [ + -135.296967, + 57.731661 + ], + [ + -135.887512, + 57.988604 + ], + [ + -135.010559, + 57.776941 + ], + [ + -135.204712, + 57.942217 + ], + [ + -134.930298, + 58.028048 + ], + [ + -135.707764, + 57.978327 + ], + [ + -135.482483, + 58.15555 + ], + [ + -135.742767, + 58.256105 + ] + ] + ], + [ + [ + [ + -151.847229, + 58.169718 + ], + [ + -151.835541, + 58.268602 + ], + [ + -151.896666, + 58.194155 + ], + [ + -151.847229, + 58.169718 + ] + ] + ], + [ + [ + [ + -134.454437, + 58.313326 + ], + [ + -134.566956, + 58.34083 + ], + [ + -134.683899, + 58.298334 + ], + [ + -134.259735, + 58.194994 + ], + [ + -134.454437, + 58.313326 + ] + ] + ], + [ + [ + [ + -152.40918, + 58.365549 + ], + [ + -153.231384, + 58.169161 + ], + [ + -151.972778, + 58.233049 + ], + [ + -152.40918, + 58.365549 + ] + ] + ], + [ + [ + [ + -134.674713, + 58.160547 + ], + [ + -134.956665, + 58.40777 + ], + [ + -134.654449, + 57.59833 + ], + [ + -134.349731, + 57.542772 + ], + [ + -134.57251, + 57.489717 + ], + [ + -134.310272, + 57.336107 + ], + [ + -134.613312, + 57.224993 + ], + [ + -134.486664, + 57.025553 + ], + [ + -133.86026, + 57.360552 + ], + [ + -134.288605, + 58.077219 + ], + [ + -133.875824, + 57.67277 + ], + [ + -134.169159, + 58.159716 + ], + [ + -134.674713, + 58.160547 + ] + ] + ], + [ + [ + [ + -152.493866, + 58.472216 + ], + [ + -152.345825, + 58.627214 + ], + [ + -152.660553, + 58.543329 + ], + [ + -152.493866, + 58.472216 + ] + ] + ], + [ + [ + [ + -160.95694, + 58.55694 + ], + [ + -160.687225, + 58.818331 + ], + [ + -161.113098, + 58.655275 + ], + [ + -160.95694, + 58.55694 + ] + ] + ], + [ + [ + [ + -152.313324, + 58.908327 + ], + [ + -152.161407, + 58.942217 + ], + [ + -152.36026, + 58.916384 + ], + [ + -152.313324, + 58.908327 + ] + ] + ], + [ + [ + [ + -150.691681, + 59.306658 + ], + [ + -150.616638, + 59.389719 + ], + [ + -150.776672, + 59.328882 + ], + [ + -150.691681, + 59.306658 + ] + ] + ], + [ + [ + [ + -153.411407, + 59.330278 + ], + [ + -153.403076, + 59.406939 + ], + [ + -153.552216, + 59.364717 + ], + [ + -153.411407, + 59.330278 + ] + ] + ], + [ + [ + [ + -150.311401, + 59.420549 + ], + [ + -150.292786, + 59.463053 + ], + [ + -150.440277, + 59.401102 + ], + [ + -150.311401, + 59.420549 + ] + ] + ], + [ + [ + [ + -144.584991, + 59.810274 + ], + [ + -144.208893, + 60.005556 + ], + [ + -144.503906, + 59.894442 + ], + [ + -144.584991, + 59.810274 + ] + ] + ], + [ + [ + [ + -148.161133, + 59.941103 + ], + [ + -147.992218, + 60.040277 + ], + [ + -148.245819, + 59.942492 + ], + [ + -148.161133, + 59.941103 + ] + ] + ], + [ + [ + [ + -148.027802, + 59.946657 + ], + [ + -147.81723, + 60.068888 + ], + [ + -147.883331, + 60.067217 + ], + [ + -148.027802, + 59.946657 + ] + ] + ], + [ + [ + [ + -148.11554, + 59.996386 + ], + [ + -147.876648, + 60.103884 + ], + [ + -147.967224, + 60.153048 + ], + [ + -148.11554, + 59.996386 + ] + ] + ], + [ + [ + [ + -148.033905, + 60.189432 + ], + [ + -148.309723, + 60.029718 + ], + [ + -148.151398, + 60.041941 + ], + [ + -148.033905, + 60.189432 + ] + ] + ], + [ + [ + [ + -147.849976, + 59.776941 + ], + [ + -146.92334, + 60.30916 + ], + [ + -147.193604, + 60.353327 + ], + [ + -147.849976, + 59.776941 + ] + ] + ], + [ + [ + [ + -147.711945, + 60.376101 + ], + [ + -147.909729, + 60.23472 + ], + [ + -147.759735, + 60.165545 + ], + [ + -147.711945, + 60.376101 + ] + ] + ], + [ + [ + [ + -148.079437, + 60.28277 + ], + [ + -147.983307, + 60.383883 + ], + [ + -148.142517, + 60.320551 + ], + [ + -148.079437, + 60.28277 + ] + ] + ], + [ + [ + [ + -166.109711, + 60.399157 + ], + [ + -167.41806, + 60.189425 + ], + [ + -166.193054, + 59.754435 + ], + [ + -165.559723, + 59.923609 + ], + [ + -165.681427, + 60.294718 + ], + [ + -166.109711, + 60.399157 + ] + ] + ], + [ + [ + [ + -146.353882, + 60.407495 + ], + [ + -146.724152, + 60.374712 + ], + [ + -146.078888, + 60.405268 + ], + [ + -146.353882, + 60.407495 + ] + ] + ], + [ + [ + [ + -145.122772, + 60.307215 + ], + [ + -145.086945, + 60.416666 + ], + [ + -145.281952, + 60.329996 + ], + [ + -145.122772, + 60.307215 + ] + ] + ], + [ + [ + [ + -172.520294, + 60.38833 + ], + [ + -173.05365, + 60.49721 + ], + [ + -172.20697, + 60.313044 + ], + [ + -172.520294, + 60.38833 + ] + ] + ], + [ + [ + [ + -151.955566, + 60.42277 + ], + [ + -151.856384, + 60.489717 + ], + [ + -151.951111, + 60.512217 + ], + [ + -151.955566, + 60.42277 + ] + ] + ], + [ + [ + [ + -146.246948, + 60.454996 + ], + [ + -145.749725, + 60.594713 + ], + [ + -146.320557, + 60.494158 + ], + [ + -146.246948, + 60.454996 + ] + ] + ], + [ + [ + [ + -147.372772, + 60.661661 + ], + [ + -147.313904, + 60.677492 + ], + [ + -147.475555, + 60.688883 + ], + [ + -147.372772, + 60.661661 + ] + ] + ], + [ + [ + [ + -147.925568, + 60.66221 + ], + [ + -147.8461, + 60.699999 + ], + [ + -148.004181, + 60.726938 + ], + [ + -147.925568, + 60.66221 + ] + ] + ], + [ + [ + [ + -148.140839, + 60.642221 + ], + [ + -148.108612, + 60.736383 + ], + [ + -148.214172, + 60.754442 + ], + [ + -148.140839, + 60.642221 + ] + ] + ], + [ + [ + [ + -164.988312, + 60.822496 + ], + [ + -164.903624, + 60.853609 + ], + [ + -165.017517, + 60.874437 + ], + [ + -164.988312, + 60.822496 + ] + ] + ], + [ + [ + [ + -146.753357, + 60.807215 + ], + [ + -146.744141, + 60.88138 + ], + [ + -146.83194, + 60.836382 + ], + [ + -146.753357, + 60.807215 + ] + ] + ], + [ + [ + [ + -147.150848, + 60.860277 + ], + [ + -147.075287, + 60.899164 + ], + [ + -147.31778, + 60.884165 + ], + [ + -147.150848, + 60.860277 + ] + ] + ], + [ + [ + [ + -147.928894, + 60.80694 + ], + [ + -148.106659, + 60.912493 + ], + [ + -148.133057, + 60.799723 + ], + [ + -147.928894, + 60.80694 + ] + ] + ], + [ + [ + [ + -170.318909, + 63.254717 + ], + [ + -170.296112, + 63.238047 + ], + [ + -170.315857, + 63.253878 + ], + [ + -170.318909, + 63.254717 + ] + ] + ], + [ + [ + [ + -170.318909, + 63.254717 + ], + [ + -170.341888, + 63.271128 + ], + [ + -170.362213, + 63.282495 + ], + [ + -170.318909, + 63.254717 + ] + ] + ], + [ + [ + [ + -170.466766, + 63.334185 + ], + [ + -170.48584, + 63.341105 + ], + [ + -170.4039, + 63.304438 + ], + [ + -170.466766, + 63.334185 + ] + ] + ], + [ + [ + [ + -170.54364, + 63.359713 + ], + [ + -170.551147, + 63.360552 + ], + [ + -170.490265, + 63.341928 + ], + [ + -170.54364, + 63.359713 + ] + ] + ], + [ + [ + [ + -170.595001, + 63.371935 + ], + [ + -170.863251, + 63.418512 + ], + [ + -170.58197, + 63.368052 + ], + [ + -170.595001, + 63.371935 + ] + ] + ], + [ + [ + [ + -162.377472, + 63.544443 + ], + [ + -162.420288, + 63.637499 + ], + [ + -162.703613, + 63.571665 + ], + [ + -162.377472, + 63.544443 + ] + ] + ], + [ + [ + [ + -171.465576, + 63.606661 + ], + [ + -171.726959, + 63.792215 + ], + [ + -171.85083, + 63.508608 + ], + [ + -171.461121, + 63.314714 + ], + [ + -170.856689, + 63.461939 + ], + [ + -170.51889, + 63.378038 + ], + [ + -169.666138, + 62.943316 + ], + [ + -168.700867, + 63.290545 + ], + [ + -170.300018, + 63.694155 + ], + [ + -171.465576, + 63.606661 + ] + ] + ], + [ + [ + [ + -166.65918, + 66.103319 + ], + [ + -166.169464, + 66.221376 + ], + [ + -166.443604, + 66.180819 + ], + [ + -166.65918, + 66.103319 + ] + ] + ], + [ + [ + [ + -165.364441, + 66.426378 + ], + [ + -164.762238, + 66.538317 + ], + [ + -165.470825, + 66.414156 + ], + [ + -165.364441, + 66.426378 + ] + ] + ], + [ + [ + [ + -141.002991, + 69.642366 + ], + [ + -143.280579, + 70.118319 + ], + [ + -144.952209, + 69.968325 + ], + [ + -149.174713, + 70.490816 + ], + [ + -151.966095, + 70.44359 + ], + [ + -151.732483, + 70.557207 + ], + [ + -152.629425, + 70.557482 + ], + [ + -152.076111, + 70.574999 + ], + [ + -152.498596, + 70.649431 + ], + [ + -152.252502, + 70.835268 + ], + [ + -154.243866, + 70.779436 + ], + [ + -155.087494, + 71.151384 + ], + [ + -155.973602, + 70.755831 + ], + [ + -156.182495, + 70.918322 + ], + [ + -155.586945, + 71.162767 + ], + [ + -156.44696, + 71.263613 + ], + [ + -157.979431, + 70.837496 + ], + [ + -159.66806, + 70.798037 + ], + [ + -160.12442, + 70.615267 + ], + [ + -159.285553, + 70.53055 + ], + [ + -159.836121, + 70.268328 + ], + [ + -160.198608, + 70.471651 + ], + [ + -159.9375, + 70.593325 + ], + [ + -162.118866, + 70.151659 + ], + [ + -161.94223, + 70.307207 + ], + [ + -163.645294, + 69.106936 + ], + [ + -166.21582, + 68.883043 + ], + [ + -166.372604, + 68.416765 + ], + [ + -166.827789, + 68.350817 + ], + [ + -164.124146, + 67.609987 + ], + [ + -163.732483, + 67.113604 + ], + [ + -162.350555, + 67.161379 + ], + [ + -162.461121, + 66.992479 + ], + [ + -161.501129, + 66.979158 + ], + [ + -161.897797, + 66.728319 + ], + [ + -161.506683, + 66.533876 + ], + [ + -160.264191, + 66.647493 + ], + [ + -160.23056, + 66.399721 + ], + [ + -161.600555, + 66.447756 + ], + [ + -162.336945, + 66.95833 + ], + [ + -162.636139, + 66.868868 + ], + [ + -161.906128, + 66.535265 + ], + [ + -161.910004, + 66.274431 + ], + [ + -161.003357, + 66.204165 + ], + [ + -163.656403, + 66.070543 + ], + [ + -164.188324, + 66.196093 + ], + [ + -163.625, + 66.567217 + ], + [ + -164.353607, + 66.594713 + ], + [ + -168.131104, + 65.665545 + ], + [ + -166.058899, + 65.256105 + ], + [ + -166.961945, + 65.188875 + ], + [ + -166.121368, + 64.574709 + ], + [ + -163.175842, + 64.407488 + ], + [ + -163.170013, + 64.65526 + ], + [ + -162.790283, + 64.336107 + ], + [ + -161.182495, + 64.937487 + ], + [ + -160.783905, + 64.721926 + ], + [ + -161.529175, + 64.418871 + ], + [ + -160.777496, + 63.868601 + ], + [ + -161.151672, + 63.512499 + ], + [ + -162.311951, + 63.541109 + ], + [ + -163.111664, + 63.051935 + ], + [ + -164.410553, + 63.211939 + ], + [ + -164.318329, + 63.006945 + ], + [ + -164.877777, + 62.83555 + ], + [ + -164.479155, + 62.745829 + ], + [ + -164.852783, + 62.570276 + ], + [ + -164.636414, + 62.417498 + ], + [ + -165.247223, + 62.4461 + ], + [ + -166.197784, + 61.594713 + ], + [ + -165.386688, + 61.068605 + ], + [ + -165.34137, + 61.157213 + ], + [ + -165.407501, + 61.20833 + ], + [ + -165.287506, + 61.333879 + ], + [ + -165.161133, + 61.432497 + ], + [ + -165.075562, + 61.432215 + ], + [ + -165.017242, + 61.500002 + ], + [ + -164.716095, + 61.625551 + ], + [ + -164.845276, + 61.49444 + ], + [ + -164.998428, + 61.46977 + ], + [ + -165.059677, + 61.416842 + ], + [ + -165.150574, + 61.416941 + ], + [ + -165.369995, + 61.20083 + ], + [ + -165.163727, + 61.170046 + ], + [ + -165.138611, + 61.256662 + ], + [ + -165.120544, + 61.083879 + ], + [ + -164.822235, + 61.111109 + ], + [ + -165.150299, + 60.928049 + ], + [ + -163.551392, + 60.903879 + ], + [ + -163.895615, + 60.856886 + ], + [ + -163.409729, + 60.756662 + ], + [ + -163.669464, + 60.587214 + ], + [ + -163.957764, + 60.780275 + ], + [ + -164.429169, + 60.553324 + ], + [ + -164.264465, + 60.778879 + ], + [ + -164.665009, + 60.911661 + ], + [ + -165.425293, + 60.555269 + ], + [ + -164.065277, + 59.824167 + ], + [ + -162.521666, + 59.992769 + ], + [ + -162.569458, + 60.316385 + ], + [ + -161.879425, + 60.702219 + ], + [ + -162.372223, + 60.176104 + ], + [ + -162.151398, + 60.245546 + ], + [ + -161.705261, + 59.49666 + ], + [ + -161.992218, + 59.144159 + ], + [ + -161.565826, + 59.103609 + ], + [ + -162.171387, + 58.649721 + ], + [ + -160.32666, + 59.059717 + ], + [ + -158.897522, + 58.395548 + ], + [ + -158.536957, + 59.175272 + ], + [ + -157.992767, + 58.904993 + ], + [ + -158.492493, + 58.999437 + ], + [ + -158.188324, + 58.606386 + ], + [ + -156.779175, + 59.151384 + ], + [ + -157.553619, + 58.382494 + ], + [ + -157.138611, + 58.162493 + ], + [ + -157.609985, + 58.089716 + ], + [ + -157.706665, + 57.643328 + ], + [ + -157.396666, + 57.490549 + ], + [ + -157.938049, + 57.491938 + ], + [ + -158.648895, + 57.053324 + ], + [ + -158.640564, + 56.76111 + ], + [ + -160.346954, + 56.285555 + ], + [ + -160.574707, + 55.986658 + ], + [ + -160.249725, + 55.770548 + ], + [ + -161.799988, + 55.88666 + ], + [ + -163.323059, + 55.12166 + ], + [ + -163.258636, + 54.973322 + ], + [ + -163.36026, + 54.811937 + ], + [ + -163.044464, + 54.937494 + ], + [ + -163.184448, + 55.139719 + ], + [ + -162.5625, + 54.955271 + ], + [ + -162.626648, + 55.29944 + ], + [ + -162.454163, + 55.038332 + ], + [ + -161.967773, + 55.101938 + ], + [ + -161.5625, + 55.622766 + ], + [ + -161.141693, + 55.538889 + ], + [ + -161.485535, + 55.481104 + ], + [ + -161.254181, + 55.346941 + ], + [ + -159.841095, + 55.851107 + ], + [ + -159.667236, + 55.577219 + ], + [ + -158.601105, + 56.188044 + ], + [ + -158.50528, + 55.988886 + ], + [ + -158.120544, + 56.233606 + ], + [ + -158.649994, + 56.264444 + ], + [ + -158.423065, + 56.44388 + ], + [ + -156.548615, + 56.977488 + ], + [ + -156.48999, + 57.33111 + ], + [ + -154.233612, + 58.131105 + ], + [ + -154.103333, + 58.481936 + ], + [ + -153.267792, + 58.848604 + ], + [ + -154.260834, + 59.142221 + ], + [ + -152.577209, + 60.064714 + ], + [ + -153.103058, + 60.289438 + ], + [ + -152.430298, + 60.288889 + ], + [ + -151.583618, + 60.976938 + ], + [ + -149.416962, + 61.508608 + ], + [ + -150.064178, + 61.154436 + ], + [ + -149.028076, + 60.847773 + ], + [ + -150.39917, + 61.037218 + ], + [ + -151.408905, + 60.727488 + ], + [ + -151.303894, + 60.385553 + ], + [ + -151.876648, + 59.753885 + ], + [ + -150.992767, + 59.777216 + ], + [ + -151.98056, + 59.28055 + ], + [ + -150.907501, + 59.243326 + ], + [ + -150.541687, + 59.591661 + ], + [ + -150.473602, + 59.464441 + ], + [ + -150.213623, + 59.716661 + ], + [ + -150.349426, + 59.465548 + ], + [ + -150.013641, + 59.627489 + ], + [ + -149.915833, + 59.714716 + ], + [ + -150.03418, + 59.796389 + ], + [ + -149.743591, + 59.658602 + ], + [ + -149.731934, + 59.96055 + ], + [ + -149.525848, + 59.716661 + ], + [ + -149.416962, + 60.118326 + ], + [ + -149.286133, + 59.868883 + ], + [ + -148.435822, + 59.948877 + ], + [ + -148.31778, + 60.168886 + ], + [ + -148.097778, + 60.207499 + ], + [ + -148.431122, + 60.192766 + ], + [ + -147.936951, + 60.462214 + ], + [ + -148.684174, + 60.448328 + ], + [ + -148.19751, + 60.626101 + ], + [ + -148.699738, + 60.789721 + ], + [ + -147.719727, + 61.278048 + ], + [ + -148.052216, + 60.949717 + ], + [ + -147.865265, + 60.832499 + ], + [ + -147.546661, + 61.154436 + ], + [ + -147.366943, + 60.887774 + ], + [ + -146.300842, + 61.130823 + ], + [ + -146.756683, + 60.955271 + ], + [ + -146.124146, + 60.843325 + ], + [ + -146.653351, + 60.699717 + ], + [ + -146.040833, + 60.798609 + ], + [ + -146.261139, + 60.64805 + ], + [ + -145.625824, + 60.671938 + ], + [ + -145.859436, + 60.491663 + ], + [ + -145.294159, + 60.350275 + ], + [ + -144.611389, + 60.715548 + ], + [ + -144.936401, + 60.301661 + ], + [ + -143.92334, + 59.994158 + ], + [ + -141.390839, + 60.138605 + ], + [ + -141.376648, + 59.866388 + ], + [ + -140.403351, + 59.698046 + ], + [ + -139.5, + 60.033052 + ], + [ + -138.892792, + 59.806658 + ], + [ + -139.285553, + 59.571383 + ], + [ + -139.493866, + 59.98221 + ], + [ + -139.710541, + 59.495829 + ], + [ + -138.443604, + 59.19166 + ], + [ + -136.654175, + 58.215273 + ], + [ + -136.027496, + 58.387217 + ], + [ + -136.573608, + 58.838602 + ], + [ + -137.125549, + 58.821939 + ], + [ + -137.056671, + 59.068605 + ], + [ + -136.234711, + 58.750834 + ], + [ + -136.162231, + 59.033609 + ], + [ + -135.76947, + 58.90027 + ], + [ + -136.068329, + 58.817774 + ], + [ + -135.915558, + 58.383051 + ], + [ + -135.085541, + 58.233049 + ], + [ + -135.550568, + 59.228876 + ], + [ + -135.304718, + 59.083605 + ], + [ + -135.335266, + 59.468325 + ], + [ + -134.761414, + 58.382212 + ], + [ + -134.51001, + 58.353884 + ], + [ + -134.154175, + 58.197771 + ], + [ + -133.769165, + 58.518328 + ], + [ + -134.054993, + 58.071939 + ], + [ + -133.121368, + 57.8575 + ], + [ + -133.556946, + 57.902491 + ], + [ + -133.00058, + 57.515001 + ], + [ + -133.640564, + 57.696383 + ], + [ + -133.063049, + 57.348879 + ], + [ + -133.508362, + 57.193605 + ], + [ + -132.791382, + 57.088045 + ], + [ + -131.769745, + 56.196939 + ], + [ + -132.160278, + 55.578608 + ], + [ + -131.954987, + 55.501108 + ], + [ + -131.752502, + 55.807772 + ], + [ + -131.900574, + 55.855272 + ], + [ + -131.010284, + 56.106386 + ], + [ + -130.864166, + 55.308603 + ], + [ + -130.613892, + 55.296106 + ], + [ + -131.056122, + 55.122766 + ], + [ + -130.46167, + 55.327776 + ], + [ + -131.008636, + 55.004168 + ], + [ + -130.686127, + 54.761942 + ], + [ + -129.99054, + 55.281664 + ], + [ + -130.174713, + 55.754442 + ], + [ + -130.015076, + 55.909182 + ], + [ + -131.824158, + 56.596941 + ], + [ + -133.429993, + 58.459162 + ], + [ + -135.473602, + 59.801935 + ], + [ + -137.478058, + 58.907213 + ], + [ + -137.59082, + 59.238604 + ], + [ + -139.188904, + 60.088884 + ], + [ + -139.068054, + 60.352221 + ], + [ + -140.995544, + 60.307215 + ], + [ + -141.002991, + 69.642366 + ] + ], + [ + [ + -135.554169, + 58.329996 + ], + [ + -135.726105, + 58.359438 + ], + [ + -135.625275, + 58.383051 + ], + [ + -135.554169, + 58.329996 + ] + ] + ] + ] + }, + "name" : "United States", + "iso2" : "US", + "iso3" : "USA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "FL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -2.685561, + 9.481817 + ], + [ + -2.834048, + 11.002007 + ], + [ + -0.618333, + 10.911665 + ], + [ + -0.149762, + 11.13854 + ], + [ + 0.91797, + 10.996399 + ], + [ + 1.435278, + 11.458887 + ], + [ + 2.014722, + 11.422499 + ], + [ + 2.397925, + 11.896152 + ], + [ + 2.1425, + 12.694443 + ], + [ + 1.578333, + 12.629999 + ], + [ + 0.989167, + 13.047222 + ], + [ + 0.991667, + 13.371666 + ], + [ + 1.285306, + 13.349957 + ], + [ + 0.602222, + 13.703888 + ], + [ + 0.235048, + 14.915068 + ], + [ + -0.725278, + 15.082777 + ], + [ + -1.980834, + 14.474722 + ], + [ + -2.006945, + 14.187777 + ], + [ + -2.474722, + 14.287498 + ], + [ + -2.879167, + 13.655554 + ], + [ + -3.2575, + 13.696665 + ], + [ + -3.437675, + 13.166498 + ], + [ + -3.964253, + 13.50383 + ], + [ + -4.337223, + 13.121666 + ], + [ + -4.4175, + 12.300831 + ], + [ + -5.273056, + 11.843887 + ], + [ + -5.51985, + 10.436272 + ], + [ + -4.704445, + 9.698055 + ], + [ + -3.633611, + 9.954443 + ], + [ + -2.685561, + 9.481817 + ] + ] + ] + }, + "name" : "Burkina Faso", + "iso2" : "BF", + "iso3" : "BFA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Fb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -57.608002, + -30.184925 + ], + [ + -57.806396, + -30.748219 + ], + [ + -58.199242, + -32.45031 + ], + [ + -58.045563, + -32.934723 + ], + [ + -58.146393, + -33.101952 + ], + [ + -58.361946, + -33.133339 + ], + [ + -58.402779, + -33.929726 + ], + [ + -57.840279, + -34.494728 + ], + [ + -57.117783, + -34.462227 + ], + [ + -56.320282, + -34.910561 + ], + [ + -54.145004, + -34.671394 + ], + [ + -53.374298, + -33.740669 + ], + [ + -53.522781, + -33.147781 + ], + [ + -53.093056, + -32.729729 + ], + [ + -53.879723, + -31.967781 + ], + [ + -55.581947, + -30.845837 + ], + [ + -56.008923, + -31.079794 + ], + [ + -56.811394, + -30.105278 + ], + [ + -57.608002, + -30.184925 + ] + ] + ] + }, + "name" : "Uruguay", + "iso2" : "UY", + "iso3" : "URY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Fr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 56.000961, + 41.328453 + ], + [ + 57.044716, + 41.260277 + ], + [ + 56.986938, + 41.893051 + ], + [ + 58.026604, + 42.504639 + ], + [ + 58.515549, + 42.304436 + ], + [ + 58.164436, + 42.651932 + ], + [ + 58.780548, + 42.658043 + ], + [ + 60.014442, + 42.217491 + ], + [ + 60.140274, + 41.381104 + ], + [ + 61.874161, + 41.125549 + ], + [ + 62.551102, + 39.934158 + ], + [ + 64.383026, + 38.953125 + ], + [ + 66.643875, + 38.003052 + ], + [ + 66.537735, + 37.366379 + ], + [ + 67.779877, + 37.185822 + ], + [ + 68.384155, + 38.195541 + ], + [ + 68.123871, + 38.98555 + ], + [ + 67.376373, + 39.212494 + ], + [ + 67.441956, + 39.483582 + ], + [ + 68.540268, + 39.55471 + ], + [ + 69.009995, + 40.089714 + ], + [ + 68.600815, + 40.178329 + ], + [ + 69.308029, + 40.201385 + ], + [ + 69.356094, + 40.772491 + ], + [ + 69.732483, + 40.638603 + ], + [ + 70.423874, + 41.049118 + ], + [ + 70.796799, + 40.725594 + ], + [ + 70.375534, + 40.376404 + ], + [ + 70.98204, + 40.244843 + ], + [ + 71.710541, + 40.145767 + ], + [ + 73.173035, + 40.822998 + ], + [ + 72.19548, + 41.006592 + ], + [ + 71.69136, + 41.556335 + ], + [ + 71.418045, + 41.118553 + ], + [ + 70.187195, + 41.52829 + ], + [ + 71.276382, + 42.195511 + ], + [ + 70.97081, + 42.254669 + ], + [ + 69.056366, + 41.379433 + ], + [ + 68.455261, + 40.597771 + ], + [ + 67.935532, + 41.183327 + ], + [ + 66.719986, + 41.174995 + ], + [ + 66.526382, + 42.003052 + ], + [ + 66.02916, + 42.003052 + ], + [ + 66.123871, + 42.996941 + ], + [ + 65.82193, + 42.877213 + ], + [ + 64.931366, + 43.73777 + ], + [ + 62.025108, + 43.484787 + ], + [ + 58.569717, + 45.571106 + ], + [ + 55.99749, + 45.001106 + ], + [ + 56.000961, + 41.328453 + ] + ] + ] + }, + "name" : "Uzbekistan", + "iso2" : "UZ", + "iso3" : "UZB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "F71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -61.416946, + 12.590277 + ], + [ + -61.425835, + 12.612499 + ], + [ + -61.45417, + 12.593887 + ], + [ + -61.416946, + 12.590277 + ] + ] + ], + [ + [ + [ + -61.328056, + 12.687777 + ], + [ + -61.310562, + 12.734999 + ], + [ + -61.347778, + 12.701666 + ], + [ + -61.328056, + 12.687777 + ] + ] + ], + [ + [ + [ + -61.216667, + 12.998055 + ], + [ + -61.199722, + 13.044722 + ], + [ + -61.252228, + 12.988609 + ], + [ + -61.216667, + 12.998055 + ] + ] + ], + [ + [ + [ + -61.173058, + 13.1325 + ], + [ + -61.177223, + 13.384165 + ], + [ + -61.281395, + 13.207777 + ], + [ + -61.173058, + 13.1325 + ] + ] + ] + ] + }, + "name" : "Saint Vincent and the Grenadines", + "iso2" : "VC", + "iso3" : "VCT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "GL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -61.003616, + 8.548887 + ], + [ + -61.080833, + 8.610277 + ], + [ + -61.266396, + 8.509165 + ], + [ + -61.003616, + 8.548887 + ] + ] + ], + [ + [ + [ + -61.047783, + 8.629446 + ], + [ + -61.167229, + 8.651945 + ], + [ + -61.184448, + 8.598612 + ], + [ + -61.047783, + 8.629446 + ] + ] + ], + [ + [ + [ + -61.041946, + 8.640276 + ], + [ + -60.934448, + 8.718332 + ], + [ + -61.17778, + 8.679445 + ], + [ + -61.14695, + 8.654444 + ], + [ + -61.041946, + 8.640276 + ] + ] + ], + [ + [ + [ + -60.827225, + 8.649443 + ], + [ + -60.840836, + 8.728056 + ], + [ + -60.988617, + 8.635557 + ], + [ + -60.827225, + 8.649443 + ] + ] + ], + [ + [ + [ + -60.976112, + 8.725832 + ], + [ + -60.860558, + 8.853334 + ], + [ + -61.042503, + 8.821112 + ], + [ + -61.17028, + 8.693335 + ], + [ + -60.976112, + 8.725832 + ] + ] + ], + [ + [ + [ + -61.070557, + 8.8925 + ], + [ + -60.848618, + 9.093611 + ], + [ + -61.065834, + 8.976946 + ], + [ + -61.099724, + 8.891111 + ], + [ + -61.070557, + 8.8925 + ] + ] + ], + [ + [ + [ + -60.870285, + 9.108332 + ], + [ + -60.863617, + 9.193335 + ], + [ + -60.958618, + 9.066946 + ], + [ + -60.870285, + 9.108332 + ] + ] + ], + [ + [ + [ + -60.730003, + 9.186388 + ], + [ + -60.822784, + 9.201666 + ], + [ + -60.841393, + 9.116667 + ], + [ + -60.730003, + 9.186388 + ] + ] + ], + [ + [ + [ + -62.288612, + 9.755556 + ], + [ + -62.249168, + 9.856943 + ], + [ + -62.286392, + 9.934168 + ], + [ + -62.288612, + 9.755556 + ] + ] + ], + [ + [ + [ + -62.647507, + 10.3025 + ], + [ + -62.787224, + 10.478613 + ], + [ + -62.788063, + 10.414999 + ], + [ + -62.647507, + 10.3025 + ] + ] + ], + [ + [ + [ + -63.907227, + 10.729445 + ], + [ + -63.90667, + 10.777498 + ], + [ + -63.996674, + 10.802221 + ], + [ + -63.907227, + 10.729445 + ] + ] + ], + [ + [ + [ + -65.268616, + 10.881109 + ], + [ + -65.211945, + 10.95611 + ], + [ + -65.417236, + 10.924723 + ], + [ + -65.268616, + 10.881109 + ] + ] + ], + [ + [ + [ + -63.804726, + 11.021387 + ], + [ + -63.881111, + 11.176943 + ], + [ + -64.405838, + 10.967501 + ], + [ + -63.804726, + 11.021387 + ] + ] + ], + [ + [ + [ + -66.648346, + 11.758612 + ], + [ + -66.586395, + 11.771666 + ], + [ + -66.610565, + 11.821112 + ], + [ + -66.648346, + 11.758612 + ] + ] + ], + [ + [ + [ + -66.115845, + 11.773611 + ], + [ + -66.108612, + 11.825556 + ], + [ + -66.193069, + 11.817221 + ], + [ + -66.115845, + 11.773611 + ] + ] + ], + [ + [ + [ + -64.572235, + 11.805555 + ], + [ + -64.615004, + 11.895555 + ], + [ + -64.64389, + 11.82472 + ], + [ + -64.572235, + 11.805555 + ] + ] + ], + [ + [ + [ + -60.73037, + 5.204802 + ], + [ + -61.389725, + 5.940001 + ], + [ + -61.134026, + 6.711042 + ], + [ + -60.288612, + 7.057222 + ], + [ + -60.71917, + 7.535555 + ], + [ + -59.825562, + 8.236113 + ], + [ + -59.99028, + 8.535276 + ], + [ + -60.902229, + 8.582224 + ], + [ + -61.073891, + 8.400835 + ], + [ + -61.598892, + 8.554998 + ], + [ + -61.208893, + 8.595556 + ], + [ + -61.097778, + 8.963335 + ], + [ + -60.949722, + 9.179445 + ], + [ + -61.08223, + 9.102221 + ], + [ + -60.783615, + 9.304998 + ], + [ + -60.850281, + 9.440832 + ], + [ + -61.622505, + 9.906111 + ], + [ + -61.738617, + 9.595556 + ], + [ + -62.188614, + 10.015833 + ], + [ + -62.210838, + 9.634443 + ], + [ + -62.200562, + 9.905554 + ], + [ + -62.318062, + 9.705 + ], + [ + -62.535278, + 10.202223 + ], + [ + -62.613335, + 10.222776 + ], + [ + -62.6175, + 10.089724 + ], + [ + -62.805283, + 10.008612 + ], + [ + -63.017227, + 10.097776 + ], + [ + -62.628059, + 10.107779 + ], + [ + -62.782124, + 10.399694 + ], + [ + -63.000282, + 10.271666 + ], + [ + -62.916672, + 10.528055 + ], + [ + -61.882782, + 10.733332 + ], + [ + -64.258896, + 10.661665 + ], + [ + -63.697502, + 10.485556 + ], + [ + -65.08139, + 10.060556 + ], + [ + -66.235291, + 10.642221 + ], + [ + -68.160004, + 10.496946 + ], + [ + -68.418335, + 11.179998 + ], + [ + -69.770844, + 11.696112 + ], + [ + -70.026947, + 12.195276 + ], + [ + -70.238342, + 11.631666 + ], + [ + -69.814453, + 11.690832 + ], + [ + -69.798615, + 11.427778 + ], + [ + -71.497513, + 10.960001 + ], + [ + -71.055283, + 9.341391 + ], + [ + -71.618057, + 9.041945 + ], + [ + -72.127502, + 9.813055 + ], + [ + -71.57695, + 10.714445 + ], + [ + -71.968338, + 11.555834 + ], + [ + -71.324722, + 11.853056 + ], + [ + -71.977234, + 11.664999 + ], + [ + -72.209351, + 11.250002 + ], + [ + -72.493057, + 11.121111 + ], + [ + -73.378067, + 9.171389 + ], + [ + -72.779724, + 9.080278 + ], + [ + -72.325287, + 8.095556 + ], + [ + -72.47168, + 7.491945 + ], + [ + -72, + 7.018888 + ], + [ + -70.119171, + 6.975836 + ], + [ + -69.245285, + 6.081388 + ], + [ + -67.454453, + 6.193056 + ], + [ + -67.859726, + 4.558611 + ], + [ + -67.290558, + 3.397501 + ], + [ + -67.828339, + 2.825003 + ], + [ + -67.192505, + 2.3925 + ], + [ + -66.871887, + 1.221643 + ], + [ + -66.311951, + 0.750559 + ], + [ + -65.589737, + 0.989168 + ], + [ + -65.51889, + 0.649721 + ], + [ + -63.393059, + 2.151388 + ], + [ + -63.361115, + 2.419168 + ], + [ + -64.045013, + 2.4825 + ], + [ + -64.191116, + 3.594446 + ], + [ + -64.795288, + 4.281389 + ], + [ + -64.017792, + 3.88611 + ], + [ + -63.343056, + 3.961111 + ], + [ + -62.875, + 3.560278 + ], + [ + -62.745834, + 4.032499 + ], + [ + -60.985001, + 4.520555 + ], + [ + -60.579727, + 4.946669 + ], + [ + -60.73037, + 5.204802 + ] + ], + [ + [ + -61.206673, + 9.585833 + ], + [ + -61.32695, + 9.646666 + ], + [ + -61.411667, + 9.729723 + ], + [ + -61.206673, + 9.585833 + ] + ] + ] + ] + }, + "name" : "Venezuela", + "iso2" : "VE", + "iso3" : "VEN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Gb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -64.660843, + 18.383888 + ], + [ + -64.558334, + 18.451942 + ], + [ + -64.652512, + 18.441109 + ], + [ + -64.660843, + 18.383888 + ] + ] + ], + [ + [ + [ + -64.422501, + 18.43861 + ], + [ + -64.322235, + 18.506107 + ], + [ + -64.412231, + 18.506107 + ], + [ + -64.422501, + 18.43861 + ] + ] + ], + [ + [ + [ + -64.311401, + 18.746109 + ], + [ + -64.408066, + 18.735832 + ], + [ + -64.270004, + 18.696388 + ], + [ + -64.311401, + 18.746109 + ] + ] + ] + ] + }, + "name" : "British Virgin Islands", + "iso2" : "VG", + "iso3" : "VGB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Gr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 106.600273, + 8.647778 + ], + [ + 106.659378, + 8.76474 + ], + [ + 106.555817, + 8.688887 + ], + [ + 106.600273, + 8.647778 + ] + ] + ], + [ + [ + [ + 103.498596, + 9.31361 + ], + [ + 103.467209, + 9.304443 + ], + [ + 103.469437, + 9.279444 + ], + [ + 103.498596, + 9.31361 + ] + ] + ], + [ + [ + [ + 106.262756, + 9.528887 + ], + [ + 106.285522, + 9.586943 + ], + [ + 106.088058, + 9.754438 + ], + [ + 106.262756, + 9.528887 + ] + ] + ], + [ + [ + [ + 106.543579, + 9.82583 + ], + [ + 106.485786, + 9.902222 + ], + [ + 106.418579, + 9.934443 + ], + [ + 106.543579, + 9.82583 + ] + ] + ], + [ + [ + [ + 106.596626, + 10.257221 + ], + [ + 106.586906, + 10.256943 + ], + [ + 106.664413, + 10.243053 + ], + [ + 106.596626, + 10.257221 + ] + ] + ], + [ + [ + [ + 106.637192, + 10.269999 + ], + [ + 106.511642, + 10.29361 + ], + [ + 106.752472, + 10.234442 + ], + [ + 106.637192, + 10.269999 + ] + ] + ], + [ + [ + [ + 104.083862, + 10.361942 + ], + [ + 103.837196, + 10.369442 + ], + [ + 104.026382, + 10.080276 + ], + [ + 104.083862, + 10.361942 + ] + ] + ], + [ + [ + [ + 107.092468, + 10.32222 + ], + [ + 107.20636, + 10.432775 + ], + [ + 107.063858, + 10.383333 + ], + [ + 107.092468, + 10.32222 + ] + ] + ], + [ + [ + [ + 106.895248, + 10.372219 + ], + [ + 106.979141, + 10.408888 + ], + [ + 106.887482, + 10.510555 + ], + [ + 106.895248, + 10.372219 + ] + ] + ], + [ + [ + [ + 108.958588, + 10.504166 + ], + [ + 108.930252, + 10.550276 + ], + [ + 108.930252, + 10.510277 + ], + [ + 108.958588, + 10.504166 + ] + ] + ], + [ + [ + [ + 106.904694, + 10.520832 + ], + [ + 106.930252, + 10.544722 + ], + [ + 106.92746, + 10.592775 + ], + [ + 106.87941, + 10.63722 + ], + [ + 106.852188, + 10.625553 + ], + [ + 106.871384, + 10.595519 + ], + [ + 106.851357, + 10.561943 + ], + [ + 106.875793, + 10.530277 + ], + [ + 106.904694, + 10.520832 + ] + ] + ], + [ + [ + [ + 106.852188, + 10.40361 + ], + [ + 106.87413, + 10.502499 + ], + [ + 106.835747, + 10.569703 + ], + [ + 106.856476, + 10.603882 + ], + [ + 106.753212, + 10.660968 + ], + [ + 106.786301, + 10.578066 + ], + [ + 106.749977, + 10.562498 + ], + [ + 106.755539, + 10.481386 + ], + [ + 106.852188, + 10.40361 + ] + ] + ], + [ + [ + [ + 109.332764, + 12.187777 + ], + [ + 109.331482, + 12.221088 + ], + [ + 109.245247, + 12.227497 + ], + [ + 109.332764, + 12.187777 + ] + ] + ], + [ + [ + [ + 109.3936, + 12.350275 + ], + [ + 109.385269, + 12.366941 + ], + [ + 109.387207, + 12.34972 + ], + [ + 109.3936, + 12.350275 + ] + ] + ], + [ + [ + [ + 107.919434, + 16.349442 + ], + [ + 107.661217, + 16.572613 + ], + [ + 107.866928, + 16.35944 + ], + [ + 107.919434, + 16.349442 + ] + ] + ], + [ + [ + [ + 107.73027, + 20.127773 + ], + [ + 107.738312, + 20.14444 + ], + [ + 107.711647, + 20.131939 + ], + [ + 107.73027, + 20.127773 + ] + ] + ], + [ + [ + [ + 107.378311, + 20.799164 + ], + [ + 107.382477, + 20.824165 + ], + [ + 107.334991, + 20.846664 + ], + [ + 107.378311, + 20.799164 + ] + ] + ], + [ + [ + [ + 107.068047, + 20.727493 + ], + [ + 107.033867, + 20.856106 + ], + [ + 106.908043, + 20.832218 + ], + [ + 107.068047, + 20.727493 + ] + ] + ], + [ + [ + [ + 106.752777, + 20.854164 + ], + [ + 106.741089, + 20.871109 + ], + [ + 106.719147, + 20.870831 + ], + [ + 106.752777, + 20.854164 + ] + ] + ], + [ + [ + [ + 106.873306, + 20.78722 + ], + [ + 106.781372, + 20.922497 + ], + [ + 106.770828, + 20.852497 + ], + [ + 106.873306, + 20.78722 + ] + ] + ], + [ + [ + [ + 106.948029, + 20.936382 + ], + [ + 106.927467, + 20.944717 + ], + [ + 106.932213, + 20.936939 + ], + [ + 106.948029, + 20.936382 + ] + ] + ], + [ + [ + [ + 107.488586, + 20.839165 + ], + [ + 107.554153, + 20.966106 + ], + [ + 107.464706, + 20.821384 + ], + [ + 107.488586, + 20.839165 + ] + ] + ], + [ + [ + [ + 106.893883, + 20.965549 + ], + [ + 106.888046, + 20.965549 + ], + [ + 106.916656, + 20.954441 + ], + [ + 106.893883, + 20.965549 + ] + ] + ], + [ + [ + [ + 107.460823, + 20.942219 + ], + [ + 107.473312, + 20.954441 + ], + [ + 107.478317, + 20.966106 + ], + [ + 107.476089, + 20.972218 + ], + [ + 107.462196, + 20.967495 + ], + [ + 107.454987, + 20.950272 + ], + [ + 107.454712, + 20.943886 + ], + [ + 107.460823, + 20.942219 + ] + ] + ], + [ + [ + [ + 106.753601, + 20.950829 + ], + [ + 106.679428, + 20.977493 + ], + [ + 106.688873, + 20.956661 + ], + [ + 106.753601, + 20.950829 + ] + ] + ], + [ + [ + [ + 107.746933, + 20.937218 + ], + [ + 107.790817, + 20.981937 + ], + [ + 107.747757, + 21.019165 + ], + [ + 107.746933, + 20.937218 + ] + ] + ], + [ + [ + [ + 107.462769, + 20.903049 + ], + [ + 107.554428, + 21.038052 + ], + [ + 107.502403, + 21.012671 + ], + [ + 107.476723, + 20.946983 + ], + [ + 107.394989, + 20.896664 + ], + [ + 107.462769, + 20.903049 + ] + ] + ], + [ + [ + [ + 107.859421, + 21.037777 + ], + [ + 107.8311, + 21.034996 + ], + [ + 107.806931, + 20.986938 + ], + [ + 107.859421, + 21.037777 + ] + ] + ], + [ + [ + [ + 107.578323, + 20.977219 + ], + [ + 107.620743, + 21.117836 + ], + [ + 107.567207, + 21.020554 + ], + [ + 107.578323, + 20.977219 + ] + ] + ], + [ + [ + [ + 107.513321, + 21.12833 + ], + [ + 107.532211, + 21.145828 + ], + [ + 107.509163, + 21.133331 + ], + [ + 107.513321, + 21.12833 + ] + ] + ], + [ + [ + [ + 107.383881, + 21.046387 + ], + [ + 107.604431, + 21.218884 + ], + [ + 107.471947, + 21.27142 + ], + [ + 107.383881, + 21.046387 + ] + ] + ], + [ + [ + [ + 107.742752, + 21.308887 + ], + [ + 107.818047, + 21.356384 + ], + [ + 107.708328, + 21.305275 + ], + [ + 107.742752, + 21.308887 + ] + ] + ], + [ + [ + [ + 107.996643, + 21.394718 + ], + [ + 107.828598, + 21.371384 + ], + [ + 107.933319, + 21.364162 + ], + [ + 107.996643, + 21.394718 + ] + ] + ], + [ + [ + [ + 107.5466, + 14.708618 + ], + [ + 107.489151, + 14.448608 + ], + [ + 107.547493, + 12.353609 + ], + [ + 106.420242, + 11.973608 + ], + [ + 106.458214, + 11.665863 + ], + [ + 105.851067, + 11.659998 + ], + [ + 106.203308, + 10.770554 + ], + [ + 105.101913, + 10.955553 + ], + [ + 104.445328, + 10.422739 + ], + [ + 105.107468, + 9.945276 + ], + [ + 104.742752, + 8.604998 + ], + [ + 105.021103, + 8.592775 + ], + [ + 106.194122, + 9.366941 + ], + [ + 105.820534, + 10.002499 + ], + [ + 106.54303, + 9.583609 + ], + [ + 106.117188, + 10.238331 + ], + [ + 106.618027, + 9.811388 + ], + [ + 106.290527, + 10.250832 + ], + [ + 106.776367, + 10.079998 + ], + [ + 106.424316, + 10.311384 + ], + [ + 106.784698, + 10.277498 + ], + [ + 106.79274, + 10.386944 + ], + [ + 106.738571, + 10.469442 + ], + [ + 106.591553, + 10.429691 + ], + [ + 106.736359, + 10.513054 + ], + [ + 106.738304, + 10.560613 + ], + [ + 106.770813, + 10.591108 + ], + [ + 106.744133, + 10.669998 + ], + [ + 106.904137, + 10.631386 + ], + [ + 106.943298, + 10.593609 + ], + [ + 106.93219, + 10.567221 + ], + [ + 106.961189, + 10.466075 + ], + [ + 106.999748, + 10.657166 + ], + [ + 107.26619, + 10.376129 + ], + [ + 107.997742, + 10.699165 + ], + [ + 109.021103, + 11.353331 + ], + [ + 109.173309, + 12.120552 + ], + [ + 109.269989, + 11.892498 + ], + [ + 109.145538, + 12.435555 + ], + [ + 109.466377, + 12.893332 + ], + [ + 108.830276, + 15.420832 + ], + [ + 106.698868, + 17.399719 + ], + [ + 105.613876, + 18.977219 + ], + [ + 105.954163, + 19.92083 + ], + [ + 106.776932, + 20.699162 + ], + [ + 106.643883, + 21.021385 + ], + [ + 107.154427, + 20.924995 + ], + [ + 107.36998, + 21.022221 + ], + [ + 107.414703, + 21.326107 + ], + [ + 107.990021, + 21.542412 + ], + [ + 106.693314, + 22.03083 + ], + [ + 106.707207, + 22.864998 + ], + [ + 105.577477, + 23.059162 + ], + [ + 105.353867, + 23.334721 + ], + [ + 103.964432, + 22.499111 + ], + [ + 103.33638, + 22.796387 + ], + [ + 103.030548, + 22.435551 + ], + [ + 102.479713, + 22.773888 + ], + [ + 102.140747, + 22.396286 + ], + [ + 102.676651, + 21.65583 + ], + [ + 102.976089, + 21.739437 + ], + [ + 103.170532, + 20.846664 + ], + [ + 103.693588, + 20.657219 + ], + [ + 104.109154, + 20.977219 + ], + [ + 104.6436, + 20.660275 + ], + [ + 104.381927, + 20.444717 + ], + [ + 104.979156, + 20.004997 + ], + [ + 104.640266, + 19.611942 + ], + [ + 104.037247, + 19.692944 + ], + [ + 103.879433, + 19.29361 + ], + [ + 105.193863, + 18.642494 + ], + [ + 105.183319, + 18.334442 + ], + [ + 106.561096, + 16.996941 + ], + [ + 106.685532, + 16.45805 + ], + [ + 107.464706, + 16.078609 + ], + [ + 107.175537, + 15.784164 + ], + [ + 107.695251, + 15.270832 + ], + [ + 107.5466, + 14.708618 + ] + ] + ] + ] + }, + "name" : "Vietnam", + "iso2" : "VN", + "iso3" : "VNM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "G71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -64.761948, + 17.774166 + ], + [ + -64.896118, + 17.676666 + ], + [ + -64.560287, + 17.748333 + ], + [ + -64.761948, + 17.774166 + ] + ] + ], + [ + [ + [ + -64.665283, + 18.332222 + ], + [ + -64.731949, + 18.371944 + ], + [ + -64.790283, + 18.33083 + ], + [ + -64.665283, + 18.332222 + ] + ] + ], + [ + [ + [ + -64.841675, + 18.312496 + ], + [ + -64.9039, + 18.364719 + ], + [ + -65.026947, + 18.362778 + ], + [ + -64.841675, + 18.312496 + ] + ] + ] + ] + }, + "name" : "United States Virgin Islands", + "iso2" : "VI", + "iso3" : "VIR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "HL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 23.476109, + -17.625835 + ], + [ + 23.284721, + -17.662502 + ], + [ + 20.854164, + -18.016392 + ], + [ + 18.915833, + -17.815556 + ], + [ + 18.451538, + -17.389835 + ], + [ + 13.993219, + -17.423946 + ], + [ + 13.160555, + -16.952778 + ], + [ + 11.752783, + -17.254833 + ], + [ + 11.804722, + -18.081947 + ], + [ + 14.511389, + -22.55278 + ], + [ + 14.463333, + -24.109169 + ], + [ + 15.294167, + -27.322502 + ], + [ + 16.48959, + -28.578178 + ], + [ + 17.06361, + -28.028614 + ], + [ + 17.40472, + -28.713612 + ], + [ + 18.175831, + -28.908611 + ], + [ + 19.123055, + -28.962223 + ], + [ + 19.99612, + -28.421448 + ], + [ + 20.000942, + -24.765408 + ], + [ + 19.996666, + -22.005001 + ], + [ + 20.991943, + -21.996948 + ], + [ + 20.993286, + -18.318417 + ], + [ + 23.297108, + -17.995949 + ], + [ + 23.615578, + -18.485069 + ], + [ + 24.362499, + -17.948612 + ], + [ + 25.264431, + -17.80225 + ], + [ + 24.969997, + -17.559723 + ], + [ + 23.476109, + -17.625835 + ] + ] + ] + }, + "name" : "Namibia", + "iso2" : "NA", + "iso3" : "NAM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Hb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -178.042511, + -14.319447 + ], + [ + -178.189453, + -14.236113 + ], + [ + -178.140564, + -14.316389 + ], + [ + -178.042511, + -14.319447 + ] + ] + ], + [ + [ + [ + -176.161438, + -13.352777 + ], + [ + -176.121094, + -13.263334 + ], + [ + -176.156158, + -13.213614 + ], + [ + -176.161438, + -13.352777 + ] + ] + ] + ] + }, + "name" : "Wallis and Futuna Islands", + "iso2" : "WF", + "iso3" : "WLF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Hr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -171.429749, + -14.019724 + ], + [ + -171.822266, + -13.807503 + ], + [ + -172.064758, + -13.874443 + ], + [ + -171.429749, + -14.019724 + ] + ] + ], + [ + [ + [ + -172.285858, + -13.486387 + ], + [ + -172.780609, + -13.533335 + ], + [ + -172.214172, + -13.807777 + ], + [ + -172.285858, + -13.486387 + ] + ] + ] + ] + }, + "name" : "Samoa", + "iso2" : "WS", + "iso3" : "WSM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "H71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 31.96851, + -25.95784 + ], + [ + 31.33083, + -25.751392 + ], + [ + 30.902048, + -26.305254 + ], + [ + 30.818886, + -26.810558 + ], + [ + 31.161663, + -27.203056 + ], + [ + 31.987499, + -27.316113 + ], + [ + 32.1334, + -26.839626 + ], + [ + 31.96851, + -25.95784 + ] + ] + ] + }, + "name" : "Swaziland", + "iso2" : "SZ", + "iso3" : "SWZ" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "IL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 53.340828, + 12.108889 + ], + [ + 53.291664, + 12.134443 + ], + [ + 53.25666, + 12.124998 + ], + [ + 53.340828, + 12.108889 + ] + ] + ], + [ + [ + [ + 53.085831, + 12.13361 + ], + [ + 53.096107, + 12.175554 + ], + [ + 53.011383, + 12.158609 + ], + [ + 53.085831, + 12.13361 + ] + ] + ], + [ + [ + [ + 52.234161, + 12.201111 + ], + [ + 52.083054, + 12.222776 + ], + [ + 52.395828, + 12.155277 + ], + [ + 52.234161, + 12.201111 + ] + ] + ], + [ + [ + [ + 43.438606, + 12.631109 + ], + [ + 43.443886, + 12.659443 + ], + [ + 43.396111, + 12.666388 + ], + [ + 43.438606, + 12.631109 + ] + ] + ], + [ + [ + [ + 53.774719, + 12.616388 + ], + [ + 53.325829, + 12.545832 + ], + [ + 53.753609, + 12.308054 + ], + [ + 54.476944, + 12.557777 + ], + [ + 53.774719, + 12.616388 + ] + ] + ], + [ + [ + [ + 42.755829, + 13.69861 + ], + [ + 42.793884, + 13.781111 + ], + [ + 42.677216, + 13.666111 + ], + [ + 42.755829, + 13.69861 + ] + ] + ], + [ + [ + [ + 42.787498, + 13.91 + ], + [ + 42.766388, + 14.066944 + ], + [ + 42.689163, + 14.013611 + ], + [ + 42.787498, + 13.91 + ] + ] + ], + [ + [ + [ + 42.594719, + 15.271944 + ], + [ + 42.642494, + 15.458332 + ], + [ + 42.568886, + 15.3925 + ], + [ + 42.594719, + 15.271944 + ] + ] + ], + [ + [ + [ + 51.99929, + 18.999344 + ], + [ + 48.766388, + 18.266388 + ], + [ + 46.333054, + 15.616943 + ], + [ + 46.333328, + 16.666664 + ], + [ + 44.467499, + 17.411942 + ], + [ + 43.309441, + 17.457222 + ], + [ + 43.206108, + 16.672222 + ], + [ + 42.78968, + 16.377502 + ], + [ + 42.681107, + 15.208332 + ], + [ + 43.247498, + 13.210278 + ], + [ + 43.467216, + 12.677776 + ], + [ + 43.957222, + 12.592777 + ], + [ + 45.055443, + 12.751296 + ], + [ + 45.666664, + 13.341665 + ], + [ + 48.698051, + 14.039999 + ], + [ + 49.098885, + 14.519165 + ], + [ + 52.231941, + 15.674166 + ], + [ + 52.298882, + 16.272221 + ], + [ + 53.114441, + 16.642778 + ], + [ + 51.99929, + 18.999344 + ] + ] + ] + ] + }, + "name" : "Yemen", + "iso2" : "YE", + "iso3" : "YEM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ib1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 23.476109, + -17.625835 + ], + [ + 24.969997, + -17.559723 + ], + [ + 25.264431, + -17.80225 + ], + [ + 27.038055, + -17.959446 + ], + [ + 27.825275, + -16.959167 + ], + [ + 28.759441, + -16.552223 + ], + [ + 28.927219, + -15.972223 + ], + [ + 30.415756, + -15.631872 + ], + [ + 30.213017, + -14.981716 + ], + [ + 33.222229, + -14.012566 + ], + [ + 32.678886, + -13.60639 + ], + [ + 33.046387, + -12.603889 + ], + [ + 33.54583, + -12.359446 + ], + [ + 33.273331, + -12.144445 + ], + [ + 33.250549, + -10.886667 + ], + [ + 33.702278, + -10.561857 + ], + [ + 32.940399, + -9.405077 + ], + [ + 31.041111, + -8.590279 + ], + [ + 30.77124, + -8.192247 + ], + [ + 28.901665, + -8.478613 + ], + [ + 28.372219, + -9.260834 + ], + [ + 28.699718, + -10.653334 + ], + [ + 28.363331, + -11.550835 + ], + [ + 29.031387, + -12.383057 + ], + [ + 29.49361, + -12.458057 + ], + [ + 29.80505, + -12.155247 + ], + [ + 29.801388, + -13.454168 + ], + [ + 29.589443, + -13.221945 + ], + [ + 29.015831, + -13.397779 + ], + [ + 28.441944, + -12.519724 + ], + [ + 27.66, + -12.296667 + ], + [ + 27.199249, + -11.567905 + ], + [ + 26.86861, + -11.973612 + ], + [ + 26.004719, + -11.9025 + ], + [ + 25.359722, + -11.641668 + ], + [ + 25.332222, + -11.193335 + ], + [ + 24.44833, + -11.463612 + ], + [ + 23.986206, + -10.870461 + ], + [ + 24.020554, + -13.00639 + ], + [ + 21.998333, + -13.004168 + ], + [ + 22.000149, + -16.171661 + ], + [ + 23.476109, + -17.625835 + ] + ] + ] + }, + "name" : "Zambia", + "iso2" : "ZM", + "iso3" : "ZMB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ir1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 31.297504, + -22.414764 + ], + [ + 32.488876, + -21.344448 + ], + [ + 32.50222, + -20.598614 + ], + [ + 33.018883, + -19.943336 + ], + [ + 32.699165, + -18.944447 + ], + [ + 33.073051, + -18.348892 + ], + [ + 32.987808, + -17.265003 + ], + [ + 32.98114, + -16.709053 + ], + [ + 31.276665, + -16.018612 + ], + [ + 30.422775, + -16.009167 + ], + [ + 30.415756, + -15.631872 + ], + [ + 28.927219, + -15.972223 + ], + [ + 28.759441, + -16.552223 + ], + [ + 27.825275, + -16.959167 + ], + [ + 27.038055, + -17.959446 + ], + [ + 25.264431, + -17.80225 + ], + [ + 26.166111, + -19.527779 + ], + [ + 27.219997, + -20.091667 + ], + [ + 27.287453, + -20.494965 + ], + [ + 27.713165, + -20.506432 + ], + [ + 28.015831, + -21.566113 + ], + [ + 29.060555, + -21.798058 + ], + [ + 29.373623, + -22.19241 + ], + [ + 29.893887, + -22.194447 + ], + [ + 31.297504, + -22.414764 + ] + ] + ] + }, + "name" : "Zimbabwe", + "iso2" : "ZW", + "iso3" : "ZWE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "I71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 121.859995, + -10.610277 + ], + [ + 121.996935, + -10.441111 + ], + [ + 121.690813, + -10.566389 + ], + [ + 121.859995, + -10.610277 + ] + ] + ], + [ + [ + [ + 123.214708, + -10.812222 + ], + [ + 123.390268, + -10.436945 + ], + [ + 122.807749, + -10.794724 + ], + [ + 123.214708, + -10.812222 + ] + ] + ], + [ + [ + [ + 123.400545, + -10.342777 + ], + [ + 123.453325, + -10.139723 + ], + [ + 123.308596, + -10.276667 + ], + [ + 123.400545, + -10.342777 + ] + ] + ], + [ + [ + [ + 120.029161, + -9.383333 + ], + [ + 118.931093, + -9.561111 + ], + [ + 120.164705, + -10.231388 + ], + [ + 120.724428, + -10.199722 + ], + [ + 120.810259, + -9.979166 + ], + [ + 120.029161, + -9.383333 + ] + ] + ], + [ + [ + [ + 125.164049, + -9.066141 + ], + [ + 124.945448, + -8.954039 + ], + [ + 124.445726, + -9.184801 + ], + [ + 124.343096, + -9.463379 + ], + [ + 124.046164, + -9.339979 + ], + [ + 123.488314, + -10.316389 + ], + [ + 124.435259, + -10.162779 + ], + [ + 125.127989, + -9.435955 + ], + [ + 125.164049, + -9.066141 + ] + ] + ], + [ + [ + [ + 115.594713, + -8.804167 + ], + [ + 115.512499, + -8.67 + ], + [ + 115.469995, + -8.734444 + ], + [ + 115.594713, + -8.804167 + ] + ] + ], + [ + [ + [ + 119.690538, + -8.802778 + ], + [ + 119.633059, + -8.600796 + ], + [ + 119.607485, + -8.773611 + ], + [ + 119.690538, + -8.802778 + ] + ] + ], + [ + [ + [ + 122.969439, + -8.5725 + ], + [ + 123.177759, + -8.442223 + ], + [ + 122.988039, + -8.456667 + ], + [ + 122.969439, + -8.5725 + ] + ] + ], + [ + [ + [ + 119.461649, + -8.440277 + ], + [ + 119.447199, + -8.754168 + ], + [ + 119.585543, + -8.563055 + ], + [ + 119.461649, + -8.440277 + ] + ] + ], + [ + [ + [ + 113.388895, + -8.497221 + ], + [ + 113.285814, + -8.440001 + ], + [ + 113.295534, + -8.500557 + ], + [ + 113.388895, + -8.497221 + ] + ] + ], + [ + [ + [ + 124.290545, + -8.329166 + ], + [ + 123.906939, + -8.452499 + ], + [ + 124.115259, + -8.555555 + ], + [ + 124.290545, + -8.329166 + ] + ] + ], + [ + [ + [ + 123.764429, + -8.327223 + ], + [ + 123.93915, + -8.242498 + ], + [ + 123.217485, + -8.536667 + ], + [ + 123.764429, + -8.327223 + ] + ] + ], + [ + [ + [ + 123.281099, + -8.405834 + ], + [ + 123.220835, + -8.23361 + ], + [ + 123.0161, + -8.378056 + ], + [ + 123.281099, + -8.405834 + ] + ] + ], + [ + [ + [ + 128.219973, + -8.210556 + ], + [ + 128.079958, + -8.259445 + ], + [ + 128.208315, + -8.287222 + ], + [ + 128.219973, + -8.210556 + ] + ] + ], + [ + [ + [ + 116.54915, + -8.775002 + ], + [ + 116.735811, + -8.363054 + ], + [ + 116.387499, + -8.205 + ], + [ + 115.844149, + -8.75528 + ], + [ + 116.54915, + -8.775002 + ] + ] + ], + [ + [ + [ + 127.668322, + -8.244444 + ], + [ + 127.771105, + -8.188889 + ], + [ + 127.605822, + -8.206944 + ], + [ + 127.668322, + -8.244444 + ] + ] + ], + [ + [ + [ + 129.008028, + -8.269445 + ], + [ + 128.969698, + -8.183889 + ], + [ + 128.82831, + -8.198889 + ], + [ + 129.008028, + -8.269445 + ] + ] + ], + [ + [ + [ + 117.540819, + -8.390278 + ], + [ + 117.675814, + -8.156111 + ], + [ + 117.481371, + -8.191389 + ], + [ + 117.540819, + -8.390278 + ] + ] + ], + [ + [ + [ + 138.873568, + -8.414722 + ], + [ + 138.81415, + -8.154722 + ], + [ + 138.54471, + -8.333054 + ], + [ + 138.873568, + -8.414722 + ] + ] + ], + [ + [ + [ + 118.311922, + -8.374722 + ], + [ + 117.735529, + -8.152224 + ], + [ + 118.284418, + -8.594166 + ], + [ + 117.966379, + -8.74861 + ], + [ + 117.122759, + -8.378611 + ], + [ + 116.75139, + -9.009445 + ], + [ + 118.154985, + -8.871944 + ], + [ + 118.406374, + -8.584723 + ], + [ + 118.457209, + -8.871944 + ], + [ + 119.178041, + -8.720278 + ], + [ + 118.996935, + -8.313612 + ], + [ + 118.666094, + -8.552223 + ], + [ + 118.648333, + -8.294445 + ], + [ + 118.311922, + -8.374722 + ] + ] + ], + [ + [ + [ + 122.981089, + -8.149445 + ], + [ + 122.288309, + -8.644445 + ], + [ + 120.522493, + -8.257223 + ], + [ + 119.796236, + -8.720343 + ], + [ + 121.765551, + -8.892223 + ], + [ + 122.832491, + -8.601664 + ], + [ + 122.981089, + -8.149445 + ] + ] + ], + [ + [ + [ + 124.577768, + -8.135834 + ], + [ + 124.350809, + -8.454445 + ], + [ + 125.139711, + -8.329166 + ], + [ + 124.577768, + -8.135834 + ] + ] + ], + [ + [ + [ + 125.581675, + -8.317499 + ], + [ + 125.641375, + -8.135834 + ], + [ + 125.496096, + -8.269445 + ], + [ + 125.581675, + -8.317499 + ] + ] + ], + [ + [ + [ + 119.072489, + -8.2675 + ], + [ + 119.136934, + -8.195555 + ], + [ + 119.0786, + -8.13389 + ], + [ + 119.072489, + -8.2675 + ] + ] + ], + [ + [ + [ + 115.502214, + -8.178612 + ], + [ + 114.445536, + -8.104721 + ], + [ + 115.126085, + -8.854166 + ], + [ + 115.707766, + -8.409166 + ], + [ + 115.502214, + -8.178612 + ] + ] + ], + [ + [ + [ + 127.843599, + -8.10111 + ], + [ + 128.02527, + -8.2675 + ], + [ + 128.127443, + -8.171667 + ], + [ + 127.843599, + -8.10111 + ] + ] + ], + [ + [ + [ + 130.80414, + -8.352222 + ], + [ + 131.180269, + -8.129721 + ], + [ + 131.013033, + -8.089722 + ], + [ + 130.80414, + -8.352222 + ] + ] + ], + [ + [ + [ + 127.213884, + -8.113333 + ], + [ + 127.181665, + -8.021946 + ], + [ + 127.153055, + -8.099167 + ], + [ + 127.213884, + -8.113333 + ] + ] + ], + [ + [ + [ + 129.764437, + -8.061111 + ], + [ + 129.843294, + -7.840555 + ], + [ + 129.606905, + -7.803888 + ], + [ + 129.764437, + -8.061111 + ] + ] + ], + [ + [ + [ + 126.721369, + -7.673056 + ], + [ + 125.972216, + -7.658611 + ], + [ + 125.772219, + -8.00889 + ], + [ + 126.721369, + -7.673056 + ] + ] + ], + [ + [ + [ + 130.989138, + -7.723333 + ], + [ + 131.128847, + -7.626665 + ], + [ + 130.984133, + -7.664165 + ], + [ + 130.989138, + -7.723333 + ] + ] + ], + [ + [ + [ + 127.38109, + -7.658611 + ], + [ + 127.481936, + -7.528889 + ], + [ + 127.368044, + -7.513889 + ], + [ + 127.38109, + -7.658611 + ] + ] + ], + [ + [ + [ + 138.968294, + -7.55611 + ], + [ + 138.154696, + -7.513889 + ], + [ + 137.635256, + -8.43 + ], + [ + 138.444704, + -8.383333 + ], + [ + 138.968294, + -7.55611 + ] + ] + ], + [ + [ + [ + 130.864962, + -7.494165 + ], + [ + 130.844423, + -7.547222 + ], + [ + 130.983583, + -7.520834 + ], + [ + 130.864962, + -7.494165 + ] + ] + ], + [ + [ + [ + 131.072756, + -7.511389 + ], + [ + 131.177462, + -7.408611 + ], + [ + 131.003328, + -7.424999 + ], + [ + 131.072756, + -7.511389 + ] + ] + ], + [ + [ + [ + 121.778589, + -7.424444 + ], + [ + 121.830553, + -7.342777 + ], + [ + 121.761934, + -7.359165 + ], + [ + 121.778589, + -7.424444 + ] + ] + ], + [ + [ + [ + 121.108324, + -7.394444 + ], + [ + 121.168589, + -7.352222 + ], + [ + 121.093325, + -7.304722 + ], + [ + 121.108324, + -7.394444 + ] + ] + ], + [ + [ + [ + 131.272768, + -7.372776 + ], + [ + 131.263033, + -7.300554 + ], + [ + 131.216646, + -7.359165 + ], + [ + 131.272768, + -7.372776 + ] + ] + ], + [ + [ + [ + 120.931376, + -7.283611 + ], + [ + 120.789705, + -7.2775 + ], + [ + 121.063601, + -7.304722 + ], + [ + 120.931376, + -7.283611 + ] + ] + ], + [ + [ + [ + 131.736086, + -7.214167 + ], + [ + 131.243288, + -7.48 + ], + [ + 131.109682, + -8.000834 + ], + [ + 131.736086, + -7.214167 + ] + ] + ], + [ + [ + [ + 131.927187, + -7.106943 + ], + [ + 131.728579, + -7.158611 + ], + [ + 131.968843, + -7.254444 + ], + [ + 131.927187, + -7.106943 + ] + ] + ], + [ + [ + [ + 114.402483, + -7.18111 + ], + [ + 114.370249, + -7.066111 + ], + [ + 114.293322, + -7.0825 + ], + [ + 114.402483, + -7.18111 + ] + ] + ], + [ + [ + [ + 128.639986, + -7.219166 + ], + [ + 128.615236, + -7.064722 + ], + [ + 128.526094, + -7.143612 + ], + [ + 128.639986, + -7.219166 + ] + ] + ], + [ + [ + [ + 120.741655, + -7.075556 + ], + [ + 120.630541, + -7.016388 + ], + [ + 120.669146, + -7.145554 + ], + [ + 120.741655, + -7.075556 + ] + ] + ], + [ + [ + [ + 113.991365, + -6.880278 + ], + [ + 112.687761, + -7.051111 + ], + [ + 113.503885, + -7.225277 + ], + [ + 113.991365, + -6.880278 + ] + ] + ], + [ + [ + [ + 115.293329, + -6.838793 + ], + [ + 115.291094, + -7.008333 + ], + [ + 115.570833, + -6.925833 + ], + [ + 115.293329, + -6.838793 + ] + ] + ], + [ + [ + [ + 138.690523, + -6.761389 + ], + [ + 138.611086, + -6.736111 + ], + [ + 138.786654, + -6.840834 + ], + [ + 138.690523, + -6.761389 + ] + ] + ], + [ + [ + [ + 131.592196, + -6.678888 + ], + [ + 131.535799, + -6.801388 + ], + [ + 131.626345, + -6.7075 + ], + [ + 131.592196, + -6.678888 + ] + ] + ], + [ + [ + [ + 134.668856, + -6.774166 + ], + [ + 134.697756, + -6.586388 + ], + [ + 134.626345, + -6.715555 + ], + [ + 134.668856, + -6.774166 + ] + ] + ], + [ + [ + [ + 105.193041, + -6.684444 + ], + [ + 105.253603, + -6.527222 + ], + [ + 105.113039, + -6.611666 + ], + [ + 105.193041, + -6.684444 + ] + ] + ], + [ + [ + [ + 134.68387, + -6.56111 + ], + [ + 134.74692, + -6.523056 + ], + [ + 134.683321, + -6.451666 + ], + [ + 134.68387, + -6.56111 + ] + ] + ], + [ + [ + [ + 134.586092, + -6.391666 + ], + [ + 134.345522, + -6.356943 + ], + [ + 134.542208, + -6.535833 + ], + [ + 134.586092, + -6.391666 + ] + ] + ], + [ + [ + [ + 134.831911, + -6.471945 + ], + [ + 134.858004, + -6.289444 + ], + [ + 134.788027, + -6.393055 + ], + [ + 134.831911, + -6.471945 + ] + ] + ], + [ + [ + [ + 134.344118, + -6.804167 + ], + [ + 134.514711, + -6.584999 + ], + [ + 134.102755, + -6.173056 + ], + [ + 134.067202, + -6.826666 + ], + [ + 134.344118, + -6.804167 + ] + ] + ], + [ + [ + [ + 134.156374, + -6.047499 + ], + [ + 134.133883, + -6.154722 + ], + [ + 134.403597, + -6.28611 + ], + [ + 134.156374, + -6.047499 + ] + ] + ], + [ + [ + [ + 134.731356, + -6.036667 + ], + [ + 134.268038, + -6.117222 + ], + [ + 134.603029, + -6.370554 + ], + [ + 134.731356, + -6.036667 + ] + ] + ], + [ + [ + [ + 106.163309, + -6.014166 + ], + [ + 105.243319, + -6.810278 + ], + [ + 106.509432, + -6.979166 + ], + [ + 106.423311, + -7.371387 + ], + [ + 108.163042, + -7.783054 + ], + [ + 109.289705, + -7.699444 + ], + [ + 111.651094, + -8.362499 + ], + [ + 113.232759, + -8.281113 + ], + [ + 114.621096, + -8.746666 + ], + [ + 114.371645, + -8.521112 + ], + [ + 114.44832, + -7.800554 + ], + [ + 112.845545, + -7.599722 + ], + [ + 112.560259, + -6.912222 + ], + [ + 111.152773, + -6.699999 + ], + [ + 110.919985, + -6.41 + ], + [ + 110.390825, + -6.979721 + ], + [ + 108.734423, + -6.814999 + ], + [ + 108.311098, + -6.260279 + ], + [ + 106.163309, + -6.014166 + ] + ] + ], + [ + [ + [ + 124.058321, + -6.027222 + ], + [ + 123.976648, + -5.875832 + ], + [ + 123.965822, + -5.948055 + ], + [ + 124.058321, + -6.027222 + ] + ] + ], + [ + [ + [ + 120.481936, + -6.48361 + ], + [ + 120.561373, + -6.024445 + ], + [ + 120.479982, + -5.766666 + ], + [ + 120.481936, + -6.48361 + ] + ] + ], + [ + [ + [ + 104.836115, + -5.828056 + ], + [ + 104.84833, + -5.775 + ], + [ + 104.768885, + -5.747778 + ], + [ + 104.836115, + -5.828056 + ] + ] + ], + [ + [ + [ + 112.692751, + -5.852776 + ], + [ + 112.634989, + -5.739443 + ], + [ + 112.58777, + -5.843889 + ], + [ + 112.692751, + -5.852776 + ] + ] + ], + [ + [ + [ + 132.741335, + -5.950277 + ], + [ + 132.808321, + -5.806944 + ], + [ + 132.6933, + -5.596388 + ], + [ + 132.741335, + -5.950277 + ] + ] + ], + [ + [ + [ + 132.795534, + -5.686388 + ], + [ + 132.781099, + -5.532778 + ], + [ + 132.738558, + -5.639166 + ], + [ + 132.795534, + -5.686388 + ] + ] + ], + [ + [ + [ + 132.340517, + -5.577223 + ], + [ + 132.376619, + -5.538332 + ], + [ + 132.301912, + -5.517221 + ], + [ + 132.340517, + -5.577223 + ] + ] + ], + [ + [ + [ + 123.810808, + -5.599167 + ], + [ + 123.802759, + -5.533611 + ], + [ + 123.688311, + -5.472221 + ], + [ + 123.810808, + -5.599167 + ] + ] + ], + [ + [ + [ + 134.577181, + -5.43 + ], + [ + 134.206331, + -5.708054 + ], + [ + 134.302187, + -6.025833 + ], + [ + 134.731356, + -5.974722 + ], + [ + 134.577181, + -5.43 + ] + ] + ], + [ + [ + [ + 102.384989, + -5.485832 + ], + [ + 102.380816, + -5.372499 + ], + [ + 102.100542, + -5.3325 + ], + [ + 102.384989, + -5.485832 + ] + ] + ], + [ + [ + [ + 132.849398, + -6.003334 + ], + [ + 133.11191, + -5.591667 + ], + [ + 133.168856, + -5.295555 + ], + [ + 132.849398, + -6.003334 + ] + ] + ], + [ + [ + [ + 123.625811, + -5.376665 + ], + [ + 123.627199, + -5.282499 + ], + [ + 123.521105, + -5.251944 + ], + [ + 123.625811, + -5.376665 + ] + ] + ], + [ + [ + [ + 122.016939, + -5.474167 + ], + [ + 121.913309, + -5.058611 + ], + [ + 121.808596, + -5.272223 + ], + [ + 122.016939, + -5.474167 + ] + ] + ], + [ + [ + [ + 115.782495, + -4.831944 + ], + [ + 115.85248, + -4.785555 + ], + [ + 115.853045, + -4.747221 + ], + [ + 115.782495, + -4.831944 + ] + ] + ], + [ + [ + [ + 131.742189, + -4.76861 + ], + [ + 131.754427, + -4.723333 + ], + [ + 131.721621, + -4.691944 + ], + [ + 131.742189, + -4.76861 + ] + ] + ], + [ + [ + [ + 122.737764, + -4.651112 + ], + [ + 122.371096, + -4.759722 + ], + [ + 122.28499, + -5.385 + ], + [ + 122.605555, + -5.420277 + ], + [ + 122.737764, + -4.651112 + ] + ] + ], + [ + [ + [ + 129.93442, + -4.566387 + ], + [ + 129.93857, + -4.5075 + ], + [ + 129.859133, + -4.556665 + ], + [ + 129.93442, + -4.566387 + ] + ] + ], + [ + [ + [ + 129.874666, + -4.530832 + ], + [ + 129.879671, + -4.505556 + ], + [ + 129.861086, + -4.521389 + ], + [ + 129.874666, + -4.530832 + ] + ] + ], + [ + [ + [ + 123.21277, + -4.697498 + ], + [ + 122.903589, + -4.484999 + ], + [ + 122.651384, + -5.686388 + ], + [ + 123.215555, + -5.297499 + ], + [ + 122.979715, + -5.107222 + ], + [ + 123.21277, + -4.697498 + ] + ] + ], + [ + [ + [ + 131.670259, + -4.536943 + ], + [ + 131.672213, + -4.487221 + ], + [ + 131.610506, + -4.428333 + ], + [ + 131.670259, + -4.536943 + ] + ] + ], + [ + [ + [ + 133.575258, + -4.251944 + ], + [ + 133.31415, + -4.104445 + ], + [ + 133.615511, + -4.300554 + ], + [ + 133.575258, + -4.251944 + ] + ] + ], + [ + [ + [ + 131.342745, + -4.117498 + ], + [ + 131.272768, + -4.07361 + ], + [ + 131.304415, + -4.124165 + ], + [ + 131.342745, + -4.117498 + ] + ] + ], + [ + [ + [ + 123.088594, + -4.008888 + ], + [ + 122.957766, + -4.100277 + ], + [ + 123.153872, + -4.241667 + ], + [ + 123.088594, + -4.008888 + ] + ] + ], + [ + [ + [ + 101.034418, + -4.025833 + ], + [ + 101.048601, + -3.994999 + ], + [ + 101.027483, + -4.005278 + ], + [ + 101.034418, + -4.025833 + ] + ] + ], + [ + [ + [ + 131.244692, + -4.045555 + ], + [ + 131.244692, + -4.001944 + ], + [ + 131.209688, + -3.983332 + ], + [ + 131.244692, + -4.045555 + ] + ] + ], + [ + [ + [ + 131.435793, + -4.076389 + ], + [ + 131.419436, + -3.960278 + ], + [ + 131.378847, + -3.960833 + ], + [ + 131.435793, + -4.076389 + ] + ] + ], + [ + [ + [ + 134.1597, + -3.934999 + ], + [ + 134.072756, + -3.934166 + ], + [ + 134.199404, + -3.99111 + ], + [ + 134.1597, + -3.934999 + ] + ] + ], + [ + [ + [ + 127.228319, + -3.904167 + ], + [ + 127.233873, + -3.827499 + ], + [ + 127.148882, + -3.830278 + ], + [ + 127.228319, + -3.904167 + ] + ] + ], + [ + [ + [ + 128.779146, + -3.703888 + ], + [ + 128.790804, + -3.638889 + ], + [ + 128.748293, + -3.643055 + ], + [ + 128.779146, + -3.703888 + ] + ] + ], + [ + [ + [ + 123.125528, + -3.626667 + ], + [ + 123.147776, + -3.543055 + ], + [ + 123.057749, + -3.578056 + ], + [ + 123.125528, + -3.626667 + ] + ] + ], + [ + [ + [ + 128.402773, + -3.640833 + ], + [ + 128.563295, + -3.576666 + ], + [ + 128.431093, + -3.522499 + ], + [ + 128.402773, + -3.640833 + ] + ] + ], + [ + [ + [ + 122.351931, + -3.560833 + ], + [ + 122.320536, + -3.514919 + ], + [ + 122.279985, + -3.5725 + ], + [ + 122.351931, + -3.560833 + ] + ] + ], + [ + [ + [ + 128.334963, + -3.625832 + ], + [ + 128.273317, + -3.512222 + ], + [ + 127.918322, + -3.740833 + ], + [ + 128.334963, + -3.625832 + ] + ] + ], + [ + [ + [ + 128.664705, + -3.538332 + ], + [ + 128.554964, + -3.509722 + ], + [ + 128.720797, + -3.619165 + ], + [ + 128.664705, + -3.538332 + ] + ] + ], + [ + [ + [ + 132.703585, + -3.519165 + ], + [ + 132.674135, + -3.41861 + ], + [ + 132.623293, + -3.421389 + ], + [ + 132.703585, + -3.519165 + ] + ] + ], + [ + [ + [ + 122.445253, + -3.490555 + ], + [ + 122.471918, + -3.456944 + ], + [ + 122.413042, + -3.384445 + ], + [ + 122.445253, + -3.490555 + ] + ] + ], + [ + [ + [ + 116.382753, + -3.645554 + ], + [ + 116.416933, + -3.377499 + ], + [ + 116.316942, + -3.5375 + ], + [ + 116.382753, + -3.645554 + ] + ] + ], + [ + [ + [ + 127.632753, + -3.365278 + ], + [ + 127.569719, + -3.263889 + ], + [ + 127.481089, + -3.293333 + ], + [ + 127.632753, + -3.365278 + ] + ] + ], + [ + [ + [ + 116.118319, + -4.03611 + ], + [ + 116.267763, + -3.223055 + ], + [ + 116.008615, + -3.649166 + ], + [ + 116.118319, + -4.03611 + ] + ] + ], + [ + [ + [ + 127.770266, + -3.254444 + ], + [ + 127.759432, + -3.153055 + ], + [ + 127.63611, + -3.225832 + ], + [ + 127.770266, + -3.254444 + ] + ] + ], + [ + [ + [ + 100.524431, + -3.186167 + ], + [ + 100.500551, + -3.127222 + ], + [ + 100.490808, + -3.162777 + ], + [ + 100.524431, + -3.186167 + ] + ] + ], + [ + [ + [ + 126.993876, + -3.145 + ], + [ + 126.103045, + -3.100555 + ], + [ + 126.017488, + -3.354445 + ], + [ + 126.700823, + -3.834444 + ], + [ + 127.23665, + -3.6175 + ], + [ + 126.993876, + -3.145 + ] + ] + ], + [ + [ + [ + 127.884722, + -3.038332 + ], + [ + 127.991655, + -2.93 + ], + [ + 127.820543, + -3.021666 + ], + [ + 127.884722, + -3.038332 + ] + ] + ], + [ + [ + [ + 106.889162, + -3.024445 + ], + [ + 106.812479, + -2.893055 + ], + [ + 106.721369, + -2.966389 + ], + [ + 106.889162, + -3.024445 + ] + ] + ], + [ + [ + [ + 129.812471, + -2.919722 + ], + [ + 128.173861, + -2.855555 + ], + [ + 127.906099, + -3.5375 + ], + [ + 128.173861, + -3.068888 + ], + [ + 128.462465, + -3.458332 + ], + [ + 128.878298, + -3.207777 + ], + [ + 129.897493, + -3.335833 + ], + [ + 130.829958, + -3.872776 + ], + [ + 130.584139, + -3.133333 + ], + [ + 129.812471, + -2.919722 + ] + ] + ], + [ + [ + [ + 107.427202, + -2.938889 + ], + [ + 107.481371, + -2.823334 + ], + [ + 107.361368, + -2.871111 + ], + [ + 107.427202, + -2.938889 + ] + ] + ], + [ + [ + [ + 107.079714, + -2.911665 + ], + [ + 107.072771, + -2.82 + ], + [ + 107.037203, + -2.865 + ], + [ + 107.079714, + -2.911665 + ] + ] + ], + [ + [ + [ + 100.46277, + -3.133333 + ], + [ + 100.176378, + -2.799999 + ], + [ + 100.459429, + -3.333889 + ], + [ + 100.46277, + -3.133333 + ] + ] + ], + [ + [ + [ + 131.579683, + -2.656389 + ], + [ + 131.654421, + -2.621389 + ], + [ + 131.565248, + -2.651667 + ], + [ + 131.579683, + -2.656389 + ] + ] + ], + [ + [ + [ + 107.832766, + -2.535 + ], + [ + 107.609423, + -3.211388 + ], + [ + 108.07332, + -3.235277 + ], + [ + 108.265825, + -2.755556 + ], + [ + 107.832766, + -2.535 + ] + ] + ], + [ + [ + [ + 100.031099, + -2.841944 + ], + [ + 100.214159, + -2.718611 + ], + [ + 99.9872, + -2.489166 + ], + [ + 100.031099, + -2.841944 + ] + ] + ], + [ + [ + [ + 133.594973, + -2.525555 + ], + [ + 133.614412, + -2.477499 + ], + [ + 133.499117, + -2.425556 + ], + [ + 133.594973, + -2.525555 + ] + ] + ], + [ + [ + [ + 99.741091, + -2.376389 + ], + [ + 99.7372, + -2.350277 + ], + [ + 99.7036, + -2.342777 + ], + [ + 99.741091, + -2.376389 + ] + ] + ], + [ + [ + [ + 134.567476, + -2.453054 + ], + [ + 134.56885, + -2.292778 + ], + [ + 134.516665, + -2.396944 + ], + [ + 134.567476, + -2.453054 + ] + ] + ], + [ + [ + [ + 123.166933, + -2.194166 + ], + [ + 123.168055, + -2.176388 + ], + [ + 123.151659, + -2.194166 + ], + [ + 123.166933, + -2.194166 + ] + ] + ], + [ + [ + [ + 123.449785, + -2.125568 + ], + [ + 123.456102, + -2.115555 + ], + [ + 123.438028, + -2.111389 + ], + [ + 123.449785, + -2.125568 + ] + ] + ], + [ + [ + [ + 99.859713, + -2.370832 + ], + [ + 99.568605, + -2.029167 + ], + [ + 99.569994, + -2.222221 + ], + [ + 99.859713, + -2.370832 + ] + ] + ], + [ + [ + [ + 123.885538, + -2.075556 + ], + [ + 123.864992, + -2.00861 + ], + [ + 123.844439, + -2.053888 + ], + [ + 123.885538, + -2.075556 + ] + ] + ], + [ + [ + [ + 134.368837, + -2.158054 + ], + [ + 134.385805, + -2.003889 + ], + [ + 134.325533, + -2.08861 + ], + [ + 134.368837, + -2.158054 + ] + ] + ], + [ + [ + [ + 123.767763, + -2.047499 + ], + [ + 123.777483, + -1.998333 + ], + [ + 123.758333, + -2.020277 + ], + [ + 123.767763, + -2.047499 + ] + ] + ], + [ + [ + [ + 126.056643, + -2.4825 + ], + [ + 125.918055, + -1.972221 + ], + [ + 125.894709, + -2.213333 + ], + [ + 126.056643, + -2.4825 + ] + ] + ], + [ + [ + [ + 124.366655, + -2.011389 + ], + [ + 124.35721, + -1.96611 + ], + [ + 124.300814, + -1.976944 + ], + [ + 124.366655, + -2.011389 + ] + ] + ], + [ + [ + [ + 123.478045, + -1.94611 + ], + [ + 123.484713, + -1.935278 + ], + [ + 123.466928, + -1.943611 + ], + [ + 123.478045, + -1.94611 + ] + ] + ], + [ + [ + [ + 123.544985, + -1.927778 + ], + [ + 123.543055, + -1.913332 + ], + [ + 123.53554, + -1.924999 + ], + [ + 123.544985, + -1.927778 + ] + ] + ], + [ + [ + [ + 123.659418, + -1.963333 + ], + [ + 123.654161, + -1.901667 + ], + [ + 123.651384, + -1.953888 + ], + [ + 123.659418, + -1.963333 + ] + ] + ], + [ + [ + [ + 123.716928, + -1.955833 + ], + [ + 123.73221, + -1.899721 + ], + [ + 123.700548, + -1.936666 + ], + [ + 123.716928, + -1.955833 + ] + ] + ], + [ + [ + [ + 123.691095, + -1.914167 + ], + [ + 123.672495, + -1.884722 + ], + [ + 123.672495, + -1.899721 + ], + [ + 123.691095, + -1.914167 + ] + ] + ], + [ + [ + [ + 123.828875, + -2.010555 + ], + [ + 123.855509, + -1.954447 + ], + [ + 123.782763, + -1.878611 + ], + [ + 123.828875, + -2.010555 + ] + ] + ], + [ + [ + [ + 123.765001, + -1.877222 + ], + [ + 123.767214, + -1.862778 + ], + [ + 123.757494, + -1.873611 + ], + [ + 123.765001, + -1.877222 + ] + ] + ], + [ + [ + [ + 123.386904, + -1.883858 + ], + [ + 123.368319, + -1.856388 + ], + [ + 123.36693, + -1.875832 + ], + [ + 123.386904, + -1.883858 + ] + ] + ], + [ + [ + [ + 125.438311, + -1.806667 + ], + [ + 125.466661, + -1.939999 + ], + [ + 126.349154, + -1.823055 + ], + [ + 125.438311, + -1.806667 + ] + ] + ], + [ + [ + [ + 99.286104, + -1.826389 + ], + [ + 99.269152, + -1.789999 + ], + [ + 99.25194, + -1.820833 + ], + [ + 99.286104, + -1.826389 + ] + ] + ], + [ + [ + [ + 123.079165, + -1.906389 + ], + [ + 123.154161, + -1.8325 + ], + [ + 123.120821, + -1.754444 + ], + [ + 123.079165, + -1.906389 + ] + ] + ], + [ + [ + [ + 134.176088, + -1.945 + ], + [ + 134.233858, + -1.740833 + ], + [ + 134.160524, + -1.845556 + ], + [ + 134.176088, + -1.945 + ] + ] + ], + [ + [ + [ + 125.006655, + -1.718889 + ], + [ + 124.327478, + -1.879721 + ], + [ + 125.32332, + -1.887222 + ], + [ + 125.006655, + -1.718889 + ] + ] + ], + [ + [ + [ + 108.696932, + -1.723055 + ], + [ + 108.779711, + -1.704443 + ], + [ + 108.681932, + -1.699722 + ], + [ + 108.696932, + -1.723055 + ] + ] + ], + [ + [ + [ + 130.18857, + -2.064167 + ], + [ + 130.350557, + -1.680204 + ], + [ + 129.715792, + -1.885832 + ], + [ + 130.18857, + -2.064167 + ] + ] + ], + [ + [ + [ + 123.297762, + -1.791389 + ], + [ + 123.369715, + -1.673054 + ], + [ + 123.267488, + -1.766945 + ], + [ + 123.297762, + -1.791389 + ] + ] + ], + [ + [ + [ + 136.293581, + -1.68861 + ], + [ + 135.418032, + -1.609999 + ], + [ + 136.902193, + -1.799166 + ], + [ + 136.293581, + -1.68861 + ] + ] + ], + [ + [ + [ + 108.849154, + -1.670832 + ], + [ + 108.930544, + -1.544167 + ], + [ + 108.799715, + -1.568056 + ], + [ + 108.849154, + -1.670832 + ] + ] + ], + [ + [ + [ + 106.090822, + -1.771666 + ], + [ + 105.57361, + -1.529167 + ], + [ + 105.132204, + -2.067499 + ], + [ + 105.744715, + -2.129166 + ], + [ + 105.978319, + -2.822777 + ], + [ + 106.71776, + -3.098333 + ], + [ + 106.601931, + -2.913055 + ], + [ + 106.781664, + -2.591944 + ], + [ + 106.318331, + -2.435833 + ], + [ + 106.090822, + -1.771666 + ] + ] + ], + [ + [ + [ + 135.138308, + -1.485277 + ], + [ + 135.094423, + -1.512777 + ], + [ + 135.330812, + -1.492777 + ], + [ + 135.138308, + -1.485277 + ] + ] + ], + [ + [ + [ + 127.879435, + -1.426943 + ], + [ + 127.378313, + -1.633888 + ], + [ + 128.145266, + -1.680555 + ], + [ + 127.879435, + -1.426943 + ] + ] + ], + [ + [ + [ + 127.328325, + -1.439999 + ], + [ + 127.366655, + -1.36611 + ], + [ + 127.272776, + -1.413332 + ], + [ + 127.328325, + -1.439999 + ] + ] + ], + [ + [ + [ + 109.144991, + -1.316666 + ], + [ + 109.171892, + -1.257776 + ], + [ + 109.104715, + -1.289999 + ], + [ + 109.144991, + -1.316666 + ] + ] + ], + [ + [ + [ + 123.194979, + -1.297499 + ], + [ + 122.897493, + -1.186666 + ], + [ + 122.861101, + -1.58111 + ], + [ + 123.531374, + -1.434721 + ], + [ + 123.194979, + -1.297499 + ] + ] + ], + [ + [ + [ + 127.614702, + -1.257778 + ], + [ + 127.550539, + -1.171667 + ], + [ + 127.455835, + -1.234444 + ], + [ + 127.614702, + -1.257778 + ] + ] + ], + [ + [ + [ + 109.228594, + -1.233332 + ], + [ + 109.258043, + -1.169443 + ], + [ + 109.219713, + -1.192778 + ], + [ + 109.228594, + -1.233332 + ] + ] + ], + [ + [ + [ + 129.928865, + -1.211388 + ], + [ + 129.86664, + -1.142778 + ], + [ + 129.740511, + -1.208611 + ], + [ + 129.928865, + -1.211388 + ] + ] + ], + [ + [ + [ + 109.623789, + -0.984835 + ], + [ + 109.492479, + -0.979721 + ], + [ + 109.418589, + -1.263334 + ], + [ + 109.778872, + -1.138611 + ], + [ + 109.623789, + -0.984835 + ] + ] + ], + [ + [ + [ + 98.929155, + -0.950277 + ], + [ + 98.603045, + -1.223055 + ], + [ + 99.238878, + -1.783888 + ], + [ + 98.929155, + -0.950277 + ] + ] + ], + [ + [ + [ + 134.922487, + -1.138056 + ], + [ + 134.993013, + -1.023611 + ], + [ + 134.843019, + -0.941944 + ], + [ + 134.922487, + -1.138056 + ] + ] + ], + [ + [ + [ + 130.931368, + -0.936388 + ], + [ + 130.638887, + -0.983889 + ], + [ + 130.964418, + -1.357222 + ], + [ + 130.931368, + -0.936388 + ] + ] + ], + [ + [ + [ + 130.916384, + -0.794722 + ], + [ + 130.486635, + -0.835278 + ], + [ + 130.396944, + -0.926388 + ], + [ + 130.916384, + -0.794722 + ] + ] + ], + [ + [ + [ + 135.487734, + -0.675556 + ], + [ + 135.892214, + -1.191389 + ], + [ + 136.38611, + -1.120832 + ], + [ + 135.487734, + -0.675556 + ] + ] + ], + [ + [ + [ + 127.281099, + -0.808332 + ], + [ + 127.204439, + -0.619167 + ], + [ + 127.153589, + -0.77 + ], + [ + 127.281099, + -0.808332 + ] + ] + ], + [ + [ + [ + 98.515276, + -0.632221 + ], + [ + 98.509722, + -0.600832 + ], + [ + 98.489153, + -0.599443 + ], + [ + 98.515276, + -0.632221 + ] + ] + ], + [ + [ + [ + 130.606081, + -0.541111 + ], + [ + 130.66025, + -0.426666 + ], + [ + 130.455812, + -0.468611 + ], + [ + 130.606081, + -0.541111 + ] + ] + ], + [ + [ + [ + 121.913309, + -0.475277 + ], + [ + 121.741365, + -0.41861 + ], + [ + 121.643335, + -0.548056 + ], + [ + 121.913309, + -0.475277 + ] + ] + ], + [ + [ + [ + 104.228319, + -0.417221 + ], + [ + 104.231661, + -0.391666 + ], + [ + 104.197481, + -0.395832 + ], + [ + 104.228319, + -0.417221 + ] + ] + ], + [ + [ + [ + 141.002474, + -2.607084 + ], + [ + 137.85663, + -1.471666 + ], + [ + 137.131075, + -1.792778 + ], + [ + 137.190523, + -2.103054 + ], + [ + 136.35663, + -2.253889 + ], + [ + 135.491915, + -3.358334 + ], + [ + 135.004152, + -3.341389 + ], + [ + 134.63611, + -2.513889 + ], + [ + 134.466646, + -2.864445 + ], + [ + 134.1597, + -2.319445 + ], + [ + 134.111086, + -0.835278 + ], + [ + 133.11191, + -0.536388 + ], + [ + 132.269716, + -0.384167 + ], + [ + 131.255556, + -0.822777 + ], + [ + 130.963594, + -1.403055 + ], + [ + 131.882448, + -1.642221 + ], + [ + 132.301363, + -2.269444 + ], + [ + 133.936373, + -2.103054 + ], + [ + 133.684145, + -2.716389 + ], + [ + 133.238863, + -2.416111 + ], + [ + 132.72275, + -2.817223 + ], + [ + 131.955812, + -2.783611 + ], + [ + 132.818026, + -3.303055 + ], + [ + 132.901644, + -4.091389 + ], + [ + 133.449709, + -3.871389 + ], + [ + 133.828859, + -2.961666 + ], + [ + 133.637484, + -3.491667 + ], + [ + 134.215792, + -3.963055 + ], + [ + 134.965517, + -3.939722 + ], + [ + 134.643587, + -4.121387 + ], + [ + 138.064425, + -5.406111 + ], + [ + 138.681917, + -6.720554 + ], + [ + 139.189425, + -6.969444 + ], + [ + 138.561922, + -6.908888 + ], + [ + 139.222475, + -7.1625 + ], + [ + 138.661104, + -7.203333 + ], + [ + 139.095522, + -7.564165 + ], + [ + 138.908602, + -8.296667 + ], + [ + 140.14609, + -7.884722 + ], + [ + 139.985231, + -8.193611 + ], + [ + 141.007021, + -9.128468 + ], + [ + 141.002474, + -2.607084 + ] + ], + [ + [ + 133.619692, + -3.449444 + ], + [ + 133.610231, + -3.435833 + ], + [ + 133.623293, + -3.429474 + ], + [ + 133.619692, + -3.449444 + ] + ] + ], + [ + [ + [ + 104.496096, + -0.626944 + ], + [ + 104.531099, + -0.373888 + ], + [ + 104.288042, + -0.393888 + ], + [ + 104.496096, + -0.626944 + ] + ] + ], + [ + [ + [ + 122.011385, + -0.414444 + ], + [ + 122.044436, + -0.332777 + ], + [ + 121.854433, + -0.365833 + ], + [ + 122.011385, + -0.414444 + ] + ] + ], + [ + [ + [ + 127.574999, + -0.323332 + ], + [ + 127.303591, + -0.519167 + ], + [ + 127.817759, + -0.870832 + ], + [ + 127.574999, + -0.323332 + ] + ] + ], + [ + [ + [ + 104.444139, + -0.326111 + ], + [ + 104.488039, + -0.278055 + ], + [ + 104.402483, + -0.285555 + ], + [ + 104.444139, + -0.326111 + ] + ] + ], + [ + [ + [ + 122.08333, + -0.410278 + ], + [ + 122.140268, + -0.382221 + ], + [ + 122.086931, + -0.265556 + ], + [ + 122.08333, + -0.410278 + ] + ] + ], + [ + [ + [ + 127.183039, + -0.528889 + ], + [ + 127.233873, + -0.256111 + ], + [ + 127.104982, + -0.297222 + ], + [ + 127.183039, + -0.528889 + ] + ] + ], + [ + [ + [ + 98.501665, + -0.539722 + ], + [ + 98.430269, + -0.246389 + ], + [ + 98.326097, + -0.539722 + ], + [ + 98.501665, + -0.539722 + ] + ] + ], + [ + [ + [ + 103.619143, + -0.389721 + ], + [ + 103.759722, + -0.312222 + ], + [ + 103.533335, + -0.234167 + ], + [ + 103.454714, + -0.362221 + ], + [ + 103.619143, + -0.389721 + ] + ] + ], + [ + [ + [ + 122.363604, + -0.284166 + ], + [ + 122.328051, + -0.230833 + ], + [ + 122.223879, + -0.200556 + ], + [ + 122.363604, + -0.284166 + ] + ] + ], + [ + [ + [ + 122.225809, + -0.278055 + ], + [ + 122.188875, + -0.197222 + ], + [ + 122.140268, + -0.229443 + ], + [ + 122.225809, + -0.278055 + ] + ] + ], + [ + [ + [ + 103.553308, + -0.196388 + ], + [ + 103.534655, + -0.184233 + ], + [ + 103.50139, + -0.195 + ], + [ + 103.553308, + -0.196388 + ] + ] + ], + [ + [ + [ + 104.740252, + -0.136944 + ], + [ + 104.432482, + -0.201944 + ], + [ + 104.92943, + -0.334166 + ], + [ + 104.740252, + -0.136944 + ] + ] + ], + [ + [ + [ + 121.613878, + -0.206667 + ], + [ + 121.631929, + -0.123056 + ], + [ + 121.562479, + -0.156666 + ], + [ + 121.613878, + -0.206667 + ] + ] + ], + [ + [ + [ + 97.87665, + -0.105278 + ], + [ + 97.86693, + -0.064167 + ], + [ + 97.823885, + -0.067778 + ], + [ + 97.87665, + -0.105278 + ] + ] + ], + [ + [ + [ + 104.876635, + -0.065556 + ], + [ + 104.842196, + -0.024443 + ], + [ + 104.831919, + -0.060833 + ], + [ + 104.876635, + -0.065556 + ] + ] + ], + [ + [ + [ + 130.877443, + -0.019167 + ], + [ + 130.213289, + -0.206667 + ], + [ + 130.915804, + -0.408888 + ], + [ + 130.688295, + -0.079443 + ], + [ + 131.255556, + -0.387777 + ], + [ + 130.877443, + -0.019167 + ] + ], + [ + [ + 130.66971, + -0.328888 + ], + [ + 130.662203, + -0.325277 + ], + [ + 130.666384, + -0.315832 + ], + [ + 130.66971, + -0.328888 + ] + ] + ], + [ + [ + [ + 98.547487, + -0.370556 + ], + [ + 98.444139, + -0.061388 + ], + [ + 98.291933, + -0.012222 + ], + [ + 98.547487, + -0.370556 + ] + ] + ], + [ + [ + [ + 129.554689, + -0.21361 + ], + [ + 129.540529, + -0.138889 + ], + [ + 129.288301, + 0.041391 + ], + [ + 129.554689, + -0.21361 + ] + ] + ], + [ + [ + [ + 127.457209, + -0.012222 + ], + [ + 127.41054, + 0.144167 + ], + [ + 127.392763, + 0.006945 + ], + [ + 127.457209, + -0.012222 + ] + ] + ], + [ + [ + [ + 98.834749, + 0.107779 + ], + [ + 98.762804, + 0.171667 + ], + [ + 98.513353, + 0.133059 + ], + [ + 98.834749, + 0.107779 + ] + ] + ], + [ + [ + [ + 104.481936, + 0.023611 + ], + [ + 104.409151, + 0.171667 + ], + [ + 104.407213, + 0.090002 + ], + [ + 104.481936, + 0.023611 + ] + ] + ], + [ + [ + [ + 104.701929, + 0.023611 + ], + [ + 104.54497, + 0.221666 + ], + [ + 104.49135, + 0.237223 + ], + [ + 104.701929, + 0.023611 + ] + ] + ], + [ + [ + [ + 104.411913, + 0.292223 + ], + [ + 104.426378, + 0.32361 + ], + [ + 104.34276, + 0.370832 + ], + [ + 104.411913, + 0.292223 + ] + ] + ], + [ + [ + [ + 127.385271, + 0.270834 + ], + [ + 127.388605, + 0.378611 + ], + [ + 127.327768, + 0.336668 + ], + [ + 127.385271, + 0.270834 + ] + ] + ], + [ + [ + [ + 103.073595, + 0.571669 + ], + [ + 103.066072, + 0.646391 + ], + [ + 103.038019, + 0.654722 + ], + [ + 103.073595, + 0.571669 + ] + ] + ], + [ + [ + [ + 104.281649, + 0.623056 + ], + [ + 104.281649, + 0.665556 + ], + [ + 104.2372, + 0.689444 + ], + [ + 104.281649, + 0.623056 + ] + ] + ], + [ + [ + [ + 103.483599, + 0.616945 + ], + [ + 103.513605, + 0.699167 + ], + [ + 103.465555, + 0.630556 + ], + [ + 103.483599, + 0.616945 + ] + ] + ], + [ + [ + [ + 103.185244, + 0.508055 + ], + [ + 103.296923, + 0.553888 + ], + [ + 103.223024, + 0.703333 + ], + [ + 103.185244, + 0.508055 + ] + ] + ], + [ + [ + [ + 127.403872, + 0.619722 + ], + [ + 127.446375, + 0.712778 + ], + [ + 127.383883, + 0.751944 + ], + [ + 127.403872, + 0.619722 + ] + ] + ], + [ + [ + [ + 104.294146, + 0.706667 + ], + [ + 104.273615, + 0.79167 + ], + [ + 104.189974, + 0.775278 + ], + [ + 104.294146, + 0.706667 + ] + ] + ], + [ + [ + [ + 104.598314, + 0.758055 + ], + [ + 104.551645, + 0.795 + ], + [ + 104.508593, + 0.756113 + ], + [ + 104.598314, + 0.758055 + ] + ] + ], + [ + [ + [ + 103.094133, + 0.72389 + ], + [ + 103.105242, + 0.797777 + ], + [ + 103.077188, + 0.750555 + ], + [ + 103.094133, + 0.72389 + ] + ] + ], + [ + [ + [ + 103.715815, + 0.792501 + ], + [ + 103.662195, + 0.832224 + ], + [ + 103.704149, + 0.759443 + ], + [ + 103.715815, + 0.792501 + ] + ] + ], + [ + [ + [ + 127.322222, + 0.750002 + ], + [ + 127.374979, + 0.812223 + ], + [ + 127.32416, + 0.864168 + ], + [ + 127.322222, + 0.750002 + ] + ] + ], + [ + [ + [ + 103.525805, + 0.800001 + ], + [ + 103.489695, + 0.845835 + ], + [ + 103.41913, + 0.871111 + ], + [ + 103.525805, + 0.800001 + ] + ] + ], + [ + [ + [ + 103.936365, + 0.76639 + ], + [ + 103.889139, + 0.859446 + ], + [ + 103.819979, + 0.88611 + ], + [ + 103.936365, + 0.76639 + ] + ] + ], + [ + [ + [ + 103.832201, + 0.756113 + ], + [ + 103.819979, + 0.825834 + ], + [ + 103.734133, + 0.886946 + ], + [ + 103.832201, + 0.756113 + ] + ] + ], + [ + [ + [ + 103.436922, + 0.647223 + ], + [ + 103.507479, + 0.746389 + ], + [ + 103.379961, + 0.891668 + ], + [ + 103.436922, + 0.647223 + ] + ] + ], + [ + [ + [ + 103.478579, + 0.868334 + ], + [ + 103.461359, + 0.915834 + ], + [ + 103.405245, + 0.908892 + ], + [ + 103.478579, + 0.868334 + ] + ] + ], + [ + [ + [ + 104.242739, + 0.819723 + ], + [ + 104.094713, + 0.947222 + ], + [ + 104.175539, + 0.790834 + ], + [ + 104.242739, + 0.819723 + ] + ] + ], + [ + [ + [ + 102.624231, + 0.994139 + ], + [ + 102.406084, + 0.878057 + ], + [ + 103.041353, + 0.714167 + ], + [ + 102.624231, + 0.994139 + ] + ] + ], + [ + [ + [ + 103.934969, + 0.926111 + ], + [ + 103.93857, + 0.999166 + ], + [ + 103.836908, + 1.010279 + ], + [ + 103.934969, + 0.926111 + ] + ] + ], + [ + [ + [ + 104.84305, + 0.957502 + ], + [ + 104.839434, + 1.018614 + ], + [ + 104.793589, + 1.024721 + ], + [ + 104.84305, + 0.957502 + ] + ] + ], + [ + [ + [ + 107.556643, + 0.965834 + ], + [ + 107.596369, + 1.008055 + ], + [ + 107.550539, + 1.037779 + ], + [ + 107.556643, + 0.965834 + ] + ] + ], + [ + [ + [ + 103.037195, + 1.037779 + ], + [ + 102.657755, + 1.054167 + ], + [ + 103.146929, + 0.8375 + ], + [ + 103.037195, + 1.037779 + ] + ] + ], + [ + [ + [ + 120.677202, + 1.035555 + ], + [ + 120.638895, + 1.076113 + ], + [ + 120.616381, + 1.071943 + ], + [ + 120.677202, + 1.035555 + ] + ] + ], + [ + [ + [ + 120.388048, + 1.020002 + ], + [ + 120.38611, + 1.080835 + ], + [ + 120.366091, + 1.032225 + ], + [ + 120.388048, + 1.020002 + ] + ] + ], + [ + [ + [ + 104.666895, + 1.023829 + ], + [ + 104.230265, + 1.084169 + ], + [ + 104.583315, + 0.819166 + ], + [ + 104.666895, + 1.023829 + ] + ] + ], + [ + [ + [ + 103.439684, + 0.987501 + ], + [ + 103.341639, + 1.119722 + ], + [ + 103.319704, + 1.040277 + ], + [ + 103.439684, + 0.987501 + ] + ] + ], + [ + [ + [ + 104.033602, + 0.982222 + ], + [ + 104.119425, + 1.183611 + ], + [ + 103.901369, + 1.093889 + ], + [ + 104.033602, + 0.982222 + ] + ] + ], + [ + [ + [ + 102.39525, + 0.923891 + ], + [ + 102.476068, + 1.226667 + ], + [ + 102.21303, + 1.405001 + ], + [ + 102.39525, + 0.923891 + ] + ] + ], + [ + [ + [ + 97.526369, + 1.417223 + ], + [ + 97.114687, + 1.393335 + ], + [ + 97.810793, + 0.549723 + ], + [ + 97.936357, + 0.978056 + ], + [ + 97.526369, + 1.417223 + ] + ] + ], + [ + [ + [ + 125.214998, + 1.389166 + ], + [ + 125.299456, + 1.526079 + ], + [ + 125.166384, + 1.395281 + ], + [ + 125.214998, + 1.389166 + ] + ] + ], + [ + [ + [ + 102.49608, + 1.444723 + ], + [ + 101.994425, + 1.611113 + ], + [ + 102.491915, + 1.259722 + ], + [ + 102.49608, + 1.444723 + ] + ] + ], + [ + [ + [ + 98.599749, + 1.625555 + ], + [ + 98.555056, + 1.681665 + ], + [ + 98.427462, + 1.678888 + ], + [ + 98.599749, + 1.625555 + ] + ] + ], + [ + [ + [ + 125.141665, + 1.421389 + ], + [ + 124.971102, + 1.694723 + ], + [ + 123.839159, + 0.829447 + ], + [ + 120.950548, + 1.342501 + ], + [ + 120.573038, + 0.775278 + ], + [ + 120.287203, + 0.989721 + ], + [ + 120.032495, + 0.712778 + ], + [ + 119.833055, + -0.089722 + ], + [ + 119.622759, + -0.005278 + ], + [ + 119.863039, + -0.843889 + ], + [ + 119.718599, + -0.65361 + ], + [ + 119.517214, + -0.876389 + ], + [ + 119.353319, + -1.938889 + ], + [ + 118.759165, + -2.774166 + ], + [ + 118.922213, + -3.569721 + ], + [ + 119.506105, + -3.527222 + ], + [ + 119.464998, + -5.56361 + ], + [ + 120.46277, + -5.624165 + ], + [ + 120.200274, + -2.965 + ], + [ + 120.771929, + -2.612499 + ], + [ + 121.076105, + -2.758888 + ], + [ + 120.881365, + -3.536945 + ], + [ + 121.614702, + -4.064722 + ], + [ + 121.553041, + -4.746666 + ], + [ + 122.088884, + -4.840834 + ], + [ + 122.104715, + -4.526112 + ], + [ + 122.89554, + -4.396389 + ], + [ + 122.194979, + -3.57111 + ], + [ + 122.47748, + -3.158054 + ], + [ + 121.298029, + -1.803055 + ], + [ + 121.671656, + -1.922222 + ], + [ + 122.819994, + -0.913332 + ], + [ + 123.331385, + -1.057222 + ], + [ + 123.447748, + -0.835278 + ], + [ + 123.070833, + -0.559721 + ], + [ + 121.927759, + -0.963333 + ], + [ + 121.62221, + -0.805 + ], + [ + 121.083055, + -1.423611 + ], + [ + 120.666384, + -1.395554 + ], + [ + 120.066095, + -0.613054 + ], + [ + 120.242205, + 0.344999 + ], + [ + 124.246096, + 0.375002 + ], + [ + 125.141665, + 1.421389 + ] + ] + ], + [ + [ + [ + 97.117189, + 2.01111 + ], + [ + 97.148317, + 2.065832 + ], + [ + 97.092745, + 2.112501 + ], + [ + 97.117189, + 2.01111 + ] + ] + ], + [ + [ + [ + 101.601641, + 1.709166 + ], + [ + 101.645525, + 2.120001 + ], + [ + 101.398035, + 1.989168 + ], + [ + 101.601641, + 1.709166 + ] + ] + ], + [ + [ + [ + 96.641085, + 2.065832 + ], + [ + 96.66913, + 2.108889 + ], + [ + 96.610796, + 2.121946 + ], + [ + 96.641085, + 2.065832 + ] + ] + ], + [ + [ + [ + 96.640535, + 2.152777 + ], + [ + 96.648592, + 2.178888 + ], + [ + 96.598024, + 2.191111 + ], + [ + 96.640535, + 2.152777 + ] + ] + ], + [ + [ + [ + 127.894991, + 1.796667 + ], + [ + 128.054689, + 2.195276 + ], + [ + 127.394991, + 1.054724 + ], + [ + 127.666094, + -0.225832 + ], + [ + 128.395266, + -0.894722 + ], + [ + 127.87665, + 0.310556 + ], + [ + 128.905245, + 0.200277 + ], + [ + 128.210238, + 0.784723 + ], + [ + 128.697481, + 1.101946 + ], + [ + 128.726351, + 1.556944 + ], + [ + 128.188295, + 1.378057 + ], + [ + 127.793589, + 0.795 + ], + [ + 127.894991, + 1.796667 + ] + ] + ], + [ + [ + [ + 97.327761, + 2.032225 + ], + [ + 97.288027, + 2.224169 + ], + [ + 97.103579, + 2.219999 + ], + [ + 97.327761, + 2.032225 + ] + ] + ], + [ + [ + [ + 127.794985, + 2.205557 + ], + [ + 127.813601, + 2.261667 + ], + [ + 127.756655, + 2.270555 + ], + [ + 127.794985, + 2.205557 + ] + ] + ], + [ + [ + [ + 118.571383, + 2.316389 + ], + [ + 118.560534, + 2.264444 + ], + [ + 118.649721, + 2.176668 + ], + [ + 118.571383, + 2.316389 + ] + ] + ], + [ + [ + [ + 125.430819, + 2.313055 + ], + [ + 125.450823, + 2.379446 + ], + [ + 125.367754, + 2.369165 + ], + [ + 125.430819, + 2.313055 + ] + ] + ], + [ + [ + [ + 128.161104, + 2.282225 + ], + [ + 128.163027, + 2.404165 + ], + [ + 128.119112, + 2.338335 + ], + [ + 128.161104, + 2.282225 + ] + ] + ], + [ + [ + [ + 109.067492, + 2.485003 + ], + [ + 109.107485, + 2.530001 + ], + [ + 108.973185, + 2.540163 + ], + [ + 109.067492, + 2.485003 + ] + ] + ], + [ + [ + [ + 128.498018, + 2.050001 + ], + [ + 128.564699, + 2.632776 + ], + [ + 128.23218, + 2.306112 + ], + [ + 128.498018, + 2.050001 + ] + ] + ], + [ + [ + [ + 125.406374, + 2.626665 + ], + [ + 125.414431, + 2.807222 + ], + [ + 125.354715, + 2.724443 + ], + [ + 125.406374, + 2.626665 + ] + ] + ], + [ + [ + [ + 106.244982, + 2.736666 + ], + [ + 106.243044, + 2.786669 + ], + [ + 106.197748, + 2.812223 + ], + [ + 106.244982, + 2.736666 + ] + ] + ], + [ + [ + [ + 96.432192, + 2.343058 + ], + [ + 95.883318, + 2.91889 + ], + [ + 95.696917, + 2.818892 + ], + [ + 96.432192, + 2.343058 + ] + ] + ], + [ + [ + [ + 108.832491, + 2.844999 + ], + [ + 108.883333, + 3.001669 + ], + [ + 108.773615, + 2.89139 + ], + [ + 108.832491, + 2.844999 + ] + ] + ], + [ + [ + [ + 107.759432, + 2.974169 + ], + [ + 107.812189, + 3.001112 + ], + [ + 107.765551, + 3.021666 + ], + [ + 107.759432, + 2.974169 + ] + ] + ], + [ + [ + [ + 105.724993, + 2.833891 + ], + [ + 105.848879, + 2.979166 + ], + [ + 105.69832, + 3.060556 + ], + [ + 105.724993, + 2.833891 + ] + ] + ], + [ + [ + [ + 106.289431, + 3.159723 + ], + [ + 106.203325, + 3.226667 + ], + [ + 106.21277, + 3.121389 + ], + [ + 106.289431, + 3.159723 + ] + ] + ], + [ + [ + [ + 117.523043, + 3.285555 + ], + [ + 117.461931, + 3.343889 + ], + [ + 117.411379, + 3.302778 + ], + [ + 117.523043, + 3.285555 + ] + ] + ], + [ + [ + [ + 106.28055, + 3.230833 + ], + [ + 106.287493, + 3.373335 + ], + [ + 106.234713, + 3.256113 + ], + [ + 106.28055, + 3.230833 + ] + ] + ], + [ + [ + [ + 117.664148, + 3.284166 + ], + [ + 117.672495, + 3.419722 + ], + [ + 117.539431, + 3.426668 + ], + [ + 117.664148, + 3.284166 + ] + ] + ], + [ + [ + [ + 117.607485, + 3.477221 + ], + [ + 117.587488, + 3.524446 + ], + [ + 117.433321, + 3.559168 + ], + [ + 117.607485, + 3.477221 + ] + ] + ], + [ + [ + [ + 117.390825, + 3.561945 + ], + [ + 117.216661, + 3.545557 + ], + [ + 117.517488, + 3.474443 + ], + [ + 117.390825, + 3.561945 + ] + ] + ], + [ + [ + [ + 117.885538, + 3.456667 + ], + [ + 117.865808, + 3.548891 + ], + [ + 117.789705, + 3.57778 + ], + [ + 117.885538, + 3.456667 + ] + ] + ], + [ + [ + [ + 125.883883, + 3.362223 + ], + [ + 125.911379, + 3.491667 + ], + [ + 125.663599, + 3.718332 + ], + [ + 125.883883, + 3.362223 + ] + ] + ], + [ + [ + [ + 117.825274, + 3.740557 + ], + [ + 117.815538, + 3.755556 + ], + [ + 117.788309, + 3.750002 + ], + [ + 117.825274, + 3.740557 + ] + ] + ], + [ + [ + [ + 126.844149, + 3.738054 + ], + [ + 126.738878, + 3.842222 + ], + [ + 126.792215, + 3.733335 + ], + [ + 126.844149, + 3.738054 + ] + ] + ], + [ + [ + [ + 117.847765, + 3.797224 + ], + [ + 117.801935, + 3.85528 + ], + [ + 117.730822, + 3.863611 + ], + [ + 117.847765, + 3.797224 + ] + ] + ], + [ + [ + [ + 126.711382, + 3.798056 + ], + [ + 126.723604, + 3.911669 + ], + [ + 126.608034, + 4.041109 + ], + [ + 126.711382, + 3.798056 + ] + ] + ], + [ + [ + [ + 117.689699, + 3.974169 + ], + [ + 117.750002, + 4.068609 + ], + [ + 117.646379, + 4.14028 + ], + [ + 117.689699, + 3.974169 + ] + ] + ], + [ + [ + [ + 117.686922, + 4.168337 + ], + [ + 117.886934, + 4.026945 + ], + [ + 117.903559, + 4.174044 + ], + [ + 117.726648, + 4.169722 + ], + [ + 117.686922, + 4.168337 + ] + ] + ], + [ + [ + [ + 108.181665, + 3.647501 + ], + [ + 108.406939, + 3.875834 + ], + [ + 108.181665, + 4.196386 + ], + [ + 108.181665, + 3.647501 + ] + ] + ], + [ + [ + [ + 117.592058, + 4.169821 + ], + [ + 116.049425, + 4.279444 + ], + [ + 115.685259, + 4.171946 + ], + [ + 115.495531, + 3.040003 + ], + [ + 115.139711, + 2.906111 + ], + [ + 115.2372, + 2.522501 + ], + [ + 114.804705, + 2.248888 + ], + [ + 114.562761, + 1.433611 + ], + [ + 113.658335, + 1.224722 + ], + [ + 112.472765, + 1.568056 + ], + [ + 111.827211, + 0.998613 + ], + [ + 110.555254, + 0.853891 + ], + [ + 109.669985, + 1.613054 + ], + [ + 109.648569, + 2.073408 + ], + [ + 109.066942, + 1.532225 + ], + [ + 108.981936, + 1.211668 + ], + [ + 109.265001, + 1.393335 + ], + [ + 108.845491, + 0.810564 + ], + [ + 109.120249, + -0.502222 + ], + [ + 109.514429, + -0.726944 + ], + [ + 109.272493, + -0.855 + ], + [ + 109.729715, + -0.953611 + ], + [ + 110.057749, + -1.333889 + ], + [ + 109.903589, + -1.828333 + ], + [ + 110.23749, + -2.979443 + ], + [ + 111.550264, + -3.024445 + ], + [ + 111.749712, + -2.741943 + ], + [ + 111.889429, + -3.573889 + ], + [ + 113.064699, + -2.993889 + ], + [ + 113.671099, + -3.47611 + ], + [ + 114.481089, + -3.498611 + ], + [ + 114.706652, + -4.176945 + ], + [ + 115.983873, + -3.588888 + ], + [ + 116.604158, + -2.229721 + ], + [ + 116.22249, + -1.779167 + ], + [ + 116.755548, + -1.3675 + ], + [ + 116.743319, + -1.024166 + ], + [ + 116.923601, + -1.254444 + ], + [ + 117.622484, + -0.779722 + ], + [ + 117.467485, + 0.103613 + ], + [ + 118.03499, + 0.810278 + ], + [ + 117.894442, + 1.119722 + ], + [ + 118.343874, + 0.843058 + ], + [ + 119.008615, + 0.980833 + ], + [ + 117.87192, + 1.876669 + ], + [ + 118.096651, + 2.305555 + ], + [ + 117.273043, + 3.222776 + ], + [ + 117.444139, + 3.430555 + ], + [ + 117.030275, + 3.594168 + ], + [ + 117.828051, + 3.702223 + ], + [ + 117.392763, + 4.1075 + ], + [ + 117.592058, + 4.169821 + ] + ], + [ + [ + 117.295534, + -0.878332 + ], + [ + 117.272219, + -0.876944 + ], + [ + 117.288591, + -0.831667 + ], + [ + 117.295534, + -0.878332 + ] + ] + ], + [ + [ + [ + 126.759722, + 3.985834 + ], + [ + 126.916094, + 4.273611 + ], + [ + 126.740541, + 4.541945 + ], + [ + 126.759722, + 3.985834 + ] + ] + ], + [ + [ + [ + 125.491365, + 4.732779 + ], + [ + 125.49193, + 4.745554 + ], + [ + 125.478868, + 4.734446 + ], + [ + 125.491365, + 4.732779 + ] + ] + ], + [ + [ + [ + 107.964434, + 4.674723 + ], + [ + 108.004709, + 4.772223 + ], + [ + 107.938311, + 4.701944 + ], + [ + 107.964434, + 4.674723 + ] + ] + ], + [ + [ + [ + 95.738573, + 5.585279 + ], + [ + 95.230806, + 5.570833 + ], + [ + 95.531084, + 4.682775 + ], + [ + 96.880251, + 3.6775 + ], + [ + 97.751925, + 2.269167 + ], + [ + 98.770861, + 1.748613 + ], + [ + 99.136126, + 0.261389 + ], + [ + 99.63582, + 0.076944 + ], + [ + 100.293589, + -0.806389 + ], + [ + 101.626925, + -3.246111 + ], + [ + 104.560778, + -5.929747 + ], + [ + 104.544985, + -5.50639 + ], + [ + 105.139711, + -5.79611 + ], + [ + 105.268602, + -5.444166 + ], + [ + 105.732485, + -5.897779 + ], + [ + 106.055254, + -3.031389 + ], + [ + 105.61249, + -2.394167 + ], + [ + 104.8622, + -2.289444 + ], + [ + 104.532495, + -2.772778 + ], + [ + 104.879435, + -2.146944 + ], + [ + 104.489435, + -1.924999 + ], + [ + 104.379152, + -1.041389 + ], + [ + 103.360811, + -0.702221 + ], + [ + 103.599993, + -0.441111 + ], + [ + 103.342363, + -0.364096 + ], + [ + 103.490808, + -0.216944 + ], + [ + 103.269709, + -0.258888 + ], + [ + 103.814196, + -0.001028 + ], + [ + 103.739695, + 0.281111 + ], + [ + 103.351091, + 0.536112 + ], + [ + 102.539965, + 0.16667 + ], + [ + 103.081919, + 0.445555 + ], + [ + 102.932459, + 0.695002 + ], + [ + 102.421915, + 0.800554 + ], + [ + 101.055529, + 2.28639 + ], + [ + 100.797205, + 2.214445 + ], + [ + 100.942461, + 1.820555 + ], + [ + 100.209139, + 2.703333 + ], + [ + 100.00165, + 2.601946 + ], + [ + 99.977755, + 2.9475 + ], + [ + 98.270525, + 4.1425 + ], + [ + 97.518862, + 5.246668 + ], + [ + 96.34775, + 5.222776 + ], + [ + 95.738573, + 5.585279 + ] + ], + [ + [ + 104.213884, + -1.039444 + ], + [ + 104.200823, + -1.037222 + ], + [ + 104.243319, + -1.023611 + ], + [ + 104.213884, + -1.039444 + ] + ], + [ + [ + 102.859705, + 0.274446 + ], + [ + 102.833864, + 0.281111 + ], + [ + 102.926912, + 0.322222 + ], + [ + 102.859705, + 0.274446 + ] + ] + ], + [ + [ + [ + 95.158022, + 5.594725 + ], + [ + 95.142473, + 5.660833 + ], + [ + 95.108858, + 5.612501 + ], + [ + 95.158022, + 5.594725 + ] + ] + ], + [ + [ + [ + 95.119692, + 5.670279 + ], + [ + 95.063585, + 5.749445 + ], + [ + 95.008028, + 5.735277 + ], + [ + 95.119692, + 5.670279 + ] + ] + ], + [ + [ + [ + 95.34247, + 5.774168 + ], + [ + 95.381639, + 5.849722 + ], + [ + 95.217745, + 5.913054 + ], + [ + 95.34247, + 5.774168 + ] + ] + ] + ] + }, + "name" : "Indonesia", + "iso2" : "ID", + "iso3" : "IDN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "JL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -62.811394, + 17.888332 + ], + [ + -62.79084, + 17.912498 + ], + [ + -62.869171, + 17.929722 + ], + [ + -62.811394, + 17.888332 + ] + ] + ] + }, + "name" : "Saint Barthelemy", + "iso2" : "BL", + "iso3" : "BLM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Jb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -68.195282, + 12.221109 + ], + [ + -68.416122, + 12.256945 + ], + [ + -68.251114, + 12.020555 + ], + [ + -68.195282, + 12.221109 + ] + ] + ] + }, + "name" : "Bonaire, Sint Eustatius and Saba", + "iso2" : "BQ", + "iso3" : "BES" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Jr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 53.965271, + 24.176666 + ], + [ + 53.851105, + 24.269165 + ], + [ + 53.623886, + 24.162777 + ], + [ + 53.965271, + 24.176666 + ] + ] + ], + [ + [ + [ + 53.324165, + 24.267776 + ], + [ + 53.34111, + 24.328888 + ], + [ + 53.243607, + 24.276665 + ], + [ + 53.324165, + 24.267776 + ] + ] + ], + [ + [ + [ + 53.109718, + 24.311386 + ], + [ + 53.085831, + 24.352776 + ], + [ + 53.079437, + 24.325554 + ], + [ + 53.109718, + 24.311386 + ] + ] + ], + [ + [ + [ + 54.264717, + 24.288887 + ], + [ + 54.231384, + 24.35083 + ], + [ + 54.174438, + 24.324997 + ], + [ + 54.264717, + 24.288887 + ] + ] + ], + [ + [ + [ + 52.616104, + 24.268608 + ], + [ + 52.639717, + 24.372219 + ], + [ + 52.572777, + 24.339722 + ], + [ + 52.616104, + 24.268608 + ] + ] + ], + [ + [ + [ + 53.398048, + 24.324718 + ], + [ + 53.428329, + 24.366943 + ], + [ + 53.387497, + 24.368889 + ], + [ + 53.398048, + 24.324718 + ] + ] + ], + [ + [ + [ + 54.472496, + 24.418888 + ], + [ + 54.380272, + 24.502499 + ], + [ + 54.328331, + 24.459721 + ], + [ + 54.472496, + 24.418888 + ] + ] + ], + [ + [ + [ + 54.515549, + 24.504719 + ], + [ + 54.469719, + 24.536942 + ], + [ + 54.48555, + 24.509163 + ], + [ + 54.515549, + 24.504719 + ] + ] + ], + [ + [ + [ + 54.440826, + 24.50111 + ], + [ + 54.465553, + 24.589996 + ], + [ + 54.400833, + 24.514721 + ], + [ + 54.440826, + 24.50111 + ] + ] + ], + [ + [ + [ + 55.617493, + 25.57 + ], + [ + 55.620552, + 25.583611 + ], + [ + 55.609718, + 25.569443 + ], + [ + 55.617493, + 25.57 + ] + ] + ], + [ + [ + [ + 56.269722, + 25.636015 + ], + [ + 56.183331, + 25.654989 + ], + [ + 56.079941, + 26.065559 + ], + [ + 55.863609, + 25.723331 + ], + [ + 54.650276, + 24.746944 + ], + [ + 54.424164, + 24.281666 + ], + [ + 54.118607, + 24.139442 + ], + [ + 52.080551, + 23.955555 + ], + [ + 51.583611, + 24.25972 + ], + [ + 52.583328, + 22.93889 + ], + [ + 55.199165, + 22.699718 + ], + [ + 55.510277, + 23.972775 + ], + [ + 56.024719, + 24.076111 + ], + [ + 55.779442, + 24.563889 + ], + [ + 56.037498, + 24.938889 + ], + [ + 56.104164, + 24.734722 + ], + [ + 56.373528, + 24.979382 + ], + [ + 56.269722, + 25.636015 + ] + ] + ] + ] + }, + "name" : "United Arab Emirates", + "iso2" : "AE", + "iso3" : "ARE" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "J71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 124.445727, + -9.184801 + ], + [ + 124.046161, + -9.339979 + ], + [ + 124.343093, + -9.46338 + ], + [ + 124.445727, + -9.184801 + ] + ] + ], + [ + [ + [ + 127.253052, + -8.477499 + ], + [ + 125.844147, + -8.481667 + ], + [ + 124.945449, + -8.954039 + ], + [ + 125.16405, + -9.066142 + ], + [ + 125.127989, + -9.435955 + ], + [ + 127.253052, + -8.477499 + ] + ] + ] + ] + }, + "name" : "Timor-Leste", + "iso2" : "TL", + "iso3" : "TLS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "KL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -130.076935, + -25.079723 + ], + [ + -130.065002, + -25.063335 + ], + [ + -130.107483, + -25.063335 + ], + [ + -130.076935, + -25.079723 + ] + ] + ], + [ + [ + [ + -124.780853, + -24.675835 + ], + [ + -124.772522, + -24.666946 + ], + [ + -124.795853, + -24.666115 + ], + [ + -124.780853, + -24.675835 + ] + ] + ], + [ + [ + [ + -128.289185, + -24.409721 + ], + [ + -128.303894, + -24.33028 + ], + [ + -128.336945, + -24.329166 + ], + [ + -128.289185, + -24.409721 + ] + ] + ] + ] + }, + "name" : "Pitcairn Islands", + "iso2" : "PN", + "iso3" : "PCN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Kb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 132.226624, + 5.292777 + ], + [ + 132.230255, + 5.307221 + ], + [ + 132.208313, + 5.31111 + ], + [ + 132.226624, + 5.292777 + ] + ] + ], + [ + [ + [ + 134.166077, + 6.885277 + ], + [ + 134.174988, + 6.923888 + ], + [ + 134.139435, + 6.934721 + ], + [ + 134.166077, + 6.885277 + ] + ] + ], + [ + [ + [ + 134.274994, + 7.010278 + ], + [ + 134.27832, + 7.070833 + ], + [ + 134.227753, + 6.987777 + ], + [ + 134.274994, + 7.010278 + ] + ] + ], + [ + [ + [ + 134.392761, + 7.140277 + ], + [ + 134.381897, + 7.192498 + ], + [ + 134.353851, + 7.168055 + ], + [ + 134.392761, + 7.140277 + ] + ] + ], + [ + [ + [ + 134.377747, + 7.215833 + ], + [ + 134.438873, + 7.278888 + ], + [ + 134.344116, + 7.269444 + ], + [ + 134.377747, + 7.215833 + ] + ] + ], + [ + [ + [ + 134.470795, + 7.36111 + ], + [ + 134.448303, + 7.331944 + ], + [ + 134.517487, + 7.308054 + ], + [ + 134.470795, + 7.36111 + ] + ] + ], + [ + [ + [ + 134.561371, + 7.371943 + ], + [ + 134.634155, + 7.729444 + ], + [ + 134.485229, + 7.438054 + ], + [ + 134.561371, + 7.371943 + ] + ] + ] + ] + }, + "name" : "Palau", + "iso2" : "PW", + "iso3" : "PLW" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Kr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 168.113586, + 5.600277 + ], + [ + 168.12439, + 5.641666 + ], + [ + 168.094971, + 5.613333 + ], + [ + 168.113586, + 5.600277 + ] + ] + ], + [ + [ + [ + 168.09024, + 5.630554 + ], + [ + 168.077148, + 5.650265 + ], + [ + 168.074982, + 5.631943 + ], + [ + 168.09024, + 5.630554 + ] + ] + ], + [ + [ + [ + 171.751923, + 6.080555 + ], + [ + 171.733582, + 6.096388 + ], + [ + 171.727173, + 6.08611 + ], + [ + 171.751923, + 6.080555 + ] + ] + ], + [ + [ + [ + 172.090515, + 6.219721 + ], + [ + 172.080261, + 6.229721 + ], + [ + 172.074127, + 6.222221 + ], + [ + 172.090515, + 6.219721 + ] + ] + ], + [ + [ + [ + 171.914154, + 7.092499 + ], + [ + 171.929962, + 7.133888 + ], + [ + 171.894135, + 7.101665 + ], + [ + 171.914154, + 7.092499 + ] + ] + ], + [ + [ + [ + 168.768036, + 7.298332 + ], + [ + 168.670258, + 7.328888 + ], + [ + 168.786377, + 7.288888 + ], + [ + 168.768036, + 7.298332 + ] + ] + ], + [ + [ + [ + 168.574677, + 7.398055 + ], + [ + 168.558594, + 7.471388 + ], + [ + 168.554962, + 7.423055 + ], + [ + 168.574677, + 7.398055 + ] + ] + ], + [ + [ + [ + 168.967194, + 7.574166 + ], + [ + 168.974976, + 7.60111 + ], + [ + 168.944427, + 7.615276 + ], + [ + 168.967194, + 7.574166 + ] + ] + ], + [ + [ + [ + 168.251373, + 7.749443 + ], + [ + 168.220245, + 7.766944 + ], + [ + 168.233582, + 7.74861 + ], + [ + 168.251373, + 7.749443 + ] + ] + ], + [ + [ + [ + 167.738861, + 8.725275 + ], + [ + 167.740784, + 8.747776 + ], + [ + 167.724396, + 8.729719 + ], + [ + 167.738861, + 8.725275 + ] + ] + ], + [ + [ + [ + 170.844971, + 8.886944 + ], + [ + 170.846924, + 8.916109 + ], + [ + 170.834961, + 8.893332 + ], + [ + 170.844971, + 8.886944 + ] + ] + ], + [ + [ + [ + 165.536926, + 9.19722 + ], + [ + 165.526917, + 9.218609 + ], + [ + 165.522491, + 9.207775 + ], + [ + 165.536926, + 9.19722 + ] + ] + ], + [ + [ + [ + 166.829956, + 9.32222 + ], + [ + 166.830261, + 9.335831 + ], + [ + 166.811646, + 9.336943 + ], + [ + 166.829956, + 9.32222 + ] + ] + ], + [ + [ + [ + 170.248016, + 9.544722 + ], + [ + 170.233307, + 9.558887 + ], + [ + 170.244965, + 9.533609 + ], + [ + 170.248016, + 9.544722 + ] + ] + ], + [ + [ + [ + 170.15387, + 9.639442 + ], + [ + 170.161652, + 9.645277 + ], + [ + 170.135529, + 9.633333 + ], + [ + 170.15387, + 9.639442 + ] + ] + ], + [ + [ + [ + 169.971619, + 10.436386 + ], + [ + 169.944122, + 10.451109 + ], + [ + 169.963867, + 10.433332 + ], + [ + 169.971619, + 10.436386 + ] + ] + ], + [ + [ + [ + 166.885254, + 11.144722 + ], + [ + 166.900543, + 11.16861 + ], + [ + 166.841339, + 11.153332 + ], + [ + 166.885254, + 11.144722 + ] + ] + ], + [ + [ + [ + 169.866913, + 11.232775 + ], + [ + 169.858856, + 11.241386 + ], + [ + 169.85553, + 11.231941 + ], + [ + 169.866913, + 11.232775 + ] + ] + ], + [ + [ + [ + 162.338287, + 11.351942 + ], + [ + 162.341644, + 11.362219 + ], + [ + 162.323578, + 11.354164 + ], + [ + 162.338287, + 11.351942 + ] + ] + ], + [ + [ + [ + 167.520813, + 11.377775 + ], + [ + 167.526093, + 11.386665 + ], + [ + 167.512207, + 11.393888 + ], + [ + 167.520813, + 11.377775 + ] + ] + ], + [ + [ + [ + 165.556091, + 11.615831 + ], + [ + 165.547211, + 11.634443 + ], + [ + 165.513031, + 11.638611 + ], + [ + 165.556091, + 11.615831 + ] + ] + ], + [ + [ + [ + 165.291656, + 11.700554 + ], + [ + 165.284698, + 11.714165 + ], + [ + 165.271912, + 11.706387 + ], + [ + 165.291656, + 11.700554 + ] + ] + ], + [ + [ + [ + 168.987732, + 14.580832 + ], + [ + 169.003876, + 14.598053 + ], + [ + 168.974976, + 14.58111 + ], + [ + 168.987732, + 14.580832 + ] + ] + ] + ] + }, + "name" : "Marshall Islands", + "iso2" : "MH", + "iso3" : "MHL" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "K71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -56.150833, + 46.758049 + ], + [ + -56.173889, + 46.80999 + ], + [ + -56.237221, + 46.763885 + ], + [ + -56.150833, + 46.758049 + ] + ] + ], + [ + [ + [ + -56.271111, + 46.994156 + ], + [ + -56.390282, + 47.118881 + ], + [ + -56.368332, + 46.784721 + ], + [ + -56.271111, + 46.994156 + ] + ] + ] + ] + }, + "name" : "Saint Pierre and Miquelon", + "iso2" : "PM", + "iso3" : "SPM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "LL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -9.892223, + -40.390839 + ], + [ + -9.952223, + -40.306671 + ], + [ + -10.028612, + -40.309448 + ], + [ + -9.892223, + -40.390839 + ] + ] + ], + [ + [ + [ + -12.20639, + -37.112503 + ], + [ + -12.259445, + -37.05278 + ], + [ + -12.331667, + -37.107506 + ], + [ + -12.20639, + -37.112503 + ] + ] + ], + [ + [ + [ + -5.662223, + -15.987501 + ], + [ + -5.704167, + -15.903057 + ], + [ + -5.793056, + -15.994167 + ], + [ + -5.662223, + -15.987501 + ] + ] + ], + [ + [ + [ + -14.36389, + -7.979723 + ], + [ + -14.293056, + -7.945278 + ], + [ + -14.381945, + -7.883612 + ], + [ + -14.36389, + -7.979723 + ] + ] + ] + ] + }, + "name" : "Saint Helena", + "iso2" : "SH", + "iso3" : "SHN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Lb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 12.459166, + 43.896111 + ], + [ + 12.509998, + 43.986938 + ], + [ + 12.415798, + 43.957954 + ], + [ + 12.459166, + 43.896111 + ] + ] + ] + }, + "name" : "San Marino", + "iso2" : "SM", + "iso3" : "SMR" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Lr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -71.140289, + 21.431942 + ], + [ + -71.135559, + 21.511108 + ], + [ + -71.150558, + 21.470833 + ], + [ + -71.140289, + 21.431942 + ] + ] + ], + [ + [ + [ + -72.460556, + 21.629719 + ], + [ + -72.433624, + 21.713333 + ], + [ + -72.45668, + 21.699718 + ], + [ + -72.460556, + 21.629719 + ] + ] + ], + [ + [ + [ + -71.468903, + 21.654999 + ], + [ + -71.462784, + 21.720833 + ], + [ + -71.53334, + 21.734444 + ], + [ + -71.468903, + 21.654999 + ] + ] + ], + [ + [ + [ + -71.657791, + 21.82333 + ], + [ + -71.850571, + 21.845833 + ], + [ + -71.65889, + 21.739719 + ], + [ + -71.657791, + 21.82333 + ] + ] + ], + [ + [ + [ + -72.262222, + 21.75111 + ], + [ + -72.247787, + 21.795555 + ], + [ + -72.327225, + 21.855831 + ], + [ + -72.262222, + 21.75111 + ] + ] + ], + [ + [ + [ + -71.884171, + 21.847221 + ], + [ + -71.912231, + 21.943333 + ], + [ + -72.03334, + 21.942776 + ], + [ + -71.884171, + 21.847221 + ] + ] + ] + ] + }, + "name" : "Turks and Caicos Islands", + "iso2" : "TC", + "iso3" : "TCA" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "L71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -17.05233, + 20.764095 + ], + [ + -16.953056, + 21.338333 + ], + [ + -15.741997, + 21.338284 + ], + [ + -12.999723, + 21.338055 + ], + [ + -13.105278, + 22.893055 + ], + [ + -12.000278, + 23.454441 + ], + [ + -12.000557, + 26 + ], + [ + -8.666945, + 26.000275 + ], + [ + -8.66679, + 27.290459 + ], + [ + -8.666668, + 27.666664 + ], + [ + -13.174961, + 27.666958 + ], + [ + -13.574167, + 26.731667 + ], + [ + -14.480278, + 26.171108 + ], + [ + -14.901112, + 24.688053 + ], + [ + -15.838058, + 23.896938 + ], + [ + -16.00639, + 23.6675 + ], + [ + -15.777225, + 23.908882 + ], + [ + -15.766668, + 23.781666 + ], + [ + -16.075558, + 23.324444 + ], + [ + -16.491112, + 22.334164 + ], + [ + -16.719448, + 22.26083 + ], + [ + -16.917225, + 21.943054 + ], + [ + -17.05233, + 20.764095 + ] + ] + ] + }, + "name" : "Western Sahara", + "iso2" : "EH", + "iso3" : "ESH" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "ML1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 20.295954, + 42.824291 + ], + [ + 20.071423, + 42.560913 + ], + [ + 20.589642, + 41.882187 + ], + [ + 21.630444, + 42.141091 + ], + [ + 21.576636, + 42.245224 + ], + [ + 21.54332, + 42.32025 + ], + [ + 21.66292, + 42.43922 + ], + [ + 21.77505, + 42.6827 + ], + [ + 21.63302, + 42.67717 + ], + [ + 21.43866, + 42.86255 + ], + [ + 21.27421, + 42.90959 + ], + [ + 21.143395, + 43.068685 + ], + [ + 20.95651, + 43.13094 + ], + [ + 20.81448, + 43.27205 + ], + [ + 20.63508, + 43.21671 + ], + [ + 20.49679, + 42.88469 + ], + [ + 20.295954, + 42.824291 + ] + ] + ] + }, + "name" : "Kosovo", + "iso2" : "XK", + "iso3" : "XKX" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Mb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 12.44509, + 41.903118 + ], + [ + 12.45666, + 41.901426 + ], + [ + 12.451653, + 41.907989 + ], + [ + 12.44509, + 41.903118 + ] + ] + ] + }, + "name" : "Holy See (Vatican City)", + "iso2" : "VA", + "iso3" : "VAT" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Mr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -8.290895, + 70.974154 + ], + [ + -7.927002, + 71.15082 + ], + [ + -9.120058, + 70.857759 + ], + [ + -8.290895, + 70.974154 + ] + ] + ], + [ + [ + [ + 19.18194, + 74.359713 + ], + [ + 19.299723, + 74.474993 + ], + [ + 18.791945, + 74.481661 + ], + [ + 19.18194, + 74.359713 + ] + ] + ], + [ + [ + [ + 25.016111, + 76.466387 + ], + [ + 25.58222, + 76.706652 + ], + [ + 24.936384, + 76.44887 + ], + [ + 25.016111, + 76.466387 + ] + ] + ], + [ + [ + [ + 23.285555, + 77.264711 + ], + [ + 23.036386, + 77.259996 + ], + [ + 23.135275, + 77.235262 + ], + [ + 23.285555, + 77.264711 + ] + ] + ], + [ + [ + [ + 23.336111, + 78.197481 + ], + [ + 20.903051, + 78.114992 + ], + [ + 21.644999, + 77.912493 + ], + [ + 20.858889, + 77.462496 + ], + [ + 22.778334, + 77.547762 + ], + [ + 22.407499, + 77.420824 + ], + [ + 22.641108, + 77.253054 + ], + [ + 24.910276, + 77.749712 + ], + [ + 23.059721, + 78.0161 + ], + [ + 23.336111, + 78.197481 + ] + ] + ], + [ + [ + [ + 21.501665, + 78.565538 + ], + [ + 20.12472, + 78.472216 + ], + [ + 20.67111, + 78.187487 + ], + [ + 22.271944, + 78.263613 + ], + [ + 22.028887, + 78.580828 + ], + [ + 21.501665, + 78.565538 + ] + ] + ], + [ + [ + [ + 26.847498, + 78.707491 + ], + [ + 27.0175, + 78.693041 + ], + [ + 26.396387, + 78.77083 + ], + [ + 26.847498, + 78.707491 + ] + ] + ], + [ + [ + [ + 11.271944, + 78.606936 + ], + [ + 10.488611, + 78.896379 + ], + [ + 12.16361, + 78.199709 + ], + [ + 11.271944, + 78.606936 + ] + ] + ], + [ + [ + [ + 29.030554, + 78.916094 + ], + [ + 28.01972, + 78.867479 + ], + [ + 29.708052, + 78.896379 + ], + [ + 29.030554, + 78.916094 + ] + ] + ], + [ + [ + [ + 30.20944, + 78.976381 + ], + [ + 30.336111, + 78.988878 + ], + [ + 30.066942, + 79.001101 + ], + [ + 30.20944, + 78.976381 + ] + ] + ], + [ + [ + [ + 21.226107, + 79.037493 + ], + [ + 20.923609, + 79.029985 + ], + [ + 20.982496, + 79.014162 + ], + [ + 21.226107, + 79.037493 + ] + ] + ], + [ + [ + [ + 20.833055, + 79.054155 + ], + [ + 20.19972, + 79.124697 + ], + [ + 20.04611, + 79.037493 + ], + [ + 20.833055, + 79.054155 + ] + ] + ], + [ + [ + [ + 20.007502, + 79.242205 + ], + [ + 20.168886, + 79.319155 + ], + [ + 19.954718, + 79.226656 + ], + [ + 20.007502, + 79.242205 + ] + ] + ], + [ + [ + [ + 20.109442, + 79.365816 + ], + [ + 19.628332, + 79.388323 + ], + [ + 20.180277, + 79.338884 + ], + [ + 20.109442, + 79.365816 + ] + ] + ], + [ + [ + [ + 10.922777, + 79.651094 + ], + [ + 11.076109, + 79.662767 + ], + [ + 10.712221, + 79.71361 + ], + [ + 10.922777, + 79.651094 + ] + ] + ], + [ + [ + [ + 11.000555, + 79.740267 + ], + [ + 10.756109, + 79.783327 + ], + [ + 10.639166, + 79.750002 + ], + [ + 11.000555, + 79.740267 + ] + ] + ], + [ + [ + [ + 16.819166, + 79.87221 + ], + [ + 16.307775, + 80.062761 + ], + [ + 15.638056, + 79.827211 + ], + [ + 16.449999, + 78.903872 + ], + [ + 14.584997, + 79.804155 + ], + [ + 13.886946, + 79.541368 + ], + [ + 14.058889, + 79.260271 + ], + [ + 13.257223, + 79.471376 + ], + [ + 13.484442, + 79.580828 + ], + [ + 12.447779, + 79.566378 + ], + [ + 13.82472, + 79.875261 + ], + [ + 10.676943, + 79.544985 + ], + [ + 11.236387, + 79.09305 + ], + [ + 12.113054, + 79.295824 + ], + [ + 11.755278, + 79.075823 + ], + [ + 12.505556, + 78.908037 + ], + [ + 11.333334, + 78.960543 + ], + [ + 13.19861, + 78.540819 + ], + [ + 12.360556, + 78.480272 + ], + [ + 13.006666, + 78.197481 + ], + [ + 14.726389, + 78.383883 + ], + [ + 14.385557, + 78.497759 + ], + [ + 15.379999, + 78.844713 + ], + [ + 15.193331, + 78.588045 + ], + [ + 15.464167, + 78.451662 + ], + [ + 16.83111, + 78.671923 + ], + [ + 16.328886, + 78.452211 + ], + [ + 17.301664, + 78.420259 + ], + [ + 13.588888, + 78.049425 + ], + [ + 13.941942, + 77.716661 + ], + [ + 17.006109, + 77.931368 + ], + [ + 14.739164, + 77.658602 + ], + [ + 16.223051, + 77.434984 + ], + [ + 13.914167, + 77.527773 + ], + [ + 14.467222, + 77.171648 + ], + [ + 16.51972, + 76.998598 + ], + [ + 15.498053, + 76.879976 + ], + [ + 16.612776, + 76.570543 + ], + [ + 17.198332, + 76.694704 + ], + [ + 16.919165, + 76.799715 + ], + [ + 17.738329, + 77.471102 + ], + [ + 18.292776, + 77.50638 + ], + [ + 18.41083, + 78.021654 + ], + [ + 19.092222, + 78.095537 + ], + [ + 18.965551, + 78.456102 + ], + [ + 21.549166, + 78.767763 + ], + [ + 18.920553, + 79.164156 + ], + [ + 18.356943, + 79.628313 + ], + [ + 17.635553, + 79.372484 + ], + [ + 18.098333, + 79.720263 + ], + [ + 16.819166, + 79.87221 + ] + ] + ], + [ + [ + [ + 27.837778, + 80.110262 + ], + [ + 28.074442, + 80.144152 + ], + [ + 27.674166, + 80.122759 + ], + [ + 27.837778, + 80.110262 + ] + ] + ], + [ + [ + [ + 36.849161, + 80.139986 + ], + [ + 36.760279, + 80.160814 + ], + [ + 36.590548, + 80.154985 + ], + [ + 36.849161, + 80.139986 + ] + ] + ], + [ + [ + [ + 32.366388, + 80.094439 + ], + [ + 33.637499, + 80.21332 + ], + [ + 31.449442, + 80.085817 + ], + [ + 32.366388, + 80.094439 + ] + ] + ], + [ + [ + [ + 18.553331, + 80.245531 + ], + [ + 18.758612, + 80.301928 + ], + [ + 18.119444, + 80.284716 + ], + [ + 18.553331, + 80.245531 + ] + ] + ], + [ + [ + [ + 24.335833, + 80.384157 + ], + [ + 24.196943, + 80.454165 + ], + [ + 24.128611, + 80.393053 + ], + [ + 24.335833, + 80.384157 + ] + ] + ], + [ + [ + [ + 19.933332, + 80.47748 + ], + [ + 19.463331, + 80.454714 + ], + [ + 19.837778, + 80.213884 + ], + [ + 18.979998, + 80.336657 + ], + [ + 19.584166, + 80.151384 + ], + [ + 19.340555, + 80.086382 + ], + [ + 17.783056, + 80.127764 + ], + [ + 18.809443, + 79.994707 + ], + [ + 18.154165, + 79.90999 + ], + [ + 18.771387, + 79.717485 + ], + [ + 22.312498, + 79.796938 + ], + [ + 19.635553, + 79.603868 + ], + [ + 23.511667, + 79.178865 + ], + [ + 27.244997, + 79.904985 + ], + [ + 24.836386, + 80.350817 + ], + [ + 23.101389, + 80.120821 + ], + [ + 23.36083, + 80.42943 + ], + [ + 22.886942, + 80.490267 + ], + [ + 22.361109, + 80.410265 + ], + [ + 22.578611, + 80.298601 + ], + [ + 22.226385, + 79.979158 + ], + [ + 21.598608, + 80.118319 + ], + [ + 21.860556, + 80.267763 + ], + [ + 19.933332, + 80.47748 + ] + ] + ], + [ + [ + [ + 24.265001, + 80.471102 + ], + [ + 24.174997, + 80.509157 + ], + [ + 23.97444, + 80.490541 + ], + [ + 24.265001, + 80.471102 + ] + ] + ], + [ + [ + [ + 19.933332, + 80.47748 + ], + [ + 20.130278, + 80.512774 + ], + [ + 19.844721, + 80.503054 + ], + [ + 19.933332, + 80.47748 + ] + ] + ], + [ + [ + [ + 20.753611, + 80.62137 + ], + [ + 20.793333, + 80.647493 + ], + [ + 20.499163, + 80.657763 + ], + [ + 20.753611, + 80.62137 + ] + ] + ], + [ + [ + [ + 21.330278, + 80.700274 + ], + [ + 21.026388, + 80.681658 + ], + [ + 21.365, + 80.678865 + ], + [ + 21.330278, + 80.700274 + ] + ] + ], + [ + [ + [ + 20.819166, + 80.719149 + ], + [ + 21.006666, + 80.701387 + ], + [ + 20.518332, + 80.759996 + ], + [ + 20.819166, + 80.719149 + ] + ] + ] + ] + }, + "name" : "Svalbard", + "iso2" : "SJ", + "iso3" : "SJM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "M71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -63.011459, + 18.067276 + ], + [ + -63.006668, + 18.080555 + ], + [ + -63.139839, + 18.058601 + ], + [ + -63.011459, + 18.067276 + ] + ] + ] + }, + "name" : "Saint Martin", + "iso2" : "MF", + "iso3" : "MAF" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "NL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -63.139839, + 18.058601 + ], + [ + -63.028336, + 18.015553 + ], + [ + -63.011459, + 18.067276 + ], + [ + -63.139839, + 18.058601 + ] + ] + ] + }, + "name" : "Sint Maarten", + "iso2" : "SX", + "iso3" : "SXM" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Nb1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -2.590834, + 49.422493 + ], + [ + -2.501667, + 49.507774 + ], + [ + -2.670278, + 49.434166 + ], + [ + -2.590834, + 49.422493 + ] + ] + ] + }, + "name" : "Guernsey", + "iso2" : "GG", + "iso3" : "GGY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Nr1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -2.015, + 49.214165 + ], + [ + -2.247222, + 49.253052 + ], + [ + -2.205278, + 49.180832 + ], + [ + -2.015, + 49.214165 + ] + ] + ] + }, + "name" : "Jersey", + "iso2" : "JE", + "iso3" : "JEY" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "N71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -27.325836, + -59.427223 + ], + [ + -27.412502, + -59.434448 + ], + [ + -27.298058, + -59.473061 + ], + [ + -27.325836, + -59.427223 + ] + ] + ], + [ + [ + [ + -26.582779, + -59.070007 + ], + [ + -26.501114, + -59.036949 + ], + [ + -26.665001, + -59.025841 + ], + [ + -26.582779, + -59.070007 + ] + ] + ], + [ + [ + [ + -26.246391, + -58.407501 + ], + [ + -26.459167, + -58.427223 + ], + [ + -26.24889, + -58.498611 + ], + [ + -26.246391, + -58.407501 + ] + ] + ], + [ + [ + [ + -26.412781, + -57.80806 + ], + [ + -26.443336, + -57.743896 + ], + [ + -26.512222, + -57.771118 + ], + [ + -26.412781, + -57.80806 + ] + ] + ], + [ + [ + [ + -26.660835, + -57.086395 + ], + [ + -26.675835, + -57.056396 + ], + [ + -26.728889, + -57.062782 + ], + [ + -26.660835, + -57.086395 + ] + ] + ], + [ + [ + [ + -27.108612, + -56.717506 + ], + [ + -27.129448, + -56.682228 + ], + [ + -27.209724, + -56.693611 + ], + [ + -27.108612, + -56.717506 + ] + ] + ], + [ + [ + [ + -27.563892, + -56.320557 + ], + [ + -27.549446, + -56.27417 + ], + [ + -27.600002, + -56.281113 + ], + [ + -27.563892, + -56.320557 + ] + ] + ], + [ + [ + [ + -37.038612, + -54.511673 + ], + [ + -37.105835, + -54.471115 + ], + [ + -37.083618, + -54.512779 + ], + [ + -37.038612, + -54.511673 + ] + ] + ], + [ + [ + [ + -37.495003, + -54.010559 + ], + [ + -38.033058, + -54.048889 + ], + [ + -37.239449, + -54.147781 + ], + [ + -37.411392, + -54.268333 + ], + [ + -36.115837, + -54.887222 + ], + [ + -35.782501, + -54.765556 + ], + [ + -36.288063, + -54.266396 + ], + [ + -37.495003, + -54.010559 + ] + ] + ] + ] + }, + "name" : "South Georgia South Sandwich Islands", + "iso2" : "GS", + "iso3" : "SGS" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "OL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 121.576393, + 22.001389 + ], + [ + 121.546944, + 22.078053 + ], + [ + 121.490257, + 22.078609 + ], + [ + 121.576393, + 22.001389 + ] + ] + ], + [ + [ + [ + 119.669434, + 23.549999 + ], + [ + 119.598328, + 23.606941 + ], + [ + 119.526703, + 23.535461 + ], + [ + 119.669434, + 23.549999 + ] + ] + ], + [ + [ + [ + 118.223602, + 24.404163 + ], + [ + 118.241364, + 24.445827 + ], + [ + 118.207489, + 24.412495 + ], + [ + 118.223602, + 24.404163 + ] + ] + ], + [ + [ + [ + 118.419144, + 24.395828 + ], + [ + 118.401657, + 24.521664 + ], + [ + 118.275543, + 24.399162 + ], + [ + 118.419144, + 24.395828 + ] + ] + ], + [ + [ + [ + 121.734711, + 25.138885 + ], + [ + 121.009163, + 25.008888 + ], + [ + 120.111366, + 23.620274 + ], + [ + 120.052757, + 23.044998 + ], + [ + 120.716377, + 21.928051 + ], + [ + 121.839706, + 24.476383 + ], + [ + 122.002213, + 25.006943 + ], + [ + 121.734711, + 25.138885 + ] + ] + ], + [ + [ + [ + 119.929428, + 26.134995 + ], + [ + 119.952477, + 26.159996 + ], + [ + 119.909416, + 26.159439 + ], + [ + 119.929428, + 26.134995 + ] + ] + ], + [ + [ + [ + 119.967209, + 26.187496 + ], + [ + 120.006104, + 26.219162 + ], + [ + 119.956383, + 26.215549 + ], + [ + 119.967209, + 26.187496 + ] + ] + ] + ] + }, + "name" : "Taiwan", + "iso2" : "TW", + "iso3" : "TWN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Ob1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + -68.965561, + 12.198889 + ], + [ + -68.746948, + 12.040277 + ], + [ + -69.16362, + 12.366388 + ], + [ + -68.965561, + 12.198889 + ] + ] + ] + }, + "name" : "Curaçao", + "iso2" : "CW", + "iso3" : "CUW" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "Or1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + 34.195517, + 9.47239 + ], + [ + 34.28611, + 10.554165 + ], + [ + 34.594444, + 10.887777 + ], + [ + 34.864441, + 10.734999 + ], + [ + 35.096939, + 11.826944 + ], + [ + 35.70108, + 12.666115 + ], + [ + 36.142693, + 12.706923 + ], + [ + 36.542816, + 14.262053 + ], + [ + 36.443283, + 15.149952 + ], + [ + 36.973053, + 16.269444 + ], + [ + 36.995827, + 17.073887 + ], + [ + 37.423286, + 17.034214 + ], + [ + 38.600693, + 17.994881 + ], + [ + 37.433327, + 18.858055 + ], + [ + 37.10527, + 21.212219 + ], + [ + 37.309441, + 21.060276 + ], + [ + 36.888466, + 22.000111 + ], + [ + 31.453888, + 21.998333 + ], + [ + 31.455555, + 22.23222 + ], + [ + 31.271111, + 21.998333 + ], + [ + 25.001423, + 21.999695 + ], + [ + 25.000832, + 19.999119 + ], + [ + 24.000832, + 20.001942 + ], + [ + 24.002747, + 19.499065 + ], + [ + 23.999603, + 15.698709 + ], + [ + 22.937222, + 15.561943 + ], + [ + 22.935833, + 15.11611 + ], + [ + 22.384163, + 14.554165 + ], + [ + 22.554996, + 14.125555 + ], + [ + 22.084442, + 13.779165 + ], + [ + 22.294167, + 13.35861 + ], + [ + 21.827774, + 12.797499 + ], + [ + 22.466942, + 12.621666 + ], + [ + 22.866505, + 10.922447 + ], + [ + 23.669167, + 9.866943 + ], + [ + 23.517776, + 8.714167 + ], + [ + 24.047173, + 8.693076 + ], + [ + 24.537415, + 8.917538 + ], + [ + 24.794926, + 9.810241 + ], + [ + 25.069604, + 10.27376 + ], + [ + 25.790633, + 10.411099 + ], + [ + 25.962307, + 10.136421 + ], + [ + 26.1522, + 9.826436 + ], + [ + 26.477328, + 9.55273 + ], + [ + 26.752006, + 9.466893 + ], + [ + 27.112521, + 9.638567 + ], + [ + 27.833551, + 9.604232 + ], + [ + 27.97089, + 9.398224 + ], + [ + 28.966597, + 9.398224 + ], + [ + 29.000932, + 9.604232 + ], + [ + 29.515953, + 9.793074 + ], + [ + 29.618957, + 10.084919 + ], + [ + 29.996639, + 10.290927 + ], + [ + 30.837841, + 9.707237 + ], + [ + 31.352862, + 9.810241 + ], + [ + 31.850716, + 10.531271 + ], + [ + 32.400072, + 11.080626 + ], + [ + 32.314235, + 11.681484 + ], + [ + 32.073892, + 11.97333 + ], + [ + 32.67475, + 12.024832 + ], + [ + 32.743419, + 12.248008 + ], + [ + 33.206938, + 12.179338 + ], + [ + 33.086766, + 11.441141 + ], + [ + 33.206938, + 10.720112 + ], + [ + 33.721959, + 10.325262 + ], + [ + 33.842131, + 9.981915 + ], + [ + 33.824963, + 9.484061 + ], + [ + 33.963393, + 9.464285 + ], + [ + 34.195517, + 9.47239 + ] + ] + ], + [ + [ + [ + 37.268608, + 20.75111 + ], + [ + 37.263855, + 20.849724 + ], + [ + 37.242218, + 20.785831 + ], + [ + 37.268608, + 20.75111 + ] + ] + ] + ] + }, + "name" : "Sudan", + "iso2" : "SD", + "iso3" : "SDN" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "O71E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "polygon", + "coordinates" : [ + [ + [ + 21.630444, + 42.141091 + ], + [ + 22.365276, + 42.323883 + ], + [ + 22.442219, + 42.821663 + ], + [ + 23.004997, + 43.192772 + ], + [ + 22.367222, + 43.826942 + ], + [ + 22.681435, + 44.224701 + ], + [ + 22.457333, + 44.474358 + ], + [ + 22.764893, + 44.559006 + ], + [ + 22.479164, + 44.710274 + ], + [ + 22.146385, + 44.479164 + ], + [ + 21.400398, + 44.780823 + ], + [ + 21.513611, + 45.151108 + ], + [ + 20.261024, + 46.114853 + ], + [ + 18.81702, + 45.912964 + ], + [ + 18.980324, + 45.378624 + ], + [ + 19.423885, + 45.22583 + ], + [ + 19.039719, + 44.861382 + ], + [ + 19.371387, + 44.88916 + ], + [ + 19.104443, + 44.355827 + ], + [ + 19.620476, + 44.048454 + ], + [ + 19.237019, + 44.011009 + ], + [ + 19.51083, + 43.679718 + ], + [ + 19.228809, + 43.513214 + ], + [ + 20.348888, + 42.886383 + ], + [ + 20.295954, + 42.824291 + ], + [ + 20.49679, + 42.88469 + ], + [ + 20.63508, + 43.21671 + ], + [ + 20.81448, + 43.27205 + ], + [ + 20.95651, + 43.13094 + ], + [ + 21.143395, + 43.068685 + ], + [ + 21.27421, + 42.90959 + ], + [ + 21.43866, + 42.86255 + ], + [ + 21.63302, + 42.67717 + ], + [ + 21.77505, + 42.6827 + ], + [ + 21.66292, + 42.43922 + ], + [ + 21.54332, + 42.32025 + ], + [ + 21.576636, + 42.245224 + ], + [ + 21.630444, + 42.141091 + ] + ] + ] + }, + "name" : "Serbia", + "iso2" : "RS", + "iso3" : "SRB" + } + }, + { + "_index" : "world_countries_v1", + "_id" : "PL1E6XMBz91lfVjVLNrV", + "_score" : 0.0, + "_source" : { + "coordinates" : { + "type" : "multipolygon", + "coordinates" : [ + [ + [ + [ + -61.037224, + 16.311108 + ], + [ + -60.988617, + 16.346107 + ], + [ + -61.08667, + 16.29583 + ], + [ + -61.037224, + 16.311108 + ] + ] + ], + [ + [ + [ + -61.346115, + 16.334164 + ], + [ + -61.783615, + 16.333054 + ], + [ + -61.695007, + 15.949165 + ], + [ + -61.346115, + 16.334164 + ] + ] + ], + [ + [ + [ + -61.24556, + 15.871666 + ], + [ + -61.266945, + 16.014999 + ], + [ + -61.329445, + 15.92861 + ], + [ + -61.24556, + 15.871666 + ] + ] + ] + ] + }, + "name" : "Guadeloupe", + "iso2" : "GP", + "iso3" : "GLP" + } + } + ] + } +} diff --git a/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts b/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts index 8f68ed76e9c38..13942d542a28c 100644 --- a/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts +++ b/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts @@ -4,123967 +4,20 @@ * you may not use this file except in compliance with the Elastic License. */ +import search000json = require('./json/0_0_0_search.json'); // Prefer require() over setting the compiler options, which affect production modules as well + export const TILE_SEARCHES = { '0.0.0': { - countResponse: {}, - searchResponse: { - "took" : 13, - "timed_out" : false, - "_shards" : { - "total" : 1, - "successful" : 1, - "skipped" : 0, - "failed" : 0 + countResponse: { + count: 250, + _shards: { + total: 1, + successful: 1, + skipped: 0, + failed: 0, }, - "hits" : { - "total" : { - "value" : 250, - "relation" : "eq" - }, - "max_score" : 0.0, - "hits" : [ - { - "_index" : "world_countries_v1", - "_id" : "Q71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -61.686668, - 17.024441 - ], - [ - -61.794449, - 17.16333 - ], - [ - -61.887222, - 17.105274 - ], - [ - -61.686668, - 17.024441 - ] - ] - ], - [ - [ - [ - -61.729172, - 17.608608 - ], - [ - -61.873062, - 17.703888 - ], - [ - -61.853058, - 17.583054 - ], - [ - -61.729172, - 17.608608 - ] - ] - ] - ] - }, - "name" : "Antigua and Barbuda", - "iso2" : "AG", - "iso3" : "ATG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "RL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 8.62203, - 36.941368 - ], - [ - 6.398333, - 37.086388 - ], - [ - 5.328055, - 36.640274 - ], - [ - 4.785832, - 36.894722 - ], - [ - 2.96361, - 36.802216 - ], - [ - 0.95, - 36.450272 - ], - [ - -2.209445, - 35.085831 - ], - [ - -1.747222, - 34.747215 - ], - [ - -1.668056, - 33.261108 - ], - [ - -1.010278, - 32.508331 - ], - [ - -1.180556, - 32.11055 - ], - [ - -2.853889, - 32.088333 - ], - [ - -3.818334, - 31.695553 - ], - [ - -3.626667, - 30.970554 - ], - [ - -4.920556, - 30.508053 - ], - [ - -5.538334, - 29.902496 - ], - [ - -7.123889, - 29.636944 - ], - [ - -8.667223, - 28.709442 - ], - [ - -8.666668, - 27.666664 - ], - [ - -8.66679, - 27.290459 - ], - [ - -6.662778, - 26.129166 - ], - [ - -4.806111, - 25.000275 - ], - [ - 1.169662, - 21.102543 - ], - [ - 1.1675, - 20.741108 - ], - [ - 1.795833, - 20.308331 - ], - [ - 3.233055, - 19.820274 - ], - [ - 3.331944, - 18.976387 - ], - [ - 4.245277, - 19.146664 - ], - [ - 5.812499, - 19.44611 - ], - [ - 7.450807, - 20.852863 - ], - [ - 11.986475, - 23.522305 - ], - [ - 11.558887, - 24.302498 - ], - [ - 10.252222, - 24.605831 - ], - [ - 9.398333, - 26.153332 - ], - [ - 9.871666, - 26.514164 - ], - [ - 9.948332, - 27.824444 - ], - [ - 9.766388, - 29.427776 - ], - [ - 9.303888, - 30.122498 - ], - [ - 9.537113, - 30.23439 - ], - [ - 9.055277, - 32.099998 - ], - [ - 8.34861, - 32.533333 - ], - [ - 7.492499, - 33.887497 - ], - [ - 8.251665, - 34.64444 - ], - [ - 8.183611, - 36.524162 - ], - [ - 8.62203, - 36.941368 - ] - ] - ] - }, - "name" : "Algeria", - "iso2" : "DZ", - "iso3" : "DZA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Rb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 46.178247, - 38.84115 - ], - [ - 45.819986, - 39.549723 - ], - [ - 45.083323, - 39.768045 - ], - [ - 44.778864, - 39.706385 - ], - [ - 44.813044, - 39.630816 - ], - [ - 45.004435, - 39.416384 - ], - [ - 46.178247, - 38.84115 - ] - ] - ], - [ - [ - [ - 45.513052, - 40.607222 - ], - [ - 45.573053, - 40.63249 - ], - [ - 45.517492, - 40.665541 - ], - [ - 45.513052, - 40.607222 - ] - ] - ], - [ - [ - [ - 45.245272, - 40.976942 - ], - [ - 45.195822, - 40.99777 - ], - [ - 45.229162, - 40.969152 - ], - [ - 45.245272, - 40.976942 - ] - ] - ], - [ - [ - [ - 45.045271, - 41.035273 - ], - [ - 45.001112, - 41.088881 - ], - [ - 45.009993, - 41.033052 - ], - [ - 45.045271, - 41.035273 - ] - ] - ], - [ - [ - [ - 48.583956, - 41.835772 - ], - [ - 47.766932, - 41.196093 - ], - [ - 46.571383, - 41.871935 - ], - [ - 46.451754, - 41.897058 - ], - [ - 46.194429, - 41.685823 - ], - [ - 46.693872, - 41.312204 - ], - [ - 46.520823, - 41.04999 - ], - [ - 45.336657, - 41.462496 - ], - [ - 45.022943, - 41.297052 - ], - [ - 45.153872, - 41.198603 - ], - [ - 46.00194, - 40.22555 - ], - [ - 45.595819, - 39.978045 - ], - [ - 46.541384, - 39.56444 - ], - [ - 46.540377, - 38.875589 - ], - [ - 47.976664, - 39.719233 - ], - [ - 48.359789, - 39.385218 - ], - [ - 48.020823, - 38.835543 - ], - [ - 48.888285, - 38.442408 - ], - [ - 49.488047, - 40.150537 - ], - [ - 50.374994, - 40.262217 - ], - [ - 49.528048, - 40.662767 - ], - [ - 48.583956, - 41.835772 - ] - ] - ] - ] - }, - "name" : "Azerbaijan", - "iso2" : "AZ", - "iso3" : "AZE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Rr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 19.367771, - 41.848999 - ], - [ - 19.600555, - 41.796661 - ], - [ - 19.436214, - 41.021065 - ], - [ - 19.478611, - 40.350273 - ], - [ - 19.288609, - 40.417496 - ], - [ - 19.863052, - 40.039719 - ], - [ - 20.010029, - 39.6912 - ], - [ - 20.671944, - 40.098053 - ], - [ - 20.98349, - 40.855888 - ], - [ - 20.82111, - 40.908882 - ], - [ - 20.492775, - 41.331108 - ], - [ - 20.589642, - 41.882187 - ], - [ - 20.071423, - 42.560913 - ], - [ - 19.645832, - 42.61805 - ], - [ - 19.367771, - 41.848999 - ] - ] - ] - }, - "name" : "Albania", - "iso2" : "AL", - "iso3" : "ALB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "R71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 46.540377, - 38.875589 - ], - [ - 46.541384, - 39.56444 - ], - [ - 45.595819, - 39.978045 - ], - [ - 46.00194, - 40.22555 - ], - [ - 45.153872, - 41.198603 - ], - [ - 45.022943, - 41.297052 - ], - [ - 43.460772, - 41.112963 - ], - [ - 43.75194, - 40.74 - ], - [ - 43.657495, - 40.108599 - ], - [ - 44.347216, - 40.02389 - ], - [ - 44.778864, - 39.706385 - ], - [ - 45.083323, - 39.768045 - ], - [ - 45.819986, - 39.549723 - ], - [ - 46.178247, - 38.84115 - ], - [ - 46.540377, - 38.875589 - ] - ], - [ - [ - 45.045271, - 41.035273 - ], - [ - 45.009993, - 41.033052 - ], - [ - 45.001112, - 41.088881 - ], - [ - 45.045271, - 41.035273 - ] - ], - [ - [ - 45.245272, - 40.976942 - ], - [ - 45.229162, - 40.969152 - ], - [ - 45.195822, - 40.99777 - ], - [ - 45.245272, - 40.976942 - ] - ], - [ - [ - 45.513052, - 40.607222 - ], - [ - 45.517492, - 40.665541 - ], - [ - 45.573053, - 40.63249 - ], - [ - 45.513052, - 40.607222 - ] - ] - ] - }, - "name" : "Armenia", - "iso2" : "AM", - "iso3" : "ARM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "SL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 11.750834, - -16.75528 - ], - [ - 11.775, - -16.804726 - ], - [ - 11.693609, - -16.535557 - ], - [ - 11.750834, - -16.75528 - ] - ] - ], - [ - [ - [ - 23.986208, - -10.870461 - ], - [ - 22.253889, - -11.209723 - ], - [ - 22.312223, - -10.364445 - ], - [ - 21.790556, - -9.405556 - ], - [ - 21.782961, - -7.280842 - ], - [ - 20.548716, - -7.283615 - ], - [ - 20.629747, - -6.913881 - ], - [ - 19.53895, - -6.996614 - ], - [ - 19.373056, - -7.996111 - ], - [ - 17.624166, - -8.098057 - ], - [ - 16.941668, - -7.19861 - ], - [ - 16.579721, - -5.900833 - ], - [ - 13.997499, - -5.848612 - ], - [ - 13.178881, - -5.856329 - ], - [ - 12.245001, - -6.098055 - ], - [ - 13.39139, - -8.387222 - ], - [ - 12.984446, - -9.087502 - ], - [ - 13.773611, - -10.684723 - ], - [ - 13.792501, - -11.791668 - ], - [ - 12.509722, - -13.42528 - ], - [ - 11.73139, - -15.846668 - ], - [ - 11.810835, - -15.993057 - ], - [ - 11.820833, - -16.503056 - ], - [ - 11.752783, - -17.254833 - ], - [ - 13.160555, - -16.952778 - ], - [ - 13.993219, - -17.423946 - ], - [ - 18.45154, - -17.389835 - ], - [ - 18.915834, - -17.815556 - ], - [ - 20.854166, - -18.016392 - ], - [ - 23.284723, - -17.662502 - ], - [ - 23.47611, - -17.625835 - ], - [ - 22.000151, - -16.171661 - ], - [ - 21.998335, - -13.004168 - ], - [ - 24.020555, - -13.00639 - ], - [ - 23.986208, - -10.870461 - ] - ] - ], - [ - [ - [ - 12.214552, - -5.768555 - ], - [ - 12.526667, - -5.724167 - ], - [ - 12.565554, - -5.025555 - ], - [ - 13.088888, - -4.6625 - ], - [ - 13.091391, - -4.633055 - ], - [ - 12.779047, - -4.38899 - ], - [ - 12.026133, - -5.014996 - ], - [ - 12.214552, - -5.768555 - ] - ] - ] - ] - }, - "name" : "Angola", - "iso2" : "AO", - "iso3" : "AGO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Sb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -170.542511, - -14.297503 - ], - [ - -170.540039, - -14.283892 - ], - [ - -170.560822, - -14.287781 - ], - [ - -170.542511, - -14.297503 - ] - ] - ], - [ - [ - [ - -170.637268, - -14.289446 - ], - [ - -170.560028, - -14.265837 - ], - [ - -170.826111, - -14.325003 - ], - [ - -170.637268, - -14.289446 - ] - ] - ], - [ - [ - [ - -169.444489, - -14.261667 - ], - [ - -169.536133, - -14.231668 - ], - [ - -169.513062, - -14.275833 - ], - [ - -169.444489, - -14.261667 - ] - ] - ], - [ - [ - [ - -169.62558, - -14.189722 - ], - [ - -169.621948, - -14.168612 - ], - [ - -169.644745, - -14.176111 - ], - [ - -169.62558, - -14.189722 - ] - ] - ], - [ - [ - [ - -169.685577, - -14.191944 - ], - [ - -169.662231, - -14.175001 - ], - [ - -169.690857, - -14.167501 - ], - [ - -169.685577, - -14.191944 - ] - ] - ] - ] - }, - "name" : "American Samoa", - "iso2" : "AS", - "iso3" : "ASM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Sr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -68.608612, - -54.891396 - ], - [ - -68.636124, - -54.804771 - ], - [ - -68.643112, - -54.888611 - ], - [ - -68.608612, - -54.891396 - ] - ] - ], - [ - [ - [ - -63.813614, - -54.731392 - ], - [ - -64.75528, - -54.835007 - ], - [ - -64.678345, - -54.907227 - ], - [ - -63.813614, - -54.731392 - ] - ] - ], - [ - [ - [ - -68.261948, - -52.98806 - ], - [ - -68.617584, - -52.64151 - ], - [ - -68.635834, - -54.788338 - ], - [ - -66.446121, - -55.051674 - ], - [ - -65.353897, - -54.929169 - ], - [ - -65.138062, - -54.651672 - ], - [ - -67.359177, - -54.028893 - ], - [ - -68.543625, - -53.229446 - ], - [ - -68.261948, - -52.98806 - ] - ] - ], - [ - [ - [ - -61.878891, - -39.2425 - ], - [ - -61.890556, - -39.139168 - ], - [ - -62.095284, - -39.089172 - ], - [ - -61.878891, - -39.2425 - ] - ] - ], - [ - [ - [ - -61.996948, - -39.066948 - ], - [ - -61.981392, - -39.026947 - ], - [ - -62.132782, - -39.01889 - ], - [ - -61.996948, - -39.066948 - ] - ] - ], - [ - [ - [ - -62.643768, - -22.238903 - ], - [ - -62.811951, - -21.996948 - ], - [ - -63.941116, - -22.000835 - ], - [ - -64.324722, - -22.873611 - ], - [ - -64.590561, - -22.214725 - ], - [ - -65.190201, - -22.09473 - ], - [ - -65.748062, - -22.111668 - ], - [ - -66.223007, - -21.780521 - ], - [ - -67.183624, - -22.821667 - ], - [ - -67.000839, - -23.002781 - ], - [ - -67.335846, - -24.021667 - ], - [ - -68.565002, - -24.774445 - ], - [ - -68.351959, - -25.117226 - ], - [ - -68.583618, - -26.50528 - ], - [ - -68.287231, - -26.915279 - ], - [ - -68.810837, - -27.120556 - ], - [ - -69.65538, - -28.400932 - ], - [ - -70.031403, - -29.306393 - ], - [ - -69.83168, - -30.190556 - ], - [ - -70.533066, - -31.188057 - ], - [ - -70.098892, - -33.172501 - ], - [ - -69.774445, - -33.381111 - ], - [ - -69.8125, - -34.235558 - ], - [ - -70.567505, - -35.24778 - ], - [ - -70.424316, - -36.13604 - ], - [ - -71.185287, - -36.842224 - ], - [ - -70.824173, - -38.568062 - ], - [ - -71.401398, - -38.92028 - ], - [ - -71.695557, - -39.58445 - ], - [ - -71.950562, - -40.73278 - ], - [ - -71.72612, - -42.096672 - ], - [ - -72.131958, - -42.288895 - ], - [ - -72.136948, - -43.009171 - ], - [ - -71.732788, - -43.188057 - ], - [ - -71.855011, - -44.371674 - ], - [ - -71.108063, - -44.539726 - ], - [ - -71.282227, - -44.800285 - ], - [ - -72.078613, - -44.769447 - ], - [ - -71.297791, - -45.293335 - ], - [ - -71.780563, - -45.648895 - ], - [ - -71.669449, - -46.679169 - ], - [ - -71.940292, - -46.815559 - ], - [ - -71.868622, - -47.221672 - ], - [ - -72.360291, - -47.470001 - ], - [ - -72.536392, - -47.921394 - ], - [ - -72.287231, - -48.341949 - ], - [ - -72.564178, - -48.804451 - ], - [ - -73.583618, - -49.538063 - ], - [ - -73.166122, - -50.753334 - ], - [ - -72.294174, - -50.649727 - ], - [ - -72.400558, - -51.513618 - ], - [ - -71.910568, - -51.995834 - ], - [ - -69.998337, - -51.996391 - ], - [ - -68.441757, - -52.377777 - ], - [ - -68.988068, - -51.624725 - ], - [ - -69.613892, - -51.625839 - ], - [ - -68.968063, - -51.573891 - ], - [ - -69.183624, - -50.970558 - ], - [ - -69.40889, - -51.077782 - ], - [ - -68.941116, - -50.388062 - ], - [ - -68.370285, - -50.146667 - ], - [ - -69.011124, - -50.011948 - ], - [ - -67.897232, - -49.98584 - ], - [ - -67.579453, - -49.034172 - ], - [ - -65.787231, - -47.962502 - ], - [ - -66.243622, - -47.860283 - ], - [ - -65.871948, - -47.758057 - ], - [ - -65.779449, - -47.189445 - ], - [ - -66.816956, - -46.991669 - ], - [ - -67.506119, - -46.458893 - ], - [ - -67.584351, - -46.000298 - ], - [ - -66.949448, - -45.255562 - ], - [ - -65.604736, - -45.016396 - ], - [ - -65.691681, - -44.716949 - ], - [ - -65.249451, - -44.313057 - ], - [ - -65.32251, - -43.653061 - ], - [ - -64.295013, - -42.991951 - ], - [ - -64.960556, - -42.666389 - ], - [ - -64.398056, - -42.515839 - ], - [ - -64.086945, - -42.890282 - ], - [ - -63.580559, - -42.623894 - ], - [ - -63.746948, - -42.090561 - ], - [ - -64.45195, - -42.445839 - ], - [ - -65.013626, - -42.092224 - ], - [ - -65.134445, - -40.847778 - ], - [ - -63.765839, - -41.16584 - ], - [ - -62.390007, - -40.901947 - ], - [ - -62.183891, - -40.629723 - ], - [ - -62.489449, - -40.299446 - ], - [ - -62.06778, - -39.505562 - ], - [ - -62.277229, - -39.335281 - ], - [ - -62.020004, - -39.378059 - ], - [ - -62.381393, - -38.798615 - ], - [ - -61.094452, - -38.995834 - ], - [ - -58.301117, - -38.485001 - ], - [ - -57.571671, - -38.133057 - ], - [ - -56.663063, - -36.900558 - ], - [ - -56.741669, - -36.318336 - ], - [ - -57.376671, - -35.962784 - ], - [ - -57.188339, - -35.320557 - ], - [ - -58.469727, - -34.539726 - ], - [ - -58.383896, - -34.05584 - ], - [ - -58.531952, - -33.516945 - ], - [ - -58.426949, - -33.096947 - ], - [ - -58.147224, - -33.051674 - ], - [ - -58.199242, - -32.45031 - ], - [ - -57.806396, - -30.748219 - ], - [ - -57.608002, - -30.184925 - ], - [ - -55.765282, - -28.226112 - ], - [ - -53.807785, - -27.129169 - ], - [ - -53.863335, - -25.681114 - ], - [ - -54.598915, - -25.573223 - ], - [ - -54.698334, - -26.438335 - ], - [ - -55.736115, - -27.439445 - ], - [ - -58.604622, - -27.316921 - ], - [ - -57.576668, - -25.549446 - ], - [ - -57.756111, - -25.176945 - ], - [ - -61.007782, - -23.813335 - ], - [ - -62.643768, - -22.238903 - ] - ] - ] - ] - }, - "name" : "Argentina", - "iso2" : "AR", - "iso3" : "ARG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "S71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 158.882174, - -54.711388 - ], - [ - 158.95746, - -54.474716 - ], - [ - 158.833315, - -54.749725 - ], - [ - 158.882174, - -54.711388 - ] - ] - ], - [ - [ - [ - 147.362734, - -43.398056 - ], - [ - 147.291933, - -43.261948 - ], - [ - 147.123018, - -43.421944 - ], - [ - 147.362734, - -43.398056 - ] - ] - ], - [ - [ - [ - 147.429689, - -43.253616 - ], - [ - 147.359957, - -43.073616 - ], - [ - 147.291933, - -43.164444 - ], - [ - 147.429689, - -43.253616 - ] - ] - ], - [ - [ - [ - 148.170534, - -42.663887 - ], - [ - 148.02109, - -42.618057 - ], - [ - 148.014162, - -42.753059 - ], - [ - 148.170534, - -42.663887 - ] - ] - ], - [ - [ - [ - 148.333315, - -42.358894 - ], - [ - 148.319124, - -42.312775 - ], - [ - 148.231081, - -42.301941 - ], - [ - 148.333315, - -42.358894 - ] - ] - ], - [ - [ - [ - 145.107729, - -40.821671 - ], - [ - 144.701357, - -40.759171 - ], - [ - 144.682467, - -41.223328 - ], - [ - 145.551912, - -42.344162 - ], - [ - 145.205233, - -42.25695 - ], - [ - 145.49692, - -42.957779 - ], - [ - 146.236361, - -43.327225 - ], - [ - 146.038301, - -43.498055 - ], - [ - 146.916704, - -43.617844 - ], - [ - 147.317476, - -42.846664 - ], - [ - 147.995241, - -43.229721 - ], - [ - 147.843019, - -42.869446 - ], - [ - 148.18387, - -41.943054 - ], - [ - 148.365511, - -42.215004 - ], - [ - 148.223299, - -40.850838 - ], - [ - 146.586092, - -41.186661 - ], - [ - 145.107729, - -40.821671 - ] - ] - ], - [ - [ - [ - 144.926363, - -40.722496 - ], - [ - 145.016085, - -40.695549 - ], - [ - 144.924135, - -40.61528 - ], - [ - 144.926363, - -40.722496 - ] - ] - ], - [ - [ - [ - 148.200258, - -40.594162 - ], - [ - 148.215792, - -40.501944 - ], - [ - 148.0972, - -40.53389 - ], - [ - 148.200258, - -40.594162 - ] - ] - ], - [ - [ - [ - 144.755556, - -40.596664 - ], - [ - 144.779696, - -40.409439 - ], - [ - 144.71747, - -40.503891 - ], - [ - 144.755556, - -40.596664 - ] - ] - ], - [ - [ - [ - 144.941347, - -40.458893 - ], - [ - 144.949709, - -40.387222 - ], - [ - 144.832186, - -40.433609 - ], - [ - 144.941347, - -40.458893 - ] - ] - ], - [ - [ - [ - 148.354677, - -40.315552 - ], - [ - 147.993563, - -40.420555 - ], - [ - 148.475801, - -40.443886 - ], - [ - 148.354677, - -40.315552 - ] - ] - ], - [ - [ - [ - 148.177462, - -40.25695 - ], - [ - 148.279421, - -39.965836 - ], - [ - 147.881899, - -39.754173 - ], - [ - 148.177462, - -40.25695 - ] - ] - ], - [ - [ - [ - 143.957735, - -40.110001 - ], - [ - 144.147493, - -39.927223 - ], - [ - 143.973024, - -39.573334 - ], - [ - 143.957735, - -40.110001 - ] - ] - ], - [ - [ - [ - 147.353579, - -39.499443 - ], - [ - 147.344423, - -39.448051 - ], - [ - 147.307467, - -39.487503 - ], - [ - 147.353579, - -39.499443 - ] - ] - ], - [ - [ - [ - 147.29999, - -39.482216 - ], - [ - 147.315523, - -39.431946 - ], - [ - 147.28525, - -39.473885 - ], - [ - 147.29999, - -39.482216 - ] - ] - ], - [ - [ - [ - 146.65555, - -38.769722 - ], - [ - 146.467745, - -38.758057 - ], - [ - 146.54471, - -38.800278 - ], - [ - 146.65555, - -38.769722 - ] - ] - ], - [ - [ - [ - 145.311647, - -38.467773 - ], - [ - 145.113588, - -38.528885 - ], - [ - 145.361361, - -38.569168 - ], - [ - 145.311647, - -38.467773 - ] - ] - ], - [ - [ - [ - 145.492739, - -38.374443 - ], - [ - 145.305819, - -38.296951 - ], - [ - 145.27109, - -38.363335 - ], - [ - 145.492739, - -38.374443 - ] - ] - ], - [ - [ - [ - 137.584963, - -35.650833 - ], - [ - 136.534426, - -35.912498 - ], - [ - 138.112734, - -35.86972 - ], - [ - 137.584963, - -35.650833 - ] - ] - ], - [ - [ - [ - 136.495241, - -35.17556 - ], - [ - 136.466646, - -35.138611 - ], - [ - 136.43442, - -35.158051 - ], - [ - 136.495241, - -35.17556 - ] - ] - ], - [ - [ - [ - 136.202761, - -35.07695 - ], - [ - 136.195803, - -35.02639 - ], - [ - 136.086641, - -34.94722 - ], - [ - 136.202761, - -35.07695 - ] - ] - ], - [ - [ - [ - 118.471918, - -34.938332 - ], - [ - 118.476381, - -34.91806 - ], - [ - 118.4247, - -34.907776 - ], - [ - 118.471918, - -34.938332 - ] - ] - ], - [ - [ - [ - 137.358004, - -34.540283 - ], - [ - 137.365786, - -34.477776 - ], - [ - 137.334414, - -34.515556 - ], - [ - 137.358004, - -34.540283 - ] - ] - ], - [ - [ - [ - 122.246935, - -34.151665 - ], - [ - 122.255548, - -34.124443 - ], - [ - 122.229982, - -34.112221 - ], - [ - 122.246935, - -34.151665 - ] - ] - ], - [ - [ - [ - 123.207491, - -34.111946 - ], - [ - 123.215822, - -34.086113 - ], - [ - 123.167765, - -34.094444 - ], - [ - 123.207491, - -34.111946 - ] - ] - ], - [ - [ - [ - 134.486635, - -33.779999 - ], - [ - 134.540255, - -33.696663 - ], - [ - 134.480257, - -33.714165 - ], - [ - 134.486635, - -33.779999 - ] - ] - ], - [ - [ - [ - 133.589418, - -32.311668 - ], - [ - 133.67499, - -32.240555 - ], - [ - 133.533602, - -32.304443 - ], - [ - 133.589418, - -32.311668 - ] - ] - ], - [ - [ - [ - 115.680269, - -32.228333 - ], - [ - 115.648882, - -32.152222 - ], - [ - 115.660814, - -32.233612 - ], - [ - 115.680269, - -32.228333 - ] - ] - ], - [ - [ - [ - 159.070803, - -31.523613 - ], - [ - 159.070803, - -31.599998 - ], - [ - 159.1019, - -31.571114 - ], - [ - 159.070803, - -31.523613 - ] - ] - ], - [ - [ - [ - 153.451357, - -27.729164 - ], - [ - 153.538576, - -27.416664 - ], - [ - 153.433596, - -27.416111 - ], - [ - 153.451357, - -27.729164 - ] - ] - ], - [ - [ - [ - 153.41498, - -27.248055 - ], - [ - 153.425264, - -27.362778 - ], - [ - 153.454134, - -27.01778 - ], - [ - 153.41498, - -27.248055 - ] - ] - ], - [ - [ - [ - 113.209154, - -26.140835 - ], - [ - 112.951105, - -25.488609 - ], - [ - 112.953325, - -25.786945 - ], - [ - 113.209154, - -26.140835 - ] - ] - ], - [ - [ - [ - 153.003603, - -25.34 - ], - [ - 152.992464, - -25.307777 - ], - [ - 152.948854, - -25.272503 - ], - [ - 153.003603, - -25.34 - ] - ] - ], - [ - [ - [ - 113.07361, - -25.233608 - ], - [ - 113.101648, - -25.097221 - ], - [ - 113.061655, - -25.278614 - ], - [ - 113.07361, - -25.233608 - ] - ] - ], - [ - [ - [ - 113.139711, - -24.926666 - ], - [ - 113.147219, - -24.760002 - ], - [ - 113.114992, - -24.995831 - ], - [ - 113.139711, - -24.926666 - ] - ] - ], - [ - [ - [ - 153.077181, - -25.798611 - ], - [ - 153.281649, - -24.699165 - ], - [ - 152.943026, - -25.558334 - ], - [ - 153.077181, - -25.798611 - ] - ] - ], - [ - [ - [ - 151.382174, - -23.882778 - ], - [ - 151.326906, - -23.753056 - ], - [ - 151.330538, - -23.813335 - ], - [ - 151.382174, - -23.882778 - ] - ] - ], - [ - [ - [ - 151.269442, - -23.780556 - ], - [ - 151.203035, - -23.528889 - ], - [ - 151.019991, - -23.454445 - ], - [ - 151.269442, - -23.780556 - ] - ] - ], - [ - [ - [ - 150.98218, - -23.195553 - ], - [ - 150.978304, - -23.150555 - ], - [ - 150.947206, - -23.195553 - ], - [ - 150.98218, - -23.195553 - ] - ] - ], - [ - [ - [ - 149.735506, - -22.423054 - ], - [ - 149.760805, - -22.363888 - ], - [ - 149.733583, - -22.340557 - ], - [ - 149.735506, - -22.423054 - ] - ] - ], - [ - [ - [ - 150.49164, - -22.354721 - ], - [ - 150.560244, - -22.304447 - ], - [ - 150.489962, - -22.213055 - ], - [ - 150.49164, - -22.354721 - ] - ] - ], - [ - [ - [ - 149.90082, - -22.228333 - ], - [ - 149.908327, - -22.046946 - ], - [ - 149.865786, - -22.173889 - ], - [ - 149.90082, - -22.228333 - ] - ] - ], - [ - [ - [ - 150.336916, - -21.775558 - ], - [ - 150.358858, - -21.73333 - ], - [ - 150.294436, - -21.744442 - ], - [ - 150.336916, - -21.775558 - ] - ] - ], - [ - [ - [ - 150.286928, - -21.6875 - ], - [ - 150.305239, - -21.66 - ], - [ - 150.253878, - -21.638054 - ], - [ - 150.286928, - -21.6875 - ] - ] - ], - [ - [ - [ - 115.454988, - -20.782501 - ], - [ - 115.435259, - -20.667221 - ], - [ - 115.303865, - -20.872776 - ], - [ - 115.454988, - -20.782501 - ] - ] - ], - [ - [ - [ - 149.066652, - -20.526669 - ], - [ - 149.074984, - -20.486942 - ], - [ - 149.036928, - -20.501667 - ], - [ - 149.066652, - -20.526669 - ] - ] - ], - [ - [ - [ - 149.00638, - -20.318333 - ], - [ - 148.975527, - -20.154999 - ], - [ - 148.955538, - -20.291389 - ], - [ - 149.00638, - -20.318333 - ] - ] - ], - [ - [ - [ - 148.935793, - -20.171944 - ], - [ - 148.970247, - -20.048611 - ], - [ - 148.881899, - -20.13028 - ], - [ - 148.935793, - -20.171944 - ] - ] - ], - [ - [ - [ - 148.471346, - -20.046391 - ], - [ - 148.48218, - -20.006111 - ], - [ - 148.449709, - -19.970833 - ], - [ - 148.471346, - -20.046391 - ] - ] - ], - [ - [ - [ - 146.867739, - -19.165001 - ], - [ - 146.869692, - -19.106667 - ], - [ - 146.776094, - -19.131111 - ], - [ - 146.867739, - -19.165001 - ] - ] - ], - [ - [ - [ - 146.29941, - -18.489441 - ], - [ - 146.269716, - -18.308334 - ], - [ - 146.083315, - -18.256111 - ], - [ - 146.29941, - -18.489441 - ] - ] - ], - [ - [ - [ - 139.576082, - -17.095833 - ], - [ - 139.502779, - -16.996666 - ], - [ - 139.398867, - -17.091389 - ], - [ - 139.576082, - -17.095833 - ] - ] - ], - [ - [ - [ - 139.112185, - -16.862221 - ], - [ - 139.139986, - -16.810558 - ], - [ - 139.090792, - -16.826668 - ], - [ - 139.112185, - -16.862221 - ] - ] - ], - [ - [ - [ - 139.736361, - -16.497219 - ], - [ - 139.306643, - -16.462498 - ], - [ - 139.140261, - -16.755001 - ], - [ - 139.736361, - -16.497219 - ] - ] - ], - [ - [ - [ - 136.667208, - -15.776667 - ], - [ - 136.713015, - -15.697779 - ], - [ - 136.634981, - -15.676111 - ], - [ - 136.667208, - -15.776667 - ] - ] - ], - [ - [ - [ - 136.741915, - -15.752224 - ], - [ - 136.80942, - -15.650278 - ], - [ - 136.734133, - -15.648056 - ], - [ - 136.741915, - -15.752224 - ] - ] - ], - [ - [ - [ - 137.067202, - -15.829445 - ], - [ - 137.003054, - -15.591389 - ], - [ - 136.93442, - -15.698889 - ], - [ - 137.067202, - -15.829445 - ] - ] - ], - [ - [ - [ - 136.52997, - -15.645279 - ], - [ - 136.59775, - -15.61611 - ], - [ - 136.579409, - -15.511112 - ], - [ - 136.52997, - -15.645279 - ] - ] - ], - [ - [ - [ - 136.851351, - -15.634167 - ], - [ - 136.878572, - -15.501944 - ], - [ - 136.841921, - -15.549723 - ], - [ - 136.851351, - -15.634167 - ] - ] - ], - [ - [ - [ - 124.621645, - -15.412222 - ], - [ - 124.542215, - -15.261667 - ], - [ - 124.459429, - -15.366943 - ], - [ - 124.522493, - -15.445278 - ], - [ - 124.621645, - -15.412222 - ] - ] - ], - [ - [ - [ - 124.426378, - -15.315001 - ], - [ - 124.437479, - -15.249443 - ], - [ - 124.336649, - -15.296112 - ], - [ - 124.426378, - -15.315001 - ] - ] - ], - [ - [ - [ - 124.816095, - -15.281113 - ], - [ - 124.849993, - -15.247221 - ], - [ - 124.797495, - -15.239721 - ], - [ - 124.816095, - -15.281113 - ] - ] - ], - [ - [ - [ - 128.191927, - -15.188612 - ], - [ - 128.120516, - -15.043055 - ], - [ - 128.114687, - -15.131943 - ], - [ - 128.191927, - -15.188612 - ] - ] - ], - [ - [ - [ - 124.943316, - -15.030001 - ], - [ - 124.924425, - -14.945 - ], - [ - 124.874689, - -14.952223 - ], - [ - 124.943316, - -15.030001 - ] - ] - ], - [ - [ - [ - 128.441072, - -15.0375 - ], - [ - 128.356356, - -14.870277 - ], - [ - 128.35718, - -14.959999 - ], - [ - 128.441072, - -15.0375 - ] - ] - ], - [ - [ - [ - 135.764986, - -14.904167 - ], - [ - 135.728304, - -14.836666 - ], - [ - 135.699404, - -14.907778 - ], - [ - 135.764986, - -14.904167 - ] - ] - ], - [ - [ - [ - 129.629946, - -14.879444 - ], - [ - 129.6308, - -14.850832 - ], - [ - 129.580538, - -14.802778 - ], - [ - 129.629946, - -14.879444 - ] - ] - ], - [ - [ - [ - 129.589418, - -14.907778 - ], - [ - 129.501925, - -14.788612 - ], - [ - 129.59247, - -14.966665 - ], - [ - 129.589418, - -14.907778 - ] - ] - ], - [ - [ - [ - 125.138323, - -14.648611 - ], - [ - 125.159418, - -14.438334 - ], - [ - 125.084719, - -14.617222 - ], - [ - 125.138323, - -14.648611 - ] - ] - ], - [ - [ - [ - 126.606371, - -13.895554 - ], - [ - 126.502489, - -13.877777 - ], - [ - 126.511934, - -13.909445 - ], - [ - 126.606371, - -13.895554 - ] - ] - ], - [ - [ - [ - 136.711641, - -13.835833 - ], - [ - 136.378023, - -14.216389 - ], - [ - 136.941652, - -14.277779 - ], - [ - 136.699404, - -14.120832 - ], - [ - 136.912477, - -13.774445 - ], - [ - 136.711641, - -13.835833 - ] - ] - ], - [ - [ - [ - 136.288301, - -13.733332 - ], - [ - 136.198854, - -13.664722 - ], - [ - 136.105532, - -13.818056 - ], - [ - 136.288301, - -13.733332 - ] - ] - ], - [ - [ - [ - 136.15082, - -13.485832 - ], - [ - 136.098848, - -13.361111 - ], - [ - 136.161654, - -13.531113 - ], - [ - 136.15082, - -13.485832 - ] - ] - ], - [ - [ - [ - 132.404696, - -12.140835 - ], - [ - 132.402193, - -12.072222 - ], - [ - 132.340242, - -12.089722 - ], - [ - 132.404696, - -12.140835 - ] - ] - ], - [ - [ - [ - 136.820528, - -12.140556 - ], - [ - 136.826082, - -12.072222 - ], - [ - 136.800539, - -12.094166 - ], - [ - 136.820528, - -12.140556 - ] - ] - ], - [ - [ - [ - 134.909975, - -12.121111 - ], - [ - 134.927767, - -12.072777 - ], - [ - 134.866915, - -12.066666 - ], - [ - 134.909975, - -12.121111 - ] - ] - ], - [ - [ - [ - 134.985781, - -12.034166 - ], - [ - 134.911379, - -12.022223 - ], - [ - 134.944979, - -12.06139 - ], - [ - 134.985781, - -12.034166 - ] - ] - ], - [ - [ - [ - 136.281923, - -12.035557 - ], - [ - 136.306368, - -11.976944 - ], - [ - 136.158327, - -12.071388 - ], - [ - 136.281923, - -12.035557 - ] - ] - ], - [ - [ - [ - 135.115511, - -11.934444 - ], - [ - 135.064974, - -11.913612 - ], - [ - 135.047487, - -11.945555 - ], - [ - 135.115511, - -11.934444 - ] - ] - ], - [ - [ - [ - 136.473574, - -11.911112 - ], - [ - 136.494967, - -11.803055 - ], - [ - 136.469423, - -11.840555 - ], - [ - 136.473574, - -11.911112 - ] - ] - ], - [ - [ - [ - 136.589418, - -11.780556 - ], - [ - 136.624666, - -11.740276 - ], - [ - 136.516085, - -11.798611 - ], - [ - 136.589418, - -11.780556 - ] - ] - ], - [ - [ - [ - 136.012758, - -11.719166 - ], - [ - 136.053865, - -11.66 - ], - [ - 135.959963, - -11.684166 - ], - [ - 136.012758, - -11.719166 - ] - ] - ], - [ - [ - [ - 132.560244, - -11.724443 - ], - [ - 132.643038, - -11.648056 - ], - [ - 132.513887, - -11.64389 - ], - [ - 132.560244, - -11.724443 - ] - ] - ], - [ - [ - [ - 133.383883, - -11.6675 - ], - [ - 133.482454, - -11.586945 - ], - [ - 133.366915, - -11.614721 - ], - [ - 133.383883, - -11.6675 - ] - ] - ], - [ - [ - [ - 136.470522, - -11.519167 - ], - [ - 136.478853, - -11.46611 - ], - [ - 136.178316, - -11.687778 - ], - [ - 136.470522, - -11.519167 - ] - ] - ], - [ - [ - [ - 133.505556, - -11.503889 - ], - [ - 133.469423, - -11.460833 - ], - [ - 133.391359, - -11.54389 - ], - [ - 133.505556, - -11.503889 - ] - ] - ], - [ - [ - [ - 130.49106, - -11.688612 - ], - [ - 130.34247, - -11.32361 - ], - [ - 130.01639, - -11.779722 - ], - [ - 130.49106, - -11.688612 - ] - ] - ], - [ - [ - [ - 130.573305, - -11.349443 - ], - [ - 130.377443, - -11.170555 - ], - [ - 130.958864, - -11.938889 - ], - [ - 131.539156, - -11.461666 - ], - [ - 131.274996, - -11.189167 - ], - [ - 130.573305, - -11.349443 - ] - ] - ], - [ - [ - [ - 132.623842, - -11.279167 - ], - [ - 132.578859, - -11.022501 - ], - [ - 132.512484, - -11.143057 - ], - [ - 132.623842, - -11.279167 - ] - ] - ], - [ - [ - [ - 136.536104, - -11.455 - ], - [ - 136.724977, - -11.206944 - ], - [ - 136.771914, - -11.019722 - ], - [ - 136.536104, - -11.455 - ] - ] - ], - [ - [ - [ - 142.512758, - -10.866943 - ], - [ - 142.141939, - -10.956667 - ], - [ - 142.028872, - -12.062222 - ], - [ - 141.589418, - -12.546946 - ], - [ - 141.752474, - -12.467222 - ], - [ - 141.940798, - -12.875832 - ], - [ - 141.798586, - -12.685833 - ], - [ - 141.583864, - -12.989166 - ], - [ - 141.426912, - -16.079166 - ], - [ - 140.494967, - -17.640835 - ], - [ - 139.26053, - -17.342499 - ], - [ - 139.017488, - -16.903053 - ], - [ - 138.190248, - -16.704998 - ], - [ - 137.730806, - -16.246109 - ], - [ - 136.76581, - -15.904446 - ], - [ - 135.456636, - -14.941111 - ], - [ - 136.020266, - -13.762501 - ], - [ - 135.923861, - -13.281389 - ], - [ - 136.350527, - -13.0525 - ], - [ - 136.45801, - -13.252501 - ], - [ - 136.494417, - -12.779167 - ], - [ - 136.981905, - -12.356943 - ], - [ - 136.562197, - -11.934444 - ], - [ - 136.039705, - -12.471666 - ], - [ - 136.023043, - -12.111944 - ], - [ - 135.66971, - -12.196667 - ], - [ - 135.908022, - -11.763056 - ], - [ - 135.231356, - -12.294445 - ], - [ - 133.183046, - -11.716665 - ], - [ - 132.337465, - -11.129166 - ], - [ - 132.143312, - -11.133333 - ], - [ - 132.199709, - -11.412779 - ], - [ - 131.979952, - -11.125555 - ], - [ - 131.766939, - -11.316389 - ], - [ - 132.09247, - -11.52639 - ], - [ - 132.489962, - -11.476944 - ], - [ - 132.691072, - -11.655001 - ], - [ - 132.627748, - -12.041945 - ], - [ - 132.754427, - -12.132776 - ], - [ - 132.383608, - -12.379999 - ], - [ - 131.027193, - -12.145554 - ], - [ - 130.896364, - -12.640278 - ], - [ - 130.58304, - -12.395279 - ], - [ - 130.695253, - -12.702499 - ], - [ - 130.14081, - -12.924168 - ], - [ - 130.264437, - -13.325277 - ], - [ - 129.88611, - -13.445278 - ], - [ - 129.370241, - -14.333332 - ], - [ - 129.944429, - -14.767778 - ], - [ - 129.643862, - -14.837221 - ], - [ - 129.732454, - -15.197222 - ], - [ - 128.530275, - -14.759167 - ], - [ - 128.381899, - -14.8025 - ], - [ - 128.452456, - -15.046389 - ], - [ - 128.350801, - -15.044724 - ], - [ - 128.314974, - -14.907778 - ], - [ - 128.194124, - -15.056667 - ], - [ - 128.28998, - -15.405279 - ], - [ - 128.129244, - -15.212889 - ], - [ - 128.013613, - -15.5 - ], - [ - 128.169436, - -14.702778 - ], - [ - 127.420824, - -13.949722 - ], - [ - 126.862764, - -13.749165 - ], - [ - 126.287775, - -14.233055 - ], - [ - 126.019442, - -13.919167 - ], - [ - 126.037203, - -14.516666 - ], - [ - 125.718874, - -14.400278 - ], - [ - 125.637209, - -14.635 - ], - [ - 125.606936, - -14.223055 - ], - [ - 125.588884, - -14.549444 - ], - [ - 125.135538, - -14.741388 - ], - [ - 125.433321, - -15.138613 - ], - [ - 124.825548, - -15.155834 - ], - [ - 125.18181, - -15.520685 - ], - [ - 124.702211, - -15.252501 - ], - [ - 124.656374, - -15.479721 - ], - [ - 124.447748, - -15.486387 - ], - [ - 124.401384, - -15.871111 - ], - [ - 124.728319, - -15.810556 - ], - [ - 124.400545, - -16.329445 - ], - [ - 124.899431, - -16.415001 - ], - [ - 124.238588, - -16.406666 - ], - [ - 123.964434, - -16.245552 - ], - [ - 123.891375, - -16.378887 - ], - [ - 123.729433, - -16.138889 - ], - [ - 123.569719, - -16.171944 - ], - [ - 123.708879, - -16.430279 - ], - [ - 123.424425, - -16.502502 - ], - [ - 123.918322, - -17.204445 - ], - [ - 123.596651, - -16.989998 - ], - [ - 123.575274, - -17.5975 - ], - [ - 122.917765, - -16.415554 - ], - [ - 122.17499, - -17.243332 - ], - [ - 122.353319, - -18.105555 - ], - [ - 121.027483, - -19.592224 - ], - [ - 119.082491, - -19.967499 - ], - [ - 117.688028, - -20.675831 - ], - [ - 116.707491, - -20.649166 - ], - [ - 114.651094, - -21.84 - ], - [ - 114.153872, - -22.527779 - ], - [ - 114.018053, - -21.850834 - ], - [ - 113.389711, - -24.429443 - ], - [ - 114.259165, - -25.846668 - ], - [ - 114.220835, - -26.306389 - ], - [ - 114.066095, - -26.461945 - ], - [ - 113.878862, - -26.028889 - ], - [ - 113.711931, - -26.195278 - ], - [ - 113.469439, - -25.540836 - ], - [ - 113.391665, - -25.718056 - ], - [ - 113.855822, - -26.507504 - ], - [ - 113.641375, - -26.652779 - ], - [ - 113.279161, - -26.018333 - ], - [ - 113.224428, - -26.239166 - ], - [ - 114.885538, - -29.201111 - ], - [ - 115.045534, - -30.506947 - ], - [ - 115.739435, - -31.865276 - ], - [ - 115.711115, - -33.269997 - ], - [ - 115.363604, - -33.633057 - ], - [ - 114.988726, - -33.522537 - ], - [ - 115.008043, - -34.263062 - ], - [ - 116.46332, - -35.000839 - ], - [ - 117.93442, - -35.125832 - ], - [ - 120.004992, - -33.928886 - ], - [ - 123.540819, - -33.90583 - ], - [ - 124.281939, - -32.985558 - ], - [ - 125.968325, - -32.266113 - ], - [ - 127.267763, - -32.278336 - ], - [ - 128.987459, - -31.694164 - ], - [ - 131.152193, - -31.474167 - ], - [ - 132.203859, - -32.03167 - ], - [ - 132.764437, - -31.950832 - ], - [ - 133.417208, - -32.213333 - ], - [ - 133.622194, - -32.098335 - ], - [ - 133.952181, - -32.394722 - ], - [ - 133.8519, - -32.545006 - ], - [ - 134.184145, - -32.486664 - ], - [ - 134.269136, - -33.159721 - ], - [ - 134.709139, - -33.179169 - ], - [ - 135.506929, - -34.618057 - ], - [ - 135.105806, - -34.599998 - ], - [ - 135.954134, - -35.010284 - ], - [ - 135.932741, - -34.541946 - ], - [ - 137.209963, - -33.666107 - ], - [ - 137.778322, - -32.9925 - ], - [ - 137.773317, - -32.523613 - ], - [ - 137.950258, - -33.559441 - ], - [ - 137.449984, - -34.15139 - ], - [ - 137.437746, - -34.934723 - ], - [ - 137.019991, - -34.901108 - ], - [ - 136.830538, - -35.254723 - ], - [ - 137.744692, - -35.138611 - ], - [ - 138.098024, - -34.137222 - ], - [ - 138.514162, - -35.028053 - ], - [ - 138.093019, - -35.620834 - ], - [ - 139.355227, - -35.372498 - ], - [ - 139.337191, - -35.69416 - ], - [ - 139.096743, - -35.615887 - ], - [ - 139.667757, - -36.230827 - ], - [ - 139.077349, - -35.682636 - ], - [ - 139.820528, - -36.545837 - ], - [ - 139.814425, - -37.299728 - ], - [ - 140.52997, - -38.000282 - ], - [ - 141.571352, - -38.417221 - ], - [ - 142.388887, - -38.364723 - ], - [ - 143.543856, - -38.860001 - ], - [ - 144.92914, - -37.869164 - ], - [ - 145.132448, - -38.140282 - ], - [ - 144.898867, - -38.504448 - ], - [ - 145.441347, - -38.226105 - ], - [ - 145.557192, - -38.376389 - ], - [ - 145.416079, - -38.545837 - ], - [ - 146.394136, - -39.147224 - ], - [ - 146.223024, - -38.712502 - ], - [ - 146.873568, - -38.651665 - ], - [ - 147.764437, - -37.979996 - ], - [ - 149.973848, - -37.520554 - ], - [ - 150.162477, - -35.940552 - ], - [ - 150.840517, - -35.082779 - ], - [ - 151.452761, - -33.319168 - ], - [ - 152.529696, - -32.40361 - ], - [ - 153.052462, - -31.035 - ], - [ - 153.625521, - -28.666664 - ], - [ - 153.033876, - -27.179443 - ], - [ - 153.181917, - -25.949444 - ], - [ - 151.937197, - -24.221664 - ], - [ - 151.68387, - -23.988888 - ], - [ - 151.538576, - -24.089169 - ], - [ - 150.867189, - -23.505001 - ], - [ - 150.637209, - -22.343891 - ], - [ - 150.593019, - -22.586113 - ], - [ - 150.034151, - -22.149723 - ], - [ - 150.043306, - -22.650833 - ], - [ - 149.661104, - -22.496666 - ], - [ - 149.214693, - -21.080002 - ], - [ - 148.691652, - -20.624443 - ], - [ - 148.935518, - -20.53278 - ], - [ - 148.777468, - -20.232498 - ], - [ - 146.27527, - -18.883888 - ], - [ - 146.336916, - -18.536667 - ], - [ - 146.009432, - -18.238052 - ], - [ - 146.10663, - -17.683609 - ], - [ - 145.878023, - -17.062778 - ], - [ - 145.960512, - -16.895279 - ], - [ - 145.403597, - -16.462219 - ], - [ - 145.315798, - -14.945555 - ], - [ - 144.51053, - -14.168333 - ], - [ - 143.782198, - -14.413334 - ], - [ - 143.42914, - -12.614445 - ], - [ - 142.512758, - -10.866943 - ] - ] - ], - [ - [ - [ - 142.26581, - -10.683611 - ], - [ - 142.115236, - -10.660557 - ], - [ - 142.183321, - -10.770279 - ], - [ - 142.26581, - -10.683611 - ] - ] - ], - [ - [ - [ - 142.278048, - -10.643612 - ], - [ - 142.31415, - -10.584166 - ], - [ - 142.249697, - -10.5875 - ], - [ - 142.278048, - -10.643612 - ] - ] - ], - [ - [ - [ - 142.230806, - -10.56889 - ], - [ - 142.226625, - -10.525278 - ], - [ - 142.191347, - -10.565834 - ], - [ - 142.230806, - -10.56889 - ] - ] - ], - [ - [ - [ - 142.321077, - -10.548611 - ], - [ - 142.318026, - -10.513889 - ], - [ - 142.292208, - -10.53389 - ], - [ - 142.321077, - -10.548611 - ] - ] - ], - [ - [ - [ - 142.285524, - -10.264723 - ], - [ - 142.330538, - -10.171946 - ], - [ - 142.225801, - -10.146112 - ], - [ - 142.285524, - -10.264723 - ] - ] - ], - [ - [ - [ - 142.157747, - -10.189722 - ], - [ - 142.143587, - -10.051666 - ], - [ - 142.089693, - -10.13389 - ], - [ - 142.157747, - -10.189722 - ] - ] - ] - ] - }, - "name" : "Australia", - "iso2" : "AU", - "iso3" : "AUS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "TL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 50.812492, - 25.64222 - ], - [ - 50.821388, - 25.651943 - ], - [ - 50.782219, - 25.659443 - ], - [ - 50.812492, - 25.64222 - ] - ] - ], - [ - [ - [ - 50.813332, - 25.678608 - ], - [ - 50.807777, - 25.68972 - ], - [ - 50.804161, - 25.680553 - ], - [ - 50.813332, - 25.678608 - ] - ] - ], - [ - [ - [ - 50.76194, - 25.595276 - ], - [ - 50.796661, - 25.728333 - ], - [ - 50.741661, - 25.683052 - ], - [ - 50.76194, - 25.595276 - ] - ] - ], - [ - [ - [ - 50.769722, - 25.746944 - ], - [ - 50.764717, - 25.754719 - ], - [ - 50.760551, - 25.750275 - ], - [ - 50.769722, - 25.746944 - ] - ] - ], - [ - [ - [ - 50.532219, - 26.234444 - ], - [ - 50.461662, - 25.965275 - ], - [ - 50.57333, - 25.809723 - ], - [ - 50.532219, - 26.234444 - ] - ] - ], - [ - [ - [ - 50.65361, - 26.247498 - ], - [ - 50.62722, - 26.288887 - ], - [ - 50.604439, - 26.267776 - ], - [ - 50.65361, - 26.247498 - ] - ] - ] - ] - }, - "name" : "Bahrain", - "iso2" : "BH", - "iso3" : "BHR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Tb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -59.533058, - 13.050554 - ], - [ - -59.429169, - 13.164999 - ], - [ - -59.641113, - 13.331388 - ], - [ - -59.533058, - 13.050554 - ] - ] - ] - }, - "name" : "Barbados", - "iso2" : "BB", - "iso3" : "BRB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Tr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -64.855835, - 32.27861 - ], - [ - -64.838058, - 32.314163 - ], - [ - -64.874451, - 32.293053 - ], - [ - -64.855835, - 32.27861 - ] - ] - ], - [ - [ - [ - -64.643341, - 32.354439 - ], - [ - -64.655289, - 32.370827 - ], - [ - -64.685837, - 32.357216 - ], - [ - -64.643341, - 32.354439 - ] - ] - ], - [ - [ - [ - -64.78334, - 32.270554 - ], - [ - -64.671677, - 32.379997 - ], - [ - -64.858269, - 32.266796 - ], - [ - -64.78334, - 32.270554 - ] - ] - ] - ] - }, - "name" : "Bermuda", - "iso2" : "BM", - "iso3" : "BMU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "T71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -73.037231, - 21.139444 - ], - [ - -73.024445, - 21.332499 - ], - [ - -73.685837, - 20.935556 - ], - [ - -73.037231, - 21.139444 - ] - ] - ], - [ - [ - [ - -72.924728, - 21.48361 - ], - [ - -73.067505, - 21.507776 - ], - [ - -73.038071, - 21.434999 - ], - [ - -72.924728, - 21.48361 - ] - ] - ], - [ - [ - [ - -72.829178, - 22.382223 - ], - [ - -73.164734, - 22.370832 - ], - [ - -72.781403, - 22.284166 - ], - [ - -72.829178, - 22.382223 - ] - ] - ], - [ - [ - [ - -73.610291, - 22.579721 - ], - [ - -73.598343, - 22.614721 - ], - [ - -73.62056, - 22.599722 - ], - [ - -73.610291, - 22.579721 - ] - ] - ], - [ - [ - [ - -73.462784, - 22.601946 - ], - [ - -73.497787, - 22.618891 - ], - [ - -73.551392, - 22.612223 - ], - [ - -73.462784, - 22.601946 - ] - ] - ], - [ - [ - [ - -74.377792, - 22.538889 - ], - [ - -74.280014, - 22.6625 - ], - [ - -74.379456, - 22.576387 - ], - [ - -74.377792, - 22.538889 - ] - ] - ], - [ - [ - [ - -73.847229, - 22.723612 - ], - [ - -74.281403, - 22.173056 - ], - [ - -73.867508, - 22.469446 - ], - [ - -73.847229, - 22.723612 - ] - ] - ], - [ - [ - [ - -74.073624, - 22.663332 - ], - [ - -74.017792, - 22.716391 - ], - [ - -74.343903, - 22.835001 - ], - [ - -74.073624, - 22.663332 - ] - ] - ], - [ - [ - [ - -73.728897, - 23.070555 - ], - [ - -73.665009, - 23.088888 - ], - [ - -73.813614, - 23.096945 - ], - [ - -73.728897, - 23.070555 - ] - ] - ], - [ - [ - [ - -75.551117, - 23.431391 - ], - [ - -75.650848, - 23.455832 - ], - [ - -75.525009, - 23.404444 - ], - [ - -75.551117, - 23.431391 - ] - ] - ], - [ - [ - [ - -75.021393, - 23.10639 - ], - [ - -74.830566, - 22.860834 - ], - [ - -75.30751, - 23.667776 - ], - [ - -75.021393, - 23.10639 - ] - ] - ], - [ - [ - [ - -75.771957, - 23.499723 - ], - [ - -76.028624, - 23.672499 - ], - [ - -75.991119, - 23.599443 - ], - [ - -75.771957, - 23.499723 - ] - ] - ], - [ - [ - [ - -74.781952, - 23.683889 - ], - [ - -74.948624, - 23.685278 - ], - [ - -74.819733, - 23.639444 - ], - [ - -74.781952, - 23.683889 - ] - ] - ], - [ - [ - [ - -76.363892, - 24.072222 - ], - [ - -76.398346, - 24.113333 - ], - [ - -76.321671, - 23.972776 - ], - [ - -76.363892, - 24.072222 - ] - ] - ], - [ - [ - [ - -74.49028, - 23.954443 - ], - [ - -74.460846, - 24.142778 - ], - [ - -74.526947, - 24.100832 - ], - [ - -74.49028, - 23.954443 - ] - ] - ], - [ - [ - [ - -77.946671, - 24.15 - ], - [ - -77.800293, - 24.253332 - ], - [ - -77.97168, - 24.193609 - ], - [ - -77.946671, - 24.15 - ] - ] - ], - [ - [ - [ - -77.936676, - 24.225832 - ], - [ - -77.931122, - 24.279444 - ], - [ - -78.019455, - 24.250834 - ], - [ - -77.936676, - 24.225832 - ] - ] - ], - [ - [ - [ - -76.468903, - 24.210001 - ], - [ - -76.545288, - 24.290277 - ], - [ - -76.503616, - 24.217779 - ], - [ - -76.468903, - 24.210001 - ] - ] - ], - [ - [ - [ - -77.735565, - 24.028612 - ], - [ - -77.676392, - 24.29611 - ], - [ - -77.876678, - 24.073057 - ], - [ - -77.566956, - 23.739168 - ], - [ - -77.606674, - 24.213888 - ], - [ - -77.735565, - 24.028612 - ] - ] - ], - [ - [ - [ - -77.686951, - 24.337221 - ], - [ - -77.703339, - 24.369722 - ], - [ - -77.806671, - 24.319723 - ], - [ - -77.686951, - 24.337221 - ] - ] - ], - [ - [ - [ - -75.314728, - 24.213888 - ], - [ - -75.739456, - 24.695002 - ], - [ - -75.515015, - 24.139723 - ], - [ - -75.314728, - 24.213888 - ] - ] - ], - [ - [ - [ - -77.436401, - 25.008055 - ], - [ - -77.258621, - 25.049444 - ], - [ - -77.561401, - 25.027498 - ], - [ - -77.436401, - 25.008055 - ] - ] - ], - [ - [ - [ - -78.191956, - 25.203611 - ], - [ - -78.19278, - 24.597502 - ], - [ - -78.440567, - 24.613611 - ], - [ - -78.021393, - 24.272779 - ], - [ - -77.716675, - 24.506666 - ], - [ - -78.191956, - 25.203611 - ] - ] - ], - [ - [ - [ - -76.53334, - 25.398333 - ], - [ - -76.735291, - 25.559168 - ], - [ - -76.715836, - 25.441668 - ], - [ - -76.355835, - 25.318335 - ], - [ - -76.171677, - 25.140833 - ], - [ - -76.168335, - 24.690001 - ], - [ - -76.118895, - 25.131109 - ], - [ - -76.349701, - 25.343283 - ], - [ - -76.53334, - 25.398333 - ] - ] - ], - [ - [ - [ - -77.821945, - 25.702223 - ], - [ - -77.8564, - 25.775278 - ], - [ - -77.888062, - 25.785002 - ], - [ - -77.821945, - 25.702223 - ] - ] - ], - [ - [ - [ - -77.563339, - 26.268888 - ], - [ - -77.537231, - 26.306944 - ], - [ - -77.57251, - 26.336111 - ], - [ - -77.563339, - 26.268888 - ] - ] - ], - [ - [ - [ - -77.917236, - 26.745279 - ], - [ - -78.978897, - 26.695276 - ], - [ - -78.708618, - 26.489721 - ], - [ - -77.917236, - 26.745279 - ] - ] - ], - [ - [ - [ - -77.735001, - 26.914446 - ], - [ - -77.950287, - 26.897779 - ], - [ - -77.148895, - 26.548887 - ], - [ - -77.398056, - 26.026388 - ], - [ - -77.204727, - 25.880835 - ], - [ - -77.042236, - 26.50889 - ], - [ - -77.735001, - 26.914446 - ] - ] - ] - ] - }, - "name" : "Bahamas", - "iso2" : "BS", - "iso3" : "BHS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "UL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 91.897493, - 21.476664 - ], - [ - 91.98221, - 21.623888 - ], - [ - 91.88109, - 21.755278 - ], - [ - 91.897493, - 21.476664 - ] - ] - ], - [ - [ - [ - 90.490541, - 21.80361 - ], - [ - 90.492754, - 21.814444 - ], - [ - 90.467485, - 21.820555 - ], - [ - 90.490541, - 21.80361 - ] - ] - ], - [ - [ - [ - 90.432482, - 21.819998 - ], - [ - 90.452776, - 21.850275 - ], - [ - 90.412767, - 21.82361 - ], - [ - 90.432482, - 21.819998 - ] - ] - ], - [ - [ - [ - 89.12665, - 21.714163 - ], - [ - 89.146379, - 21.748884 - ], - [ - 89.050539, - 21.914721 - ], - [ - 89.12665, - 21.714163 - ] - ] - ], - [ - [ - [ - 90.753054, - 21.891943 - ], - [ - 90.762209, - 21.906385 - ], - [ - 90.744432, - 21.922499 - ], - [ - 90.753054, - 21.891943 - ] - ] - ], - [ - [ - [ - 91.832766, - 21.722219 - ], - [ - 91.886385, - 21.842775 - ], - [ - 91.863039, - 21.928053 - ], - [ - 91.832766, - 21.722219 - ] - ] - ], - [ - [ - [ - 90.643877, - 21.906107 - ], - [ - 90.665545, - 21.955553 - ], - [ - 90.633333, - 21.930552 - ], - [ - 90.643877, - 21.906107 - ] - ] - ], - [ - [ - [ - 90.699144, - 21.954718 - ], - [ - 90.690538, - 21.972773 - ], - [ - 90.675264, - 21.949999 - ], - [ - 90.699144, - 21.954718 - ] - ] - ], - [ - [ - [ - 90.522493, - 21.855833 - ], - [ - 90.58832, - 21.981386 - ], - [ - 90.519716, - 21.935553 - ], - [ - 90.522493, - 21.855833 - ] - ] - ], - [ - [ - [ - 90.410814, - 21.899443 - ], - [ - 90.484987, - 21.964998 - ], - [ - 90.430269, - 22.042223 - ], - [ - 90.410814, - 21.899443 - ] - ] - ], - [ - [ - [ - 90.374147, - 22.01 - ], - [ - 90.380266, - 22.050554 - ], - [ - 90.341661, - 21.966387 - ], - [ - 90.374147, - 22.01 - ] - ] - ], - [ - [ - [ - 90.523607, - 21.991106 - ], - [ - 90.6122, - 22.163885 - ], - [ - 90.486925, - 22.078886 - ], - [ - 90.523607, - 21.991106 - ] - ] - ], - [ - [ - [ - 90.516939, - 22.162218 - ], - [ - 90.527773, - 22.179441 - ], - [ - 90.512209, - 22.17111 - ], - [ - 90.516939, - 22.162218 - ] - ] - ], - [ - [ - [ - 90.937487, - 22.112776 - ], - [ - 90.952211, - 22.20944 - ], - [ - 90.914705, - 22.131941 - ], - [ - 90.937487, - 22.112776 - ] - ] - ], - [ - [ - [ - 90.984987, - 22.182497 - ], - [ - 90.991655, - 22.259165 - ], - [ - 90.971926, - 22.240831 - ], - [ - 90.984987, - 22.182497 - ] - ] - ], - [ - [ - [ - 90.949419, - 22.221384 - ], - [ - 90.988588, - 22.286943 - ], - [ - 90.976381, - 22.357775 - ], - [ - 90.949419, - 22.221384 - ] - ] - ], - [ - [ - [ - 91.005831, - 22.368055 - ], - [ - 90.989977, - 22.414164 - ], - [ - 90.985262, - 22.385275 - ], - [ - 91.005831, - 22.368055 - ] - ] - ], - [ - [ - [ - 90.660265, - 22.356386 - ], - [ - 90.610262, - 22.451941 - ], - [ - 90.640276, - 22.308332 - ], - [ - 90.660265, - 22.356386 - ] - ] - ], - [ - [ - [ - 91.036104, - 22.404997 - ], - [ - 91.040545, - 22.453608 - ], - [ - 91.018053, - 22.414721 - ], - [ - 91.036104, - 22.404997 - ] - ] - ], - [ - [ - [ - 91.210543, - 22.412218 - ], - [ - 91.168596, - 22.461386 - ], - [ - 91.185534, - 22.392496 - ], - [ - 91.210543, - 22.412218 - ] - ] - ], - [ - [ - [ - 91.007494, - 22.424997 - ], - [ - 91.009157, - 22.476385 - ], - [ - 90.987764, - 22.440832 - ], - [ - 91.007494, - 22.424997 - ] - ] - ], - [ - [ - [ - 90.663042, - 22.434996 - ], - [ - 90.65555, - 22.478609 - ], - [ - 90.647493, - 22.427774 - ], - [ - 90.663042, - 22.434996 - ] - ] - ], - [ - [ - [ - 91.031664, - 22.084166 - ], - [ - 91.1747, - 22.218607 - ], - [ - 91.088045, - 22.525831 - ], - [ - 91.031664, - 22.084166 - ] - ] - ], - [ - [ - [ - 91.529711, - 22.347776 - ], - [ - 91.431658, - 22.623888 - ], - [ - 91.408327, - 22.472219 - ], - [ - 91.529711, - 22.347776 - ] - ] - ], - [ - [ - [ - 91.339434, - 22.629999 - ], - [ - 91.304705, - 22.628332 - ], - [ - 91.317766, - 22.608889 - ], - [ - 91.339434, - 22.629999 - ] - ] - ], - [ - [ - [ - 90.763887, - 22.064444 - ], - [ - 90.877474, - 22.45722 - ], - [ - 90.58777, - 22.771944 - ], - [ - 90.556932, - 22.605276 - ], - [ - 90.642763, - 22.553053 - ], - [ - 90.68471, - 22.392496 - ], - [ - 90.601091, - 22.034166 - ], - [ - 90.763887, - 22.064444 - ] - ] - ], - [ - [ - [ - 90.547213, - 22.719442 - ], - [ - 90.54162, - 22.783197 - ], - [ - 90.691088, - 22.846945 - ], - [ - 90.469713, - 22.868887 - ], - [ - 90.547213, - 22.719442 - ] - ] - ], - [ - [ - [ - 90.662203, - 22.956385 - ], - [ - 90.570833, - 23.040277 - ], - [ - 90.509157, - 22.951109 - ], - [ - 90.656099, - 22.912218 - ], - [ - 90.632753, - 22.949163 - ], - [ - 90.662203, - 22.956385 - ] - ] - ], - [ - [ - [ - 90.47748, - 23.007776 - ], - [ - 90.51082, - 23.061945 - ], - [ - 90.46332, - 23.059164 - ], - [ - 90.47748, - 23.007776 - ] - ] - ], - [ - [ - [ - 90.529711, - 23.04722 - ], - [ - 90.544985, - 23.065275 - ], - [ - 90.521929, - 23.05472 - ], - [ - 90.529711, - 23.04722 - ] - ] - ], - [ - [ - [ - 90.540819, - 23.343889 - ], - [ - 90.421648, - 23.383055 - ], - [ - 90.590273, - 23.3025 - ], - [ - 90.540819, - 23.343889 - ] - ] - ], - [ - [ - [ - 90.57361, - 23.564722 - ], - [ - 90.584154, - 23.583887 - ], - [ - 90.564425, - 23.576944 - ], - [ - 90.57361, - 23.564722 - ] - ] - ], - [ - [ - [ - 92.600817, - 21.982218 - ], - [ - 92.283327, - 23.705275 - ], - [ - 91.949999, - 23.732218 - ], - [ - 91.613604, - 22.943052 - ], - [ - 91.159426, - 23.640554 - ], - [ - 91.373293, - 24.101942 - ], - [ - 92.12137, - 24.393332 - ], - [ - 92.406374, - 25.030554 - ], - [ - 89.845263, - 25.28861 - ], - [ - 89.739153, - 26.156385 - ], - [ - 89.342775, - 26.017031 - ], - [ - 88.433046, - 26.55139 - ], - [ - 88.110537, - 25.835554 - ], - [ - 89.009432, - 25.288332 - ], - [ - 88.450823, - 25.187777 - ], - [ - 88.043322, - 24.684164 - ], - [ - 88.750536, - 24.220984 - ], - [ - 88.563875, - 23.65222 - ], - [ - 88.986101, - 23.20833 - ], - [ - 89.063005, - 22.115477 - ], - [ - 89.249147, - 21.642496 - ], - [ - 89.620821, - 22.324442 - ], - [ - 89.581102, - 21.701662 - ], - [ - 90.000002, - 22.483751 - ], - [ - 89.932207, - 21.997774 - ], - [ - 90.073046, - 22.162775 - ], - [ - 90.024706, - 21.859999 - ], - [ - 90.272493, - 21.849165 - ], - [ - 90.401384, - 22.260557 - ], - [ - 90.440538, - 22.071665 - ], - [ - 90.617754, - 22.353888 - ], - [ - 90.424402, - 22.770189 - ], - [ - 90.446642, - 23.065001 - ], - [ - 90.5786, - 23.089998 - ], - [ - 90.61249, - 23.222219 - ], - [ - 90.30887, - 23.414442 - ], - [ - 90.593828, - 23.597967 - ], - [ - 90.833605, - 22.685553 - ], - [ - 91.455828, - 22.789999 - ], - [ - 91.699999, - 22.488329 - ], - [ - 92.32361, - 20.73805 - ], - [ - 92.261934, - 21.054312 - ], - [ - 92.26082, - 21.414442 - ], - [ - 92.669344, - 21.296984 - ], - [ - 92.600817, - 21.982218 - ] - ], - [ - [ - 90.237764, - 22.192774 - ], - [ - 90.216097, - 22.114443 - ], - [ - 90.061373, - 21.991774 - ], - [ - 90.237764, - 22.192774 - ] - ], - [ - [ - 90.684984, - 23.482775 - ], - [ - 90.65027, - 23.504168 - ], - [ - 90.691927, - 23.497217 - ], - [ - 90.684984, - 23.482775 - ] - ] - ] - ] - }, - "name" : "Bangladesh", - "iso2" : "BD", - "iso3" : "BGD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ub1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -87.803345, - 17.294167 - ], - [ - -87.82695, - 17.400276 - ], - [ - -87.825012, - 17.291664 - ], - [ - -87.803345, - 17.294167 - ] - ] - ], - [ - [ - [ - -87.820557, - 17.426941 - ], - [ - -87.819458, - 17.549999 - ], - [ - -87.926682, - 17.275555 - ], - [ - -87.820557, - 17.426941 - ] - ] - ], - [ - [ - [ - -88.045013, - 17.552776 - ], - [ - -88.053619, - 17.613052 - ], - [ - -88.070282, - 17.638332 - ], - [ - -88.045013, - 17.552776 - ] - ] - ], - [ - [ - [ - -88.132507, - 17.667221 - ], - [ - -88.072784, - 17.733887 - ], - [ - -88.167511, - 17.66972 - ], - [ - -88.132507, - 17.667221 - ] - ] - ], - [ - [ - [ - -87.892227, - 18.0425 - ], - [ - -87.853058, - 18.164719 - ], - [ - -88.006119, - 17.901943 - ], - [ - -87.892227, - 18.0425 - ] - ] - ], - [ - [ - [ - -88.910568, - 15.89361 - ], - [ - -88.208618, - 16.968609 - ], - [ - -88.281403, - 17.636108 - ], - [ - -88.077789, - 18.215553 - ], - [ - -88.2995, - 18.482929 - ], - [ - -88.377792, - 18.482777 - ], - [ - -89.141953, - 17.818886 - ], - [ - -89.216171, - 15.889851 - ], - [ - -88.910568, - 15.89361 - ] - ] - ] - ] - }, - "name" : "Belize", - "iso2" : "BZ", - "iso3" : "BLZ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ur1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 19.039719, - 44.861382 - ], - [ - 18.251942, - 45.138885 - ], - [ - 15.786665, - 45.171944 - ], - [ - 16.143055, - 44.19944 - ], - [ - 17.578526, - 42.943825 - ], - [ - 17.649841, - 42.889076 - ], - [ - 18.455555, - 42.565826 - ], - [ - 18.699997, - 43.255554 - ], - [ - 19.228809, - 43.513214 - ], - [ - 19.51083, - 43.679718 - ], - [ - 19.237019, - 44.011009 - ], - [ - 19.620476, - 44.048454 - ], - [ - 19.104443, - 44.355827 - ], - [ - 19.371387, - 44.88916 - ], - [ - 19.039719, - 44.861382 - ] - ] - ] - }, - "name" : "Bosnia and Herzegovina", - "iso2" : "BA", - "iso3" : "BIH" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "U71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -67.183624, - -22.821667 - ], - [ - -66.223007, - -21.780521 - ], - [ - -65.748062, - -22.111668 - ], - [ - -65.190201, - -22.09473 - ], - [ - -64.590561, - -22.214725 - ], - [ - -64.324722, - -22.873611 - ], - [ - -63.941116, - -22.000835 - ], - [ - -62.811951, - -21.996948 - ], - [ - -62.643768, - -22.238903 - ], - [ - -61.7425, - -19.645 - ], - [ - -59.09584, - -19.348892 - ], - [ - -58.15139, - -19.828056 - ], - [ - -58.15889, - -20.168056 - ], - [ - -57.848747, - -19.978794 - ], - [ - -58.121117, - -19.74139 - ], - [ - -57.521118, - -18.203892 - ], - [ - -57.743057, - -17.593056 - ], - [ - -58.397507, - -17.249168 - ], - [ - -58.327507, - -16.279167 - ], - [ - -60.160278, - -16.263058 - ], - [ - -60.571396, - -15.097502 - ], - [ - -60.258896, - -15.093613 - ], - [ - -60.47084, - -13.807222 - ], - [ - -61.038979, - -13.493118 - ], - [ - -61.833893, - -13.544724 - ], - [ - -63.075005, - -12.650002 - ], - [ - -64.39418, - -12.461668 - ], - [ - -64.991669, - -12.008057 - ], - [ - -65.392792, - -11.26639 - ], - [ - -65.381958, - -9.697779 - ], - [ - -66.634445, - -9.906946 - ], - [ - -68.58345, - -11.106138 - ], - [ - -69.568436, - -10.951092 - ], - [ - -68.673904, - -12.50115 - ], - [ - -68.974457, - -12.869722 - ], - [ - -68.853058, - -14.199167 - ], - [ - -69.366394, - -14.802502 - ], - [ - -69.136948, - -15.245834 - ], - [ - -69.421951, - -15.618057 - ], - [ - -68.82251, - -16.339725 - ], - [ - -69.618896, - -17.214725 - ], - [ - -69.499725, - -17.50528 - ], - [ - -69.483612, - -17.635559 - ], - [ - -69.071671, - -18.038891 - ], - [ - -68.907791, - -19.055279 - ], - [ - -68.4375, - -19.430279 - ], - [ - -68.756958, - -20.406948 - ], - [ - -68.188614, - -21.296947 - ], - [ - -67.876404, - -22.828056 - ], - [ - -67.183624, - -22.821667 - ] - ] - ] - }, - "name" : "Bolivia", - "iso2" : "BO", - "iso3" : "BOL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "VL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 98.035812, - 9.786386 - ], - [ - 98.060257, - 9.81361 - ], - [ - 98.024994, - 9.838331 - ], - [ - 98.035812, - 9.786386 - ] - ] - ], - [ - [ - [ - 98.29332, - 10.010277 - ], - [ - 98.178589, - 10.017776 - ], - [ - 98.116089, - 9.852497 - ], - [ - 98.29332, - 10.010277 - ] - ] - ], - [ - [ - [ - 98.186646, - 10.040276 - ], - [ - 98.238876, - 10.165833 - ], - [ - 98.198593, - 10.189999 - ], - [ - 98.186646, - 10.040276 - ] - ] - ], - [ - [ - [ - 97.907486, - 10.396944 - ], - [ - 97.942749, - 10.442776 - ], - [ - 97.903595, - 10.490831 - ], - [ - 97.907486, - 10.396944 - ] - ] - ], - [ - [ - [ - 98.216385, - 10.481386 - ], - [ - 98.238876, - 10.529999 - ], - [ - 98.18248, - 10.5075 - ], - [ - 98.216385, - 10.481386 - ] - ] - ], - [ - [ - [ - 98.523605, - 10.781666 - ], - [ - 98.550812, - 10.850275 - ], - [ - 98.486923, - 10.883053 - ], - [ - 98.523605, - 10.781666 - ] - ] - ], - [ - [ - [ - 97.919708, - 10.858332 - ], - [ - 97.916092, - 10.929443 - ], - [ - 97.885818, - 10.843609 - ], - [ - 97.919708, - 10.858332 - ] - ] - ], - [ - [ - [ - 98.212204, - 10.947777 - ], - [ - 98.075546, - 10.88611 - ], - [ - 98.264435, - 10.68972 - ], - [ - 98.212204, - 10.947777 - ] - ] - ], - [ - [ - [ - 98.437195, - 10.961943 - ], - [ - 98.452774, - 11.007776 - ], - [ - 98.429977, - 10.995831 - ], - [ - 98.437195, - 10.961943 - ] - ] - ], - [ - [ - [ - 98.533875, - 10.950554 - ], - [ - 98.524994, - 11.087219 - ], - [ - 98.470535, - 10.983887 - ], - [ - 98.533875, - 10.950554 - ] - ] - ], - [ - [ - [ - 98.256104, - 11.212498 - ], - [ - 98.277771, - 11.276388 - ], - [ - 98.231094, - 11.262499 - ], - [ - 98.256104, - 11.212498 - ] - ] - ], - [ - [ - [ - 98.207489, - 11.443609 - ], - [ - 98.280823, - 11.481665 - ], - [ - 98.289154, - 11.798609 - ], - [ - 98.207489, - 11.443609 - ] - ] - ], - [ - [ - [ - 98.498322, - 11.566109 - ], - [ - 98.548874, - 11.788332 - ], - [ - 98.371368, - 11.78611 - ], - [ - 98.498322, - 11.566109 - ] - ] - ], - [ - [ - [ - 97.487198, - 11.774443 - ], - [ - 97.461655, - 11.803053 - ], - [ - 97.437759, - 11.803331 - ], - [ - 97.487198, - 11.774443 - ] - ] - ], - [ - [ - [ - 98.089981, - 11.631109 - ], - [ - 98.007217, - 11.858332 - ], - [ - 98.033051, - 11.683054 - ], - [ - 98.089981, - 11.631109 - ] - ] - ], - [ - [ - [ - 97.66832, - 11.836943 - ], - [ - 97.664429, - 11.90111 - ], - [ - 97.633881, - 11.876108 - ], - [ - 97.66832, - 11.836943 - ] - ] - ], - [ - [ - [ - 98.271103, - 11.84972 - ], - [ - 98.28804, - 11.887499 - ], - [ - 98.260269, - 11.907221 - ], - [ - 98.271103, - 11.84972 - ] - ] - ], - [ - [ - [ - 98.256378, - 11.92111 - ], - [ - 98.251663, - 11.980276 - ], - [ - 98.226379, - 11.94972 - ], - [ - 98.256378, - 11.92111 - ] - ] - ], - [ - [ - [ - 98.5, - 11.884443 - ], - [ - 98.664993, - 11.941942 - ], - [ - 98.438583, - 12.111387 - ], - [ - 98.5, - 11.884443 - ] - ] - ], - [ - [ - [ - 98.141937, - 12.141943 - ], - [ - 98.124695, - 12.27861 - ], - [ - 98.055542, - 12.281111 - ], - [ - 98.141937, - 12.141943 - ] - ] - ], - [ - [ - [ - 98.640823, - 12.372219 - ], - [ - 98.639709, - 12.380552 - ], - [ - 98.619141, - 12.378885 - ], - [ - 98.640823, - 12.372219 - ] - ] - ], - [ - [ - [ - 98.617805, - 12.352951 - ], - [ - 98.57193, - 12.409164 - ], - [ - 98.540817, - 12.370552 - ], - [ - 98.559708, - 12.328886 - ], - [ - 98.68248, - 12.340553 - ], - [ - 98.617805, - 12.352951 - ] - ] - ], - [ - [ - [ - 98.09166, - 12.360554 - ], - [ - 97.937485, - 12.337498 - ], - [ - 98.005554, - 12.281942 - ], - [ - 98.09166, - 12.360554 - ] - ] - ], - [ - [ - [ - 98.501099, - 12.402222 - ], - [ - 98.498871, - 12.513887 - ], - [ - 98.471924, - 12.417776 - ], - [ - 98.501099, - 12.402222 - ] - ] - ], - [ - [ - [ - 98.285812, - 12.502499 - ], - [ - 98.229706, - 12.548054 - ], - [ - 98.243317, - 12.49222 - ], - [ - 98.285812, - 12.502499 - ] - ] - ], - [ - [ - [ - 97.853592, - 12.539999 - ], - [ - 97.837494, - 12.598053 - ], - [ - 97.817764, - 12.583332 - ], - [ - 97.853592, - 12.539999 - ] - ] - ], - [ - [ - [ - 98.349426, - 12.316942 - ], - [ - 98.466934, - 12.570831 - ], - [ - 98.32193, - 12.67111 - ], - [ - 98.349426, - 12.316942 - ] - ] - ], - [ - [ - [ - 97.872208, - 12.764166 - ], - [ - 97.844147, - 12.819443 - ], - [ - 97.83728, - 12.772419 - ], - [ - 97.872208, - 12.764166 - ] - ] - ], - [ - [ - [ - 98.304153, - 13.041666 - ], - [ - 98.239426, - 13.213331 - ], - [ - 98.298035, - 12.941387 - ], - [ - 98.304153, - 13.041666 - ] - ] - ], - [ - [ - [ - 97.921097, - 13.783054 - ], - [ - 97.934708, - 13.851664 - ], - [ - 97.921921, - 13.861664 - ], - [ - 97.921097, - 13.783054 - ] - ] - ], - [ - [ - [ - 97.924423, - 13.905832 - ], - [ - 97.91835, - 13.939081 - ], - [ - 97.923035, - 13.894444 - ], - [ - 97.924423, - 13.905832 - ] - ] - ], - [ - [ - [ - 93.380539, - 14.064165 - ], - [ - 93.400818, - 14.096109 - ], - [ - 93.386383, - 14.151665 - ], - [ - 93.380539, - 14.064165 - ] - ] - ], - [ - [ - [ - 97.806366, - 14.134443 - ], - [ - 97.814148, - 14.179998 - ], - [ - 97.789154, - 14.155277 - ], - [ - 97.806366, - 14.134443 - ] - ] - ], - [ - [ - [ - 93.722488, - 14.904444 - ], - [ - 93.6922, - 14.890833 - ], - [ - 93.679153, - 14.848331 - ], - [ - 93.722488, - 14.904444 - ] - ] - ], - [ - [ - [ - 97.669708, - 15.521387 - ], - [ - 97.65416, - 15.578331 - ], - [ - 97.66304, - 15.497219 - ], - [ - 97.669708, - 15.521387 - ] - ] - ], - [ - [ - [ - 94.79776, - 15.791666 - ], - [ - 94.820541, - 15.948053 - ], - [ - 94.728043, - 15.815275 - ], - [ - 94.79776, - 15.791666 - ] - ] - ], - [ - [ - [ - 94.583328, - 16.00972 - ], - [ - 94.649429, - 16.245274 - ], - [ - 94.386658, - 15.995831 - ], - [ - 94.415817, - 15.868053 - ], - [ - 94.583328, - 16.00972 - ] - ] - ], - [ - [ - [ - 97.569153, - 16.233604 - ], - [ - 97.616653, - 16.465271 - ], - [ - 97.515549, - 16.506107 - ], - [ - 97.569153, - 16.233604 - ] - ] - ], - [ - [ - [ - 93.671097, - 18.867496 - ], - [ - 93.484421, - 18.869717 - ], - [ - 93.703049, - 18.668053 - ], - [ - 93.671097, - 18.867496 - ] - ] - ], - [ - [ - [ - 93.790924, - 19.231342 - ], - [ - 93.49054, - 19.400829 - ], - [ - 93.9422, - 18.862495 - ], - [ - 93.790924, - 19.231342 - ] - ] - ], - [ - [ - [ - 93.801651, - 19.268608 - ], - [ - 93.968323, - 19.42083 - ], - [ - 93.682755, - 19.560555 - ], - [ - 93.801651, - 19.268608 - ] - ] - ], - [ - [ - [ - 93.513046, - 19.744438 - ], - [ - 93.498596, - 19.88055 - ], - [ - 93.395828, - 19.955273 - ], - [ - 93.513046, - 19.744438 - ] - ] - ], - [ - [ - [ - 93.024429, - 19.827774 - ], - [ - 92.954437, - 20.06361 - ], - [ - 92.912491, - 20.086662 - ], - [ - 93.024429, - 19.827774 - ] - ] - ], - [ - [ - [ - 101.148239, - 21.572636 - ], - [ - 101.105263, - 21.771385 - ], - [ - 100.212753, - 21.432552 - ], - [ - 99.964432, - 22.048885 - ], - [ - 99.162766, - 22.159161 - ], - [ - 99.566376, - 22.938049 - ], - [ - 98.927475, - 23.189163 - ], - [ - 98.6772, - 23.968052 - ], - [ - 98.890732, - 24.160069 - ], - [ - 97.535538, - 23.939716 - ], - [ - 97.759995, - 24.257496 - ], - [ - 97.552475, - 24.74305 - ], - [ - 98.710815, - 25.855553 - ], - [ - 98.77832, - 26.636383 - ], - [ - 98.699707, - 27.539165 - ], - [ - 98.316376, - 27.541943 - ], - [ - 97.806641, - 28.344162 - ], - [ - 97.555252, - 28.548054 - ], - [ - 97.348877, - 28.222771 - ], - [ - 96.886658, - 27.606106 - ], - [ - 97.136658, - 27.085831 - ], - [ - 96.194138, - 27.270832 - ], - [ - 95.141373, - 26.612495 - ], - [ - 95.17804, - 26.058887 - ], - [ - 94.625534, - 25.397774 - ], - [ - 94.734421, - 25.024719 - ], - [ - 94.151093, - 23.855274 - ], - [ - 93.33873, - 24.077915 - ], - [ - 93.19664, - 22.256386 - ], - [ - 92.600815, - 21.982216 - ], - [ - 92.669342, - 21.296982 - ], - [ - 92.260818, - 21.41444 - ], - [ - 92.261932, - 21.05431 - ], - [ - 92.860809, - 20.121109 - ], - [ - 93.081665, - 20.548607 - ], - [ - 93.129974, - 19.835552 - ], - [ - 93.128311, - 20.085552 - ], - [ - 93.728592, - 19.931664 - ], - [ - 93.599152, - 19.719715 - ], - [ - 93.991928, - 19.457218 - ], - [ - 94.6147, - 17.546387 - ], - [ - 94.245529, - 15.959997 - ], - [ - 94.631088, - 16.342773 - ], - [ - 94.679703, - 16.115829 - ], - [ - 94.560257, - 15.941942 - ], - [ - 94.793045, - 16.153606 - ], - [ - 94.650543, - 15.854164 - ], - [ - 94.990814, - 16.246662 - ], - [ - 94.848877, - 15.77972 - ], - [ - 95.137207, - 16.137218 - ], - [ - 95.216385, - 15.782776 - ], - [ - 95.360809, - 16.144718 - ], - [ - 95.428589, - 15.729719 - ], - [ - 96.268326, - 16.389717 - ], - [ - 96.241928, - 16.803734 - ], - [ - 96.3797, - 16.501389 - ], - [ - 96.777771, - 16.703884 - ], - [ - 96.878036, - 17.449997 - ], - [ - 97.378036, - 16.494995 - ], - [ - 97.737488, - 16.563885 - ], - [ - 97.797256, - 14.881962 - ], - [ - 98.138885, - 13.539721 - ], - [ - 98.185532, - 14.059164 - ], - [ - 98.583328, - 13.172775 - ], - [ - 98.70359, - 12.340046 - ], - [ - 98.533165, - 12.245721 - ], - [ - 98.705872, - 12.224465 - ], - [ - 98.721924, - 11.976109 - ], - [ - 98.597488, - 11.751665 - ], - [ - 98.890549, - 11.700275 - ], - [ - 98.743591, - 11.666943 - ], - [ - 98.710815, - 10.918331 - ], - [ - 98.460266, - 10.734442 - ], - [ - 98.546646, - 9.981665 - ], - [ - 98.742752, - 10.348608 - ], - [ - 99.661652, - 11.826942 - ], - [ - 99.112198, - 13.055832 - ], - [ - 99.173965, - 13.727781 - ], - [ - 98.201096, - 15.074999 - ], - [ - 98.92804, - 16.38583 - ], - [ - 98.689697, - 16.284996 - ], - [ - 97.346375, - 18.562496 - ], - [ - 97.774704, - 18.569996 - ], - [ - 98.049988, - 19.807499 - ], - [ - 98.995529, - 19.780552 - ], - [ - 99.522766, - 20.352776 - ], - [ - 100.081322, - 20.348841 - ], - [ - 100.09137, - 20.348606 - ], - [ - 101.148239, - 21.572636 - ] - ] - ] - ] - }, - "name" : "Burma", - "iso2" : "MM", - "iso3" : "MMR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Vb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 1.635404, - 6.218721 - ], - [ - 2.484418, - 6.340486 - ], - [ - 2.719606, - 6.365505 - ], - [ - 2.789444, - 9.043888 - ], - [ - 3.095, - 9.090555 - ], - [ - 3.855, - 10.584999 - ], - [ - 3.604459, - 11.693274 - ], - [ - 2.83862, - 12.396658 - ], - [ - 2.378054, - 12.240274 - ], - [ - 2.397925, - 11.896152 - ], - [ - 2.014722, - 11.422499 - ], - [ - 1.435278, - 11.458887 - ], - [ - 0.91797, - 10.996399 - ], - [ - 0.776667, - 10.376665 - ], - [ - 1.355, - 9.995277 - ], - [ - 1.398542, - 9.429901 - ], - [ - 1.635404, - 6.218721 - ] - ] - ] - }, - "name" : "Benin", - "iso2" : "BJ", - "iso3" : "BEN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Vr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 166.850527, - -11.696945 - ], - [ - 166.931917, - -11.667223 - ], - [ - 166.761385, - -11.579445 - ], - [ - 166.850527, - -11.696945 - ] - ] - ], - [ - [ - [ - 160.080812, - -11.498055 - ], - [ - 159.960787, - -11.521666 - ], - [ - 160.527468, - -11.808056 - ], - [ - 160.080812, - -11.498055 - ] - ] - ], - [ - [ - [ - 159.853304, - -11.324722 - ], - [ - 159.841646, - -11.303888 - ], - [ - 159.776644, - -11.288612 - ], - [ - 159.853304, - -11.324722 - ] - ] - ], - [ - [ - [ - 166.53525, - -11.363888 - ], - [ - 166.580538, - -11.324167 - ], - [ - 166.518038, - -11.271112 - ], - [ - 166.53525, - -11.363888 - ] - ] - ], - [ - [ - [ - 162.474977, - -10.855555 - ], - [ - 162.500551, - -10.84 - ], - [ - 162.481356, - -10.807501 - ], - [ - 162.474977, - -10.855555 - ] - ] - ], - [ - [ - [ - 166.139986, - -10.761112 - ], - [ - 165.904146, - -10.673611 - ], - [ - 165.777468, - -10.805 - ], - [ - 166.139986, - -10.761112 - ] - ] - ], - [ - [ - [ - 161.545259, - -10.276667 - ], - [ - 161.283327, - -10.331944 - ], - [ - 162.39081, - -10.841944 - ], - [ - 161.545259, - -10.276667 - ] - ] - ], - [ - [ - [ - 161.751375, - -10.294445 - ], - [ - 161.771914, - -10.254446 - ], - [ - 161.719973, - -10.214722 - ], - [ - 161.751375, - -10.294445 - ] - ] - ], - [ - [ - [ - 167.203859, - -9.963612 - ], - [ - 167.20801, - -9.950832 - ], - [ - 167.188295, - -9.942223 - ], - [ - 167.203859, - -9.963612 - ] - ] - ], - [ - [ - [ - 167.127748, - -9.880833 - ], - [ - 167.126345, - -9.867222 - ], - [ - 167.108004, - -9.869165 - ], - [ - 167.127748, - -9.880833 - ] - ] - ], - [ - [ - [ - 167.103304, - -9.851664 - ], - [ - 167.108583, - -9.840834 - ], - [ - 167.089418, - -9.8475 - ], - [ - 167.103304, - -9.851664 - ] - ] - ], - [ - [ - [ - 161.974672, - -9.853054 - ], - [ - 161.974123, - -9.689722 - ], - [ - 161.944704, - -9.690277 - ], - [ - 161.974672, - -9.853054 - ] - ] - ], - [ - [ - [ - 161.569124, - -9.724167 - ], - [ - 161.349977, - -9.338888 - ], - [ - 161.397219, - -9.669445 - ], - [ - 161.569124, - -9.724167 - ] - ], - [ - [ - 161.387484, - -9.468611 - ], - [ - 161.38135, - -9.469444 - ], - [ - 161.38553, - -9.454445 - ], - [ - 161.387484, - -9.468611 - ] - ] - ], - [ - [ - [ - 159.938295, - -9.433611 - ], - [ - 159.6019, - -9.317223 - ], - [ - 159.828035, - -9.796946 - ], - [ - 160.831087, - -9.861944 - ], - [ - 160.386385, - -9.426666 - ], - [ - 159.938295, - -9.433611 - ] - ] - ], - [ - [ - [ - 159.828585, - -9.172501 - ], - [ - 159.845797, - -9.138056 - ], - [ - 159.811373, - -9.110832 - ], - [ - 159.828585, - -9.172501 - ] - ] - ], - [ - [ - [ - 160.411104, - -9.136667 - ], - [ - 160.318575, - -9.060278 - ], - [ - 160.212465, - -9.170555 - ], - [ - 160.411104, - -9.136667 - ] - ] - ], - [ - [ - [ - 159.204409, - -9.133333 - ], - [ - 159.228304, - -9.025557 - ], - [ - 159.168032, - -9.102776 - ], - [ - 159.204409, - -9.133333 - ] - ] - ], - [ - [ - [ - 159.147493, - -9.108889 - ], - [ - 159.137209, - -8.994444 - ], - [ - 159.032473, - -9.060278 - ], - [ - 159.147493, - -9.108889 - ] - ] - ], - [ - [ - [ - 160.112185, - -8.997221 - ], - [ - 160.073305, - -8.947779 - ], - [ - 160.065798, - -9.0175 - ], - [ - 160.112185, - -8.997221 - ] - ] - ], - [ - [ - [ - 160.047213, - -8.915276 - ], - [ - 160.029421, - -8.880278 - ], - [ - 160.008333, - -8.884724 - ], - [ - 160.047213, - -8.915276 - ] - ] - ], - [ - [ - [ - 161.060793, - -8.748055 - ], - [ - 161.009432, - -8.754168 - ], - [ - 161.044436, - -8.772501 - ], - [ - 161.060793, - -8.748055 - ] - ] - ], - [ - [ - [ - 157.633883, - -8.748055 - ], - [ - 157.44385, - -8.715 - ], - [ - 157.619967, - -8.800833 - ], - [ - 157.633883, - -8.748055 - ] - ] - ], - [ - [ - [ - 158.205233, - -8.833332 - ], - [ - 158.213594, - -8.681112 - ], - [ - 158.149721, - -8.781389 - ], - [ - 158.205233, - -8.833332 - ] - ] - ], - [ - [ - [ - 158.003054, - -8.771112 - ], - [ - 158.116915, - -8.533333 - ], - [ - 157.875521, - -8.609999 - ], - [ - 158.003054, - -8.771112 - ] - ] - ], - [ - [ - [ - 157.408327, - -8.500834 - ], - [ - 157.199129, - -8.565834 - ], - [ - 157.384432, - -8.734444 - ], - [ - 157.408327, - -8.500834 - ] - ] - ], - [ - [ - [ - 159.683321, - -8.546946 - ], - [ - 159.56885, - -8.378887 - ], - [ - 159.537477, - -8.468332 - ], - [ - 159.683321, - -8.546946 - ] - ] - ], - [ - [ - [ - 162.74106, - -8.373888 - ], - [ - 162.725252, - -8.381388 - ], - [ - 162.76166, - -8.378056 - ], - [ - 162.74106, - -8.373888 - ] - ] - ], - [ - [ - [ - 160.974398, - -8.8475 - ], - [ - 160.580263, - -8.33 - ], - [ - 161.378023, - -9.635 - ], - [ - 160.974398, - -8.8475 - ] - ] - ], - [ - [ - [ - 157.124666, - -8.25528 - ], - [ - 157.023043, - -8.190834 - ], - [ - 157.151369, - -8.342777 - ], - [ - 157.124666, - -8.25528 - ] - ] - ], - [ - [ - [ - 157.20746, - -8.270279 - ], - [ - 157.180819, - -8.170555 - ], - [ - 157.09247, - -8.165834 - ], - [ - 157.20746, - -8.270279 - ] - ] - ], - [ - [ - [ - 156.844973, - -8.118332 - ], - [ - 156.782747, - -8.055279 - ], - [ - 156.783327, - -8.098055 - ], - [ - 156.844973, - -8.118332 - ] - ] - ], - [ - [ - [ - 157.631624, - -8.236387 - ], - [ - 157.497469, - -7.965555 - ], - [ - 157.214418, - -8.243055 - ], - [ - 157.811922, - -8.620832 - ], - [ - 157.631624, - -8.236387 - ] - ] - ], - [ - [ - [ - 156.598848, - -8.203054 - ], - [ - 156.542208, - -7.944721 - ], - [ - 156.531923, - -8.091944 - ], - [ - 156.598848, - -8.203054 - ] - ] - ], - [ - [ - [ - 157.156099, - -8.150278 - ], - [ - 157.027193, - -7.865276 - ], - [ - 156.967745, - -8.046389 - ], - [ - 157.156099, - -8.150278 - ] - ] - ], - [ - [ - [ - 158.571901, - -7.703611 - ], - [ - 158.54999, - -7.664165 - ], - [ - 158.532198, - -7.691387 - ], - [ - 158.571901, - -7.703611 - ] - ] - ], - [ - [ - [ - 158.530825, - -7.654167 - ], - [ - 158.312746, - -7.580833 - ], - [ - 158.359407, - -7.640556 - ], - [ - 158.530825, - -7.654167 - ] - ] - ], - [ - [ - [ - 156.706636, - -7.897223 - ], - [ - 156.808596, - -7.726665 - ], - [ - 156.554415, - -7.578611 - ], - [ - 156.706636, - -7.897223 - ] - ] - ], - [ - [ - [ - 159.852449, - -8.333889 - ], - [ - 158.487459, - -7.554167 - ], - [ - 159.886934, - -8.566389 - ], - [ - 159.852449, - -8.333889 - ] - ] - ], - [ - [ - [ - 158.429415, - -7.529722 - ], - [ - 158.262758, - -7.477499 - ], - [ - 158.370516, - -7.552776 - ], - [ - 158.429415, - -7.529722 - ] - ] - ], - [ - [ - [ - 157.781649, - -7.47611 - ], - [ - 157.749392, - -7.393888 - ], - [ - 157.683596, - -7.415556 - ], - [ - 157.781649, - -7.47611 - ] - ] - ], - [ - [ - [ - 155.587465, - -7.390556 - ], - [ - 155.584688, - -7.331944 - ], - [ - 155.510805, - -7.35111 - ], - [ - 155.587465, - -7.390556 - ] - ] - ], - [ - [ - [ - 155.858858, - -7.100277 - ], - [ - 155.740236, - -6.967499 - ], - [ - 155.66971, - -7.088055 - ], - [ - 155.858858, - -7.100277 - ] - ] - ], - [ - [ - [ - 156.110231, - -6.941111 - ], - [ - 156.074678, - -6.819166 - ], - [ - 156.084963, - -6.989443 - ], - [ - 156.110231, - -6.941111 - ] - ] - ], - [ - [ - [ - 156.019991, - -6.824722 - ], - [ - 156.045259, - -6.78861 - ], - [ - 156.000002, - -6.80361 - ], - [ - 156.019991, - -6.824722 - ] - ] - ], - [ - [ - [ - 157.428865, - -7.324444 - ], - [ - 156.43857, - -6.643612 - ], - [ - 156.936098, - -7.219166 - ], - [ - 157.428865, - -7.324444 - ] - ] - ], - [ - [ - [ - 159.71274, - -5.516666 - ], - [ - 159.723848, - -5.49 - ], - [ - 159.714144, - -5.483889 - ], - [ - 159.71274, - -5.516666 - ] - ] - ], - [ - [ - [ - 159.528597, - -5.498888 - ], - [ - 159.509981, - -5.470833 - ], - [ - 159.49634, - -5.466944 - ], - [ - 159.528597, - -5.498888 - ] - ] - ], - [ - [ - [ - 159.403872, - -5.448332 - ], - [ - 159.348848, - -5.415833 - ], - [ - 159.371614, - -5.440832 - ], - [ - 159.403872, - -5.448332 - ] - ] - ], - [ - [ - [ - 159.252199, - -5.312778 - ], - [ - 159.248842, - -5.293055 - ], - [ - 159.250277, - -5.324167 - ], - [ - 159.252199, - -5.312778 - ] - ] - ] - ] - }, - "name" : "Solomon Islands", - "iso2" : "SB", - "iso3" : "SLB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "V71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -48.55056, - -27.821392 - ], - [ - -48.418335, - -27.388889 - ], - [ - -48.517227, - -27.430836 - ], - [ - -48.55056, - -27.821392 - ] - ] - ], - [ - [ - [ - -48.581116, - -26.39167 - ], - [ - -48.537781, - -26.167225 - ], - [ - -48.707779, - -26.309723 - ], - [ - -48.581116, - -26.39167 - ] - ] - ], - [ - [ - [ - -48.282501, - -25.486115 - ], - [ - -48.256668, - -25.33889 - ], - [ - -48.333061, - -25.413059 - ], - [ - -48.282501, - -25.486115 - ] - ] - ], - [ - [ - [ - -47.877785, - -25.026947 - ], - [ - -47.606674, - -24.783611 - ], - [ - -47.816673, - -24.900002 - ], - [ - -47.877785, - -25.026947 - ] - ] - ], - [ - [ - [ - -46.282784, - -23.98917 - ], - [ - -46.323616, - -23.93 - ], - [ - -46.416389, - -23.950279 - ], - [ - -46.282784, - -23.98917 - ] - ] - ], - [ - [ - [ - -45.126396, - -23.821392 - ], - [ - -45.105003, - -23.806393 - ], - [ - -45.136391, - -23.797779 - ], - [ - -45.126396, - -23.821392 - ] - ] - ], - [ - [ - [ - -45.22084, - -23.779446 - ], - [ - -45.441391, - -23.92889 - ], - [ - -45.218338, - -23.955833 - ], - [ - -45.22084, - -23.779446 - ] - ] - ], - [ - [ - [ - -44.08889, - -23.174446 - ], - [ - -44.228615, - -23.071114 - ], - [ - -44.369171, - -23.172226 - ], - [ - -44.08889, - -23.174446 - ] - ] - ], - [ - [ - [ - -29.84, - -20.496391 - ], - [ - -29.852222, - -20.491112 - ], - [ - -29.848892, - -20.500835 - ], - [ - -29.84, - -20.496391 - ] - ] - ], - [ - [ - [ - -30.29528, - -20.505835 - ], - [ - -30.334166, - -20.482224 - ], - [ - -30.319447, - -20.52 - ], - [ - -30.29528, - -20.505835 - ] - ] - ], - [ - [ - [ - -38.911667, - -13.67528 - ], - [ - -38.912781, - -13.587502 - ], - [ - -38.991951, - -13.593056 - ], - [ - -38.911667, - -13.67528 - ] - ] - ], - [ - [ - [ - -38.936951, - -13.5625 - ], - [ - -38.908058, - -13.385557 - ], - [ - -39.038612, - -13.397779 - ], - [ - -39.041115, - -13.462223 - ], - [ - -38.964443, - -13.498844 - ], - [ - -38.984451, - -13.5625 - ], - [ - -38.936951, - -13.5625 - ] - ] - ], - [ - [ - [ - -38.754723, - -13.113056 - ], - [ - -38.591667, - -12.987501 - ], - [ - -38.643333, - -12.892223 - ], - [ - -38.754723, - -13.113056 - ] - ] - ], - [ - [ - [ - -37.132507, - -11.129446 - ], - [ - -37.036949, - -10.952501 - ], - [ - -37.146393, - -11.108612 - ], - [ - -37.132507, - -11.129446 - ] - ] - ], - [ - [ - [ - -34.873894, - -7.073334 - ], - [ - -34.866669, - -7.048611 - ], - [ - -34.888893, - -7.071945 - ], - [ - -34.873894, - -7.073334 - ] - ] - ], - [ - [ - [ - -34.854172, - -7.005278 - ], - [ - -34.859726, - -6.994444 - ], - [ - -34.86306, - -7.013889 - ], - [ - -34.854172, - -7.005278 - ] - ] - ], - [ - [ - [ - -32.450836, - -3.88361 - ], - [ - -32.386673, - -3.840277 - ], - [ - -32.424171, - -3.845833 - ], - [ - -32.450836, - -3.88361 - ] - ] - ], - [ - [ - [ - -44.610283, - -3.008055 - ], - [ - -44.611671, - -2.887222 - ], - [ - -44.656113, - -2.97361 - ], - [ - -44.610283, - -3.008055 - ] - ] - ], - [ - [ - [ - -44.586395, - -3.0525 - ], - [ - -44.483894, - -2.709999 - ], - [ - -44.577507, - -2.801945 - ], - [ - -44.586395, - -3.0525 - ] - ] - ], - [ - [ - [ - -42.050835, - -2.761667 - ], - [ - -42.06945, - -2.685833 - ], - [ - -42.184448, - -2.6775 - ], - [ - -42.050835, - -2.761667 - ] - ] - ], - [ - [ - [ - -43.693335, - -2.326944 - ], - [ - -43.61528, - -2.262499 - ], - [ - -43.739174, - -2.350277 - ], - [ - -43.693335, - -2.326944 - ] - ] - ], - [ - [ - [ - -50.863892, - -1.910833 - ], - [ - -51.148338, - -1.828611 - ], - [ - -50.98806, - -1.99361 - ], - [ - -50.863892, - -1.910833 - ] - ] - ], - [ - [ - [ - -49.02417, - -1.829166 - ], - [ - -49.055557, - -1.721111 - ], - [ - -49.156952, - -1.858055 - ], - [ - -49.02417, - -1.829166 - ] - ] - ], - [ - [ - [ - -48.961113, - -1.795832 - ], - [ - -48.902779, - -1.577221 - ], - [ - -49.046112, - -1.705278 - ], - [ - -48.961113, - -1.795832 - ] - ] - ], - [ - [ - [ - -44.652779, - -1.623888 - ], - [ - -44.713058, - -1.561111 - ], - [ - -44.78334, - -1.619167 - ], - [ - -44.778893, - -1.668055 - ], - [ - -44.662224, - -1.661945 - ], - [ - -44.652779, - -1.623888 - ] - ] - ], - [ - [ - [ - -52.024727, - -1.580278 - ], - [ - -51.914452, - -1.516388 - ], - [ - -52.029449, - -1.439722 - ], - [ - -52.200836, - -1.646666 - ], - [ - -52.024727, - -1.580278 - ] - ] - ], - [ - [ - [ - -52.418335, - -1.5275 - ], - [ - -52.168617, - -1.408333 - ], - [ - -52.431114, - -1.466389 - ], - [ - -52.418335, - -1.5275 - ] - ] - ], - [ - [ - [ - -48.633614, - -1.484722 - ], - [ - -48.657501, - -1.375834 - ], - [ - -48.696671, - -1.449167 - ], - [ - -48.633614, - -1.484722 - ] - ] - ], - [ - [ - [ - -48.525841, - -1.525 - ], - [ - -48.553337, - -1.36611 - ], - [ - -48.592506, - -1.442221 - ], - [ - -48.525841, - -1.525 - ] - ] - ], - [ - [ - [ - -44.987503, - -1.401945 - ], - [ - -44.881111, - -1.283056 - ], - [ - -44.975563, - -1.261667 - ], - [ - -44.987503, - -1.401945 - ] - ] - ], - [ - [ - [ - -45.634171, - -1.346388 - ], - [ - -45.626944, - -1.126944 - ], - [ - -45.689444, - -1.360832 - ], - [ - -45.634171, - -1.346388 - ] - ] - ], - [ - [ - [ - -48.340279, - -1.212778 - ], - [ - -48.322502, - -1.076944 - ], - [ - -48.412224, - -1.074999 - ], - [ - -48.465561, - -1.162777 - ], - [ - -48.340279, - -1.212778 - ] - ] - ], - [ - [ - [ - -46.498894, - -1.020277 - ], - [ - -46.440002, - -1.006388 - ], - [ - -46.456673, - -0.888611 - ], - [ - -46.54834, - -0.972221 - ], - [ - -46.53334, - -1.0175 - ], - [ - -46.498894, - -1.020277 - ] - ] - ], - [ - [ - [ - -50.987228, - -0.866388 - ], - [ - -51.182503, - -1.091667 - ], - [ - -51.070038, - -1.037794 - ], - [ - -51.019447, - -0.991667 - ], - [ - -51.012619, - -0.919502 - ], - [ - -50.920837, - -0.869722 - ], - [ - -50.987228, - -0.866388 - ] - ] - ], - [ - [ - [ - -51.375282, - -1.21361 - ], - [ - -51.239449, - -1.143888 - ], - [ - -51.203056, - -0.841667 - ], - [ - -51.248894, - -1.024721 - ], - [ - -51.363617, - -1.129444 - ], - [ - -51.400284, - -1.201944 - ], - [ - -51.375282, - -1.21361 - ] - ] - ], - [ - [ - [ - -50.92028, - -0.844999 - ], - [ - -50.842781, - -0.727777 - ], - [ - -50.922783, - -0.729166 - ], - [ - -50.92028, - -0.844999 - ] - ] - ], - [ - [ - [ - -47.935005, - -0.727222 - ], - [ - -47.876114, - -0.673056 - ], - [ - -47.932503, - -0.636667 - ], - [ - -47.97084, - -0.68 - ], - [ - -47.951668, - -0.731945 - ], - [ - -47.935005, - -0.727222 - ] - ] - ], - [ - [ - [ - -47.66806, - -0.709166 - ], - [ - -47.637222, - -0.620832 - ], - [ - -47.665283, - -0.57361 - ], - [ - -47.718895, - -0.640556 - ], - [ - -47.696671, - -0.714722 - ], - [ - -47.66806, - -0.709166 - ] - ] - ], - [ - [ - [ - -51.13195, - -0.959444 - ], - [ - -50.815834, - -0.572222 - ], - [ - -51.070282, - -0.694445 - ], - [ - -51.13195, - -0.959444 - ] - ] - ], - [ - [ - [ - -51.051117, - -0.659166 - ], - [ - -51.025284, - -0.560556 - ], - [ - -51.098335, - -0.633888 - ], - [ - -51.051117, - -0.659166 - ] - ] - ], - [ - [ - [ - -51.90139, - -1.476667 - ], - [ - -51.483337, - -1.240278 - ], - [ - -51.271666, - -1.014166 - ], - [ - -51.148338, - -0.669722 - ], - [ - -51.199722, - -0.529167 - ], - [ - -51.38195, - -0.541389 - ], - [ - -51.609726, - -0.733889 - ], - [ - -51.662224, - -1.083332 - ], - [ - -51.885002, - -1.178888 - ], - [ - -51.952225, - -1.430832 - ], - [ - -51.90139, - -1.476667 - ] - ] - ], - [ - [ - [ - -51.403336, - -0.540833 - ], - [ - -51.239449, - -0.454443 - ], - [ - -51.411392, - -0.499722 - ], - [ - -51.403336, - -0.540833 - ] - ] - ], - [ - [ - [ - -50.958618, - -0.567499 - ], - [ - -50.776947, - -0.383888 - ], - [ - -50.878334, - -0.385277 - ], - [ - -50.958618, - -0.567499 - ] - ] - ], - [ - [ - [ - -51.10778, - -0.539999 - ], - [ - -50.946671, - -0.353889 - ], - [ - -51.034729, - -0.283056 - ], - [ - -51.10778, - -0.539999 - ] - ] - ], - [ - [ - [ - -50.907227, - -0.335833 - ], - [ - -50.888618, - -0.291389 - ], - [ - -51.025002, - -0.248888 - ], - [ - -50.907227, - -0.335833 - ] - ] - ], - [ - [ - [ - -49.713341, - -0.227777 - ], - [ - -50.657784, - -0.279167 - ], - [ - -50.796951, - -0.971943 - ], - [ - -50.550003, - -1.069166 - ], - [ - -50.781113, - -1.151945 - ], - [ - -50.803612, - -1.440556 - ], - [ - -50.578056, - -1.800833 - ], - [ - -49.166389, - -1.613888 - ], - [ - -48.627228, - -1.064444 - ], - [ - -48.373062, - -0.289167 - ], - [ - -49.713341, - -0.227777 - ] - ] - ], - [ - [ - [ - -50.803337, - -0.358889 - ], - [ - -50.748894, - -0.226667 - ], - [ - -50.908058, - -0.358332 - ], - [ - -50.803337, - -0.358889 - ] - ] - ], - [ - [ - [ - -51.380562, - -0.484722 - ], - [ - -51.137505, - -0.285278 - ], - [ - -51.103058, - -0.121389 - ], - [ - -51.380562, - -0.484722 - ] - ] - ], - [ - [ - [ - -50.556946, - -0.0625 - ], - [ - -51.027229, - -0.224167 - ], - [ - -50.85778, - -0.283056 - ], - [ - -50.556946, - -0.0625 - ] - ] - ], - [ - [ - [ - -50.901672, - -0.047499 - ], - [ - -50.697502, - 0.02389 - ], - [ - -50.829727, - 0.060835 - ], - [ - -50.901672, - -0.047499 - ] - ] - ], - [ - [ - [ - -49.525558, - -0.134443 - ], - [ - -49.501671, - 0.070559 - ], - [ - -49.852501, - -0.064444 - ], - [ - -49.525558, - -0.134443 - ] - ] - ], - [ - [ - [ - -50.455559, - -0.022778 - ], - [ - -50.465004, - 0.146669 - ], - [ - -50.643333, - 0.17111 - ], - [ - -50.455559, - -0.022778 - ] - ] - ], - [ - [ - [ - -49.636116, - 0.227503 - ], - [ - -50.392502, - 0.109446 - ], - [ - -49.984726, - -0.072222 - ], - [ - -49.636116, - 0.227503 - ] - ] - ], - [ - [ - [ - -50.243057, - 0.229445 - ], - [ - -50.083618, - 0.320002 - ], - [ - -50.184174, - 0.324167 - ], - [ - -50.243057, - 0.229445 - ] - ] - ], - [ - [ - [ - -50.416389, - 0.210833 - ], - [ - -50.373894, - 0.621389 - ], - [ - -50.536392, - 0.22611 - ], - [ - -50.416389, - 0.210833 - ] - ] - ], - [ - [ - [ - -50.237503, - 0.350836 - ], - [ - -50.063614, - 0.646112 - ], - [ - -50.30806, - 0.506392 - ], - [ - -50.237503, - 0.350836 - ] - ] - ], - [ - [ - [ - -50.007225, - 0.881666 - ], - [ - -50.200562, - 0.879168 - ], - [ - -50.267784, - 0.751669 - ], - [ - -50.007225, - 0.881666 - ] - ] - ], - [ - [ - [ - -50.037506, - 0.884443 - ], - [ - -50.042229, - 0.918058 - ], - [ - -50.093895, - 0.920835 - ], - [ - -50.037506, - 0.884443 - ] - ] - ], - [ - [ - [ - -50.009445, - 0.935278 - ], - [ - -49.947784, - 1.054445 - ], - [ - -50.074448, - 0.981112 - ], - [ - -50.009445, - 0.935278 - ] - ] - ], - [ - [ - [ - -50.396666, - 1.881392 - ], - [ - -50.356117, - 2.116945 - ], - [ - -50.505005, - 2.025 - ], - [ - -50.396666, - 1.881392 - ] - ] - ], - [ - [ - [ - -50.475281, - 2.119722 - ], - [ - -50.405556, - 2.193613 - ], - [ - -50.517227, - 2.203054 - ], - [ - -50.475281, - 2.119722 - ] - ] - ], - [ - [ - [ - -69.956924, - -4.236874 - ], - [ - -70.765839, - -4.146389 - ], - [ - -72.851959, - -5.124722 - ], - [ - -73.123901, - -6.447222 - ], - [ - -73.744171, - -6.876944 - ], - [ - -74.010559, - -7.541389 - ], - [ - -72.964172, - -8.983334 - ], - [ - -73.205292, - -9.407223 - ], - [ - -72.366394, - -9.494446 - ], - [ - -72.14389, - -10.004723 - ], - [ - -71.298889, - -9.996389 - ], - [ - -70.514664, - -9.428001 - ], - [ - -70.631393, - -11.009167 - ], - [ - -69.568436, - -10.951092 - ], - [ - -68.58345, - -11.106138 - ], - [ - -66.634445, - -9.906946 - ], - [ - -65.381958, - -9.697779 - ], - [ - -65.392792, - -11.26639 - ], - [ - -64.991669, - -12.008057 - ], - [ - -64.39418, - -12.461668 - ], - [ - -63.075005, - -12.650002 - ], - [ - -61.833893, - -13.544724 - ], - [ - -61.038979, - -13.493118 - ], - [ - -60.47084, - -13.807222 - ], - [ - -60.258896, - -15.093613 - ], - [ - -60.571396, - -15.097502 - ], - [ - -60.160278, - -16.263058 - ], - [ - -58.327507, - -16.279167 - ], - [ - -58.397507, - -17.249168 - ], - [ - -57.743057, - -17.593056 - ], - [ - -57.521118, - -18.203892 - ], - [ - -58.121117, - -19.74139 - ], - [ - -57.848747, - -19.978794 - ], - [ - -58.15889, - -20.168055 - ], - [ - -57.814444, - -20.971947 - ], - [ - -57.985107, - -22.091827 - ], - [ - -55.849724, - -22.288891 - ], - [ - -55.411667, - -23.95639 - ], - [ - -54.407227, - -23.916668 - ], - [ - -54.330559, - -24.679449 - ], - [ - -54.598915, - -25.573223 - ], - [ - -53.863335, - -25.681114 - ], - [ - -53.807785, - -27.129169 - ], - [ - -55.765282, - -28.226112 - ], - [ - -57.608002, - -30.184925 - ], - [ - -56.811394, - -30.105278 - ], - [ - -56.008923, - -31.079794 - ], - [ - -55.581947, - -30.845837 - ], - [ - -53.879723, - -31.967781 - ], - [ - -53.093056, - -32.729729 - ], - [ - -53.522781, - -33.147781 - ], - [ - -53.374298, - -33.740669 - ], - [ - -52.636673, - -33.129448 - ], - [ - -51.965279, - -31.339447 - ], - [ - -51.271118, - -30.795559 - ], - [ - -51.28167, - -30.010002 - ], - [ - -50.928337, - -30.419445 - ], - [ - -50.608894, - -30.190556 - ], - [ - -50.567223, - -30.457226 - ], - [ - -51.251396, - -31.471668 - ], - [ - -52.086395, - -31.823612 - ], - [ - -52.072502, - -32.174171 - ], - [ - -50.749451, - -31.081112 - ], - [ - -49.752502, - -29.369724 - ], - [ - -48.774727, - -28.522224 - ], - [ - -48.485283, - -27.211391 - ], - [ - -48.802504, - -26.067223 - ], - [ - -48.581947, - -26.18 - ], - [ - -48.770561, - -25.880001 - ], - [ - -48.361389, - -25.576389 - ], - [ - -48.718613, - -25.424725 - ], - [ - -48.131393, - -25.272224 - ], - [ - -48.208618, - -25.46167 - ], - [ - -48.026115, - -25.015003 - ], - [ - -46.382782, - -23.868336 - ], - [ - -45.418335, - -23.830833 - ], - [ - -44.577225, - -23.356113 - ], - [ - -44.662506, - -23.048058 - ], - [ - -43.218338, - -22.996948 - ], - [ - -43.075836, - -22.668335 - ], - [ - -43.091949, - -22.954723 - ], - [ - -42.034447, - -22.91917 - ], - [ - -41.763062, - -22.346111 - ], - [ - -40.971672, - -21.988056 - ], - [ - -40.960556, - -21.235836 - ], - [ - -39.801392, - -19.632504 - ], - [ - -39.643616, - -18.223335 - ], - [ - -39.130835, - -17.683891 - ], - [ - -39.206673, - -17.147503 - ], - [ - -38.871948, - -15.874168 - ], - [ - -39.066948, - -14.64389 - ], - [ - -38.920563, - -13.915556 - ], - [ - -39.038895, - -14.175835 - ], - [ - -38.963058, - -13.681391 - ], - [ - -39.080284, - -13.538334 - ], - [ - -39.056395, - -13.377501 - ], - [ - -38.956673, - -13.380001 - ], - [ - -38.725281, - -12.874445 - ], - [ - -38.901115, - -12.705557 - ], - [ - -38.691673, - -12.577778 - ], - [ - -38.488617, - -13.02 - ], - [ - -38.041389, - -12.633057 - ], - [ - -37.153336, - -10.748611 - ], - [ - -37.021666, - -10.935835 - ], - [ - -36.393333, - -10.4925 - ], - [ - -35.292778, - -9.18 - ], - [ - -34.800835, - -7.631111 - ], - [ - -35.417503, - -5.214722 - ], - [ - -37.174446, - -4.918612 - ], - [ - -39.996948, - -2.846388 - ], - [ - -41.24807, - -3.023554 - ], - [ - -43.347504, - -2.365833 - ], - [ - -44.339729, - -2.830278 - ], - [ - -44.063339, - -2.405834 - ], - [ - -44.356949, - -2.526667 - ], - [ - -44.420563, - -2.93 - ], - [ - -44.786392, - -3.297499 - ], - [ - -44.58223, - -2.556944 - ], - [ - -44.360001, - -2.338888 - ], - [ - -44.656395, - -2.33111 - ], - [ - -44.490562, - -1.980833 - ], - [ - -44.538895, - -1.832222 - ], - [ - -44.695007, - -1.817778 - ], - [ - -44.799171, - -1.705 - ], - [ - -44.820557, - -1.578333 - ], - [ - -44.951393, - -1.601667 - ], - [ - -44.860283, - -1.425278 - ], - [ - -45.347504, - -1.740278 - ], - [ - -45.326668, - -1.313334 - ], - [ - -45.462227, - -1.545555 - ], - [ - -45.446945, - -1.310833 - ], - [ - -45.696114, - -1.370277 - ], - [ - -45.735558, - -1.18 - ], - [ - -45.851952, - -1.271944 - ], - [ - -45.974724, - -1.074999 - ], - [ - -46.043335, - -1.210278 - ], - [ - -46.259726, - -1.183611 - ], - [ - -46.191948, - -0.9575 - ], - [ - -46.448334, - -1.043055 - ], - [ - -46.535835, - -1.032221 - ], - [ - -46.557785, - -0.999166 - ], - [ - -46.604172, - -1.029444 - ], - [ - -46.821671, - -0.712778 - ], - [ - -46.951118, - -0.908056 - ], - [ - -46.954727, - -0.704445 - ], - [ - -47.431395, - -0.5825 - ], - [ - -47.39389, - -0.812778 - ], - [ - -47.542503, - -0.636667 - ], - [ - -47.726952, - -0.758055 - ], - [ - -47.749451, - -0.635277 - ], - [ - -47.956947, - -0.775278 - ], - [ - -48.060562, - -0.710833 - ], - [ - -48.292229, - -0.945 - ], - [ - -48.331673, - -1.308332 - ], - [ - -48.479172, - -1.301943 - ], - [ - -48.503059, - -1.458332 - ], - [ - -48.184448, - -1.471945 - ], - [ - -48.413612, - -1.499443 - ], - [ - -48.430557, - -1.661667 - ], - [ - -48.697226, - -1.469166 - ], - [ - -49.490004, - -2.564999 - ], - [ - -49.289726, - -1.708332 - ], - [ - -50.677956, - -1.810444 - ], - [ - -50.70639, - -2.220556 - ], - [ - -50.983894, - -2.066111 - ], - [ - -50.846115, - -2.50861 - ], - [ - -51.307503, - -1.763611 - ], - [ - -51.45195, - -2.273611 - ], - [ - -51.336945, - -1.646944 - ], - [ - -50.663895, - -1.767778 - ], - [ - -50.816673, - -1.439722 - ], - [ - -50.858337, - -0.91361 - ], - [ - -50.992226, - -0.925278 - ], - [ - -51.009171, - -0.949167 - ], - [ - -50.992783, - -0.998611 - ], - [ - -51.257225, - -1.218332 - ], - [ - -52.208469, - -1.692078 - ], - [ - -52.712784, - -1.603333 - ], - [ - -52.232506, - -1.345278 - ], - [ - -52.067505, - -1.42 - ], - [ - -51.928337, - -1.337778 - ], - [ - -51.920006, - -1.166389 - ], - [ - -51.712502, - -1.026667 - ], - [ - -51.700005, - -0.752499 - ], - [ - -51.258614, - -0.142778 - ], - [ - -49.903893, - 1.170279 - ], - [ - -50.121948, - 1.214167 - ], - [ - -49.93, - 1.708055 - ], - [ - -50.445282, - 1.825834 - ], - [ - -50.679726, - 2.164724 - ], - [ - -51.088615, - 3.911669 - ], - [ - -51.537506, - 4.39139 - ], - [ - -51.447784, - 3.972502 - ], - [ - -51.684067, - 4.034163 - ], - [ - -52.909729, - 2.195833 - ], - [ - -54.603783, - 2.329195 - ], - [ - -55.965836, - 2.532778 - ], - [ - -55.904167, - 1.893057 - ], - [ - -56.470634, - 1.944498 - ], - [ - -57.324722, - 1.975279 - ], - [ - -58.806946, - 1.185556 - ], - [ - -59.642784, - 1.731112 - ], - [ - -59.989449, - 2.693613 - ], - [ - -59.568611, - 3.899446 - ], - [ - -59.675835, - 4.388887 - ], - [ - -60.147507, - 4.5175 - ], - [ - -60.098335, - 5.217222 - ], - [ - -60.73037, - 5.204802 - ], - [ - -60.579727, - 4.946669 - ], - [ - -60.985001, - 4.520555 - ], - [ - -62.745834, - 4.032499 - ], - [ - -62.875, - 3.560278 - ], - [ - -63.343056, - 3.961111 - ], - [ - -64.017792, - 3.88611 - ], - [ - -64.795288, - 4.281389 - ], - [ - -64.191116, - 3.594446 - ], - [ - -64.045013, - 2.4825 - ], - [ - -63.361115, - 2.419168 - ], - [ - -63.393059, - 2.151388 - ], - [ - -65.51889, - 0.649721 - ], - [ - -65.589737, - 0.989168 - ], - [ - -66.311951, - 0.750559 - ], - [ - -66.871887, - 1.221643 - ], - [ - -67.076675, - 1.173334 - ], - [ - -67.424179, - 2.143888 - ], - [ - -67.914734, - 1.745279 - ], - [ - -68.196396, - 1.977503 - ], - [ - -68.153061, - 1.724169 - ], - [ - -69.8461, - 1.710455 - ], - [ - -69.842224, - 1.072222 - ], - [ - -69.270004, - 1.038336 - ], - [ - -69.124725, - 0.645002 - ], - [ - -70.044174, - 0.590834 - ], - [ - -70.05806, - -0.157499 - ], - [ - -69.607513, - -0.5175 - ], - [ - -69.378067, - -1.338055 - ], - [ - -69.956924, - -4.236874 - ] - ] - ] - ] - }, - "name" : "Brazil", - "iso2" : "BR", - "iso3" : "BRA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "WL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 28.013054, - 41.982216 - ], - [ - 27.44833, - 42.469994 - ], - [ - 27.879166, - 42.841103 - ], - [ - 28.583244, - 43.747765 - ], - [ - 27.036427, - 44.147339 - ], - [ - 25.430229, - 43.626778 - ], - [ - 24.179996, - 43.684715 - ], - [ - 22.875275, - 43.842499 - ], - [ - 23.044167, - 44.076111 - ], - [ - 22.681435, - 44.224701 - ], - [ - 22.367222, - 43.826942 - ], - [ - 23.004997, - 43.192772 - ], - [ - 22.442219, - 42.821663 - ], - [ - 22.365276, - 42.323883 - ], - [ - 23.014721, - 41.762215 - ], - [ - 22.935604, - 41.342125 - ], - [ - 24.263885, - 41.570549 - ], - [ - 25.285, - 41.24305 - ], - [ - 26.139996, - 41.354713 - ], - [ - 26.066109, - 41.697495 - ], - [ - 26.294167, - 41.708054 - ], - [ - 26.361095, - 41.711052 - ], - [ - 27.394997, - 42.008041 - ], - [ - 28.013054, - 41.982216 - ] - ] - ] - }, - "name" : "Bulgaria", - "iso2" : "BG", - "iso3" : "BGR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Wb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 115.223038, - 4.804998 - ], - [ - 115.145782, - 4.90324 - ], - [ - 115.029129, - 4.82021 - ], - [ - 115.343323, - 4.311943 - ], - [ - 115.223038, - 4.804998 - ] - ] - ], - [ - [ - [ - 114.981369, - 4.892499 - ], - [ - 114.095078, - 4.590538 - ], - [ - 114.641098, - 4.018888 - ], - [ - 115.018433, - 4.895795 - ], - [ - 114.981369, - 4.892499 - ] - ] - ] - ] - }, - "name" : "Brunei Darussalam", - "iso2" : "BN", - "iso3" : "BRN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Wr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -53.756367, - 48.503263 - ], - [ - -53.956108, - 48.543886 - ], - [ - -53.601944, - 48.689714 - ], - [ - -54.096106, - 48.812212 - ], - [ - -53.488609, - 49.220545 - ], - [ - -53.775002, - 49.396105 - ], - [ - -54.486946, - 49.259722 - ], - [ - -54.528885, - 49.533335 - ], - [ - -54.824448, - 49.269159 - ], - [ - -55.078056, - 49.356943 - ], - [ - -55.383331, - 49.040834 - ], - [ - -55.141113, - 49.545275 - ], - [ - -55.315277, - 49.31444 - ], - [ - -56.129166, - 49.425554 - ], - [ - -55.491699, - 50.007311 - ], - [ - -56.153885, - 50.150545 - ], - [ - -56.848885, - 49.544443 - ], - [ - -56.155273, - 50.885553 - ], - [ - -55.732498, - 51.079996 - ], - [ - -56.085556, - 51.368326 - ], - [ - -55.405273, - 51.561663 - ], - [ - -55.898056, - 51.628603 - ], - [ - -57.378609, - 50.687769 - ], - [ - -57.148056, - 50.621935 - ], - [ - -57.948334, - 49.674166 - ], - [ - -57.696388, - 49.46361 - ], - [ - -58.223328, - 49.390276 - ], - [ - -57.881668, - 48.968882 - ], - [ - -58.396111, - 49.13138 - ], - [ - -58.709442, - 48.570833 - ], - [ - -58.958611, - 48.613886 - ], - [ - -58.774719, - 48.778879 - ], - [ - -59.261116, - 48.476656 - ], - [ - -58.418335, - 48.486658 - ], - [ - -59.406944, - 47.889719 - ], - [ - -59.135559, - 47.556383 - ], - [ - -56.840836, - 47.521379 - ], - [ - -55.773613, - 47.956942 - ], - [ - -55.917503, - 47.657495 - ], - [ - -55.628334, - 47.674715 - ], - [ - -56.172501, - 47.497217 - ], - [ - -55.587776, - 47.398607 - ], - [ - -54.936111, - 47.781664 - ], - [ - -54.845833, - 47.55694 - ], - [ - -55.983055, - 46.952494 - ], - [ - -55.68972, - 46.858332 - ], - [ - -54.418335, - 47.603609 - ], - [ - -54.482773, - 47.391665 - ], - [ - -54.195274, - 47.8575 - ], - [ - -53.8675, - 47.402773 - ], - [ - -54.187775, - 46.819162 - ], - [ - -53.591385, - 47.156099 - ], - [ - -53.617775, - 46.644159 - ], - [ - -53.102501, - 46.63666 - ], - [ - -52.614449, - 47.516665 - ], - [ - -52.779442, - 47.803049 - ], - [ - -53.121941, - 47.413324 - ], - [ - -53.26722, - 47.606104 - ], - [ - -52.83139, - 48.101664 - ], - [ - -53.274445, - 48.01333 - ], - [ - -53.550552, - 47.529161 - ], - [ - -53.850555, - 47.760553 - ], - [ - -53.60778, - 48.051104 - ], - [ - -53.945274, - 48.178881 - ], - [ - -52.97805, - 48.604441 - ], - [ - -53.756367, - 48.503263 - ] - ], - [ - [ - -53.756367, - 48.503263 - ], - [ - -54.138054, - 48.359163 - ], - [ - -54.094444, - 48.425829 - ], - [ - -53.756367, - 48.503263 - ] - ], - [ - [ - -55.993889, - 51.200274 - ], - [ - -55.998055, - 51.207499 - ], - [ - -55.967773, - 51.226656 - ], - [ - -55.993889, - 51.200274 - ] - ], - [ - [ - -56.803612, - 49.76333 - ], - [ - -56.838051, - 49.767496 - ], - [ - -56.782219, - 49.786943 - ], - [ - -56.803612, - 49.76333 - ] - ], - [ - [ - -58.342224, - 49.066103 - ], - [ - -58.35611, - 49.065828 - ], - [ - -58.333611, - 49.077776 - ], - [ - -58.342224, - 49.066103 - ] - ] - ], - [ - [ - [ - -53.712776, - 48.148882 - ], - [ - -53.509726, - 48.198328 - ], - [ - -53.935829, - 48.182497 - ], - [ - -53.712776, - 48.148882 - ] - ] - ], - [ - [ - [ - -54.004448, - 49.647493 - ], - [ - -54.141945, - 49.750002 - ], - [ - -54.298889, - 49.609995 - ], - [ - -54.004448, - 49.647493 - ] - ] - ], - [ - [ - [ - -54.077499, - 47.479433 - ], - [ - -54.071388, - 47.685549 - ], - [ - -54.101944, - 47.50139 - ], - [ - -54.077499, - 47.479433 - ] - ] - ], - [ - [ - [ - -54.261391, - 47.390276 - ], - [ - -54.128883, - 47.670549 - ], - [ - -54.365555, - 47.411661 - ], - [ - -54.261391, - 47.390276 - ] - ] - ], - [ - [ - [ - -54.576668, - 49.558603 - ], - [ - -54.536118, - 49.664156 - ], - [ - -54.894447, - 49.585268 - ], - [ - -54.576668, - 49.558603 - ] - ] - ], - [ - [ - [ - -54.705275, - 49.400545 - ], - [ - -54.640839, - 49.463884 - ], - [ - -54.673058, - 49.492495 - ], - [ - -54.759171, - 49.437769 - ], - [ - -54.705275, - 49.400545 - ] - ] - ], - [ - [ - [ - -55.3675, - 51.874163 - ], - [ - -55.269997, - 52.000551 - ], - [ - -55.430557, - 51.896662 - ], - [ - -55.3675, - 51.874163 - ] - ] - ], - [ - [ - [ - -55.56472, - 50.699717 - ], - [ - -55.450554, - 50.798334 - ], - [ - -55.624718, - 50.787218 - ], - [ - -55.56472, - 50.699717 - ] - ] - ], - [ - [ - [ - -55.555557, - 50.886385 - ], - [ - -55.535278, - 50.981379 - ], - [ - -55.635277, - 50.961382 - ], - [ - -55.555557, - 50.886385 - ] - ] - ], - [ - [ - [ - -55.693054, - 49.567499 - ], - [ - -55.567505, - 49.6 - ], - [ - -55.659721, - 49.635553 - ], - [ - -55.693054, - 49.567499 - ] - ] - ], - [ - [ - [ - -134.495544, - 68.752214 - ], - [ - -134.845551, - 68.92943 - ], - [ - -134.977478, - 68.878313 - ], - [ - -135.186951, - 68.90027 - ], - [ - -135.241669, - 68.926928 - ], - [ - -135.623596, - 68.88611 - ], - [ - -135.338043, - 68.834993 - ], - [ - -135.506134, - 68.832491 - ], - [ - -135.146393, - 68.663881 - ], - [ - -135.406952, - 68.679979 - ], - [ - -138.60498, - 69.247484 - ], - [ - -139.143066, - 69.51082 - ], - [ - -141.002991, - 69.642366 - ], - [ - -140.995544, - 60.307215 - ], - [ - -139.068054, - 60.352221 - ], - [ - -139.188904, - 60.088884 - ], - [ - -137.59082, - 59.238604 - ], - [ - -137.478058, - 58.907213 - ], - [ - -135.473602, - 59.801935 - ], - [ - -133.429993, - 58.459162 - ], - [ - -131.824158, - 56.596941 - ], - [ - -130.015076, - 55.909182 - ], - [ - -130.128876, - 55.722216 - ], - [ - -129.943878, - 55.282213 - ], - [ - -130.113617, - 54.996386 - ], - [ - -129.817505, - 55.283335 - ], - [ - -129.786957, - 55.566668 - ], - [ - -129.471649, - 55.467211 - ], - [ - -129.996368, - 55.024164 - ], - [ - -129.622498, - 54.997774 - ], - [ - -130.173889, - 54.846659 - ], - [ - -129.910278, - 54.605555 - ], - [ - -130.374146, - 54.654993 - ], - [ - -129.959166, - 54.316103 - ], - [ - -130.416655, - 54.630274 - ], - [ - -130.48111, - 54.364717 - ], - [ - -129.470001, - 54.237215 - ], - [ - -130.046661, - 54.153322 - ], - [ - -130.050293, - 53.886942 - ], - [ - -129.272797, - 53.37916 - ], - [ - -129.232483, - 53.625826 - ], - [ - -128.600555, - 54.031664 - ], - [ - -128.471375, - 53.832499 - ], - [ - -128.813049, - 53.619158 - ], - [ - -127.867767, - 53.239717 - ], - [ - -128.972778, - 53.553049 - ], - [ - -128.887985, - 53.424967 - ], - [ - -128.858887, - 53.283609 - ], - [ - -128.539734, - 53.131937 - ], - [ - -128.441101, - 52.822771 - ], - [ - -128.131653, - 52.876383 - ], - [ - -128.221924, - 52.465273 - ], - [ - -128.39389, - 52.291384 - ], - [ - -127.879707, - 52.579721 - ], - [ - -128.012512, - 52.341105 - ], - [ - -127.618332, - 52.291941 - ], - [ - -127.017775, - 52.845545 - ], - [ - -127.186394, - 52.380823 - ], - [ - -126.732498, - 52.37388 - ], - [ - -126.940826, - 52.303881 - ], - [ - -126.669449, - 51.983606 - ], - [ - -127.171661, - 52.312494 - ], - [ - -127.878052, - 51.673883 - ], - [ - -127.70639, - 51.456385 - ], - [ - -127.351097, - 51.863611 - ], - [ - -127.43222, - 51.668329 - ], - [ - -126.620003, - 51.679995 - ], - [ - -127.488052, - 51.61944 - ], - [ - -127.778877, - 51.324717 - ], - [ - -127.133057, - 51.325556 - ], - [ - -127.789993, - 51.165545 - ], - [ - -126.662514, - 51.194994 - ], - [ - -127.53833, - 51.005556 - ], - [ - -126.17778, - 50.951387 - ], - [ - -126.559723, - 50.843882 - ], - [ - -126.198883, - 50.855829 - ], - [ - -126.131004, - 50.678659 - ], - [ - -125.73111, - 50.735552 - ], - [ - -125.633904, - 51.096941 - ], - [ - -125.622498, - 50.750002 - ], - [ - -126.274719, - 50.631662 - ], - [ - -125.705841, - 50.427774 - ], - [ - -125.443604, - 50.714159 - ], - [ - -125.548111, - 50.492052 - ], - [ - -125.119453, - 50.432772 - ], - [ - -124.805832, - 50.920832 - ], - [ - -125.078339, - 50.322496 - ], - [ - -124.347778, - 50.502497 - ], - [ - -124.715012, - 50.327494 - ], - [ - -124.601387, - 50.238886 - ], - [ - -124.703339, - 49.995546 - ], - [ - -124.829727, - 50.061937 - ], - [ - -124.41362, - 49.763613 - ], - [ - -123.926392, - 49.82583 - ], - [ - -123.821404, - 50.152216 - ], - [ - -123.934998, - 49.768328 - ], - [ - -123.533623, - 49.689714 - ], - [ - -124.068069, - 49.633883 - ], - [ - -123.535553, - 49.38138 - ], - [ - -123.492493, - 49.509722 - ], - [ - -123.159729, - 49.69916 - ], - [ - -123.236389, - 49.338884 - ], - [ - -122.852783, - 49.436106 - ], - [ - -123.248894, - 49.273607 - ], - [ - -123.09375, - 48.999437 - ], - [ - -123.034317, - 48.999437 - ], - [ - -122.7603, - 48.999437 - ], - [ - -95.154175, - 48.999437 - ], - [ - -95.078064, - 49.359163 - ], - [ - -94.605835, - 48.724436 - ], - [ - -92.953064, - 48.623323 - ], - [ - -91.418335, - 48.041109 - ], - [ - -90.868607, - 48.237497 - ], - [ - -89.356659, - 47.979715 - ], - [ - -88.368057, - 48.312212 - ], - [ - -84.856949, - 46.902216 - ], - [ - -84.565002, - 46.466387 - ], - [ - -84.126389, - 46.531939 - ], - [ - -83.958893, - 46.071665 - ], - [ - -83.577499, - 46.105272 - ], - [ - -83.597778, - 45.827219 - ], - [ - -82.54306, - 45.355829 - ], - [ - -82.13028, - 43.585268 - ], - [ - -82.521393, - 42.618883 - ], - [ - -83.16861, - 42.046106 - ], - [ - -82.696655, - 41.683878 - ], - [ - -78.986938, - 42.819994 - ], - [ - -79.184723, - 43.465548 - ], - [ - -78.724716, - 43.629435 - ], - [ - -76.801941, - 43.633608 - ], - [ - -74.990829, - 44.986658 - ], - [ - -70.878601, - 45.238604 - ], - [ - -69.232498, - 47.471376 - ], - [ - -67.794998, - 47.069994 - ], - [ - -67.799164, - 45.701105 - ], - [ - -67.206543, - 45.183039 - ], - [ - -66.42778, - 45.084993 - ], - [ - -66.002502, - 45.461664 - ], - [ - -65.90361, - 45.205553 - ], - [ - -64.778336, - 45.607218 - ], - [ - -64.747498, - 46.090548 - ], - [ - -64.275558, - 45.799997 - ], - [ - -64.93721, - 45.326944 - ], - [ - -63.360832, - 45.360826 - ], - [ - -64.156387, - 44.978327 - ], - [ - -64.489166, - 45.335268 - ], - [ - -66.191101, - 44.423326 - ], - [ - -65.844452, - 44.578333 - ], - [ - -66.166946, - 43.858606 - ], - [ - -65.481384, - 43.464441 - ], - [ - -64.200836, - 44.576387 - ], - [ - -63.631111, - 44.435823 - ], - [ - -63.658333, - 44.714998 - ], - [ - -60.964722, - 45.313051 - ], - [ - -61.46389, - 45.346941 - ], - [ - -61.260002, - 45.510279 - ], - [ - -61.917503, - 45.885553 - ], - [ - -62.461945, - 45.612497 - ], - [ - -64.504181, - 46.240274 - ], - [ - -64.798615, - 47.079996 - ], - [ - -65.369995, - 47.086657 - ], - [ - -64.797226, - 47.806383 - ], - [ - -65.634735, - 47.620829 - ], - [ - -66.356659, - 48.073328 - ], - [ - -66.842499, - 47.99222 - ], - [ - -65.904175, - 48.205828 - ], - [ - -65.305832, - 48.005556 - ], - [ - -64.246384, - 48.488047 - ], - [ - -64.548889, - 48.878328 - ], - [ - -64.221664, - 48.898333 - ], - [ - -64.996948, - 49.22027 - ], - [ - -66.306107, - 49.186937 - ], - [ - -68.211121, - 48.63666 - ], - [ - -71.299164, - 46.74222 - ], - [ - -69.060822, - 48.767496 - ], - [ - -67.375, - 49.327219 - ], - [ - -66.469727, - 50.261942 - ], - [ - -60.005005, - 50.24888 - ], - [ - -58.628052, - 51.275553 - ], - [ - -56.949722, - 51.424715 - ], - [ - -55.701668, - 52.082216 - ], - [ - -56.196945, - 52.439989 - ], - [ - -55.648613, - 52.439714 - ], - [ - -56.496872, - 52.594149 - ], - [ - -55.757507, - 52.614443 - ], - [ - -56.166946, - 53.029436 - ], - [ - -55.808052, - 53.340548 - ], - [ - -56.680283, - 53.67277 - ], - [ - -56.464691, - 53.782274 - ], - [ - -57.336945, - 53.440271 - ], - [ - -57.549995, - 53.591936 - ], - [ - -57.076393, - 53.823053 - ], - [ - -57.384171, - 54.150545 - ], - [ - -58.17778, - 54.23694 - ], - [ - -58.418335, - 54.139719 - ], - [ - -57.786392, - 54.071665 - ], - [ - -60.418335, - 53.269442 - ], - [ - -60.103615, - 53.500551 - ], - [ - -60.856949, - 53.792772 - ], - [ - -60.133888, - 53.52833 - ], - [ - -58.371941, - 54.228045 - ], - [ - -59.575562, - 54.04944 - ], - [ - -57.347496, - 54.579439 - ], - [ - -58.904167, - 54.844713 - ], - [ - -59.023613, - 55.156656 - ], - [ - -59.388611, - 54.976656 - ], - [ - -59.161385, - 55.23694 - ], - [ - -59.938606, - 54.746386 - ], - [ - -59.42778, - 55.135828 - ], - [ - -59.963615, - 55.110277 - ], - [ - -59.779167, - 55.329721 - ], - [ - -60.683327, - 54.994997 - ], - [ - -60.195549, - 55.431383 - ], - [ - -60.478333, - 55.34749 - ], - [ - -60.328888, - 55.781664 - ], - [ - -60.66806, - 55.589434 - ], - [ - -60.601944, - 55.814714 - ], - [ - -60.87944, - 55.732767 - ], - [ - -60.729721, - 55.829439 - ], - [ - -61.104446, - 55.845545 - ], - [ - -61.201668, - 55.884165 - ], - [ - -61.076668, - 55.906939 - ], - [ - -61.117775, - 55.966105 - ], - [ - -61.503616, - 56.006945 - ], - [ - -61.237503, - 56.042772 - ], - [ - -61.452225, - 56.05694 - ], - [ - -61.350838, - 56.222216 - ], - [ - -62.011673, - 56.235826 - ], - [ - -61.661385, - 56.270273 - ], - [ - -62.143059, - 56.44916 - ], - [ - -61.658333, - 56.5375 - ], - [ - -62.573891, - 56.792772 - ], - [ - -61.672501, - 56.619989 - ], - [ - -61.906387, - 56.795275 - ], - [ - -61.358337, - 57.087496 - ], - [ - -62.54528, - 57.501108 - ], - [ - -61.884445, - 57.62694 - ], - [ - -62.125275, - 57.80694 - ], - [ - -62.138054, - 57.835825 - ], - [ - -62.059723, - 57.897776 - ], - [ - -62.127495, - 57.96805 - ], - [ - -62.672775, - 57.929995 - ], - [ - -62.306946, - 58.031107 - ], - [ - -62.452782, - 58.175272 - ], - [ - -63.340836, - 57.97999 - ], - [ - -62.584442, - 58.214441 - ], - [ - -62.828056, - 58.252222 - ], - [ - -62.557503, - 58.482492 - ], - [ - -63.589439, - 58.300829 - ], - [ - -62.847496, - 58.690546 - ], - [ - -63.325005, - 58.855829 - ], - [ - -63.134171, - 59.058329 - ], - [ - -64.043884, - 59.015276 - ], - [ - -63.356392, - 59.204996 - ], - [ - -64.06221, - 59.382494 - ], - [ - -63.722496, - 59.513887 - ], - [ - -64.116943, - 59.517496 - ], - [ - -64.05777, - 59.625269 - ], - [ - -64.266663, - 59.779161 - ], - [ - -64.166946, - 60.024996 - ], - [ - -64.827499, - 59.986383 - ], - [ - -64.466919, - 60.278605 - ], - [ - -64.854446, - 60.361109 - ], - [ - -65.231949, - 59.885828 - ], - [ - -64.983887, - 59.762774 - ], - [ - -65.527786, - 59.716936 - ], - [ - -64.983322, - 59.376383 - ], - [ - -65.561386, - 59.486109 - ], - [ - -65.357224, - 59.277216 - ], - [ - -65.718063, - 59.153048 - ], - [ - -65.317505, - 59.041384 - ], - [ - -65.988602, - 58.903605 - ], - [ - -65.789444, - 58.86194 - ], - [ - -66.103882, - 58.773607 - ], - [ - -65.87999, - 58.627214 - ], - [ - -66.058884, - 58.320276 - ], - [ - -65.935822, - 58.60972 - ], - [ - -66.388611, - 58.85055 - ], - [ - -67.713898, - 57.923052 - ], - [ - -67.723892, - 58.458887 - ], - [ - -67.813324, - 58.416101 - ], - [ - -67.801392, - 58.296663 - ], - [ - -68.128326, - 58.07361 - ], - [ - -67.857498, - 58.320276 - ], - [ - -67.89389, - 58.49666 - ], - [ - -68.003342, - 58.576387 - ], - [ - -68.404175, - 58.039721 - ], - [ - -69.369049, - 57.765253 - ], - [ - -68.344162, - 58.127489 - ], - [ - -68.36055, - 58.781939 - ], - [ - -69.279175, - 58.888048 - ], - [ - -69.818893, - 58.588602 - ], - [ - -70.15361, - 58.777491 - ], - [ - -69.815826, - 58.823885 - ], - [ - -69.869156, - 59.053049 - ], - [ - -69.547501, - 58.808046 - ], - [ - -69.530563, - 59.182215 - ], - [ - -69.234726, - 59.233881 - ], - [ - -69.758347, - 59.320276 - ], - [ - -69.600555, - 59.833055 - ], - [ - -70.945831, - 60.063051 - ], - [ - -69.62471, - 60.067499 - ], - [ - -69.826111, - 60.525553 - ], - [ - -69.371933, - 60.804438 - ], - [ - -69.51973, - 61.073328 - ], - [ - -69.92749, - 60.807772 - ], - [ - -70.146118, - 61.084719 - ], - [ - -71.389999, - 61.137774 - ], - [ - -71.887512, - 61.428049 - ], - [ - -71.575012, - 61.608606 - ], - [ - -72.303329, - 61.567217 - ], - [ - -72.010056, - 61.675272 - ], - [ - -73.678879, - 62.47999 - ], - [ - -74.759735, - 62.206385 - ], - [ - -74.571671, - 62.103052 - ], - [ - -77.508347, - 62.561663 - ], - [ - -78.155838, - 62.27833 - ], - [ - -77.992493, - 61.714716 - ], - [ - -77.474716, - 61.541666 - ], - [ - -78.192764, - 60.790834 - ], - [ - -77.511673, - 60.836382 - ], - [ - -77.833893, - 60.639437 - ], - [ - -77.41333, - 60.544161 - ], - [ - -77.747757, - 60.408136 - ], - [ - -77.592224, - 60.064157 - ], - [ - -76.758896, - 60.159159 - ], - [ - -77.42749, - 59.914713 - ], - [ - -77.313889, - 59.564997 - ], - [ - -77.773895, - 59.709719 - ], - [ - -77.910278, - 59.40555 - ], - [ - -77.677216, - 59.399996 - ], - [ - -78.570557, - 58.961382 - ], - [ - -78.574722, - 58.635271 - ], - [ - -76.861938, - 57.719156 - ], - [ - -76.529724, - 57.105829 - ], - [ - -76.53833, - 56.297777 - ], - [ - -77.137222, - 55.654161 - ], - [ - -77.748611, - 55.300829 - ], - [ - -79.76445, - 54.652216 - ], - [ - -79.048889, - 54.183329 - ], - [ - -79.110275, - 53.502497 - ], - [ - -78.506958, - 52.46055 - ], - [ - -79.035553, - 51.770273 - ], - [ - -78.853333, - 51.165545 - ], - [ - -79.322235, - 51.662767 - ], - [ - -79.752228, - 51.184435 - ], - [ - -79.33223, - 50.723879 - ], - [ - -80.12027, - 51.296389 - ], - [ - -81.015015, - 51.02833 - ], - [ - -80.436386, - 51.464159 - ], - [ - -80.994446, - 52.011385 - ], - [ - -81.883621, - 52.187494 - ], - [ - -81.549988, - 52.441103 - ], - [ - -82.296661, - 53.018602 - ], - [ - -82.30777, - 55.148882 - ], - [ - -85.001953, - 55.296663 - ], - [ - -85.423889, - 54.990549 - ], - [ - -85.121933, - 55.33777 - ], - [ - -85.714447, - 55.631662 - ], - [ - -90.815277, - 57.255831 - ], - [ - -92.876099, - 56.907495 - ], - [ - -92.418884, - 57.337496 - ], - [ - -93.152222, - 58.737772 - ], - [ - -94.14389, - 58.763613 - ], - [ - -94.363327, - 58.218882 - ], - [ - -94.228882, - 58.784998 - ], - [ - -94.789719, - 59.092218 - ], - [ - -94.819168, - 59.636385 - ], - [ - -94.673325, - 60.522493 - ], - [ - -93.984726, - 61.456102 - ], - [ - -93.237778, - 61.777216 - ], - [ - -93.616104, - 61.939989 - ], - [ - -92.764725, - 62.219439 - ], - [ - -93.122223, - 62.334993 - ], - [ - -92.470015, - 62.146616 - ], - [ - -92.710007, - 62.46583 - ], - [ - -91.88501, - 62.599161 - ], - [ - -92.420837, - 62.831385 - ], - [ - -90.627487, - 63.059435 - ], - [ - -90.741943, - 63.360826 - ], - [ - -91.763336, - 63.713327 - ], - [ - -92.480835, - 63.527216 - ], - [ - -92.101669, - 63.696939 - ], - [ - -92.482773, - 63.811937 - ], - [ - -90.205275, - 63.612215 - ], - [ - -89.964172, - 63.811937 - ], - [ - -90.279175, - 64.003603 - ], - [ - -89.813614, - 63.937212 - ], - [ - -90.124161, - 64.128588 - ], - [ - -88.113327, - 64.13611 - ], - [ - -86.933319, - 65.138048 - ], - [ - -91.429169, - 65.951097 - ], - [ - -89.671661, - 65.939425 - ], - [ - -87.395844, - 65.321383 - ], - [ - -85.897232, - 66.168322 - ], - [ - -86.775284, - 66.526094 - ], - [ - -83.693054, - 66.190813 - ], - [ - -84.144455, - 66.681368 - ], - [ - -84.44249, - 66.710817 - ], - [ - -84.466949, - 66.787767 - ], - [ - -84.690552, - 66.839983 - ], - [ - -84.505844, - 66.827776 - ], - [ - -84.746384, - 66.897493 - ], - [ - -84.602219, - 66.935808 - ], - [ - -85.228333, - 66.878313 - ], - [ - -84.639725, - 66.978045 - ], - [ - -84.915009, - 67.060808 - ], - [ - -84.370834, - 66.971376 - ], - [ - -84.436386, - 66.818331 - ], - [ - -84.140289, - 66.701937 - ], - [ - -83.916397, - 66.88109 - ], - [ - -83.977493, - 66.582216 - ], - [ - -83.402222, - 66.34749 - ], - [ - -81.503067, - 66.999712 - ], - [ - -81.243057, - 67.474993 - ], - [ - -82.638901, - 68.49721 - ], - [ - -81.267502, - 68.633043 - ], - [ - -82.05722, - 68.873873 - ], - [ - -81.332504, - 69.182482 - ], - [ - -83.228058, - 69.538591 - ], - [ - -82.263336, - 69.638048 - ], - [ - -83.705002, - 69.7036 - ], - [ - -84.375824, - 69.857485 - ], - [ - -85.064438, - 69.769991 - ], - [ - -85.571945, - 69.856096 - ], - [ - -85.331955, - 69.779161 - ], - [ - -85.473328, - 69.271929 - ], - [ - -84.528336, - 69.017488 - ], - [ - -85.194443, - 68.867205 - ], - [ - -84.787216, - 68.733599 - ], - [ - -85.66362, - 68.726931 - ], - [ - -86.523621, - 67.352205 - ], - [ - -87.510284, - 67.1122 - ], - [ - -87.357773, - 67.262209 - ], - [ - -88.370834, - 67.959154 - ], - [ - -88.392227, - 68.287493 - ], - [ - -87.792221, - 68.334429 - ], - [ - -88.052216, - 68.823046 - ], - [ - -89.306656, - 69.25139 - ], - [ - -90.271393, - 68.238878 - ], - [ - -90.606659, - 68.446093 - ], - [ - -90.436386, - 68.874422 - ], - [ - -91.44722, - 69.35277 - ], - [ - -90.30777, - 69.450274 - ], - [ - -92.920273, - 69.66971 - ], - [ - -91.939713, - 70.020266 - ], - [ - -92.450287, - 70.071108 - ], - [ - -92.268341, - 70.208879 - ], - [ - -91.513626, - 70.167208 - ], - [ - -93.027496, - 70.85277 - ], - [ - -92.973892, - 71.340822 - ], - [ - -93.71167, - 71.761385 - ], - [ - -95.217499, - 71.944979 - ], - [ - -94.606659, - 71.863314 - ], - [ - -95.943054, - 71.553591 - ], - [ - -95.535278, - 71.290819 - ], - [ - -96.503891, - 71.277208 - ], - [ - -96.462204, - 71.255503 - ], - [ - -96.467224, - 71.16527 - ], - [ - -96.560547, - 71.126375 - ], - [ - -96.369995, - 71.089983 - ], - [ - -96.611938, - 70.794436 - ], - [ - -95.789444, - 70.536654 - ], - [ - -96.232773, - 70.562197 - ], - [ - -96.531677, - 70.13109 - ], - [ - -95.960831, - 69.778048 - ], - [ - -93.362778, - 69.371645 - ], - [ - -94.303329, - 69.304979 - ], - [ - -94.072784, - 69.12665 - ], - [ - -94.625, - 68.761385 - ], - [ - -93.666946, - 68.972216 - ], - [ - -93.553329, - 68.586382 - ], - [ - -94.722229, - 68.054979 - ], - [ - -95.472778, - 68.060534 - ], - [ - -95.709166, - 67.72777 - ], - [ - -95.16333, - 67.287203 - ], - [ - -95.22084, - 66.968325 - ], - [ - -95.902496, - 66.946642 - ], - [ - -95.326111, - 67.027208 - ], - [ - -95.833328, - 67.162767 - ], - [ - -95.565826, - 67.37665 - ], - [ - -96.114441, - 67.21332 - ], - [ - -96.097229, - 67.464708 - ], - [ - -96.464722, - 67.478045 - ], - [ - -95.980286, - 68.254717 - ], - [ - -96.708344, - 68.008608 - ], - [ - -96.404175, - 68.311373 - ], - [ - -98.714447, - 68.37221 - ], - [ - -98.326111, - 68.171373 - ], - [ - -98.587509, - 68.149431 - ], - [ - -98.078613, - 67.830278 - ], - [ - -98.029999, - 67.941927 - ], - [ - -97.68306, - 68.018602 - ], - [ - -97.119156, - 67.792482 - ], - [ - -97.509735, - 67.599154 - ], - [ - -98.094452, - 67.7661 - ], - [ - -98.615555, - 68.074709 - ], - [ - -98.354446, - 67.796099 - ], - [ - -102.251106, - 67.725267 - ], - [ - -103.421661, - 68.166658 - ], - [ - -104.5, - 68.031939 - ], - [ - -104.670273, - 68.138597 - ], - [ - -104.609734, - 68.241365 - ], - [ - -105.541107, - 68.412767 - ], - [ - -105.380829, - 68.48665 - ], - [ - -105.486938, - 68.729433 - ], - [ - -106.229172, - 68.940813 - ], - [ - -108.314163, - 68.611376 - ], - [ - -108.819168, - 68.266665 - ], - [ - -107.603058, - 68.16527 - ], - [ - -107.885277, - 68.268877 - ], - [ - -106.80278, - 68.414431 - ], - [ - -106.543327, - 68.291368 - ], - [ - -106.543877, - 68.511934 - ], - [ - -105.644997, - 68.633883 - ], - [ - -105.739723, - 68.41527 - ], - [ - -106.465012, - 68.335817 - ], - [ - -106.431953, - 68.153048 - ], - [ - -107.890556, - 68.081667 - ], - [ - -107.651108, - 67.940538 - ], - [ - -108.006958, - 67.707491 - ], - [ - -107.083618, - 66.820543 - ], - [ - -107.746658, - 66.922762 - ], - [ - -107.248047, - 66.349993 - ], - [ - -108.622772, - 67.149996 - ], - [ - -107.880547, - 67.048326 - ], - [ - -108.015289, - 67.293047 - ], - [ - -108.366943, - 67.444979 - ], - [ - -108.484161, - 67.349428 - ], - [ - -108.655273, - 67.628313 - ], - [ - -108.825012, - 67.349428 - ], - [ - -109.065826, - 67.714159 - ], - [ - -110.083893, - 68.006945 - ], - [ - -111.005835, - 67.765001 - ], - [ - -112.395844, - 67.679155 - ], - [ - -115.103607, - 67.796648 - ], - [ - -115.542503, - 67.921648 - ], - [ - -114.023331, - 68.241365 - ], - [ - -114.070557, - 68.47748 - ], - [ - -115.593063, - 68.971651 - ], - [ - -117.153877, - 68.885546 - ], - [ - -121.683884, - 69.793596 - ], - [ - -122.959166, - 69.833605 - ], - [ - -123.46611, - 69.383883 - ], - [ - -124.446663, - 69.367205 - ], - [ - -124.040833, - 69.701387 - ], - [ - -124.500557, - 69.725817 - ], - [ - -124.436111, - 70.151094 - ], - [ - -125.197487, - 70.004503 - ], - [ - -124.795273, - 70.008883 - ], - [ - -125.276398, - 69.808245 - ], - [ - -124.821953, - 69.714998 - ], - [ - -125.365547, - 69.690264 - ], - [ - -125.118057, - 69.485796 - ], - [ - -125.622498, - 69.418596 - ], - [ - -125.089447, - 69.449709 - ], - [ - -125.426392, - 69.312181 - ], - [ - -127.996658, - 70.590548 - ], - [ - -128.196655, - 70.391939 - ], - [ - -127.515007, - 70.221651 - ], - [ - -128.925018, - 69.680819 - ], - [ - -129.169464, - 69.824709 - ], - [ - -128.900848, - 69.971926 - ], - [ - -130.366089, - 69.686373 - ], - [ - -130.937225, - 69.134432 - ], - [ - -130.952789, - 69.543322 - ], - [ - -131.108887, - 69.321657 - ], - [ - -131.027802, - 69.463884 - ], - [ - -131.083069, - 69.600542 - ], - [ - -131.196106, - 69.589983 - ], - [ - -131.06395, - 69.512392 - ], - [ - -131.135834, - 69.359987 - ], - [ - -131.110535, - 69.485331 - ], - [ - -131.25386, - 69.571848 - ], - [ - -131.166504, - 69.404932 - ], - [ - -131.324707, - 69.319994 - ], - [ - -131.652222, - 69.471926 - ], - [ - -132.869446, - 69.062761 - ], - [ - -132.470276, - 68.806932 - ], - [ - -133.490814, - 68.821657 - ], - [ - -131.997223, - 69.531374 - ], - [ - -131.05307, - 69.637209 - ], - [ - -130.928619, - 69.563311 - ], - [ - -129.403351, - 70.117754 - ], - [ - -130.54306, - 70.168322 - ], - [ - -134.562225, - 69.082766 - ], - [ - -134.26059, - 68.733538 - ], - [ - -134.226929, - 68.694139 - ], - [ - -134.339996, - 68.678865 - ], - [ - -134.495544, - 68.752214 - ] - ], - [ - [ - -95.902496, - 66.946642 - ], - [ - -95.629715, - 66.675539 - ], - [ - -96.460556, - 67.062197 - ], - [ - -95.902496, - 66.946642 - ] - ], - [ - [ - -70.783066, - 48.380548 - ], - [ - -71.048615, - 48.445269 - ], - [ - -69.828339, - 48.166384 - ], - [ - -70.783066, - 48.380548 - ] - ], - [ - [ - -71.111115, - 46.85055 - ], - [ - -70.809158, - 47.015276 - ], - [ - -70.904175, - 46.913607 - ], - [ - -71.111115, - 46.85055 - ] - ], - [ - [ - -77.678329, - 58.235552 - ], - [ - -77.950836, - 58.324167 - ], - [ - -77.807495, - 58.305269 - ], - [ - -77.678329, - 58.235552 - ] - ], - [ - [ - -84.808044, - 68.763887 - ], - [ - -84.939163, - 68.793596 - ], - [ - -84.855835, - 68.810808 - ], - [ - -84.808044, - 68.763887 - ] - ], - [ - [ - -89.005569, - 65.385546 - ], - [ - -89.099991, - 65.405825 - ], - [ - -89.031952, - 65.407213 - ], - [ - -89.005569, - 65.385546 - ] - ], - [ - [ - -91.329178, - 63.559717 - ], - [ - -91.436386, - 63.551935 - ], - [ - -91.540558, - 63.606661 - ], - [ - -91.329178, - 63.559717 - ] - ], - [ - [ - -93.51973, - 63.839434 - ], - [ - -93.779724, - 64.189699 - ], - [ - -92.507507, - 63.816385 - ], - [ - -93.51973, - 63.839434 - ] - ] - ], - [ - [ - [ - -134.495544, - 68.752214 - ], - [ - -134.26059, - 68.733538 - ], - [ - -134.673615, - 69.017763 - ], - [ - -133.778351, - 69.576387 - ], - [ - -134.113312, - 69.538881 - ], - [ - -134.491089, - 69.722216 - ], - [ - -134.438324, - 69.454714 - ], - [ - -135.150848, - 69.476931 - ], - [ - -135.287231, - 69.419146 - ], - [ - -135.170563, - 69.257769 - ], - [ - -135.854155, - 69.290819 - ], - [ - -135.486938, - 69.113314 - ], - [ - -135.967224, - 69.214708 - ], - [ - -135.517792, - 69.023882 - ], - [ - -135.978333, - 69.040819 - ], - [ - -135.905853, - 68.911379 - ], - [ - -135.460815, - 68.942751 - ], - [ - -135.391968, - 68.926653 - ], - [ - -135.20166, - 68.932756 - ], - [ - -135.141968, - 68.901384 - ], - [ - -134.961121, - 68.892488 - ], - [ - -134.914734, - 68.966661 - ], - [ - -134.825836, - 68.978868 - ], - [ - -134.495544, - 68.752214 - ] - ] - ], - [ - [ - [ - -55.695549, - 49.506945 - ], - [ - -55.653053, - 49.555269 - ], - [ - -55.722771, - 49.557772 - ], - [ - -55.695549, - 49.506945 - ] - ] - ], - [ - [ - [ - -55.787506, - 53.394159 - ], - [ - -55.729164, - 53.455271 - ], - [ - -55.979164, - 53.459162 - ], - [ - -55.787506, - 53.394159 - ] - ] - ], - [ - [ - [ - -55.763062, - 53.029436 - ], - [ - -55.800552, - 53.093607 - ], - [ - -55.876389, - 53.027491 - ], - [ - -55.763062, - 53.029436 - ] - ] - ], - [ - [ - [ - -55.778053, - 53.289721 - ], - [ - -55.785004, - 53.303606 - ], - [ - -55.797226, - 53.295549 - ], - [ - -55.778053, - 53.289721 - ] - ] - ], - [ - [ - [ - -55.876106, - 47.260553 - ], - [ - -55.881111, - 47.293329 - ], - [ - -55.96833, - 47.257776 - ], - [ - -55.876106, - 47.260553 - ] - ] - ], - [ - [ - [ - -55.901939, - 47.602495 - ], - [ - -55.933884, - 47.688326 - ], - [ - -56.113617, - 47.644716 - ], - [ - -55.901939, - 47.602495 - ] - ] - ], - [ - [ - [ - -56.867218, - 53.765001 - ], - [ - -56.844444, - 53.792498 - ], - [ - -57.01445, - 53.785555 - ], - [ - -56.867218, - 53.765001 - ] - ] - ], - [ - [ - [ - -57.324722, - 54.49888 - ], - [ - -57.24028, - 54.517771 - ], - [ - -57.26722, - 54.58555 - ], - [ - -57.324722, - 54.49888 - ] - ] - ], - [ - [ - [ - -57.940834, - 54.911936 - ], - [ - -58.224716, - 54.835268 - ], - [ - -57.841667, - 54.812494 - ], - [ - -57.940834, - 54.911936 - ] - ] - ], - [ - [ - [ - -58.518333, - 54.051661 - ], - [ - -58.373886, - 54.104166 - ], - [ - -58.561386, - 54.063883 - ], - [ - -58.518333, - 54.051661 - ] - ] - ], - [ - [ - [ - -58.41333, - 51.238886 - ], - [ - -58.419449, - 51.274714 - ], - [ - -58.565002, - 51.233332 - ], - [ - -58.41333, - 51.238886 - ] - ] - ], - [ - [ - [ - -58.675278, - 54.914156 - ], - [ - -58.660278, - 55.008608 - ], - [ - -58.760559, - 54.920549 - ], - [ - -58.675278, - 54.914156 - ] - ] - ], - [ - [ - [ - -59.345833, - 50.533884 - ], - [ - -59.300278, - 50.581942 - ], - [ - -59.371941, - 50.652773 - ], - [ - -59.345833, - 50.533884 - ] - ] - ], - [ - [ - [ - -59.816948, - 43.928331 - ], - [ - -59.724716, - 43.991106 - ], - [ - -60.129997, - 43.941935 - ], - [ - -59.816948, - 43.928331 - ] - ] - ], - [ - [ - [ - -60.445274, - 46.861666 - ], - [ - -60.609169, - 47.024439 - ], - [ - -61.447777, - 46.149439 - ], - [ - -61.336945, - 45.573328 - ], - [ - -59.840553, - 45.938326 - ], - [ - -60.347778, - 46.310549 - ], - [ - -60.789726, - 45.934435 - ], - [ - -60.409164, - 45.97999 - ], - [ - -61.14917, - 45.699717 - ], - [ - -60.419998, - 46.279993 - ], - [ - -60.609169, - 46.201937 - ], - [ - -60.445274, - 46.861666 - ] - ] - ], - [ - [ - [ - -60.858612, - 55.864717 - ], - [ - -60.686386, - 55.921938 - ], - [ - -60.865004, - 55.952776 - ], - [ - -60.858612, - 55.864717 - ] - ] - ], - [ - [ - [ - -60.993889, - 45.457773 - ], - [ - -60.879997, - 45.560549 - ], - [ - -61.104446, - 45.546389 - ], - [ - -60.993889, - 45.457773 - ] - ] - ], - [ - [ - [ - -60.970833, - 55.86944 - ], - [ - -60.908333, - 55.898333 - ], - [ - -61.070557, - 55.938601 - ], - [ - -60.970833, - 55.86944 - ] - ] - ], - [ - [ - [ - -60.943329, - 56.006662 - ], - [ - -61.089165, - 56.169992 - ], - [ - -61.232773, - 56.091105 - ], - [ - -60.943329, - 56.006662 - ] - ] - ], - [ - [ - [ - -70.111938, - 83.109423 - ], - [ - -73.650558, - 82.925814 - ], - [ - -72.633896, - 82.694429 - ], - [ - -74.435822, - 83.027208 - ], - [ - -77.381378, - 82.994432 - ], - [ - -75.396118, - 82.614702 - ], - [ - -76.230835, - 82.444704 - ], - [ - -75.892227, - 82.591936 - ], - [ - -79.793335, - 82.957491 - ], - [ - -80.430283, - 82.887499 - ], - [ - -78.502792, - 82.681093 - ], - [ - -81.473053, - 82.824999 - ], - [ - -80.578064, - 82.546099 - ], - [ - -82.215286, - 82.668596 - ], - [ - -81.541672, - 82.496096 - ], - [ - -82.732224, - 82.401659 - ], - [ - -79.229172, - 81.816088 - ], - [ - -85.046951, - 82.481936 - ], - [ - -86.876099, - 82.202211 - ], - [ - -84.604996, - 81.889986 - ], - [ - -88.075562, - 82.104982 - ], - [ - -91.956665, - 81.658602 - ], - [ - -89.585007, - 81.625811 - ], - [ - -90.856659, - 81.444139 - ], - [ - -90.443054, - 81.366655 - ], - [ - -87.24472, - 81.490267 - ], - [ - -90.351944, - 81.167482 - ], - [ - -89.820847, - 81.01082 - ], - [ - -84.733887, - 81.281099 - ], - [ - -89.46611, - 80.914156 - ], - [ - -87.594727, - 80.628588 - ], - [ - -85.681671, - 81.049425 - ], - [ - -82.364441, - 81.17943 - ], - [ - -85.605835, - 80.975817 - ], - [ - -86.744995, - 80.603045 - ], - [ - -85.066956, - 80.505266 - ], - [ - -83.256958, - 80.838594 - ], - [ - -83.569458, - 80.739153 - ], - [ - -80.919449, - 80.65555 - ], - [ - -79.063614, - 81.085543 - ], - [ - -79.501678, - 81.19359 - ], - [ - -76.74527, - 81.43915 - ], - [ - -78.934998, - 80.875536 - ], - [ - -76.484726, - 80.865541 - ], - [ - -79.960556, - 80.608034 - ], - [ - -78.038055, - 80.567217 - ], - [ - -83.203888, - 80.318056 - ], - [ - -81.400284, - 79.937761 - ], - [ - -81.663055, - 79.903048 - ], - [ - -81.51973, - 79.730822 - ], - [ - -79.904724, - 79.646944 - ], - [ - -81.706665, - 79.586657 - ], - [ - -83.781952, - 80.245821 - ], - [ - -86.514725, - 80.29915 - ], - [ - -86.482773, - 80.008608 - ], - [ - -85.255005, - 79.920824 - ], - [ - -86.486389, - 79.763613 - ], - [ - -85.068893, - 79.626085 - ], - [ - -84.484726, - 79.406374 - ], - [ - -84.32695, - 79.188585 - ], - [ - -83.358612, - 79.050814 - ], - [ - -84.748047, - 79.031939 - ], - [ - -81.477219, - 79.047213 - ], - [ - -83.25473, - 78.834993 - ], - [ - -82.220551, - 78.73221 - ], - [ - -82.594452, - 78.703051 - ], - [ - -82.337784, - 78.566668 - ], - [ - -85.064163, - 78.919146 - ], - [ - -86.856949, - 78.734987 - ], - [ - -87.524719, - 78.416384 - ], - [ - -87.089447, - 78.201937 - ], - [ - -87.538605, - 78.138048 - ], - [ - -85.833069, - 78.379976 - ], - [ - -86.28833, - 78.076387 - ], - [ - -85.486115, - 78.10248 - ], - [ - -84.638611, - 78.594149 - ], - [ - -84.866943, - 78.369143 - ], - [ - -84.575562, - 78.346376 - ], - [ - -84.968613, - 78.202486 - ], - [ - -84.127777, - 78.171099 - ], - [ - -85.678879, - 77.92943 - ], - [ - -84.325012, - 77.896105 - ], - [ - -85.402496, - 77.819994 - ], - [ - -83.898346, - 77.490541 - ], - [ - -82.318619, - 78.070833 - ], - [ - -83.835556, - 77.455263 - ], - [ - -83.464722, - 77.34833 - ], - [ - -84.479446, - 77.294436 - ], - [ - -85.794449, - 77.41971 - ], - [ - -86.422226, - 77.830828 - ], - [ - -88.068069, - 77.820269 - ], - [ - -88.214722, - 77.650545 - ], - [ - -87.711945, - 77.359987 - ], - [ - -86.73999, - 77.17415 - ], - [ - -88.545837, - 77.100267 - ], - [ - -89.679443, - 76.571657 - ], - [ - -88.608046, - 76.399996 - ], - [ - -88.49472, - 76.817217 - ], - [ - -88.389999, - 76.389711 - ], - [ - -86.342224, - 76.512209 - ], - [ - -86.594162, - 76.634996 - ], - [ - -84.928329, - 76.286379 - ], - [ - -84.376099, - 76.317766 - ], - [ - -85.028336, - 76.574999 - ], - [ - -84.195541, - 76.456377 - ], - [ - -84.310822, - 76.658327 - ], - [ - -83.188324, - 76.419436 - ], - [ - -83.400833, - 76.759996 - ], - [ - -83.003616, - 76.429155 - ], - [ - -82.127213, - 76.441652 - ], - [ - -82.725006, - 76.819155 - ], - [ - -80.771666, - 76.419146 - ], - [ - -81.053329, - 76.128038 - ], - [ - -78.377487, - 76.45804 - ], - [ - -77.779449, - 76.791368 - ], - [ - -79.386948, - 76.927477 - ], - [ - -79.005005, - 77.096941 - ], - [ - -79.255005, - 77.218599 - ], - [ - -81.834166, - 77.162493 - ], - [ - -82.166107, - 77.292482 - ], - [ - -81.165833, - 77.337206 - ], - [ - -81.930283, - 77.684984 - ], - [ - -80.456116, - 77.296099 - ], - [ - -78.690552, - 77.315538 - ], - [ - -77.718613, - 77.605822 - ], - [ - -78.260834, - 77.995256 - ], - [ - -75.922775, - 77.956652 - ], - [ - -75.575562, - 78.107759 - ], - [ - -76.912216, - 78.201097 - ], - [ - -75.0625, - 78.30971 - ], - [ - -76.693604, - 78.509722 - ], - [ - -74.719727, - 78.707491 - ], - [ - -76.710556, - 79.028322 - ], - [ - -78.248047, - 78.770266 - ], - [ - -77.703339, - 79.006945 - ], - [ - -78.891388, - 79.063311 - ], - [ - -74.436661, - 79.057756 - ], - [ - -78.051392, - 79.354708 - ], - [ - -73.125824, - 79.558321 - ], - [ - -74.84639, - 79.847216 - ], - [ - -74.238892, - 79.887209 - ], - [ - -71.183884, - 79.777483 - ], - [ - -70.910278, - 79.88582 - ], - [ - -71.460556, - 79.901384 - ], - [ - -70.497498, - 80.082766 - ], - [ - -72.420837, - 80.211107 - ], - [ - -70.145554, - 80.19359 - ], - [ - -70.825287, - 80.558596 - ], - [ - -69.42749, - 80.382753 - ], - [ - -64.436386, - 81.479433 - ], - [ - -70.210007, - 81.173876 - ], - [ - -66.608612, - 81.512774 - ], - [ - -69.291382, - 81.718874 - ], - [ - -64.35527, - 81.726381 - ], - [ - -61.076393, - 82.320833 - ], - [ - -63.369995, - 82.438875 - ], - [ - -62.926109, - 82.576097 - ], - [ - -64.936935, - 82.87137 - ], - [ - -64.729721, - 82.904161 - ], - [ - -68.642502, - 82.628588 - ], - [ - -66.299438, - 82.92943 - ], - [ - -70.111938, - 83.109423 - ] - ] - ], - [ - [ - [ - -61.1875, - 56.586107 - ], - [ - -61.077782, - 56.674997 - ], - [ - -61.165833, - 56.684435 - ], - [ - -61.1875, - 56.586107 - ] - ] - ], - [ - [ - [ - -61.435829, - 56.541384 - ], - [ - -61.642227, - 56.486383 - ], - [ - -61.148888, - 56.441103 - ], - [ - -61.435829, - 56.541384 - ] - ] - ], - [ - [ - [ - -61.199997, - 45.558329 - ], - [ - -61.214165, - 45.568888 - ], - [ - -61.224167, - 45.564157 - ], - [ - -61.199997, - 45.558329 - ] - ] - ], - [ - [ - [ - -73.354675, - 68.329218 - ], - [ - -72.258347, - 67.248034 - ], - [ - -74.46611, - 66.151934 - ], - [ - -73.500565, - 65.474428 - ], - [ - -75.950287, - 65.318331 - ], - [ - -75.186935, - 65.101656 - ], - [ - -75.567505, - 64.883608 - ], - [ - -75.373047, - 64.714998 - ], - [ - -75.667496, - 64.940813 - ], - [ - -75.424438, - 65.043871 - ], - [ - -75.769165, - 65.218874 - ], - [ - -77.421661, - 65.461382 - ], - [ - -77.315826, - 65.190538 - ], - [ - -78.145279, - 64.957491 - ], - [ - -78.183319, - 64.572496 - ], - [ - -76.670546, - 64.184145 - ], - [ - -75.726944, - 64.367205 - ], - [ - -75.824173, - 64.61165 - ], - [ - -74.685822, - 64.371096 - ], - [ - -74.470001, - 64.557482 - ], - [ - -74.985275, - 64.795824 - ], - [ - -74.639999, - 64.903597 - ], - [ - -74.390289, - 64.569719 - ], - [ - -74.053879, - 64.728594 - ], - [ - -74.062775, - 64.334429 - ], - [ - -73.844727, - 64.50194 - ], - [ - -73.929443, - 64.602205 - ], - [ - -73.467224, - 64.612764 - ], - [ - -73.463333, - 64.502489 - ], - [ - -73.30278, - 64.658876 - ], - [ - -73.380554, - 64.268602 - ], - [ - -72.911667, - 64.168871 - ], - [ - -72.720001, - 63.961107 - ], - [ - -72.664719, - 64.080553 - ], - [ - -72.526398, - 63.787775 - ], - [ - -72.238892, - 63.952494 - ], - [ - -72.324173, - 63.676661 - ], - [ - -71.933884, - 63.649439 - ], - [ - -71.904449, - 63.809992 - ], - [ - -71.581116, - 63.714998 - ], - [ - -71.57695, - 63.581667 - ], - [ - -71.229721, - 63.604715 - ], - [ - -72.145554, - 63.4461 - ], - [ - -71.400558, - 63.051661 - ], - [ - -70.90889, - 63.170832 - ], - [ - -71.156662, - 62.989161 - ], - [ - -66.066101, - 61.868601 - ], - [ - -65.946655, - 61.899164 - ], - [ - -66.132492, - 62.089434 - ], - [ - -65.993057, - 62.244158 - ], - [ - -66.470001, - 62.332216 - ], - [ - -66.351669, - 62.444994 - ], - [ - -67.398056, - 62.967211 - ], - [ - -67.672775, - 62.923326 - ], - [ - -67.553055, - 63.048609 - ], - [ - -67.76973, - 62.95833 - ], - [ - -67.599991, - 63.084436 - ], - [ - -68.146118, - 63.15027 - ], - [ - -68.996948, - 63.753611 - ], - [ - -68.54277, - 63.732492 - ], - [ - -67.685272, - 63.368883 - ], - [ - -67.914719, - 63.759439 - ], - [ - -66.546661, - 62.991381 - ], - [ - -66.642775, - 63.372492 - ], - [ - -66.444443, - 63.020548 - ], - [ - -65.838333, - 63.033335 - ], - [ - -65.1875, - 62.562212 - ], - [ - -64.948883, - 62.648607 - ], - [ - -65.25473, - 62.98527 - ], - [ - -64.627213, - 62.904161 - ], - [ - -65.303879, - 63.80694 - ], - [ - -64.531113, - 63.24972 - ], - [ - -64.522507, - 63.67277 - ], - [ - -64.987503, - 63.823053 - ], - [ - -64.661118, - 64.028597 - ], - [ - -65.214172, - 64.025545 - ], - [ - -65.049438, - 64.072222 - ], - [ - -65.65834, - 64.302767 - ], - [ - -65.071671, - 64.440813 - ], - [ - -65.721664, - 64.494143 - ], - [ - -65.717773, - 64.840273 - ], - [ - -66.212219, - 64.685534 - ], - [ - -66.68866, - 65.038774 - ], - [ - -66.698044, - 64.761934 - ], - [ - -66.726105, - 65.180269 - ], - [ - -67.096115, - 65.056093 - ], - [ - -66.928879, - 65.229708 - ], - [ - -67.416107, - 65.339159 - ], - [ - -67.058334, - 65.426653 - ], - [ - -67.458893, - 65.498034 - ], - [ - -67.280563, - 65.642488 - ], - [ - -68.025833, - 65.481096 - ], - [ - -67.821121, - 65.768053 - ], - [ - -68.333618, - 65.931932 - ], - [ - -68.304443, - 66.028048 - ], - [ - -68.123886, - 65.963045 - ], - [ - -68.053604, - 65.991091 - ], - [ - -68.047226, - 66.064989 - ], - [ - -68.157501, - 66.117479 - ], - [ - -68.246948, - 66.112764 - ], - [ - -68.237778, - 66.069994 - ], - [ - -68.414719, - 66.159426 - ], - [ - -68.851395, - 66.189974 - ], - [ - -68.24472, - 66.182756 - ], - [ - -68.025833, - 66.065813 - ], - [ - -68.030563, - 65.998034 - ], - [ - -67.938599, - 65.908037 - ], - [ - -67.824173, - 65.880816 - ], - [ - -67.194443, - 65.909716 - ], - [ - -67.992767, - 66.506945 - ], - [ - -67.282227, - 66.27527 - ], - [ - -67.148621, - 66.443865 - ], - [ - -67.742767, - 66.568331 - ], - [ - -67.048889, - 66.644716 - ], - [ - -66.073624, - 66.120531 - ], - [ - -65.473618, - 66.38582 - ], - [ - -65.916107, - 65.951097 - ], - [ - -64.356384, - 66.349718 - ], - [ - -65.505569, - 65.743319 - ], - [ - -64.794998, - 65.728045 - ], - [ - -65.338608, - 65.575548 - ], - [ - -64.710007, - 65.652208 - ], - [ - -65.149994, - 65.434145 - ], - [ - -64.418335, - 65.482759 - ], - [ - -64.912216, - 65.338045 - ], - [ - -64.555557, - 65.092211 - ], - [ - -64.237213, - 65.429979 - ], - [ - -64.380829, - 65.181093 - ], - [ - -63.546951, - 64.887209 - ], - [ - -63.335556, - 65.300539 - ], - [ - -63.655556, - 65.470827 - ], - [ - -63.32, - 65.593325 - ], - [ - -63.72361, - 65.680269 - ], - [ - -62.317223, - 65.808031 - ], - [ - -62.970551, - 66.148043 - ], - [ - -61.954445, - 66.019152 - ], - [ - -62.895004, - 66.329714 - ], - [ - -61.877495, - 66.283327 - ], - [ - -61.462502, - 66.369143 - ], - [ - -62.123886, - 66.626375 - ], - [ - -61.262505, - 66.629427 - ], - [ - -62.101395, - 67.054705 - ], - [ - -62.899727, - 66.63666 - ], - [ - -62.846947, - 66.961931 - ], - [ - -63.771385, - 66.811098 - ], - [ - -63.240837, - 66.961657 - ], - [ - -63.110283, - 67.329988 - ], - [ - -63.772499, - 66.958879 - ], - [ - -63.450554, - 67.22249 - ], - [ - -64.69194, - 67.000551 - ], - [ - -63.962776, - 67.272493 - ], - [ - -64.797501, - 67.356646 - ], - [ - -63.904167, - 67.305819 - ], - [ - -64.440552, - 67.474993 - ], - [ - -64.038605, - 67.528597 - ], - [ - -64.506958, - 67.807207 - ], - [ - -65.204178, - 67.648333 - ], - [ - -64.723618, - 67.990541 - ], - [ - -65.423615, - 67.898043 - ], - [ - -65.34639, - 67.593325 - ], - [ - -65.615829, - 67.786104 - ], - [ - -65.443604, - 67.992205 - ], - [ - -65.80777, - 67.971102 - ], - [ - -66.008621, - 67.625536 - ], - [ - -65.911942, - 68.158876 - ], - [ - -66.356659, - 67.821383 - ], - [ - -66.732224, - 67.867205 - ], - [ - -66.184158, - 68.018877 - ], - [ - -66.541946, - 68.148333 - ], - [ - -66.69722, - 67.98749 - ], - [ - -66.694443, - 68.143053 - ], - [ - -66.946655, - 68.013613 - ], - [ - -66.765839, - 68.238588 - ], - [ - -67.011398, - 68.294985 - ], - [ - -67.598343, - 68.162767 - ], - [ - -67.011673, - 68.316088 - ], - [ - -67.232498, - 68.357485 - ], - [ - -67.878326, - 68.265276 - ], - [ - -66.706955, - 68.444704 - ], - [ - -67.612503, - 68.379427 - ], - [ - -69.398056, - 68.8622 - ], - [ - -67.771393, - 68.781374 - ], - [ - -68.556107, - 68.964159 - ], - [ - -67.705841, - 69.01639 - ], - [ - -68.178329, - 69.146654 - ], - [ - -69.025833, - 68.968599 - ], - [ - -68.502502, - 69.198595 - ], - [ - -68.967773, - 69.221102 - ], - [ - -68.077499, - 69.217485 - ], - [ - -69.257782, - 69.270266 - ], - [ - -69.015015, - 69.354982 - ], - [ - -66.758621, - 69.128038 - ], - [ - -66.795546, - 69.341097 - ], - [ - -70.030838, - 69.536104 - ], - [ - -68.329453, - 69.627764 - ], - [ - -67.996109, - 69.774431 - ], - [ - -67.127777, - 69.726931 - ], - [ - -67.794724, - 70.258883 - ], - [ - -69.990555, - 69.614992 - ], - [ - -68.642502, - 70.149431 - ], - [ - -70.468613, - 69.84276 - ], - [ - -68.313889, - 70.563036 - ], - [ - -69.451401, - 70.791933 - ], - [ - -70.496109, - 70.479433 - ], - [ - -69.904724, - 70.881365 - ], - [ - -70.997223, - 70.625811 - ], - [ - -71.535828, - 70.019716 - ], - [ - -71.162506, - 70.52527 - ], - [ - -71.803055, - 70.428316 - ], - [ - -70.746948, - 70.745531 - ], - [ - -70.601669, - 71.053865 - ], - [ - -72.569458, - 70.609987 - ], - [ - -72.16362, - 70.836382 - ], - [ - -72.65361, - 70.827776 - ], - [ - -71.11972, - 71.264162 - ], - [ - -72.538055, - 71.660814 - ], - [ - -73.377487, - 70.980547 - ], - [ - -73.049438, - 71.268328 - ], - [ - -73.898346, - 71.057482 - ], - [ - -73.38028, - 71.385271 - ], - [ - -73.621933, - 71.58333 - ], - [ - -74.240829, - 71.200823 - ], - [ - -73.748047, - 71.776934 - ], - [ - -75.08139, - 71.17943 - ], - [ - -74.699432, - 71.390825 - ], - [ - -75.151947, - 71.471651 - ], - [ - -74.631943, - 71.662493 - ], - [ - -75.389999, - 71.681093 - ], - [ - -74.122223, - 71.983599 - ], - [ - -75.035828, - 72.125811 - ], - [ - -76.085281, - 71.691927 - ], - [ - -75.219452, - 72.074434 - ], - [ - -76.348053, - 71.891665 - ], - [ - -74.947495, - 72.249712 - ], - [ - -75.19249, - 72.49193 - ], - [ - -77.613892, - 72.751665 - ], - [ - -78.559158, - 72.438036 - ], - [ - -76.995834, - 72.128862 - ], - [ - -78.870834, - 72.226656 - ], - [ - -77.785553, - 71.787493 - ], - [ - -78.854446, - 72.173037 - ], - [ - -78.503616, - 71.868868 - ], - [ - -79.203064, - 71.961931 - ], - [ - -79.012787, - 72.273882 - ], - [ - -79.75, - 72.215548 - ], - [ - -79.799164, - 72.50139 - ], - [ - -80.166397, - 72.322222 - ], - [ - -79.674438, - 72.12665 - ], - [ - -80.260834, - 72.294985 - ], - [ - -80.486664, - 72.189425 - ], - [ - -80.38501, - 72.048326 - ], - [ - -80.971664, - 71.881655 - ], - [ - -80.79277, - 72.027773 - ], - [ - -81.080292, - 72.051653 - ], - [ - -80.56723, - 72.072771 - ], - [ - -80.905563, - 72.180544 - ], - [ - -80.516403, - 72.503878 - ], - [ - -81.37944, - 72.241655 - ], - [ - -80.247498, - 72.730547 - ], - [ - -81.553879, - 73.717211 - ], - [ - -85.188599, - 73.228868 - ], - [ - -83.634445, - 72.982485 - ], - [ - -85.447769, - 73.120256 - ], - [ - -83.953064, - 72.752489 - ], - [ - -85.688049, - 72.893602 - ], - [ - -85.535278, - 72.469713 - ], - [ - -84.442215, - 72.383043 - ], - [ - -84.935272, - 72.289431 - ], - [ - -84.164719, - 72.021105 - ], - [ - -85.487213, - 72.260271 - ], - [ - -86.050827, - 72.01111 - ], - [ - -84.625, - 71.665819 - ], - [ - -84.798889, - 70.921648 - ], - [ - -85.146957, - 71.082766 - ], - [ - -84.96167, - 71.188585 - ], - [ - -86.820007, - 70.988588 - ], - [ - -84.833893, - 71.274157 - ], - [ - -86.420546, - 72.012774 - ], - [ - -86.240829, - 72.420259 - ], - [ - -86.732773, - 72.716097 - ], - [ - -84.837784, - 73.741655 - ], - [ - -85.069458, - 73.801928 - ], - [ - -88.409164, - 73.523607 - ], - [ - -89.228333, - 73.125811 - ], - [ - -89.956665, - 72.321657 - ], - [ - -89.574722, - 72.163607 - ], - [ - -90.048615, - 71.953875 - ], - [ - -89.830002, - 71.328875 - ], - [ - -87.002792, - 70.994143 - ], - [ - -89.549728, - 71.088594 - ], - [ - -87.92305, - 70.242754 - ], - [ - -86.37471, - 70.52527 - ], - [ - -86.551941, - 70.234987 - ], - [ - -85.823334, - 70.000277 - ], - [ - -85.236115, - 69.989153 - ], - [ - -85.878052, - 70.076937 - ], - [ - -85.666397, - 70.104708 - ], - [ - -83.066666, - 70.01082 - ], - [ - -82.143341, - 69.781374 - ], - [ - -81.710831, - 69.934145 - ], - [ - -83.006958, - 70.304705 - ], - [ - -82.101105, - 70.108034 - ], - [ - -80.952499, - 69.713884 - ], - [ - -81.763336, - 70.123034 - ], - [ - -78.791946, - 69.8911 - ], - [ - -78.921661, - 70.300814 - ], - [ - -79.588898, - 70.399431 - ], - [ - -79.009445, - 70.679705 - ], - [ - -78.718887, - 70.547762 - ], - [ - -79.070557, - 70.469713 - ], - [ - -78.401672, - 70.212496 - ], - [ - -77.678329, - 70.187761 - ], - [ - -77.626389, - 69.744982 - ], - [ - -76.98056, - 69.938036 - ], - [ - -77.310547, - 69.835817 - ], - [ - -76.793884, - 69.718599 - ], - [ - -77.200562, - 69.646105 - ], - [ - -76.187775, - 69.66527 - ], - [ - -76.641113, - 69.554155 - ], - [ - -75.591675, - 69.221651 - ], - [ - -76.625549, - 69.018328 - ], - [ - -76.660828, - 68.699419 - ], - [ - -74.820847, - 69.082216 - ], - [ - -74.91777, - 68.801378 - ], - [ - -73.99028, - 68.492754 - ], - [ - -74.094162, - 68.719988 - ], - [ - -73.761398, - 68.686373 - ], - [ - -73.851669, - 68.342211 - ], - [ - -73.354675, - 68.329218 - ] - ], - [ - [ - -73.354675, - 68.329218 - ], - [ - -73.318069, - 68.393053 - ], - [ - -73.21167, - 68.376925 - ], - [ - -73.354675, - 68.329218 - ] - ] - ], - [ - [ - [ - -61.380554, - 47.620272 - ], - [ - -61.928055, - 47.407213 - ], - [ - -62.013062, - 47.225824 - ], - [ - -61.380554, - 47.620272 - ] - ] - ], - [ - [ - [ - -61.429211, - 56.929708 - ], - [ - -61.644394, - 56.734777 - ], - [ - -61.409138, - 56.61561 - ], - [ - -61.429211, - 56.929708 - ] - ] - ], - [ - [ - [ - -61.623611, - 56.399996 - ], - [ - -61.796112, - 56.41305 - ], - [ - -61.412216, - 56.326662 - ], - [ - -61.623611, - 56.399996 - ] - ] - ], - [ - [ - [ - -61.621666, - 57.33555 - ], - [ - -61.726944, - 57.374437 - ], - [ - -61.768608, - 57.324999 - ], - [ - -61.621666, - 57.33555 - ] - ] - ], - [ - [ - [ - -61.655273, - 57.391382 - ], - [ - -61.648056, - 57.530275 - ], - [ - -61.900276, - 57.437494 - ], - [ - -61.655273, - 57.391382 - ] - ] - ], - [ - [ - [ - -62.089722, - 49.386385 - ], - [ - -64.513901, - 49.863611 - ], - [ - -63.089996, - 49.228045 - ], - [ - -61.661667, - 49.144442 - ], - [ - -62.089722, - 49.386385 - ] - ] - ], - [ - [ - [ - -61.688606, - 57.713053 - ], - [ - -61.711113, - 57.834162 - ], - [ - -61.896111, - 57.769716 - ], - [ - -61.688606, - 57.713053 - ] - ] - ], - [ - [ - [ - -61.878334, - 57.463053 - ], - [ - -61.783615, - 57.550547 - ], - [ - -62.020279, - 57.540277 - ], - [ - -61.878334, - 57.463053 - ] - ] - ], - [ - [ - [ - -61.947495, - 57.787218 - ], - [ - -61.928337, - 57.908602 - ], - [ - -62.009171, - 57.904436 - ], - [ - -62.108337, - 57.824717 - ], - [ - -61.947495, - 57.787218 - ] - ] - ], - [ - [ - [ - -64.039719, - 46.743326 - ], - [ - -64.020844, - 47.038607 - ], - [ - -64.415558, - 46.670549 - ], - [ - -63.591942, - 46.211939 - ], - [ - -62.962776, - 46.319994 - ], - [ - -62.761116, - 45.954165 - ], - [ - -61.965004, - 46.453325 - ], - [ - -63.216393, - 46.41221 - ], - [ - -63.647224, - 46.567217 - ], - [ - -63.742226, - 46.439432 - ], - [ - -64.039719, - 46.743326 - ] - ] - ], - [ - [ - [ - -62.268333, - 65.701662 - ], - [ - -62.484444, - 65.726931 - ], - [ - -62.131943, - 65.657213 - ], - [ - -62.268333, - 65.701662 - ] - ] - ], - [ - [ - [ - -62.136665, - 65.851381 - ], - [ - -62.137779, - 65.925814 - ], - [ - -62.296669, - 65.938585 - ], - [ - -62.136665, - 65.851381 - ] - ] - ], - [ - [ - [ - -62.183884, - 66.2372 - ], - [ - -62.261673, - 66.280275 - ], - [ - -62.43, - 66.229158 - ], - [ - -62.183884, - 66.2372 - ] - ] - ], - [ - [ - [ - -62.644165, - 67.057482 - ], - [ - -62.375275, - 67.165819 - ], - [ - -62.899445, - 67.058321 - ], - [ - -62.644165, - 67.057482 - ] - ] - ], - [ - [ - [ - -62.795006, - 65.519991 - ], - [ - -62.750839, - 65.551378 - ], - [ - -62.884445, - 65.605547 - ], - [ - -62.795006, - 65.519991 - ] - ] - ], - [ - [ - [ - -62.918335, - 67.009722 - ], - [ - -63.002228, - 67.069445 - ], - [ - -63.138054, - 67.065264 - ], - [ - -62.918335, - 67.009722 - ] - ] - ], - [ - [ - [ - -63.059166, - 66.957766 - ], - [ - -63, - 66.984423 - ], - [ - -63.166107, - 67.004992 - ], - [ - -63.059166, - 66.957766 - ] - ] - ], - [ - [ - [ - -63.243614, - 65.254992 - ], - [ - -63.166389, - 65.286104 - ], - [ - -63.311668, - 65.298037 - ], - [ - -63.243614, - 65.254992 - ] - ] - ], - [ - [ - [ - -63.246391, - 46.435549 - ], - [ - -63.245834, - 46.442766 - ], - [ - -63.285004, - 46.45083 - ], - [ - -63.246391, - 46.435549 - ] - ] - ], - [ - [ - [ - -63.353333, - 64.994982 - ], - [ - -63.42028, - 64.976091 - ], - [ - -63.258896, - 64.921099 - ], - [ - -63.353333, - 64.994982 - ] - ] - ], - [ - [ - [ - -63.366394, - 67.287767 - ], - [ - -63.585831, - 67.353319 - ], - [ - -63.829727, - 67.284151 - ], - [ - -63.366394, - 67.287767 - ] - ] - ], - [ - [ - [ - -63.881943, - 67.503328 - ], - [ - -63.758057, - 67.52054 - ], - [ - -63.976944, - 67.649431 - ], - [ - -64.029724, - 67.513887 - ], - [ - -63.881943, - 67.503328 - ] - ] - ], - [ - [ - [ - -63.859444, - 50.197771 - ], - [ - -63.889725, - 50.24222 - ], - [ - -63.930557, - 50.229433 - ], - [ - -63.859444, - 50.197771 - ] - ] - ], - [ - [ - [ - -64.01973, - 59.714716 - ], - [ - -64.061386, - 59.864443 - ], - [ - -64.204453, - 59.734438 - ], - [ - -64.01973, - 59.714716 - ] - ] - ], - [ - [ - [ - -64.032501, - 63.689714 - ], - [ - -64.075287, - 63.758051 - ], - [ - -64.212509, - 63.712214 - ], - [ - -64.032501, - 63.689714 - ] - ] - ], - [ - [ - [ - -64.061111, - 63.270548 - ], - [ - -64.328888, - 63.644442 - ], - [ - -64.479172, - 63.636942 - ], - [ - -64.061111, - 63.270548 - ] - ] - ], - [ - [ - [ - -64.092499, - 63.481661 - ], - [ - -64.093338, - 63.568331 - ], - [ - -64.212784, - 63.623606 - ], - [ - -64.092499, - 63.481661 - ] - ] - ], - [ - [ - [ - -64.170273, - 63.856386 - ], - [ - -64.39917, - 63.849436 - ], - [ - -64.234436, - 63.771379 - ], - [ - -64.170273, - 63.856386 - ] - ] - ], - [ - [ - [ - -64.284439, - 63.708605 - ], - [ - -64.27861, - 63.77083 - ], - [ - -64.381104, - 63.807497 - ], - [ - -64.284439, - 63.708605 - ] - ] - ], - [ - [ - [ - -64.653885, - 62.540834 - ], - [ - -64.965836, - 62.46583 - ], - [ - -64.382767, - 62.511385 - ], - [ - -64.653885, - 62.540834 - ] - ] - ], - [ - [ - [ - -64.576111, - 63.780825 - ], - [ - -64.920273, - 63.824717 - ], - [ - -64.386124, - 63.701662 - ], - [ - -64.576111, - 63.780825 - ] - ] - ], - [ - [ - [ - -64.427673, - 60.372934 - ], - [ - -64.868057, - 60.458887 - ], - [ - -64.448608, - 60.284166 - ], - [ - -64.427673, - 60.372934 - ] - ] - ], - [ - [ - [ - -64.491104, - 64.109148 - ], - [ - -64.453339, - 64.146944 - ], - [ - -64.59584, - 64.156649 - ], - [ - -64.491104, - 64.109148 - ] - ] - ], - [ - [ - [ - -64.520279, - 64.220263 - ], - [ - -64.462219, - 64.23749 - ], - [ - -64.647781, - 64.250002 - ], - [ - -64.520279, - 64.220263 - ] - ] - ], - [ - [ - [ - -64.567505, - 47.899439 - ], - [ - -64.470551, - 47.953325 - ], - [ - -64.501114, - 48.027491 - ], - [ - -64.567505, - 47.899439 - ] - ] - ], - [ - [ - [ - -64.482773, - 47.917772 - ], - [ - -64.667496, - 47.866938 - ], - [ - -64.690552, - 47.753054 - ], - [ - -64.482773, - 47.917772 - ] - ] - ], - [ - [ - [ - -64.689987, - 60.584436 - ], - [ - -64.592773, - 60.685549 - ], - [ - -64.710831, - 60.602777 - ], - [ - -64.689987, - 60.584436 - ] - ] - ], - [ - [ - [ - -64.723892, - 61.538332 - ], - [ - -65.486938, - 61.610826 - ], - [ - -64.875275, - 61.322496 - ], - [ - -64.723892, - 61.538332 - ] - ] - ], - [ - [ - [ - -64.849731, - 64.307482 - ], - [ - -64.771942, - 64.348879 - ], - [ - -64.958618, - 64.405825 - ], - [ - -64.849731, - 64.307482 - ] - ] - ], - [ - [ - [ - -64.983063, - 62.528048 - ], - [ - -64.839447, - 62.577776 - ], - [ - -65.141678, - 62.546946 - ], - [ - -64.983063, - 62.528048 - ] - ] - ], - [ - [ - [ - -64.962784, - 64.110811 - ], - [ - -65.057495, - 64.113039 - ], - [ - -64.869995, - 64.093325 - ], - [ - -64.962784, - 64.110811 - ] - ] - ], - [ - [ - [ - -64.938599, - 64.235537 - ], - [ - -64.884735, - 64.287767 - ], - [ - -65.112503, - 64.339708 - ], - [ - -64.938599, - 64.235537 - ] - ] - ], - [ - [ - [ - -64.916107, - 61.719439 - ], - [ - -64.980835, - 61.885828 - ], - [ - -65.255005, - 61.901659 - ], - [ - -64.916107, - 61.719439 - ] - ] - ], - [ - [ - [ - -65.492767, - 64.517763 - ], - [ - -65.208054, - 64.639711 - ], - [ - -65.690277, - 64.524157 - ], - [ - -65.492767, - 64.517763 - ] - ] - ], - [ - [ - [ - -65.397232, - 68.03998 - ], - [ - -65.386398, - 68.08832 - ], - [ - -65.51973, - 68.067492 - ], - [ - -65.397232, - 68.03998 - ] - ] - ], - [ - [ - [ - -65.642227, - 68.159426 - ], - [ - -65.709732, - 68.106096 - ], - [ - -65.495544, - 68.128313 - ], - [ - -65.642227, - 68.159426 - ] - ] - ], - [ - [ - [ - -65.645844, - 65.813036 - ], - [ - -65.511398, - 65.903048 - ], - [ - -65.647781, - 65.879976 - ], - [ - -65.645844, - 65.813036 - ] - ] - ], - [ - [ - [ - -65.613617, - 43.420275 - ], - [ - -65.566101, - 43.508333 - ], - [ - -65.633057, - 43.47471 - ], - [ - -65.613617, - 43.420275 - ] - ] - ], - [ - [ - [ - -65.695267, - 61.776659 - ], - [ - -65.778061, - 61.865549 - ], - [ - -65.948044, - 61.790277 - ], - [ - -65.695267, - 61.776659 - ] - ] - ], - [ - [ - [ - -65.852493, - 62.084719 - ], - [ - -65.904449, - 62.152773 - ], - [ - -66.020279, - 62.124437 - ], - [ - -65.852493, - 62.084719 - ] - ] - ], - [ - [ - [ - -66.282776, - 44.289721 - ], - [ - -66.20639, - 44.395273 - ], - [ - -66.322235, - 44.252779 - ], - [ - -66.282776, - 44.289721 - ] - ] - ], - [ - [ - [ - -66.313614, - 68.147768 - ], - [ - -66.221939, - 68.241091 - ], - [ - -66.607224, - 68.217211 - ], - [ - -66.313614, - 68.147768 - ] - ] - ], - [ - [ - [ - -66.368332, - 62.835268 - ], - [ - -66.547775, - 62.910547 - ], - [ - -66.601669, - 62.906656 - ], - [ - -66.368332, - 62.835268 - ] - ] - ], - [ - [ - [ - -66.623322, - 66.280825 - ], - [ - -66.575012, - 66.313875 - ], - [ - -66.958344, - 66.411928 - ], - [ - -66.623322, - 66.280825 - ] - ] - ], - [ - [ - [ - -66.886124, - 44.614443 - ], - [ - -66.74028, - 44.707773 - ], - [ - -66.772507, - 44.80916 - ], - [ - -66.886124, - 44.614443 - ] - ] - ], - [ - [ - [ - -66.825562, - 62.984163 - ], - [ - -66.946106, - 63.074999 - ], - [ - -67.069458, - 63.1075 - ], - [ - -66.825562, - 62.984163 - ] - ] - ], - [ - [ - [ - -66.998337, - 66.493044 - ], - [ - -67.036667, - 66.456102 - ], - [ - -66.868881, - 66.464434 - ], - [ - -66.998337, - 66.493044 - ] - ] - ], - [ - [ - [ - -66.924713, - 65.284426 - ], - [ - -66.910828, - 65.356936 - ], - [ - -67.010559, - 65.33333 - ], - [ - -66.924713, - 65.284426 - ] - ] - ], - [ - [ - [ - -67.138336, - 65.926928 - ], - [ - -67.153885, - 65.978594 - ], - [ - -67.211945, - 65.982759 - ], - [ - -67.138336, - 65.926928 - ] - ] - ], - [ - [ - [ - -67.310547, - 69.54915 - ], - [ - -67.484436, - 69.590273 - ], - [ - -67.749725, - 69.521105 - ], - [ - -67.310547, - 69.54915 - ] - ] - ], - [ - [ - [ - -67.472504, - 65.705263 - ], - [ - -67.424438, - 65.735262 - ], - [ - -67.715836, - 65.701662 - ], - [ - -67.472504, - 65.705263 - ] - ] - ], - [ - [ - [ - -67.596115, - 58.284166 - ], - [ - -67.517502, - 58.335268 - ], - [ - -67.619995, - 58.372217 - ], - [ - -67.676666, - 58.301386 - ], - [ - -67.596115, - 58.284166 - ] - ] - ], - [ - [ - [ - -68.110275, - 68.782763 - ], - [ - -68.459442, - 68.791094 - ], - [ - -67.661392, - 68.701937 - ], - [ - -68.110275, - 68.782763 - ] - ] - ], - [ - [ - [ - -67.76445, - 63.162493 - ], - [ - -67.831955, - 63.244158 - ], - [ - -67.875, - 63.223047 - ], - [ - -67.76445, - 63.162493 - ] - ] - ], - [ - [ - [ - -68.251404, - 60.230822 - ], - [ - -67.798615, - 60.457499 - ], - [ - -68.119156, - 60.577219 - ], - [ - -68.251404, - 60.230822 - ] - ] - ], - [ - [ - [ - -67.847778, - 68.851931 - ], - [ - -67.876389, - 68.949419 - ], - [ - -67.960556, - 68.929979 - ], - [ - -67.847778, - 68.851931 - ] - ] - ], - [ - [ - [ - -67.920273, - 69.521929 - ], - [ - -67.889725, - 69.70833 - ], - [ - -68.248886, - 69.596651 - ], - [ - -67.920273, - 69.521929 - ] - ] - ], - [ - [ - [ - -67.925003, - 63.183329 - ], - [ - -68.112213, - 63.313608 - ], - [ - -67.966949, - 63.183878 - ], - [ - -67.925003, - 63.183329 - ] - ] - ], - [ - [ - [ - -68.656387, - 63.626383 - ], - [ - -68.676941, - 63.671381 - ], - [ - -68.821671, - 63.652491 - ], - [ - -68.656387, - 63.626383 - ] - ] - ], - [ - [ - [ - -69.194443, - 59.064714 - ], - [ - -69.357224, - 59.139719 - ], - [ - -69.35556, - 58.949717 - ], - [ - -69.194443, - 59.064714 - ] - ] - ], - [ - [ - [ - -69.977219, - 60.933054 - ], - [ - -69.943604, - 61.031382 - ], - [ - -70.025009, - 61.00194 - ], - [ - -69.977219, - 60.933054 - ] - ] - ], - [ - [ - [ - -70.71167, - 62.814997 - ], - [ - -71.241379, - 62.88138 - ], - [ - -70.211121, - 62.579165 - ], - [ - -70.71167, - 62.814997 - ] - ] - ], - [ - [ - [ - -71.471664, - 71.012774 - ], - [ - -72.226395, - 70.930544 - ], - [ - -71.955566, - 70.818331 - ], - [ - -71.471664, - 71.012774 - ] - ] - ], - [ - [ - [ - -71.799164, - 63.615549 - ], - [ - -71.779449, - 63.688326 - ], - [ - -71.864166, - 63.669443 - ], - [ - -71.863327, - 63.61944 - ], - [ - -71.799164, - 63.615549 - ] - ] - ], - [ - [ - [ - -72.182495, - 63.519991 - ], - [ - -72.129166, - 63.558886 - ], - [ - -72.286667, - 63.58333 - ], - [ - -72.182495, - 63.519991 - ] - ] - ], - [ - [ - [ - -72.594727, - 63.642496 - ], - [ - -72.459732, - 63.679163 - ], - [ - -72.783325, - 63.664438 - ], - [ - -72.594727, - 63.642496 - ] - ] - ], - [ - [ - [ - -72.66777, - 63.695826 - ], - [ - -72.626663, - 63.73221 - ], - [ - -72.719727, - 63.763887 - ], - [ - -72.66777, - 63.695826 - ] - ] - ], - [ - [ - [ - -72.760834, - 71.531939 - ], - [ - -72.695831, - 71.651094 - ], - [ - -73.039993, - 71.579988 - ], - [ - -72.760834, - 71.531939 - ] - ] - ], - [ - [ - [ - -73.120544, - 71.479708 - ], - [ - -72.817505, - 71.444979 - ], - [ - -73.37999, - 71.519716 - ], - [ - -73.120544, - 71.479708 - ] - ] - ], - [ - [ - [ - -73.37027, - 71.55443 - ], - [ - -73.148895, - 71.679979 - ], - [ - -73.448044, - 71.594149 - ], - [ - -73.37027, - 71.55443 - ] - ] - ], - [ - [ - [ - -73.176941, - 64.200274 - ], - [ - -73.401672, - 64.165545 - ], - [ - -73.282776, - 64.143328 - ], - [ - -73.176941, - 64.200274 - ] - ] - ], - [ - [ - [ - -74.215561, - 68.117754 - ], - [ - -74.777222, - 67.973879 - ], - [ - -73.348618, - 67.828051 - ], - [ - -74.215561, - 68.117754 - ] - ] - ], - [ - [ - [ - -73.557495, - 64.312761 - ], - [ - -73.527786, - 64.566942 - ], - [ - -73.682495, - 64.509722 - ], - [ - -73.557495, - 64.312761 - ] - ] - ], - [ - [ - [ - -73.744995, - 64.426088 - ], - [ - -73.66861, - 64.464434 - ], - [ - -73.773331, - 64.503328 - ], - [ - -73.781387, - 64.431932 - ], - [ - -73.744995, - 64.426088 - ] - ] - ], - [ - [ - [ - -73.697769, - 64.269991 - ], - [ - -73.781387, - 64.40555 - ], - [ - -73.833618, - 64.331667 - ], - [ - -73.697769, - 64.269991 - ] - ] - ], - [ - [ - [ - -73.876389, - 64.301378 - ], - [ - -73.956665, - 64.368319 - ], - [ - -73.972504, - 64.30971 - ], - [ - -73.876389, - 64.301378 - ] - ] - ], - [ - [ - [ - -74.347778, - 62.679438 - ], - [ - -74.651398, - 62.716936 - ], - [ - -73.958054, - 62.612497 - ], - [ - -74.347778, - 62.679438 - ] - ] - ], - [ - [ - [ - -74.062775, - 68.151659 - ], - [ - -74.079727, - 68.232485 - ], - [ - -74.176392, - 68.204165 - ], - [ - -74.062775, - 68.151659 - ] - ] - ], - [ - [ - [ - -74.162216, - 68.246096 - ], - [ - -74.079453, - 68.338594 - ], - [ - -74.393066, - 68.445253 - ], - [ - -74.162216, - 68.246096 - ] - ] - ], - [ - [ - [ - -74.306946, - 78.676653 - ], - [ - -74.16362, - 78.716097 - ], - [ - -74.710281, - 78.731096 - ], - [ - -74.306946, - 78.676653 - ] - ] - ], - [ - [ - [ - -74.212784, - 64.483049 - ], - [ - -74.169724, - 64.523882 - ], - [ - -74.357773, - 64.551088 - ], - [ - -74.212784, - 64.483049 - ] - ] - ], - [ - [ - [ - -74.271942, - 64.413607 - ], - [ - -74.173325, - 64.43915 - ], - [ - -74.439438, - 64.453325 - ], - [ - -74.271942, - 64.413607 - ] - ] - ], - [ - [ - [ - -74.76889, - 68.673876 - ], - [ - -74.890289, - 68.624987 - ], - [ - -74.518341, - 68.558596 - ], - [ - -74.76889, - 68.673876 - ] - ] - ], - [ - [ - [ - -74.811386, - 68.320543 - ], - [ - -75, - 68.672243 - ], - [ - -75.396957, - 68.611101 - ], - [ - -74.811386, - 68.320543 - ] - ] - ], - [ - [ - [ - -75.582779, - 68.300264 - ], - [ - -76.726105, - 68.238878 - ], - [ - -77.251953, - 67.826387 - ], - [ - -77.246948, - 67.451937 - ], - [ - -76.66362, - 67.219988 - ], - [ - -75.198608, - 67.443316 - ], - [ - -75.003067, - 68.132204 - ], - [ - -75.582779, - 68.300264 - ] - ] - ], - [ - [ - [ - -75.551392, - 64.303865 - ], - [ - -75.493607, - 64.316378 - ], - [ - -75.705841, - 64.341936 - ], - [ - -75.551392, - 64.303865 - ] - ] - ], - [ - [ - [ - -80.142227, - 73.696642 - ], - [ - -80.857773, - 73.74193 - ], - [ - -80.876099, - 73.327776 - ], - [ - -79.429169, - 72.735811 - ], - [ - -76.059433, - 72.90082 - ], - [ - -77.424438, - 73.554705 - ], - [ - -80.142227, - 73.696642 - ] - ] - ], - [ - [ - [ - -76.810547, - 63.601107 - ], - [ - -77.45723, - 63.643328 - ], - [ - -76.541946, - 63.462496 - ], - [ - -76.810547, - 63.601107 - ] - ] - ], - [ - [ - [ - -76.621109, - 57.075556 - ], - [ - -76.669998, - 57.202494 - ], - [ - -76.708618, - 57.188326 - ], - [ - -76.621109, - 57.075556 - ] - ] - ], - [ - [ - [ - -76.950836, - 69.395266 - ], - [ - -77.381943, - 69.247484 - ], - [ - -76.646666, - 69.336931 - ], - [ - -76.950836, - 69.395266 - ] - ] - ], - [ - [ - [ - -76.715012, - 57.292772 - ], - [ - -76.73111, - 57.381937 - ], - [ - -76.821671, - 57.429438 - ], - [ - -76.715012, - 57.292772 - ] - ] - ], - [ - [ - [ - -77.592773, - 55.435266 - ], - [ - -77.199997, - 55.65027 - ], - [ - -77.644165, - 55.425829 - ], - [ - -77.592773, - 55.435266 - ] - ] - ], - [ - [ - [ - -78.079727, - 63.469439 - ], - [ - -78.572784, - 63.440271 - ], - [ - -77.946655, - 63.091105 - ], - [ - -77.494995, - 63.265833 - ], - [ - -78.079727, - 63.469439 - ] - ] - ], - [ - [ - [ - -77.743881, - 63.926661 - ], - [ - -77.544449, - 64.021929 - ], - [ - -77.982498, - 63.983049 - ], - [ - -77.743881, - 63.926661 - ] - ] - ], - [ - [ - [ - -77.851944, - 77.774431 - ], - [ - -77.568619, - 77.849718 - ], - [ - -77.955002, - 77.830278 - ], - [ - -77.851944, - 77.774431 - ] - ] - ], - [ - [ - [ - -77.805267, - 62.592493 - ], - [ - -77.74527, - 62.534166 - ], - [ - -77.621384, - 62.584436 - ], - [ - -77.805267, - 62.592493 - ] - ] - ], - [ - [ - [ - -78.008347, - 62.593607 - ], - [ - -78.113052, - 62.562212 - ], - [ - -77.837784, - 62.55694 - ], - [ - -78.008347, - 62.593607 - ] - ] - ], - [ - [ - [ - -77.946655, - 69.646654 - ], - [ - -78.180557, - 69.752214 - ], - [ - -78.88028, - 69.476931 - ], - [ - -77.946655, - 69.646654 - ] - ] - ], - [ - [ - [ - -78.365829, - 82.883608 - ], - [ - -78.116943, - 82.942202 - ], - [ - -78.414719, - 82.941927 - ], - [ - -78.365829, - 82.883608 - ] - ] - ], - [ - [ - [ - -78.412216, - 69.379702 - ], - [ - -79.400284, - 68.87192 - ], - [ - -78.830292, - 68.913042 - ], - [ - -78.210831, - 69.294436 - ], - [ - -78.412216, - 69.379702 - ] - ] - ], - [ - [ - [ - -78.656387, - 60.702776 - ], - [ - -78.219452, - 60.823885 - ], - [ - -78.573624, - 60.784166 - ], - [ - -78.656387, - 60.702776 - ] - ] - ], - [ - [ - [ - -78.453888, - 58.539995 - ], - [ - -78.698608, - 58.688601 - ], - [ - -78.672501, - 58.610552 - ], - [ - -78.453888, - 58.539995 - ] - ] - ], - [ - [ - [ - -78.557495, - 63.457499 - ], - [ - -78.46167, - 63.507502 - ], - [ - -78.515839, - 63.531664 - ], - [ - -78.557495, - 63.457499 - ] - ] - ], - [ - [ - [ - -78.468887, - 68.563875 - ], - [ - -78.863892, - 68.659716 - ], - [ - -78.959732, - 68.474703 - ], - [ - -78.468887, - 68.563875 - ] - ] - ], - [ - [ - [ - -78.571671, - 68.200274 - ], - [ - -78.54805, - 68.263048 - ], - [ - -78.662216, - 68.18915 - ], - [ - -78.571671, - 68.200274 - ] - ] - ], - [ - [ - [ - -78.839996, - 56.129992 - ], - [ - -78.676392, - 56.181108 - ], - [ - -78.667221, - 56.439714 - ], - [ - -78.839996, - 56.129992 - ] - ] - ], - [ - [ - [ - -78.735001, - 72.365541 - ], - [ - -79.075012, - 72.409716 - ], - [ - -78.950287, - 72.334993 - ], - [ - -78.735001, - 72.365541 - ] - ] - ], - [ - [ - [ - -79.020554, - 68.169146 - ], - [ - -78.801666, - 68.279161 - ], - [ - -79.191101, - 68.319445 - ], - [ - -79.020554, - 68.169146 - ] - ] - ], - [ - [ - [ - -78.926392, - 75.875811 - ], - [ - -79.176392, - 75.952776 - ], - [ - -78.805832, - 76.09305 - ], - [ - -79.752228, - 75.878588 - ], - [ - -78.926392, - 75.875811 - ] - ] - ], - [ - [ - [ - -79.021666, - 56.426943 - ], - [ - -79.286392, - 56.570276 - ], - [ - -79.51445, - 56.18638 - ], - [ - -79.46611, - 56.548334 - ], - [ - -79.985825, - 55.89805 - ], - [ - -79.513062, - 56.134996 - ], - [ - -79.781952, - 55.78805 - ], - [ - -79.479996, - 55.863886 - ], - [ - -79.150558, - 56.233049 - ], - [ - -79.283325, - 55.864443 - ], - [ - -78.977219, - 56.388605 - ], - [ - -79.195267, - 55.891939 - ], - [ - -78.943329, - 56.284998 - ], - [ - -78.924713, - 56.419443 - ], - [ - -79.021666, - 56.426943 - ] - ], - [ - [ - -79.626938, - 56.265276 - ], - [ - -79.492218, - 56.446939 - ], - [ - -79.561111, - 56.299166 - ], - [ - -79.626938, - 56.265276 - ] - ] - ], - [ - [ - [ - -79.123047, - 55.789995 - ], - [ - -78.939713, - 56.02527 - ], - [ - -78.957504, - 56.083605 - ], - [ - -79.123047, - 55.789995 - ] - ] - ], - [ - [ - [ - -79.125824, - 54.897219 - ], - [ - -79.015015, - 54.938326 - ], - [ - -79.776947, - 54.778048 - ], - [ - -79.125824, - 54.897219 - ] - ] - ], - [ - [ - [ - -79.141953, - 56.616663 - ], - [ - -79.208893, - 56.683878 - ], - [ - -79.280289, - 56.654993 - ], - [ - -79.141953, - 56.616663 - ] - ] - ], - [ - [ - [ - -79.252792, - 52.071383 - ], - [ - -79.654175, - 51.986658 - ], - [ - -79.376663, - 51.936106 - ], - [ - -79.252792, - 52.071383 - ] - ] - ], - [ - [ - [ - -79.540558, - 62.411104 - ], - [ - -80.017502, - 62.358606 - ], - [ - -80.275284, - 61.806658 - ], - [ - -79.656952, - 61.642496 - ], - [ - -79.261398, - 62.163607 - ], - [ - -79.540558, - 62.411104 - ] - ] - ], - [ - [ - [ - -95.659729, - 77.05887 - ], - [ - -96.810272, - 76.979158 - ], - [ - -96.305557, - 76.753878 - ], - [ - -96.964447, - 76.733324 - ], - [ - -94.800827, - 76.321657 - ], - [ - -95.376099, - 76.234423 - ], - [ - -93.083618, - 76.358034 - ], - [ - -92.108612, - 75.858873 - ], - [ - -92.005005, - 75.594988 - ], - [ - -92.490829, - 75.21361 - ], - [ - -91.539993, - 74.646379 - ], - [ - -90.772232, - 74.884996 - ], - [ - -91.024719, - 74.702776 - ], - [ - -89.489716, - 74.545534 - ], - [ - -88.547775, - 74.907763 - ], - [ - -88.496948, - 74.497759 - ], - [ - -84.285553, - 74.503603 - ], - [ - -83.474442, - 74.579714 - ], - [ - -83.511398, - 74.901659 - ], - [ - -81.810822, - 74.456942 - ], - [ - -80.231674, - 74.578051 - ], - [ - -80.321671, - 74.937761 - ], - [ - -79.333618, - 74.894442 - ], - [ - -80.440552, - 75.038042 - ], - [ - -79.571121, - 75.199144 - ], - [ - -79.574722, - 75.449999 - ], - [ - -81.536942, - 75.80942 - ], - [ - -83.878151, - 75.818964 - ], - [ - -86.544724, - 75.359148 - ], - [ - -88.738892, - 75.67943 - ], - [ - -88.950562, - 75.429705 - ], - [ - -89.765289, - 75.575548 - ], - [ - -89.172775, - 75.78055 - ], - [ - -90.015015, - 76.010271 - ], - [ - -91.12999, - 75.839159 - ], - [ - -90.190552, - 76.061098 - ], - [ - -91.613617, - 76.262209 - ], - [ - -89.292496, - 76.296099 - ], - [ - -91.566666, - 76.498873 - ], - [ - -90.468063, - 76.47304 - ], - [ - -91.410553, - 76.68915 - ], - [ - -93.54834, - 76.38611 - ], - [ - -93.179718, - 76.741091 - ], - [ - -95.659729, - 77.05887 - ] - ] - ], - [ - [ - [ - -79.469727, - 54.167498 - ], - [ - -79.413055, - 54.19166 - ], - [ - -79.475555, - 54.191378 - ], - [ - -79.469727, - 54.167498 - ] - ] - ], - [ - [ - [ - -79.42305, - 69.78499 - ], - [ - -80.809433, - 69.683046 - ], - [ - -80.011948, - 69.491655 - ], - [ - -79.42305, - 69.78499 - ] - ] - ], - [ - [ - [ - -79.508057, - 72.348604 - ], - [ - -79.429718, - 72.411654 - ], - [ - -79.683319, - 72.430544 - ], - [ - -79.508057, - 72.348604 - ] - ] - ], - [ - [ - [ - -79.560822, - 56.617769 - ], - [ - -79.474716, - 56.689157 - ], - [ - -79.567505, - 56.817774 - ], - [ - -79.560822, - 56.617769 - ] - ] - ], - [ - [ - [ - -79.619995, - 56.385271 - ], - [ - -79.543335, - 56.527773 - ], - [ - -80.109726, - 56.197771 - ], - [ - -79.619995, - 56.385271 - ] - ] - ], - [ - [ - [ - -79.667221, - 54.763887 - ], - [ - -79.587219, - 54.799166 - ], - [ - -79.726944, - 54.752497 - ], - [ - -79.667221, - 54.763887 - ] - ] - ], - [ - [ - [ - -79.709732, - 53.508051 - ], - [ - -79.761398, - 53.546106 - ], - [ - -79.773621, - 53.531664 - ], - [ - -79.709732, - 53.508051 - ] - ] - ], - [ - [ - [ - -79.797501, - 57.418886 - ], - [ - -79.727783, - 57.617212 - ], - [ - -79.82695, - 57.53805 - ], - [ - -79.797501, - 57.418886 - ] - ] - ], - [ - [ - [ - -79.750565, - 56.905825 - ], - [ - -79.897507, - 56.884996 - ], - [ - -79.823769, - 56.895006 - ], - [ - -79.757507, - 56.781939 - ], - [ - -79.750565, - 56.905825 - ] - ] - ], - [ - [ - [ - -79.909164, - 53.081942 - ], - [ - -79.787216, - 53.101938 - ], - [ - -79.897781, - 53.17444 - ], - [ - -79.909164, - 53.081942 - ] - ] - ], - [ - [ - [ - -79.881943, - 56.743608 - ], - [ - -79.819458, - 56.840273 - ], - [ - -79.958618, - 56.81138 - ], - [ - -79.881943, - 56.743608 - ] - ] - ], - [ - [ - [ - -79.864166, - 53.906382 - ], - [ - -79.926392, - 53.935266 - ], - [ - -79.906113, - 53.913881 - ], - [ - -79.864166, - 53.906382 - ] - ] - ], - [ - [ - [ - -80.089722, - 59.75194 - ], - [ - -79.878876, - 59.854715 - ], - [ - -80.184723, - 59.752779 - ], - [ - -80.089722, - 59.75194 - ] - ] - ], - [ - [ - [ - -79.993607, - 72.413317 - ], - [ - -79.916397, - 72.45804 - ], - [ - -80.133331, - 72.519442 - ], - [ - -79.993607, - 72.413317 - ] - ] - ], - [ - [ - [ - -79.942764, - 53.266939 - ], - [ - -79.944717, - 53.368052 - ], - [ - -80.085281, - 53.326944 - ], - [ - -79.942764, - 53.266939 - ] - ] - ], - [ - [ - [ - -80.277496, - 59.618601 - ], - [ - -80.145279, - 59.705553 - ], - [ - -80.343887, - 59.619158 - ], - [ - -80.277496, - 59.618601 - ] - ] - ], - [ - [ - [ - -85.48056, - 65.791933 - ], - [ - -86.097778, - 65.529161 - ], - [ - -86.401672, - 64.436647 - ], - [ - -86.189438, - 64.101656 - ], - [ - -87.188049, - 63.589991 - ], - [ - -85.717499, - 63.716105 - ], - [ - -85.589172, - 63.174715 - ], - [ - -85.266403, - 63.117495 - ], - [ - -83.072784, - 64.186647 - ], - [ - -83.098892, - 63.959162 - ], - [ - -82.361389, - 63.905268 - ], - [ - -82.472229, - 63.680277 - ], - [ - -81.076401, - 63.451387 - ], - [ - -80.171661, - 63.771105 - ], - [ - -80.890839, - 64.115541 - ], - [ - -81.986938, - 63.994158 - ], - [ - -81.602493, - 64.129976 - ], - [ - -81.763062, - 64.501101 - ], - [ - -84.440277, - 65.456652 - ], - [ - -84.924713, - 65.209719 - ], - [ - -85.311935, - 65.537767 - ], - [ - -85.156387, - 65.776659 - ], - [ - -85.48056, - 65.791933 - ] - ] - ], - [ - [ - [ - -80.534439, - 59.36944 - ], - [ - -80.475555, - 59.481104 - ], - [ - -80.549438, - 59.446939 - ], - [ - -80.534439, - 59.36944 - ] - ] - ], - [ - [ - [ - -81.10611, - 53.199717 - ], - [ - -82.063324, - 53.026659 - ], - [ - -80.699722, - 52.6961 - ], - [ - -81.10611, - 53.199717 - ] - ] - ], - [ - [ - [ - -81.327789, - 76.147219 - ], - [ - -81.201401, - 76.177767 - ], - [ - -81.462509, - 76.158876 - ], - [ - -81.327789, - 76.147219 - ] - ] - ], - [ - [ - [ - -81.47139, - 64.188875 - ], - [ - -81.375824, - 64.220827 - ], - [ - -81.538055, - 64.21805 - ], - [ - -81.47139, - 64.188875 - ] - ] - ], - [ - [ - [ - -81.476944, - 52.249163 - ], - [ - -81.551666, - 52.298052 - ], - [ - -81.710007, - 52.262499 - ], - [ - -81.476944, - 52.249163 - ] - ] - ], - [ - [ - [ - -81.871109, - 62.928331 - ], - [ - -83.310822, - 62.92444 - ], - [ - -83.945267, - 62.427217 - ], - [ - -83.703888, - 62.141665 - ], - [ - -83.087784, - 62.178881 - ], - [ - -81.871109, - 62.928331 - ] - ] - ], - [ - [ - [ - -82.059998, - 68.306093 - ], - [ - -81.997223, - 68.341372 - ], - [ - -82.345551, - 68.367754 - ], - [ - -82.059998, - 68.306093 - ] - ] - ], - [ - [ - [ - -82.429443, - 69.782213 - ], - [ - -82.517227, - 69.854158 - ], - [ - -82.688599, - 69.850817 - ], - [ - -82.429443, - 69.782213 - ] - ] - ], - [ - [ - [ - -82.507782, - 69.704988 - ], - [ - -82.460281, - 69.76166 - ], - [ - -82.87944, - 69.778597 - ], - [ - -82.507782, - 69.704988 - ] - ] - ], - [ - [ - [ - -83.06723, - 66.255556 - ], - [ - -82.902496, - 66.271654 - ], - [ - -83.29834, - 66.313875 - ], - [ - -83.06723, - 66.255556 - ] - ] - ], - [ - [ - [ - -82.964722, - 55.263613 - ], - [ - -82.980835, - 55.278879 - ], - [ - -83.035278, - 55.278879 - ], - [ - -82.964722, - 55.263613 - ] - ] - ], - [ - [ - [ - -83.921387, - 66.009722 - ], - [ - -84.470276, - 66.133333 - ], - [ - -84.123611, - 65.90027 - ], - [ - -84.143616, - 65.764162 - ], - [ - -83.68277, - 65.749422 - ], - [ - -83.842773, - 65.649157 - ], - [ - -83.210831, - 65.705828 - ], - [ - -83.727493, - 65.799715 - ], - [ - -83.694153, - 65.9247 - ], - [ - -83.921387, - 66.009722 - ] - ] - ], - [ - [ - [ - -83.28389, - 65.834154 - ], - [ - -83.586121, - 65.854158 - ], - [ - -83.485275, - 65.800814 - ], - [ - -83.28389, - 65.834154 - ] - ] - ], - [ - [ - [ - -83.57695, - 65.983049 - ], - [ - -83.493057, - 66.012774 - ], - [ - -83.604446, - 65.987764 - ], - [ - -83.57695, - 65.983049 - ] - ] - ], - [ - [ - [ - -83.674438, - 69.719988 - ], - [ - -83.708618, - 69.759432 - ], - [ - -83.529175, - 69.786654 - ], - [ - -83.917221, - 69.778597 - ], - [ - -83.674438, - 69.719988 - ] - ] - ], - [ - [ - [ - -83.608612, - 66.044146 - ], - [ - -83.570847, - 66.056368 - ], - [ - -83.607224, - 66.077486 - ], - [ - -83.65361, - 66.041368 - ], - [ - -83.608612, - 66.044146 - ] - ] - ], - [ - [ - [ - -83.649445, - 66.083605 - ], - [ - -83.587784, - 66.117205 - ], - [ - -83.685272, - 66.121096 - ], - [ - -83.649445, - 66.083605 - ] - ] - ], - [ - [ - [ - -83.882767, - 65.666933 - ], - [ - -83.872772, - 65.712206 - ], - [ - -83.942215, - 65.686922 - ], - [ - -83.882767, - 65.666933 - ] - ] - ], - [ - [ - [ - -83.962784, - 76.426378 - ], - [ - -83.908051, - 76.464998 - ], - [ - -84.13945, - 76.507219 - ], - [ - -83.962784, - 76.426378 - ] - ] - ], - [ - [ - [ - -84.265289, - 66.177767 - ], - [ - -84.273056, - 66.196642 - ], - [ - -84.363617, - 66.209429 - ], - [ - -84.265289, - 66.177767 - ] - ] - ], - [ - [ - [ - -84.579727, - 66.141375 - ], - [ - -84.678604, - 66.182482 - ], - [ - -84.639999, - 66.140551 - ], - [ - -84.579727, - 66.141375 - ] - ] - ], - [ - [ - [ - -84.722778, - 65.546099 - ], - [ - -84.58667, - 65.692202 - ], - [ - -85.17305, - 65.994707 - ], - [ - -84.722778, - 65.546099 - ] - ] - ], - [ - [ - [ - -85.285278, - 77.587496 - ], - [ - -85.53833, - 77.53998 - ], - [ - -84.813889, - 77.49721 - ], - [ - -85.285278, - 77.587496 - ] - ] - ], - [ - [ - [ - -92.727783, - 81.305544 - ], - [ - -94.268616, - 81.346102 - ], - [ - -93.091675, - 81.15999 - ], - [ - -95.534164, - 80.81888 - ], - [ - -93.786392, - 80.525545 - ], - [ - -96.681671, - 80.342211 - ], - [ - -94.083893, - 80.175539 - ], - [ - -94.748886, - 80.079988 - ], - [ - -94.383621, - 79.982485 - ], - [ - -96.80278, - 80.090822 - ], - [ - -95.853333, - 79.646105 - ], - [ - -94.282776, - 79.757494 - ], - [ - -95.779449, - 79.425814 - ], - [ - -95.087555, - 79.270754 - ], - [ - -93.090561, - 79.48221 - ], - [ - -91.119995, - 79.386385 - ], - [ - -92.694717, - 79.257219 - ], - [ - -92.238892, - 79.205553 - ], - [ - -90.363266, - 79.246813 - ], - [ - -94.288605, - 78.986376 - ], - [ - -93.037781, - 78.765825 - ], - [ - -93.813614, - 78.765825 - ], - [ - -93.271118, - 78.584154 - ], - [ - -91.635284, - 78.546099 - ], - [ - -92.987503, - 78.465548 - ], - [ - -92.058334, - 78.208879 - ], - [ - -89.452499, - 78.162493 - ], - [ - -89.98056, - 78.609713 - ], - [ - -88.81778, - 78.154436 - ], - [ - -88.535553, - 78.413042 - ], - [ - -88.804169, - 78.609713 - ], - [ - -87.90834, - 78.548601 - ], - [ - -88.162506, - 78.990541 - ], - [ - -87.724716, - 79.075823 - ], - [ - -88.003342, - 78.807207 - ], - [ - -87.615829, - 78.645266 - ], - [ - -86.983322, - 79.056643 - ], - [ - -84.904175, - 79.267763 - ], - [ - -85.681946, - 79.613314 - ], - [ - -86.070847, - 79.434145 - ], - [ - -86.046112, - 79.56888 - ], - [ - -86.334166, - 79.64554 - ], - [ - -87.462509, - 79.534716 - ], - [ - -86.957779, - 79.903597 - ], - [ - -88.065552, - 80.120821 - ], - [ - -87.562775, - 80.179155 - ], - [ - -87.683884, - 80.410265 - ], - [ - -88.61528, - 80.403872 - ], - [ - -88.145554, - 80.093874 - ], - [ - -88.776672, - 80.131365 - ], - [ - -89.244995, - 80.517214 - ], - [ - -90.766403, - 80.565538 - ], - [ - -92.727783, - 81.305544 - ] - ] - ], - [ - [ - [ - -85.019165, - 66.057207 - ], - [ - -85.099731, - 66.089708 - ], - [ - -85.14917, - 66.050539 - ], - [ - -85.019165, - 66.057207 - ] - ] - ], - [ - [ - [ - -85.119446, - 69.014711 - ], - [ - -85.061386, - 69.036654 - ], - [ - -85.170273, - 69.035814 - ], - [ - -85.119446, - 69.014711 - ] - ] - ], - [ - [ - [ - -86.319458, - 78.883608 - ], - [ - -85.167221, - 79.02083 - ], - [ - -86.484436, - 78.892763 - ], - [ - -86.319458, - 78.883608 - ] - ] - ], - [ - [ - [ - -85.265289, - 69.072496 - ], - [ - -85.241943, - 69.091372 - ], - [ - -85.398895, - 69.086107 - ], - [ - -85.265289, - 69.072496 - ] - ] - ], - [ - [ - [ - -85.341675, - 68.983599 - ], - [ - -85.369995, - 69.00194 - ], - [ - -85.453064, - 69.005831 - ], - [ - -85.341675, - 68.983599 - ] - ] - ], - [ - [ - [ - -85.847229, - 72.294146 - ], - [ - -86.110001, - 72.289705 - ], - [ - -85.889175, - 72.21805 - ], - [ - -85.847229, - 72.294146 - ] - ] - ], - [ - [ - [ - -86.426392, - 68.069155 - ], - [ - -86.675003, - 68.306093 - ], - [ - -86.992767, - 68.066668 - ], - [ - -86.583618, - 67.725267 - ], - [ - -86.426392, - 68.069155 - ] - ] - ], - [ - [ - [ - -87.091385, - 70.15027 - ], - [ - -87.378326, - 70.096102 - ], - [ - -86.456665, - 70.007494 - ], - [ - -87.091385, - 70.15027 - ] - ] - ], - [ - [ - [ - -88.287216, - 78.243319 - ], - [ - -88.043335, - 78.436647 - ], - [ - -88.409729, - 78.292208 - ], - [ - -88.287216, - 78.243319 - ] - ] - ], - [ - [ - [ - -88.430283, - 65.455263 - ], - [ - -88.394165, - 65.465822 - ], - [ - -88.512222, - 65.469713 - ], - [ - -88.430283, - 65.455263 - ] - ] - ], - [ - [ - [ - -89.398895, - 76.435534 - ], - [ - -89.533066, - 76.476656 - ], - [ - -89.625549, - 76.444979 - ], - [ - -89.398895, - 76.435534 - ] - ] - ], - [ - [ - [ - -90.603058, - 77.628313 - ], - [ - -91.208893, - 77.414995 - ], - [ - -89.636124, - 77.339159 - ], - [ - -90.603058, - 77.628313 - ] - ] - ], - [ - [ - [ - -89.934433, - 76.476656 - ], - [ - -89.673889, - 76.73749 - ], - [ - -90.599991, - 76.746645 - ], - [ - -89.934433, - 76.476656 - ] - ] - ], - [ - [ - [ - -89.944443, - 68.662203 - ], - [ - -89.781677, - 68.766665 - ], - [ - -89.944443, - 68.84749 - ], - [ - -89.944443, - 68.662203 - ] - ] - ], - [ - [ - [ - -89.808884, - 64.056368 - ], - [ - -89.867767, - 64.095827 - ], - [ - -89.861115, - 64.071657 - ], - [ - -89.808884, - 64.056368 - ] - ] - ], - [ - [ - [ - -89.988892, - 73.988314 - ], - [ - -89.901947, - 74.037767 - ], - [ - -90.285004, - 74.029711 - ], - [ - -89.988892, - 73.988314 - ] - ] - ], - [ - [ - [ - -89.90834, - 68.917757 - ], - [ - -89.920837, - 69.010271 - ], - [ - -90.070557, - 68.981936 - ], - [ - -89.90834, - 68.917757 - ] - ] - ], - [ - [ - [ - -90.12471, - 69.049425 - ], - [ - -90.147232, - 69.103594 - ], - [ - -90.276398, - 69.125811 - ], - [ - -90.12471, - 69.049425 - ] - ] - ], - [ - [ - [ - -92.638062, - 74.103045 - ], - [ - -94.732224, - 74.095263 - ], - [ - -95.327789, - 73.909151 - ], - [ - -94.618057, - 73.651384 - ], - [ - -95.67305, - 73.723314 - ], - [ - -95.612564, - 73.610979 - ], - [ - -95.700287, - 73.553865 - ], - [ - -95.683884, - 73.450274 - ], - [ - -95.575012, - 73.164995 - ], - [ - -95.683319, - 73.075823 - ], - [ - -95.673615, - 72.813875 - ], - [ - -95.133331, - 72.460268 - ], - [ - -95.171112, - 72.139162 - ], - [ - -94.752228, - 72.153322 - ], - [ - -95.213333, - 71.994432 - ], - [ - -94.063049, - 71.978319 - ], - [ - -93.463333, - 72.462206 - ], - [ - -94.315552, - 72.763048 - ], - [ - -92.09584, - 72.743044 - ], - [ - -90.194443, - 73.899721 - ], - [ - -92.638062, - 74.103045 - ] - ] - ], - [ - [ - [ - -90.329453, - 69.235811 - ], - [ - -90.200836, - 69.444429 - ], - [ - -90.51445, - 69.363878 - ], - [ - -90.329453, - 69.235811 - ] - ] - ], - [ - [ - [ - -90.512512, - 69.202486 - ], - [ - -90.582504, - 69.359713 - ], - [ - -90.775833, - 69.329988 - ], - [ - -90.512512, - 69.202486 - ] - ] - ], - [ - [ - [ - -90.653885, - 63.441103 - ], - [ - -90.598053, - 63.454439 - ], - [ - -90.757233, - 63.49444 - ], - [ - -90.653885, - 63.441103 - ] - ] - ], - [ - [ - [ - -90.79361, - 63.494158 - ], - [ - -90.674713, - 63.513887 - ], - [ - -90.968338, - 63.550272 - ], - [ - -90.79361, - 63.494158 - ] - ] - ], - [ - [ - [ - -90.93306, - 77.254442 - ], - [ - -91.299164, - 77.21776 - ], - [ - -90.713623, - 77.200823 - ], - [ - -90.93306, - 77.254442 - ] - ] - ], - [ - [ - [ - -91.110001, - 69.549425 - ], - [ - -90.919159, - 69.606096 - ], - [ - -91.108887, - 69.602205 - ], - [ - -91.110001, - 69.549425 - ] - ] - ], - [ - [ - [ - -90.979996, - 62.65777 - ], - [ - -91.080292, - 62.686937 - ], - [ - -91.271118, - 62.679995 - ], - [ - -90.979996, - 62.65777 - ] - ] - ], - [ - [ - [ - -91.520004, - 69.731371 - ], - [ - -91.409164, - 69.874987 - ], - [ - -91.73555, - 69.789156 - ], - [ - -91.520004, - 69.731371 - ] - ] - ], - [ - [ - [ - -91.572784, - 62.627489 - ], - [ - -91.685547, - 62.666941 - ], - [ - -91.66806, - 62.649164 - ], - [ - -91.572784, - 62.627489 - ] - ] - ], - [ - [ - [ - -91.718338, - 81.54915 - ], - [ - -91.58223, - 81.578051 - ], - [ - -91.960556, - 81.594988 - ], - [ - -91.718338, - 81.54915 - ] - ] - ], - [ - [ - [ - -91.819168, - 69.821657 - ], - [ - -91.639725, - 69.854982 - ], - [ - -91.864166, - 69.844149 - ], - [ - -91.819168, - 69.821657 - ] - ] - ], - [ - [ - [ - -92.223618, - 62.355555 - ], - [ - -92.139725, - 62.399721 - ], - [ - -92.372498, - 62.391939 - ], - [ - -92.223618, - 62.355555 - ] - ] - ], - [ - [ - [ - -92.411118, - 62.393885 - ], - [ - -92.531113, - 62.431383 - ], - [ - -92.600555, - 62.386942 - ], - [ - -92.411118, - 62.393885 - ] - ] - ], - [ - [ - [ - -92.954178, - 63.871103 - ], - [ - -92.978333, - 63.908327 - ], - [ - -93.094452, - 63.904993 - ], - [ - -92.954178, - 63.871103 - ] - ] - ], - [ - [ - [ - -92.963898, - 61.87916 - ], - [ - -93.226105, - 61.908327 - ], - [ - -93.070282, - 61.825274 - ], - [ - -92.963898, - 61.87916 - ] - ] - ], - [ - [ - [ - -95.405838, - 77.763887 - ], - [ - -96.328888, - 77.604982 - ], - [ - -93.570557, - 77.437761 - ], - [ - -93.101944, - 77.662493 - ], - [ - -95.405838, - 77.763887 - ] - ] - ], - [ - [ - [ - -94.363892, - 75.590822 - ], - [ - -95.749725, - 75.513323 - ], - [ - -96.616943, - 74.991091 - ], - [ - -93.467773, - 74.703051 - ], - [ - -93.487503, - 75.256655 - ], - [ - -94.363892, - 75.590822 - ] - ] - ], - [ - [ - [ - -94.366653, - 78.159151 - ], - [ - -94.481949, - 78.268328 - ], - [ - -94.694153, - 78.258608 - ], - [ - -94.366653, - 78.159151 - ] - ] - ], - [ - [ - [ - -94.405563, - 75.750826 - ], - [ - -94.481949, - 75.974428 - ], - [ - -94.904449, - 75.936922 - ], - [ - -94.405563, - 75.750826 - ] - ] - ], - [ - [ - [ - -94.843613, - 76.12221 - ], - [ - -95.147232, - 76.11693 - ], - [ - -95.006668, - 76.047487 - ], - [ - -94.843613, - 76.12221 - ] - ] - ], - [ - [ - [ - -96.768066, - 78.684145 - ], - [ - -98.144455, - 78.816668 - ], - [ - -98.371658, - 78.719988 - ], - [ - -98.022232, - 78.536379 - ], - [ - -98.411392, - 78.495256 - ], - [ - -96.870544, - 78.133333 - ], - [ - -97.775558, - 78.03499 - ], - [ - -97.096954, - 77.803316 - ], - [ - -94.886948, - 78.10277 - ], - [ - -95.39917, - 78.231096 - ], - [ - -94.877777, - 78.391375 - ], - [ - -96.768066, - 78.684145 - ] - ] - ], - [ - [ - [ - -95.030838, - 80.670259 - ], - [ - -96.14917, - 80.664705 - ], - [ - -94.970551, - 80.635271 - ], - [ - -95.030838, - 80.670259 - ] - ] - ], - [ - [ - [ - -97.397781, - 69.685534 - ], - [ - -98.012222, - 69.88582 - ], - [ - -98.367767, - 69.601091 - ], - [ - -98.003891, - 69.435808 - ], - [ - -98.556656, - 69.580828 - ], - [ - -98.393341, - 69.308031 - ], - [ - -99.59639, - 69.02054 - ], - [ - -96.530563, - 68.444979 - ], - [ - -95.206955, - 68.850267 - ], - [ - -97.397781, - 69.685534 - ] - ] - ], - [ - [ - [ - -95.224442, - 77.167208 - ], - [ - -95.35611, - 77.236376 - ], - [ - -95.639999, - 77.237764 - ], - [ - -95.224442, - 77.167208 - ] - ] - ], - [ - [ - [ - -95.339996, - 71.731371 - ], - [ - -95.265839, - 71.836657 - ], - [ - -95.488052, - 71.745531 - ], - [ - -95.339996, - 71.731371 - ] - ] - ], - [ - [ - [ - -95.361664, - 67.197756 - ], - [ - -95.30722, - 67.252489 - ], - [ - -95.55278, - 67.235262 - ], - [ - -95.361664, - 67.197756 - ] - ] - ], - [ - [ - [ - -95.311111, - 74.497759 - ], - [ - -95.517502, - 74.630266 - ], - [ - -95.866394, - 74.57416 - ], - [ - -95.311111, - 74.497759 - ] - ] - ], - [ - [ - [ - -95.488892, - 69.565538 - ], - [ - -95.919998, - 69.595263 - ], - [ - -95.990829, - 69.353319 - ], - [ - -95.815826, - 69.562761 - ], - [ - -95.669159, - 69.507494 - ], - [ - -95.736938, - 69.324434 - ], - [ - -95.515839, - 69.330828 - ], - [ - -95.488892, - 69.565538 - ] - ] - ], - [ - [ - [ - -95.669724, - 73.604982 - ], - [ - -95.655563, - 73.616655 - ], - [ - -95.71167, - 73.6122 - ], - [ - -95.669724, - 73.604982 - ] - ] - ], - [ - [ - [ - -95.756958, - 72.892488 - ], - [ - -95.702499, - 72.933596 - ], - [ - -95.786667, - 73.012499 - ], - [ - -95.756958, - 72.892488 - ] - ] - ], - [ - [ - [ - -95.733887, - 73.128862 - ], - [ - -95.893341, - 73.095827 - ], - [ - -95.745544, - 73.049425 - ], - [ - -95.733887, - 73.128862 - ] - ] - ], - [ - [ - [ - -95.735001, - 72.798876 - ], - [ - -95.769165, - 72.878038 - ], - [ - -95.854172, - 72.853594 - ], - [ - -95.735001, - 72.798876 - ] - ] - ], - [ - [ - [ - -95.79277, - 75.899721 - ], - [ - -95.735825, - 75.968325 - ], - [ - -95.899994, - 75.953875 - ], - [ - -95.79277, - 75.899721 - ] - ] - ], - [ - [ - [ - -95.910004, - 75.560259 - ], - [ - -97.053055, - 75.492205 - ], - [ - -96.851105, - 75.350267 - ], - [ - -95.910004, - 75.560259 - ] - ] - ], - [ - [ - [ - -96.170546, - 67.773043 - ], - [ - -95.997498, - 67.820833 - ], - [ - -96.077225, - 67.838884 - ], - [ - -96.170546, - 67.773043 - ] - ] - ], - [ - [ - [ - -96.663055, - 69.569719 - ], - [ - -96.233887, - 69.359713 - ], - [ - -96.096115, - 69.46805 - ], - [ - -96.663055, - 69.569719 - ] - ] - ], - [ - [ - [ - -99.804558, - 73.889101 - ], - [ - -101.120003, - 73.727205 - ], - [ - -100.430557, - 73.406939 - ], - [ - -101.621384, - 73.490267 - ], - [ - -99.771666, - 73.20804 - ], - [ - -100.580002, - 73.173037 - ], - [ - -100.031387, - 72.934984 - ], - [ - -100.45195, - 73.02054 - ], - [ - -100.412216, - 72.74193 - ], - [ - -101.297501, - 72.709993 - ], - [ - -102.137222, - 73.086931 - ], - [ - -102.741669, - 72.724154 - ], - [ - -100.634453, - 72.185534 - ], - [ - -98.729721, - 71.27054 - ], - [ - -98.037506, - 71.526659 - ], - [ - -98.493881, - 71.713884 - ], - [ - -98.267227, - 71.904161 - ], - [ - -98.218063, - 71.649721 - ], - [ - -97.505005, - 71.61165 - ], - [ - -96.493057, - 71.914156 - ], - [ - -96.866943, - 72.041094 - ], - [ - -96.483063, - 72.113039 - ], - [ - -96.871933, - 72.321108 - ], - [ - -96.29834, - 72.415819 - ], - [ - -96.517502, - 72.714708 - ], - [ - -97.196655, - 72.604433 - ], - [ - -97.225006, - 72.939974 - ], - [ - -97.846954, - 73.048601 - ], - [ - -98.450562, - 72.874987 - ], - [ - -97.171936, - 73.35277 - ], - [ - -97.668335, - 73.483324 - ], - [ - -96.962219, - 73.738588 - ], - [ - -97.761948, - 73.911928 - ], - [ - -99.235001, - 73.737764 - ], - [ - -99.804558, - 73.889101 - ] - ] - ], - [ - [ - [ - -96.384171, - 68.200823 - ], - [ - -96.317505, - 68.231936 - ], - [ - -96.462784, - 68.216097 - ], - [ - -96.384171, - 68.200823 - ] - ] - ], - [ - [ - [ - -96.579178, - 75.736925 - ], - [ - -96.455841, - 75.817766 - ], - [ - -96.717224, - 75.739702 - ], - [ - -96.579178, - 75.736925 - ] - ] - ], - [ - [ - [ - -96.563324, - 71.292208 - ], - [ - -96.638611, - 71.226091 - ], - [ - -96.480835, - 71.208879 - ], - [ - -96.472504, - 71.23221 - ], - [ - -96.563324, - 71.292208 - ] - ] - ], - [ - [ - [ - -96.808334, - 72.926378 - ], - [ - -96.575012, - 73.074999 - ], - [ - -97.141113, - 73.085543 - ], - [ - -96.808334, - 72.926378 - ] - ] - ], - [ - [ - [ - -96.754181, - 72.721376 - ], - [ - -96.713333, - 72.893328 - ], - [ - -97.011124, - 72.77582 - ], - [ - -96.754181, - 72.721376 - ] - ] - ], - [ - [ - [ - -96.954453, - 75.595537 - ], - [ - -96.715836, - 75.65999 - ], - [ - -97.005005, - 75.604433 - ], - [ - -96.954453, - 75.595537 - ] - ] - ], - [ - [ - [ - -96.760559, - 69.545534 - ], - [ - -96.902222, - 69.597765 - ], - [ - -96.883896, - 69.559145 - ], - [ - -96.760559, - 69.545534 - ] - ] - ], - [ - [ - [ - -96.958893, - 71.704439 - ], - [ - -96.844452, - 71.744143 - ], - [ - -97.050278, - 71.704165 - ], - [ - -96.958893, - 71.704439 - ] - ] - ], - [ - [ - [ - -96.905838, - 73.220827 - ], - [ - -96.967773, - 73.273317 - ], - [ - -97.117767, - 73.249147 - ], - [ - -96.905838, - 73.220827 - ] - ] - ], - [ - [ - [ - -97.045273, - 76.797762 - ], - [ - -96.997223, - 76.813311 - ], - [ - -97.200836, - 76.857485 - ], - [ - -97.045273, - 76.797762 - ] - ] - ], - [ - [ - [ - -97.256393, - 76.967485 - ], - [ - -97.092224, - 77.01082 - ], - [ - -97.473053, - 76.980547 - ], - [ - -97.256393, - 76.967485 - ] - ] - ], - [ - [ - [ - -97.175827, - 75.244143 - ], - [ - -97.153061, - 75.315264 - ], - [ - -97.275284, - 75.34749 - ], - [ - -97.175827, - 75.244143 - ] - ] - ], - [ - [ - [ - -97.325012, - 69.889162 - ], - [ - -97.226944, - 69.873598 - ], - [ - -97.488602, - 69.943865 - ], - [ - -97.325012, - 69.889162 - ] - ] - ], - [ - [ - [ - -97.652786, - 74.455828 - ], - [ - -97.256958, - 74.590548 - ], - [ - -97.792496, - 74.485811 - ], - [ - -97.652786, - 74.455828 - ] - ] - ], - [ - [ - [ - -98.41806, - 76.668322 - ], - [ - -99.079727, - 76.397219 - ], - [ - -99.684433, - 76.633333 - ], - [ - -100.982498, - 76.504992 - ], - [ - -99.414444, - 76.158327 - ], - [ - -100.152786, - 76.132479 - ], - [ - -99.439438, - 75.970537 - ], - [ - -99.888336, - 75.886385 - ], - [ - -101.885834, - 76.444979 - ], - [ - -102.165833, - 76.238314 - ], - [ - -101.387787, - 76.25194 - ], - [ - -101.907227, - 76.0786 - ], - [ - -101.18222, - 75.779711 - ], - [ - -102.883904, - 75.619143 - ], - [ - -98.950287, - 75.709993 - ], - [ - -100.778877, - 75.350542 - ], - [ - -99.987778, - 75.236101 - ], - [ - -100.546951, - 75.199419 - ], - [ - -100.145844, - 74.991091 - ], - [ - -97.582504, - 75.137499 - ], - [ - -98.165283, - 75.334154 - ], - [ - -97.744156, - 75.571108 - ], - [ - -97.280838, - 75.396944 - ], - [ - -97.386673, - 75.682756 - ], - [ - -97.938599, - 75.741365 - ], - [ - -97.509171, - 76.188875 - ], - [ - -98.41806, - 76.668322 - ] - ] - ], - [ - [ - [ - -97.502792, - 67.624422 - ], - [ - -97.337784, - 67.724154 - ], - [ - -97.560547, - 67.692751 - ], - [ - -97.502792, - 67.624422 - ] - ] - ], - [ - [ - [ - -98.91861, - 73.806093 - ], - [ - -97.637787, - 74.075548 - ], - [ - -99.4375, - 73.896944 - ], - [ - -98.91861, - 73.806093 - ] - ] - ], - [ - [ - [ - -98.657227, - 74.299425 - ], - [ - -98.511124, - 74.318331 - ], - [ - -98.864716, - 74.304705 - ], - [ - -98.657227, - 74.299425 - ] - ] - ], - [ - [ - [ - -99.471664, - 80.109713 - ], - [ - -100.17749, - 79.90999 - ], - [ - -98.644165, - 79.794146 - ], - [ - -99.471664, - 80.109713 - ] - ] - ], - [ - [ - [ - -98.650284, - 68.180269 - ], - [ - -98.693329, - 68.21361 - ], - [ - -98.704453, - 68.176088 - ], - [ - -98.650284, - 68.180269 - ] - ] - ], - [ - [ - [ - -98.895554, - 71.277773 - ], - [ - -98.955841, - 71.352205 - ], - [ - -99.008896, - 71.313875 - ], - [ - -98.895554, - 71.277773 - ] - ] - ], - [ - [ - [ - -103.593887, - 79.325823 - ], - [ - -105.628601, - 79.161379 - ], - [ - -104.681107, - 79.016665 - ], - [ - -104.988327, - 78.798326 - ], - [ - -104.203613, - 78.991655 - ], - [ - -103.821671, - 78.898333 - ], - [ - -104.198883, - 78.770266 - ], - [ - -103.316391, - 78.734423 - ], - [ - -104.042221, - 78.629976 - ], - [ - -103.523621, - 78.496096 - ], - [ - -105.051392, - 78.494432 - ], - [ - -104.467499, - 78.265276 - ], - [ - -102.806107, - 78.377764 - ], - [ - -102.618607, - 78.241365 - ], - [ - -101.035553, - 78.196093 - ], - [ - -99.906952, - 77.778597 - ], - [ - -98.945831, - 78.055819 - ], - [ - -99.793884, - 78.297213 - ], - [ - -99.529724, - 78.578051 - ], - [ - -99.952499, - 78.725542 - ], - [ - -101.648903, - 79.075823 - ], - [ - -102.560822, - 78.869707 - ], - [ - -103.593887, - 79.325823 - ] - ] - ], - [ - [ - [ - -98.951401, - 67.979982 - ], - [ - -98.975555, - 68.077211 - ], - [ - -99.078613, - 68.045595 - ], - [ - -98.951401, - 67.979982 - ] - ] - ], - [ - [ - [ - -99.045273, - 68.423876 - ], - [ - -99.159164, - 68.451097 - ], - [ - -99.054993, - 68.408327 - ], - [ - -99.045273, - 68.423876 - ] - ] - ], - [ - [ - [ - -99.155563, - 80.1747 - ], - [ - -99.41806, - 80.157213 - ], - [ - -99.113892, - 80.163881 - ], - [ - -99.155563, - 80.1747 - ] - ] - ], - [ - [ - [ - -99.996948, - 76.734423 - ], - [ - -100.128601, - 76.721926 - ], - [ - -99.430557, - 76.699419 - ], - [ - -99.996948, - 76.734423 - ] - ] - ], - [ - [ - [ - -99.999435, - 68.94359 - ], - [ - -100.053047, - 69.10248 - ], - [ - -100.258621, - 69.041933 - ], - [ - -99.999435, - 68.94359 - ] - ] - ], - [ - [ - [ - -100.074722, - 68.349718 - ], - [ - -100.230827, - 68.319719 - ], - [ - -100.099442, - 68.278597 - ], - [ - -100.074722, - 68.349718 - ] - ] - ], - [ - [ - [ - -100.172234, - 75.601381 - ], - [ - -101.039436, - 75.567217 - ], - [ - -100.454178, - 75.546373 - ], - [ - -100.172234, - 75.601381 - ] - ] - ], - [ - [ - [ - -100.175552, - 68.79471 - ], - [ - -100.599991, - 69.000551 - ], - [ - -100.623047, - 68.761934 - ], - [ - -100.175552, - 68.79471 - ] - ] - ], - [ - [ - [ - -100.230827, - 70.451662 - ], - [ - -100.651947, - 70.66971 - ], - [ - -100.670837, - 70.55887 - ], - [ - -100.230827, - 70.451662 - ] - ] - ], - [ - [ - [ - -101.380547, - 76.553591 - ], - [ - -100.248894, - 76.734713 - ], - [ - -101.688316, - 76.586382 - ], - [ - -101.380547, - 76.553591 - ] - ] - ], - [ - [ - [ - -100.710564, - 68.402483 - ], - [ - -100.793327, - 68.468874 - ], - [ - -100.889717, - 68.452776 - ], - [ - -100.710564, - 68.402483 - ] - ] - ], - [ - [ - [ - -100.740547, - 68.596376 - ], - [ - -100.813889, - 68.619143 - ], - [ - -100.882492, - 68.611376 - ], - [ - -100.740547, - 68.596376 - ] - ] - ], - [ - [ - [ - -100.765289, - 70.250002 - ], - [ - -100.748047, - 70.316942 - ], - [ - -100.851936, - 70.323885 - ], - [ - -100.765289, - 70.250002 - ] - ] - ], - [ - [ - [ - -100.849731, - 69.925539 - ], - [ - -100.806953, - 69.985811 - ], - [ - -100.858612, - 69.97777 - ], - [ - -100.849731, - 69.925539 - ] - ] - ], - [ - [ - [ - -113.997498, - 72.799425 - ], - [ - -113.96167, - 73.153048 - ], - [ - -114.561661, - 73.375536 - ], - [ - -117.353607, - 72.916384 - ], - [ - -118.536942, - 72.493868 - ], - [ - -118.108046, - 72.237764 - ], - [ - -119.134453, - 71.765276 - ], - [ - -117.696381, - 71.666094 - ], - [ - -118.309433, - 71.465822 - ], - [ - -118.112213, - 71.373598 - ], - [ - -115.057503, - 71.523043 - ], - [ - -118.419449, - 70.99193 - ], - [ - -117.559433, - 70.597216 - ], - [ - -113.938316, - 70.715273 - ], - [ - -111.487213, - 70.336931 - ], - [ - -112.564713, - 70.19832 - ], - [ - -115.167503, - 70.277773 - ], - [ - -117.436111, - 69.993044 - ], - [ - -116.525833, - 69.407488 - ], - [ - -113.521118, - 69.178591 - ], - [ - -113.676941, - 68.811098 - ], - [ - -113.03389, - 68.494982 - ], - [ - -113.269447, - 68.453875 - ], - [ - -109.104721, - 68.710543 - ], - [ - -107.342215, - 69.018877 - ], - [ - -106.602219, - 69.498873 - ], - [ - -106.406113, - 69.180544 - ], - [ - -104.915009, - 69.070543 - ], - [ - -105.14473, - 68.899157 - ], - [ - -102.89473, - 68.79999 - ], - [ - -101.75473, - 69.175814 - ], - [ - -102.313049, - 69.498323 - ], - [ - -103.194992, - 69.114428 - ], - [ - -103.023331, - 69.493868 - ], - [ - -103.476936, - 69.69359 - ], - [ - -100.870003, - 69.788317 - ], - [ - -100.999733, - 70.172762 - ], - [ - -103.556381, - 70.600817 - ], - [ - -104.585831, - 71.066668 - ], - [ - -104.35527, - 71.574434 - ], - [ - -105.326111, - 72.74637 - ], - [ - -106.761398, - 73.293047 - ], - [ - -108.291946, - 73.153597 - ], - [ - -107.778877, - 72.13666 - ], - [ - -107.252502, - 71.89554 - ], - [ - -107.828888, - 71.604433 - ], - [ - -108.242767, - 71.718599 - ], - [ - -108.621384, - 72.54999 - ], - [ - -109.043327, - 72.567492 - ], - [ - -109.227783, - 72.76166 - ], - [ - -109.75473, - 72.878588 - ], - [ - -109.659439, - 72.92499 - ], - [ - -110.756668, - 72.971376 - ], - [ - -109.770279, - 72.722216 - ], - [ - -110.291107, - 72.671099 - ], - [ - -109.782784, - 72.42943 - ], - [ - -110.701401, - 72.575548 - ], - [ - -111.663887, - 72.276384 - ], - [ - -111.905563, - 72.349718 - ], - [ - -111.220001, - 72.718325 - ], - [ - -113.028061, - 73.009432 - ], - [ - -113.657501, - 72.611376 - ], - [ - -114.604721, - 72.601656 - ], - [ - -113.997498, - 72.799425 - ] - ] - ], - [ - [ - [ - -101.711403, - 77.901659 - ], - [ - -102.529715, - 77.834154 - ], - [ - -100.925552, - 77.7372 - ], - [ - -101.711403, - 77.901659 - ] - ] - ], - [ - [ - [ - -101.053047, - 69.504442 - ], - [ - -101.387222, - 69.537767 - ], - [ - -101.230293, - 69.368593 - ], - [ - -101.053047, - 69.504442 - ] - ] - ], - [ - [ - [ - -101.664169, - 69.083605 - ], - [ - -101.495003, - 69.165545 - ], - [ - -101.695267, - 69.206942 - ], - [ - -101.664169, - 69.083605 - ] - ] - ], - [ - [ - [ - -101.831123, - 68.566942 - ], - [ - -101.693878, - 68.768053 - ], - [ - -102.316391, - 68.672213 - ], - [ - -101.831123, - 68.566942 - ] - ] - ], - [ - [ - [ - -103.137787, - 75.742754 - ], - [ - -101.983322, - 75.945818 - ], - [ - -103.382767, - 75.765551 - ], - [ - -103.137787, - 75.742754 - ] - ] - ], - [ - [ - [ - -102.145279, - 69.648607 - ], - [ - -102.134743, - 69.724703 - ], - [ - -102.241379, - 69.710268 - ], - [ - -102.145279, - 69.648607 - ] - ] - ], - [ - [ - [ - -102.389999, - 76.083605 - ], - [ - -103.971657, - 75.938311 - ], - [ - -102.319458, - 76.024706 - ], - [ - -102.389999, - 76.083605 - ] - ] - ], - [ - [ - [ - -102.530838, - 76.223314 - ], - [ - -104.482773, - 76.142214 - ], - [ - -103.342215, - 76.036654 - ], - [ - -102.530838, - 76.223314 - ] - ] - ], - [ - [ - [ - -102.60083, - 68.813311 - ], - [ - -102.612778, - 68.84305 - ], - [ - -102.70723, - 68.816668 - ], - [ - -102.60083, - 68.813311 - ] - ] - ], - [ - [ - [ - -103.056953, - 78.119707 - ], - [ - -102.782227, - 78.238588 - ], - [ - -103.282227, - 78.157763 - ], - [ - -103.056953, - 78.119707 - ] - ] - ], - [ - [ - [ - -104.053879, - 76.563036 - ], - [ - -104.665833, - 76.551653 - ], - [ - -104.335007, - 76.318605 - ], - [ - -103.004463, - 76.429979 - ], - [ - -104.053879, - 76.563036 - ] - ] - ], - [ - [ - [ - -103.17778, - 70.622484 - ], - [ - -103.210007, - 70.676653 - ], - [ - -103.281387, - 70.638048 - ], - [ - -103.17778, - 70.622484 - ] - ] - ], - [ - [ - [ - -103.35083, - 70.687197 - ], - [ - -103.34111, - 70.720263 - ], - [ - -103.462784, - 70.73221 - ], - [ - -103.35083, - 70.687197 - ] - ] - ], - [ - [ - [ - -103.917503, - 75.054979 - ], - [ - -103.583069, - 75.164705 - ], - [ - -104.18222, - 75.435534 - ], - [ - -104.857224, - 75.164705 - ], - [ - -103.917503, - 75.054979 - ] - ] - ], - [ - [ - [ - -104.252502, - 77.072771 - ], - [ - -104.001106, - 77.13582 - ], - [ - -104.431671, - 77.098879 - ], - [ - -104.252502, - 77.072771 - ] - ] - ], - [ - [ - [ - -105.010277, - 77.408037 - ], - [ - -106.094727, - 77.724154 - ], - [ - -105.246948, - 77.193865 - ], - [ - -104.365547, - 77.230272 - ], - [ - -105.010277, - 77.408037 - ] - ] - ], - [ - [ - [ - -104.453056, - 68.102205 - ], - [ - -104.377213, - 68.199709 - ], - [ - -104.553879, - 68.161654 - ], - [ - -104.453056, - 68.102205 - ] - ] - ], - [ - [ - [ - -105.089447, - 73.735262 - ], - [ - -107.035553, - 73.480822 - ], - [ - -105.275558, - 72.845537 - ], - [ - -104.483063, - 73.534426 - ], - [ - -105.089447, - 73.735262 - ] - ] - ], - [ - [ - [ - -104.545273, - 68.396105 - ], - [ - -104.682503, - 68.573885 - ], - [ - -105.08168, - 68.546373 - ], - [ - -104.545273, - 68.396105 - ] - ] - ], - [ - [ - [ - -105.139183, - 68.536379 - ], - [ - -105.292221, - 68.582216 - ], - [ - -105.058884, - 68.504168 - ], - [ - -105.139183, - 68.536379 - ] - ] - ], - [ - [ - [ - -108.651108, - 76.813601 - ], - [ - -110.393066, - 76.391939 - ], - [ - -109.313606, - 76.109148 - ], - [ - -110.055557, - 75.890551 - ], - [ - -108.82695, - 75.686647 - ], - [ - -108.899437, - 75.476381 - ], - [ - -111.247223, - 75.518053 - ], - [ - -111.45195, - 75.836657 - ], - [ - -112.225563, - 75.811098 - ], - [ - -111.727783, - 75.921648 - ], - [ - -112.453888, - 76.176378 - ], - [ - -114.899727, - 76.516939 - ], - [ - -115.925003, - 76.286654 - ], - [ - -114.662514, - 76.16054 - ], - [ - -116.296112, - 76.188585 - ], - [ - -116.734161, - 75.922487 - ], - [ - -114.817497, - 75.880816 - ], - [ - -117.251106, - 75.59749 - ], - [ - -114.999733, - 75.690813 - ], - [ - -117.683884, - 75.253054 - ], - [ - -115.050827, - 74.961107 - ], - [ - -114.065002, - 75.466097 - ], - [ - -113.340561, - 75.413317 - ], - [ - -113.917503, - 75.053591 - ], - [ - -110.912781, - 75.233873 - ], - [ - -114.447769, - 74.6747 - ], - [ - -112.753067, - 74.401384 - ], - [ - -108.832497, - 75.069994 - ], - [ - -106.011124, - 75.050814 - ], - [ - -105.391953, - 75.638887 - ], - [ - -106.33667, - 76.054705 - ], - [ - -106.896666, - 75.720263 - ], - [ - -108.020279, - 75.780825 - ], - [ - -107.632492, - 75.991091 - ], - [ - -108.396118, - 76.046099 - ], - [ - -108.077499, - 76.28055 - ], - [ - -108.558037, - 76.408602 - ], - [ - -108.651108, - 76.813601 - ] - ] - ], - [ - [ - [ - -107.388901, - 68.172213 - ], - [ - -107.291672, - 68.202776 - ], - [ - -107.445267, - 68.201662 - ], - [ - -107.388901, - 68.172213 - ] - ] - ], - [ - [ - [ - -107.407784, - 67.083055 - ], - [ - -107.626663, - 67.200274 - ], - [ - -107.527786, - 67.078051 - ], - [ - -107.407784, - 67.083055 - ] - ] - ], - [ - [ - [ - -107.473618, - 68.144716 - ], - [ - -107.468063, - 68.188585 - ], - [ - -107.554169, - 68.166094 - ], - [ - -107.473618, - 68.144716 - ] - ] - ], - [ - [ - [ - -107.895554, - 73.541368 - ], - [ - -107.582497, - 73.597765 - ], - [ - -108.083328, - 73.597216 - ], - [ - -107.895554, - 73.541368 - ] - ] - ], - [ - [ - [ - -107.662781, - 67.220263 - ], - [ - -107.660004, - 67.298876 - ], - [ - -107.725014, - 67.313036 - ], - [ - -107.662781, - 67.220263 - ] - ] - ], - [ - [ - [ - -107.92305, - 66.850542 - ], - [ - -107.823898, - 66.901094 - ], - [ - -107.794998, - 66.99721 - ], - [ - -107.92305, - 66.850542 - ] - ] - ], - [ - [ - [ - -107.910828, - 67.310534 - ], - [ - -107.89473, - 67.485537 - ], - [ - -108.073898, - 67.430819 - ], - [ - -107.910828, - 67.310534 - ] - ] - ], - [ - [ - [ - -108.059998, - 67.475267 - ], - [ - -107.921387, - 67.546648 - ], - [ - -108.113617, - 67.675264 - ], - [ - -108.059998, - 67.475267 - ] - ] - ], - [ - [ - [ - -108.01445, - 66.897768 - ], - [ - -107.938316, - 66.946932 - ], - [ - -108.106598, - 67.026003 - ], - [ - -108.01445, - 66.897768 - ] - ] - ], - [ - [ - [ - -108.138062, - 67.872484 - ], - [ - -108.054443, - 67.96332 - ], - [ - -108.255569, - 67.887209 - ], - [ - -108.138062, - 67.872484 - ] - ] - ], - [ - [ - [ - -108.138901, - 71.981661 - ], - [ - -108.064163, - 72.030275 - ], - [ - -108.199722, - 72.050539 - ], - [ - -108.138901, - 71.981661 - ] - ] - ], - [ - [ - [ - -108.141113, - 67.449999 - ], - [ - -108.219162, - 67.571108 - ], - [ - -108.271942, - 67.471376 - ], - [ - -108.141113, - 67.449999 - ] - ] - ], - [ - [ - [ - -108.36055, - 68.049715 - ], - [ - -108.294449, - 68.097216 - ], - [ - -108.408051, - 68.069719 - ], - [ - -108.36055, - 68.049715 - ] - ] - ], - [ - [ - [ - -108.368332, - 67.467211 - ], - [ - -108.297501, - 67.557207 - ], - [ - -108.491379, - 67.563036 - ], - [ - -108.368332, - 67.467211 - ] - ] - ], - [ - [ - [ - -108.322777, - 67.589983 - ], - [ - -108.390289, - 67.63109 - ], - [ - -108.483887, - 67.63666 - ], - [ - -108.322777, - 67.589983 - ] - ] - ], - [ - [ - [ - -108.646957, - 67.869432 - ], - [ - -108.359444, - 67.899996 - ], - [ - -108.544724, - 67.928316 - ], - [ - -108.646957, - 67.869432 - ] - ] - ], - [ - [ - [ - -108.506119, - 68.034716 - ], - [ - -108.447487, - 68.08777 - ], - [ - -108.540283, - 68.03998 - ], - [ - -108.506119, - 68.034716 - ] - ] - ], - [ - [ - [ - -108.510559, - 72.60277 - ], - [ - -108.496658, - 72.641375 - ], - [ - -108.613617, - 72.63666 - ], - [ - -108.510559, - 72.60277 - ] - ] - ], - [ - [ - [ - -108.590286, - 68.214434 - ], - [ - -108.559723, - 68.236101 - ], - [ - -108.67749, - 68.168871 - ], - [ - -108.590286, - 68.214434 - ] - ] - ], - [ - [ - [ - -109.195267, - 67.989977 - ], - [ - -108.866095, - 67.90027 - ], - [ - -108.951111, - 67.973314 - ], - [ - -109.195267, - 67.989977 - ] - ] - ], - [ - [ - [ - -109.112213, - 67.763323 - ], - [ - -109.039169, - 67.793322 - ], - [ - -109.207779, - 67.783876 - ], - [ - -109.112213, - 67.763323 - ] - ] - ], - [ - [ - [ - -109.066101, - 76.900545 - ], - [ - -109.179443, - 76.932482 - ], - [ - -109.30777, - 76.928041 - ], - [ - -109.066101, - 76.900545 - ] - ] - ], - [ - [ - [ - -109.648064, - 78.588045 - ], - [ - -110.637512, - 78.748598 - ], - [ - -113.334166, - 78.332766 - ], - [ - -109.260559, - 78.455828 - ], - [ - -109.648064, - 78.588045 - ] - ] - ], - [ - [ - [ - -109.321671, - 67.981096 - ], - [ - -109.44722, - 68.092211 - ], - [ - -109.54306, - 68.052202 - ], - [ - -109.321671, - 67.981096 - ] - ] - ], - [ - [ - [ - -109.78389, - 68.137499 - ], - [ - -109.568069, - 68.24721 - ], - [ - -109.856659, - 68.147768 - ], - [ - -109.78389, - 68.137499 - ] - ] - ], - [ - [ - [ - -109.588058, - 78.064699 - ], - [ - -113.319733, - 77.795534 - ], - [ - -113.198036, - 77.523882 - ], - [ - -112.031113, - 77.324709 - ], - [ - -110.203339, - 77.511385 - ], - [ - -110.090286, - 77.769152 - ], - [ - -110.904715, - 77.843874 - ], - [ - -109.588058, - 78.064699 - ] - ] - ], - [ - [ - [ - -110.213623, - 68.038042 - ], - [ - -109.877213, - 68.126925 - ], - [ - -110.258621, - 68.041933 - ], - [ - -110.213623, - 68.038042 - ] - ] - ], - [ - [ - [ - -110.30722, - 72.630816 - ], - [ - -110.280838, - 72.642214 - ], - [ - -110.410828, - 72.639437 - ], - [ - -110.30722, - 72.630816 - ] - ] - ], - [ - [ - [ - -110.334442, - 68.01166 - ], - [ - -110.317497, - 68.049715 - ], - [ - -110.420837, - 68.02083 - ], - [ - -110.334442, - 68.01166 - ] - ] - ], - [ - [ - [ - -110.355827, - 72.601931 - ], - [ - -110.345001, - 72.611925 - ], - [ - -110.49472, - 72.619143 - ], - [ - -110.355827, - 72.601931 - ] - ] - ], - [ - [ - [ - -110.469162, - 72.569155 - ], - [ - -110.593887, - 72.594149 - ], - [ - -110.544159, - 72.569155 - ], - [ - -110.469162, - 72.569155 - ] - ] - ], - [ - [ - [ - -110.586937, - 68.524157 - ], - [ - -110.518341, - 68.539156 - ], - [ - -110.761948, - 68.561647 - ], - [ - -110.586937, - 68.524157 - ] - ] - ], - [ - [ - [ - -110.862503, - 68.474154 - ], - [ - -110.696114, - 68.486376 - ], - [ - -111.097504, - 68.482759 - ], - [ - -110.862503, - 68.474154 - ] - ] - ], - [ - [ - [ - -111.114441, - 68.405825 - ], - [ - -111.082497, - 68.444704 - ], - [ - -111.14917, - 68.439974 - ], - [ - -111.114441, - 68.405825 - ] - ] - ], - [ - [ - [ - -111.710281, - 68.220537 - ], - [ - -111.499443, - 68.296938 - ], - [ - -111.777222, - 68.253054 - ], - [ - -111.710281, - 68.220537 - ] - ] - ], - [ - [ - [ - -111.799988, - 75.839159 - ], - [ - -111.578613, - 75.879976 - ], - [ - -111.922501, - 75.85277 - ], - [ - -111.799988, - 75.839159 - ] - ] - ], - [ - [ - [ - -111.833328, - 68.181932 - ], - [ - -111.754997, - 68.215822 - ], - [ - -111.865547, - 68.188036 - ], - [ - -111.833328, - 68.181932 - ] - ] - ], - [ - [ - [ - -112.655273, - 70.2661 - ], - [ - -112.6875, - 70.306368 - ], - [ - -112.761398, - 70.298601 - ], - [ - -112.655273, - 70.2661 - ] - ] - ], - [ - [ - [ - -112.780563, - 68.13109 - ], - [ - -112.751678, - 68.164705 - ], - [ - -112.922234, - 68.146654 - ], - [ - -112.780563, - 68.13109 - ] - ] - ], - [ - [ - [ - -112.930557, - 67.916658 - ], - [ - -112.887222, - 67.927202 - ], - [ - -113.147507, - 67.912203 - ], - [ - -112.930557, - 67.916658 - ] - ] - ], - [ - [ - [ - -112.969727, - 70.281374 - ], - [ - -112.945541, - 70.286654 - ], - [ - -113.203613, - 70.292482 - ], - [ - -112.969727, - 70.281374 - ] - ] - ], - [ - [ - [ - -113.390289, - 67.897768 - ], - [ - -113.246948, - 67.914431 - ], - [ - -113.603333, - 67.903048 - ], - [ - -113.390289, - 67.897768 - ] - ] - ], - [ - [ - [ - -113.328888, - 77.079988 - ], - [ - -113.344727, - 77.127764 - ], - [ - -113.497498, - 77.08832 - ], - [ - -113.328888, - 77.079988 - ] - ] - ], - [ - [ - [ - -113.46611, - 76.76639 - ], - [ - -113.885559, - 76.891665 - ], - [ - -114.875816, - 76.77083 - ], - [ - -113.46611, - 76.76639 - ] - ] - ], - [ - [ - [ - -114.073059, - 77.981661 - ], - [ - -115.116095, - 77.95833 - ], - [ - -113.576111, - 77.81415 - ], - [ - -114.073059, - 77.981661 - ] - ] - ], - [ - [ - [ - -113.77861, - 77.104158 - ], - [ - -113.657784, - 77.129152 - ], - [ - -113.931381, - 77.129702 - ], - [ - -113.77861, - 77.104158 - ] - ] - ], - [ - [ - [ - -113.720001, - 67.973314 - ], - [ - -113.772232, - 67.980272 - ], - [ - -113.993057, - 67.961107 - ], - [ - -113.720001, - 67.973314 - ] - ] - ], - [ - [ - [ - -113.786118, - 68.582766 - ], - [ - -113.761948, - 68.592211 - ], - [ - -113.96611, - 68.611101 - ], - [ - -113.786118, - 68.582766 - ] - ] - ], - [ - [ - [ - -114.115013, - 67.883883 - ], - [ - -113.921387, - 67.878038 - ], - [ - -114.296951, - 67.895266 - ], - [ - -114.115013, - 67.883883 - ] - ] - ], - [ - [ - [ - -114.047234, - 68.613604 - ], - [ - -114.141953, - 68.676928 - ], - [ - -114.189987, - 68.680269 - ], - [ - -114.047234, - 68.613604 - ] - ] - ], - [ - [ - [ - -114.219162, - 67.945253 - ], - [ - -114.121109, - 67.961931 - ], - [ - -114.31723, - 67.949709 - ], - [ - -114.219162, - 67.945253 - ] - ] - ], - [ - [ - [ - -114.35083, - 68.871645 - ], - [ - -114.323334, - 68.883043 - ], - [ - -114.471657, - 68.892488 - ], - [ - -114.35083, - 68.871645 - ] - ] - ], - [ - [ - [ - -120.149986, - 74.272493 - ], - [ - -121.564163, - 74.551088 - ], - [ - -124.770844, - 74.340273 - ], - [ - -123.774719, - 73.764437 - ], - [ - -124.868881, - 73.080553 - ], - [ - -124.47583, - 72.927202 - ], - [ - -125.026108, - 72.821093 - ], - [ - -125.997772, - 71.973604 - ], - [ - -124.948334, - 71.961107 - ], - [ - -125.253616, - 71.950258 - ], - [ - -122.781113, - 71.086107 - ], - [ - -120.543327, - 71.516665 - ], - [ - -120.251106, - 72.258608 - ], - [ - -119.311111, - 72.352205 - ], - [ - -119.137512, - 72.632479 - ], - [ - -115.315002, - 73.479708 - ], - [ - -117.422234, - 74.226931 - ], - [ - -119.167503, - 73.9872 - ], - [ - -119.148621, - 74.212206 - ], - [ - -119.744812, - 74.025515 - ], - [ - -119.609161, - 74.233324 - ], - [ - -120.149986, - 74.272493 - ] - ] - ], - [ - [ - [ - -116.351097, - 77.539156 - ], - [ - -119.153343, - 77.325823 - ], - [ - -120.401672, - 76.797213 - ], - [ - -121.212509, - 76.649721 - ], - [ - -121.533073, - 76.437197 - ], - [ - -122.598892, - 76.34833 - ], - [ - -123.037781, - 76.084719 - ], - [ - -120.999443, - 75.939699 - ], - [ - -120.857224, - 76.196642 - ], - [ - -120.454453, - 75.815813 - ], - [ - -119.870003, - 75.857485 - ], - [ - -119.48111, - 75.970827 - ], - [ - -119.804993, - 76.108873 - ], - [ - -119.654999, - 76.303041 - ], - [ - -119.075844, - 76.08333 - ], - [ - -118.567497, - 76.336657 - ], - [ - -118.968063, - 76.505266 - ], - [ - -117.842215, - 76.823885 - ], - [ - -118.059998, - 76.409151 - ], - [ - -117.095551, - 76.295259 - ], - [ - -117.053879, - 76.533052 - ], - [ - -115.896666, - 76.691652 - ], - [ - -116.36528, - 76.926378 - ], - [ - -115.731377, - 76.949709 - ], - [ - -116.280563, - 77.183596 - ], - [ - -115.390289, - 77.306368 - ], - [ - -116.351097, - 77.539156 - ] - ] - ], - [ - [ - [ - -115.920546, - 70.541368 - ], - [ - -115.808037, - 70.570543 - ], - [ - -116.061111, - 70.548326 - ], - [ - -115.920546, - 70.541368 - ] - ] - ], - [ - [ - [ - -116.287781, - 70.553316 - ], - [ - -116.495827, - 70.522768 - ], - [ - -116.127487, - 70.535814 - ], - [ - -116.287781, - 70.553316 - ] - ] - ], - [ - [ - [ - -116.563049, - 70.534426 - ], - [ - -116.509453, - 70.556093 - ], - [ - -116.774437, - 70.545259 - ], - [ - -116.563049, - 70.534426 - ] - ] - ], - [ - [ - [ - -116.805267, - 70.509432 - ], - [ - -116.719162, - 70.470263 - ], - [ - -116.568335, - 70.473879 - ], - [ - -116.805267, - 70.509432 - ] - ] - ], - [ - [ - [ - -116.87944, - 70.547487 - ], - [ - -117.199432, - 70.591661 - ], - [ - -117.301666, - 70.561922 - ], - [ - -116.87944, - 70.547487 - ] - ] - ], - [ - [ - [ - -118.316391, - 75.572496 - ], - [ - -117.463898, - 76.083055 - ], - [ - -119.408051, - 75.605822 - ], - [ - -118.316391, - 75.572496 - ] - ] - ], - [ - [ - [ - -121.093063, - 75.726091 - ], - [ - -120.877777, - 75.936098 - ], - [ - -121.28833, - 75.752779 - ], - [ - -121.093063, - 75.726091 - ] - ] - ], - [ - [ - [ - -120.883621, - 76.739702 - ], - [ - -121.184723, - 76.731096 - ], - [ - -120.970001, - 76.716661 - ], - [ - -120.883621, - 76.739702 - ] - ] - ], - [ - [ - [ - -122.340843, - 75.862764 - ], - [ - -122.353058, - 75.914431 - ], - [ - -122.695541, - 75.908037 - ], - [ - -122.340843, - 75.862764 - ] - ] - ], - [ - [ - [ - -122.819168, - 76.060534 - ], - [ - -122.892502, - 76.013613 - ], - [ - -122.630829, - 76.046648 - ], - [ - -122.819168, - 76.060534 - ] - ] - ], - [ - [ - [ - -127.226936, - 50.63611 - ], - [ - -128.416655, - 50.769159 - ], - [ - -128.051422, - 50.446695 - ], - [ - -127.411392, - 50.587496 - ], - [ - -127.446953, - 50.372766 - ], - [ - -127.923889, - 50.46277 - ], - [ - -127.895844, - 50.108889 - ], - [ - -127.15834, - 50.096384 - ], - [ - -127.241379, - 49.961939 - ], - [ - -127.121117, - 49.852289 - ], - [ - -126.804443, - 49.909159 - ], - [ - -126.679718, - 49.878878 - ], - [ - -126.585007, - 49.701105 - ], - [ - -126.087509, - 49.66221 - ], - [ - -126.542221, - 49.374437 - ], - [ - -125.904715, - 49.435823 - ], - [ - -125.483612, - 48.915827 - ], - [ - -124.80777, - 49.240549 - ], - [ - -125.113892, - 48.731104 - ], - [ - -123.289719, - 48.413324 - ], - [ - -123.850563, - 49.145548 - ], - [ - -123.699432, - 49.143885 - ], - [ - -124.789436, - 49.464159 - ], - [ - -125.449722, - 50.32361 - ], - [ - -127.226936, - 50.63611 - ] - ] - ], - [ - [ - [ - -123.37944, - 49.326944 - ], - [ - -123.31221, - 49.414995 - ], - [ - -123.420273, - 49.381662 - ], - [ - -123.37944, - 49.326944 - ] - ] - ], - [ - [ - [ - -123.322777, - 48.861109 - ], - [ - -123.702499, - 49.105555 - ], - [ - -123.540558, - 48.944994 - ], - [ - -123.322777, - 48.861109 - ] - ] - ], - [ - [ - [ - -123.332779, - 49.441103 - ], - [ - -123.355003, - 49.531939 - ], - [ - -123.436661, - 49.522219 - ], - [ - -123.459442, - 49.467211 - ], - [ - -123.332779, - 49.441103 - ] - ] - ], - [ - [ - [ - -123.474442, - 48.709162 - ], - [ - -123.37027, - 48.768328 - ], - [ - -123.596657, - 48.946939 - ], - [ - -123.474442, - 48.709162 - ] - ] - ], - [ - [ - [ - -124.129707, - 49.650827 - ], - [ - -124.016113, - 49.775553 - ], - [ - -124.199432, - 49.706102 - ], - [ - -124.129707, - 49.650827 - ] - ] - ], - [ - [ - [ - -124.307503, - 73.556368 - ], - [ - -124.113892, - 73.56415 - ], - [ - -124.358612, - 73.630266 - ], - [ - -124.307503, - 73.556368 - ] - ] - ], - [ - [ - [ - -124.446114, - 49.723322 - ], - [ - -124.656662, - 49.796946 - ], - [ - -124.122772, - 49.493608 - ], - [ - -124.446114, - 49.723322 - ] - ] - ], - [ - [ - [ - -124.179169, - 49.441103 - ], - [ - -124.24472, - 49.50139 - ], - [ - -124.381104, - 49.511942 - ], - [ - -124.179169, - 49.441103 - ] - ] - ], - [ - [ - [ - -124.430557, - 73.878588 - ], - [ - -124.420273, - 73.909151 - ], - [ - -124.55278, - 73.916933 - ], - [ - -124.430557, - 73.878588 - ] - ] - ], - [ - [ - [ - -124.679443, - 70.161654 - ], - [ - -124.50528, - 70.19832 - ], - [ - -124.761948, - 70.191927 - ], - [ - -124.679443, - 70.161654 - ] - ] - ], - [ - [ - [ - -124.584732, - 73.679155 - ], - [ - -124.564438, - 73.687197 - ], - [ - -124.733612, - 73.700548 - ], - [ - -124.584732, - 73.679155 - ] - ] - ], - [ - [ - [ - -124.730827, - 50.302217 - ], - [ - -124.794998, - 50.228876 - ], - [ - -124.695831, - 50.157495 - ], - [ - -124.659439, - 50.258333 - ], - [ - -124.730827, - 50.302217 - ] - ] - ], - [ - [ - [ - -124.689438, - 49.480272 - ], - [ - -124.83168, - 49.610552 - ], - [ - -124.823624, - 49.539438 - ], - [ - -124.689438, - 49.480272 - ] - ] - ], - [ - [ - [ - -124.8125, - 50.111383 - ], - [ - -124.756668, - 50.178331 - ], - [ - -124.918327, - 50.299723 - ], - [ - -124.8125, - 50.111383 - ] - ] - ], - [ - [ - [ - -124.924156, - 50.058603 - ], - [ - -124.983322, - 50.22555 - ], - [ - -125.066963, - 50.1075 - ], - [ - -124.924156, - 50.058603 - ] - ] - ], - [ - [ - [ - -125.056953, - 70.118319 - ], - [ - -124.955002, - 70.164156 - ], - [ - -125.123322, - 70.135469 - ], - [ - -125.056953, - 70.118319 - ] - ] - ], - [ - [ - [ - -125.165558, - 50.374437 - ], - [ - -125.400284, - 50.320833 - ], - [ - -125.213623, - 50.316668 - ], - [ - -125.156113, - 50.239161 - ], - [ - -125.140289, - 50.12166 - ], - [ - -125.165558, - 50.374437 - ] - ] - ], - [ - [ - [ - -125.16777, - 49.980822 - ], - [ - -125.167221, - 50.21361 - ], - [ - -125.25473, - 50.293612 - ], - [ - -125.339996, - 50.268885 - ], - [ - -125.16777, - 49.980822 - ] - ] - ], - [ - [ - [ - -125.426102, - 50.355555 - ], - [ - -125.331947, - 50.435549 - ], - [ - -125.528061, - 50.381662 - ], - [ - -125.426102, - 50.355555 - ] - ] - ], - [ - [ - [ - -125.543877, - 50.393885 - ], - [ - -125.523903, - 50.434435 - ], - [ - -125.763634, - 50.397493 - ], - [ - -125.543877, - 50.393885 - ] - ] - ], - [ - [ - [ - -125.80722, - 50.413607 - ], - [ - -125.738052, - 50.428049 - ], - [ - -125.951111, - 50.433878 - ], - [ - -125.80722, - 50.413607 - ] - ] - ], - [ - [ - [ - -125.816101, - 49.125826 - ], - [ - -125.799156, - 49.20833 - ], - [ - -125.93306, - 49.21805 - ], - [ - -125.816101, - 49.125826 - ] - ] - ], - [ - [ - [ - -126.131943, - 49.393328 - ], - [ - -126.239166, - 49.289721 - ], - [ - -126.064713, - 49.250834 - ], - [ - -126.131943, - 49.393328 - ] - ] - ], - [ - [ - [ - -126.22583, - 50.555269 - ], - [ - -126.286118, - 50.59833 - ], - [ - -126.623894, - 50.533884 - ], - [ - -126.22583, - 50.555269 - ] - ] - ], - [ - [ - [ - -126.273064, - 50.652773 - ], - [ - -126.266403, - 50.827776 - ], - [ - -126.617493, - 50.667772 - ], - [ - -126.273064, - 50.652773 - ] - ] - ], - [ - [ - [ - -126.4664, - 50.57583 - ], - [ - -126.361389, - 50.615831 - ], - [ - -126.554169, - 50.602777 - ], - [ - -126.4664, - 50.57583 - ] - ] - ], - [ - [ - [ - -126.64389, - 50.691935 - ], - [ - -126.536392, - 50.763613 - ], - [ - -126.685547, - 50.75889 - ], - [ - -126.64389, - 50.691935 - ] - ] - ], - [ - [ - [ - -126.731377, - 50.771936 - ], - [ - -126.563049, - 50.799997 - ], - [ - -126.905838, - 50.822771 - ], - [ - -126.731377, - 50.771936 - ] - ] - ], - [ - [ - [ - -126.676102, - 49.583605 - ], - [ - -126.613327, - 49.648333 - ], - [ - -126.678047, - 49.825274 - ], - [ - -126.777496, - 49.879717 - ], - [ - -126.940552, - 49.831385 - ], - [ - -126.676102, - 49.583605 - ] - ] - ], - [ - [ - [ - -126.873322, - 50.663324 - ], - [ - -127.14473, - 50.633883 - ], - [ - -126.831123, - 50.62916 - ], - [ - -126.873322, - 50.663324 - ] - ] - ], - [ - [ - [ - -127.724442, - 51.976938 - ], - [ - -127.234734, - 52.416941 - ], - [ - -127.789169, - 52.221933 - ], - [ - -127.724442, - 51.976938 - ] - ] - ], - [ - [ - [ - -127.654715, - 50.83777 - ], - [ - -127.726387, - 50.908602 - ], - [ - -127.838608, - 50.881662 - ], - [ - -127.654715, - 50.83777 - ] - ] - ], - [ - [ - [ - -127.962784, - 52.074717 - ], - [ - -127.881104, - 52.17222 - ], - [ - -128.120819, - 52.141939 - ], - [ - -127.962784, - 52.074717 - ] - ] - ], - [ - [ - [ - -127.914436, - 51.410822 - ], - [ - -128, - 51.720545 - ], - [ - -128.145569, - 51.653605 - ], - [ - -127.914436, - 51.410822 - ] - ] - ], - [ - [ - [ - -127.924713, - 52.174166 - ], - [ - -127.972778, - 52.295275 - ], - [ - -128.170013, - 52.24972 - ], - [ - -127.924713, - 52.174166 - ] - ] - ], - [ - [ - [ - -128.053894, - 51.753611 - ], - [ - -127.983322, - 52.061937 - ], - [ - -128.253082, - 51.872217 - ], - [ - -128.053894, - 51.753611 - ] - ] - ], - [ - [ - [ - -128.184448, - 52.278605 - ], - [ - -128.056671, - 52.328882 - ], - [ - -128.104431, - 52.421381 - ], - [ - -128.184448, - 52.278605 - ] - ] - ], - [ - [ - [ - -128.086121, - 70.605547 - ], - [ - -128.234161, - 70.656099 - ], - [ - -128.341675, - 70.542208 - ], - [ - -128.086121, - 70.605547 - ] - ] - ], - [ - [ - [ - -128.211945, - 52.015551 - ], - [ - -128.153076, - 52.195269 - ], - [ - -128.294159, - 52.113611 - ], - [ - -128.211945, - 52.015551 - ] - ] - ], - [ - [ - [ - -128.269745, - 52.596941 - ], - [ - -128.177795, - 52.826105 - ], - [ - -128.325012, - 52.776102 - ], - [ - -128.269745, - 52.596941 - ] - ] - ], - [ - [ - [ - -128.299988, - 52.133608 - ], - [ - -128.227203, - 52.218882 - ], - [ - -128.377197, - 52.223879 - ], - [ - -128.299988, - 52.133608 - ] - ] - ], - [ - [ - [ - -128.430298, - 52.368052 - ], - [ - -128.275024, - 52.489992 - ], - [ - -128.383331, - 52.797495 - ], - [ - -128.430298, - 52.368052 - ] - ] - ], - [ - [ - [ - -128.428345, - 52.137499 - ], - [ - -128.416412, - 52.226381 - ], - [ - -128.511139, - 52.169992 - ], - [ - -128.428345, - 52.137499 - ] - ] - ], - [ - [ - [ - -128.50528, - 52.641108 - ], - [ - -128.450836, - 52.805269 - ], - [ - -128.506134, - 52.873049 - ], - [ - -128.50528, - 52.641108 - ] - ] - ], - [ - [ - [ - -128.471924, - 52.492769 - ], - [ - -128.535278, - 52.647219 - ], - [ - -128.578186, - 52.593645 - ], - [ - -128.732483, - 52.590548 - ], - [ - -128.813904, - 52.524996 - ], - [ - -128.471924, - 52.492769 - ] - ] - ], - [ - [ - [ - -128.689453, - 53.164438 - ], - [ - -129.06665, - 53.300829 - ], - [ - -129.075287, - 53.103052 - ], - [ - -129.191376, - 53.01333 - ], - [ - -128.843597, - 53.044161 - ], - [ - -129.121918, - 52.863054 - ], - [ - -128.88446, - 52.64805 - ], - [ - -128.646973, - 52.963327 - ], - [ - -128.748871, - 52.597216 - ], - [ - -128.592224, - 52.613886 - ], - [ - -128.518341, - 52.911104 - ], - [ - -128.689453, - 53.164438 - ] - ] - ], - [ - [ - [ - -128.66861, - 52.26639 - ], - [ - -128.615814, - 52.453608 - ], - [ - -128.747223, - 52.471659 - ], - [ - -128.66861, - 52.26639 - ] - ] - ], - [ - [ - [ - -129.086395, - 53.4461 - ], - [ - -129.085541, - 53.504999 - ], - [ - -128.818878, - 53.709162 - ], - [ - -129.153076, - 53.638605 - ], - [ - -129.086395, - 53.4461 - ] - ] - ], - [ - [ - [ - -128.942505, - 53.317499 - ], - [ - -128.901123, - 53.38666 - ], - [ - -128.99942, - 53.539438 - ], - [ - -129.143341, - 53.349718 - ], - [ - -128.942505, - 53.317499 - ] - ] - ], - [ - [ - [ - -128.974426, - 52.453325 - ], - [ - -128.92334, - 52.606661 - ], - [ - -129.277222, - 52.823053 - ], - [ - -128.974426, - 52.453325 - ] - ] - ], - [ - [ - [ - -129.153076, - 53.09833 - ], - [ - -129.16861, - 53.296106 - ], - [ - -129.268066, - 53.331942 - ], - [ - -129.332489, - 53.137499 - ], - [ - -129.153076, - 53.09833 - ] - ] - ], - [ - [ - [ - -129.432495, - 53.151384 - ], - [ - -129.547241, - 53.133051 - ], - [ - -129.289459, - 52.971933 - ], - [ - -129.432495, - 53.151384 - ] - ] - ], - [ - [ - [ - -129.358337, - 53.304163 - ], - [ - -129.303345, - 53.33111 - ], - [ - -129.39502, - 53.410822 - ], - [ - -129.358337, - 53.304163 - ] - ] - ], - [ - [ - [ - -129.826111, - 53.724161 - ], - [ - -130.286407, - 53.837496 - ], - [ - -129.928207, - 53.639605 - ], - [ - -130.056395, - 53.603884 - ], - [ - -129.883911, - 53.579721 - ], - [ - -129.80722, - 53.384165 - ], - [ - -129.506683, - 53.216661 - ], - [ - -129.826111, - 53.724161 - ] - ] - ], - [ - [ - [ - -129.531677, - 53.010553 - ], - [ - -129.562775, - 53.053049 - ], - [ - -129.640015, - 53.044161 - ], - [ - -129.531677, - 53.010553 - ] - ] - ], - [ - [ - [ - -129.610535, - 52.954996 - ], - [ - -129.557495, - 53.006662 - ], - [ - -129.650848, - 53.018885 - ], - [ - -129.610535, - 52.954996 - ] - ] - ], - [ - [ - [ - -129.602478, - 53.057215 - ], - [ - -129.654449, - 53.132769 - ], - [ - -129.738312, - 53.127214 - ], - [ - -129.602478, - 53.057215 - ] - ] - ], - [ - [ - [ - -129.879425, - 53.392771 - ], - [ - -130.520294, - 53.624712 - ], - [ - -129.762238, - 53.158884 - ], - [ - -129.879425, - 53.392771 - ] - ] - ], - [ - [ - [ - -129.934723, - 53.484163 - ], - [ - -129.886688, - 53.542223 - ], - [ - -129.941956, - 53.551104 - ], - [ - -130.021118, - 53.505274 - ], - [ - -129.934723, - 53.484163 - ] - ] - ], - [ - [ - [ - -130.091095, - 53.569445 - ], - [ - -130.261688, - 53.796389 - ], - [ - -130.403351, - 53.682497 - ], - [ - -130.091095, - 53.569445 - ] - ] - ], - [ - [ - [ - -130.14975, - 53.989161 - ], - [ - -130.132477, - 54.049997 - ], - [ - -130.193604, - 54.079721 - ], - [ - -130.14975, - 53.989161 - ] - ] - ], - [ - [ - [ - -130.195557, - 54.118052 - ], - [ - -130.151947, - 54.154436 - ], - [ - -130.252808, - 54.185549 - ], - [ - -130.195557, - 54.118052 - ] - ] - ], - [ - [ - [ - -130.385284, - 54.769991 - ], - [ - -130.168335, - 55.019716 - ], - [ - -130.459991, - 54.828333 - ], - [ - -130.385284, - 54.769991 - ] - ] - ], - [ - [ - [ - -130.268341, - 54.714998 - ], - [ - -130.209442, - 54.807772 - ], - [ - -130.378876, - 54.695269 - ], - [ - -130.268341, - 54.714998 - ] - ] - ], - [ - [ - [ - -130.259186, - 54.004717 - ], - [ - -130.411133, - 54.100832 - ], - [ - -130.712769, - 53.861109 - ], - [ - -130.259186, - 54.004717 - ] - ] - ], - [ - [ - [ - -130.266418, - 54.260553 - ], - [ - -130.272797, - 54.329721 - ], - [ - -130.350281, - 54.305552 - ], - [ - -130.266418, - 54.260553 - ] - ] - ], - [ - [ - [ - -130.35556, - 54.257776 - ], - [ - -130.417786, - 54.326387 - ], - [ - -130.467224, - 54.308603 - ], - [ - -130.35556, - 54.257776 - ] - ] - ], - [ - [ - [ - -130.518341, - 54.702494 - ], - [ - -130.469452, - 54.807772 - ], - [ - -130.611664, - 54.758051 - ], - [ - -130.518341, - 54.702494 - ] - ] - ], - [ - [ - [ - -130.648621, - 54.114443 - ], - [ - -130.781677, - 54.211664 - ], - [ - -130.785004, - 54.149996 - ], - [ - -130.648621, - 54.114443 - ] - ] - ], - [ - [ - [ - -130.704163, - 54.356661 - ], - [ - -130.699432, - 54.406656 - ], - [ - -130.767792, - 54.384996 - ], - [ - -130.704163, - 54.356661 - ] - ] - ], - [ - [ - [ - -130.95166, - 54.454714 - ], - [ - -130.747772, - 54.626101 - ], - [ - -130.925568, - 54.61944 - ], - [ - -130.95166, - 54.454714 - ] - ] - ], - [ - [ - [ - -131.01889, - 51.9461 - ], - [ - -131.00946, - 52.102777 - ], - [ - -131.11026, - 52.151102 - ], - [ - -131.01889, - 51.9461 - ] - ] - ], - [ - [ - [ - -131.762238, - 53.196657 - ], - [ - -131.811127, - 53.253611 - ], - [ - -132.070831, - 53.153879 - ], - [ - -132.413635, - 53.127489 - ], - [ - -132.549164, - 53.151102 - ], - [ - -132.563629, - 53.139162 - ], - [ - -131.030304, - 52.173883 - ], - [ - -131.982483, - 52.879717 - ], - [ - -131.61554, - 52.920275 - ], - [ - -131.964722, - 53.046389 - ], - [ - -131.594727, - 53.035273 - ], - [ - -131.762238, - 53.196657 - ] - ] - ], - [ - [ - [ - -131.464447, - 52.627489 - ], - [ - -131.475281, - 52.736658 - ], - [ - -131.709717, - 52.705271 - ], - [ - -131.464447, - 52.627489 - ] - ] - ], - [ - [ - [ - -131.63974, - 52.828051 - ], - [ - -131.83139, - 52.841936 - ], - [ - -131.733063, - 52.808603 - ], - [ - -131.63974, - 52.828051 - ] - ] - ], - [ - [ - [ - -132.808044, - 54.120272 - ], - [ - -133.071655, - 54.168886 - ], - [ - -132.972504, - 53.555826 - ], - [ - -132.406677, - 53.339716 - ], - [ - -132.733887, - 53.337214 - ], - [ - -132.543335, - 53.330553 - ], - [ - -132.683624, - 53.256662 - ], - [ - -132.596649, - 53.247492 - ], - [ - -132.536682, - 53.178881 - ], - [ - -132.457489, - 53.145273 - ], - [ - -132.186951, - 53.160547 - ], - [ - -132.121918, - 53.189432 - ], - [ - -132.272797, - 53.210276 - ], - [ - -131.982208, - 53.251665 - ], - [ - -131.663055, - 54.152216 - ], - [ - -132.41806, - 53.606104 - ], - [ - -132.66333, - 53.679438 - ], - [ - -132.150299, - 53.992769 - ], - [ - -132.808044, - 54.120272 - ] - ] - ], - [ - [ - [ - -133.93222, - 69.560259 - ], - [ - -133.844727, - 69.600817 - ], - [ - -133.933624, - 69.616091 - ], - [ - -134.016663, - 69.576097 - ], - [ - -133.93222, - 69.560259 - ] - ] - ], - [ - [ - [ - -135.28891, - 69.30942 - ], - [ - -135.337769, - 69.388597 - ], - [ - -135.565552, - 69.390551 - ], - [ - -135.28891, - 69.30942 - ] - ] - ], - [ - [ - [ - -135.517242, - 69.569155 - ], - [ - -135.397797, - 69.646944 - ], - [ - -135.589447, - 69.596102 - ], - [ - -135.517242, - 69.569155 - ] - ] - ], - [ - [ - [ - -135.592224, - 69.48221 - ], - [ - -135.815552, - 69.502489 - ], - [ - -135.574432, - 69.446642 - ], - [ - -135.592224, - 69.48221 - ] - ] - ], - [ - [ - [ - -138.867218, - 69.58832 - ], - [ - -139.12027, - 69.649996 - ], - [ - -139.332489, - 69.566088 - ], - [ - -138.867218, - 69.58832 - ] - ] - ] - ] - }, - "name" : "Canada", - "iso2" : "CA", - "iso3" : "CAN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "W71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 103.775255, - 10.442499 - ], - [ - 103.798861, - 10.500002 - ], - [ - 103.755816, - 10.511667 - ], - [ - 103.748583, - 10.476389 - ], - [ - 103.775255, - 10.442499 - ] - ] - ], - [ - [ - [ - 103.31415, - 10.723055 - ], - [ - 103.193316, - 10.756388 - ], - [ - 103.269709, - 10.669722 - ], - [ - 103.31415, - 10.723055 - ] - ] - ], - [ - [ - [ - 107.489153, - 14.44861 - ], - [ - 107.546602, - 14.70862 - ], - [ - 106.853594, - 14.303053 - ], - [ - 106.540743, - 14.598726 - ], - [ - 106.004709, - 14.373053 - ], - [ - 106.056643, - 13.929998 - ], - [ - 105.210604, - 14.349649 - ], - [ - 103.180544, - 14.329721 - ], - [ - 102.377199, - 13.573889 - ], - [ - 102.916094, - 11.635851 - ], - [ - 103.129702, - 10.883055 - ], - [ - 103.555239, - 11.156942 - ], - [ - 103.623308, - 10.495554 - ], - [ - 103.926912, - 10.590277 - ], - [ - 104.247744, - 10.567499 - ], - [ - 104.44533, - 10.422739 - ], - [ - 105.101915, - 10.955553 - ], - [ - 106.20331, - 10.770555 - ], - [ - 105.851068, - 11.659998 - ], - [ - 106.458216, - 11.665865 - ], - [ - 106.420244, - 11.973608 - ], - [ - 107.547495, - 12.353609 - ], - [ - 107.489153, - 14.44861 - ] - ], - [ - [ - 103.032755, - 11.431944 - ], - [ - 103.009409, - 11.525 - ], - [ - 103.045519, - 11.469721 - ], - [ - 103.032755, - 11.431944 - ] - ], - [ - [ - 103.028032, - 11.246386 - ], - [ - 102.986361, - 11.42222 - ], - [ - 103.041925, - 11.375555 - ], - [ - 103.028032, - 11.246386 - ] - ] - ] - ] - }, - "name" : "Cambodia", - "iso2" : "KH", - "iso3" : "KHM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "XL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 81.714996, - 7.681388 - ], - [ - 81.712769, - 7.704999 - ], - [ - 81.70166, - 7.68111 - ], - [ - 81.708328, - 7.674166 - ], - [ - 81.714996, - 7.681388 - ] - ] - ], - [ - [ - [ - 81.806931, - 7.477777 - ], - [ - 81.804153, - 7.600554 - ], - [ - 81.723312, - 7.73861 - ], - [ - 81.806931, - 7.477777 - ] - ] - ], - [ - [ - [ - 79.912491, - 9.018055 - ], - [ - 79.693039, - 9.092497 - ], - [ - 79.85054, - 9.00111 - ], - [ - 79.912491, - 9.018055 - ] - ] - ], - [ - [ - [ - 79.716385, - 9.477221 - ], - [ - 79.657486, - 9.555832 - ], - [ - 79.658035, - 9.499165 - ], - [ - 79.716385, - 9.477221 - ] - ] - ], - [ - [ - [ - 79.974426, - 9.615274 - ], - [ - 79.854706, - 9.750832 - ], - [ - 79.871918, - 9.634443 - ], - [ - 79.974426, - 9.615274 - ] - ] - ], - [ - [ - [ - 80.274704, - 9.775 - ], - [ - 80.444138, - 9.571665 - ], - [ - 79.925812, - 9.74472 - ], - [ - 80.612198, - 9.443054 - ], - [ - 80.051926, - 9.594442 - ], - [ - 79.702484, - 8.079443 - ], - [ - 80.046097, - 6.239721 - ], - [ - 80.587204, - 5.917777 - ], - [ - 81.661102, - 6.439999 - ], - [ - 81.881653, - 7.288054 - ], - [ - 81.391937, - 8.149443 - ], - [ - 81.361374, - 8.487219 - ], - [ - 81.130539, - 8.5 - ], - [ - 81.231094, - 8.65111 - ], - [ - 80.914703, - 8.943054 - ], - [ - 80.824432, - 9.261944 - ], - [ - 80.274704, - 9.775 - ] - ] - ] - ] - }, - "name" : "Sri Lanka", - "iso2" : "LK", - "iso3" : "LKA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Xb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 13.293888, - 2.163611 - ], - [ - 13.186785, - 1.222476 - ], - [ - 14.188889, - 1.391389 - ], - [ - 14.487221, - 0.913611 - ], - [ - 13.848331, - -0.198611 - ], - [ - 14.51861, - -0.609167 - ], - [ - 14.429722, - -1.891667 - ], - [ - 14.110832, - -2.493056 - ], - [ - 13.76222, - -2.088889 - ], - [ - 13.482777, - -2.4375 - ], - [ - 13.001507, - -2.367672 - ], - [ - 12.65, - -1.8225 - ], - [ - 12.478054, - -2.327222 - ], - [ - 11.574165, - -2.333333 - ], - [ - 11.925833, - -3.636945 - ], - [ - 11.496944, - -3.506945 - ], - [ - 11.140661, - -3.925277 - ], - [ - 12.026131, - -5.014997 - ], - [ - 12.779047, - -4.388991 - ], - [ - 13.091389, - -4.633056 - ], - [ - 13.413887, - -4.882501 - ], - [ - 13.729443, - -4.445834 - ], - [ - 14.400833, - -4.2775 - ], - [ - 14.418888, - -4.887222 - ], - [ - 14.661388, - -4.909445 - ], - [ - 15.890505, - -3.943009 - ], - [ - 16.226944, - -3.328333 - ], - [ - 16.195831, - -2.175834 - ], - [ - 17.714996, - -0.537222 - ], - [ - 18.091942, - 2.224166 - ], - [ - 18.624958, - 3.479444 - ], - [ - 17.475277, - 3.713055 - ], - [ - 16.659721, - 3.533333 - ], - [ - 16.207222, - 2.220833 - ], - [ - 16.07222, - 1.654166 - ], - [ - 14.564999, - 2.169444 - ], - [ - 13.293888, - 2.163611 - ] - ] - ] - }, - "name" : "Congo", - "iso2" : "CG", - "iso3" : "COG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Xr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 23.986208, - -10.870461 - ], - [ - 24.448332, - -11.463612 - ], - [ - 25.332224, - -11.193335 - ], - [ - 25.359724, - -11.641668 - ], - [ - 26.004721, - -11.9025 - ], - [ - 26.868612, - -11.973612 - ], - [ - 27.199251, - -11.567905 - ], - [ - 27.660002, - -12.296667 - ], - [ - 28.441946, - -12.519724 - ], - [ - 29.015833, - -13.397779 - ], - [ - 29.589445, - -13.221945 - ], - [ - 29.80139, - -13.454168 - ], - [ - 29.805052, - -12.155247 - ], - [ - 29.493612, - -12.458057 - ], - [ - 29.031389, - -12.383057 - ], - [ - 28.363333, - -11.550835 - ], - [ - 28.69972, - -10.653334 - ], - [ - 28.372221, - -9.260834 - ], - [ - 28.901667, - -8.478613 - ], - [ - 30.771242, - -8.192247 - ], - [ - 29.55028, - -6.295279 - ], - [ - 29.423887, - -4.448055 - ], - [ - 29.229898, - -3.750963 - ], - [ - 29.024443, - -2.744722 - ], - [ - 28.868334, - -2.394444 - ], - [ - 29.596945, - -1.385834 - ], - [ - 29.960554, - 0.825556 - ], - [ - 31.302778, - 2.121389 - ], - [ - 30.729723, - 2.448057 - ], - [ - 30.85882, - 3.493395 - ], - [ - 29.643332, - 4.643614 - ], - [ - 28.363054, - 4.290003 - ], - [ - 27.455278, - 5.01639 - ], - [ - 25.891668, - 5.192499 - ], - [ - 25.542223, - 5.381392 - ], - [ - 24.734446, - 4.910833 - ], - [ - 24.394167, - 5.115557 - ], - [ - 23.420279, - 4.591112 - ], - [ - 22.895834, - 4.821112 - ], - [ - 22.379168, - 4.127501 - ], - [ - 20.585554, - 4.410002 - ], - [ - 19.421389, - 5.134169 - ], - [ - 18.541945, - 4.335554 - ], - [ - 18.62496, - 3.479445 - ], - [ - 18.091944, - 2.224169 - ], - [ - 17.714998, - -0.537222 - ], - [ - 16.195833, - -2.175833 - ], - [ - 16.226946, - -3.328333 - ], - [ - 15.890505, - -3.943008 - ], - [ - 14.66139, - -4.909445 - ], - [ - 14.41889, - -4.887222 - ], - [ - 14.400835, - -4.2775 - ], - [ - 13.729445, - -4.445833 - ], - [ - 13.413889, - -4.8825 - ], - [ - 13.091391, - -4.633055 - ], - [ - 13.088888, - -4.6625 - ], - [ - 12.565554, - -5.025555 - ], - [ - 12.526667, - -5.724167 - ], - [ - 12.214552, - -5.768555 - ], - [ - 12.435835, - -6.016666 - ], - [ - 13.178881, - -5.856329 - ], - [ - 13.997499, - -5.848612 - ], - [ - 16.579721, - -5.900833 - ], - [ - 16.941668, - -7.19861 - ], - [ - 17.624166, - -8.098057 - ], - [ - 19.373056, - -7.996111 - ], - [ - 19.53895, - -6.996614 - ], - [ - 20.629747, - -6.913881 - ], - [ - 20.548716, - -7.283615 - ], - [ - 21.782961, - -7.280842 - ], - [ - 21.790556, - -9.405556 - ], - [ - 22.312223, - -10.364445 - ], - [ - 22.253889, - -11.209723 - ], - [ - 23.986208, - -10.870461 - ] - ], - [ - [ - 12.953054, - -5.876112 - ], - [ - 12.737223, - -5.943611 - ], - [ - 12.844168, - -5.850555 - ], - [ - 12.953054, - -5.876112 - ] - ] - ] - }, - "name" : "Democratic Republic of the Congo", - "iso2" : "CD", - "iso3" : "COD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "X71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 29.024441, - -2.744722 - ], - [ - 29.229897, - -3.750964 - ], - [ - 29.423885, - -4.448056 - ], - [ - 30.026108, - -4.269444 - ], - [ - 30.834999, - -3.256945 - ], - [ - 30.843662, - -2.978794 - ], - [ - 30.4175, - -2.861945 - ], - [ - 30.57333, - -2.399167 - ], - [ - 29.952221, - -2.309445 - ], - [ - 29.85083, - -2.759722 - ], - [ - 29.024441, - -2.744722 - ] - ] - ] - }, - "name" : "Burundi", - "iso2" : "BI", - "iso3" : "BDI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "YL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 110.720545, - 20.063334 - ], - [ - 109.259432, - 19.901663 - ], - [ - 108.628313, - 19.280279 - ], - [ - 108.685534, - 18.505278 - ], - [ - 109.566675, - 18.168886 - ], - [ - 110.047762, - 18.380552 - ], - [ - 111.031099, - 19.639997 - ], - [ - 110.720545, - 20.063334 - ] - ], - [ - [ - 110.524149, - 19.134443 - ], - [ - 110.515001, - 19.132776 - ], - [ - 110.510271, - 19.139166 - ], - [ - 110.524149, - 19.134443 - ] - ] - ], - [ - [ - [ - 116.718874, - 20.70944 - ], - [ - 116.701929, - 20.719995 - ], - [ - 116.705263, - 20.711386 - ], - [ - 116.718874, - 20.70944 - ] - ] - ], - [ - [ - [ - 110.597216, - 20.879442 - ], - [ - 110.596651, - 20.95833 - ], - [ - 110.548029, - 20.913885 - ], - [ - 110.597216, - 20.879442 - ] - ] - ], - [ - [ - [ - 109.12192, - 21.055277 - ], - [ - 109.071932, - 21.050276 - ], - [ - 109.072771, - 21.010279 - ], - [ - 109.12192, - 21.055277 - ] - ] - ], - [ - [ - [ - 110.548868, - 21.059164 - ], - [ - 110.248873, - 20.977221 - ], - [ - 110.498034, - 20.955832 - ], - [ - 110.548868, - 21.059164 - ] - ] - ], - [ - [ - [ - 110.499422, - 21.193331 - ], - [ - 110.536654, - 21.096945 - ], - [ - 110.614153, - 21.193331 - ], - [ - 110.499422, - 21.193331 - ] - ] - ], - [ - [ - [ - 111.836115, - 21.565275 - ], - [ - 112.002489, - 21.651941 - ], - [ - 111.840555, - 21.643053 - ], - [ - 111.836115, - 21.565275 - ] - ] - ], - [ - [ - [ - 112.533869, - 21.590834 - ], - [ - 112.646944, - 21.638609 - ], - [ - 112.648043, - 21.702776 - ], - [ - 112.533869, - 21.590834 - ] - ] - ], - [ - [ - [ - 112.805819, - 21.65333 - ], - [ - 112.868876, - 21.76639 - ], - [ - 112.703325, - 21.687777 - ], - [ - 112.805819, - 21.65333 - ] - ] - ], - [ - [ - [ - 113.383333, - 22.00889 - ], - [ - 113.378038, - 22.084723 - ], - [ - 113.307482, - 22.01972 - ], - [ - 113.383333, - 22.00889 - ] - ] - ], - [ - [ - [ - 113.296656, - 22.063887 - ], - [ - 113.360262, - 22.153608 - ], - [ - 113.267763, - 22.113611 - ], - [ - 113.296656, - 22.063887 - ] - ] - ], - [ - [ - [ - 113.594995, - 22.65222 - ], - [ - 113.543589, - 22.736383 - ], - [ - 113.486101, - 22.720274 - ], - [ - 113.594995, - 22.65222 - ] - ] - ], - [ - [ - [ - 113.588045, - 22.750555 - ], - [ - 113.483873, - 22.900831 - ], - [ - 113.387209, - 22.897497 - ], - [ - 113.588045, - 22.750555 - ] - ] - ], - [ - [ - [ - 117.118044, - 23.399164 - ], - [ - 117.09804, - 23.490553 - ], - [ - 116.944704, - 23.438887 - ], - [ - 117.118044, - 23.399164 - ] - ] - ], - [ - [ - [ - 117.404711, - 23.771112 - ], - [ - 117.311655, - 23.579721 - ], - [ - 117.507494, - 23.726385 - ], - [ - 117.404711, - 23.771112 - ] - ] - ], - [ - [ - [ - 118.126925, - 24.425829 - ], - [ - 118.188875, - 24.493887 - ], - [ - 118.091089, - 24.549723 - ], - [ - 118.062189, - 24.45722 - ], - [ - 118.126925, - 24.425829 - ] - ] - ], - [ - [ - [ - 119.301653, - 25.419443 - ], - [ - 119.333879, - 25.570276 - ], - [ - 119.277483, - 25.503054 - ], - [ - 119.301653, - 25.419443 - ] - ] - ], - [ - [ - [ - 119.826662, - 25.582777 - ], - [ - 119.72304, - 25.638887 - ], - [ - 119.696375, - 25.428053 - ], - [ - 119.826662, - 25.582777 - ] - ] - ], - [ - [ - [ - 119.277773, - 26.035276 - ], - [ - 119.408335, - 25.983606 - ], - [ - 119.211329, - 26.071932 - ], - [ - 119.277773, - 26.035276 - ] - ] - ], - [ - [ - [ - 121.170824, - 28.046946 - ], - [ - 121.24193, - 28.200552 - ], - [ - 121.119143, - 28.133886 - ], - [ - 121.170824, - 28.046946 - ] - ] - ], - [ - [ - [ - 121.941095, - 29.052778 - ], - [ - 121.941362, - 29.164999 - ], - [ - 121.873598, - 29.149164 - ], - [ - 121.941095, - 29.052778 - ] - ] - ], - [ - [ - [ - 122.111925, - 29.787779 - ], - [ - 122.030825, - 29.716108 - ], - [ - 122.166094, - 29.652498 - ], - [ - 122.111925, - 29.787779 - ] - ] - ], - [ - [ - [ - 122.411379, - 29.933054 - ], - [ - 122.318605, - 29.941664 - ], - [ - 122.390825, - 29.829443 - ], - [ - 122.411379, - 29.933054 - ] - ] - ], - [ - [ - [ - 121.865808, - 29.969995 - ], - [ - 121.906649, - 30.032221 - ], - [ - 121.861101, - 30.081667 - ], - [ - 121.865808, - 29.969995 - ] - ] - ], - [ - [ - [ - 122.325274, - 30.01861 - ], - [ - 121.961649, - 30.139166 - ], - [ - 122.008043, - 30.004446 - ], - [ - 122.325274, - 30.01861 - ] - ] - ], - [ - [ - [ - 122.211115, - 30.241106 - ], - [ - 122.212198, - 30.339167 - ], - [ - 122.074709, - 30.287222 - ], - [ - 122.211115, - 30.241106 - ] - ] - ], - [ - [ - [ - 122.420259, - 30.41361 - ], - [ - 122.272776, - 30.474997 - ], - [ - 122.275545, - 30.432219 - ], - [ - 122.420259, - 30.41361 - ] - ] - ], - [ - [ - [ - 121.844995, - 31.288054 - ], - [ - 121.878862, - 31.356665 - ], - [ - 121.791933, - 31.369997 - ], - [ - 121.844995, - 31.288054 - ] - ] - ], - [ - [ - [ - 121.487764, - 31.717775 - ], - [ - 121.203859, - 31.800539 - ], - [ - 121.868319, - 31.489164 - ], - [ - 121.487764, - 31.717775 - ] - ] - ], - [ - [ - [ - 119.899431, - 32.071108 - ], - [ - 119.823885, - 32.268053 - ], - [ - 119.716089, - 32.271936 - ], - [ - 119.899431, - 32.071108 - ] - ] - ], - [ - [ - [ - 121.436098, - 39.391665 - ], - [ - 121.393053, - 39.479158 - ], - [ - 121.255831, - 39.409433 - ], - [ - 121.436098, - 39.391665 - ] - ] - ], - [ - [ - [ - 130.604372, - 42.421862 - ], - [ - 130.405245, - 42.71805 - ], - [ - 131.123293, - 42.910822 - ], - [ - 131.311373, - 43.392221 - ], - [ - 130.949984, - 44.841105 - ], - [ - 131.864687, - 45.345545 - ], - [ - 133.122194, - 45.128603 - ], - [ - 133.900179, - 46.250315 - ], - [ - 134.182467, - 47.323328 - ], - [ - 134.767214, - 47.707499 - ], - [ - 134.740755, - 48.26713 - ], - [ - 133.088564, - 48.101664 - ], - [ - 132.52109, - 47.710276 - ], - [ - 130.988558, - 47.688601 - ], - [ - 130.521639, - 48.607775 - ], - [ - 130.671633, - 48.865 - ], - [ - 127.529428, - 49.789164 - ], - [ - 127.586069, - 50.208567 - ], - [ - 126.095545, - 52.764444 - ], - [ - 123.382204, - 53.526659 - ], - [ - 120.863878, - 53.279718 - ], - [ - 120.029161, - 52.768053 - ], - [ - 120.71361, - 52.544718 - ], - [ - 120.776659, - 52.115 - ], - [ - 119.138605, - 50.394716 - ], - [ - 119.361368, - 50.336939 - ], - [ - 119.214159, - 50.015276 - ], - [ - 117.874712, - 49.520578 - ], - [ - 116.711382, - 49.830469 - ], - [ - 115.592196, - 47.919443 - ], - [ - 117.372194, - 47.653597 - ], - [ - 117.801088, - 48.010553 - ], - [ - 118.539339, - 47.994753 - ], - [ - 119.729982, - 47.164156 - ], - [ - 119.897493, - 46.675554 - ], - [ - 117.421099, - 46.578333 - ], - [ - 116.585543, - 46.295832 - ], - [ - 115.701929, - 45.458605 - ], - [ - 114.545259, - 45.389437 - ], - [ - 113.638048, - 44.745272 - ], - [ - 111.980822, - 45.091661 - ], - [ - 111.421373, - 44.382494 - ], - [ - 111.95833, - 43.692217 - ], - [ - 110.440538, - 42.777773 - ], - [ - 109.313601, - 42.429995 - ], - [ - 107.471918, - 42.466105 - ], - [ - 105.012209, - 41.581385 - ], - [ - 100.835543, - 42.678049 - ], - [ - 96.383043, - 42.731104 - ], - [ - 95.336107, - 44.02083 - ], - [ - 95.416658, - 44.293886 - ], - [ - 93.554705, - 44.957216 - ], - [ - 90.896944, - 45.253054 - ], - [ - 90.681932, - 45.579721 - ], - [ - 91.02025, - 46.600111 - ], - [ - 90.074434, - 47.886385 - ], - [ - 88.653322, - 48.182772 - ], - [ - 87.973314, - 48.576944 - ], - [ - 87.8407, - 49.172953 - ], - [ - 87.348207, - 49.092623 - ], - [ - 86.874697, - 49.110826 - ], - [ - 86.596102, - 48.536112 - ], - [ - 85.759157, - 48.387774 - ], - [ - 85.529314, - 47.060167 - ], - [ - 84.759432, - 46.826387 - ], - [ - 83.040545, - 47.212214 - ], - [ - 82.317766, - 45.570536 - ], - [ - 82.649431, - 45.430262 - ], - [ - 82.561647, - 45.129419 - ], - [ - 81.688311, - 45.350817 - ], - [ - 79.871096, - 44.904978 - ], - [ - 80.52083, - 44.732477 - ], - [ - 80.362764, - 44.125246 - ], - [ - 80.817217, - 43.156069 - ], - [ - 80.37665, - 43.02524 - ], - [ - 80.5786, - 42.891077 - ], - [ - 80.171923, - 42.660509 - ], - [ - 80.234026, - 42.196222 - ], - [ - 78.080828, - 41.040789 - ], - [ - 76.873873, - 41.014109 - ], - [ - 76.345827, - 40.350222 - ], - [ - 75.697206, - 40.299112 - ], - [ - 75.578051, - 40.647997 - ], - [ - 74.860262, - 40.519388 - ], - [ - 73.994432, - 40.046045 - ], - [ - 73.655687, - 39.454828 - ], - [ - 73.817766, - 38.607714 - ], - [ - 74.856646, - 38.470484 - ], - [ - 74.902773, - 37.647158 - ], - [ - 75.187487, - 37.406588 - ], - [ - 74.915743, - 37.237329 - ], - [ - 74.392214, - 37.175074 - ], - [ - 74.565432, - 37.027819 - ], - [ - 74.817492, - 37.021769 - ], - [ - 75.864428, - 36.659678 - ], - [ - 76.166384, - 35.819719 - ], - [ - 77.823931, - 35.501329 - ], - [ - 78.075548, - 35.445826 - ], - [ - 78.309145, - 34.642496 - ], - [ - 78.985353, - 34.350016 - ], - [ - 78.811647, - 33.525827 - ], - [ - 79.530275, - 32.754168 - ], - [ - 78.971102, - 32.350832 - ], - [ - 78.760546, - 32.635553 - ], - [ - 78.397768, - 32.548609 - ], - [ - 78.767214, - 31.309999 - ], - [ - 79.092485, - 31.437498 - ], - [ - 81.025362, - 30.204355 - ], - [ - 81.223604, - 30.010279 - ], - [ - 81.421099, - 30.385275 - ], - [ - 82.100542, - 30.342222 - ], - [ - 83.552767, - 29.185831 - ], - [ - 84.119143, - 29.26 - ], - [ - 84.481096, - 28.736662 - ], - [ - 85.189974, - 28.603331 - ], - [ - 85.106646, - 28.309443 - ], - [ - 85.721376, - 28.279165 - ], - [ - 86.014437, - 27.882776 - ], - [ - 86.183596, - 28.163885 - ], - [ - 86.444979, - 27.908052 - ], - [ - 86.686373, - 28.112219 - ], - [ - 87.192751, - 27.823053 - ], - [ - 88.142794, - 27.866056 - ], - [ - 88.831667, - 28.013334 - ], - [ - 88.917727, - 27.320326 - ], - [ - 89.590273, - 28.143332 - ], - [ - 90.017488, - 28.325277 - ], - [ - 90.466387, - 28.071665 - ], - [ - 91.301378, - 28.08111 - ], - [ - 91.657763, - 27.764723 - ], - [ - 92.544985, - 27.86194 - ], - [ - 94.647509, - 29.33346 - ], - [ - 95.387774, - 29.035276 - ], - [ - 96.077486, - 29.468607 - ], - [ - 96.395266, - 29.255278 - ], - [ - 96.169146, - 28.903608 - ], - [ - 96.470827, - 29.056665 - ], - [ - 96.615816, - 28.790277 - ], - [ - 96.401934, - 28.35111 - ], - [ - 97.348879, - 28.222773 - ], - [ - 97.555254, - 28.548056 - ], - [ - 97.806643, - 28.344164 - ], - [ - 98.316378, - 27.541945 - ], - [ - 98.699709, - 27.539167 - ], - [ - 98.778322, - 26.636385 - ], - [ - 98.710817, - 25.855555 - ], - [ - 97.552477, - 24.743052 - ], - [ - 97.759996, - 24.257498 - ], - [ - 97.53554, - 23.939718 - ], - [ - 98.890734, - 24.16007 - ], - [ - 98.677202, - 23.968054 - ], - [ - 98.927477, - 23.189165 - ], - [ - 99.566378, - 22.938051 - ], - [ - 99.162767, - 22.159163 - ], - [ - 99.964434, - 22.048887 - ], - [ - 100.212755, - 21.432554 - ], - [ - 101.105265, - 21.771387 - ], - [ - 101.148241, - 21.572638 - ], - [ - 101.281939, - 21.180277 - ], - [ - 101.787203, - 21.144163 - ], - [ - 101.574434, - 22.209162 - ], - [ - 101.738039, - 22.496943 - ], - [ - 102.140749, - 22.396288 - ], - [ - 102.479715, - 22.77389 - ], - [ - 103.03055, - 22.435553 - ], - [ - 103.336382, - 22.796389 - ], - [ - 103.964434, - 22.499113 - ], - [ - 105.353868, - 23.334723 - ], - [ - 105.577478, - 23.059164 - ], - [ - 106.707209, - 22.865 - ], - [ - 106.693316, - 22.030832 - ], - [ - 107.990023, - 21.542414 - ], - [ - 108.511385, - 21.589167 - ], - [ - 108.475809, - 21.940275 - ], - [ - 109.142763, - 21.396666 - ], - [ - 109.57332, - 21.72333 - ], - [ - 109.941095, - 21.446943 - ], - [ - 109.661928, - 20.918886 - ], - [ - 109.924425, - 20.233606 - ], - [ - 110.278872, - 20.246107 - ], - [ - 110.529161, - 20.47333 - ], - [ - 110.158045, - 20.845552 - ], - [ - 110.398249, - 21.380671 - ], - [ - 111.637209, - 21.521112 - ], - [ - 111.892488, - 21.920275 - ], - [ - 112.93915, - 21.868608 - ], - [ - 113.086382, - 22.206942 - ], - [ - 113.224154, - 22.0375 - ], - [ - 113.29915, - 22.175554 - ], - [ - 113.388048, - 22.176664 - ], - [ - 113.16527, - 22.571386 - ], - [ - 113.531664, - 22.194738 - ], - [ - 113.55443, - 22.212732 - ], - [ - 113.565813, - 22.550276 - ], - [ - 113.359156, - 22.883333 - ], - [ - 113.47748, - 23.052778 - ], - [ - 113.829714, - 23.11722 - ], - [ - 113.524431, - 23.01111 - ], - [ - 114.033331, - 22.509138 - ], - [ - 114.222597, - 22.55055 - ], - [ - 116.480822, - 22.938051 - ], - [ - 116.787493, - 23.233885 - ], - [ - 116.521379, - 23.420832 - ], - [ - 118.123308, - 24.256109 - ], - [ - 117.792025, - 24.461321 - ], - [ - 118.018053, - 24.436384 - ], - [ - 118.16054, - 24.688608 - ], - [ - 118.239702, - 24.536386 - ], - [ - 118.622759, - 24.54389 - ], - [ - 118.573885, - 24.884165 - ], - [ - 119.0161, - 24.954165 - ], - [ - 118.87192, - 25.243887 - ], - [ - 119.353045, - 25.250277 - ], - [ - 119.102205, - 25.408052 - ], - [ - 119.30887, - 25.606943 - ], - [ - 119.652208, - 25.357222 - ], - [ - 119.451105, - 25.680277 - ], - [ - 119.705553, - 25.993608 - ], - [ - 119.344995, - 25.93833 - ], - [ - 119.09276, - 26.142496 - ], - [ - 119.425264, - 25.996943 - ], - [ - 119.939425, - 26.354166 - ], - [ - 119.658045, - 26.33861 - ], - [ - 119.54915, - 26.753611 - ], - [ - 120.127199, - 26.641665 - ], - [ - 120.033869, - 26.899721 - ], - [ - 120.422213, - 27.145277 - ], - [ - 120.19359, - 27.290277 - ], - [ - 120.47748, - 27.177496 - ], - [ - 120.84305, - 27.876944 - ], - [ - 120.590822, - 28.079443 - ], - [ - 121.5786, - 28.269167 - ], - [ - 121.138605, - 28.840555 - ], - [ - 121.610262, - 28.724997 - ], - [ - 121.411928, - 29.163332 - ], - [ - 121.933596, - 29.195276 - ], - [ - 121.979715, - 29.585276 - ], - [ - 121.44832, - 29.511667 - ], - [ - 122.12665, - 29.888887 - ], - [ - 121.677759, - 29.963053 - ], - [ - 121.284418, - 30.304445 - ], - [ - 120.146105, - 30.194719 - ], - [ - 121.884722, - 30.974997 - ], - [ - 120.714434, - 31.983606 - ], - [ - 120.129152, - 31.905554 - ], - [ - 119.629702, - 32.260828 - ], - [ - 119.826662, - 32.306383 - ], - [ - 120.106089, - 31.943888 - ], - [ - 120.601931, - 32.093607 - ], - [ - 121.89554, - 31.746943 - ], - [ - 120.835825, - 32.640833 - ], - [ - 120.253885, - 34.309992 - ], - [ - 119.176088, - 34.884996 - ], - [ - 120.237764, - 35.959436 - ], - [ - 120.088854, - 36.199984 - ], - [ - 120.680819, - 36.127481 - ], - [ - 120.783335, - 36.621935 - ], - [ - 121.949144, - 37.000002 - ], - [ - 122.504709, - 36.89361 - ], - [ - 122.562189, - 37.396387 - ], - [ - 121.570543, - 37.424715 - ], - [ - 120.740541, - 37.835268 - ], - [ - 119.767214, - 37.151384 - ], - [ - 119.232759, - 37.14361 - ], - [ - 118.956652, - 37.300547 - ], - [ - 118.841928, - 38.150545 - ], - [ - 117.672213, - 38.38666 - ], - [ - 117.743876, - 39.104998 - ], - [ - 118.924425, - 39.128046 - ], - [ - 119.519709, - 39.868052 - ], - [ - 120.455263, - 40.200548 - ], - [ - 121.177469, - 40.921938 - ], - [ - 122.299715, - 40.511667 - ], - [ - 121.228868, - 39.538332 - ], - [ - 121.751101, - 39.351664 - ], - [ - 121.146944, - 38.722765 - ], - [ - 124.373598, - 40.093622 - ], - [ - 126.016939, - 40.899996 - ], - [ - 126.913042, - 41.796106 - ], - [ - 128.155825, - 41.382494 - ], - [ - 128.05887, - 42.003328 - ], - [ - 128.925814, - 42.024439 - ], - [ - 129.711916, - 42.444155 - ], - [ - 129.907534, - 43.005823 - ], - [ - 130.604372, - 42.421862 - ] - ], - [ - [ - 108.329714, - 21.654165 - ], - [ - 108.320833, - 21.665831 - ], - [ - 108.328875, - 21.67861 - ], - [ - 108.329714, - 21.654165 - ] - ] - ] - ] - }, - "name" : "China", - "iso2" : "CN", - "iso3" : "CHN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Yb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 74.915741, - 37.237328 - ], - [ - 73.307205, - 37.462753 - ], - [ - 71.6772, - 36.67601 - ], - [ - 71.429428, - 37.075829 - ], - [ - 71.591934, - 37.902618 - ], - [ - 71.252777, - 37.922035 - ], - [ - 71.363037, - 38.248497 - ], - [ - 70.967209, - 38.472115 - ], - [ - 70.161377, - 37.933372 - ], - [ - 70.155823, - 37.536232 - ], - [ - 69.515823, - 37.580826 - ], - [ - 69.315262, - 37.115273 - ], - [ - 68.887772, - 37.3386 - ], - [ - 68.058014, - 36.932526 - ], - [ - 67.779877, - 37.185822 - ], - [ - 66.537735, - 37.366379 - ], - [ - 65.708878, - 37.538605 - ], - [ - 64.798035, - 37.124992 - ], - [ - 64.503601, - 36.280548 - ], - [ - 63.119438, - 35.861938 - ], - [ - 63.10527, - 35.450829 - ], - [ - 62.722214, - 35.254715 - ], - [ - 62.309158, - 35.141663 - ], - [ - 61.276558, - 35.607246 - ], - [ - 60.721657, - 34.522217 - ], - [ - 60.878876, - 34.319717 - ], - [ - 60.508331, - 34.140274 - ], - [ - 60.527771, - 33.644157 - ], - [ - 60.943047, - 33.51944 - ], - [ - 60.582497, - 33.066101 - ], - [ - 60.84388, - 31.498329 - ], - [ - 61.713608, - 31.383331 - ], - [ - 61.851105, - 31.021111 - ], - [ - 60.868599, - 29.863884 - ], - [ - 62.484436, - 29.406105 - ], - [ - 66.256653, - 29.85194 - ], - [ - 66.395538, - 30.94083 - ], - [ - 66.723038, - 31.212215 - ], - [ - 67.778046, - 31.332218 - ], - [ - 67.575546, - 31.53194 - ], - [ - 68.166092, - 31.833054 - ], - [ - 68.833054, - 31.603886 - ], - [ - 69.328247, - 31.940365 - ], - [ - 69.505264, - 33.034164 - ], - [ - 70.326935, - 33.33194 - ], - [ - 69.906372, - 34.035271 - ], - [ - 71.08194, - 34.055824 - ], - [ - 70.987488, - 34.551102 - ], - [ - 71.649429, - 35.424995 - ], - [ - 71.243576, - 36.129715 - ], - [ - 72.556641, - 36.821266 - ], - [ - 74.56543, - 37.027817 - ], - [ - 74.392212, - 37.175072 - ], - [ - 74.915741, - 37.237328 - ] - ] - ] - }, - "name" : "Afghanistan", - "iso2" : "AF", - "iso3" : "AFG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Yr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 90.466385, - 28.071663 - ], - [ - 90.017487, - 28.325275 - ], - [ - 89.590271, - 28.14333 - ], - [ - 88.917725, - 27.320324 - ], - [ - 88.893875, - 26.975552 - ], - [ - 89.643051, - 26.715271 - ], - [ - 92.069992, - 26.861942 - ], - [ - 92.113602, - 27.297497 - ], - [ - 91.657761, - 27.764721 - ], - [ - 91.301376, - 28.081108 - ], - [ - 90.466385, - 28.071663 - ] - ] - ] - }, - "name" : "Bhutan", - "iso2" : "BT", - "iso3" : "BTN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Y71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -66.571396, - -55.284729 - ], - [ - -66.420563, - -55.194725 - ], - [ - -66.626114, - -55.199722 - ], - [ - -66.571396, - -55.284729 - ] - ] - ], - [ - [ - [ - -66.816681, - -55.118614 - ], - [ - -66.862228, - -55.02639 - ], - [ - -67.072235, - -55.002785 - ], - [ - -66.816681, - -55.118614 - ] - ] - ], - [ - [ - [ - -66.874725, - -55.33223 - ], - [ - -66.878616, - -55.228889 - ], - [ - -67.073624, - -55.276115 - ], - [ - -66.874725, - -55.33223 - ] - ] - ], - [ - [ - [ - -69.483612, - -17.635559 - ], - [ - -69.499725, - -17.50528 - ], - [ - -69.951126, - -18.242779 - ], - [ - -70.405487, - -18.348545 - ], - [ - -70.053345, - -21.425652 - ], - [ - -70.622513, - -23.492779 - ], - [ - -70.391113, - -23.561947 - ], - [ - -70.449173, - -25.364723 - ], - [ - -70.910843, - -27.621948 - ], - [ - -71.521666, - -28.970001 - ], - [ - -71.287796, - -29.896946 - ], - [ - -71.703339, - -30.761669 - ], - [ - -71.442505, - -32.640007 - ], - [ - -73.190002, - -37.138062 - ], - [ - -73.643341, - -37.208618 - ], - [ - -73.222504, - -39.414726 - ], - [ - -73.99501, - -40.970001 - ], - [ - -73.868895, - -41.482506 - ], - [ - -73.491959, - -41.520836 - ], - [ - -73.75029, - -41.754723 - ], - [ - -73.203613, - -41.792503 - ], - [ - -72.946671, - -41.483337 - ], - [ - -72.571396, - -41.707779 - ], - [ - -72.310013, - -41.435837 - ], - [ - -72.350571, - -41.652504 - ], - [ - -72.859451, - -41.906952 - ], - [ - -72.462784, - -41.971115 - ], - [ - -72.421402, - -42.453056 - ], - [ - -72.847504, - -42.280006 - ], - [ - -72.535004, - -42.559174 - ], - [ - -72.86084, - -42.574448 - ], - [ - -72.745285, - -43.04834 - ], - [ - -73.116394, - -43.439728 - ], - [ - -72.84584, - -43.776672 - ], - [ - -73.289459, - -44.143616 - ], - [ - -72.613892, - -44.472778 - ], - [ - -72.766113, - -44.753334 - ], - [ - -73.142502, - -44.94445 - ], - [ - -73.391678, - -44.98056 - ], - [ - -73.446945, - -45.285278 - ], - [ - -72.827225, - -45.422501 - ], - [ - -73.515564, - -45.455002 - ], - [ - -73.587233, - -45.779724 - ], - [ - -73.182236, - -45.667503 - ], - [ - -73.663345, - -45.973335 - ], - [ - -73.690842, - -46.319168 - ], - [ - -73.425568, - -46.074448 - ], - [ - -73.841124, - -46.58889 - ], - [ - -73.99501, - -46.561394 - ], - [ - -73.768066, - -46.30278 - ], - [ - -73.882782, - -46.141113 - ], - [ - -73.853897, - -46.347229 - ], - [ - -74.049728, - -46.195557 - ], - [ - -74.340836, - -46.266396 - ], - [ - -74.494446, - -46.190285 - ], - [ - -74.311676, - -46.249168 - ], - [ - -74.083618, - -46.186111 - ], - [ - -73.974457, - -46.094727 - ], - [ - -74.140839, - -45.80584 - ], - [ - -74.361115, - -45.791115 - ], - [ - -75.717514, - -46.725281 - ], - [ - -75.413071, - -46.933891 - ], - [ - -75.654724, - -46.765007 - ], - [ - -74.94223, - -46.440002 - ], - [ - -75.013901, - -46.750282 - ], - [ - -74.265015, - -46.785561 - ], - [ - -73.934448, - -47.036118 - ], - [ - -74.529175, - -47.437782 - ], - [ - -74.041122, - -47.618057 - ], - [ - -74.741669, - -47.715836 - ], - [ - -73.934448, - -47.846947 - ], - [ - -73.719177, - -47.528336 - ], - [ - -73.22084, - -48.001114 - ], - [ - -73.654175, - -47.903618 - ], - [ - -73.27417, - -48.087227 - ], - [ - -73.553345, - -48.245834 - ], - [ - -74.654449, - -48.023895 - ], - [ - -74.021118, - -48.413612 - ], - [ - -74.046677, - -48.547783 - ], - [ - -74.400284, - -48.614449 - ], - [ - -74.060837, - -48.741394 - ], - [ - -74.449722, - -48.812225 - ], - [ - -74.373901, - -49.427504 - ], - [ - -73.834166, - -49.029167 - ], - [ - -74.111679, - -49.480278 - ], - [ - -73.712509, - -49.757225 - ], - [ - -74.325287, - -49.627228 - ], - [ - -73.88501, - -50.06945 - ], - [ - -74.372513, - -49.991394 - ], - [ - -73.865845, - -50.293892 - ], - [ - -74.693619, - -50.203339 - ], - [ - -73.884735, - -50.538895 - ], - [ - -74.29306, - -50.482224 - ], - [ - -74.04834, - -50.827507 - ], - [ - -73.566391, - -50.401672 - ], - [ - -73.528624, - -50.714447 - ], - [ - -74.252792, - -50.940834 - ], - [ - -73.71167, - -51.159729 - ], - [ - -73.598068, - -51.61834 - ], - [ - -73.89418, - -51.370003 - ], - [ - -73.905838, - -51.622505 - ], - [ - -73.46167, - -51.687225 - ], - [ - -73.545288, - -52.056395 - ], - [ - -73.283615, - -52.155006 - ], - [ - -73.386673, - -51.655556 - ], - [ - -73.236954, - -52.090004 - ], - [ - -72.924179, - -51.863335 - ], - [ - -73.281403, - -51.610283 - ], - [ - -72.560837, - -51.78167 - ], - [ - -73.243622, - -51.462227 - ], - [ - -72.468903, - -51.789169 - ], - [ - -72.490845, - -52.318893 - ], - [ - -72.899445, - -52.458618 - ], - [ - -72.570557, - -52.315834 - ], - [ - -72.698334, - -51.983337 - ], - [ - -72.861954, - -52.264168 - ], - [ - -72.988617, - -52.068611 - ], - [ - -73.327515, - -52.223618 - ], - [ - -73.723343, - -52.024727 - ], - [ - -73.547791, - -52.538895 - ], - [ - -73.690002, - -52.725006 - ], - [ - -72.88501, - -52.515556 - ], - [ - -73.56279, - -52.793617 - ], - [ - -73.235001, - -52.889725 - ], - [ - -73.451126, - -53.006668 - ], - [ - -72.980835, - -53.066116 - ], - [ - -73.005844, - -52.854172 - ], - [ - -72.675293, - -52.65889 - ], - [ - -72.898895, - -52.625557 - ], - [ - -72.799179, - -52.539726 - ], - [ - -71.475281, - -52.633339 - ], - [ - -72.719452, - -52.746117 - ], - [ - -72.958344, - -52.857506 - ], - [ - -72.936951, - -53.106674 - ], - [ - -72.653061, - -53.14695 - ], - [ - -72.79306, - -53.178337 - ], - [ - -72.706116, - -53.29306 - ], - [ - -73.217789, - -53.231117 - ], - [ - -72.400284, - -53.540283 - ], - [ - -72.654175, - -53.323891 - ], - [ - -72.188614, - -53.183891 - ], - [ - -72.55278, - -53.074722 - ], - [ - -71.170563, - -52.80806 - ], - [ - -71.80307, - -53.516396 - ], - [ - -72.007233, - -53.563057 - ], - [ - -71.864456, - -53.221672 - ], - [ - -72.453903, - -53.40139 - ], - [ - -71.284729, - -53.886391 - ], - [ - -70.973618, - -53.755562 - ], - [ - -70.811676, - -52.732506 - ], - [ - -69.261124, - -52.20639 - ], - [ - -68.441757, - -52.377777 - ], - [ - -69.998337, - -51.996391 - ], - [ - -71.910568, - -51.995834 - ], - [ - -72.400558, - -51.513618 - ], - [ - -72.294174, - -50.649727 - ], - [ - -73.166122, - -50.753334 - ], - [ - -73.583618, - -49.538063 - ], - [ - -72.564178, - -48.804451 - ], - [ - -72.287231, - -48.341949 - ], - [ - -72.536392, - -47.921394 - ], - [ - -72.360291, - -47.470001 - ], - [ - -71.868622, - -47.221672 - ], - [ - -71.940292, - -46.815559 - ], - [ - -71.669449, - -46.679169 - ], - [ - -71.780563, - -45.648895 - ], - [ - -71.297791, - -45.293335 - ], - [ - -72.078613, - -44.769447 - ], - [ - -71.282227, - -44.800285 - ], - [ - -71.108063, - -44.539726 - ], - [ - -71.855011, - -44.371674 - ], - [ - -71.732788, - -43.188057 - ], - [ - -72.136948, - -43.009171 - ], - [ - -72.131958, - -42.288895 - ], - [ - -71.72612, - -42.096672 - ], - [ - -71.950562, - -40.73278 - ], - [ - -71.695557, - -39.58445 - ], - [ - -71.401398, - -38.92028 - ], - [ - -70.824173, - -38.568062 - ], - [ - -71.185287, - -36.842224 - ], - [ - -70.424316, - -36.13604 - ], - [ - -70.567505, - -35.24778 - ], - [ - -69.8125, - -34.235558 - ], - [ - -69.774445, - -33.381111 - ], - [ - -70.098892, - -33.172501 - ], - [ - -70.533066, - -31.188057 - ], - [ - -69.83168, - -30.190556 - ], - [ - -70.031403, - -29.306393 - ], - [ - -69.65538, - -28.400932 - ], - [ - -68.810837, - -27.120556 - ], - [ - -68.287231, - -26.915279 - ], - [ - -68.583618, - -26.50528 - ], - [ - -68.351959, - -25.117226 - ], - [ - -68.565002, - -24.774445 - ], - [ - -67.335846, - -24.021666 - ], - [ - -67.000839, - -23.002781 - ], - [ - -67.183624, - -22.821667 - ], - [ - -67.876404, - -22.828056 - ], - [ - -68.188614, - -21.296946 - ], - [ - -68.756958, - -20.406948 - ], - [ - -68.4375, - -19.430279 - ], - [ - -68.907791, - -19.055279 - ], - [ - -69.071671, - -18.038891 - ], - [ - -69.483612, - -17.635559 - ] - ], - [ - [ - -73.385284, - -52.740004 - ], - [ - -73.398056, - -52.732506 - ], - [ - -73.328064, - -52.699448 - ], - [ - -73.385284, - -52.740004 - ] - ], - [ - [ - -74.069458, - -46.006111 - ], - [ - -74.072235, - -46.097778 - ], - [ - -74.164459, - -46.136673 - ], - [ - -74.069458, - -46.006111 - ] - ] - ], - [ - [ - [ - -67.780563, - -54.919449 - ], - [ - -68.364456, - -54.94445 - ], - [ - -68.095291, - -55.236946 - ], - [ - -67.053619, - -55.136391 - ], - [ - -67.780563, - -54.919449 - ] - ] - ], - [ - [ - [ - -67.085281, - -55.917503 - ], - [ - -67.105835, - -55.801949 - ], - [ - -67.171677, - -55.874168 - ], - [ - -67.085281, - -55.917503 - ] - ] - ], - [ - [ - [ - -67.167236, - -55.786392 - ], - [ - -67.173889, - -55.759726 - ], - [ - -67.241394, - -55.790283 - ], - [ - -67.167236, - -55.786392 - ] - ] - ], - [ - [ - [ - -67.212784, - -55.893616 - ], - [ - -67.246948, - -55.828056 - ], - [ - -67.413895, - -55.83223 - ], - [ - -67.212784, - -55.893616 - ] - ] - ], - [ - [ - [ - -67.268066, - -55.72139 - ], - [ - -67.356674, - -55.574722 - ], - [ - -67.556395, - -55.712227 - ], - [ - -67.268066, - -55.72139 - ] - ] - ], - [ - [ - [ - -67.493057, - -55.82917 - ], - [ - -67.857513, - -55.849167 - ], - [ - -67.611954, - -55.902229 - ], - [ - -67.493057, - -55.82917 - ] - ] - ], - [ - [ - [ - -67.728622, - -55.624451 - ], - [ - -67.589737, - -55.540558 - ], - [ - -67.688065, - -55.501671 - ], - [ - -67.728622, - -55.624451 - ] - ] - ], - [ - [ - [ - -68.396666, - -54.95945 - ], - [ - -70.03334, - -55.156395 - ], - [ - -69.174179, - -55.512222 - ], - [ - -69.430008, - -55.161949 - ], - [ - -68.803619, - -55.188614 - ], - [ - -68.939178, - -55.459724 - ], - [ - -68.053619, - -55.712502 - ], - [ - -68.159454, - -55.398613 - ], - [ - -68.74501, - -55.271118 - ], - [ - -68.210556, - -55.265007 - ], - [ - -69.061111, - -55.057228 - ], - [ - -68.396666, - -54.95945 - ] - ] - ], - [ - [ - [ - -70.917236, - -54.708618 - ], - [ - -68.643112, - -54.888611 - ], - [ - -68.636124, - -54.804771 - ], - [ - -68.635834, - -54.788338 - ], - [ - -68.617584, - -52.64151 - ], - [ - -69.420563, - -52.458061 - ], - [ - -69.917236, - -52.825836 - ], - [ - -70.424728, - -52.773056 - ], - [ - -70.099731, - -52.904167 - ], - [ - -70.444458, - -53.012779 - ], - [ - -70.446671, - -53.368057 - ], - [ - -69.3564, - -53.351112 - ], - [ - -70.184448, - -53.813614 - ], - [ - -68.991669, - -54.431946 - ], - [ - -69.177504, - -54.580833 - ], - [ - -69.376404, - -54.686668 - ], - [ - -69.241119, - -54.446396 - ], - [ - -69.859177, - -54.283058 - ], - [ - -69.770004, - -54.557503 - ], - [ - -70.055283, - -54.249168 - ], - [ - -70.200836, - -54.316116 - ], - [ - -70.142792, - -54.428337 - ], - [ - -70.88028, - -54.133896 - ], - [ - -70.130844, - -54.548889 - ], - [ - -72.003067, - -54.463615 - ], - [ - -70.917236, - -54.708618 - ] - ], - [ - [ - -70.917236, - -54.708618 - ], - [ - -70.870285, - -54.686394 - ], - [ - -70.771393, - -54.681114 - ], - [ - -70.917236, - -54.708618 - ] - ] - ], - [ - [ - [ - -69.762222, - -55.038612 - ], - [ - -69.166397, - -54.958336 - ], - [ - -69.931946, - -54.89917 - ], - [ - -69.762222, - -55.038612 - ] - ] - ], - [ - [ - [ - -69.690567, - -55.412506 - ], - [ - -69.637512, - -55.382507 - ], - [ - -69.764725, - -55.337784 - ], - [ - -69.690567, - -55.412506 - ] - ] - ], - [ - [ - [ - -69.985291, - -55.364174 - ], - [ - -69.94223, - -55.287224 - ], - [ - -70.106125, - -55.295837 - ], - [ - -69.985291, - -55.364174 - ] - ] - ], - [ - [ - [ - -70.281403, - -54.275558 - ], - [ - -70.218903, - -54.226669 - ], - [ - -70.511124, - -54.160835 - ], - [ - -70.281403, - -54.275558 - ] - ] - ], - [ - [ - [ - -70.508759, - -54.970055 - ], - [ - -70.311676, - -54.904724 - ], - [ - -71.015839, - -54.966667 - ], - [ - -70.26445, - -55.116112 - ], - [ - -70.734177, - -55.015282 - ], - [ - -70.508759, - -54.970055 - ] - ] - ], - [ - [ - [ - -70.609177, - -54.904724 - ], - [ - -70.393616, - -54.871674 - ], - [ - -70.74556, - -54.874451 - ], - [ - -70.609177, - -54.904724 - ] - ] - ], - [ - [ - [ - -70.441956, - -53.860558 - ], - [ - -70.534454, - -53.560837 - ], - [ - -70.878616, - -54.050835 - ], - [ - -70.524445, - -54.228615 - ], - [ - -70.674454, - -53.926674 - ], - [ - -70.441956, - -53.860558 - ] - ] - ], - [ - [ - [ - -70.725845, - -52.893616 - ], - [ - -70.618895, - -52.821396 - ], - [ - -70.780838, - -52.877785 - ], - [ - -70.725845, - -52.893616 - ] - ] - ], - [ - [ - [ - -71.106949, - -54.871948 - ], - [ - -71.45668, - -54.885002 - ], - [ - -70.912231, - -54.924446 - ], - [ - -71.106949, - -54.871948 - ] - ] - ], - [ - [ - [ - -71.257507, - -54.076118 - ], - [ - -71.699448, - -54.161118 - ], - [ - -71.116394, - -54.384726 - ], - [ - -71.009735, - -54.102783 - ], - [ - -71.257507, - -54.076118 - ] - ] - ], - [ - [ - [ - -71.671112, - -53.943893 - ], - [ - -72.257507, - -53.941116 - ], - [ - -71.84668, - -54.339729 - ], - [ - -71.953613, - -54.019447 - ], - [ - -71.671112, - -53.943893 - ] - ] - ], - [ - [ - [ - -72.021118, - -54.634726 - ], - [ - -72.101395, - -54.656395 - ], - [ - -71.931122, - -54.744728 - ], - [ - -72.021118, - -54.634726 - ] - ] - ], - [ - [ - [ - -72.911118, - -53.429451 - ], - [ - -73.587784, - -53.755562 - ], - [ - -73.25, - -53.70723 - ], - [ - -73.132507, - -54.011673 - ], - [ - -72.732224, - -53.839729 - ], - [ - -72.870834, - -54.136673 - ], - [ - -72.13945, - -53.801674 - ], - [ - -72.843903, - -53.458061 - ], - [ - -72.878342, - -53.681946 - ], - [ - -72.911118, - -53.429451 - ] - ] - ], - [ - [ - [ - -72.322235, - -54.258057 - ], - [ - -72.206955, - -54.148338 - ], - [ - -72.301682, - -54.071671 - ], - [ - -72.511124, - -54.202782 - ], - [ - -72.322235, - -54.258057 - ] - ] - ], - [ - [ - [ - -72.308334, - -54.369171 - ], - [ - -72.540558, - -54.341393 - ], - [ - -72.463348, - -54.43 - ], - [ - -72.308334, - -54.369171 - ] - ] - ], - [ - [ - [ - -72.513062, - -42.152504 - ], - [ - -72.509445, - -42.060837 - ], - [ - -72.616959, - -42.097778 - ], - [ - -72.513062, - -42.152504 - ] - ] - ], - [ - [ - [ - -72.722778, - -44.549171 - ], - [ - -72.998062, - -44.367226 - ], - [ - -73.464737, - -44.644447 - ], - [ - -73.20723, - -44.798615 - ], - [ - -73.407791, - -44.820557 - ], - [ - -73.280289, - -44.940002 - ], - [ - -73.138336, - -44.913063 - ], - [ - -72.828339, - -44.690559 - ], - [ - -72.983337, - -44.606117 - ], - [ - -72.819168, - -44.640556 - ], - [ - -72.722778, - -44.549171 - ] - ] - ], - [ - [ - [ - -73.015839, - -41.864449 - ], - [ - -73.077515, - -41.740004 - ], - [ - -73.089737, - -41.84417 - ], - [ - -73.015839, - -41.864449 - ] - ] - ], - [ - [ - [ - -73.106125, - -42.311394 - ], - [ - -73.069168, - -42.260284 - ], - [ - -73.189728, - -42.251396 - ], - [ - -73.106125, - -42.311394 - ] - ] - ], - [ - [ - [ - -74.360565, - -52.948891 - ], - [ - -73.090012, - -53.354729 - ], - [ - -74.74501, - -52.756668 - ], - [ - -74.360565, - -52.948891 - ] - ] - ], - [ - [ - [ - -73.155014, - -44.022781 - ], - [ - -73.148056, - -43.888336 - ], - [ - -73.269455, - -43.920837 - ], - [ - -73.155014, - -44.022781 - ] - ] - ], - [ - [ - [ - -73.241959, - -44.388336 - ], - [ - -73.1689, - -44.370003 - ], - [ - -73.249725, - -44.310837 - ], - [ - -73.303345, - -44.363335 - ], - [ - -73.241959, - -44.388336 - ] - ] - ], - [ - [ - [ - -73.194168, - -54.128891 - ], - [ - -73.246674, - -54.035835 - ], - [ - -73.470566, - -54.072784 - ], - [ - -73.194168, - -54.128891 - ] - ] - ], - [ - [ - [ - -73.885284, - -41.815559 - ], - [ - -74.407791, - -43.243614 - ], - [ - -73.859177, - -43.400002 - ], - [ - -73.489456, - -43.114723 - ], - [ - -73.6539, - -42.933334 - ], - [ - -73.498901, - -42.800835 - ], - [ - -73.800293, - -42.617783 - ], - [ - -73.820282, - -42.507507 - ], - [ - -73.618057, - -42.517227 - ], - [ - -73.672226, - -42.361946 - ], - [ - -73.368622, - -42.250557 - ], - [ - -73.501114, - -41.843338 - ], - [ - -73.885284, - -41.815559 - ] - ] - ], - [ - [ - [ - -73.413071, - -52.878616 - ], - [ - -73.752228, - -52.893333 - ], - [ - -73.391113, - -52.953613 - ], - [ - -73.413071, - -52.878616 - ] - ] - ], - [ - [ - [ - -73.416672, - -42.556395 - ], - [ - -73.535843, - -42.385002 - ], - [ - -73.654175, - -42.387505 - ], - [ - -73.416672, - -42.556395 - ] - ] - ], - [ - [ - [ - -73.463898, - -53.475006 - ], - [ - -73.801956, - -53.429169 - ], - [ - -73.494736, - -53.574448 - ], - [ - -73.463898, - -53.475006 - ] - ] - ], - [ - [ - [ - -73.74556, - -44.743614 - ], - [ - -73.589737, - -44.709724 - ], - [ - -73.688614, - -44.544449 - ], - [ - -73.74556, - -44.743614 - ] - ] - ], - [ - [ - [ - -73.597504, - -42.618057 - ], - [ - -73.618895, - -42.570282 - ], - [ - -73.751404, - -42.617226 - ], - [ - -73.597504, - -42.618057 - ] - ] - ], - [ - [ - [ - -73.651123, - -44.844452 - ], - [ - -73.608337, - -44.741112 - ], - [ - -73.748901, - -44.756393 - ], - [ - -73.651123, - -44.844452 - ] - ] - ], - [ - [ - [ - -73.646118, - -44.131393 - ], - [ - -73.634445, - -44.010002 - ], - [ - -73.728622, - -43.938896 - ], - [ - -73.646118, - -44.131393 - ] - ] - ], - [ - [ - [ - -73.645569, - -45.759445 - ], - [ - -73.700562, - -45.443893 - ], - [ - -73.781952, - -45.67028 - ], - [ - -73.645569, - -45.759445 - ] - ] - ], - [ - [ - [ - -73.688904, - -44.439728 - ], - [ - -73.652786, - -44.352783 - ], - [ - -73.788071, - -44.38195 - ], - [ - -73.688904, - -44.439728 - ] - ] - ], - [ - [ - [ - -73.711395, - -44.304169 - ], - [ - -73.665558, - -44.251396 - ], - [ - -73.761124, - -44.253891 - ], - [ - -73.711395, - -44.304169 - ] - ] - ], - [ - [ - [ - -73.681122, - -46.028336 - ], - [ - -73.778061, - -45.905006 - ], - [ - -73.819458, - -45.998894 - ], - [ - -73.681122, - -46.028336 - ] - ] - ], - [ - [ - [ - -73.765015, - -46.211113 - ], - [ - -73.683334, - -46.076668 - ], - [ - -73.912231, - -46.020279 - ], - [ - -73.765015, - -46.211113 - ] - ] - ], - [ - [ - [ - -73.831955, - -53.590279 - ], - [ - -73.6875, - -53.521666 - ], - [ - -73.857224, - -53.453339 - ], - [ - -73.831955, - -53.590279 - ] - ] - ], - [ - [ - [ - -73.694733, - -52.241669 - ], - [ - -73.768066, - -52.068335 - ], - [ - -74.095291, - -51.922783 - ], - [ - -73.694733, - -52.241669 - ] - ] - ], - [ - [ - [ - -73.703903, - -45.842781 - ], - [ - -73.884171, - -45.858612 - ], - [ - -73.928894, - -45.975838 - ], - [ - -73.703903, - -45.842781 - ] - ] - ], - [ - [ - [ - -73.84668, - -45.002785 - ], - [ - -74.23584, - -45.160278 - ], - [ - -73.7314, - -45.284447 - ], - [ - -73.84668, - -45.002785 - ] - ] - ], - [ - [ - [ - -73.80751, - -52.698334 - ], - [ - -73.742233, - -52.403618 - ], - [ - -74.077789, - -52.606674 - ], - [ - -73.80751, - -52.698334 - ] - ] - ], - [ - [ - [ - -73.85556, - -43.765839 - ], - [ - -74.172501, - -43.877785 - ], - [ - -73.765015, - -43.893333 - ], - [ - -73.85556, - -43.765839 - ] - ] - ], - [ - [ - [ - -73.781403, - -51.371391 - ], - [ - -73.791397, - -51.261116 - ], - [ - -73.914459, - -51.300003 - ], - [ - -73.781403, - -51.371391 - ] - ] - ], - [ - [ - [ - -73.976669, - -45.267502 - ], - [ - -74.166122, - -45.250557 - ], - [ - -73.783066, - -45.335281 - ], - [ - -73.976669, - -45.267502 - ] - ] - ], - [ - [ - [ - -73.844177, - -44.464447 - ], - [ - -73.78862, - -44.422501 - ], - [ - -73.898895, - -44.371674 - ], - [ - -73.844177, - -44.464447 - ] - ] - ], - [ - [ - [ - -73.80806, - -52.397224 - ], - [ - -73.789169, - -52.264168 - ], - [ - -74.092789, - -52.161949 - ], - [ - -73.80806, - -52.397224 - ] - ] - ], - [ - [ - [ - -73.796677, - -51.819168 - ], - [ - -73.793335, - -51.728615 - ], - [ - -73.940002, - -51.663063 - ], - [ - -73.796677, - -51.819168 - ] - ] - ], - [ - [ - [ - -73.793625, - -44.965004 - ], - [ - -73.917786, - -44.78167 - ], - [ - -73.924179, - -44.892227 - ], - [ - -73.793625, - -44.965004 - ] - ] - ], - [ - [ - [ - -73.924454, - -47.886116 - ], - [ - -74.498901, - -47.923058 - ], - [ - -73.799728, - -47.887779 - ], - [ - -73.924454, - -47.886116 - ] - ] - ], - [ - [ - [ - -73.846954, - -44.338058 - ], - [ - -73.802231, - -44.270836 - ], - [ - -73.973892, - -44.281952 - ], - [ - -73.846954, - -44.338058 - ] - ] - ], - [ - [ - [ - -74.017792, - -45.43306 - ], - [ - -74.14473, - -45.576393 - ], - [ - -73.815842, - -45.475838 - ], - [ - -74.017792, - -45.43306 - ] - ] - ], - [ - [ - [ - -73.896957, - -45.434174 - ], - [ - -73.825562, - -45.373062 - ], - [ - -74.02417, - -45.400284 - ], - [ - -73.896957, - -45.434174 - ] - ] - ], - [ - [ - [ - -73.852783, - -44.195839 - ], - [ - -73.922226, - -44.098892 - ], - [ - -74.011124, - -44.141945 - ], - [ - -73.852783, - -44.195839 - ] - ] - ], - [ - [ - [ - -74.209732, - -44.784447 - ], - [ - -73.873337, - -44.686951 - ], - [ - -74.409729, - -44.634445 - ], - [ - -74.209732, - -44.784447 - ] - ] - ], - [ - [ - [ - -73.986954, - -45.724724 - ], - [ - -73.896118, - -45.62056 - ], - [ - -74.011948, - -45.537506 - ], - [ - -74.110001, - -45.592781 - ], - [ - -73.986954, - -45.724724 - ] - ] - ], - [ - [ - [ - -73.929459, - -44.448059 - ], - [ - -73.930847, - -44.35556 - ], - [ - -74.10556, - -44.322784 - ], - [ - -73.929459, - -44.448059 - ] - ] - ], - [ - [ - [ - -74.194168, - -52.136673 - ], - [ - -74.418625, - -52.139725 - ], - [ - -73.935013, - -52.337227 - ], - [ - -74.194168, - -52.136673 - ] - ] - ], - [ - [ - [ - -74.055008, - -51.553612 - ], - [ - -74.238068, - -51.701393 - ], - [ - -73.940002, - -51.785835 - ], - [ - -74.055008, - -51.553612 - ] - ] - ], - [ - [ - [ - -74.026123, - -44.856949 - ], - [ - -73.957779, - -44.783615 - ], - [ - -74.186676, - -44.8125 - ], - [ - -74.026123, - -44.856949 - ] - ] - ], - [ - [ - [ - -74.01973, - -44.556671 - ], - [ - -73.959457, - -44.48278 - ], - [ - -74.129456, - -44.448334 - ], - [ - -74.01973, - -44.556671 - ] - ] - ], - [ - [ - [ - -74.045837, - -51.379173 - ], - [ - -73.968063, - -51.244171 - ], - [ - -74.097229, - -51.225838 - ], - [ - -74.045837, - -51.379173 - ] - ] - ], - [ - [ - [ - -74.154449, - -47.172501 - ], - [ - -73.975281, - -47.047501 - ], - [ - -74.183624, - -47.025284 - ], - [ - -74.154449, - -47.172501 - ] - ] - ], - [ - [ - [ - -73.980286, - -44.984451 - ], - [ - -74.168335, - -44.866669 - ], - [ - -74.366669, - -45.010559 - ], - [ - -73.980286, - -44.984451 - ] - ] - ], - [ - [ - [ - -74.011673, - -44.284172 - ], - [ - -74.06723, - -44.151947 - ], - [ - -74.126114, - -44.207779 - ], - [ - -74.011673, - -44.284172 - ] - ] - ], - [ - [ - [ - -74.015015, - -45.917778 - ], - [ - -74.03862, - -45.736389 - ], - [ - -74.106949, - -45.788338 - ], - [ - -74.015015, - -45.917778 - ] - ] - ], - [ - [ - [ - -74.049179, - -48.446114 - ], - [ - -74.248901, - -48.376396 - ], - [ - -74.074173, - -48.491112 - ], - [ - -74.049179, - -48.446114 - ] - ] - ], - [ - [ - [ - -74.191681, - -53.331947 - ], - [ - -74.059448, - -53.243057 - ], - [ - -74.243622, - -53.299728 - ], - [ - -74.191681, - -53.331947 - ] - ] - ], - [ - [ - [ - -74.14473, - -51.951393 - ], - [ - -74.092224, - -51.875 - ], - [ - -74.50528, - -51.714172 - ], - [ - -74.14473, - -51.951393 - ] - ] - ], - [ - [ - [ - -74.117783, - -51.454445 - ], - [ - -74.171112, - -51.285835 - ], - [ - -74.261398, - -51.30056 - ], - [ - -74.117783, - -51.454445 - ] - ] - ], - [ - [ - [ - -74.295288, - -44.577225 - ], - [ - -74.139175, - -44.55056 - ], - [ - -74.368347, - -44.532784 - ], - [ - -74.295288, - -44.577225 - ] - ] - ], - [ - [ - [ - -74.263336, - -51.24778 - ], - [ - -74.191391, - -51.195557 - ], - [ - -74.322235, - -50.919724 - ], - [ - -74.263336, - -51.24778 - ] - ] - ], - [ - [ - [ - -74.363892, - -50.491394 - ], - [ - -74.670013, - -50.479446 - ], - [ - -74.423615, - -50.523613 - ], - [ - -74.515015, - -50.733063 - ], - [ - -74.193344, - -50.848335 - ], - [ - -74.363892, - -50.491394 - ] - ] - ], - [ - [ - [ - -74.293335, - -44.031952 - ], - [ - -74.204727, - -44.019173 - ], - [ - -74.319458, - -44.017227 - ], - [ - -74.293335, - -44.031952 - ] - ] - ], - [ - [ - [ - -74.458618, - -45.779167 - ], - [ - -74.210007, - -45.636116 - ], - [ - -74.390289, - -45.443893 - ], - [ - -74.458618, - -45.779167 - ] - ] - ], - [ - [ - [ - -74.412506, - -44.512779 - ], - [ - -74.217789, - -44.468056 - ], - [ - -74.547501, - -44.468056 - ], - [ - -74.412506, - -44.512779 - ] - ] - ], - [ - [ - [ - -74.320007, - -44.195007 - ], - [ - -74.259171, - -44.159447 - ], - [ - -74.385559, - -44.154449 - ], - [ - -74.320007, - -44.195007 - ] - ] - ], - [ - [ - [ - -74.26445, - -48.466949 - ], - [ - -74.306395, - -48.286667 - ], - [ - -74.491669, - -48.351112 - ], - [ - -74.26445, - -48.466949 - ] - ] - ], - [ - [ - [ - -74.308899, - -45.30584 - ], - [ - -74.270569, - -45.214172 - ], - [ - -74.39473, - -45.154449 - ], - [ - -74.308899, - -45.30584 - ] - ] - ], - [ - [ - [ - -74.291672, - -44.306395 - ], - [ - -74.327225, - -44.246391 - ], - [ - -74.421402, - -44.262779 - ], - [ - -74.291672, - -44.306395 - ] - ] - ], - [ - [ - [ - -74.294174, - -49.560562 - ], - [ - -74.435837, - -49.427504 - ], - [ - -74.419449, - -49.627785 - ], - [ - -74.294174, - -49.560562 - ] - ] - ], - [ - [ - [ - -74.411392, - -48.530006 - ], - [ - -74.301956, - -48.475838 - ], - [ - -74.497787, - -48.39917 - ], - [ - -74.411392, - -48.530006 - ] - ] - ], - [ - [ - [ - -74.455292, - -47.176949 - ], - [ - -74.313065, - -47.062782 - ], - [ - -74.484177, - -47.083336 - ], - [ - -74.455292, - -47.176949 - ] - ] - ], - [ - [ - [ - -74.3414, - -45.406113 - ], - [ - -74.387222, - -45.288063 - ], - [ - -74.527786, - -45.305283 - ], - [ - -74.3414, - -45.406113 - ] - ] - ], - [ - [ - [ - -74.360565, - -52.077225 - ], - [ - -74.354172, - -52.056114 - ], - [ - -74.405838, - -52.047226 - ], - [ - -74.360565, - -52.077225 - ] - ] - ], - [ - [ - [ - -74.376953, - -44.859451 - ], - [ - -74.429459, - -44.719452 - ], - [ - -74.526398, - -44.741951 - ], - [ - -74.376953, - -44.859451 - ] - ] - ], - [ - [ - [ - -74.396666, - -50.860558 - ], - [ - -74.964737, - -50.965836 - ], - [ - -74.720566, - -51.111946 - ], - [ - -74.482224, - -50.99778 - ], - [ - -74.405563, - -51.089729 - ], - [ - -74.396666, - -50.860558 - ] - ] - ], - [ - [ - [ - -74.411667, - -51.208336 - ], - [ - -74.466675, - -51.028336 - ], - [ - -74.603058, - -51.077507 - ], - [ - -74.411667, - -51.208336 - ] - ] - ], - [ - [ - [ - -74.608337, - -48.455833 - ], - [ - -74.735001, - -48.123062 - ], - [ - -74.708618, - -48.45417 - ], - [ - -75.028624, - -48.495003 - ], - [ - -74.611115, - -48.696671 - ], - [ - -75.051392, - -48.79834 - ], - [ - -74.827225, - -49.09584 - ], - [ - -74.91806, - -49.336113 - ], - [ - -75.471115, - -49.331673 - ], - [ - -75.017227, - -49.899445 - ], - [ - -75.005005, - -49.508057 - ], - [ - -74.646393, - -49.35556 - ], - [ - -74.920013, - -49.68306 - ], - [ - -74.771118, - -50.055 - ], - [ - -74.412781, - -49.732506 - ], - [ - -74.608337, - -48.455833 - ] - ] - ], - [ - [ - [ - -74.4189, - -48.304726 - ], - [ - -74.599731, - -48.151672 - ], - [ - -74.537231, - -48.333893 - ], - [ - -74.4189, - -48.304726 - ] - ] - ], - [ - [ - [ - -74.504456, - -45.539452 - ], - [ - -74.438065, - -45.423889 - ], - [ - -74.570007, - -45.529167 - ], - [ - -74.504456, - -45.539452 - ] - ] - ], - [ - [ - [ - -74.455566, - -44.693893 - ], - [ - -74.578339, - -44.620003 - ], - [ - -74.673615, - -44.668617 - ], - [ - -74.455566, - -44.693893 - ] - ] - ], - [ - [ - [ - -74.717224, - -52.087227 - ], - [ - -74.487793, - -51.95723 - ], - [ - -74.551956, - -51.927504 - ], - [ - -74.717224, - -52.087227 - ] - ] - ], - [ - [ - [ - -74.536118, - -51.279167 - ], - [ - -74.7939, - -51.20945 - ], - [ - -75.021118, - -51.468338 - ], - [ - -74.536118, - -51.279167 - ] - ] - ], - [ - [ - [ - -74.738342, - -50.5 - ], - [ - -74.543625, - -50.381393 - ], - [ - -74.753067, - -50.388336 - ], - [ - -74.738342, - -50.5 - ] - ] - ], - [ - [ - [ - -74.620285, - -45.75695 - ], - [ - -74.548615, - -45.577507 - ], - [ - -74.68251, - -45.636948 - ], - [ - -74.620285, - -45.75695 - ] - ] - ], - [ - [ - [ - -74.651398, - -50.588615 - ], - [ - -74.58168, - -50.532227 - ], - [ - -74.685837, - -50.521666 - ], - [ - -74.651398, - -50.588615 - ] - ] - ], - [ - [ - [ - -74.762512, - -52.188339 - ], - [ - -74.596115, - -52.073616 - ], - [ - -74.785278, - -52.121391 - ], - [ - -74.762512, - -52.188339 - ] - ] - ], - [ - [ - [ - -74.863617, - -52.139168 - ], - [ - -74.599167, - -51.840561 - ], - [ - -74.746948, - -51.833893 - ], - [ - -74.863617, - -52.139168 - ] - ] - ], - [ - [ - [ - -74.739456, - -52.316948 - ], - [ - -74.62001, - -52.207779 - ], - [ - -74.820557, - -52.229446 - ], - [ - -74.739456, - -52.316948 - ] - ] - ], - [ - [ - [ - -74.646118, - -43.612503 - ], - [ - -74.862503, - -43.5625 - ], - [ - -74.7939, - -43.647781 - ], - [ - -74.646118, - -43.612503 - ] - ] - ], - [ - [ - [ - -74.689178, - -50.890839 - ], - [ - -74.748901, - -50.70195 - ], - [ - -74.954727, - -50.731117 - ], - [ - -74.689178, - -50.890839 - ] - ] - ], - [ - [ - [ - -74.715561, - -45.851952 - ], - [ - -75.101959, - -45.874168 - ], - [ - -75.083069, - -46.088615 - ], - [ - -74.715561, - -45.851952 - ] - ] - ], - [ - [ - [ - -74.777237, - -44.6875 - ], - [ - -74.72612, - -44.597778 - ], - [ - -74.804169, - -44.549171 - ], - [ - -74.777237, - -44.6875 - ] - ] - ], - [ - [ - [ - -74.752792, - -45.707779 - ], - [ - -74.869171, - -45.605835 - ], - [ - -74.876678, - -45.649727 - ], - [ - -74.752792, - -45.707779 - ] - ] - ], - [ - [ - [ - -74.781113, - -51.821671 - ], - [ - -74.93251, - -51.643616 - ], - [ - -74.969727, - -52.118057 - ], - [ - -74.781113, - -51.821671 - ] - ] - ], - [ - [ - [ - -75.048615, - -50.166946 - ], - [ - -75.399733, - -50.036667 - ], - [ - -75.143616, - -50.246391 - ], - [ - -75.458618, - -50.364174 - ], - [ - -74.789734, - -50.149445 - ], - [ - -75.048615, - -50.166946 - ] - ] - ], - [ - [ - [ - -74.805283, - -47.898056 - ], - [ - -75.266678, - -48.031952 - ], - [ - -74.869736, - -48.069168 - ], - [ - -74.805283, - -47.898056 - ] - ] - ], - [ - [ - [ - -74.979446, - -48.7425 - ], - [ - -74.825562, - -48.661667 - ], - [ - -74.991394, - -48.648895 - ], - [ - -74.979446, - -48.7425 - ] - ] - ], - [ - [ - [ - -74.99556, - -51.177223 - ], - [ - -74.857224, - -51.135284 - ], - [ - -74.940002, - -51.098618 - ], - [ - -74.99556, - -51.177223 - ] - ] - ], - [ - [ - [ - -74.920563, - -49.295006 - ], - [ - -74.972504, - -49.031113 - ], - [ - -75.24028, - -49.150284 - ], - [ - -74.920563, - -49.295006 - ] - ] - ], - [ - [ - [ - -74.925003, - -48.155838 - ], - [ - -75.256958, - -48.073334 - ], - [ - -75.044174, - -48.443611 - ], - [ - -74.925003, - -48.155838 - ] - ] - ], - [ - [ - [ - -74.954727, - -47.783058 - ], - [ - -74.951401, - -47.70639 - ], - [ - -75.075287, - -47.69445 - ], - [ - -74.954727, - -47.783058 - ] - ] - ], - [ - [ - [ - -75.089737, - -51.901672 - ], - [ - -74.972504, - -51.723618 - ], - [ - -75.070847, - -51.74028 - ], - [ - -75.089737, - -51.901672 - ] - ] - ], - [ - [ - [ - -74.993895, - -50.813896 - ], - [ - -74.979736, - -50.664452 - ], - [ - -75.070847, - -50.652229 - ], - [ - -74.993895, - -50.813896 - ] - ] - ], - [ - [ - [ - -75.00029, - -51.395561 - ], - [ - -75.205292, - -51.299171 - ], - [ - -75.310287, - -51.634171 - ], - [ - -75.00029, - -51.395561 - ] - ] - ], - [ - [ - [ - -75.069458, - -44.92556 - ], - [ - -75.023056, - -44.84639 - ], - [ - -75.111679, - -44.778336 - ], - [ - -75.069458, - -44.92556 - ] - ] - ], - [ - [ - [ - -75.12056, - -48.833618 - ], - [ - -75.071396, - -48.634445 - ], - [ - -75.248337, - -48.771393 - ], - [ - -75.12056, - -48.833618 - ] - ] - ], - [ - [ - [ - -75.176117, - -48.999725 - ], - [ - -75.08223, - -48.889168 - ], - [ - -75.3125, - -48.800003 - ], - [ - -75.176117, - -48.999725 - ] - ] - ], - [ - [ - [ - -75.09639, - -50.516396 - ], - [ - -75.515015, - -50.663063 - ], - [ - -75.288895, - -50.785835 - ], - [ - -75.09639, - -50.516396 - ] - ] - ], - [ - [ - [ - -75.131958, - -47.848892 - ], - [ - -75.134445, - -47.698334 - ], - [ - -75.303619, - -47.773338 - ], - [ - -75.131958, - -47.848892 - ] - ] - ], - [ - [ - [ - -75.306946, - -49.671951 - ], - [ - -75.591949, - -49.78389 - ], - [ - -75.173889, - -49.903061 - ], - [ - -75.306946, - -49.671951 - ] - ] - ], - [ - [ - [ - -75.239456, - -48.270561 - ], - [ - -75.582504, - -48.08667 - ], - [ - -75.234451, - -48.711395 - ], - [ - -75.239456, - -48.270561 - ] - ] - ], - [ - [ - [ - -75.281403, - -48.890007 - ], - [ - -75.656677, - -48.938896 - ], - [ - -75.5, - -49.046394 - ], - [ - -75.32251, - -48.954445 - ], - [ - -75.257782, - -49.081947 - ], - [ - -75.281403, - -48.890007 - ] - ] - ], - [ - [ - [ - -75.281677, - -48.713341 - ], - [ - -75.348068, - -48.635559 - ], - [ - -75.654724, - -48.768059 - ], - [ - -75.281677, - -48.713341 - ] - ] - ], - [ - [ - [ - -75.285843, - -49.100281 - ], - [ - -75.358902, - -48.985558 - ], - [ - -75.656403, - -49.216949 - ], - [ - -75.285843, - -49.100281 - ] - ] - ], - [ - [ - [ - -75.32251, - -48.604172 - ], - [ - -75.650558, - -48.481949 - ], - [ - -75.60112, - -48.691948 - ], - [ - -75.32251, - -48.604172 - ] - ] - ], - [ - [ - [ - -75.48056, - -49.547226 - ], - [ - -75.484451, - -49.481117 - ], - [ - -75.578903, - -49.464729 - ], - [ - -75.48056, - -49.547226 - ] - ] - ], - [ - [ - [ - -78.772507, - -33.623611 - ], - [ - -78.888336, - -33.580559 - ], - [ - -78.991669, - -33.66806 - ], - [ - -78.772507, - -33.623611 - ] - ] - ], - [ - [ - [ - -79.882507, - -26.346947 - ], - [ - -79.869446, - -26.340836 - ], - [ - -79.906952, - -26.34639 - ], - [ - -79.882507, - -26.346947 - ] - ] - ], - [ - [ - [ - -80.07695, - -26.261669 - ], - [ - -80.080566, - -26.251392 - ], - [ - -80.099731, - -26.261391 - ], - [ - -80.07695, - -26.261669 - ] - ] - ], - [ - [ - [ - -80.737793, - -33.779449 - ], - [ - -80.735291, - -33.689444 - ], - [ - -80.774733, - -33.741951 - ], - [ - -80.737793, - -33.779449 - ] - ] - ], - [ - [ - [ - -105.45639, - -26.460556 - ], - [ - -105.474167, - -26.453056 - ], - [ - -105.459457, - -26.464724 - ], - [ - -105.45639, - -26.460556 - ] - ] - ], - [ - [ - [ - -109.241386, - -27.133057 - ], - [ - -109.390839, - -27.066669 - ], - [ - -109.449173, - -27.193058 - ], - [ - -109.241386, - -27.133057 - ] - ] - ] - ] - }, - "name" : "Chile", - "iso2" : "CL", - "iso3" : "CHL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ZL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -81.097229, - 19.308887 - ], - [ - -81.254456, - 19.353886 - ], - [ - -81.401123, - 19.28833 - ], - [ - -81.097229, - 19.308887 - ] - ] - ], - [ - [ - [ - -80.097504, - 19.654163 - ], - [ - -79.966675, - 19.707222 - ], - [ - -80.075836, - 19.697498 - ], - [ - -80.097504, - 19.654163 - ] - ] - ], - [ - [ - [ - -79.866394, - 19.686943 - ], - [ - -79.732788, - 19.748608 - ], - [ - -79.893341, - 19.693333 - ], - [ - -79.866394, - 19.686943 - ] - ] - ] - ] - }, - "name" : "Cayman Islands", - "iso2" : "KY", - "iso3" : "CYM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Zb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 9.687222, - 3.574722 - ], - [ - 9.6425, - 3.578611 - ], - [ - 9.62611, - 3.551111 - ], - [ - 9.687222, - 3.574722 - ] - ] - ], - [ - [ - [ - 15.499008, - 7.526609 - ], - [ - 15.201944, - 8.485832 - ], - [ - 13.957499, - 9.638611 - ], - [ - 14.194769, - 9.98175 - ], - [ - 15.68185, - 9.989649 - ], - [ - 15.061666, - 10.789999 - ], - [ - 15.042597, - 12.078888 - ], - [ - 14.577221, - 12.738609 - ], - [ - 14.500875, - 13.001314 - ], - [ - 14.07472, - 13.081665 - ], - [ - 14.174444, - 12.396666 - ], - [ - 14.645277, - 12.188332 - ], - [ - 14.646387, - 11.575832 - ], - [ - 13.80722, - 11.055832 - ], - [ - 12.796944, - 8.769722 - ], - [ - 12.253887, - 8.408054 - ], - [ - 11.864166, - 7.084722 - ], - [ - 11.340277, - 6.440833 - ], - [ - 10.615, - 7.06861 - ], - [ - 9.795555, - 6.801666 - ], - [ - 8.865276, - 5.841944 - ], - [ - 8.591738, - 4.810932 - ], - [ - 8.504166, - 4.527778 - ], - [ - 8.845833, - 4.638055 - ], - [ - 8.975832, - 4.096666 - ], - [ - 9.7225, - 3.865278 - ], - [ - 9.811764, - 2.343698 - ], - [ - 10.02611, - 2.168056 - ], - [ - 11.339764, - 2.168611 - ], - [ - 12.523611, - 2.283333 - ], - [ - 13.293888, - 2.163611 - ], - [ - 14.564999, - 2.169444 - ], - [ - 16.07222, - 1.654166 - ], - [ - 16.207222, - 2.220833 - ], - [ - 16.103054, - 2.898333 - ], - [ - 14.732777, - 4.623055 - ], - [ - 14.419167, - 6.035277 - ], - [ - 15.499008, - 7.526609 - ] - ] - ] - ] - }, - "name" : "Cameroon", - "iso2" : "CM", - "iso3" : "CMR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Zr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 14.07472, - 13.081665 - ], - [ - 14.500875, - 13.001314 - ], - [ - 14.577221, - 12.738609 - ], - [ - 15.042597, - 12.078888 - ], - [ - 15.061666, - 10.789999 - ], - [ - 15.68185, - 9.989649 - ], - [ - 14.194769, - 9.98175 - ], - [ - 13.957499, - 9.638611 - ], - [ - 15.201944, - 8.485832 - ], - [ - 15.499008, - 7.526609 - ], - [ - 18.588886, - 8.040277 - ], - [ - 19.058792, - 8.578382 - ], - [ - 18.988888, - 8.964167 - ], - [ - 20.371666, - 9.108332 - ], - [ - 21.715553, - 10.290554 - ], - [ - 21.719444, - 10.639444 - ], - [ - 22.866505, - 10.922447 - ], - [ - 22.466942, - 12.621666 - ], - [ - 21.827774, - 12.797499 - ], - [ - 22.294167, - 13.35861 - ], - [ - 22.084442, - 13.779165 - ], - [ - 22.554996, - 14.125555 - ], - [ - 22.384163, - 14.554165 - ], - [ - 22.935833, - 15.11611 - ], - [ - 22.937222, - 15.561943 - ], - [ - 23.999603, - 15.698709 - ], - [ - 24.002747, - 19.499065 - ], - [ - 16.000832, - 23.450554 - ], - [ - 14.997889, - 23.000591 - ], - [ - 15.202499, - 21.495831 - ], - [ - 15.996666, - 20.353054 - ], - [ - 15.489166, - 16.914165 - ], - [ - 13.468887, - 14.461111 - ], - [ - 13.62512, - 13.718338 - ], - [ - 14.07472, - 13.081665 - ] - ] - ] - }, - "name" : "Chad", - "iso2" : "TD", - "iso3" : "TCD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Z71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 43.86055, - -12.356112 - ], - [ - 43.622772, - -12.258335 - ], - [ - 43.66861, - -12.3575 - ], - [ - 43.86055, - -12.356112 - ] - ] - ], - [ - [ - [ - 44.487495, - -12.093056 - ], - [ - 44.206665, - -12.161945 - ], - [ - 44.513611, - -12.38028 - ], - [ - 44.487495, - -12.093056 - ] - ] - ], - [ - [ - [ - 43.459717, - -11.935556 - ], - [ - 43.281387, - -11.379723 - ], - [ - 43.219162, - -11.761112 - ], - [ - 43.459717, - -11.935556 - ] - ] - ] - ] - }, - "name" : "Comoros", - "iso2" : "KM", - "iso3" : "COM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "aL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -78.121399, - 2.500834 - ], - [ - -78.091675, - 2.539446 - ], - [ - -78.127792, - 2.643057 - ], - [ - -78.189178, - 2.640554 - ], - [ - -78.215561, - 2.57778 - ], - [ - -78.121399, - 2.500834 - ] - ] - ], - [ - [ - [ - -77.986389, - 2.542501 - ], - [ - -77.960281, - 2.557222 - ], - [ - -77.948334, - 2.627779 - ], - [ - -77.977509, - 2.651945 - ], - [ - -78.045563, - 2.583055 - ], - [ - -77.986389, - 2.542501 - ] - ] - ], - [ - [ - [ - -77.857513, - 2.573336 - ], - [ - -77.786957, - 2.592779 - ], - [ - -77.921112, - 2.693892 - ], - [ - -77.857513, - 2.573336 - ] - ] - ], - [ - [ - [ - -77.76973, - 2.591391 - ], - [ - -77.749725, - 2.615 - ], - [ - -77.827789, - 2.70389 - ], - [ - -77.884735, - 2.717222 - ], - [ - -77.839737, - 2.64028 - ], - [ - -77.76973, - 2.591391 - ] - ] - ], - [ - [ - [ - -77.568893, - 3.069166 - ], - [ - -77.530563, - 3.209444 - ], - [ - -77.662781, - 3.075834 - ], - [ - -77.568893, - 3.069166 - ] - ] - ], - [ - [ - [ - -77.448334, - 4.074167 - ], - [ - -77.494171, - 4.204168 - ], - [ - -77.535568, - 4.167223 - ], - [ - -77.448334, - 4.074167 - ] - ] - ], - [ - [ - [ - -77.54306, - 4.193335 - ], - [ - -77.319733, - 4.251665 - ], - [ - -77.426117, - 4.334723 - ], - [ - -77.54306, - 4.193335 - ] - ] - ], - [ - [ - [ - -71.324722, - 11.853056 - ], - [ - -71.115845, - 12.10111 - ], - [ - -71.563614, - 12.453611 - ], - [ - -73.284454, - 11.295557 - ], - [ - -74.155014, - 11.331388 - ], - [ - -74.390564, - 10.743055 - ], - [ - -74.592224, - 10.878054 - ], - [ - -74.28862, - 11.002501 - ], - [ - -74.860809, - 11.125486 - ], - [ - -75.26973, - 10.798334 - ], - [ - -75.629456, - 9.453611 - ], - [ - -76.928345, - 8.568335 - ], - [ - -76.75528, - 7.91889 - ], - [ - -77.366669, - 8.675001 - ], - [ - -77.215561, - 7.937223 - ], - [ - -77.573898, - 7.525278 - ], - [ - -77.746674, - 7.722223 - ], - [ - -77.889725, - 7.228891 - ], - [ - -77.340012, - 6.567778 - ], - [ - -77.49028, - 6.190832 - ], - [ - -77.240845, - 5.75139 - ], - [ - -77.532227, - 5.518888 - ], - [ - -77.347778, - 5.240557 - ], - [ - -77.384171, - 4.341944 - ], - [ - -77.239182, - 4.26 - ], - [ - -77.434174, - 4.028334 - ], - [ - -77.028624, - 3.91778 - ], - [ - -77.740845, - 2.604723 - ], - [ - -77.792511, - 2.567499 - ], - [ - -77.867233, - 2.560278 - ], - [ - -77.940002, - 2.655001 - ], - [ - -77.948624, - 2.559446 - ], - [ - -77.986954, - 2.522501 - ], - [ - -78.125565, - 2.486944 - ], - [ - -78.265015, - 2.519167 - ], - [ - -78.343613, - 2.436666 - ], - [ - -78.440567, - 2.509443 - ], - [ - -78.565292, - 2.429167 - ], - [ - -78.584166, - 1.768888 - ], - [ - -79.053345, - 1.628332 - ], - [ - -78.809723, - 1.43778 - ], - [ - -78.591675, - 1.243055 - ], - [ - -77.379456, - 0.384722 - ], - [ - -76.243057, - 0.395555 - ], - [ - -75.285843, - -0.119722 - ], - [ - -74.776947, - -0.204166 - ], - [ - -74.227234, - -1.027777 - ], - [ - -73.556395, - -1.370832 - ], - [ - -72.881958, - -2.506388 - ], - [ - -71.698059, - -2.146944 - ], - [ - -70.288345, - -2.504999 - ], - [ - -70.067505, - -2.755556 - ], - [ - -70.724167, - -3.779722 - ], - [ - -69.956924, - -4.236874 - ], - [ - -69.378067, - -1.338055 - ], - [ - -69.607513, - -0.5175 - ], - [ - -70.05806, - -0.157499 - ], - [ - -70.044174, - 0.590834 - ], - [ - -69.124725, - 0.645002 - ], - [ - -69.270004, - 1.038336 - ], - [ - -69.842224, - 1.072222 - ], - [ - -69.8461, - 1.710455 - ], - [ - -68.153061, - 1.724169 - ], - [ - -68.196396, - 1.977503 - ], - [ - -67.914734, - 1.745279 - ], - [ - -67.424179, - 2.143888 - ], - [ - -67.076675, - 1.173334 - ], - [ - -66.871887, - 1.221643 - ], - [ - -67.192505, - 2.3925 - ], - [ - -67.828339, - 2.825003 - ], - [ - -67.290558, - 3.397501 - ], - [ - -67.859726, - 4.558611 - ], - [ - -67.454453, - 6.193056 - ], - [ - -69.245285, - 6.081388 - ], - [ - -70.119171, - 6.975836 - ], - [ - -72, - 7.018888 - ], - [ - -72.47168, - 7.491945 - ], - [ - -72.325287, - 8.095556 - ], - [ - -72.779724, - 9.080278 - ], - [ - -73.378067, - 9.171389 - ], - [ - -72.493057, - 11.121111 - ], - [ - -72.209351, - 11.250002 - ], - [ - -71.977234, - 11.664999 - ], - [ - -71.324722, - 11.853056 - ] - ], - [ - [ - -78.545288, - 2.416113 - ], - [ - -78.553619, - 2.406668 - ], - [ - -78.550293, - 2.433332 - ], - [ - -78.544174, - 2.432501 - ], - [ - -78.545288, - 2.416113 - ] - ] - ], - [ - [ - [ - -81.710281, - 12.490835 - ], - [ - -81.688339, - 12.591112 - ], - [ - -81.719727, - 12.550001 - ], - [ - -81.710281, - 12.490835 - ] - ] - ], - [ - [ - [ - -81.36557, - 13.323057 - ], - [ - -81.353897, - 13.378611 - ], - [ - -81.38945, - 13.335001 - ], - [ - -81.36557, - 13.323057 - ] - ] - ] - ] - }, - "name" : "Colombia", - "iso2" : "CO", - "iso3" : "COL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ab1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -85.115845, - 10.07361 - ], - [ - -85.109177, - 10.105833 - ], - [ - -85.161957, - 10.122499 - ], - [ - -85.198059, - 10.110554 - ], - [ - -85.176117, - 10.077499 - ], - [ - -85.115845, - 10.07361 - ] - ] - ], - [ - [ - [ - -83.645798, - 10.924847 - ], - [ - -83.915558, - 10.708611 - ], - [ - -85.087784, - 11.009998 - ], - [ - -85.692383, - 11.076061 - ], - [ - -85.911392, - 10.891109 - ], - [ - -85.631958, - 10.626389 - ], - [ - -85.861679, - 10.368332 - ], - [ - -85.664459, - 9.908609 - ], - [ - -85.142227, - 9.589443 - ], - [ - -84.897232, - 9.807499 - ], - [ - -85.228622, - 10.088888 - ], - [ - -85.243057, - 10.204166 - ], - [ - -84.74028, - 9.966665 - ], - [ - -84.61528, - 9.575832 - ], - [ - -83.624176, - 9.035276 - ], - [ - -83.730835, - 8.583055 - ], - [ - -83.291122, - 8.370277 - ], - [ - -83.341675, - 8.726944 - ], - [ - -82.898849, - 8.025669 - ], - [ - -82.710846, - 8.93111 - ], - [ - -82.934723, - 9.471666 - ], - [ - -82.563568, - 9.562876 - ], - [ - -83.645798, - 10.924847 - ] - ] - ] - ] - }, - "name" : "Costa Rica", - "iso2" : "CR", - "iso3" : "CRI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ar1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 22.866505, - 10.922447 - ], - [ - 21.719444, - 10.639444 - ], - [ - 21.715553, - 10.290554 - ], - [ - 20.371666, - 9.108332 - ], - [ - 18.988888, - 8.964167 - ], - [ - 19.058792, - 8.578382 - ], - [ - 18.588886, - 8.040277 - ], - [ - 15.499008, - 7.526609 - ], - [ - 14.419167, - 6.035277 - ], - [ - 14.732777, - 4.623055 - ], - [ - 16.103054, - 2.898333 - ], - [ - 16.207222, - 2.220833 - ], - [ - 16.659721, - 3.533333 - ], - [ - 17.475277, - 3.713055 - ], - [ - 18.624958, - 3.479444 - ], - [ - 18.541943, - 4.335555 - ], - [ - 19.421387, - 5.134166 - ], - [ - 20.585552, - 4.41 - ], - [ - 22.379166, - 4.1275 - ], - [ - 22.895832, - 4.821111 - ], - [ - 23.420277, - 4.59111 - ], - [ - 24.394165, - 5.115555 - ], - [ - 24.734444, - 4.910832 - ], - [ - 25.542221, - 5.381389 - ], - [ - 25.891666, - 5.192499 - ], - [ - 27.455276, - 5.016388 - ], - [ - 27.142776, - 5.771944 - ], - [ - 26.437496, - 6.077777 - ], - [ - 26.404999, - 6.646388 - ], - [ - 25.206944, - 7.497499 - ], - [ - 25.25333, - 7.850555 - ], - [ - 24.192497, - 8.30361 - ], - [ - 24.201111, - 8.686943 - ], - [ - 23.517776, - 8.714167 - ], - [ - 23.669167, - 9.866943 - ], - [ - 22.866505, - 10.922447 - ] - ] - ] - }, - "name" : "Central African Republic", - "iso2" : "CF", - "iso3" : "CAF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "a71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -78.327789, - 20.513613 - ], - [ - -78.34584, - 20.569445 - ], - [ - -78.458344, - 20.605555 - ], - [ - -78.327789, - 20.513613 - ] - ] - ], - [ - [ - [ - -78.381958, - 20.637777 - ], - [ - -78.402786, - 20.675833 - ], - [ - -78.412231, - 20.647223 - ], - [ - -78.381958, - 20.637777 - ] - ] - ], - [ - [ - [ - -78.441681, - 20.710554 - ], - [ - -78.458618, - 20.731668 - ], - [ - -78.547501, - 20.703611 - ], - [ - -78.441681, - 20.710554 - ] - ] - ], - [ - [ - [ - -78.767502, - 20.70611 - ], - [ - -78.763626, - 20.730555 - ], - [ - -78.821945, - 20.756945 - ], - [ - -78.767502, - 20.70611 - ] - ] - ], - [ - [ - [ - -75.487228, - 20.728888 - ], - [ - -75.515015, - 20.791945 - ], - [ - -75.578064, - 20.781111 - ], - [ - -75.487228, - 20.728888 - ] - ] - ], - [ - [ - [ - -78.847504, - 20.771666 - ], - [ - -78.931671, - 20.834166 - ], - [ - -78.965836, - 20.809999 - ], - [ - -78.847504, - 20.771666 - ] - ] - ], - [ - [ - [ - -78.977783, - 20.839445 - ], - [ - -78.969727, - 20.874166 - ], - [ - -79.077515, - 20.893888 - ], - [ - -78.977783, - 20.839445 - ] - ] - ], - [ - [ - [ - -79.084457, - 20.898333 - ], - [ - -79.176682, - 21.008612 - ], - [ - -79.225571, - 21.000555 - ], - [ - -79.084457, - 20.898333 - ] - ] - ], - [ - [ - [ - -79.302231, - 21.064444 - ], - [ - -79.3414, - 21.121111 - ], - [ - -79.384171, - 21.119722 - ], - [ - -79.302231, - 21.064444 - ] - ] - ], - [ - [ - [ - -79.406403, - 21.104723 - ], - [ - -79.402512, - 21.121111 - ], - [ - -79.451126, - 21.122778 - ], - [ - -79.406403, - 21.104723 - ] - ] - ], - [ - [ - [ - -81.530838, - 21.600279 - ], - [ - -81.366959, - 21.711943 - ], - [ - -81.556946, - 21.622778 - ], - [ - -81.530838, - 21.600279 - ] - ] - ], - [ - [ - [ - -82.545288, - 21.571112 - ], - [ - -82.974457, - 21.942778 - ], - [ - -83.089447, - 21.785555 - ], - [ - -82.937225, - 21.58 - ], - [ - -83.193069, - 21.621389 - ], - [ - -82.897232, - 21.432779 - ], - [ - -82.545288, - 21.571112 - ] - ] - ], - [ - [ - [ - -77.915054, - 22.094698 - ], - [ - -77.638336, - 21.953054 - ], - [ - -77.653336, - 22.069723 - ], - [ - -77.915054, - 22.094698 - ] - ] - ], - [ - [ - [ - -77.84639, - 22.10639 - ], - [ - -77.997513, - 22.285276 - ], - [ - -78.044174, - 22.186666 - ], - [ - -77.84639, - 22.10639 - ] - ] - ], - [ - [ - [ - -77.777237, - 22.195002 - ], - [ - -77.850006, - 22.294722 - ], - [ - -77.771666, - 22.168055 - ], - [ - -77.777237, - 22.195002 - ] - ] - ], - [ - [ - [ - -78.118622, - 22.413889 - ], - [ - -78.311401, - 22.403891 - ], - [ - -78.019455, - 22.261946 - ], - [ - -78.118622, - 22.413889 - ] - ] - ], - [ - [ - [ - -78.3414, - 22.533888 - ], - [ - -78.696671, - 22.514723 - ], - [ - -78.425293, - 22.4125 - ], - [ - -78.3414, - 22.533888 - ] - ] - ], - [ - [ - [ - -78.976395, - 22.637499 - ], - [ - -78.968903, - 22.669168 - ], - [ - -79.054459, - 22.665277 - ], - [ - -78.976395, - 22.637499 - ] - ] - ], - [ - [ - [ - -79.323059, - 22.614721 - ], - [ - -79.576126, - 22.809999 - ], - [ - -79.632507, - 22.800001 - ], - [ - -79.323059, - 22.614721 - ] - ] - ], - [ - [ - [ - -79.891953, - 22.928335 - ], - [ - -79.883057, - 22.965277 - ], - [ - -79.958618, - 22.9475 - ], - [ - -79.891953, - 22.928335 - ] - ] - ], - [ - [ - [ - -80.232788, - 22.995001 - ], - [ - -80.349457, - 22.981668 - ], - [ - -80.234177, - 22.956388 - ], - [ - -80.232788, - 22.995001 - ] - ] - ], - [ - [ - [ - -80.049454, - 23.02611 - ], - [ - -80.076675, - 23.074446 - ], - [ - -80.077225, - 23.041945 - ], - [ - -80.049454, - 23.02611 - ] - ] - ], - [ - [ - [ - -80.146393, - 23.070276 - ], - [ - -80.199448, - 23.121946 - ], - [ - -80.224167, - 23.099443 - ], - [ - -80.146393, - 23.070276 - ] - ] - ], - [ - [ - [ - -80.927504, - 23.125555 - ], - [ - -80.973618, - 23.1075 - ], - [ - -80.797226, - 23.150557 - ], - [ - -80.927504, - 23.125555 - ] - ] - ], - [ - [ - [ - -75.085281, - 19.893042 - ], - [ - -74.141403, - 20.252222 - ], - [ - -75.736679, - 20.696943 - ], - [ - -75.70723, - 21.121946 - ], - [ - -76.896118, - 21.306391 - ], - [ - -77.54306, - 21.918612 - ], - [ - -77.341124, - 21.63611 - ], - [ - -80.03334, - 22.951113 - ], - [ - -80.278624, - 22.905279 - ], - [ - -80.544449, - 22.99111 - ], - [ - -80.633057, - 23.098333 - ], - [ - -81.134735, - 23.023054 - ], - [ - -81.285568, - 23.119722 - ], - [ - -81.226959, - 23.161665 - ], - [ - -81.500839, - 23.055555 - ], - [ - -81.580566, - 23.155554 - ], - [ - -82.003891, - 23.186388 - ], - [ - -84.07695, - 22.660555 - ], - [ - -84.338058, - 22.01222 - ], - [ - -84.953339, - 21.859999 - ], - [ - -84.026123, - 21.914999 - ], - [ - -82.763901, - 22.700556 - ], - [ - -81.88501, - 22.680834 - ], - [ - -81.648895, - 22.491388 - ], - [ - -82.163071, - 22.398333 - ], - [ - -81.823059, - 22.183611 - ], - [ - -80.491959, - 22.177221 - ], - [ - -79.987793, - 21.723612 - ], - [ - -78.75029, - 21.639166 - ], - [ - -78.050293, - 20.69972 - ], - [ - -77.236389, - 20.663057 - ], - [ - -77.115845, - 20.365 - ], - [ - -77.722504, - 19.832777 - ], - [ - -75.223724, - 19.901556 - ], - [ - -75.15918, - 19.960695 - ], - [ - -75.13974, - 19.962873 - ], - [ - -75.085281, - 19.893042 - ] - ] - ], - [ - [ - [ - -80.493057, - 23.188055 - ], - [ - -80.558624, - 23.203611 - ], - [ - -80.579727, - 23.176111 - ], - [ - -80.493057, - 23.188055 - ] - ] - ] - ] - }, - "name" : "Cuba", - "iso2" : "CU", - "iso3" : "CUB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "bL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -24.368336, - 14.812222 - ], - [ - -24.381668, - 15.047499 - ], - [ - -24.52528, - 14.92111 - ], - [ - -24.368336, - 14.812222 - ] - ] - ], - [ - [ - [ - -23.446667, - 14.982777 - ], - [ - -23.76667, - 15.253054 - ], - [ - -23.681393, - 14.935555 - ], - [ - -23.446667, - 14.982777 - ] - ] - ], - [ - [ - [ - -22.706112, - 16.036388 - ], - [ - -22.798615, - 16.235275 - ], - [ - -22.957779, - 16.089443 - ], - [ - -22.706112, - 16.036388 - ] - ] - ], - [ - [ - [ - -24.034168, - 16.594166 - ], - [ - -24.432224, - 16.644165 - ], - [ - -24.321392, - 16.482777 - ], - [ - -24.034168, - 16.594166 - ] - ] - ], - [ - [ - [ - -24.926113, - 16.799999 - ], - [ - -24.933056, - 16.921387 - ], - [ - -25.093334, - 16.83083 - ], - [ - -24.926113, - 16.799999 - ] - ] - ], - [ - [ - [ - -25.281391, - 16.91333 - ], - [ - -24.974445, - 17.112778 - ], - [ - -25.33028, - 17.096386 - ], - [ - -25.281391, - 16.91333 - ] - ] - ] - ] - }, - "name" : "Cape Verde", - "iso2" : "CV", - "iso3" : "CPV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "bb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -157.890564, - -21.938053 - ], - [ - -157.921967, - -21.880283 - ], - [ - -157.962799, - -21.904167 - ], - [ - -157.890564, - -21.938053 - ] - ] - ], - [ - [ - [ - -159.741119, - -21.254169 - ], - [ - -159.752502, - -21.193054 - ], - [ - -159.833893, - -21.195831 - ], - [ - -159.741119, - -21.254169 - ] - ] - ], - [ - [ - [ - -157.316437, - -20.188053 - ], - [ - -157.309174, - -20.147781 - ], - [ - -157.332214, - -20.13306 - ], - [ - -157.316437, - -20.188053 - ] - ] - ], - [ - [ - [ - -158.098358, - -20.016113 - ], - [ - -158.08197, - -19.986942 - ], - [ - -158.118591, - -19.973057 - ], - [ - -158.098358, - -20.016113 - ] - ] - ], - [ - [ - [ - -158.27948, - -19.817783 - ], - [ - -158.291382, - -19.833332 - ], - [ - -158.262512, - -19.836666 - ], - [ - -158.27948, - -19.817783 - ] - ] - ], - [ - [ - [ - -157.708649, - -19.853054 - ], - [ - -157.713928, - -19.770283 - ], - [ - -157.741364, - -19.814167 - ], - [ - -157.708649, - -19.853054 - ] - ] - ], - [ - [ - [ - -158.92865, - -19.270283 - ], - [ - -158.951935, - -19.242496 - ], - [ - -158.943909, - -19.27195 - ], - [ - -158.92865, - -19.270283 - ] - ] - ], - [ - [ - [ - -159.78833, - -18.890556 - ], - [ - -159.78421, - -18.841393 - ], - [ - -159.803345, - -18.861389 - ], - [ - -159.78833, - -18.890556 - ] - ] - ], - [ - [ - [ - -163.16333, - -18.089443 - ], - [ - -163.154724, - -18.056667 - ], - [ - -163.170319, - -18.079449 - ], - [ - -163.16333, - -18.089443 - ] - ] - ], - [ - [ - [ - -165.422241, - -11.548334 - ], - [ - -165.414185, - -11.537781 - ], - [ - -165.435028, - -11.5375 - ], - [ - -165.422241, - -11.548334 - ] - ] - ], - [ - [ - [ - -165.82666, - -10.888334 - ], - [ - -165.831146, - -10.876945 - ], - [ - -165.850281, - -10.884169 - ], - [ - -165.82666, - -10.888334 - ] - ] - ], - [ - [ - [ - -161.022827, - -10.431391 - ], - [ - -161.048615, - -10.392778 - ], - [ - -161.043335, - -10.419724 - ], - [ - -161.022827, - -10.431391 - ] - ] - ], - [ - [ - [ - -160.975586, - -10.395555 - ], - [ - -160.973602, - -10.378057 - ], - [ - -161.012512, - -10.352777 - ], - [ - -160.975586, - -10.395555 - ] - ] - ], - [ - [ - [ - -161.084442, - -10.041945 - ], - [ - -161.072266, - -10.008059 - ], - [ - -161.090576, - -10.018333 - ], - [ - -161.084442, - -10.041945 - ] - ] - ], - [ - [ - [ - -157.941681, - -8.982502 - ], - [ - -158.008362, - -8.951389 - ], - [ - -157.97226, - -8.981943 - ], - [ - -157.941681, - -8.982502 - ] - ] - ] - ] - }, - "name" : "Cook Islands", - "iso2" : "CK", - "iso3" : "COK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "br1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 33.652618, - 35.354103 - ], - [ - 32.274162, - 35.043884 - ], - [ - 33.030838, - 34.56255 - ], - [ - 34.083328, - 34.959442 - ], - [ - 33.921387, - 35.272774 - ], - [ - 34.590271, - 35.690277 - ], - [ - 33.652618, - 35.354103 - ] - ] - ] - }, - "name" : "Cyprus", - "iso2" : "CY", - "iso3" : "CYP" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "b71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 11.513887, - 54.82972 - ], - [ - 10.989891, - 54.790848 - ], - [ - 11.85611, - 54.683327 - ], - [ - 11.513887, - 54.82972 - ] - ] - ], - [ - [ - [ - 12.038055, - 54.892494 - ], - [ - 11.708611, - 54.936661 - ], - [ - 11.964443, - 54.561661 - ], - [ - 12.038055, - 54.892494 - ] - ] - ], - [ - [ - [ - 10.432777, - 54.84166 - ], - [ - 10.184166, - 54.97361 - ], - [ - 10.248333, - 54.90416 - ], - [ - 10.432777, - 54.84166 - ] - ] - ], - [ - [ - [ - 12.557499, - 54.964165 - ], - [ - 12.311943, - 55.035271 - ], - [ - 12.115833, - 54.90416 - ], - [ - 12.557499, - 54.964165 - ] - ] - ], - [ - [ - [ - 10.615, - 54.950272 - ], - [ - 10.631943, - 55.043327 - ], - [ - 10.49861, - 55.006386 - ], - [ - 10.615, - 54.950272 - ] - ] - ], - [ - [ - [ - 9.7925, - 55.074997 - ], - [ - 9.630554, - 55.049438 - ], - [ - 10.07111, - 54.87471 - ], - [ - 9.7925, - 55.074997 - ] - ] - ], - [ - [ - [ - 10.756943, - 54.777222 - ], - [ - 10.949165, - 55.16111 - ], - [ - 10.681944, - 54.908607 - ], - [ - 10.756943, - 54.777222 - ] - ] - ], - [ - [ - [ - 15.051666, - 54.994995 - ], - [ - 14.746387, - 55.295555 - ], - [ - 14.679722, - 55.099716 - ], - [ - 15.051666, - 54.994995 - ] - ] - ], - [ - [ - [ - 8.46361, - 55.33416 - ], - [ - 8.458332, - 55.426384 - ], - [ - 8.360277, - 55.457771 - ], - [ - 8.46361, - 55.33416 - ] - ] - ], - [ - [ - [ - 10.745277, - 55.482216 - ], - [ - 10.619165, - 55.619164 - ], - [ - 10.478611, - 55.438049 - ], - [ - 10.309721, - 55.616943 - ], - [ - 9.904999, - 55.505829 - ], - [ - 9.813055, - 55.547493 - ], - [ - 9.74861, - 55.540276 - ], - [ - 9.675554, - 55.499161 - ], - [ - 9.810833, - 55.436661 - ], - [ - 9.896944, - 55.279716 - ], - [ - 10.005833, - 55.193329 - ], - [ - 10.11861, - 55.178886 - ], - [ - 10.152777, - 55.084442 - ], - [ - 10.497776, - 55.028885 - ], - [ - 10.782776, - 55.122498 - ], - [ - 10.745277, - 55.482216 - ] - ] - ], - [ - [ - [ - 12.579443, - 55.551384 - ], - [ - 12.67861, - 55.590553 - ], - [ - 12.60611, - 55.696106 - ], - [ - 12.579443, - 55.551384 - ] - ] - ], - [ - [ - [ - 10.630554, - 55.865555 - ], - [ - 10.523611, - 55.981384 - ], - [ - 10.527498, - 55.765831 - ], - [ - 10.630554, - 55.865555 - ] - ] - ], - [ - [ - [ - 12.567221, - 55.992218 - ], - [ - 11.859444, - 55.96666 - ], - [ - 12.05722, - 55.653328 - ], - [ - 11.763887, - 55.964722 - ], - [ - 10.87361, - 55.732498 - ], - [ - 11.246666, - 55.199715 - ], - [ - 12.071943, - 54.968605 - ], - [ - 12.461666, - 55.286385 - ], - [ - 12.190832, - 55.478607 - ], - [ - 12.567221, - 55.992218 - ] - ] - ], - [ - [ - [ - 11.565832, - 56.67083 - ], - [ - 11.648054, - 56.723328 - ], - [ - 11.503332, - 56.707771 - ], - [ - 11.565832, - 56.67083 - ] - ] - ], - [ - [ - [ - 8.924721, - 56.91861 - ], - [ - 8.509722, - 56.741661 - ], - [ - 8.766943, - 56.692215 - ], - [ - 8.924721, - 56.91861 - ] - ] - ], - [ - [ - [ - 9.974274, - 57.071732 - ], - [ - 9.309444, - 57.001938 - ], - [ - 9.1782, - 56.916031 - ], - [ - 9.321665, - 56.525551 - ], - [ - 9.075567, - 56.807449 - ], - [ - 8.728333, - 56.482216 - ], - [ - 8.165277, - 56.653328 - ], - [ - 8.108332, - 56.017776 - ], - [ - 8.397221, - 55.897499 - ], - [ - 8.127222, - 55.98555 - ], - [ - 8.087221, - 55.548882 - ], - [ - 8.623888, - 55.427498 - ], - [ - 8.664545, - 54.913094 - ], - [ - 9.445358, - 54.825401 - ], - [ - 9.768055, - 54.891106 - ], - [ - 9.459166, - 55.123886 - ], - [ - 9.68861, - 55.196938 - ], - [ - 9.588333, - 55.421661 - ], - [ - 9.704166, - 55.531105 - ], - [ - 9.819166, - 55.604721 - ], - [ - 9.549999, - 55.705826 - ], - [ - 9.992777, - 55.704994 - ], - [ - 10.24679, - 56.178551 - ], - [ - 10.963055, - 56.439438 - ], - [ - 9.866388, - 56.650276 - ], - [ - 10.305277, - 56.748055 - ], - [ - 10.311891, - 56.981304 - ], - [ - 9.974274, - 57.071732 - ] - ] - ], - [ - [ - [ - 11.195833, - 57.310829 - ], - [ - 10.854443, - 57.263054 - ], - [ - 10.997499, - 57.223328 - ], - [ - 11.195833, - 57.310829 - ] - ] - ], - [ - [ - [ - 10.432499, - 57.592216 - ], - [ - 10.645953, - 57.736267 - ], - [ - 8.617222, - 57.121666 - ], - [ - 8.240276, - 56.707222 - ], - [ - 8.554998, - 56.582497 - ], - [ - 8.591389, - 56.686104 - ], - [ - 8.415797, - 56.678127 - ], - [ - 8.670832, - 56.945274 - ], - [ - 9.115549, - 57.052773 - ], - [ - 9.243889, - 56.995552 - ], - [ - 10.006666, - 57.089989 - ], - [ - 10.336616, - 56.991665 - ], - [ - 10.432499, - 57.592216 - ] - ] - ] - ] - }, - "name" : "Denmark", - "iso2" : "DK", - "iso3" : "DNK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "cL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 43.249222, - 11.469534 - ], - [ - 42.866806, - 11.585428 - ], - [ - 42.508606, - 11.567221 - ], - [ - 43.413887, - 12.056944 - ], - [ - 43.121384, - 12.708332 - ], - [ - 42.399719, - 12.469721 - ], - [ - 41.828606, - 11.74 - ], - [ - 41.789719, - 11.008055 - ], - [ - 42.944092, - 11.002438 - ], - [ - 43.249222, - 11.469534 - ] - ] - ] - }, - "name" : "Djibouti", - "iso2" : "DJ", - "iso3" : "DJI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "cb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -61.363617, - 15.198055 - ], - [ - -61.253334, - 15.461388 - ], - [ - -61.452225, - 15.631943 - ], - [ - -61.363617, - 15.198055 - ] - ] - ] - }, - "name" : "Dominica", - "iso2" : "DM", - "iso3" : "DMA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "cr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -71.532227, - 17.540276 - ], - [ - -71.463058, - 17.581944 - ], - [ - -71.522232, - 17.615276 - ], - [ - -71.532227, - 17.540276 - ] - ] - ], - [ - [ - [ - -68.574448, - 18.129444 - ], - [ - -68.78389, - 18.195 - ], - [ - -68.731949, - 18.119999 - ], - [ - -68.574448, - 18.129444 - ] - ] - ], - [ - [ - [ - -70.783615, - 19.846664 - ], - [ - -71.754181, - 19.70583 - ], - [ - -71.715836, - 18.749722 - ], - [ - -72.003067, - 18.60083 - ], - [ - -71.767868, - 18.038502 - ], - [ - -71.422501, - 17.601944 - ], - [ - -71.079727, - 18.301109 - ], - [ - -70.690002, - 18.433887 - ], - [ - -70.510834, - 18.194721 - ], - [ - -69.881668, - 18.469444 - ], - [ - -68.449722, - 18.355831 - ], - [ - -68.325562, - 18.616665 - ], - [ - -68.729172, - 18.952774 - ], - [ - -69.631668, - 19.101665 - ], - [ - -69.22168, - 19.362221 - ], - [ - -69.753616, - 19.289444 - ], - [ - -69.936401, - 19.671108 - ], - [ - -70.783615, - 19.846664 - ] - ] - ] - ] - }, - "name" : "Dominican Republic", - "iso2" : "DO", - "iso3" : "DOM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "c71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -80.193344, - -3.034721 - ], - [ - -79.903061, - -2.719721 - ], - [ - -80.20668, - -2.724167 - ], - [ - -80.193344, - -3.034721 - ] - ] - ], - [ - [ - [ - -79.838623, - -2.641945 - ], - [ - -79.856674, - -2.466667 - ], - [ - -79.886948, - -2.626944 - ], - [ - -79.838623, - -2.641945 - ] - ] - ], - [ - [ - [ - -89.621124, - -1.406666 - ], - [ - -89.648346, - -1.343889 - ], - [ - -89.751953, - -1.360832 - ], - [ - -89.621124, - -1.406666 - ] - ] - ], - [ - [ - [ - -90.434448, - -1.355278 - ], - [ - -90.365845, - -1.269167 - ], - [ - -90.481674, - -1.219166 - ], - [ - -90.434448, - -1.355278 - ] - ] - ], - [ - [ - [ - -90.043335, - -0.838888 - ], - [ - -90.039734, - -0.809444 - ], - [ - -90.08223, - -0.801111 - ], - [ - -90.043335, - -0.838888 - ] - ] - ], - [ - [ - [ - -89.443619, - -0.936666 - ], - [ - -89.258621, - -0.6875 - ], - [ - -89.629456, - -0.927221 - ], - [ - -89.443619, - -0.936666 - ] - ] - ], - [ - [ - [ - -90.260559, - -0.75111 - ], - [ - -90.190567, - -0.542778 - ], - [ - -90.535278, - -0.583889 - ], - [ - -90.260559, - -0.75111 - ] - ] - ], - [ - [ - [ - -91.498901, - -0.496111 - ], - [ - -91.471115, - -0.248056 - ], - [ - -91.663895, - -0.316111 - ], - [ - -91.498901, - -0.496111 - ] - ] - ], - [ - [ - [ - -90.547501, - -0.305 - ], - [ - -90.793335, - -0.149443 - ], - [ - -90.874451, - -0.27 - ], - [ - -90.547501, - -0.305 - ] - ] - ], - [ - [ - [ - -91.218903, - -0.01111 - ], - [ - -91.605835, - -0.004999 - ], - [ - -91.080566, - -0.587221 - ], - [ - -91.376114, - -1.026667 - ], - [ - -90.810837, - -0.7325 - ], - [ - -91.218903, - -0.01111 - ] - ] - ], - [ - [ - [ - -90.459166, - 0.26639 - ], - [ - -90.40834, - 0.326944 - ], - [ - -90.532501, - 0.346666 - ], - [ - -90.459166, - 0.26639 - ] - ] - ], - [ - [ - [ - -90.751114, - 0.547503 - ], - [ - -90.792236, - 0.651667 - ], - [ - -90.799728, - 0.563334 - ], - [ - -90.751114, - 0.547503 - ] - ] - ], - [ - [ - [ - -75.285843, - -0.119722 - ], - [ - -76.243057, - 0.395555 - ], - [ - -77.379456, - 0.384722 - ], - [ - -78.591675, - 1.243055 - ], - [ - -78.809723, - 1.43778 - ], - [ - -80.059723, - 0.828611 - ], - [ - -80.068344, - 0.06278 - ], - [ - -80.501953, - -0.3675 - ], - [ - -80.264725, - -0.627222 - ], - [ - -80.911118, - -1.031111 - ], - [ - -80.890015, - -2.320555 - ], - [ - -80.256393, - -2.736389 - ], - [ - -79.763626, - -2.009167 - ], - [ - -79.84584, - -2.376389 - ], - [ - -79.727509, - -2.602777 - ], - [ - -79.948059, - -3.198334 - ], - [ - -80.340424, - -3.380516 - ], - [ - -80.153336, - -3.884228 - ], - [ - -80.467224, - -3.986944 - ], - [ - -80.467789, - -4.43889 - ], - [ - -79.649733, - -4.432777 - ], - [ - -79.054825, - -5.009132 - ], - [ - -78.70903, - -4.584787 - ], - [ - -78.337509, - -3.422777 - ], - [ - -76.660629, - -2.572134 - ], - [ - -75.559174, - -1.534166 - ], - [ - -75.21608, - -0.965336 - ], - [ - -75.62796, - -0.108858 - ], - [ - -75.285843, - -0.119722 - ] - ], - [ - [ - -78.912231, - 1.239168 - ], - [ - -78.998901, - 1.275 - ], - [ - -78.903336, - 1.367781 - ], - [ - -78.912231, - 1.239168 - ] - ] - ] - ] - }, - "name" : "Ecuador", - "iso2" : "EC", - "iso3" : "ECU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "dL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 34.026384, - 27.498335 - ], - [ - 33.917498, - 27.526388 - ], - [ - 34.041941, - 27.442221 - ], - [ - 34.026384, - 27.498335 - ] - ] - ], - [ - [ - [ - 32.04722, - 31.143332 - ], - [ - 32.049997, - 31.153334 - ], - [ - 32.042772, - 31.158056 - ], - [ - 32.04722, - 31.143332 - ] - ] - ], - [ - [ - [ - 33.476664, - 31.137499 - ], - [ - 33.400553, - 31.181665 - ], - [ - 33.266665, - 31.215277 - ], - [ - 33.476664, - 31.137499 - ] - ] - ], - [ - [ - [ - 33.195276, - 31.232779 - ], - [ - 33.096109, - 31.2325 - ], - [ - 32.976664, - 31.168333 - ], - [ - 33.101664, - 31.227221 - ], - [ - 33.261385, - 31.214998 - ], - [ - 33.195276, - 31.232779 - ] - ] - ], - [ - [ - [ - 25.316668, - 31.501112 - ], - [ - 25.151667, - 31.646944 - ], - [ - 24.706667, - 30.168612 - ], - [ - 24.997778, - 29.248888 - ], - [ - 25.001425, - 21.999697 - ], - [ - 31.271112, - 21.998335 - ], - [ - 31.455557, - 22.232222 - ], - [ - 31.45389, - 21.998335 - ], - [ - 36.888468, - 22.000113 - ], - [ - 35.670557, - 22.965834 - ], - [ - 35.483057, - 23.938334 - ], - [ - 35.813051, - 23.916113 - ], - [ - 35.138613, - 24.5175 - ], - [ - 33.558886, - 27.883055 - ], - [ - 32.34083, - 29.596945 - ], - [ - 32.574999, - 30.005278 - ], - [ - 33.242777, - 28.554445 - ], - [ - 34.254442, - 27.728613 - ], - [ - 34.903803, - 29.486708 - ], - [ - 34.26758, - 31.216543 - ], - [ - 34.216661, - 31.323332 - ], - [ - 33.743891, - 31.133333 - ], - [ - 33.532778, - 31.116945 - ], - [ - 33.410555, - 31.154722 - ], - [ - 33.14361, - 31.058332 - ], - [ - 33.149721, - 31.101667 - ], - [ - 33.111666, - 31.193056 - ], - [ - 32.717218, - 31.032499 - ], - [ - 32.21055, - 31.288057 - ], - [ - 32.143068, - 31.074167 - ], - [ - 31.77389, - 31.271666 - ], - [ - 31.9, - 31.531111 - ], - [ - 32.204996, - 31.289999 - ], - [ - 31.92148, - 31.529886 - ], - [ - 31.027777, - 31.600557 - ], - [ - 29.069445, - 30.821665 - ], - [ - 27.33111, - 31.374998 - ], - [ - 25.316668, - 31.501112 - ] - ], - [ - [ - 34.00139, - 26.707224 - ], - [ - 33.960001, - 26.788332 - ], - [ - 33.994722, - 26.749723 - ], - [ - 34.00139, - 26.707224 - ] - ] - ] - ] - }, - "name" : "Egypt", - "iso2" : "EG", - "iso3" : "EGY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "db1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -9.656389, - 53.222223 - ], - [ - -9.660833, - 53.280001 - ], - [ - -9.724724, - 53.268053 - ], - [ - -9.656389, - 53.222223 - ] - ] - ], - [ - [ - [ - -9.964169, - 54.01861 - ], - [ - -10.268612, - 53.975 - ], - [ - -9.955002, - 53.876665 - ], - [ - -9.964169, - 54.01861 - ] - ] - ], - [ - [ - [ - -8.518612, - 54.964167 - ], - [ - -8.490557, - 54.994722 - ], - [ - -8.546946, - 55.011942 - ], - [ - -8.518612, - 54.964167 - ] - ] - ], - [ - [ - [ - -6.266975, - 54.099833 - ], - [ - -7.030834, - 54.417772 - ], - [ - -7.559444, - 54.12694 - ], - [ - -8.159445, - 54.441942 - ], - [ - -7.406389, - 54.953333 - ], - [ - -7.252506, - 55.070597 - ], - [ - -6.931667, - 55.235834 - ], - [ - -7.393888, - 55.379442 - ], - [ - -7.681389, - 54.948328 - ], - [ - -7.657499, - 55.274439 - ], - [ - -8.317501, - 55.108889 - ], - [ - -8.800835, - 54.691668 - ], - [ - -8.188334, - 54.633608 - ], - [ - -8.668335, - 54.349443 - ], - [ - -8.471668, - 54.27389 - ], - [ - -10.112223, - 54.229998 - ], - [ - -10.124445, - 54.096384 - ], - [ - -10.006111, - 54.218889 - ], - [ - -9.787779, - 53.941942 - ], - [ - -9.940556, - 53.866945 - ], - [ - -9.56139, - 53.85972 - ], - [ - -10.175835, - 53.407778 - ], - [ - -8.941113, - 53.264162 - ], - [ - -9.93639, - 52.555834 - ], - [ - -8.818335, - 52.665552 - ], - [ - -10.460835, - 52.182222 - ], - [ - -9.757778, - 52.148607 - ], - [ - -10.338593, - 51.782923 - ], - [ - -9.577501, - 51.872217 - ], - [ - -10.132502, - 51.593332 - ], - [ - -9.535557, - 51.750002 - ], - [ - -9.817501, - 51.445551 - ], - [ - -9.234167, - 51.480555 - ], - [ - -6.994722, - 52.282778 - ], - [ - -6.361111, - 52.1775 - ], - [ - -6.013056, - 52.945002 - ], - [ - -6.266975, - 54.099833 - ] - ], - [ - [ - -8.436945, - 54.944445 - ], - [ - -8.45389, - 54.954996 - ], - [ - -8.438612, - 54.955278 - ], - [ - -8.436945, - 54.944445 - ] - ] - ] - ] - }, - "name" : "Ireland", - "iso2" : "IE", - "iso3" : "IRL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "dr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 5.641388, - -1.474722 - ], - [ - 5.633888, - -1.420556 - ], - [ - 5.615277, - -1.469167 - ], - [ - 5.641388, - -1.474722 - ] - ] - ], - [ - [ - [ - 11.339764, - 2.168611 - ], - [ - 10.02611, - 2.168056 - ], - [ - 9.811764, - 2.343698 - ], - [ - 9.356943, - 1.167222 - ], - [ - 9.803976, - 1.002608 - ], - [ - 11.353888, - 1.001944 - ], - [ - 11.339764, - 2.168611 - ] - ] - ], - [ - [ - [ - 8.856667, - 3.499444 - ], - [ - 8.958887, - 3.703888 - ], - [ - 8.68611, - 3.741666 - ], - [ - 8.44611, - 3.274444 - ], - [ - 8.856667, - 3.499444 - ] - ] - ] - ] - }, - "name" : "Equatorial Guinea", - "iso2" : "GQ", - "iso3" : "GNQ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "d71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 23.990829, - 58.099998 - ], - [ - 24.022186, - 58.142746 - ], - [ - 23.947773, - 58.147217 - ], - [ - 23.990829, - 58.099998 - ] - ] - ], - [ - [ - [ - 22.990829, - 58.597771 - ], - [ - 21.83194, - 58.504997 - ], - [ - 22.201385, - 58.144714 - ], - [ - 21.99416, - 57.922768 - ], - [ - 23.332775, - 58.441658 - ], - [ - 22.990829, - 58.597771 - ] - ] - ], - [ - [ - [ - 23.364998, - 58.529991 - ], - [ - 23.247459, - 58.671051 - ], - [ - 23.057774, - 58.60833 - ], - [ - 23.364998, - 58.529991 - ] - ] - ], - [ - [ - [ - 23.277222, - 58.963051 - ], - [ - 23.391663, - 58.998047 - ], - [ - 23.110828, - 59.024712 - ], - [ - 23.277222, - 58.963051 - ] - ] - ], - [ - [ - [ - 22.749718, - 59 - ], - [ - 22.042221, - 58.939987 - ], - [ - 23.045277, - 58.83638 - ], - [ - 22.749718, - 59 - ] - ] - ], - [ - [ - [ - 27.372059, - 57.535637 - ], - [ - 27.823051, - 57.873878 - ], - [ - 27.426105, - 58.813606 - ], - [ - 28.170359, - 59.30978 - ], - [ - 28.015831, - 59.4786 - ], - [ - 25.780277, - 59.628876 - ], - [ - 23.464161, - 59.206383 - ], - [ - 23.483051, - 58.80999 - ], - [ - 23.874996, - 58.7686 - ], - [ - 23.495548, - 58.694153 - ], - [ - 23.728607, - 58.370827 - ], - [ - 24.555553, - 58.327217 - ], - [ - 24.31498, - 57.871826 - ], - [ - 25.294998, - 58.084435 - ], - [ - 26.511387, - 57.5261 - ], - [ - 27.372059, - 57.535637 - ] - ] - ] - ] - }, - "name" : "Estonia", - "iso2" : "EE", - "iso3" : "EST" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "eL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 40.087219, - 15.851665 - ], - [ - 39.977776, - 15.605 - ], - [ - 40.419441, - 15.573889 - ], - [ - 40.087219, - 15.851665 - ] - ] - ], - [ - [ - [ - 40.113327, - 16.055832 - ], - [ - 40.030273, - 16.095276 - ], - [ - 39.979721, - 16.012218 - ], - [ - 40.113327, - 16.055832 - ] - ] - ], - [ - [ - [ - 43.121384, - 12.708332 - ], - [ - 41.170555, - 14.6325 - ], - [ - 40.17083, - 14.97361 - ], - [ - 39.881386, - 15.489443 - ], - [ - 39.721107, - 15.084166 - ], - [ - 38.797775, - 17.653332 - ], - [ - 38.600693, - 17.994881 - ], - [ - 37.423286, - 17.034214 - ], - [ - 36.995827, - 17.073887 - ], - [ - 36.973053, - 16.269444 - ], - [ - 36.443283, - 15.149952 - ], - [ - 36.542816, - 14.262053 - ], - [ - 37.291664, - 14.451944 - ], - [ - 37.572212, - 14.102253 - ], - [ - 37.911385, - 14.88361 - ], - [ - 38.44944, - 14.4175 - ], - [ - 39.024021, - 14.655162 - ], - [ - 40.228058, - 14.443506 - ], - [ - 42.399719, - 12.469721 - ], - [ - 43.121384, - 12.708332 - ] - ] - ] - ] - }, - "name" : "Eritrea", - "iso2" : "ER", - "iso3" : "ERI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "eb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -87.686401, - 13.168333 - ], - [ - -87.723068, - 13.214722 - ], - [ - -87.72168, - 13.168055 - ], - [ - -87.686401, - 13.168333 - ] - ] - ], - [ - [ - [ - -87.815582, - 13.405386 - ], - [ - -87.75029, - 13.864166 - ], - [ - -88.47084, - 13.855276 - ], - [ - -89.339737, - 14.416111 - ], - [ - -89.348312, - 14.431982 - ], - [ - -90.09639, - 13.745832 - ], - [ - -88.53862, - 13.194166 - ], - [ - -87.93779, - 13.156387 - ], - [ - -87.815582, - 13.405386 - ] - ] - ] - ] - }, - "name" : "El Salvador", - "iso2" : "SV", - "iso3" : "SLV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "er1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 36.542816, - 14.262053 - ], - [ - 36.142693, - 12.706923 - ], - [ - 35.70108, - 12.666115 - ], - [ - 35.096939, - 11.826944 - ], - [ - 34.864441, - 10.734999 - ], - [ - 34.594444, - 10.887777 - ], - [ - 34.28611, - 10.554165 - ], - [ - 34.120552, - 8.577221 - ], - [ - 33.252777, - 8.458611 - ], - [ - 32.991104, - 7.924999 - ], - [ - 33.711388, - 7.660277 - ], - [ - 34.70472, - 6.677777 - ], - [ - 35.301941, - 5.378055 - ], - [ - 35.821663, - 5.32861 - ], - [ - 35.940552, - 4.622499 - ], - [ - 37.039719, - 4.375555 - ], - [ - 38.121109, - 3.611666 - ], - [ - 39.524437, - 3.406389 - ], - [ - 40.783768, - 4.287975 - ], - [ - 41.171387, - 3.9425 - ], - [ - 41.905167, - 3.980322 - ], - [ - 43.686386, - 4.891944 - ], - [ - 44.950829, - 4.902499 - ], - [ - 47.988243, - 8.004107 - ], - [ - 47.01194, - 8.00111 - ], - [ - 44.010551, - 9.007221 - ], - [ - 42.848053, - 10.22361 - ], - [ - 42.663055, - 10.6325 - ], - [ - 42.944092, - 11.002438 - ], - [ - 41.789719, - 11.008055 - ], - [ - 41.828606, - 11.74 - ], - [ - 42.399719, - 12.469721 - ], - [ - 40.228058, - 14.443506 - ], - [ - 39.024021, - 14.655162 - ], - [ - 38.44944, - 14.4175 - ], - [ - 37.911385, - 14.88361 - ], - [ - 37.572212, - 14.102253 - ], - [ - 37.291664, - 14.451944 - ], - [ - 36.542816, - 14.262053 - ] - ] - ] - }, - "name" : "Ethiopia", - "iso2" : "ET", - "iso3" : "ETH" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "e71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 13.833611, - 48.773605 - ], - [ - 12.758333, - 48.123886 - ], - [ - 13.016666, - 47.470276 - ], - [ - 12.735554, - 47.684166 - ], - [ - 11.095554, - 47.396111 - ], - [ - 10.478054, - 47.591942 - ], - [ - 10.173332, - 47.274719 - ], - [ - 9.566724, - 47.540451 - ], - [ - 9.533569, - 47.274544 - ], - [ - 9.598635, - 47.063835 - ], - [ - 10.471235, - 46.871353 - ], - [ - 12.127777, - 47.001663 - ], - [ - 12.440554, - 46.690826 - ], - [ - 13.718655, - 46.526611 - ], - [ - 14.544998, - 46.407494 - ], - [ - 16.111805, - 46.86972 - ], - [ - 16.510555, - 47.00666 - ], - [ - 16.713886, - 47.543884 - ], - [ - 16.450554, - 47.698051 - ], - [ - 17.053886, - 47.709442 - ], - [ - 17.166386, - 48.012497 - ], - [ - 16.946182, - 48.619064 - ], - [ - 15.025833, - 49.018883 - ], - [ - 14.70028, - 48.581379 - ], - [ - 13.833611, - 48.773605 - ] - ] - ] - }, - "name" : "Austria", - "iso2" : "AT", - "iso3" : "AUT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "fL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 13.833611, - 48.773605 - ], - [ - 14.70028, - 48.581379 - ], - [ - 15.025833, - 49.018883 - ], - [ - 16.946182, - 48.619064 - ], - [ - 18.851246, - 49.517357 - ], - [ - 18.577221, - 49.914444 - ], - [ - 17.657776, - 50.108055 - ], - [ - 17.722775, - 50.319717 - ], - [ - 16.890274, - 50.439438 - ], - [ - 17.00222, - 50.216942 - ], - [ - 16.641941, - 50.10833 - ], - [ - 16.20583, - 50.423882 - ], - [ - 16.341942, - 50.66111 - ], - [ - 14.828333, - 50.865829 - ], - [ - 14.309721, - 51.053604 - ], - [ - 12.093704, - 50.322533 - ], - [ - 12.674444, - 49.424995 - ], - [ - 13.833611, - 48.773605 - ] - ] - ] - }, - "name" : "Czech Republic", - "iso2" : "CZ", - "iso3" : "CZE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "fb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -54.603783, - 2.329195 - ], - [ - -52.909729, - 2.195833 - ], - [ - -51.684067, - 4.034163 - ], - [ - -51.850563, - 4.653333 - ], - [ - -52.040001, - 4.331388 - ], - [ - -52.285278, - 4.937499 - ], - [ - -53.494339, - 5.572342 - ], - [ - -53.939728, - 5.744721 - ], - [ - -54.166946, - 5.346944 - ], - [ - -54.477501, - 4.747777 - ], - [ - -54.001114, - 3.448333 - ], - [ - -54.603783, - 2.329195 - ] - ] - ] - }, - "name" : "French Guiana", - "iso2" : "GF", - "iso3" : "GUF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "fr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 22.833612, - 59.956385 - ], - [ - 22.917501, - 59.898333 - ], - [ - 23.0725, - 59.951113 - ], - [ - 22.833612, - 59.956385 - ] - ] - ], - [ - [ - [ - 22.438887, - 59.995829 - ], - [ - 22.440554, - 60.072496 - ], - [ - 22.351946, - 60.066942 - ], - [ - 22.438887, - 59.995829 - ] - ] - ], - [ - [ - [ - 21.598055, - 60.098055 - ], - [ - 21.655554, - 60.15555 - ], - [ - 21.485277, - 60.113886 - ], - [ - 21.598055, - 60.098055 - ] - ] - ], - [ - [ - [ - 21.748888, - 60.111383 - ], - [ - 21.885279, - 60.177217 - ], - [ - 21.715555, - 60.183054 - ], - [ - 21.748888, - 60.111383 - ] - ] - ], - [ - [ - [ - 21.396666, - 60.178606 - ], - [ - 21.268332, - 60.188051 - ], - [ - 21.385279, - 60.156664 - ], - [ - 21.396666, - 60.178606 - ] - ] - ], - [ - [ - [ - 22.000834, - 60.129442 - ], - [ - 22.060835, - 60.20389 - ], - [ - 21.937498, - 60.17 - ], - [ - 22.000834, - 60.129442 - ] - ] - ], - [ - [ - [ - 25.848612, - 60.195551 - ], - [ - 25.874998, - 60.211107 - ], - [ - 25.810556, - 60.204165 - ], - [ - 25.848612, - 60.195551 - ] - ] - ], - [ - [ - [ - 22.824446, - 60.227221 - ], - [ - 22.587778, - 60.202501 - ], - [ - 22.44972, - 60.218332 - ], - [ - 22.469465, - 60.000002 - ], - [ - 22.824446, - 60.227221 - ] - ] - ], - [ - [ - [ - 22.242224, - 60.181108 - ], - [ - 22.294443, - 60.248606 - ], - [ - 22.217779, - 60.218607 - ], - [ - 22.242224, - 60.181108 - ] - ] - ], - [ - [ - [ - 22.342222, - 60.283052 - ], - [ - 22.096109, - 60.307779 - ], - [ - 22.068888, - 60.26861 - ], - [ - 22.342222, - 60.283052 - ] - ] - ], - [ - [ - [ - 22.383333, - 60.288332 - ], - [ - 22.476946, - 60.32361 - ], - [ - 22.325277, - 60.334719 - ], - [ - 22.383333, - 60.288332 - ] - ] - ], - [ - [ - [ - 21.982779, - 60.324167 - ], - [ - 21.807501, - 60.465555 - ], - [ - 21.789999, - 60.372499 - ], - [ - 21.982779, - 60.324167 - ] - ] - ], - [ - [ - [ - 21.751665, - 60.498331 - ], - [ - 21.763334, - 60.522501 - ], - [ - 21.730001, - 60.520273 - ], - [ - 21.684446, - 60.452776 - ], - [ - 21.751665, - 60.498331 - ] - ] - ], - [ - [ - [ - 21.483332, - 60.520273 - ], - [ - 21.321943, - 60.543055 - ], - [ - 21.432501, - 60.469721 - ], - [ - 21.483332, - 60.520273 - ] - ] - ], - [ - [ - [ - 21.32889, - 60.481112 - ], - [ - 21.226946, - 60.5525 - ], - [ - 21.275835, - 60.478052 - ], - [ - 21.32889, - 60.481112 - ] - ] - ], - [ - [ - [ - 21.290277, - 60.612223 - ], - [ - 21.214167, - 60.619722 - ], - [ - 21.289167, - 60.561388 - ], - [ - 21.290277, - 60.612223 - ] - ] - ], - [ - [ - [ - 21.327501, - 60.877222 - ], - [ - 21.357222, - 60.921946 - ], - [ - 21.254168, - 60.958887 - ], - [ - 21.327501, - 60.877222 - ] - ] - ], - [ - [ - [ - 21.080278, - 63.281389 - ], - [ - 21.246946, - 63.144724 - ], - [ - 21.427221, - 63.196939 - ], - [ - 21.080278, - 63.281389 - ] - ] - ], - [ - [ - [ - 22.180834, - 63.265276 - ], - [ - 22.192499, - 63.321939 - ], - [ - 22.040834, - 63.30694 - ], - [ - 22.180834, - 63.265276 - ] - ] - ], - [ - [ - [ - 21.323332, - 63.289164 - ], - [ - 21.381109, - 63.341112 - ], - [ - 21.231943, - 63.325556 - ], - [ - 21.323332, - 63.289164 - ] - ] - ], - [ - [ - [ - 22.87361, - 63.799997 - ], - [ - 22.806112, - 63.87694 - ], - [ - 22.671389, - 63.794443 - ], - [ - 22.87361, - 63.799997 - ] - ] - ], - [ - [ - [ - 24.734999, - 64.944445 - ], - [ - 25.035002, - 65.036104 - ], - [ - 24.551668, - 65.024996 - ], - [ - 24.734999, - 64.944445 - ] - ] - ], - [ - [ - [ - 24.462221, - 65.763887 - ], - [ - 24.503054, - 65.78055 - ], - [ - 24.436945, - 65.769716 - ], - [ - 24.462221, - 65.763887 - ] - ] - ], - [ - [ - [ - 28.957342, - 69.051622 - ], - [ - 28.784166, - 69.160555 - ], - [ - 29.176111, - 69.635271 - ], - [ - 28.165834, - 69.912218 - ], - [ - 26.449999, - 69.927217 - ], - [ - 25.945833, - 69.673326 - ], - [ - 25.76111, - 68.989168 - ], - [ - 24.934919, - 68.580812 - ], - [ - 23.976389, - 68.832491 - ], - [ - 22.398333, - 68.711107 - ], - [ - 21.320833, - 69.326113 - ], - [ - 20.580931, - 69.060305 - ], - [ - 21.809168, - 68.570543 - ], - [ - 23.666113, - 67.941668 - ], - [ - 23.431112, - 67.465548 - ], - [ - 23.767778, - 67.416109 - ], - [ - 23.571665, - 67.156664 - ], - [ - 24.007776, - 66.800554 - ], - [ - 23.661943, - 66.312212 - ], - [ - 24.167009, - 65.814028 - ], - [ - 24.689165, - 65.896105 - ], - [ - 24.669168, - 65.654711 - ], - [ - 25.310835, - 65.51111 - ], - [ - 25.447222, - 64.954714 - ], - [ - 24.542223, - 64.802492 - ], - [ - 24.343332, - 64.523607 - ], - [ - 23.318888, - 63.896662 - ], - [ - 22.188055, - 63.463053 - ], - [ - 22.337221, - 63.273607 - ], - [ - 21.497778, - 63.210001 - ], - [ - 21.68611, - 63.024996 - ], - [ - 21.064722, - 62.612223 - ], - [ - 21.668055, - 61.546946 - ], - [ - 21.35861, - 60.653612 - ], - [ - 22.632223, - 60.391939 - ], - [ - 22.447222, - 60.24444 - ], - [ - 22.574999, - 60.21055 - ], - [ - 22.662779, - 60.222223 - ], - [ - 23.055834, - 60.353334 - ], - [ - 23.086943, - 60.346941 - ], - [ - 22.874445, - 60.145555 - ], - [ - 23.338335, - 60.019999 - ], - [ - 22.909723, - 59.804995 - ], - [ - 25.92, - 60.241663 - ], - [ - 26.659166, - 60.647501 - ], - [ - 26.497221, - 60.446939 - ], - [ - 27.807833, - 60.546404 - ], - [ - 31.58893, - 62.914415 - ], - [ - 29.993334, - 63.743608 - ], - [ - 30.578054, - 64.221376 - ], - [ - 29.636667, - 64.928057 - ], - [ - 29.818888, - 65.653322 - ], - [ - 30.134165, - 65.719164 - ], - [ - 29.074999, - 66.89583 - ], - [ - 30.028612, - 67.694719 - ], - [ - 28.693335, - 68.197496 - ], - [ - 28.457499, - 68.531939 - ], - [ - 28.820555, - 68.844439 - ], - [ - 28.431944, - 68.896944 - ], - [ - 28.957342, - 69.051622 - ] - ], - [ - [ - 25.677221, - 60.234995 - ], - [ - 25.598055, - 60.207773 - ], - [ - 25.56111, - 60.265833 - ], - [ - 25.677221, - 60.234995 - ] - ], - [ - [ - 23.705828, - 59.927217 - ], - [ - 23.370001, - 59.911386 - ], - [ - 23.538328, - 59.960276 - ], - [ - 23.705828, - 59.927217 - ] - ] - ] - ] - }, - "name" : "Finland", - "iso2" : "FI", - "iso3" : "FIN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "f71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -178.707764, - -20.674442 - ], - [ - -178.73056, - -20.646114 - ], - [ - -178.737213, - -20.666115 - ], - [ - -178.707764, - -20.674442 - ] - ] - ], - [ - [ - [ - -178.211426, - -19.852505 - ], - [ - -178.19809, - -19.835838 - ], - [ - -178.209747, - -19.826389 - ], - [ - -178.211426, - -19.852505 - ] - ] - ], - [ - [ - [ - -178.396698, - -19.185001 - ], - [ - -178.398621, - -19.129169 - ], - [ - -178.425049, - -19.177502 - ], - [ - -178.396698, - -19.185001 - ] - ] - ], - [ - [ - [ - 179.779694, - -19.195278 - ], - [ - 179.773041, - -19.123333 - ], - [ - 179.740234, - -19.188053 - ], - [ - 179.779694, - -19.195278 - ] - ] - ], - [ - [ - [ - -178.538605, - -19.181946 - ], - [ - -178.585846, - -19.113613 - ], - [ - -178.596954, - -19.155834 - ], - [ - -178.538605, - -19.181946 - ] - ] - ], - [ - [ - [ - 178.498291, - -18.989998 - ], - [ - 178.306915, - -18.935555 - ], - [ - 177.95108, - -19.13139 - ], - [ - 178.498291, - -18.989998 - ] - ] - ], - [ - [ - [ - -178.936707, - -18.989445 - ], - [ - -178.949432, - -18.925835 - ], - [ - -178.967224, - -18.978336 - ], - [ - -178.936707, - -18.989445 - ] - ] - ], - [ - [ - [ - -179.78363, - -18.946388 - ], - [ - -179.845001, - -18.922504 - ], - [ - -179.868896, - -19.005283 - ], - [ - -179.78363, - -18.946388 - ] - ] - ], - [ - [ - [ - 178.528046, - -18.910831 - ], - [ - 178.521637, - -18.859722 - ], - [ - 178.476624, - -18.883057 - ], - [ - 178.528046, - -18.910831 - ] - ] - ], - [ - [ - [ - -178.498627, - -18.674725 - ], - [ - -178.473053, - -18.650558 - ], - [ - -178.506683, - -18.635281 - ], - [ - -178.498627, - -18.674725 - ] - ] - ], - [ - [ - [ - 179.91275, - -18.641945 - ], - [ - 179.963867, - -18.540558 - ], - [ - 179.837463, - -18.576389 - ], - [ - 179.91275, - -18.641945 - ] - ] - ], - [ - [ - [ - 177.6633, - -18.590279 - ], - [ - 177.630798, - -18.491943 - ], - [ - 177.61911, - -18.538334 - ], - [ - 177.6633, - -18.590279 - ] - ] - ], - [ - [ - [ - 178.132721, - -18.4175 - ], - [ - 178.139709, - -18.351944 - ], - [ - 178.109406, - -18.407501 - ], - [ - 178.132721, - -18.4175 - ] - ] - ], - [ - [ - [ - -178.778351, - -18.249725 - ], - [ - -178.747528, - -18.201389 - ], - [ - -178.828613, - -18.190002 - ], - [ - -178.778351, - -18.249725 - ] - ] - ], - [ - [ - [ - 179.351898, - -18.121113 - ], - [ - 179.266663, - -17.936111 - ], - [ - 179.245789, - -18.036388 - ], - [ - 179.351898, - -18.121113 - ] - ] - ], - [ - [ - [ - -179.011719, - -17.995277 - ], - [ - -178.991119, - -17.950832 - ], - [ - -179.068359, - -17.932503 - ], - [ - -179.011719, - -17.995277 - ] - ] - ], - [ - [ - [ - -178.286987, - -17.96611 - ], - [ - -178.244476, - -17.917778 - ], - [ - -178.347809, - -17.894165 - ], - [ - -178.286987, - -17.96611 - ] - ] - ], - [ - [ - [ - 179.421906, - -17.848335 - ], - [ - 179.421082, - -17.797222 - ], - [ - 179.392761, - -17.786388 - ], - [ - 179.421906, - -17.848335 - ] - ] - ], - [ - [ - [ - -179.292511, - -17.783897 - ], - [ - -179.319153, - -17.727509 - ], - [ - -179.331146, - -17.771954 - ], - [ - -179.292511, - -17.783897 - ] - ] - ], - [ - [ - [ - 178.820251, - -17.742775 - ], - [ - 178.791931, - -17.621113 - ], - [ - 178.747742, - -17.719719 - ], - [ - 178.820251, - -17.742775 - ] - ] - ], - [ - [ - [ - -179.141998, - -17.476952 - ], - [ - -179.143341, - -17.431114 - ], - [ - -179.178894, - -17.433064 - ], - [ - -179.141998, - -17.476952 - ] - ] - ], - [ - [ - [ - 178.280823, - -17.403053 - ], - [ - 177.510254, - -17.509445 - ], - [ - 177.299133, - -18.078613 - ], - [ - 178.67804, - -18.078335 - ], - [ - 178.280823, - -17.403053 - ] - ] - ], - [ - [ - [ - 177.112457, - -17.314445 - ], - [ - 177.141937, - -17.247776 - ], - [ - 177.10025, - -17.271114 - ], - [ - 177.112457, - -17.314445 - ] - ] - ], - [ - [ - [ - -179.128632, - -17.283611 - ], - [ - -179.121429, - -17.258617 - ], - [ - -179.162811, - -17.250835 - ], - [ - -179.128632, - -17.283611 - ] - ] - ], - [ - [ - [ - 179.399414, - -17.394444 - ], - [ - 179.433044, - -17.242222 - ], - [ - 179.357178, - -17.259445 - ], - [ - 179.399414, - -17.394444 - ] - ] - ], - [ - [ - [ - -178.925293, - -17.257225 - ], - [ - -179.02005, - -17.153053 - ], - [ - -178.98584, - -17.318058 - ], - [ - -178.925293, - -17.257225 - ] - ] - ], - [ - [ - [ - 177.263611, - -17.123611 - ], - [ - 177.281097, - -17.051945 - ], - [ - 177.177185, - -17.163612 - ], - [ - 177.263611, - -17.123611 - ] - ] - ], - [ - [ - [ - 178.333038, - -16.835835 - ], - [ - 178.277191, - -16.789444 - ], - [ - 178.282196, - -16.833889 - ], - [ - 178.333038, - -16.835835 - ] - ] - ], - [ - [ - [ - 179.947479, - -17.002781 - ], - [ - 180, - -16.787395 - ], - [ - 179.882446, - -16.964165 - ], - [ - 179.947479, - -17.002781 - ] - ] - ], - [ - [ - [ - -179.993317, - -16.955276 - ], - [ - -179.821106, - -16.781094 - ], - [ - -179.861633, - -16.680321 - ], - [ - -179.993317, - -16.955276 - ] - ] - ], - [ - [ - [ - 177.443024, - -16.83778 - ], - [ - 177.593018, - -16.687778 - ], - [ - 177.559967, - -16.677498 - ], - [ - 177.443024, - -16.83778 - ] - ] - ], - [ - [ - [ - 179.929413, - -16.659164 - ], - [ - 179.947754, - -16.613056 - ], - [ - 179.916656, - -16.625832 - ], - [ - 179.88443, - -16.657501 - ], - [ - 179.914154, - -16.661945 - ], - [ - 179.929413, - -16.659164 - ] - ] - ], - [ - [ - [ - 180, - -16.537918 - ], - [ - 180, - -16.494274 - ], - [ - 179.981079, - -16.524445 - ], - [ - 180, - -16.537918 - ] - ] - ], - [ - [ - [ - -179.976166, - -16.535278 - ], - [ - -179.896423, - -16.43111 - ], - [ - -179.988617, - -16.476952 - ], - [ - -179.976166, - -16.535278 - ] - ] - ], - [ - [ - [ - 179.958008, - -16.197498 - ], - [ - 178.478851, - -16.78167 - ], - [ - 178.747192, - -17.011948 - ], - [ - 179.265808, - -16.690556 - ], - [ - 179.902191, - -16.769447 - ], - [ - 179.951904, - -16.741943 - ], - [ - 179.871338, - -16.665001 - ], - [ - 179.950256, - -16.513058 - ], - [ - 179.932465, - -16.460831 - ], - [ - 179.478577, - -16.701111 - ], - [ - 179.958008, - -16.197498 - ] - ] - ], - [ - [ - [ - -179.968872, - -16.16761 - ], - [ - -179.941132, - -16.128345 - ], - [ - -180, - -16.154732 - ], - [ - -179.968872, - -16.16761 - ] - ] - ], - [ - [ - [ - 177.119415, - -12.514446 - ], - [ - 177.11911, - -12.484722 - ], - [ - 177.026917, - -12.507223 - ], - [ - 177.119415, - -12.514446 - ] - ] - ] - ] - }, - "name" : "Fiji", - "iso2" : "FJ", - "iso3" : "FJI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "gL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -59.691673, - -52.242783 - ], - [ - -59.683891, - -52.172783 - ], - [ - -59.753334, - -52.170006 - ], - [ - -59.761116, - -52.273613 - ], - [ - -59.691673, - -52.242783 - ] - ] - ], - [ - [ - [ - -58.435005, - -52.093895 - ], - [ - -58.432503, - -51.99028 - ], - [ - -58.53389, - -52.024445 - ], - [ - -58.435005, - -52.093895 - ] - ] - ], - [ - [ - [ - -61.224449, - -51.864723 - ], - [ - -61.215004, - -51.797226 - ], - [ - -61.313896, - -51.824722 - ], - [ - -61.224449, - -51.864723 - ] - ] - ], - [ - [ - [ - -61.034447, - -51.869446 - ], - [ - -60.940559, - -51.800285 - ], - [ - -61.149445, - -51.848892 - ], - [ - -60.867783, - -51.903336 - ], - [ - -61.034447, - -51.869446 - ] - ] - ], - [ - [ - [ - -61.195839, - -51.699448 - ], - [ - -61.305, - -51.693062 - ], - [ - -61.315834, - -51.733612 - ], - [ - -61.195839, - -51.699448 - ] - ] - ], - [ - [ - [ - -59.210556, - -51.410561 - ], - [ - -60.019447, - -51.380005 - ], - [ - -60.132225, - -51.494728 - ], - [ - -60.642227, - -51.35556 - ], - [ - -60.163612, - -51.661392 - ], - [ - -60.638336, - -51.722229 - ], - [ - -60.180557, - -51.758896 - ], - [ - -60.980835, - -52.061951 - ], - [ - -60.368057, - -52.159172 - ], - [ - -59.210556, - -51.410561 - ] - ] - ], - [ - [ - [ - -58.696671, - -51.33667 - ], - [ - -59.718056, - -52.121117 - ], - [ - -59.348061, - -52.343056 - ], - [ - -59.449173, - -52.140839 - ], - [ - -59.035278, - -52.14389 - ], - [ - -59.289726, - -52.004173 - ], - [ - -58.64695, - -52.067223 - ], - [ - -58.940559, - -51.801949 - ], - [ - -57.731392, - -51.692223 - ], - [ - -58.142784, - -51.553894 - ], - [ - -57.761673, - -51.538338 - ], - [ - -57.911949, - -51.376396 - ], - [ - -58.279449, - -51.417503 - ], - [ - -58.226952, - -51.654449 - ], - [ - -58.696671, - -51.33667 - ] - ] - ], - [ - [ - [ - -59.935562, - -51.350838 - ], - [ - -59.906113, - -51.303062 - ], - [ - -60.025284, - -51.297783 - ], - [ - -59.935562, - -51.350838 - ] - ] - ], - [ - [ - [ - -60.110558, - -51.405281 - ], - [ - -60.068062, - -51.307503 - ], - [ - -60.300285, - -51.271393 - ], - [ - -60.110558, - -51.405281 - ] - ] - ], - [ - [ - [ - -59.508339, - -51.337502 - ], - [ - -59.479172, - -51.264725 - ], - [ - -59.811111, - -51.26973 - ], - [ - -59.508339, - -51.337502 - ] - ] - ] - ] - }, - "name" : "Falkland Islands (Malvinas)", - "iso2" : "FK", - "iso3" : "FLK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "gb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 153.674408, - 5.286943 - ], - [ - 153.711365, - 5.319721 - ], - [ - 153.659973, - 5.291666 - ], - [ - 153.674408, - 5.286943 - ] - ] - ], - [ - [ - [ - 163.007477, - 5.263055 - ], - [ - 163.016388, - 5.378332 - ], - [ - 162.904144, - 5.307221 - ], - [ - 163.007477, - 5.263055 - ] - ] - ], - [ - [ - [ - 143.063599, - 6.707222 - ], - [ - 143.063599, - 6.719443 - ], - [ - 143.054688, - 6.714722 - ], - [ - 143.063599, - 6.707222 - ] - ] - ], - [ - [ - [ - 149.320251, - 6.698332 - ], - [ - 149.324982, - 6.721944 - ], - [ - 149.313293, - 6.702499 - ], - [ - 149.320251, - 6.698332 - ] - ] - ], - [ - [ - [ - 157.9422, - 6.71861 - ], - [ - 157.952454, - 6.734444 - ], - [ - 157.931915, - 6.721944 - ], - [ - 157.9422, - 6.71861 - ] - ] - ], - [ - [ - [ - 157.973572, - 6.738332 - ], - [ - 157.992737, - 6.751944 - ], - [ - 157.964142, - 6.74111 - ], - [ - 157.973572, - 6.738332 - ] - ] - ], - [ - [ - [ - 158.29776, - 6.78611 - ], - [ - 158.318848, - 6.930277 - ], - [ - 158.120789, - 6.929721 - ], - [ - 158.29776, - 6.78611 - ] - ] - ], - [ - [ - [ - 158.253876, - 6.983333 - ], - [ - 158.259979, - 7.000278 - ], - [ - 158.241638, - 6.992777 - ], - [ - 158.253876, - 6.983333 - ] - ] - ], - [ - [ - [ - 151.860504, - 7.31861 - ], - [ - 151.866638, - 7.35861 - ], - [ - 151.839966, - 7.370276 - ], - [ - 151.860504, - 7.31861 - ] - ] - ], - [ - [ - [ - 149.20163, - 7.363333 - ], - [ - 149.203033, - 7.376388 - ], - [ - 149.194702, - 7.361388 - ], - [ - 149.20163, - 7.363333 - ] - ] - ], - [ - [ - [ - 149.191345, - 7.375554 - ], - [ - 149.188019, - 7.384444 - ], - [ - 149.177765, - 7.382499 - ], - [ - 149.191345, - 7.375554 - ] - ] - ], - [ - [ - [ - 143.920258, - 7.379721 - ], - [ - 143.914154, - 7.391388 - ], - [ - 143.911926, - 7.382499 - ], - [ - 143.920258, - 7.379721 - ] - ] - ], - [ - [ - [ - 151.63916, - 7.326666 - ], - [ - 151.608307, - 7.395277 - ], - [ - 151.5672, - 7.34111 - ], - [ - 151.63916, - 7.326666 - ] - ] - ], - [ - [ - [ - 151.911652, - 7.444999 - ], - [ - 151.866638, - 7.463888 - ], - [ - 151.85495, - 7.423888 - ], - [ - 151.911652, - 7.444999 - ] - ] - ], - [ - [ - [ - 146.193298, - 7.504167 - ], - [ - 146.187195, - 7.515555 - ], - [ - 146.179688, - 7.510833 - ], - [ - 146.193298, - 7.504167 - ] - ] - ], - [ - [ - [ - 149.674988, - 8.575554 - ], - [ - 149.688873, - 8.617496 - ], - [ - 149.659424, - 8.590275 - ], - [ - 149.674988, - 8.575554 - ] - ] - ], - [ - [ - [ - 150.378021, - 8.617496 - ], - [ - 150.366638, - 8.626387 - ], - [ - 150.373291, - 8.612776 - ], - [ - 150.378021, - 8.617496 - ] - ] - ], - [ - [ - [ - 150.130249, - 8.978331 - ], - [ - 150.128021, - 8.992496 - ], - [ - 150.118286, - 8.976387 - ], - [ - 150.130249, - 8.978331 - ] - ] - ], - [ - [ - [ - 138.209137, - 9.523888 - ], - [ - 138.133606, - 9.571943 - ], - [ - 138.060242, - 9.415276 - ], - [ - 138.209137, - 9.523888 - ] - ] - ] - ] - }, - "name" : "Micronesia, Federated States of", - "iso2" : "FM", - "iso3" : "FSM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "gr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -143.482483, - -27.914448 - ], - [ - -143.483917, - -27.900276 - ], - [ - -143.508911, - -27.890839 - ], - [ - -143.482483, - -27.914448 - ] - ] - ], - [ - [ - [ - -144.307526, - -27.642776 - ], - [ - -144.285553, - -27.577499 - ], - [ - -144.324738, - -27.553333 - ], - [ - -144.307526, - -27.642776 - ] - ] - ], - [ - [ - [ - -147.689758, - -23.881668 - ], - [ - -147.648621, - -23.853336 - ], - [ - -147.720306, - -23.865276 - ], - [ - -147.689758, - -23.881668 - ] - ] - ], - [ - [ - [ - -149.483337, - -23.401943 - ], - [ - -149.457214, - -23.361671 - ], - [ - -149.52533, - -23.373894 - ], - [ - -149.483337, - -23.401943 - ] - ] - ], - [ - [ - [ - -135.051941, - -23.163887 - ], - [ - -135.031708, - -23.143333 - ], - [ - -135.06308, - -23.156113 - ], - [ - -135.051941, - -23.163887 - ] - ] - ], - [ - [ - [ - -134.985535, - -23.139442 - ], - [ - -134.941406, - -23.085838 - ], - [ - -135.015564, - -23.12167 - ], - [ - -134.985535, - -23.139442 - ] - ] - ], - [ - [ - [ - -152.860016, - -22.656387 - ], - [ - -152.826416, - -22.634171 - ], - [ - -152.845551, - -22.605003 - ], - [ - -152.860016, - -22.656387 - ] - ] - ], - [ - [ - [ - -151.36557, - -22.518616 - ], - [ - -151.350281, - -22.464725 - ], - [ - -151.387817, - -22.425835 - ], - [ - -151.36557, - -22.518616 - ] - ] - ], - [ - [ - [ - -138.714722, - -22.271667 - ], - [ - -138.743591, - -22.204449 - ], - [ - -138.796661, - -22.22028 - ], - [ - -138.714722, - -22.271667 - ] - ] - ], - [ - [ - [ - -140.609467, - -21.71917 - ], - [ - -140.666687, - -21.655834 - ], - [ - -140.66864, - -21.708332 - ], - [ - -140.609467, - -21.71917 - ] - ] - ], - [ - [ - [ - -144.956146, - -19.923332 - ], - [ - -144.958344, - -19.895283 - ], - [ - -144.965027, - -19.929169 - ], - [ - -144.956146, - -19.923332 - ] - ] - ], - [ - [ - [ - -150.648071, - -17.662498 - ], - [ - -150.645294, - -17.642498 - ], - [ - -150.669464, - -17.645283 - ], - [ - -150.648071, - -17.662498 - ] - ] - ], - [ - [ - [ - -149.211426, - -17.733891 - ], - [ - -149.632507, - -17.549999 - ], - [ - -149.179199, - -17.870834 - ], - [ - -149.211426, - -17.733891 - ] - ] - ], - [ - [ - [ - -149.848602, - -17.573612 - ], - [ - -149.786133, - -17.46917 - ], - [ - -149.937256, - -17.484165 - ], - [ - -149.848602, - -17.573612 - ] - ] - ], - [ - [ - [ - -149.532257, - -16.974445 - ], - [ - -149.544189, - -16.964443 - ], - [ - -149.54306, - -16.974998 - ], - [ - -149.532257, - -16.974445 - ] - ] - ], - [ - [ - [ - -149.572266, - -16.969723 - ], - [ - -149.586121, - -16.956108 - ], - [ - -149.59198, - -16.980003 - ], - [ - -149.572266, - -16.969723 - ] - ] - ], - [ - [ - [ - -150.998322, - -16.824169 - ], - [ - -150.994476, - -16.762505 - ], - [ - -151.040039, - -16.786118 - ], - [ - -150.998322, - -16.824169 - ] - ] - ], - [ - [ - [ - -151.40033, - -16.888332 - ], - [ - -151.475037, - -16.740276 - ], - [ - -151.476654, - -16.895283 - ], - [ - -151.40033, - -16.888332 - ] - ] - ], - [ - [ - [ - -151.03833, - -16.769726 - ], - [ - -151.007233, - -16.74472 - ], - [ - -151.037537, - -16.693054 - ], - [ - -151.03833, - -16.769726 - ] - ] - ], - [ - [ - [ - -151.458344, - -16.673332 - ], - [ - -151.441101, - -16.599171 - ], - [ - -151.532257, - -16.589443 - ], - [ - -151.458344, - -16.673332 - ] - ] - ], - [ - [ - [ - -151.748627, - -16.534451 - ], - [ - -151.742249, - -16.490833 - ], - [ - -151.775879, - -16.473331 - ], - [ - -151.748627, - -16.534451 - ] - ] - ], - [ - [ - [ - -146.335846, - -16.164722 - ], - [ - -146.334991, - -16.113056 - ], - [ - -146.38446, - -16.110279 - ], - [ - -146.335846, - -16.164722 - ] - ] - ], - [ - [ - [ - -148.23526, - -15.848612 - ], - [ - -148.28363, - -15.800835 - ], - [ - -148.26532, - -15.846947 - ], - [ - -148.23526, - -15.848612 - ] - ] - ], - [ - [ - [ - -144.621948, - -15.74861 - ], - [ - -144.633667, - -15.708055 - ], - [ - -144.646393, - -15.73889 - ], - [ - -144.621948, - -15.74861 - ] - ] - ], - [ - [ - [ - -138.656708, - -10.549725 - ], - [ - -138.618347, - -10.465555 - ], - [ - -138.695587, - -10.431112 - ], - [ - -138.656708, - -10.549725 - ] - ] - ], - [ - [ - [ - -139.107483, - -9.978058 - ], - [ - -139.047791, - -9.914167 - ], - [ - -139.125824, - -9.906113 - ], - [ - -139.107483, - -9.978058 - ] - ] - ], - [ - [ - [ - -138.955261, - -9.743055 - ], - [ - -139.172546, - -9.780281 - ], - [ - -138.809479, - -9.744999 - ], - [ - -138.955261, - -9.743055 - ] - ] - ], - [ - [ - [ - -140.07724, - -9.450556 - ], - [ - -140.086121, - -9.324724 - ], - [ - -140.147827, - -9.380556 - ], - [ - -140.07724, - -9.450556 - ] - ] - ], - [ - [ - [ - -139.58252, - -8.87361 - ], - [ - -139.611969, - -8.95639 - ], - [ - -139.504181, - -8.917225 - ], - [ - -139.58252, - -8.87361 - ] - ] - ], - [ - [ - [ - -140.026428, - -8.901112 - ], - [ - -140.249756, - -8.802778 - ], - [ - -140.189453, - -8.954166 - ], - [ - -140.026428, - -8.901112 - ] - ] - ], - [ - [ - [ - -140.704712, - -8.044168 - ], - [ - -140.637817, - -7.959446 - ], - [ - -140.709747, - -7.965556 - ], - [ - -140.704712, - -8.044168 - ] - ] - ], - [ - [ - [ - -140.584991, - -7.92389 - ], - [ - -140.56308, - -7.888333 - ], - [ - -140.60614, - -7.913611 - ], - [ - -140.584991, - -7.92389 - ] - ] - ] - ] - }, - "name" : "French Polynesia", - "iso2" : "PF", - "iso3" : "PYF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "g71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 9.485832, - 42.615273 - ], - [ - 9.457777, - 42.643326 - ], - [ - 9.49472, - 42.603607 - ], - [ - 9.485832, - 42.615273 - ] - ] - ], - [ - [ - [ - 9.446665, - 42.678886 - ], - [ - 9.353054, - 43.003883 - ], - [ - 9.293888, - 42.675552 - ], - [ - 8.575832, - 42.383606 - ], - [ - 8.789165, - 41.558052 - ], - [ - 9.180832, - 41.364716 - ], - [ - 9.553333, - 42.115555 - ], - [ - 9.446665, - 42.678886 - ] - ] - ], - [ - [ - [ - -1.194445, - 45.822495 - ], - [ - -1.233056, - 45.964722 - ], - [ - -1.401667, - 46.050552 - ], - [ - -1.194445, - 45.822495 - ] - ] - ], - [ - [ - [ - -1.260834, - 46.156387 - ], - [ - -1.474445, - 46.255829 - ], - [ - -1.553056, - 46.244995 - ], - [ - -1.260834, - 46.156387 - ] - ] - ], - [ - [ - [ - -2.270833, - 46.693329 - ], - [ - -2.385, - 46.725555 - ], - [ - -2.363889, - 46.698051 - ], - [ - -2.270833, - 46.693329 - ] - ] - ], - [ - [ - [ - -2.196945, - 47.01722 - ], - [ - -2.284722, - 47.020554 - ], - [ - -2.145, - 46.90583 - ], - [ - -2.196945, - 47.01722 - ] - ] - ], - [ - [ - [ - -3.066667, - 47.306664 - ], - [ - -3.258611, - 47.376106 - ], - [ - -3.215834, - 47.302498 - ], - [ - -3.066667, - 47.306664 - ] - ] - ], - [ - [ - [ - -5.055, - 48.454163 - ], - [ - -5.064723, - 48.483055 - ], - [ - -5.134723, - 48.458328 - ], - [ - -5.055, - 48.454163 - ] - ] - ], - [ - [ - [ - -3.576667, - 48.803886 - ], - [ - -3.563334, - 48.808609 - ], - [ - -3.575556, - 48.812492 - ], - [ - -3.576667, - 48.803886 - ] - ] - ], - [ - [ - [ - 2.541667, - 51.09111 - ], - [ - 1.625, - 50.877777 - ], - [ - 1.461111, - 50.124161 - ], - [ - 0.074167, - 49.526665 - ], - [ - 0.424722, - 49.45166 - ], - [ - -1.113889, - 49.365273 - ], - [ - -1.264167, - 49.684166 - ], - [ - -1.941667, - 49.723885 - ], - [ - -1.368889, - 48.643608 - ], - [ - -2.685278, - 48.501663 - ], - [ - -3.220834, - 48.870552 - ], - [ - -4.777779, - 48.509438 - ], - [ - -4.186111, - 48.299995 - ], - [ - -4.726142, - 48.040581 - ], - [ - -4.366389, - 47.804161 - ], - [ - -3.106389, - 47.472221 - ], - [ - -2.698056, - 47.637215 - ], - [ - -2.361111, - 47.504166 - ], - [ - -2.540278, - 47.296661 - ], - [ - -2.289167, - 47.238884 - ], - [ - -2.003334, - 47.31916 - ], - [ - -1.728611, - 47.210831 - ], - [ - -2.134167, - 47.278053 - ], - [ - -2.170834, - 47.126663 - ], - [ - -1.984167, - 47.034439 - ], - [ - -2.130834, - 46.838333 - ], - [ - -1.114635, - 46.316582 - ], - [ - -1.067778, - 45.908882 - ], - [ - -1.240834, - 45.70166 - ], - [ - -0.776667, - 45.461105 - ], - [ - -0.536667, - 44.895554 - ], - [ - -1.083889, - 45.564438 - ], - [ - -1.250278, - 44.662498 - ], - [ - -1.036111, - 44.675278 - ], - [ - -1.780877, - 43.359924 - ], - [ - -0.562222, - 42.781387 - ], - [ - 1.445833, - 42.601944 - ], - [ - 1.78172, - 42.569962 - ], - [ - 1.723611, - 42.509438 - ], - [ - 3.177655, - 42.436806 - ], - [ - 3.081388, - 43.069443 - ], - [ - 3.964722, - 43.540833 - ], - [ - 5.031388, - 43.556664 - ], - [ - 6.165277, - 43.050552 - ], - [ - 7.391609, - 43.727547 - ], - [ - 7.387777, - 43.748604 - ], - [ - 7.416111, - 43.770554 - ], - [ - 7.439293, - 43.757523 - ], - [ - 7.528055, - 43.788605 - ], - [ - 7.662222, - 44.17083 - ], - [ - 6.976388, - 44.284164 - ], - [ - 7.031666, - 44.831383 - ], - [ - 6.61976, - 45.110138 - ], - [ - 7.127777, - 45.257774 - ], - [ - 6.79897, - 45.78067 - ], - [ - 7.038054, - 45.931938 - ], - [ - 6.791389, - 46.434166 - ], - [ - 5.966666, - 46.209442 - ], - [ - 6.990555, - 47.497215 - ], - [ - 7.588268, - 47.58448 - ], - [ - 7.578888, - 48.11972 - ], - [ - 8.226078, - 48.964417 - ], - [ - 6.36217, - 49.459389 - ], - [ - 5.80788, - 49.545044 - ], - [ - 4.873055, - 49.797218 - ], - [ - 4.832503, - 50.16861 - ], - [ - 4.149238, - 49.978371 - ], - [ - 4.165, - 50.283051 - ], - [ - 2.541667, - 51.09111 - ] - ] - ] - ] - }, - "name" : "France", - "iso2" : "FR", - "iso3" : "FRA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "hL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -16.56567, - 13.589998 - ], - [ - -16.394726, - 13.330555 - ], - [ - -16.14389, - 13.454166 - ], - [ - -15.295834, - 13.491665 - ], - [ - -16.162224, - 13.425278 - ], - [ - -16.200836, - 13.251665 - ], - [ - -16.73167, - 13.44972 - ], - [ - -16.750874, - 13.059977 - ], - [ - -15.809723, - 13.159721 - ], - [ - -15.803612, - 13.347776 - ], - [ - -15.285002, - 13.374443 - ], - [ - -15.111668, - 13.595833 - ], - [ - -14.351112, - 13.237778 - ], - [ - -13.798613, - 13.406387 - ], - [ - -15.070278, - 13.826387 - ], - [ - -16.56567, - 13.589998 - ] - ] - ] - }, - "name" : "Gambia", - "iso2" : "GM", - "iso3" : "GMB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "hb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 9.007776, - -0.767778 - ], - [ - 9.006666, - -0.598888 - ], - [ - 8.946665, - -0.658333 - ], - [ - 9.007776, - -0.767778 - ] - ] - ], - [ - [ - [ - 12.523611, - 2.283335 - ], - [ - 11.339766, - 2.168612 - ], - [ - 11.353888, - 1.001944 - ], - [ - 9.803976, - 1.002607 - ], - [ - 9.564722, - 0.983057 - ], - [ - 9.6, - 0.481112 - ], - [ - 9.30361, - 0.528334 - ], - [ - 9.92111, - 0.185278 - ], - [ - 9.347502, - 0.363058 - ], - [ - 9.298334, - -0.371666 - ], - [ - 9.013887, - -0.819166 - ], - [ - 8.710001, - -0.641111 - ], - [ - 9.513887, - -1.596666 - ], - [ - 8.983057, - -1.234167 - ], - [ - 9.615278, - -2.376667 - ], - [ - 10.130556, - -2.52 - ], - [ - 9.700834, - -2.445555 - ], - [ - 11.140661, - -3.925276 - ], - [ - 11.496946, - -3.506945 - ], - [ - 11.925833, - -3.636944 - ], - [ - 11.574167, - -2.333332 - ], - [ - 12.478056, - -2.327221 - ], - [ - 12.65, - -1.8225 - ], - [ - 13.001509, - -2.367672 - ], - [ - 13.482779, - -2.4375 - ], - [ - 13.76222, - -2.088888 - ], - [ - 14.110834, - -2.493055 - ], - [ - 14.429724, - -1.891666 - ], - [ - 14.51861, - -0.609167 - ], - [ - 13.848333, - -0.19861 - ], - [ - 14.487223, - 0.91361 - ], - [ - 14.18889, - 1.39139 - ], - [ - 13.186785, - 1.222475 - ], - [ - 13.29389, - 2.16361 - ], - [ - 12.523611, - 2.283335 - ] - ], - [ - [ - 9.554445, - 0.274446 - ], - [ - 9.538057, - 0.270834 - ], - [ - 9.544443, - 0.285002 - ], - [ - 9.554445, - 0.274446 - ] - ] - ] - ] - }, - "name" : "Gabon", - "iso2" : "GA", - "iso3" : "GAB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "hr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 43.46077, - 41.112961 - ], - [ - 45.022942, - 41.29705 - ], - [ - 45.336655, - 41.462494 - ], - [ - 46.520821, - 41.049988 - ], - [ - 46.693871, - 41.312202 - ], - [ - 46.194427, - 41.685822 - ], - [ - 46.451752, - 41.897057 - ], - [ - 44.934708, - 42.760277 - ], - [ - 43.911934, - 42.583321 - ], - [ - 42.849991, - 43.179153 - ], - [ - 40.253387, - 43.58252 - ], - [ - 40.002968, - 43.379265 - ], - [ - 41.428596, - 42.738045 - ], - [ - 41.547623, - 42.405777 - ], - [ - 41.776093, - 41.841927 - ], - [ - 41.531559, - 41.523876 - ], - [ - 42.827492, - 41.584991 - ], - [ - 43.46077, - 41.112961 - ] - ] - ] - }, - "name" : "Georgia", - "iso2" : "GE", - "iso3" : "GEO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "h71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -3.103041, - 5.085022 - ], - [ - -2.058889, - 4.730833 - ], - [ - -1.613333, - 5.020833 - ], - [ - -0.795556, - 5.208055 - ], - [ - 0.255833, - 5.757777 - ], - [ - 0.662222, - 5.754167 - ], - [ - 0.63953, - 5.845486 - ], - [ - 0.488889, - 6.043611 - ], - [ - 0.208197, - 6.089699 - ], - [ - 0.51209, - 6.055245 - ], - [ - 0.634444, - 5.948055 - ], - [ - 0.692222, - 5.748055 - ], - [ - 1.198891, - 6.100546 - ], - [ - 0.525, - 6.947778 - ], - [ - 0.727222, - 8.321388 - ], - [ - 0.382735, - 8.760756 - ], - [ - 0.550833, - 9.411388 - ], - [ - 0.2175, - 9.457222 - ], - [ - 0.368333, - 10.259443 - ], - [ - -0.149762, - 11.13854 - ], - [ - -0.618333, - 10.911665 - ], - [ - -2.834048, - 11.002007 - ], - [ - -2.685561, - 9.481817 - ], - [ - -2.487778, - 8.197777 - ], - [ - -3.249167, - 6.611388 - ], - [ - -2.764445, - 5.579166 - ], - [ - -2.928128, - 5.100222 - ], - [ - -3.102272, - 5.109545 - ], - [ - -3.103041, - 5.085022 - ] - ] - ] - }, - "name" : "Ghana", - "iso2" : "GH", - "iso3" : "GHA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "iL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -61.746948, - 11.997499 - ], - [ - -61.628616, - 12.048054 - ], - [ - -61.611946, - 12.23111 - ], - [ - -61.746948, - 11.997499 - ] - ] - ], - [ - [ - [ - -61.580002, - 12.295555 - ], - [ - -61.578896, - 12.323055 - ], - [ - -61.589172, - 12.298054 - ], - [ - -61.580002, - 12.295555 - ] - ] - ], - [ - [ - [ - -61.428337, - 12.453609 - ], - [ - -61.434448, - 12.529165 - ], - [ - -61.496948, - 12.443609 - ], - [ - -61.428337, - 12.453609 - ] - ] - ] - ] - }, - "name" : "Grenada", - "iso2" : "GD", - "iso3" : "GRD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ib1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -43.648056, - 59.84749 - ], - [ - -43.958054, - 59.979715 - ], - [ - -44.115555, - 59.829165 - ], - [ - -43.648056, - 59.84749 - ] - ] - ], - [ - [ - [ - -43.295006, - 59.920832 - ], - [ - -43.20417, - 59.968325 - ], - [ - -43.327782, - 59.997217 - ], - [ - -43.295006, - 59.920832 - ] - ] - ], - [ - [ - [ - -44.313889, - 59.871935 - ], - [ - -43.992226, - 60.008333 - ], - [ - -44.244164, - 60.011667 - ], - [ - -44.313889, - 59.871935 - ] - ] - ], - [ - [ - [ - -43.399994, - 59.926104 - ], - [ - -43.453331, - 60.03805 - ], - [ - -43.509171, - 59.912493 - ], - [ - -43.399994, - 59.926104 - ] - ] - ], - [ - [ - [ - -43.354172, - 60.084436 - ], - [ - -44.132774, - 60.140833 - ], - [ - -43.131111, - 60.055269 - ], - [ - -43.354172, - 60.084436 - ] - ] - ], - [ - [ - [ - -44.409439, - 59.947771 - ], - [ - -44.201668, - 60.046106 - ], - [ - -44.434441, - 60.141382 - ], - [ - -44.497498, - 60.008608 - ], - [ - -44.409439, - 59.947771 - ] - ] - ], - [ - [ - [ - -45.232498, - 60.143328 - ], - [ - -45.266113, - 60.187494 - ], - [ - -45.299995, - 60.14583 - ], - [ - -45.232498, - 60.143328 - ] - ] - ], - [ - [ - [ - -45.365004, - 60.185266 - ], - [ - -45.152222, - 60.376383 - ], - [ - -45.353889, - 60.382494 - ], - [ - -45.365004, - 60.185266 - ] - ] - ], - [ - [ - [ - -45.95472, - 60.615549 - ], - [ - -45.783333, - 60.660822 - ], - [ - -45.961388, - 60.683878 - ], - [ - -45.982773, - 60.67277 - ], - [ - -45.996948, - 60.626657 - ], - [ - -45.95472, - 60.615549 - ] - ] - ], - [ - [ - [ - -45.888611, - 60.695826 - ], - [ - -46.00695, - 60.706385 - ], - [ - -46.20472, - 60.67277 - ], - [ - -46.091942, - 60.635553 - ], - [ - -45.985203, - 60.692228 - ], - [ - -45.888611, - 60.695826 - ] - ] - ], - [ - [ - [ - -46.345551, - 60.668055 - ], - [ - -46.277222, - 60.772219 - ], - [ - -46.499443, - 60.69916 - ], - [ - -46.345551, - 60.668055 - ] - ] - ], - [ - [ - [ - -47.754173, - 60.804712 - ], - [ - -48.238892, - 60.795549 - ], - [ - -47.902779, - 60.676386 - ], - [ - -47.754173, - 60.804712 - ] - ] - ], - [ - [ - [ - -46.980278, - 60.772768 - ], - [ - -47.011116, - 60.808046 - ], - [ - -47.049446, - 60.805269 - ], - [ - -46.980278, - 60.772768 - ] - ] - ], - [ - [ - [ - -47.161385, - 60.798052 - ], - [ - -47.152779, - 60.816668 - ], - [ - -47.226944, - 60.818056 - ], - [ - -47.161385, - 60.798052 - ] - ] - ], - [ - [ - [ - -47.231384, - 60.841936 - ], - [ - -47.178337, - 60.871935 - ], - [ - -47.258614, - 60.855829 - ], - [ - -47.231384, - 60.841936 - ] - ] - ], - [ - [ - [ - -47.101944, - 60.822771 - ], - [ - -47.083611, - 60.874712 - ], - [ - -47.192497, - 60.835825 - ], - [ - -47.101944, - 60.822771 - ] - ] - ], - [ - [ - [ - -46.753616, - 60.750277 - ], - [ - -46.164444, - 60.922495 - ], - [ - -46.845001, - 60.760553 - ], - [ - -46.753616, - 60.750277 - ] - ] - ], - [ - [ - [ - -47.029442, - 60.897219 - ], - [ - -46.958054, - 60.925554 - ], - [ - -47.050278, - 60.895273 - ], - [ - -47.029442, - 60.897219 - ] - ] - ], - [ - [ - [ - -47.140839, - 60.87916 - ], - [ - -47.073334, - 60.926661 - ], - [ - -47.171669, - 60.883608 - ], - [ - -47.140839, - 60.87916 - ] - ] - ], - [ - [ - [ - -46.466393, - 60.92222 - ], - [ - -46.429443, - 60.975824 - ], - [ - -46.518608, - 60.993608 - ], - [ - -46.526665, - 60.988886 - ], - [ - -46.514168, - 60.930552 - ], - [ - -46.466393, - 60.92222 - ] - ] - ], - [ - [ - [ - -48.073616, - 61.053881 - ], - [ - -48.243332, - 61.098604 - ], - [ - -48.370552, - 61.078608 - ], - [ - -48.073616, - 61.053881 - ] - ] - ], - [ - [ - [ - -48.934441, - 61.249163 - ], - [ - -48.724167, - 61.291384 - ], - [ - -48.874168, - 61.301386 - ], - [ - -48.934441, - 61.249163 - ] - ] - ], - [ - [ - [ - -48.583328, - 61.312769 - ], - [ - -48.523331, - 61.361109 - ], - [ - -48.833061, - 61.334993 - ], - [ - -48.583328, - 61.312769 - ] - ] - ], - [ - [ - [ - -42.453056, - 61.441378 - ], - [ - -42.389725, - 61.488886 - ], - [ - -42.496666, - 61.454996 - ], - [ - -42.453056, - 61.441378 - ] - ] - ], - [ - [ - [ - -49.089722, - 61.633333 - ], - [ - -49.149445, - 61.700548 - ], - [ - -49.194443, - 61.66221 - ], - [ - -49.089722, - 61.633333 - ] - ] - ], - [ - [ - [ - -49.392227, - 61.706942 - ], - [ - -49.349998, - 61.743052 - ], - [ - -49.485275, - 61.75139 - ], - [ - -49.392227, - 61.706942 - ] - ] - ], - [ - [ - [ - -42.269165, - 61.750277 - ], - [ - -42.121109, - 61.772768 - ], - [ - -42.084442, - 61.874994 - ], - [ - -42.269165, - 61.750277 - ] - ] - ], - [ - [ - [ - -49.440552, - 61.874712 - ], - [ - -49.419449, - 61.930552 - ], - [ - -49.634171, - 61.930826 - ], - [ - -49.440552, - 61.874712 - ] - ] - ], - [ - [ - [ - -49.66333, - 62.180277 - ], - [ - -49.650276, - 62.237772 - ], - [ - -49.79834, - 62.213884 - ], - [ - -49.66333, - 62.180277 - ] - ] - ], - [ - [ - [ - -42.277222, - 62.577219 - ], - [ - -42.125557, - 62.496386 - ], - [ - -42.131111, - 62.564714 - ], - [ - -42.277222, - 62.577219 - ] - ] - ], - [ - [ - [ - -41.996109, - 62.774996 - ], - [ - -42.447777, - 62.75139 - ], - [ - -41.861946, - 62.73472 - ], - [ - -41.996109, - 62.774996 - ] - ] - ], - [ - [ - [ - -41.561386, - 62.873606 - ], - [ - -41.458336, - 63.01639 - ], - [ - -41.588608, - 63.002497 - ], - [ - -41.561386, - 62.873606 - ] - ] - ], - [ - [ - [ - -50.636665, - 63.073885 - ], - [ - -50.755005, - 63.061937 - ], - [ - -50.67028, - 63.02527 - ], - [ - -50.636665, - 63.073885 - ] - ] - ], - [ - [ - [ - -41.333885, - 63.050272 - ], - [ - -41.373329, - 63.109995 - ], - [ - -41.52639, - 63.081385 - ], - [ - -41.333885, - 63.050272 - ] - ] - ], - [ - [ - [ - -41.209442, - 63.15777 - ], - [ - -41.466393, - 63.171381 - ], - [ - -41.184441, - 63.122766 - ], - [ - -41.209442, - 63.15777 - ] - ] - ], - [ - [ - [ - -50.799728, - 63.081667 - ], - [ - -50.682777, - 63.116663 - ], - [ - -50.788055, - 63.186655 - ], - [ - -50.799728, - 63.081667 - ] - ] - ], - [ - [ - [ - -50.618057, - 63.114717 - ], - [ - -50.468605, - 63.153322 - ], - [ - -50.612221, - 63.201662 - ], - [ - -50.618057, - 63.114717 - ] - ] - ], - [ - [ - [ - -41.095833, - 63.221102 - ], - [ - -41.871941, - 63.466661 - ], - [ - -41.430832, - 63.231379 - ], - [ - -41.095833, - 63.221102 - ] - ] - ], - [ - [ - [ - -51.273613, - 63.476938 - ], - [ - -51.20472, - 63.499163 - ], - [ - -51.358055, - 63.483332 - ], - [ - -51.273613, - 63.476938 - ] - ] - ], - [ - [ - [ - -52.000839, - 64.127764 - ], - [ - -51.90583, - 64.188875 - ], - [ - -52.063614, - 64.163881 - ], - [ - -52.000839, - 64.127764 - ] - ] - ], - [ - [ - [ - -40.674171, - 64.291368 - ], - [ - -41.05278, - 64.232759 - ], - [ - -40.679443, - 64.208605 - ], - [ - -40.674171, - 64.291368 - ] - ] - ], - [ - [ - [ - -41.125557, - 64.288317 - ], - [ - -41.296951, - 64.317217 - ], - [ - -41.374168, - 64.28499 - ], - [ - -41.125557, - 64.288317 - ] - ] - ], - [ - [ - [ - -51.567223, - 64.256105 - ], - [ - -51.321388, - 64.326387 - ], - [ - -51.43972, - 64.36249 - ], - [ - -51.567223, - 64.256105 - ] - ] - ], - [ - [ - [ - -51.239723, - 64.214708 - ], - [ - -50.819168, - 64.541658 - ], - [ - -51.025002, - 64.549425 - ], - [ - -51.341942, - 64.253328 - ], - [ - -51.239723, - 64.214708 - ] - ] - ], - [ - [ - [ - -51.323616, - 64.373598 - ], - [ - -51.091942, - 64.566668 - ], - [ - -51.421387, - 64.413317 - ], - [ - -51.323616, - 64.373598 - ] - ] - ], - [ - [ - [ - -52.083061, - 64.591372 - ], - [ - -52.119995, - 64.629152 - ], - [ - -52.14917, - 64.627199 - ], - [ - -52.141945, - 64.597765 - ], - [ - -52.083061, - 64.591372 - ] - ] - ], - [ - [ - [ - -40.18, - 64.431093 - ], - [ - -40.542778, - 64.844149 - ], - [ - -40.864723, - 64.908602 - ], - [ - -40.18, - 64.431093 - ] - ] - ], - [ - [ - [ - -40.495834, - 65.015276 - ], - [ - -40.556389, - 65.073885 - ], - [ - -40.625275, - 65.038591 - ], - [ - -40.495834, - 65.015276 - ] - ] - ], - [ - [ - [ - -52.396666, - 65.109423 - ], - [ - -52.245003, - 65.181658 - ], - [ - -52.361389, - 65.186922 - ], - [ - -52.396666, - 65.109423 - ] - ] - ], - [ - [ - [ - -39.494446, - 65.319994 - ], - [ - -39.804443, - 65.333879 - ], - [ - -39.564444, - 65.265825 - ], - [ - -39.494446, - 65.319994 - ] - ] - ], - [ - [ - [ - -39.277779, - 65.461382 - ], - [ - -39.238892, - 65.508608 - ], - [ - -39.386948, - 65.50194 - ], - [ - -39.277779, - 65.461382 - ] - ] - ], - [ - [ - [ - -52.928337, - 65.425264 - ], - [ - -52.871941, - 65.513613 - ], - [ - -53.087776, - 65.492479 - ], - [ - -52.928337, - 65.425264 - ] - ] - ], - [ - [ - [ - -38.849167, - 65.518602 - ], - [ - -38.761116, - 65.541658 - ], - [ - -38.958611, - 65.517763 - ], - [ - -38.849167, - 65.518602 - ] - ] - ], - [ - [ - [ - -37.037506, - 65.532763 - ], - [ - -37.213333, - 65.578051 - ], - [ - -37.191536, - 65.532625 - ], - [ - -37.037506, - 65.532763 - ] - ] - ], - [ - [ - [ - -52.995003, - 65.548876 - ], - [ - -52.848053, - 65.644152 - ], - [ - -53.232498, - 65.59833 - ], - [ - -52.995003, - 65.548876 - ] - ] - ], - [ - [ - [ - -36.995552, - 65.584429 - ], - [ - -36.992226, - 65.701097 - ], - [ - -37.212502, - 65.68442 - ], - [ - -36.995552, - 65.584429 - ] - ] - ], - [ - [ - [ - -37.394165, - 65.813601 - ], - [ - -37.989166, - 65.69832 - ], - [ - -37.485001, - 65.60721 - ], - [ - -37.394165, - 65.813601 - ] - ] - ], - [ - [ - [ - -36.79834, - 65.750551 - ], - [ - -36.776947, - 65.863878 - ], - [ - -36.942772, - 65.819719 - ], - [ - -36.79834, - 65.750551 - ] - ] - ], - [ - [ - [ - -36.319725, - 65.821932 - ], - [ - -36.18306, - 65.878038 - ], - [ - -36.371109, - 65.877474 - ], - [ - -36.319725, - 65.821932 - ] - ] - ], - [ - [ - [ - -36.619995, - 65.795259 - ], - [ - -36.507225, - 65.956942 - ], - [ - -36.748337, - 65.909716 - ], - [ - -36.736664, - 65.801653 - ], - [ - -36.619995, - 65.795259 - ] - ] - ], - [ - [ - [ - -53.525276, - 66.042482 - ], - [ - -53.423058, - 66.084429 - ], - [ - -53.679726, - 66.081942 - ], - [ - -53.525276, - 66.042482 - ] - ] - ], - [ - [ - [ - -35.499725, - 66.17415 - ], - [ - -35.385002, - 66.240816 - ], - [ - -35.537506, - 66.225542 - ], - [ - -35.499725, - 66.17415 - ] - ] - ], - [ - [ - [ - -33.861946, - 66.793871 - ], - [ - -33.884445, - 66.872484 - ], - [ - -33.970551, - 66.839708 - ], - [ - -33.861946, - 66.793871 - ] - ] - ], - [ - [ - [ - -53.070839, - 66.866091 - ], - [ - -53.464165, - 66.798876 - ], - [ - -52.868233, - 66.897219 - ], - [ - -53.070839, - 66.866091 - ] - ] - ], - [ - [ - [ - -33.431114, - 67.142214 - ], - [ - -33.342224, - 67.204714 - ], - [ - -33.476105, - 67.180544 - ], - [ - -33.431114, - 67.142214 - ] - ] - ], - [ - [ - [ - -33.252228, - 67.295259 - ], - [ - -33.25695, - 67.376085 - ], - [ - -33.327782, - 67.336107 - ], - [ - -33.252228, - 67.295259 - ] - ] - ], - [ - [ - [ - -53.65889, - 67.675814 - ], - [ - -53.587776, - 67.733599 - ], - [ - -53.763062, - 67.776934 - ], - [ - -53.65889, - 67.675814 - ] - ] - ], - [ - [ - [ - -53.347221, - 68.009996 - ], - [ - -53.225273, - 68.058596 - ], - [ - -53.473053, - 68.069155 - ], - [ - -53.347221, - 68.009996 - ] - ] - ], - [ - [ - [ - -51.293335, - 68.100817 - ], - [ - -51.205275, - 68.121645 - ], - [ - -52.007507, - 68.076662 - ], - [ - -51.293335, - 68.100817 - ] - ] - ], - [ - [ - [ - -29.838055, - 68.140825 - ], - [ - -29.694721, - 68.208605 - ], - [ - -30.011669, - 68.207491 - ], - [ - -29.838055, - 68.140825 - ] - ] - ], - [ - [ - [ - -52.070839, - 68.115267 - ], - [ - -51.45417, - 68.257769 - ], - [ - -52.315834, - 68.168871 - ], - [ - -52.070839, - 68.115267 - ] - ] - ], - [ - [ - [ - -52.988892, - 68.357759 - ], - [ - -52.854172, - 68.433321 - ], - [ - -53.019722, - 68.494432 - ], - [ - -53.211945, - 68.401384 - ], - [ - -52.988892, - 68.357759 - ] - ] - ], - [ - [ - [ - -52.64167, - 68.529985 - ], - [ - -52.439438, - 68.560808 - ], - [ - -52.694717, - 68.546099 - ], - [ - -52.64167, - 68.529985 - ] - ] - ], - [ - [ - [ - -52.749725, - 68.484713 - ], - [ - -52.809441, - 68.568605 - ], - [ - -52.884171, - 68.548876 - ], - [ - -52.749725, - 68.484713 - ] - ] - ], - [ - [ - [ - -51.94194, - 68.594439 - ], - [ - -51.803329, - 68.627199 - ], - [ - -52.421387, - 68.571383 - ], - [ - -51.94194, - 68.594439 - ] - ] - ], - [ - [ - [ - -51.035278, - 68.639437 - ], - [ - -51.12944, - 68.682756 - ], - [ - -51.232773, - 68.666658 - ], - [ - -51.035278, - 68.639437 - ] - ] - ], - [ - [ - [ - -52.134726, - 68.701097 - ], - [ - -52.634171, - 68.710268 - ], - [ - -53.120552, - 68.56415 - ], - [ - -52.134726, - 68.701097 - ] - ] - ], - [ - [ - [ - -23.286667, - 69.6411 - ], - [ - -23.289444, - 69.738314 - ], - [ - -23.593056, - 69.713045 - ], - [ - -23.286667, - 69.6411 - ] - ] - ], - [ - [ - [ - -50.50528, - 69.810534 - ], - [ - -50.409721, - 69.861101 - ], - [ - -50.606392, - 69.856371 - ], - [ - -50.50528, - 69.810534 - ] - ] - ], - [ - [ - [ - -50.923332, - 69.892763 - ], - [ - -51.388054, - 69.705263 - ], - [ - -50.958336, - 69.550539 - ], - [ - -50.653885, - 69.836657 - ], - [ - -50.923332, - 69.892763 - ] - ] - ], - [ - [ - [ - -52.693054, - 69.917482 - ], - [ - -54.429169, - 70.30971 - ], - [ - -54.829727, - 70.078325 - ], - [ - -54.229439, - 69.913042 - ], - [ - -54.936111, - 69.845537 - ], - [ - -54.389442, - 69.675264 - ], - [ - -54.994446, - 69.694704 - ], - [ - -53.347496, - 69.579714 - ], - [ - -54.269165, - 69.402208 - ], - [ - -53.574722, - 69.229433 - ], - [ - -51.833328, - 69.626085 - ], - [ - -52.693054, - 69.917482 - ] - ] - ], - [ - [ - [ - -54.661385, - 70.372484 - ], - [ - -55.027779, - 70.483049 - ], - [ - -54.934723, - 70.375536 - ], - [ - -54.661385, - 70.372484 - ] - ] - ], - [ - [ - [ - -51.512779, - 70.653872 - ], - [ - -51.692497, - 70.72777 - ], - [ - -51.861671, - 70.722216 - ], - [ - -51.512779, - 70.653872 - ] - ] - ], - [ - [ - [ - -27.685276, - 70.733873 - ], - [ - -27.276112, - 70.874987 - ], - [ - -27.736942, - 70.882204 - ], - [ - -27.685276, - 70.733873 - ] - ] - ], - [ - [ - [ - -25.394722, - 70.911654 - ], - [ - -27.14959, - 70.874392 - ], - [ - -28.136665, - 70.454714 - ], - [ - -26.029724, - 70.521105 - ], - [ - -25.294445, - 70.659716 - ], - [ - -25.394722, - 70.911654 - ] - ] - ], - [ - [ - [ - -51.565834, - 70.864702 - ], - [ - -52.023056, - 70.979158 - ], - [ - -52.162216, - 70.88666 - ], - [ - -51.565834, - 70.864702 - ] - ] - ], - [ - [ - [ - -25.308891, - 71.014437 - ], - [ - -25.460556, - 71.104158 - ], - [ - -25.579166, - 71.102205 - ], - [ - -25.308891, - 71.014437 - ] - ] - ], - [ - [ - [ - -25.282501, - 71.131929 - ], - [ - -25.359722, - 71.205263 - ], - [ - -25.472775, - 71.150545 - ], - [ - -25.282501, - 71.131929 - ] - ] - ], - [ - [ - [ - -53.64917, - 71.024157 - ], - [ - -53.376389, - 71.114992 - ], - [ - -53.598053, - 71.313311 - ], - [ - -53.99028, - 71.131365 - ], - [ - -53.64917, - 71.024157 - ] - ] - ], - [ - [ - [ - -52.571388, - 71.346102 - ], - [ - -53.184441, - 71.321383 - ], - [ - -52.328339, - 71.287767 - ], - [ - -52.571388, - 71.346102 - ] - ] - ], - [ - [ - [ - -53.133614, - 71.661928 - ], - [ - -53.474442, - 71.652483 - ], - [ - -52.756111, - 71.660265 - ], - [ - -53.133614, - 71.661928 - ] - ] - ], - [ - [ - [ - -55.559166, - 71.819155 - ], - [ - -55.409996, - 71.890276 - ], - [ - -55.805557, - 71.878862 - ], - [ - -55.559166, - 71.819155 - ] - ] - ], - [ - [ - [ - -55.796112, - 72.070543 - ], - [ - -55.725273, - 72.126085 - ], - [ - -55.938606, - 72.079439 - ], - [ - -55.796112, - 72.070543 - ] - ] - ], - [ - [ - [ - -55.374168, - 72.159716 - ], - [ - -55.015282, - 72.377199 - ], - [ - -55.688889, - 72.198595 - ], - [ - -55.374168, - 72.159716 - ] - ] - ], - [ - [ - [ - -55.065002, - 72.52527 - ], - [ - -55.030556, - 72.588884 - ], - [ - -55.383331, - 72.545259 - ], - [ - -55.065002, - 72.52527 - ] - ] - ], - [ - [ - [ - -55.650276, - 72.582491 - ], - [ - -55.943054, - 72.593599 - ], - [ - -55.99472, - 72.557482 - ], - [ - -55.650276, - 72.582491 - ] - ] - ], - [ - [ - [ - -55.131943, - 72.600817 - ], - [ - -54.946663, - 72.672213 - ], - [ - -55.262222, - 72.597765 - ], - [ - -55.131943, - 72.600817 - ] - ] - ], - [ - [ - [ - -54.832504, - 72.695528 - ], - [ - -54.872498, - 72.756945 - ], - [ - -55.0625, - 72.718325 - ], - [ - -54.832504, - 72.695528 - ] - ] - ], - [ - [ - [ - -55.70417, - 72.714998 - ], - [ - -55.639442, - 72.777773 - ], - [ - -56.226105, - 72.706102 - ], - [ - -55.70417, - 72.714998 - ] - ] - ], - [ - [ - [ - -55.285561, - 72.681093 - ], - [ - -54.964722, - 72.811373 - ], - [ - -55.849442, - 72.611376 - ], - [ - -55.285561, - 72.681093 - ] - ] - ], - [ - [ - [ - -55.946663, - 72.82361 - ], - [ - -55.992226, - 72.786654 - ], - [ - -55.801666, - 72.792482 - ], - [ - -55.946663, - 72.82361 - ] - ] - ], - [ - [ - [ - -23.608612, - 72.834993 - ], - [ - -24.484444, - 72.825823 - ], - [ - -22.562778, - 72.138887 - ], - [ - -22.134167, - 72.271654 - ], - [ - -22.756947, - 72.441362 - ], - [ - -21.932499, - 72.399157 - ], - [ - -23.608612, - 72.834993 - ] - ] - ], - [ - [ - [ - -55.586388, - 72.890276 - ], - [ - -55.536667, - 72.822496 - ], - [ - -55.352501, - 72.852205 - ], - [ - -55.586388, - 72.890276 - ] - ] - ], - [ - [ - [ - -24.896666, - 72.777773 - ], - [ - -24.771389, - 72.910814 - ], - [ - -25.210831, - 72.851656 - ], - [ - -24.896666, - 72.777773 - ] - ] - ], - [ - [ - [ - -22.549168, - 73.007219 - ], - [ - -24.58889, - 72.957491 - ], - [ - -21.865833, - 72.713884 - ], - [ - -22.549168, - 73.007219 - ] - ] - ], - [ - [ - [ - -55.753334, - 73.011385 - ], - [ - -55.693886, - 73.032213 - ], - [ - -55.889725, - 73.02582 - ], - [ - -55.753334, - 73.011385 - ] - ] - ], - [ - [ - [ - -55.075562, - 72.965548 - ], - [ - -55.518608, - 73.045824 - ], - [ - -55.689163, - 72.993593 - ], - [ - -55.075562, - 72.965548 - ] - ] - ], - [ - [ - [ - -21.353333, - 73.091372 - ], - [ - -21.173054, - 73.134432 - ], - [ - -21.462776, - 73.118593 - ], - [ - -21.353333, - 73.091372 - ] - ] - ], - [ - [ - [ - -56.201942, - 73.15555 - ], - [ - -56.273331, - 73.218874 - ], - [ - -56.331673, - 73.172213 - ], - [ - -56.201942, - 73.15555 - ] - ] - ], - [ - [ - [ - -56.097778, - 73.086382 - ], - [ - -55.815552, - 73.224703 - ], - [ - -56.01722, - 73.228594 - ], - [ - -56.097778, - 73.086382 - ] - ] - ], - [ - [ - [ - -55.686386, - 73.282763 - ], - [ - -55.654167, - 73.356371 - ], - [ - -55.871666, - 73.327776 - ], - [ - -55.686386, - 73.282763 - ] - ] - ], - [ - [ - [ - -55.953888, - 73.29915 - ], - [ - -55.830833, - 73.373308 - ], - [ - -56.153328, - 73.304155 - ], - [ - -55.953888, - 73.29915 - ] - ] - ], - [ - [ - [ - -55.53167, - 73.318056 - ], - [ - -55.328339, - 73.394991 - ], - [ - -55.593887, - 73.344149 - ], - [ - -55.53167, - 73.318056 - ] - ] - ], - [ - [ - [ - -24.360001, - 73.411928 - ], - [ - -25.243053, - 73.405825 - ], - [ - -25.290836, - 73.327776 - ], - [ - -25.712776, - 73.186373 - ], - [ - -22.93861, - 73.134722 - ], - [ - -25.010281, - 73.30942 - ], - [ - -23.209999, - 73.233599 - ], - [ - -24.360001, - 73.411928 - ] - ] - ], - [ - [ - [ - -55.589722, - 73.38109 - ], - [ - -55.470833, - 73.431932 - ], - [ - -56.115837, - 73.556643 - ], - [ - -55.589722, - 73.38109 - ] - ] - ], - [ - [ - [ - -56.410278, - 73.541933 - ], - [ - -56.188606, - 73.627474 - ], - [ - -56.558609, - 73.556368 - ], - [ - -56.410278, - 73.541933 - ] - ] - ], - [ - [ - [ - -56.344162, - 73.672487 - ], - [ - -56.965553, - 73.658037 - ], - [ - -56.833328, - 73.611376 - ], - [ - -56.344162, - 73.672487 - ] - ] - ], - [ - [ - [ - -56.368607, - 73.7661 - ], - [ - -56.436943, - 73.768053 - ], - [ - -56.205559, - 73.718325 - ], - [ - -56.368607, - 73.7661 - ] - ] - ], - [ - [ - [ - -55.956665, - 73.834719 - ], - [ - -56.777222, - 73.875811 - ], - [ - -56.323334, - 73.783327 - ], - [ - -55.956665, - 73.834719 - ] - ] - ], - [ - [ - [ - -20.016113, - 73.884432 - ], - [ - -20.113613, - 73.932756 - ], - [ - -20.234722, - 73.926378 - ], - [ - -20.016113, - 73.884432 - ] - ] - ], - [ - [ - [ - -20.926945, - 74.419985 - ], - [ - -21.990833, - 74.227205 - ], - [ - -20.12389, - 74.201097 - ], - [ - -20.926945, - 74.419985 - ] - ] - ], - [ - [ - [ - -56.53083, - 74.53055 - ], - [ - -57.556664, - 74.488314 - ], - [ - -56.462776, - 74.504168 - ], - [ - -56.53083, - 74.53055 - ] - ] - ], - [ - [ - [ - -56.982773, - 74.553591 - ], - [ - -56.838608, - 74.591661 - ], - [ - -57.095551, - 74.557482 - ], - [ - -56.982773, - 74.553591 - ] - ] - ], - [ - [ - [ - -57.185272, - 74.576097 - ], - [ - -57.083061, - 74.613039 - ], - [ - -57.281944, - 74.581667 - ], - [ - -57.185272, - 74.576097 - ] - ] - ], - [ - [ - [ - -18.838612, - 74.538317 - ], - [ - -18.752781, - 74.656099 - ], - [ - -19.219997, - 74.581102 - ], - [ - -18.838612, - 74.538317 - ] - ] - ], - [ - [ - [ - -18.530003, - 74.712206 - ], - [ - -18.383057, - 74.620256 - ], - [ - -18.300556, - 74.705263 - ], - [ - -18.530003, - 74.712206 - ] - ] - ], - [ - [ - [ - -57.476387, - 74.706102 - ], - [ - -57.431114, - 74.717485 - ], - [ - -57.727219, - 74.721926 - ], - [ - -57.476387, - 74.706102 - ] - ] - ], - [ - [ - [ - -20.166943, - 74.897493 - ], - [ - -19.960556, - 74.992479 - ], - [ - -20.493053, - 75.030825 - ], - [ - -20.687778, - 74.811647 - ], - [ - -20.084446, - 74.702776 - ], - [ - -19.729164, - 74.858599 - ], - [ - -20.166943, - 74.897493 - ] - ] - ], - [ - [ - [ - -17.808334, - 75.306093 - ], - [ - -18.839169, - 75.328325 - ], - [ - -18.915554, - 75.004168 - ], - [ - -17.319721, - 75.13109 - ], - [ - -18.215275, - 75.225267 - ], - [ - -17.808334, - 75.306093 - ] - ] - ], - [ - [ - [ - -65.049438, - 76.013887 - ], - [ - -64.955566, - 76.054979 - ], - [ - -65.221115, - 76.045534 - ], - [ - -65.049438, - 76.013887 - ] - ] - ], - [ - [ - [ - -64.055557, - 76.05942 - ], - [ - -64.014725, - 76.110537 - ], - [ - -64.146118, - 76.09305 - ], - [ - -64.055557, - 76.05942 - ] - ] - ], - [ - [ - [ - -61.899445, - 76.129702 - ], - [ - -61.881668, - 76.186647 - ], - [ - -61.962219, - 76.178591 - ], - [ - -61.899445, - 76.129702 - ] - ] - ], - [ - [ - [ - -20.343056, - 76.264162 - ], - [ - -20.158611, - 76.346941 - ], - [ - -20.660831, - 76.338884 - ], - [ - -20.343056, - 76.264162 - ] - ] - ], - [ - [ - [ - -69.976105, - 76.394152 - ], - [ - -69.894455, - 76.436922 - ], - [ - -70.188324, - 76.43915 - ], - [ - -69.976105, - 76.394152 - ] - ] - ], - [ - [ - [ - -20.388054, - 76.451662 - ], - [ - -20.26778, - 76.495256 - ], - [ - -20.496109, - 76.474993 - ], - [ - -20.388054, - 76.451662 - ] - ] - ], - [ - [ - [ - -21.353054, - 76.47249 - ], - [ - -21.249443, - 76.499712 - ], - [ - -21.489719, - 76.489702 - ], - [ - -21.353054, - 76.47249 - ] - ] - ], - [ - [ - [ - -20.793335, - 76.389986 - ], - [ - -20.720833, - 76.513887 - ], - [ - -21.141109, - 76.447481 - ], - [ - -20.793335, - 76.389986 - ] - ] - ], - [ - [ - [ - -69.669449, - 76.53055 - ], - [ - -69.464722, - 76.579439 - ], - [ - -70.036392, - 76.563311 - ], - [ - -69.669449, - 76.53055 - ] - ] - ], - [ - [ - [ - -20.712776, - 76.560808 - ], - [ - -20.625557, - 76.579439 - ], - [ - -20.939442, - 76.523317 - ], - [ - -20.712776, - 76.560808 - ] - ] - ], - [ - [ - [ - -21.083057, - 76.569155 - ], - [ - -20.963886, - 76.629152 - ], - [ - -21.547501, - 76.615267 - ], - [ - -21.083057, - 76.569155 - ] - ] - ], - [ - [ - [ - -19.648056, - 76.69832 - ], - [ - -19.605555, - 76.726381 - ], - [ - -19.857224, - 76.731936 - ], - [ - -19.648056, - 76.69832 - ] - ] - ], - [ - [ - [ - -18.653053, - 76.601656 - ], - [ - -19.019169, - 76.759432 - ], - [ - -18.763058, - 76.58777 - ], - [ - -19.141945, - 76.529436 - ], - [ - -18.635277, - 75.889986 - ], - [ - -18.653053, - 76.601656 - ] - ] - ], - [ - [ - [ - -19.691944, - 76.781939 - ], - [ - -19.59, - 76.811647 - ], - [ - -19.809166, - 76.788591 - ], - [ - -19.691944, - 76.781939 - ] - ] - ], - [ - [ - [ - -20.192776, - 76.822496 - ], - [ - -20.210556, - 76.868593 - ], - [ - -20.389442, - 76.847216 - ], - [ - -20.192776, - 76.822496 - ] - ] - ], - [ - [ - [ - -71.942215, - 77.30443 - ], - [ - -71.34584, - 77.375811 - ], - [ - -72.573898, - 77.413881 - ], - [ - -71.942215, - 77.30443 - ] - ] - ], - [ - [ - [ - -70.66777, - 77.457766 - ], - [ - -71.299438, - 77.447756 - ], - [ - -70.056381, - 77.399157 - ], - [ - -70.66777, - 77.457766 - ] - ] - ], - [ - [ - [ - -66.196381, - 77.504442 - ], - [ - -66.731384, - 77.507219 - ], - [ - -66.660828, - 77.488588 - ], - [ - -66.196381, - 77.504442 - ] - ] - ], - [ - [ - [ - -19.834446, - 77.505556 - ], - [ - -19.83028, - 77.554705 - ], - [ - -20.041668, - 77.565813 - ], - [ - -19.834446, - 77.505556 - ] - ] - ], - [ - [ - [ - -66.900558, - 77.591661 - ], - [ - -66.625824, - 77.636385 - ], - [ - -66.97084, - 77.599428 - ], - [ - -66.900558, - 77.591661 - ] - ] - ], - [ - [ - [ - -18.037224, - 77.666094 - ], - [ - -17.584166, - 77.83777 - ], - [ - -18.242222, - 77.679979 - ], - [ - -18.037224, - 77.666094 - ] - ] - ], - [ - [ - [ - -19.940556, - 77.966661 - ], - [ - -20.490833, - 77.954714 - ], - [ - -19.775833, - 77.830553 - ], - [ - -19.229164, - 77.829714 - ], - [ - -19.940556, - 77.966661 - ] - ] - ], - [ - [ - [ - -19.542225, - 77.916094 - ], - [ - -19.613613, - 77.971926 - ], - [ - -19.699722, - 77.964998 - ], - [ - -19.542225, - 77.916094 - ] - ] - ], - [ - [ - [ - -21.31028, - 77.885546 - ], - [ - -21.111111, - 78.012209 - ], - [ - -21.428055, - 77.923601 - ], - [ - -21.31028, - 77.885546 - ] - ] - ], - [ - [ - [ - -20.536114, - 78.015825 - ], - [ - -20.362778, - 78.051653 - ], - [ - -20.631943, - 78.032488 - ], - [ - -20.536114, - 78.015825 - ] - ] - ], - [ - [ - [ - -19.276669, - 78.117754 - ], - [ - -19.298889, - 78.175814 - ], - [ - -19.383331, - 78.127199 - ], - [ - -19.276669, - 78.117754 - ] - ] - ], - [ - [ - [ - -19.043335, - 78.076937 - ], - [ - -18.829723, - 78.176378 - ], - [ - -19.191944, - 78.117754 - ], - [ - -19.043335, - 78.076937 - ] - ] - ], - [ - [ - [ - -20.915833, - 78.146105 - ], - [ - -20.855555, - 78.16527 - ], - [ - -21.043055, - 78.181368 - ], - [ - -20.915833, - 78.146105 - ] - ] - ], - [ - [ - [ - -20.526669, - 78.161379 - ], - [ - -20.302223, - 78.21332 - ], - [ - -20.783333, - 78.191362 - ], - [ - -20.526669, - 78.161379 - ] - ] - ], - [ - [ - [ - -19.490555, - 78.241365 - ], - [ - -19.422775, - 78.276659 - ], - [ - -19.595001, - 78.24721 - ], - [ - -19.490555, - 78.241365 - ] - ] - ], - [ - [ - [ - -19.15889, - 78.240267 - ], - [ - -18.885555, - 78.295259 - ], - [ - -19.353333, - 78.283327 - ], - [ - -19.15889, - 78.240267 - ] - ] - ], - [ - [ - [ - -19.633331, - 78.276659 - ], - [ - -19.490555, - 78.330553 - ], - [ - -19.677498, - 78.386385 - ], - [ - -19.633331, - 78.276659 - ] - ] - ], - [ - [ - [ - -19.288334, - 78.313875 - ], - [ - -19.081944, - 78.363039 - ], - [ - -19.4025, - 78.394442 - ], - [ - -19.288334, - 78.313875 - ] - ] - ], - [ - [ - [ - -18.969997, - 78.392488 - ], - [ - -18.881111, - 78.428865 - ], - [ - -19.097778, - 78.425264 - ], - [ - -18.969997, - 78.392488 - ] - ] - ], - [ - [ - [ - -19.12611, - 78.455263 - ], - [ - -18.964165, - 78.474993 - ], - [ - -19.254169, - 78.445818 - ], - [ - -19.12611, - 78.455263 - ] - ] - ], - [ - [ - [ - -18.571945, - 78.578051 - ], - [ - -18.314724, - 78.673601 - ], - [ - -18.738888, - 78.606096 - ], - [ - -18.571945, - 78.578051 - ] - ] - ], - [ - [ - [ - -18.243053, - 78.750826 - ], - [ - -18.075558, - 78.817766 - ], - [ - -18.297222, - 78.856096 - ], - [ - -18.243053, - 78.750826 - ] - ] - ], - [ - [ - [ - -19.346947, - 78.811373 - ], - [ - -19.190834, - 78.953051 - ], - [ - -19.756668, - 78.795259 - ], - [ - -19.346947, - 78.811373 - ] - ] - ], - [ - [ - [ - -18.037224, - 78.992754 - ], - [ - -17.556389, - 79.164156 - ], - [ - -17.849998, - 79.215548 - ], - [ - -18.037224, - 78.992754 - ] - ] - ], - [ - [ - [ - -19.375, - 79.126375 - ], - [ - -19.314444, - 79.231371 - ], - [ - -19.496666, - 79.195818 - ], - [ - -19.375, - 79.126375 - ] - ] - ], - [ - [ - [ - -19.908333, - 80.059145 - ], - [ - -19.01889, - 80.163607 - ], - [ - -19.756947, - 80.241365 - ], - [ - -20.014168, - 80.096651 - ], - [ - -19.908333, - 80.059145 - ] - ] - ], - [ - [ - [ - -66.595276, - 80.608599 - ], - [ - -66.531677, - 80.61693 - ], - [ - -66.896118, - 80.671099 - ], - [ - -66.595276, - 80.608599 - ] - ] - ], - [ - [ - [ - -20.597221, - 81.672487 - ], - [ - -20.164444, - 81.681932 - ], - [ - -20.971111, - 81.714434 - ], - [ - -20.597221, - 81.672487 - ] - ] - ], - [ - [ - [ - -18.585556, - 81.646654 - ], - [ - -18.304447, - 81.662203 - ], - [ - -19.245831, - 81.777773 - ], - [ - -18.585556, - 81.646654 - ] - ] - ], - [ - [ - [ - -19.777779, - 81.870256 - ], - [ - -20.306667, - 82.130541 - ], - [ - -20.781944, - 82.133883 - ], - [ - -19.777779, - 81.870256 - ] - ] - ], - [ - [ - [ - -18.858334, - 81.974428 - ], - [ - -18.792225, - 81.99193 - ], - [ - -19.413887, - 82.205553 - ], - [ - -18.858334, - 81.974428 - ] - ] - ], - [ - [ - [ - -51.468887, - 81.968325 - ], - [ - -51.19194, - 81.993593 - ], - [ - -53.357506, - 82.224993 - ], - [ - -51.468887, - 81.968325 - ] - ] - ], - [ - [ - [ - -51.888611, - 82.208879 - ], - [ - -51.79528, - 82.214159 - ], - [ - -52.293892, - 82.277483 - ], - [ - -51.888611, - 82.208879 - ] - ] - ], - [ - [ - [ - -48.212502, - 82.39583 - ], - [ - -48.034729, - 82.464434 - ], - [ - -48.864449, - 82.539156 - ], - [ - -48.212502, - 82.39583 - ] - ] - ], - [ - [ - [ - -46.003059, - 82.644442 - ], - [ - -47.749168, - 82.624987 - ], - [ - -45.076668, - 82.055819 - ], - [ - -44.737221, - 82.095827 - ], - [ - -45.067223, - 82.216661 - ], - [ - -44.418892, - 82.366091 - ], - [ - -46.003059, - 82.644442 - ] - ] - ], - [ - [ - [ - -40.174446, - 82.660265 - ], - [ - -40.289169, - 82.69803 - ], - [ - -40.472496, - 82.686373 - ], - [ - -40.174446, - 82.660265 - ] - ] - ], - [ - [ - [ - -49.95472, - 82.769991 - ], - [ - -49.723053, - 82.779985 - ], - [ - -50.067223, - 82.775545 - ], - [ - -49.95472, - 82.769991 - ] - ] - ], - [ - [ - [ - -47.568611, - 82.782488 - ], - [ - -47.442497, - 82.803865 - ], - [ - -48.41555, - 82.84804 - ], - [ - -47.568611, - 82.782488 - ] - ] - ], - [ - [ - [ - -46.443886, - 82.832491 - ], - [ - -46.407501, - 82.836107 - ], - [ - -47.262505, - 82.930819 - ], - [ - -46.443886, - 82.832491 - ] - ] - ], - [ - [ - [ - -39.570557, - 82.996645 - ], - [ - -39.277496, - 83.081377 - ], - [ - -40.546112, - 83.153322 - ], - [ - -39.570557, - 82.996645 - ] - ] - ], - [ - [ - [ - -38.318611, - 83.133608 - ], - [ - -38.009171, - 83.152483 - ], - [ - -38.659721, - 83.164705 - ], - [ - -38.318611, - 83.133608 - ] - ] - ], - [ - [ - [ - -39.904999, - 82.998873 - ], - [ - -40.836945, - 83.163607 - ], - [ - -41.482773, - 83.164995 - ], - [ - -39.904999, - 82.998873 - ] - ] - ], - [ - [ - [ - -40.157776, - 83.203325 - ], - [ - -40.086945, - 83.211657 - ], - [ - -40.57917, - 83.219713 - ], - [ - -40.157776, - 83.203325 - ] - ] - ], - [ - [ - [ - -41.037224, - 83.208605 - ], - [ - -41.001671, - 83.212206 - ], - [ - -41.606392, - 83.224428 - ], - [ - -41.037224, - 83.208605 - ] - ] - ], - [ - [ - [ - -42.097778, - 83.242205 - ], - [ - -41.959442, - 83.251665 - ], - [ - -42.41806, - 83.253878 - ], - [ - -42.097778, - 83.242205 - ] - ] - ], - [ - [ - [ - -39.646111, - 83.262209 - ], - [ - -40.673332, - 83.280275 - ], - [ - -38.639725, - 83.115816 - ], - [ - -39.646111, - 83.262209 - ] - ] - ], - [ - [ - [ - -41.244446, - 83.287767 - ], - [ - -41.45639, - 83.327211 - ], - [ - -41.684441, - 83.313601 - ], - [ - -41.244446, - 83.287767 - ] - ] - ], - [ - [ - [ - -38.902779, - 83.290545 - ], - [ - -39.223885, - 83.396944 - ], - [ - -39.621941, - 83.336931 - ], - [ - -38.902779, - 83.290545 - ] - ] - ], - [ - [ - [ - -32.300278, - 83.570269 - ], - [ - -38.856392, - 83.431658 - ], - [ - -36.877495, - 83.147219 - ], - [ - -39.150276, - 82.980272 - ], - [ - -38.574448, - 82.744143 - ], - [ - -42.695, - 83.274431 - ], - [ - -45.524719, - 83.12221 - ], - [ - -43.386665, - 82.914431 - ], - [ - -46.889999, - 82.961107 - ], - [ - -40.135277, - 82.714434 - ], - [ - -39.752785, - 82.398882 - ], - [ - -41.550278, - 82.73665 - ], - [ - -41.898056, - 82.732759 - ], - [ - -41.682777, - 82.478045 - ], - [ - -42.142775, - 82.76166 - ], - [ - -45.765839, - 82.764437 - ], - [ - -42.299171, - 82.216661 - ], - [ - -44.190552, - 82.312487 - ], - [ - -44.79528, - 82.189974 - ], - [ - -44.502502, - 82.089708 - ], - [ - -44.925278, - 81.989702 - ], - [ - -44.183327, - 81.834154 - ], - [ - -44.639999, - 81.754168 - ], - [ - -50.317505, - 82.518328 - ], - [ - -51.118889, - 82.494143 - ], - [ - -49.43222, - 81.927767 - ], - [ - -51.065552, - 81.932207 - ], - [ - -49.614723, - 81.640276 - ], - [ - -52.89917, - 82.034151 - ], - [ - -53.634445, - 81.513323 - ], - [ - -53.823616, - 81.69359 - ], - [ - -53.559723, - 82.116091 - ], - [ - -54.50528, - 82.365541 - ], - [ - -59.466942, - 81.996935 - ], - [ - -56.478333, - 81.332491 - ], - [ - -58.899445, - 81.864702 - ], - [ - -60.806664, - 81.879976 - ], - [ - -61.452225, - 81.753054 - ], - [ - -60.770836, - 81.500551 - ], - [ - -61.313332, - 81.355822 - ], - [ - -61.056664, - 81.119707 - ], - [ - -63.371666, - 81.155825 - ], - [ - -62.794449, - 80.751101 - ], - [ - -63.680557, - 81.143877 - ], - [ - -67.480835, - 80.325548 - ], - [ - -67.049728, - 80.057482 - ], - [ - -63.78447, - 80.148333 - ], - [ - -65.068893, - 80.009157 - ], - [ - -64.823334, - 79.533602 - ], - [ - -65.976669, - 79.101656 - ], - [ - -72.552216, - 78.521105 - ], - [ - -72.849442, - 78.31415 - ], - [ - -72.456665, - 78.286379 - ], - [ - -73.053604, - 78.157213 - ], - [ - -71.320007, - 77.763613 - ], - [ - -69.968613, - 77.833605 - ], - [ - -70.602783, - 77.678041 - ], - [ - -69.483612, - 77.753603 - ], - [ - -70.289993, - 77.563601 - ], - [ - -69.25029, - 77.453051 - ], - [ - -68.699432, - 77.663881 - ], - [ - -68.344727, - 77.498598 - ], - [ - -66.72583, - 77.680819 - ], - [ - -66.055557, - 77.491365 - ], - [ - -66.659164, - 77.414431 - ], - [ - -66.238327, - 77.248598 - ], - [ - -69.101669, - 77.271929 - ], - [ - -66.170837, - 77.193316 - ], - [ - -66.448608, - 77.133883 - ], - [ - -71.375275, - 77.056093 - ], - [ - -67.982224, - 76.67943 - ], - [ - -69.633331, - 76.380816 - ], - [ - -68.500565, - 76.086931 - ], - [ - -66.458618, - 75.909716 - ], - [ - -67.306107, - 76.167482 - ], - [ - -65.769455, - 76.275545 - ], - [ - -65.553329, - 76.233873 - ], - [ - -65.888336, - 76.09833 - ], - [ - -65.479721, - 76.018602 - ], - [ - -63.440834, - 76.373308 - ], - [ - -60.878609, - 76.152483 - ], - [ - -58.408051, - 75.715273 - ], - [ - -58.208893, - 75.441927 - ], - [ - -58.697777, - 75.346376 - ], - [ - -56.192497, - 74.551653 - ], - [ - -56.797226, - 74.443316 - ], - [ - -56.131111, - 74.383883 - ], - [ - -56.713333, - 74.340822 - ], - [ - -56.309166, - 74.287203 - ], - [ - -57.325005, - 74.107759 - ], - [ - -56.129166, - 74.278322 - ], - [ - -56.409721, - 74.066088 - ], - [ - -55.60778, - 73.720263 - ], - [ - -56.075836, - 73.648607 - ], - [ - -55.085831, - 73.362764 - ], - [ - -55.697777, - 73.066668 - ], - [ - -54.850555, - 73.014437 - ], - [ - -54.604721, - 72.828051 - ], - [ - -54.870552, - 72.642488 - ], - [ - -54.62722, - 72.621645 - ], - [ - -55.016396, - 72.519991 - ], - [ - -54.296394, - 72.479982 - ], - [ - -55.626389, - 72.457491 - ], - [ - -54.682777, - 72.366381 - ], - [ - -55.580002, - 71.998873 - ], - [ - -55.29834, - 71.928591 - ], - [ - -54.384445, - 72.22249 - ], - [ - -55.90583, - 71.678591 - ], - [ - -55.323616, - 71.386934 - ], - [ - -53.91555, - 71.441927 - ], - [ - -54.100281, - 71.707491 - ], - [ - -53.396666, - 71.851931 - ], - [ - -53.955002, - 72.322496 - ], - [ - -53.56028, - 72.358034 - ], - [ - -53.857506, - 72.321657 - ], - [ - -53.321945, - 71.822222 - ], - [ - -52.684441, - 72.001665 - ], - [ - -53.250557, - 71.702776 - ], - [ - -51.640556, - 71.711107 - ], - [ - -52.983612, - 71.41527 - ], - [ - -51.348053, - 71.486101 - ], - [ - -52.555557, - 71.171373 - ], - [ - -51.645554, - 71.361376 - ], - [ - -52.249443, - 71.123308 - ], - [ - -51.226662, - 71.141665 - ], - [ - -51.485275, - 71.063036 - ], - [ - -50.928886, - 70.988588 - ], - [ - -51.952499, - 71.021105 - ], - [ - -50.633057, - 70.740267 - ], - [ - -51.438606, - 70.747759 - ], - [ - -50.618889, - 70.628588 - ], - [ - -51.345001, - 70.566668 - ], - [ - -50.93972, - 70.46776 - ], - [ - -51.037224, - 70.430819 - ], - [ - -50.490555, - 70.509722 - ], - [ - -50.676392, - 70.322771 - ], - [ - -52.722221, - 70.744707 - ], - [ - -54.063332, - 70.829714 - ], - [ - -54.626389, - 70.651934 - ], - [ - -52.312775, - 70.046648 - ], - [ - -50.214165, - 70.021654 - ], - [ - -50.589165, - 69.921923 - ], - [ - -50.313614, - 69.873308 - ], - [ - -50.191666, - 69.757494 - ], - [ - -50.883057, - 69.491365 - ], - [ - -50.20472, - 69.521929 - ], - [ - -51.122772, - 69.201387 - ], - [ - -50.380829, - 69.338884 - ], - [ - -50.138611, - 69.177477 - ], - [ - -50.687775, - 69.117754 - ], - [ - -50.209442, - 68.960817 - ], - [ - -51.069725, - 69.13109 - ], - [ - -51.292503, - 68.748323 - ], - [ - -50.656387, - 68.825548 - ], - [ - -50.865837, - 68.614702 - ], - [ - -52.46167, - 68.544985 - ], - [ - -53.079727, - 68.323046 - ], - [ - -53.389168, - 68.327776 - ], - [ - -52.419167, - 68.180544 - ], - [ - -50.82, - 68.503603 - ], - [ - -51.183609, - 68.398882 - ], - [ - -50.956665, - 68.182756 - ], - [ - -51.434166, - 68.19832 - ], - [ - -50.153053, - 67.933321 - ], - [ - -50.56945, - 67.90082 - ], - [ - -51.188606, - 68.063601 - ], - [ - -51.85778, - 68.041933 - ], - [ - -52.802223, - 68.168871 - ], - [ - -52.414444, - 68.062761 - ], - [ - -53.321114, - 68.18442 - ], - [ - -52.059998, - 67.975267 - ], - [ - -53.187218, - 68.043322 - ], - [ - -52.954559, - 67.978983 - ], - [ - -53.753616, - 67.601091 - ], - [ - -51.059998, - 67.974154 - ], - [ - -51.331116, - 67.868868 - ], - [ - -50.417503, - 67.844439 - ], - [ - -51.230827, - 67.697206 - ], - [ - -50.969719, - 67.62221 - ], - [ - -50.650276, - 67.651659 - ], - [ - -50.288612, - 67.744982 - ], - [ - -49.936661, - 67.693865 - ], - [ - -50.274445, - 67.731096 - ], - [ - -50.852226, - 67.590822 - ], - [ - -50.071945, - 67.509996 - ], - [ - -50.700554, - 67.491655 - ], - [ - -51.330284, - 67.675814 - ], - [ - -51.809441, - 67.625811 - ], - [ - -52.496109, - 67.769716 - ], - [ - -53.881111, - 67.263887 - ], - [ - -53.79834, - 67.202776 - ], - [ - -53.252228, - 67.320543 - ], - [ - -51.151665, - 67.423311 - ], - [ - -51.525833, - 67.351091 - ], - [ - -50.351112, - 67.180544 - ], - [ - -51.189438, - 67.123598 - ], - [ - -51.524719, - 67.323046 - ], - [ - -52.15139, - 67.369982 - ], - [ - -53.477219, - 67.239153 - ], - [ - -53.58889, - 67.214998 - ], - [ - -53.379997, - 67.202211 - ], - [ - -53.816666, - 67.178865 - ], - [ - -53.965553, - 67.074709 - ], - [ - -52.228882, - 66.839983 - ], - [ - -53.451942, - 66.637499 - ], - [ - -52.416389, - 66.546373 - ], - [ - -53.633331, - 66.504442 - ], - [ - -53.61972, - 66.243319 - ], - [ - -53.118332, - 66.285814 - ], - [ - -53.476662, - 66.098879 - ], - [ - -51.189438, - 66.917757 - ], - [ - -50.334724, - 67.071932 - ], - [ - -50.632217, - 67.015825 - ], - [ - -49.99778, - 66.980822 - ], - [ - -50.95639, - 66.93471 - ], - [ - -50.32917, - 66.833055 - ], - [ - -51.271385, - 66.843874 - ], - [ - -53.462219, - 66.034151 - ], - [ - -51.831947, - 66.055819 - ], - [ - -53.268333, - 65.746935 - ], - [ - -52.688889, - 65.805544 - ], - [ - -52.801941, - 65.538881 - ], - [ - -52.469162, - 65.640825 - ], - [ - -52.49778, - 65.387209 - ], - [ - -51.934441, - 65.546373 - ], - [ - -51.948051, - 65.658876 - ], - [ - -51.484726, - 65.763048 - ], - [ - -51.209166, - 65.796099 - ], - [ - -50.545837, - 65.706942 - ], - [ - -51.243889, - 65.759722 - ], - [ - -51.694443, - 65.698595 - ], - [ - -51.901108, - 65.623873 - ], - [ - -51.720833, - 65.582216 - ], - [ - -52.558891, - 65.327486 - ], - [ - -52.099724, - 65.239153 - ], - [ - -52.211388, - 64.806643 - ], - [ - -51.246948, - 65.017488 - ], - [ - -52.120277, - 64.720263 - ], - [ - -52.057503, - 64.599085 - ], - [ - -52.10556, - 64.387209 - ], - [ - -52.039169, - 64.399157 - ], - [ - -52.00695, - 64.2036 - ], - [ - -51.224167, - 64.762209 - ], - [ - -50.636665, - 64.753054 - ], - [ - -50.978607, - 65.219713 - ], - [ - -50.560555, - 64.768053 - ], - [ - -49.998886, - 64.869143 - ], - [ - -50.065552, - 64.529161 - ], - [ - -49.584297, - 64.337648 - ], - [ - -50.856667, - 64.633043 - ], - [ - -50.173058, - 64.44832 - ], - [ - -50.352226, - 64.382753 - ], - [ - -50.856392, - 64.415545 - ], - [ - -51.041946, - 64.275545 - ], - [ - -50.843056, - 64.254168 - ], - [ - -50.950836, - 64.21805 - ], - [ - -51.761391, - 64.181932 - ], - [ - -50.04834, - 64.194139 - ], - [ - -51.601944, - 64.034716 - ], - [ - -51.443329, - 63.804995 - ], - [ - -50.924171, - 63.932497 - ], - [ - -51.559441, - 63.709162 - ], - [ - -50.504723, - 63.667215 - ], - [ - -51.221382, - 63.439432 - ], - [ - -50.276108, - 63.401384 - ], - [ - -51.10778, - 63.339434 - ], - [ - -50.059845, - 63.228754 - ], - [ - -50.606392, - 63.094439 - ], - [ - -50.149994, - 63.015276 - ], - [ - -50.379997, - 62.784441 - ], - [ - -50.191502, - 62.933661 - ], - [ - -49.701393, - 63.057497 - ], - [ - -50.150833, - 62.930826 - ], - [ - -50.317223, - 62.743052 - ], - [ - -50.280281, - 62.704714 - ], - [ - -49.947495, - 62.827219 - ], - [ - -50.31778, - 62.495272 - ], - [ - -49.293892, - 62.17222 - ], - [ - -49.669449, - 61.995546 - ], - [ - -48.840553, - 62.076944 - ], - [ - -49.440277, - 61.842218 - ], - [ - -48.763062, - 61.98472 - ], - [ - -49.148888, - 61.718599 - ], - [ - -48.599213, - 61.636339 - ], - [ - -49.297501, - 61.557497 - ], - [ - -48.344162, - 61.604998 - ], - [ - -49.066109, - 61.39805 - ], - [ - -48.378609, - 61.363886 - ], - [ - -48.637222, - 61.238047 - ], - [ - -48.410278, - 61.132212 - ], - [ - -47.917221, - 61.324167 - ], - [ - -48.218887, - 61.184992 - ], - [ - -47.833611, - 61.041941 - ], - [ - -48.406387, - 60.988329 - ], - [ - -47.689438, - 61.004999 - ], - [ - -48.238892, - 60.819719 - ], - [ - -47.447777, - 60.820276 - ], - [ - -47.31945, - 60.867769 - ], - [ - -47.809441, - 60.87916 - ], - [ - -47.023056, - 60.976099 - ], - [ - -46.914444, - 60.933329 - ], - [ - -46.958611, - 60.863329 - ], - [ - -46.857224, - 60.797495 - ], - [ - -46.705275, - 60.88138 - ], - [ - -46.835274, - 60.930277 - ], - [ - -46.581673, - 60.905825 - ], - [ - -46.523331, - 61.015276 - ], - [ - -46.442223, - 60.999163 - ], - [ - -46.38028, - 61.041109 - ], - [ - -46.406105, - 61.084162 - ], - [ - -46.229439, - 60.97471 - ], - [ - -45.915001, - 61.090273 - ], - [ - -45.839996, - 61.164995 - ], - [ - -46.009726, - 61.223047 - ], - [ - -45.769722, - 61.333605 - ], - [ - -45.65361, - 61.142221 - ], - [ - -46.065552, - 60.921106 - ], - [ - -45.199722, - 61.189989 - ], - [ - -46.221382, - 60.753611 - ], - [ - -45.253059, - 60.901934 - ], - [ - -45.849724, - 60.697489 - ], - [ - -45.671776, - 60.676329 - ], - [ - -45.978333, - 60.573885 - ], - [ - -45.313332, - 60.699999 - ], - [ - -45.491943, - 60.489992 - ], - [ - -45.099167, - 60.64583 - ], - [ - -45.203331, - 60.435266 - ], - [ - -44.626106, - 60.733332 - ], - [ - -45.189995, - 60.12916 - ], - [ - -44.470833, - 60.557215 - ], - [ - -45.152779, - 60.074167 - ], - [ - -44.604172, - 59.982492 - ], - [ - -44.456665, - 60.148333 - ], - [ - -44.080559, - 60.286386 - ], - [ - -44.100838, - 60.384165 - ], - [ - -43.137505, - 60.079439 - ], - [ - -43.16861, - 60.397493 - ], - [ - -44.202499, - 60.593325 - ], - [ - -42.749443, - 60.683603 - ], - [ - -43.526665, - 60.837214 - ], - [ - -42.79084, - 60.801104 - ], - [ - -43.484444, - 60.933329 - ], - [ - -42.70472, - 61.057772 - ], - [ - -43.612778, - 61.127771 - ], - [ - -42.629997, - 61.09833 - ], - [ - -43.246109, - 61.339159 - ], - [ - -42.507507, - 61.355272 - ], - [ - -43.07917, - 61.593607 - ], - [ - -42.434723, - 61.557215 - ], - [ - -42.869446, - 61.77305 - ], - [ - -42.115837, - 62.006662 - ], - [ - -42.54084, - 61.943605 - ], - [ - -42.261116, - 62.242495 - ], - [ - -42.979164, - 62.515276 - ], - [ - -42.162216, - 62.383883 - ], - [ - -43.147224, - 62.757776 - ], - [ - -41.755562, - 62.839434 - ], - [ - -41.61528, - 62.987497 - ], - [ - -42.174446, - 63.201662 - ], - [ - -41.429169, - 63.126383 - ], - [ - -41.907501, - 63.464716 - ], - [ - -41.687218, - 63.524996 - ], - [ - -41.113335, - 63.307215 - ], - [ - -41.580833, - 63.487772 - ], - [ - -41.238335, - 63.404436 - ], - [ - -41.394165, - 63.552217 - ], - [ - -41.113335, - 63.385271 - ], - [ - -40.998886, - 63.407495 - ], - [ - -41.17067, - 63.513605 - ], - [ - -40.748337, - 63.509165 - ], - [ - -41.617775, - 63.792223 - ], - [ - -40.518059, - 63.697214 - ], - [ - -40.838608, - 63.945543 - ], - [ - -40.56778, - 64.109148 - ], - [ - -41.56945, - 64.265551 - ], - [ - -41.50695, - 64.325823 - ], - [ - -41.325836, - 64.341372 - ], - [ - -41.091667, - 64.302202 - ], - [ - -40.788055, - 64.384432 - ], - [ - -40.358894, - 64.34833 - ], - [ - -41.155556, - 64.964434 - ], - [ - -39.755562, - 65.242754 - ], - [ - -40.09639, - 65.567217 - ], - [ - -38.241943, - 65.629427 - ], - [ - -38.100838, - 65.803041 - ], - [ - -38.483612, - 66.010271 - ], - [ - -38.051941, - 65.912493 - ], - [ - -37.691666, - 66.259722 - ], - [ - -38.10611, - 66.386934 - ], - [ - -37.184723, - 66.341661 - ], - [ - -37.811386, - 66.03055 - ], - [ - -37.193054, - 65.769152 - ], - [ - -37.077499, - 66.062197 - ], - [ - -36.980278, - 65.837496 - ], - [ - -36.521111, - 65.984713 - ], - [ - -36.566666, - 66.076662 - ], - [ - -36.343056, - 66.079988 - ], - [ - -36.331947, - 65.907213 - ], - [ - -35.587502, - 66.110262 - ], - [ - -35.851669, - 66.433596 - ], - [ - -34.719994, - 66.33832 - ], - [ - -34.406944, - 66.540819 - ], - [ - -34.429726, - 66.741365 - ], - [ - -34.26722, - 66.575823 - ], - [ - -33.973053, - 66.990541 - ], - [ - -33.365837, - 67.246935 - ], - [ - -33.600555, - 67.37137 - ], - [ - -33.198608, - 67.688036 - ], - [ - -32.122772, - 67.857759 - ], - [ - -31.999165, - 68.095263 - ], - [ - -32.400276, - 68.199419 - ], - [ - -32.133331, - 68.196093 - ], - [ - -32.485001, - 68.619982 - ], - [ - -32.007225, - 68.261934 - ], - [ - -31.535835, - 68.239428 - ], - [ - -31.745831, - 68.210817 - ], - [ - -31.571667, - 68.066942 - ], - [ - -30.030281, - 68.11165 - ], - [ - -30.196945, - 68.242479 - ], - [ - -29.862221, - 68.413607 - ], - [ - -29.378056, - 68.19887 - ], - [ - -26.363335, - 68.667482 - ], - [ - -24.072777, - 69.478045 - ], - [ - -24.343334, - 69.604433 - ], - [ - -23.579166, - 69.623598 - ], - [ - -23.930553, - 69.755266 - ], - [ - -22.079166, - 70.129702 - ], - [ - -25.229164, - 70.414431 - ], - [ - -27.341946, - 69.962496 - ], - [ - -28.542778, - 70.04471 - ], - [ - -26.322224, - 70.373034 - ], - [ - -29.206944, - 70.394152 - ], - [ - -27.914164, - 70.867205 - ], - [ - -28.409164, - 70.975817 - ], - [ - -26.478886, - 70.960268 - ], - [ - -25.411388, - 71.349154 - ], - [ - -28.466942, - 71.552477 - ], - [ - -27.325001, - 71.709719 - ], - [ - -28.639721, - 72.124422 - ], - [ - -24.739998, - 71.332216 - ], - [ - -23.345833, - 70.43915 - ], - [ - -22.622776, - 70.446642 - ], - [ - -22.506947, - 70.850542 - ], - [ - -22.377224, - 70.441652 - ], - [ - -21.47472, - 70.53998 - ], - [ - -21.929165, - 70.802202 - ], - [ - -21.68111, - 71.068331 - ], - [ - -22.333889, - 71.053591 - ], - [ - -21.6875, - 71.149157 - ], - [ - -21.961666, - 71.263887 - ], - [ - -21.603611, - 71.323046 - ], - [ - -21.805557, - 71.509432 - ], - [ - -22.473331, - 71.263048 - ], - [ - -22.50639, - 71.549715 - ], - [ - -21.895832, - 71.740816 - ], - [ - -23.125557, - 71.626085 - ], - [ - -22.494442, - 71.892763 - ], - [ - -24.588333, - 72.421099 - ], - [ - -25.526669, - 72.12137 - ], - [ - -25.289169, - 72.384432 - ], - [ - -25.908333, - 72.413881 - ], - [ - -24.609444, - 72.523317 - ], - [ - -24.842499, - 72.719439 - ], - [ - -26.462776, - 72.572222 - ], - [ - -26.304722, - 72.72777 - ], - [ - -27.388332, - 72.836657 - ], - [ - -25.05389, - 73.082766 - ], - [ - -26.449165, - 73.19359 - ], - [ - -27.497498, - 72.924425 - ], - [ - -27.728611, - 73.129702 - ], - [ - -26.387501, - 73.241365 - ], - [ - -27.337502, - 73.492479 - ], - [ - -26.012501, - 73.242205 - ], - [ - -25.721386, - 73.263613 - ], - [ - -25.315002, - 73.461657 - ], - [ - -24.674168, - 73.513323 - ], - [ - -25.686943, - 73.952486 - ], - [ - -24.463055, - 73.535814 - ], - [ - -24.044167, - 73.814699 - ], - [ - -22.178333, - 73.624697 - ], - [ - -24.032223, - 73.702486 - ], - [ - -22.379166, - 73.250551 - ], - [ - -20.501114, - 73.452776 - ], - [ - -20.283058, - 73.879976 - ], - [ - -21.748608, - 74.058321 - ], - [ - -21.821667, - 73.651094 - ], - [ - -21.980553, - 73.998034 - ], - [ - -22.492495, - 74.074434 - ], - [ - -22.053055, - 74.283876 - ], - [ - -22.479164, - 74.311922 - ], - [ - -21.765003, - 74.419436 - ], - [ - -22.082779, - 74.59833 - ], - [ - -19.684998, - 74.23749 - ], - [ - -18.977776, - 74.481661 - ], - [ - -21.11972, - 74.661654 - ], - [ - -20.60611, - 74.736925 - ], - [ - -20.762779, - 74.846941 - ], - [ - -20.638889, - 75.061922 - ], - [ - -22.435555, - 75.163881 - ], - [ - -20.515003, - 75.140825 - ], - [ - -22.511391, - 75.530825 - ], - [ - -21.406387, - 75.455553 - ], - [ - -22.251114, - 75.664156 - ], - [ - -19.882778, - 75.14583 - ], - [ - -19.335556, - 75.404985 - ], - [ - -19.825001, - 75.909151 - ], - [ - -21.98222, - 75.99193 - ], - [ - -19.805836, - 76.228594 - ], - [ - -21.68222, - 76.239153 - ], - [ - -21.573055, - 76.436647 - ], - [ - -22.506947, - 76.44803 - ], - [ - -21.814444, - 76.590273 - ], - [ - -22.738888, - 76.704439 - ], - [ - -21.605, - 76.644716 - ], - [ - -20.939442, - 76.842485 - ], - [ - -21.728886, - 76.883608 - ], - [ - -20.723053, - 76.988314 - ], - [ - -18.305279, - 76.806093 - ], - [ - -18.120556, - 76.94832 - ], - [ - -18.395832, - 77.34276 - ], - [ - -21.053612, - 77.543871 - ], - [ - -18.956665, - 77.628862 - ], - [ - -19.239998, - 77.763048 - ], - [ - -20.311947, - 77.870821 - ], - [ - -20.86639, - 78.015276 - ], - [ - -21.578335, - 77.56415 - ], - [ - -22.039444, - 77.688311 - ], - [ - -20.906387, - 78.624147 - ], - [ - -21.426945, - 78.644442 - ], - [ - -20.926388, - 78.689974 - ], - [ - -21.182499, - 78.809984 - ], - [ - -20.018059, - 78.877199 - ], - [ - -19.914722, - 78.964159 - ], - [ - -20.09111, - 79.063601 - ], - [ - -19.378334, - 79.274996 - ], - [ - -19.078888, - 79.200548 - ], - [ - -19.573612, - 79.331102 - ], - [ - -19.868889, - 79.153048 - ], - [ - -19.63139, - 79.661379 - ], - [ - -17.449165, - 80.055819 - ], - [ - -19.289444, - 80.103319 - ], - [ - -20.326946, - 79.760546 - ], - [ - -20.755001, - 79.864992 - ], - [ - -20.554722, - 80.105822 - ], - [ - -19.700832, - 80.285814 - ], - [ - -17.113888, - 80.236925 - ], - [ - -16.113888, - 80.502489 - ], - [ - -21.247498, - 80.575548 - ], - [ - -16.005001, - 80.728594 - ], - [ - -12.155001, - 81.603319 - ], - [ - -16.700554, - 81.931932 - ], - [ - -17.534725, - 81.853594 - ], - [ - -17.353889, - 81.701937 - ], - [ - -18.017223, - 81.46805 - ], - [ - -20.305557, - 81.451097 - ], - [ - -19.940834, - 81.683046 - ], - [ - -24.511669, - 80.540819 - ], - [ - -22.23111, - 81.465822 - ], - [ - -22.016945, - 81.933046 - ], - [ - -24.002224, - 82.009722 - ], - [ - -24.210556, - 81.70833 - ], - [ - -27.328613, - 81.380816 - ], - [ - -27.630833, - 81.486101 - ], - [ - -25.202499, - 81.989428 - ], - [ - -33.098335, - 81.773882 - ], - [ - -29.90472, - 82.093325 - ], - [ - -31.618889, - 82.207491 - ], - [ - -25.06889, - 82.152483 - ], - [ - -21.314167, - 82.608034 - ], - [ - -23.992775, - 82.911654 - ], - [ - -25.901112, - 82.777483 - ], - [ - -24.751114, - 83.000826 - ], - [ - -25.142223, - 83.162767 - ], - [ - -35.617775, - 82.901094 - ], - [ - -25.650555, - 83.291658 - ], - [ - -32.300278, - 83.570269 - ] - ], - [ - [ - -20.113335, - 77.653322 - ], - [ - -20.008335, - 77.606936 - ], - [ - -20.438332, - 77.628862 - ], - [ - -20.113335, - 77.653322 - ] - ] - ] - ] - }, - "name" : "Greenland", - "iso2" : "GL", - "iso3" : "GRL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ir1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 8.710257, - 47.69681 - ], - [ - 8.670557, - 47.711107 - ], - [ - 8.678595, - 47.693346 - ], - [ - 8.710257, - 47.69681 - ] - ] - ], - [ - [ - [ - 6.806391, - 53.602221 - ], - [ - 6.658335, - 53.586107 - ], - [ - 6.746946, - 53.560274 - ], - [ - 6.806391, - 53.602221 - ] - ] - ], - [ - [ - [ - 6.939444, - 53.669443 - ], - [ - 7.088335, - 53.684168 - ], - [ - 6.87639, - 53.670275 - ], - [ - 6.939444, - 53.669443 - ] - ] - ], - [ - [ - [ - 7.242498, - 53.704439 - ], - [ - 7.346945, - 53.721109 - ], - [ - 7.135836, - 53.70611 - ], - [ - 7.242498, - 53.704439 - ] - ] - ], - [ - [ - [ - 8.191111, - 53.724718 - ], - [ - 8.142778, - 53.733606 - ], - [ - 8.120001, - 53.713053 - ], - [ - 8.191111, - 53.724718 - ] - ] - ], - [ - [ - [ - 7.622225, - 53.754442 - ], - [ - 7.485834, - 53.757502 - ], - [ - 7.467779, - 53.733057 - ], - [ - 7.622225, - 53.754442 - ] - ] - ], - [ - [ - [ - 7.75889, - 53.760553 - ], - [ - 7.81278, - 53.775553 - ], - [ - 7.664446, - 53.761667 - ], - [ - 7.75889, - 53.760553 - ] - ] - ], - [ - [ - [ - 8.42528, - 53.928057 - ], - [ - 8.455, - 53.963053 - ], - [ - 8.411665, - 53.955553 - ], - [ - 8.42528, - 53.928057 - ] - ] - ], - [ - [ - [ - 13.940279, - 54.024996 - ], - [ - 13.934446, - 54.027773 - ], - [ - 13.925833, - 54.018328 - ], - [ - 13.940279, - 54.024996 - ] - ] - ], - [ - [ - [ - 8.695555, - 54.041109 - ], - [ - 8.693335, - 54.082499 - ], - [ - 8.671389, - 54.077776 - ], - [ - 8.695555, - 54.041109 - ] - ] - ], - [ - [ - [ - 14.001318, - 54.065363 - ], - [ - 13.759165, - 54.159998 - ], - [ - 14.056005, - 53.984865 - ], - [ - 13.823431, - 53.853746 - ], - [ - 14.218889, - 53.86902 - ], - [ - 14.225557, - 53.928606 - ], - [ - 14.001318, - 54.065363 - ] - ] - ], - [ - [ - [ - 10.979445, - 54.380556 - ], - [ - 11.003054, - 54.37694 - ], - [ - 11.017778, - 54.380274 - ], - [ - 10.979445, - 54.380556 - ] - ] - ], - [ - [ - [ - 8.893057, - 54.461939 - ], - [ - 8.960554, - 54.519167 - ], - [ - 8.815001, - 54.500834 - ], - [ - 8.893057, - 54.461939 - ] - ] - ], - [ - [ - [ - 11.312777, - 54.406946 - ], - [ - 11.184168, - 54.519999 - ], - [ - 11.006388, - 54.461664 - ], - [ - 11.312777, - 54.406946 - ] - ] - ], - [ - [ - [ - 8.662779, - 54.494165 - ], - [ - 8.710833, - 54.551668 - ], - [ - 8.591112, - 54.527773 - ], - [ - 8.662779, - 54.494165 - ] - ] - ], - [ - [ - [ - 13.07361, - 54.488611 - ], - [ - 13.151388, - 54.602777 - ], - [ - 13.096666, - 54.590555 - ], - [ - 13.07361, - 54.488611 - ] - ] - ], - [ - [ - [ - 13.383055, - 54.638887 - ], - [ - 13.244722, - 54.559168 - ], - [ - 13.503092, - 54.493097 - ], - [ - 13.146963, - 54.545607 - ], - [ - 13.2675, - 54.382502 - ], - [ - 13.118334, - 54.333887 - ], - [ - 13.730833, - 54.275835 - ], - [ - 13.383055, - 54.638887 - ] - ] - ], - [ - [ - [ - 8.364443, - 54.613329 - ], - [ - 8.353888, - 54.711664 - ], - [ - 8.294443, - 54.666666 - ], - [ - 8.364443, - 54.613329 - ] - ] - ], - [ - [ - [ - 8.567778, - 54.685274 - ], - [ - 8.551111, - 54.753885 - ], - [ - 8.396944, - 54.713884 - ], - [ - 8.567778, - 54.685274 - ] - ] - ], - [ - [ - [ - 10.979445, - 54.380556 - ], - [ - 9.870279, - 54.454439 - ], - [ - 9.972776, - 54.76111 - ], - [ - 9.44536, - 54.825403 - ], - [ - 8.664545, - 54.913095 - ], - [ - 8.393332, - 55.053057 - ], - [ - 8.281111, - 54.746943 - ], - [ - 8.580549, - 54.86788 - ], - [ - 9.016943, - 54.498331 - ], - [ - 8.599443, - 54.333887 - ], - [ - 8.883612, - 54.294168 - ], - [ - 8.899721, - 53.940828 - ], - [ - 9.832499, - 53.536386 - ], - [ - 8.665556, - 53.893885 - ], - [ - 8.503054, - 53.354166 - ], - [ - 8.008333, - 53.710001 - ], - [ - 7.295835, - 53.685274 - ], - [ - 7.015554, - 53.414721 - ], - [ - 7.208364, - 53.242807 - ], - [ - 7.051668, - 52.64361 - ], - [ - 6.68889, - 52.549166 - ], - [ - 7.065557, - 52.385828 - ], - [ - 6.82889, - 51.965555 - ], - [ - 5.9625, - 51.807779 - ], - [ - 6.222223, - 51.46583 - ], - [ - 5.864721, - 51.046106 - ], - [ - 6.011801, - 50.757273 - ], - [ - 6.398207, - 50.323175 - ], - [ - 6.134417, - 50.127848 - ], - [ - 6.524446, - 49.808611 - ], - [ - 6.362169, - 49.459391 - ], - [ - 8.22608, - 48.964418 - ], - [ - 7.57889, - 48.119722 - ], - [ - 7.58827, - 47.584482 - ], - [ - 7.697226, - 47.543329 - ], - [ - 8.576422, - 47.591372 - ], - [ - 8.566111, - 47.80694 - ], - [ - 9.566725, - 47.540453 - ], - [ - 10.173334, - 47.274721 - ], - [ - 10.478056, - 47.591944 - ], - [ - 11.095556, - 47.396112 - ], - [ - 12.735556, - 47.684168 - ], - [ - 13.016668, - 47.470278 - ], - [ - 12.758333, - 48.123888 - ], - [ - 13.833612, - 48.773607 - ], - [ - 12.674444, - 49.424997 - ], - [ - 12.093706, - 50.322535 - ], - [ - 14.309721, - 51.053606 - ], - [ - 14.828333, - 50.865831 - ], - [ - 15.03639, - 51.285555 - ], - [ - 14.599443, - 51.818605 - ], - [ - 14.640276, - 52.572496 - ], - [ - 14.149168, - 52.86278 - ], - [ - 14.275629, - 53.699068 - ], - [ - 13.813055, - 53.845278 - ], - [ - 13.718332, - 54.169718 - ], - [ - 13.455832, - 54.096109 - ], - [ - 13.02389, - 54.399721 - ], - [ - 12.369722, - 54.265001 - ], - [ - 12.924166, - 54.426943 - ], - [ - 12.526945, - 54.474161 - ], - [ - 10.818537, - 53.890055 - ], - [ - 10.979445, - 54.380556 - ] - ], - [ - [ - 11.459166, - 53.961107 - ], - [ - 11.373888, - 53.988611 - ], - [ - 11.488611, - 54.02305 - ], - [ - 11.459166, - 53.961107 - ] - ], - [ - [ - 11.544168, - 54.061388 - ], - [ - 11.51111, - 54.048609 - ], - [ - 11.612421, - 54.104586 - ], - [ - 11.544168, - 54.061388 - ] - ], - [ - [ - 12.729723, - 54.416666 - ], - [ - 12.68611, - 54.418329 - ], - [ - 12.702776, - 54.428331 - ], - [ - 12.729723, - 54.416666 - ] - ] - ] - ] - }, - "name" : "Germany", - "iso2" : "DE", - "iso3" : "DEU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "i71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 144.709412, - 13.234997 - ], - [ - 144.875244, - 13.65361 - ], - [ - 144.655243, - 13.427776 - ], - [ - 144.709412, - 13.234997 - ] - ] - ] - }, - "name" : "Guam", - "iso2" : "GU", - "iso3" : "GUM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "jL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 24.128609, - 34.856667 - ], - [ - 24.04472, - 34.849998 - ], - [ - 24.128609, - 34.808884 - ], - [ - 24.128609, - 34.856667 - ] - ] - ], - [ - [ - [ - 26.900555, - 35.358887 - ], - [ - 27.019997, - 35.430832 - ], - [ - 26.898052, - 35.419998 - ], - [ - 26.900555, - 35.358887 - ] - ] - ], - [ - [ - [ - 23.858608, - 35.52166 - ], - [ - 23.606388, - 35.613327 - ], - [ - 23.521111, - 35.288055 - ], - [ - 24.752777, - 34.942215 - ], - [ - 26.290554, - 35.131104 - ], - [ - 23.858608, - 35.52166 - ] - ] - ], - [ - [ - [ - 27.157497, - 35.445831 - ], - [ - 27.228054, - 35.826385 - ], - [ - 27.066109, - 35.604996 - ], - [ - 27.157497, - 35.445831 - ] - ] - ], - [ - [ - [ - 23.332222, - 35.825272 - ], - [ - 23.325832, - 35.872215 - ], - [ - 23.273052, - 35.899994 - ], - [ - 23.332222, - 35.825272 - ] - ] - ], - [ - [ - [ - 23.049442, - 36.13694 - ], - [ - 23.10722, - 36.243889 - ], - [ - 22.929443, - 36.37944 - ], - [ - 23.049442, - 36.13694 - ] - ] - ], - [ - [ - [ - 25.838882, - 36.348053 - ], - [ - 25.771111, - 36.401932 - ], - [ - 25.73027, - 36.369713 - ], - [ - 25.838882, - 36.348053 - ] - ] - ], - [ - [ - [ - 25.399162, - 36.39444 - ], - [ - 25.406666, - 36.410553 - ], - [ - 25.391388, - 36.408051 - ], - [ - 25.399162, - 36.39444 - ] - ] - ], - [ - [ - [ - 27.786663, - 35.890549 - ], - [ - 28.225826, - 36.453049 - ], - [ - 27.719719, - 36.1661 - ], - [ - 27.786663, - 35.890549 - ] - ] - ], - [ - [ - [ - 27.400272, - 36.372498 - ], - [ - 27.445827, - 36.4086 - ], - [ - 27.297771, - 36.464432 - ], - [ - 27.400272, - 36.372498 - ] - ] - ], - [ - [ - [ - 25.457771, - 36.333611 - ], - [ - 25.486382, - 36.408051 - ], - [ - 25.371941, - 36.472488 - ], - [ - 25.457771, - 36.333611 - ] - ] - ], - [ - [ - [ - 26.342216, - 36.506386 - ], - [ - 26.460548, - 36.598053 - ], - [ - 26.262497, - 36.59166 - ], - [ - 26.342216, - 36.506386 - ] - ] - ], - [ - [ - [ - 27.854717, - 36.527222 - ], - [ - 27.859718, - 36.650269 - ], - [ - 27.764996, - 36.574997 - ], - [ - 27.854717, - 36.527222 - ] - ] - ], - [ - [ - [ - 24.950275, - 36.590553 - ], - [ - 24.938332, - 36.632774 - ], - [ - 24.840832, - 36.658882 - ], - [ - 24.950275, - 36.590553 - ] - ] - ], - [ - [ - [ - 25.089722, - 36.633881 - ], - [ - 25.187775, - 36.71666 - ], - [ - 25.102219, - 36.693329 - ], - [ - 25.089722, - 36.633881 - ] - ] - ], - [ - [ - [ - 21.785831, - 36.736938 - ], - [ - 21.760555, - 36.754997 - ], - [ - 21.750553, - 36.712494 - ], - [ - 21.774998, - 36.697777 - ], - [ - 21.785831, - 36.736938 - ] - ] - ], - [ - [ - [ - 24.413609, - 36.660271 - ], - [ - 24.548054, - 36.759438 - ], - [ - 24.349163, - 36.746109 - ], - [ - 24.413609, - 36.660271 - ] - ] - ], - [ - [ - [ - 25.385551, - 36.651665 - ], - [ - 25.407219, - 36.717766 - ], - [ - 25.275829, - 36.78138 - ], - [ - 25.385551, - 36.651665 - ] - ] - ], - [ - [ - [ - 24.662777, - 36.747498 - ], - [ - 24.665276, - 36.776382 - ], - [ - 24.609722, - 36.778328 - ], - [ - 24.662777, - 36.747498 - ] - ] - ], - [ - [ - [ - 21.698608, - 36.739166 - ], - [ - 21.728333, - 36.79277 - ], - [ - 21.704441, - 36.796661 - ], - [ - 21.698608, - 36.739166 - ] - ] - ], - [ - [ - [ - 24.558609, - 36.775551 - ], - [ - 24.562496, - 36.84861 - ], - [ - 24.521111, - 36.823883 - ], - [ - 24.558609, - 36.775551 - ] - ] - ], - [ - [ - [ - 25.459995, - 36.82222 - ], - [ - 25.474159, - 36.869164 - ], - [ - 25.42083, - 36.83194 - ], - [ - 25.459995, - 36.82222 - ] - ] - ], - [ - [ - [ - 25.826664, - 36.779709 - ], - [ - 25.976662, - 36.874161 - ], - [ - 25.736938, - 36.784431 - ], - [ - 25.826664, - 36.779709 - ] - ] - ], - [ - [ - [ - 26.965832, - 36.681664 - ], - [ - 27.352776, - 36.872208 - ], - [ - 27.064159, - 36.838875 - ], - [ - 26.965832, - 36.681664 - ] - ] - ], - [ - [ - [ - 25.680832, - 36.878052 - ], - [ - 25.651939, - 36.906097 - ], - [ - 25.609161, - 36.886658 - ], - [ - 25.680832, - 36.878052 - ] - ] - ], - [ - [ - [ - 25.076664, - 36.951935 - ], - [ - 25.083881, - 37.04248 - ], - [ - 25.023605, - 36.999146 - ], - [ - 25.076664, - 36.951935 - ] - ] - ], - [ - [ - [ - 24.711941, - 36.903053 - ], - [ - 24.765274, - 36.958328 - ], - [ - 24.641109, - 37.042221 - ], - [ - 24.711941, - 36.903053 - ] - ] - ], - [ - [ - [ - 26.975552, - 36.924431 - ], - [ - 27.048328, - 36.993607 - ], - [ - 26.890831, - 37.076378 - ], - [ - 26.975552, - 36.924431 - ] - ] - ], - [ - [ - [ - 25.834438, - 37.09304 - ], - [ - 25.825554, - 37.125542 - ], - [ - 25.782494, - 37.119987 - ], - [ - 25.834438, - 37.09304 - ] - ] - ], - [ - [ - [ - 25.250275, - 37.008324 - ], - [ - 25.268604, - 37.138611 - ], - [ - 25.098328, - 37.027489 - ], - [ - 25.250275, - 37.008324 - ] - ] - ], - [ - [ - [ - 26.886662, - 37.096657 - ], - [ - 26.85833, - 37.181107 - ], - [ - 26.769161, - 37.176384 - ], - [ - 26.886662, - 37.096657 - ] - ] - ], - [ - [ - [ - 25.461388, - 36.919434 - ], - [ - 25.54472, - 37.198044 - ], - [ - 25.341106, - 37.074997 - ], - [ - 25.461388, - 36.919434 - ] - ] - ], - [ - [ - [ - 24.535, - 37.182495 - ], - [ - 24.414719, - 37.12722 - ], - [ - 24.509163, - 37.112778 - ], - [ - 24.535, - 37.182495 - ] - ] - ], - [ - [ - [ - 26.767494, - 37.186935 - ], - [ - 26.787495, - 37.20694 - ], - [ - 26.772221, - 37.206657 - ], - [ - 26.767494, - 37.186935 - ] - ] - ], - [ - [ - [ - 23.156666, - 37.240273 - ], - [ - 23.150555, - 37.272774 - ], - [ - 23.096943, - 37.277496 - ], - [ - 23.156666, - 37.240273 - ] - ] - ], - [ - [ - [ - 23.410831, - 37.300827 - ], - [ - 23.583332, - 37.364166 - ], - [ - 23.373886, - 37.299721 - ], - [ - 23.410831, - 37.300827 - ] - ] - ], - [ - [ - [ - 24.379444, - 37.305832 - ], - [ - 24.48333, - 37.398048 - ], - [ - 24.442776, - 37.481667 - ], - [ - 24.379444, - 37.305832 - ] - ] - ], - [ - [ - [ - 25.359161, - 37.407776 - ], - [ - 25.463608, - 37.469719 - ], - [ - 25.313889, - 37.488045 - ], - [ - 25.359161, - 37.407776 - ] - ] - ], - [ - [ - [ - 24.952499, - 37.385551 - ], - [ - 24.889721, - 37.512497 - ], - [ - 24.884441, - 37.363609 - ], - [ - 24.952499, - 37.385551 - ] - ] - ], - [ - [ - [ - 23.497776, - 37.504715 - ], - [ - 23.522499, - 37.524162 - ], - [ - 23.432777, - 37.526665 - ], - [ - 23.497776, - 37.504715 - ] - ] - ], - [ - [ - [ - 25.228333, - 37.534431 - ], - [ - 25.238888, - 37.621941 - ], - [ - 24.97583, - 37.675552 - ], - [ - 25.228333, - 37.534431 - ] - ] - ], - [ - [ - [ - 24.298611, - 37.526382 - ], - [ - 24.394165, - 37.673332 - ], - [ - 24.298332, - 37.654999 - ], - [ - 24.298611, - 37.526382 - ] - ] - ], - [ - [ - [ - 26.020828, - 37.514435 - ], - [ - 26.361111, - 37.686661 - ], - [ - 26.06805, - 37.631943 - ], - [ - 26.020828, - 37.514435 - ] - ] - ], - [ - [ - [ - 23.513054, - 37.691666 - ], - [ - 23.563889, - 37.762772 - ], - [ - 23.425552, - 37.762497 - ], - [ - 23.513054, - 37.691666 - ] - ] - ], - [ - [ - [ - 27.069443, - 37.711937 - ], - [ - 26.748608, - 37.811378 - ], - [ - 26.571663, - 37.730553 - ], - [ - 27.069443, - 37.711937 - ] - ] - ], - [ - [ - [ - 20.898052, - 37.805275 - ], - [ - 20.621944, - 37.860832 - ], - [ - 20.831108, - 37.646385 - ], - [ - 20.898052, - 37.805275 - ] - ] - ], - [ - [ - [ - 24.791664, - 37.998329 - ], - [ - 24.713333, - 37.872772 - ], - [ - 24.960278, - 37.685555 - ], - [ - 24.791664, - 37.998329 - ] - ] - ], - [ - [ - [ - 23.462498, - 37.878609 - ], - [ - 23.538887, - 37.985832 - ], - [ - 23.437496, - 37.985832 - ], - [ - 23.462498, - 37.878609 - ] - ] - ], - [ - [ - [ - 20.612499, - 38.394165 - ], - [ - 20.341389, - 38.177216 - ], - [ - 20.7925, - 38.060272 - ], - [ - 20.612499, - 38.394165 - ] - ] - ], - [ - [ - [ - 20.735554, - 38.309998 - ], - [ - 20.648888, - 38.500275 - ], - [ - 20.644722, - 38.398048 - ], - [ - 20.735554, - 38.309998 - ] - ] - ], - [ - [ - [ - 26.025555, - 38.176941 - ], - [ - 26.159443, - 38.544434 - ], - [ - 25.861664, - 38.583611 - ], - [ - 26.025555, - 38.176941 - ] - ] - ], - [ - [ - [ - 20.903053, - 38.545555 - ], - [ - 20.938889, - 38.60527 - ], - [ - 20.899166, - 38.566383 - ], - [ - 20.903053, - 38.545555 - ] - ] - ], - [ - [ - [ - 25.599995, - 38.531937 - ], - [ - 25.613331, - 38.589989 - ], - [ - 25.52916, - 38.599709 - ], - [ - 25.599995, - 38.531937 - ] - ] - ], - [ - [ - [ - 20.643608, - 38.581108 - ], - [ - 20.701385, - 38.834717 - ], - [ - 20.557777, - 38.683884 - ], - [ - 20.643608, - 38.581108 - ] - ] - ], - [ - [ - [ - 24.683052, - 38.79805 - ], - [ - 24.458332, - 38.962776 - ], - [ - 24.553333, - 38.768326 - ], - [ - 24.683052, - 38.79805 - ] - ] - ], - [ - [ - [ - 23.461941, - 38.853333 - ], - [ - 22.829998, - 38.829163 - ], - [ - 24.564163, - 37.987221 - ], - [ - 24.153889, - 38.64666 - ], - [ - 23.461941, - 38.853333 - ] - ] - ], - [ - [ - [ - 23.736664, - 39.074715 - ], - [ - 23.786663, - 39.124161 - ], - [ - 23.590832, - 39.204437 - ], - [ - 23.736664, - 39.074715 - ] - ] - ], - [ - [ - [ - 23.50861, - 39.159721 - ], - [ - 23.461388, - 39.208328 - ], - [ - 23.392498, - 39.152222 - ], - [ - 23.50861, - 39.159721 - ] - ] - ], - [ - [ - [ - 20.19833, - 39.174438 - ], - [ - 20.123608, - 39.236382 - ], - [ - 20.136665, - 39.200554 - ], - [ - 20.19833, - 39.174438 - ] - ] - ], - [ - [ - [ - 23.862499, - 39.136665 - ], - [ - 23.978054, - 39.260277 - ], - [ - 23.953609, - 39.289719 - ], - [ - 23.862499, - 39.136665 - ] - ] - ], - [ - [ - [ - 26.377216, - 39.273598 - ], - [ - 25.832222, - 39.183601 - ], - [ - 26.614441, - 39.012497 - ], - [ - 26.377216, - 39.273598 - ] - ] - ], - [ - [ - [ - 24.992496, - 39.466385 - ], - [ - 25.053608, - 39.530823 - ], - [ - 25.006386, - 39.563309 - ], - [ - 24.992496, - 39.466385 - ] - ] - ], - [ - [ - [ - 19.926109, - 39.794441 - ], - [ - 19.641388, - 39.744438 - ], - [ - 20.111664, - 39.363052 - ], - [ - 19.846664, - 39.649162 - ], - [ - 19.926109, - 39.794441 - ] - ] - ], - [ - [ - [ - 19.404163, - 39.843605 - ], - [ - 19.430553, - 39.867493 - ], - [ - 19.378887, - 39.868607 - ], - [ - 19.404163, - 39.843605 - ] - ] - ], - [ - [ - [ - 25.441666, - 40.004715 - ], - [ - 25.05444, - 39.86055 - ], - [ - 25.355827, - 39.786385 - ], - [ - 25.441666, - 40.004715 - ] - ] - ], - [ - [ - [ - 25.601662, - 40.398041 - ], - [ - 25.694717, - 40.466103 - ], - [ - 25.443886, - 40.475822 - ], - [ - 25.601662, - 40.398041 - ] - ] - ], - [ - [ - [ - 24.773331, - 40.63166 - ], - [ - 24.645275, - 40.797775 - ], - [ - 24.509441, - 40.658051 - ], - [ - 24.773331, - 40.63166 - ] - ] - ], - [ - [ - [ - 26.361095, - 41.711052 - ], - [ - 26.294167, - 41.708054 - ], - [ - 26.066109, - 41.697495 - ], - [ - 26.139996, - 41.354713 - ], - [ - 25.285, - 41.24305 - ], - [ - 24.263885, - 41.570549 - ], - [ - 22.935604, - 41.342125 - ], - [ - 20.98349, - 40.855888 - ], - [ - 20.671944, - 40.098053 - ], - [ - 20.010029, - 39.6912 - ], - [ - 20.731941, - 38.952499 - ], - [ - 21.149998, - 39.001938 - ], - [ - 20.73222, - 38.801109 - ], - [ - 20.989441, - 38.669998 - ], - [ - 21.147778, - 38.304161 - ], - [ - 22.403332, - 38.448051 - ], - [ - 23.226109, - 38.153053 - ], - [ - 22.868053, - 37.938049 - ], - [ - 21.85833, - 38.340828 - ], - [ - 21.106388, - 37.854439 - ], - [ - 21.649719, - 37.44194 - ], - [ - 21.704441, - 36.815277 - ], - [ - 22.152775, - 37.02166 - ], - [ - 22.488888, - 36.386108 - ], - [ - 22.634163, - 36.804443 - ], - [ - 23.19833, - 36.431938 - ], - [ - 22.72583, - 37.568329 - ], - [ - 23.513611, - 37.429443 - ], - [ - 22.991386, - 37.880554 - ], - [ - 23.515553, - 38.04055 - ], - [ - 24.034443, - 37.651665 - ], - [ - 24.073887, - 38.196938 - ], - [ - 22.523331, - 38.857216 - ], - [ - 23.072777, - 39.036942 - ], - [ - 22.937775, - 39.358604 - ], - [ - 23.344997, - 39.178055 - ], - [ - 22.594997, - 40.012215 - ], - [ - 22.59111, - 40.476662 - ], - [ - 22.941387, - 40.630554 - ], - [ - 23.709999, - 39.911942 - ], - [ - 23.353611, - 40.245277 - ], - [ - 23.93222, - 39.943054 - ], - [ - 23.727776, - 40.350555 - ], - [ - 24.398331, - 40.151939 - ], - [ - 23.735275, - 40.754997 - ], - [ - 25.138054, - 41.011375 - ], - [ - 26.04472, - 40.735825 - ], - [ - 26.633884, - 41.354439 - ], - [ - 26.361095, - 41.711052 - ] - ] - ] - ] - }, - "name" : "Greece", - "iso2" : "GR", - "iso3" : "GRC" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "jb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -89.141953, - 17.818886 - ], - [ - -90.982422, - 17.820652 - ], - [ - -90.983902, - 17.256107 - ], - [ - -91.4375, - 17.241108 - ], - [ - -90.406403, - 16.416386 - ], - [ - -90.441956, - 16.088333 - ], - [ - -91.729172, - 16.074997 - ], - [ - -92.24678, - 14.550547 - ], - [ - -91.384735, - 13.978888 - ], - [ - -90.627625, - 13.930555 - ], - [ - -90.09639, - 13.745832 - ], - [ - -89.348312, - 14.431982 - ], - [ - -89.150375, - 15.073481 - ], - [ - -88.214737, - 15.724443 - ], - [ - -88.910568, - 15.89361 - ], - [ - -89.216171, - 15.889851 - ], - [ - -89.141953, - 17.818886 - ] - ] - ] - }, - "name" : "Guatemala", - "iso2" : "GT", - "iso3" : "GTM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "jr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -15.016848, - 10.956451 - ], - [ - -14.693056, - 11.035276 - ], - [ - -14.664446, - 10.476665 - ], - [ - -13.602783, - 9.734441 - ], - [ - -13.29561, - 9.032143 - ], - [ - -12.456112, - 9.888332 - ], - [ - -11.214445, - 9.997499 - ], - [ - -10.571526, - 9.059532 - ], - [ - -10.695835, - 8.298611 - ], - [ - -10.266651, - 8.488377 - ], - [ - -9.48365, - 8.346931 - ], - [ - -9.485161, - 7.361989 - ], - [ - -9.106945, - 7.198889 - ], - [ - -8.660557, - 7.695 - ], - [ - -8.469749, - 7.561325 - ], - [ - -7.946838, - 8.018505 - ], - [ - -8.198057, - 8.496666 - ], - [ - -7.646536, - 8.378416 - ], - [ - -7.957778, - 8.813332 - ], - [ - -7.732779, - 9.088055 - ], - [ - -8.143612, - 9.533888 - ], - [ - -7.973984, - 10.165611 - ], - [ - -8.289722, - 11.007776 - ], - [ - -8.680557, - 10.966389 - ], - [ - -8.357779, - 11.305555 - ], - [ - -8.53388, - 11.49391 - ], - [ - -9.155556, - 12.486111 - ], - [ - -9.701946, - 12.029163 - ], - [ - -10.323893, - 12.224997 - ], - [ - -10.652748, - 11.892609 - ], - [ - -10.92889, - 12.224442 - ], - [ - -11.315556, - 12.022774 - ], - [ - -11.373058, - 12.407774 - ], - [ - -12.345404, - 12.301748 - ], - [ - -13.713139, - 12.677221 - ], - [ - -13.971035, - 12.154758 - ], - [ - -13.709167, - 11.715277 - ], - [ - -14.686945, - 11.509722 - ], - [ - -15.016848, - 10.956451 - ] - ] - ] - }, - "name" : "Guinea", - "iso2" : "GN", - "iso3" : "GIN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "j71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -58.450562, - 6.896944 - ], - [ - -58.328056, - 6.956666 - ], - [ - -58.413338, - 6.969166 - ], - [ - -58.450562, - 6.896944 - ] - ] - ], - [ - [ - [ - -57.248505, - 5.486111 - ], - [ - -57.199722, - 6.147499 - ], - [ - -58.314728, - 6.894722 - ], - [ - -58.646118, - 6.42611 - ], - [ - -58.472778, - 7.349999 - ], - [ - -59.789169, - 8.34111 - ], - [ - -59.99028, - 8.535276 - ], - [ - -59.825562, - 8.236111 - ], - [ - -60.71917, - 7.535555 - ], - [ - -60.288612, - 7.057221 - ], - [ - -61.134026, - 6.711042 - ], - [ - -61.389725, - 5.94 - ], - [ - -60.73037, - 5.204799 - ], - [ - -60.098335, - 5.217222 - ], - [ - -60.147507, - 4.5175 - ], - [ - -59.675835, - 4.388888 - ], - [ - -59.568611, - 3.899444 - ], - [ - -59.989449, - 2.693611 - ], - [ - -59.642784, - 1.731111 - ], - [ - -58.806946, - 1.185555 - ], - [ - -57.324722, - 1.975278 - ], - [ - -56.470634, - 1.944499 - ], - [ - -57.301392, - 3.3775 - ], - [ - -57.642227, - 3.356389 - ], - [ - -58.047226, - 4.008333 - ], - [ - -57.92334, - 4.821944 - ], - [ - -57.327225, - 5.026111 - ], - [ - -57.248505, - 5.486111 - ] - ] - ] - ] - }, - "name" : "Guyana", - "iso2" : "GY", - "iso3" : "GUY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "kL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -73.584732, - 18.056944 - ], - [ - -73.706116, - 18.101389 - ], - [ - -73.667511, - 18.057222 - ], - [ - -73.584732, - 18.056944 - ] - ] - ], - [ - [ - [ - -72.815567, - 18.698889 - ], - [ - -72.857224, - 18.835001 - ], - [ - -73.300003, - 18.927221 - ], - [ - -72.815567, - 18.698889 - ] - ] - ], - [ - [ - [ - -72.673615, - 19.916666 - ], - [ - -73.465286, - 19.687777 - ], - [ - -72.723343, - 19.455 - ], - [ - -72.800293, - 19.033056 - ], - [ - -72.350006, - 18.530279 - ], - [ - -74.268066, - 18.665834 - ], - [ - -74.446671, - 18.34194 - ], - [ - -73.881668, - 18.022779 - ], - [ - -73.386398, - 18.261946 - ], - [ - -71.767868, - 18.038504 - ], - [ - -72.003067, - 18.600832 - ], - [ - -71.715836, - 18.749723 - ], - [ - -71.754181, - 19.705832 - ], - [ - -72.673615, - 19.916666 - ] - ], - [ - [ - -73.739456, - 18.584166 - ], - [ - -73.798065, - 18.624723 - ], - [ - -73.715286, - 18.624445 - ], - [ - -73.739456, - 18.584166 - ] - ] - ], - [ - [ - [ - -72.628342, - 19.986944 - ], - [ - -72.811951, - 20.092222 - ], - [ - -72.95639, - 20.056665 - ], - [ - -72.628342, - 19.986944 - ] - ] - ] - ] - }, - "name" : "Haiti", - "iso2" : "HT", - "iso3" : "HTI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "kb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -87.622513, - 13.246387 - ], - [ - -87.614731, - 13.28611 - ], - [ - -87.669724, - 13.278332 - ], - [ - -87.622513, - 13.246387 - ] - ] - ], - [ - [ - [ - -87.571945, - 13.36861 - ], - [ - -87.65834, - 13.335833 - ], - [ - -87.58168, - 13.30361 - ], - [ - -87.571945, - 13.36861 - ] - ] - ], - [ - [ - [ - -83.131851, - 14.992979 - ], - [ - -84.077515, - 15.351387 - ], - [ - -84.208618, - 15.549999 - ], - [ - -83.85556, - 15.459999 - ], - [ - -84.264725, - 15.828609 - ], - [ - -85.841949, - 16.010555 - ], - [ - -88.214737, - 15.724443 - ], - [ - -89.150375, - 15.073481 - ], - [ - -89.348312, - 14.431982 - ], - [ - -89.339737, - 14.416111 - ], - [ - -88.47084, - 13.855276 - ], - [ - -87.75029, - 13.864166 - ], - [ - -87.815582, - 13.405386 - ], - [ - -87.396393, - 13.410831 - ], - [ - -87.301392, - 12.986599 - ], - [ - -86.695007, - 13.296944 - ], - [ - -86.763016, - 13.751621 - ], - [ - -86.015839, - 14.065832 - ], - [ - -85.732315, - 13.829235 - ], - [ - -84.906677, - 14.808611 - ], - [ - -84.482788, - 14.617777 - ], - [ - -83.239731, - 14.982498 - ], - [ - -83.131851, - 14.992979 - ] - ] - ], - [ - [ - [ - -86.883621, - 16.086666 - ], - [ - -86.876114, - 16.121666 - ], - [ - -86.991669, - 16.087219 - ], - [ - -86.883621, - 16.086666 - ] - ] - ], - [ - [ - [ - -86.599731, - 16.296108 - ], - [ - -86.263336, - 16.423332 - ], - [ - -86.410278, - 16.421665 - ], - [ - -86.599731, - 16.296108 - ] - ] - ], - [ - [ - [ - -85.944733, - 16.409721 - ], - [ - -85.835556, - 16.498886 - ], - [ - -85.900284, - 16.49472 - ], - [ - -85.944733, - 16.409721 - ] - ] - ], - [ - [ - [ - -83.946671, - 17.405277 - ], - [ - -83.944458, - 17.414165 - ], - [ - -83.955292, - 17.417774 - ], - [ - -83.946671, - 17.405277 - ] - ] - ], - [ - [ - [ - -83.910568, - 17.409721 - ], - [ - -83.910004, - 17.41861 - ], - [ - -83.926392, - 17.416664 - ], - [ - -83.910568, - 17.409721 - ] - ] - ] - ] - }, - "name" : "Honduras", - "iso2" : "HN", - "iso3" : "HND" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "kr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 16.903891, - 42.726107 - ], - [ - 16.939722, - 42.768328 - ], - [ - 16.81389, - 42.768053 - ], - [ - 16.903891, - 42.726107 - ] - ] - ], - [ - [ - [ - 17.745001, - 42.691942 - ], - [ - 17.399443, - 42.797777 - ], - [ - 17.321665, - 42.788057 - ], - [ - 17.745001, - 42.691942 - ] - ] - ], - [ - [ - [ - 16.820555, - 42.960001 - ], - [ - 16.633055, - 42.981112 - ], - [ - 17.183611, - 42.918612 - ], - [ - 16.820555, - 42.960001 - ] - ] - ], - [ - [ - [ - 17.298887, - 43.006945 - ], - [ - 17.004168, - 43.046663 - ], - [ - 18.503199, - 42.449442 - ], - [ - 18.455557, - 42.565828 - ], - [ - 17.649843, - 42.889078 - ], - [ - 17.298887, - 43.006945 - ] - ] - ], - [ - [ - [ - 16.208334, - 43.022219 - ], - [ - 16.251944, - 43.072496 - ], - [ - 16.050554, - 43.063051 - ], - [ - 16.208334, - 43.022219 - ] - ] - ], - [ - [ - [ - 16.562037, - 43.230852 - ], - [ - 16.373056, - 43.194162 - ], - [ - 17.190084, - 43.126055 - ], - [ - 16.562037, - 43.230852 - ] - ] - ], - [ - [ - [ - 16.851667, - 43.269167 - ], - [ - 16.753054, - 43.36278 - ], - [ - 16.404722, - 43.329721 - ], - [ - 16.851667, - 43.269167 - ] - ] - ], - [ - [ - [ - 16.390554, - 43.332773 - ], - [ - 16.326387, - 43.394167 - ], - [ - 16.198332, - 43.411661 - ], - [ - 16.390554, - 43.332773 - ] - ] - ], - [ - [ - [ - 15.687498, - 43.630831 - ], - [ - 15.662222, - 43.665834 - ], - [ - 15.606668, - 43.674997 - ], - [ - 15.687498, - 43.630831 - ] - ] - ], - [ - [ - [ - 15.346388, - 43.808886 - ], - [ - 15.225, - 43.873056 - ], - [ - 15.376669, - 43.775927 - ], - [ - 15.346388, - 43.808886 - ] - ] - ], - [ - [ - [ - 15.446665, - 43.887217 - ], - [ - 15.376944, - 43.96805 - ], - [ - 15.260832, - 44.006662 - ], - [ - 15.446665, - 43.887217 - ] - ] - ], - [ - [ - [ - 15.250555, - 44.016665 - ], - [ - 15.243055, - 44.053057 - ], - [ - 15.062498, - 44.157221 - ], - [ - 15.250555, - 44.016665 - ] - ] - ], - [ - [ - [ - 14.855276, - 44.17528 - ], - [ - 15.137499, - 43.896387 - ], - [ - 15.226389, - 43.90111 - ], - [ - 14.855276, - 44.17528 - ] - ] - ], - [ - [ - [ - 14.838655, - 44.609503 - ], - [ - 15.248888, - 44.327776 - ], - [ - 14.732779, - 44.698053 - ], - [ - 14.838655, - 44.609503 - ] - ] - ], - [ - [ - [ - 14.521944, - 44.474161 - ], - [ - 14.3375, - 44.710276 - ], - [ - 14.367498, - 44.590273 - ], - [ - 14.521944, - 44.474161 - ] - ] - ], - [ - [ - [ - 14.757311, - 44.803755 - ], - [ - 14.659254, - 44.794737 - ], - [ - 14.865278, - 44.706667 - ], - [ - 14.757311, - 44.803755 - ] - ] - ], - [ - [ - [ - 14.455076, - 44.9097 - ], - [ - 14.315279, - 45.174997 - ], - [ - 14.400278, - 44.915277 - ], - [ - 14.294138, - 44.907248 - ], - [ - 14.493334, - 44.606386 - ], - [ - 14.455076, - 44.9097 - ] - ] - ], - [ - [ - [ - 14.755835, - 44.941385 - ], - [ - 14.539167, - 45.239443 - ], - [ - 14.428888, - 45.078333 - ], - [ - 14.755835, - 44.941385 - ] - ] - ], - [ - [ - [ - 16.5725, - 46.475275 - ], - [ - 15.654722, - 46.219446 - ], - [ - 15.697779, - 45.844164 - ], - [ - 15.174459, - 45.425821 - ], - [ - 14.601389, - 45.67528 - ], - [ - 13.591742, - 45.481699 - ], - [ - 13.899168, - 44.774439 - ], - [ - 14.292776, - 45.324999 - ], - [ - 14.482779, - 45.311106 - ], - [ - 15.988333, - 43.504442 - ], - [ - 16.884443, - 43.403055 - ], - [ - 17.578527, - 42.943827 - ], - [ - 16.143057, - 44.199442 - ], - [ - 15.786665, - 45.171946 - ], - [ - 18.251944, - 45.138887 - ], - [ - 19.039721, - 44.861383 - ], - [ - 19.423887, - 45.225832 - ], - [ - 18.980326, - 45.378626 - ], - [ - 18.817022, - 45.912966 - ], - [ - 17.669443, - 45.835001 - ], - [ - 16.607874, - 46.476236 - ], - [ - 16.5725, - 46.475275 - ] - ] - ] - ] - }, - "name" : "Croatia", - "iso2" : "HR", - "iso3" : "HRV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "k71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 18.81702, - 45.912964 - ], - [ - 20.261024, - 46.114853 - ], - [ - 20.726955, - 46.17556 - ], - [ - 21.176666, - 46.295555 - ], - [ - 22.032497, - 47.530273 - ], - [ - 22.894804, - 47.95454 - ], - [ - 22.151442, - 48.411919 - ], - [ - 20.660553, - 48.563332 - ], - [ - 18.655277, - 47.758606 - ], - [ - 17.251656, - 48.024994 - ], - [ - 17.166386, - 48.012497 - ], - [ - 17.053886, - 47.709442 - ], - [ - 16.450554, - 47.698051 - ], - [ - 16.713886, - 47.543884 - ], - [ - 16.510555, - 47.00666 - ], - [ - 16.111805, - 46.86972 - ], - [ - 16.607872, - 46.476234 - ], - [ - 17.669441, - 45.834999 - ], - [ - 18.81702, - 45.912964 - ] - ] - ] - }, - "name" : "Hungary", - "iso2" : "HU", - "iso3" : "HUN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "lL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -15.070835, - 66.1436 - ], - [ - -14.710835, - 66.367218 - ], - [ - -15.381945, - 66.142776 - ], - [ - -16.527779, - 66.508041 - ], - [ - -16.594723, - 66.09111 - ], - [ - -18.299446, - 66.174713 - ], - [ - -18.069447, - 65.643326 - ], - [ - -18.784168, - 66.191101 - ], - [ - -19.453056, - 66.056381 - ], - [ - -19.451668, - 65.72583 - ], - [ - -20.179169, - 66.12944 - ], - [ - -20.424446, - 66.083054 - ], - [ - -20.446667, - 65.494995 - ], - [ - -20.927223, - 65.588882 - ], - [ - -21.084446, - 65.159164 - ], - [ - -21.777779, - 65.765823 - ], - [ - -21.33778, - 65.733322 - ], - [ - -21.603058, - 65.953323 - ], - [ - -21.399445, - 66.027222 - ], - [ - -22.9375, - 66.466385 - ], - [ - -23.188614, - 66.349716 - ], - [ - -22.43417, - 66.267776 - ], - [ - -22.972225, - 66.221375 - ], - [ - -22.424725, - 65.847488 - ], - [ - -23.473614, - 66.199158 - ], - [ - -23.665558, - 66.111099 - ], - [ - -23.371113, - 65.986664 - ], - [ - -23.81889, - 66.013321 - ], - [ - -23.213337, - 65.837494 - ], - [ - -23.873058, - 65.866653 - ], - [ - -23.226391, - 65.741653 - ], - [ - -24.105835, - 65.806656 - ], - [ - -23.805557, - 65.530548 - ], - [ - -24.542225, - 65.497772 - ], - [ - -21.698612, - 65.449158 - ], - [ - -22.56139, - 65.171097 - ], - [ - -21.835835, - 65.030273 - ], - [ - -24.059532, - 64.890884 - ], - [ - -22.407223, - 64.812485 - ], - [ - -22.170834, - 64.453888 - ], - [ - -21.508057, - 64.645554 - ], - [ - -22.102501, - 64.314438 - ], - [ - -21.36278, - 64.384987 - ], - [ - -22.703335, - 64.080826 - ], - [ - -22.689167, - 63.80555 - ], - [ - -21.053612, - 63.945 - ], - [ - -18.710003, - 63.391106 - ], - [ - -15.383335, - 64.371933 - ], - [ - -14.925001, - 64.26416 - ], - [ - -14.539167, - 64.406097 - ], - [ - -14.511112, - 64.797485 - ], - [ - -13.499445, - 65.069153 - ], - [ - -14.034723, - 65.193054 - ], - [ - -13.570278, - 65.25943 - ], - [ - -13.611389, - 65.509995 - ], - [ - -14.563612, - 65.494995 - ], - [ - -14.336668, - 65.783051 - ], - [ - -14.848333, - 65.731384 - ], - [ - -14.618891, - 65.994431 - ], - [ - -15.070835, - 66.1436 - ] - ] - ] - }, - "name" : "Iceland", - "iso2" : "IS", - "iso3" : "ISL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "lb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 93.912767, - 7.028612 - ], - [ - 93.671099, - 7.181944 - ], - [ - 93.82387, - 6.745554 - ], - [ - 93.912767, - 7.028612 - ] - ] - ], - [ - [ - [ - 93.662203, - 7.405832 - ], - [ - 93.664156, - 7.414721 - ], - [ - 93.654436, - 7.417501 - ], - [ - 93.662203, - 7.405832 - ] - ] - ], - [ - [ - [ - 93.639437, - 7.247221 - ], - [ - 93.728319, - 7.32472 - ], - [ - 93.69359, - 7.43889 - ], - [ - 93.639437, - 7.247221 - ] - ] - ], - [ - [ - [ - 93.454714, - 7.868891 - ], - [ - 93.317492, - 7.997499 - ], - [ - 93.349428, - 7.879999 - ], - [ - 93.454714, - 7.868891 - ] - ] - ], - [ - [ - [ - 93.57361, - 7.927778 - ], - [ - 93.540545, - 8.015554 - ], - [ - 93.502779, - 7.977221 - ], - [ - 93.57361, - 7.927778 - ] - ] - ], - [ - [ - [ - 93.488039, - 7.98889 - ], - [ - 93.513323, - 8.226389 - ], - [ - 93.443041, - 8.153612 - ], - [ - 93.488039, - 7.98889 - ] - ] - ], - [ - [ - [ - 73.032213, - 8.246664 - ], - [ - 73.078875, - 8.310278 - ], - [ - 73.02083, - 8.26861 - ], - [ - 73.032213, - 8.246664 - ] - ] - ], - [ - [ - [ - 93.169146, - 8.201387 - ], - [ - 93.073885, - 8.348055 - ], - [ - 93.059984, - 8.271666 - ], - [ - 93.169146, - 8.201387 - ] - ] - ], - [ - [ - [ - 93.609423, - 8.429998 - ], - [ - 93.626085, - 8.508055 - ], - [ - 93.601931, - 8.565275 - ], - [ - 93.609423, - 8.429998 - ] - ] - ], - [ - [ - [ - 92.774431, - 9.12472 - ], - [ - 92.76166, - 9.263613 - ], - [ - 92.708879, - 9.16361 - ], - [ - 92.774431, - 9.12472 - ] - ] - ], - [ - [ - [ - 73.637499, - 10.052778 - ], - [ - 73.64554, - 10.097498 - ], - [ - 73.630266, - 10.071112 - ], - [ - 73.637499, - 10.052778 - ] - ] - ], - [ - [ - [ - 72.633608, - 10.550833 - ], - [ - 72.650545, - 10.577497 - ], - [ - 72.624697, - 10.552778 - ], - [ - 72.633608, - 10.550833 - ] - ] - ], - [ - [ - [ - 73.684145, - 10.823053 - ], - [ - 73.685259, - 10.83 - ], - [ - 73.662203, - 10.827776 - ], - [ - 73.684145, - 10.823053 - ] - ] - ], - [ - [ - [ - 72.179979, - 10.817499 - ], - [ - 72.197481, - 10.872774 - ], - [ - 72.170534, - 10.809721 - ], - [ - 72.179979, - 10.817499 - ] - ] - ], - [ - [ - [ - 92.492754, - 10.518332 - ], - [ - 92.494982, - 10.90111 - ], - [ - 92.346651, - 10.694166 - ], - [ - 92.492754, - 10.518332 - ] - ] - ], - [ - [ - [ - 72.29915, - 10.938055 - ], - [ - 72.301378, - 10.954165 - ], - [ - 72.289431, - 10.942778 - ], - [ - 72.29915, - 10.938055 - ] - ] - ], - [ - [ - [ - 72.749422, - 11.108889 - ], - [ - 72.74721, - 11.120554 - ], - [ - 72.73665, - 11.107222 - ], - [ - 72.749422, - 11.108889 - ] - ] - ], - [ - [ - [ - 72.107485, - 11.202776 - ], - [ - 72.108034, - 11.215555 - ], - [ - 72.099718, - 11.201109 - ], - [ - 72.107485, - 11.202776 - ] - ] - ], - [ - [ - [ - 72.778322, - 11.188887 - ], - [ - 72.789156, - 11.256945 - ], - [ - 72.77083, - 11.201109 - ], - [ - 72.778322, - 11.188887 - ] - ] - ], - [ - [ - [ - 73.006945, - 11.476664 - ], - [ - 73.013323, - 11.502222 - ], - [ - 73.004442, - 11.507502 - ], - [ - 73.006945, - 11.476664 - ] - ] - ], - [ - [ - [ - 92.633043, - 11.354166 - ], - [ - 92.703325, - 11.385557 - ], - [ - 92.643602, - 11.514166 - ], - [ - 92.633043, - 11.354166 - ] - ] - ], - [ - [ - [ - 92.271379, - 11.524443 - ], - [ - 92.27582, - 11.58222 - ], - [ - 92.216936, - 11.594721 - ], - [ - 92.271379, - 11.524443 - ] - ] - ], - [ - [ - [ - 72.712496, - 11.688612 - ], - [ - 72.715273, - 11.699999 - ], - [ - 72.700823, - 11.686388 - ], - [ - 72.712496, - 11.688612 - ] - ] - ], - [ - [ - [ - 93.058321, - 11.888613 - ], - [ - 92.978594, - 12.033609 - ], - [ - 92.943316, - 11.982775 - ], - [ - 93.058321, - 11.888613 - ] - ] - ], - [ - [ - [ - 93.13611, - 12.131941 - ], - [ - 93.131365, - 12.149168 - ], - [ - 93.125536, - 12.13389 - ], - [ - 93.13611, - 12.131941 - ] - ] - ], - [ - [ - [ - 92.717058, - 12.182806 - ], - [ - 92.524431, - 11.854166 - ], - [ - 92.718599, - 11.49111 - ], - [ - 92.717058, - 12.182806 - ] - ] - ], - [ - [ - [ - 93.093874, - 12.088053 - ], - [ - 93.086657, - 12.20722 - ], - [ - 93.060808, - 12.143888 - ], - [ - 93.093874, - 12.088053 - ] - ] - ], - [ - [ - [ - 93.865541, - 12.259165 - ], - [ - 93.873308, - 12.277498 - ], - [ - 93.848604, - 12.275831 - ], - [ - 93.865541, - 12.259165 - ] - ] - ], - [ - [ - [ - 92.782534, - 12.28768 - ], - [ - 92.783327, - 12.29389 - ], - [ - 92.774157, - 12.290556 - ], - [ - 92.782534, - 12.28768 - ] - ] - ], - [ - [ - [ - 92.831614, - 12.316526 - ], - [ - 92.754274, - 12.071337 - ], - [ - 92.901659, - 12.265833 - ], - [ - 92.831614, - 12.316526 - ] - ] - ], - [ - [ - [ - 92.904985, - 12.380831 - ], - [ - 92.910814, - 12.404165 - ], - [ - 92.872759, - 12.405832 - ], - [ - 92.904985, - 12.380831 - ] - ] - ], - [ - [ - [ - 92.928591, - 12.909166 - ], - [ - 92.758883, - 12.304998 - ], - [ - 92.98749, - 12.508612 - ], - [ - 92.928591, - 12.909166 - ] - ] - ], - [ - [ - [ - 92.691088, - 12.79611 - ], - [ - 92.714434, - 12.99 - ], - [ - 92.668871, - 12.855276 - ], - [ - 92.691088, - 12.79611 - ] - ] - ], - [ - [ - [ - 92.875811, - 13.39139 - ], - [ - 92.876085, - 13.403887 - ], - [ - 92.866655, - 13.400557 - ], - [ - 92.875811, - 13.39139 - ] - ] - ], - [ - [ - [ - 94.276934, - 13.41361 - ], - [ - 94.284151, - 13.444166 - ], - [ - 94.263887, - 13.430277 - ], - [ - 94.276934, - 13.41361 - ] - ] - ], - [ - [ - [ - 93.064425, - 13.237497 - ], - [ - 93.003878, - 13.571112 - ], - [ - 92.813417, - 12.897921 - ], - [ - 93.064425, - 13.237497 - ] - ] - ], - [ - [ - [ - 93.049425, - 13.639444 - ], - [ - 93.036379, - 13.679998 - ], - [ - 92.993044, - 13.661665 - ], - [ - 93.049425, - 13.639444 - ] - ] - ], - [ - [ - [ - 80.94803, - 15.736666 - ], - [ - 80.99193, - 15.765833 - ], - [ - 80.878588, - 15.843332 - ], - [ - 80.94803, - 15.736666 - ] - ] - ], - [ - [ - [ - 82.370867, - 16.867777 - ], - [ - 82.368868, - 16.871111 - ], - [ - 82.370821, - 16.858332 - ], - [ - 82.370867, - 16.867777 - ] - ] - ], - [ - [ - [ - 88.897219, - 21.525 - ], - [ - 88.908602, - 21.568609 - ], - [ - 88.836382, - 21.605833 - ], - [ - 88.825548, - 21.559443 - ], - [ - 88.844988, - 21.526945 - ], - [ - 88.897219, - 21.525 - ] - ] - ], - [ - [ - [ - 72.71805, - 21.606386 - ], - [ - 72.7661, - 21.655275 - ], - [ - 72.603319, - 21.64361 - ], - [ - 72.71805, - 21.606386 - ] - ] - ], - [ - [ - [ - 88.134722, - 21.619997 - ], - [ - 88.132479, - 21.876108 - ], - [ - 88.044985, - 21.66083 - ], - [ - 88.134722, - 21.619997 - ] - ] - ], - [ - [ - [ - 88.646379, - 21.825556 - ], - [ - 88.641939, - 21.921663 - ], - [ - 88.579165, - 21.826944 - ], - [ - 88.593599, - 21.797777 - ], - [ - 88.644991, - 21.784723 - ], - [ - 88.646379, - 21.825556 - ] - ] - ], - [ - [ - [ - 88.088594, - 21.849443 - ], - [ - 88.135271, - 21.907499 - ], - [ - 88.113039, - 21.948606 - ], - [ - 88.088594, - 21.849443 - ] - ] - ], - [ - [ - [ - 81.025362, - 30.204355 - ], - [ - 79.092485, - 31.437498 - ], - [ - 78.767214, - 31.309999 - ], - [ - 78.397768, - 32.548609 - ], - [ - 78.760546, - 32.635553 - ], - [ - 78.971102, - 32.350832 - ], - [ - 79.530275, - 32.754168 - ], - [ - 78.811647, - 33.525827 - ], - [ - 78.985353, - 34.350016 - ], - [ - 78.309145, - 34.642496 - ], - [ - 78.075548, - 35.445826 - ], - [ - 77.823931, - 35.501329 - ], - [ - 77.042482, - 35.099161 - ], - [ - 76.869982, - 34.658884 - ], - [ - 73.941652, - 34.646387 - ], - [ - 73.913317, - 34.068605 - ], - [ - 74.295824, - 33.977488 - ], - [ - 73.990541, - 33.743883 - ], - [ - 74.01639, - 33.188601 - ], - [ - 75.381289, - 32.214243 - ], - [ - 74.605326, - 31.877119 - ], - [ - 74.69459, - 31.053961 - ], - [ - 73.872499, - 30.3901 - ], - [ - 73.933405, - 30.136003 - ], - [ - 73.397493, - 29.942774 - ], - [ - 71.896944, - 27.961943 - ], - [ - 70.829439, - 27.706385 - ], - [ - 70.368319, - 28.020834 - ], - [ - 69.580278, - 27.17333 - ], - [ - 69.506105, - 26.754446 - ], - [ - 70.183596, - 26.536112 - ], - [ - 70.088045, - 25.982775 - ], - [ - 70.666384, - 25.698332 - ], - [ - 71.105822, - 24.416388 - ], - [ - 70.014711, - 24.169718 - ], - [ - 68.783052, - 24.332777 - ], - [ - 68.74721, - 23.969995 - ], - [ - 68.197802, - 23.766687 - ], - [ - 68.321383, - 23.580832 - ], - [ - 68.741365, - 23.844164 - ], - [ - 68.433046, - 23.429998 - ], - [ - 69.215822, - 22.840277 - ], - [ - 70.506945, - 23.102221 - ], - [ - 70.165545, - 22.548334 - ], - [ - 68.944429, - 22.294165 - ], - [ - 70.81888, - 20.697496 - ], - [ - 72.110537, - 21.201941 - ], - [ - 72.151934, - 22.283888 - ], - [ - 72.919146, - 22.267778 - ], - [ - 72.500826, - 21.976664 - ], - [ - 72.734423, - 21.986383 - ], - [ - 72.541658, - 21.663885 - ], - [ - 73.130816, - 21.753611 - ], - [ - 72.56415, - 21.378054 - ], - [ - 72.93442, - 20.774721 - ], - [ - 72.664156, - 19.870832 - ], - [ - 73.047228, - 19.217257 - ], - [ - 72.78055, - 19.312498 - ], - [ - 72.769991, - 18.943052 - ], - [ - 73.055544, - 19.011946 - ], - [ - 72.853868, - 18.660555 - ], - [ - 73.447756, - 16.055834 - ], - [ - 74.411928, - 14.483332 - ], - [ - 74.810259, - 12.864721 - ], - [ - 75.688875, - 11.435278 - ], - [ - 76.575823, - 8.876944 - ], - [ - 77.536104, - 8.071943 - ], - [ - 78.060534, - 8.364164 - ], - [ - 78.396654, - 9.08972 - ], - [ - 79.451387, - 9.15 - ], - [ - 78.908037, - 9.479719 - ], - [ - 79.324999, - 10.280832 - ], - [ - 79.859713, - 10.288889 - ], - [ - 79.763048, - 11.64889 - ], - [ - 80.349718, - 13.334166 - ], - [ - 80.049425, - 13.617777 - ], - [ - 80.313036, - 13.439165 - ], - [ - 80.048876, - 15.048887 - ], - [ - 80.279436, - 15.699167 - ], - [ - 80.825274, - 15.751944 - ], - [ - 80.891939, - 16.02611 - ], - [ - 81.017275, - 15.775557 - ], - [ - 81.313372, - 16.363333 - ], - [ - 82.301699, - 16.583055 - ], - [ - 82.364428, - 17.100832 - ], - [ - 84.106371, - 18.292223 - ], - [ - 85.434885, - 19.887011 - ], - [ - 85.451387, - 19.660276 - ], - [ - 86.420259, - 19.982775 - ], - [ - 87.02556, - 20.674829 - ], - [ - 86.96332, - 21.381941 - ], - [ - 87.796373, - 21.698885 - ], - [ - 88.168047, - 22.091665 - ], - [ - 87.907763, - 22.421663 - ], - [ - 88.199419, - 22.155275 - ], - [ - 88.254168, - 21.548609 - ], - [ - 88.496096, - 21.950274 - ], - [ - 88.572222, - 21.559999 - ], - [ - 88.628588, - 21.749163 - ], - [ - 88.556932, - 21.813334 - ], - [ - 88.667757, - 22.202219 - ], - [ - 88.707216, - 21.566389 - ], - [ - 88.784426, - 21.556944 - ], - [ - 88.855547, - 21.632776 - ], - [ - 89.007494, - 21.6 - ], - [ - 89.088884, - 21.628054 - ], - [ - 89.005556, - 21.903608 - ], - [ - 89.063005, - 22.115477 - ], - [ - 88.986101, - 23.20833 - ], - [ - 88.563875, - 23.65222 - ], - [ - 88.750536, - 24.220984 - ], - [ - 88.043322, - 24.684164 - ], - [ - 88.450823, - 25.187777 - ], - [ - 89.009432, - 25.288332 - ], - [ - 88.110537, - 25.835554 - ], - [ - 88.433046, - 26.55139 - ], - [ - 89.342775, - 26.017031 - ], - [ - 89.739153, - 26.156385 - ], - [ - 89.845263, - 25.28861 - ], - [ - 92.406374, - 25.030554 - ], - [ - 92.12137, - 24.393332 - ], - [ - 91.373293, - 24.101942 - ], - [ - 91.159426, - 23.640554 - ], - [ - 91.613604, - 22.943052 - ], - [ - 91.949999, - 23.732218 - ], - [ - 92.283327, - 23.705275 - ], - [ - 92.600817, - 21.982218 - ], - [ - 93.196642, - 22.256388 - ], - [ - 93.338732, - 24.077917 - ], - [ - 94.151094, - 23.855276 - ], - [ - 94.734423, - 25.024721 - ], - [ - 94.625536, - 25.397776 - ], - [ - 95.178041, - 26.058889 - ], - [ - 95.141375, - 26.612497 - ], - [ - 96.194139, - 27.270834 - ], - [ - 97.13666, - 27.085833 - ], - [ - 96.88666, - 27.606108 - ], - [ - 97.348879, - 28.222773 - ], - [ - 96.401934, - 28.35111 - ], - [ - 96.615816, - 28.790277 - ], - [ - 96.470827, - 29.056665 - ], - [ - 96.169146, - 28.903608 - ], - [ - 96.395266, - 29.255278 - ], - [ - 96.077486, - 29.468607 - ], - [ - 95.387774, - 29.035276 - ], - [ - 94.647509, - 29.33346 - ], - [ - 92.544985, - 27.86194 - ], - [ - 91.657763, - 27.764723 - ], - [ - 92.113604, - 27.297499 - ], - [ - 92.069994, - 26.861944 - ], - [ - 89.643053, - 26.715273 - ], - [ - 88.893877, - 26.975554 - ], - [ - 88.917727, - 27.320326 - ], - [ - 88.831667, - 28.013334 - ], - [ - 88.142794, - 27.866056 - ], - [ - 88.014711, - 26.364721 - ], - [ - 85.855547, - 26.570276 - ], - [ - 84.147219, - 27.511389 - ], - [ - 83.291368, - 27.337778 - ], - [ - 82.066401, - 27.914156 - ], - [ - 80.055819, - 28.836111 - ], - [ - 80.376925, - 29.748606 - ], - [ - 81.025362, - 30.204355 - ] - ], - [ - [ - 86.283602, - 20.038054 - ], - [ - 86.25139, - 20.045 - ], - [ - 86.276094, - 20.050001 - ], - [ - 86.283602, - 20.038054 - ] - ] - ] - ] - }, - "name" : "India", - "iso2" : "IN", - "iso3" : "IND" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "lr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 54.034439, - 26.484718 - ], - [ - 54.018883, - 26.554165 - ], - [ - 53.903603, - 26.53611 - ], - [ - 54.034439, - 26.484718 - ] - ] - ], - [ - [ - [ - 53.318054, - 26.797775 - ], - [ - 53.151657, - 26.846386 - ], - [ - 53.203323, - 26.802498 - ], - [ - 53.318054, - 26.797775 - ] - ] - ], - [ - [ - [ - 56.346657, - 26.82222 - ], - [ - 56.4086, - 26.885551 - ], - [ - 56.34388, - 26.884163 - ], - [ - 56.346657, - 26.82222 - ] - ] - ], - [ - [ - [ - 55.734993, - 26.838051 - ], - [ - 55.688599, - 26.929161 - ], - [ - 55.632767, - 26.79472 - ], - [ - 55.734993, - 26.838051 - ] - ] - ], - [ - [ - [ - 56.24527, - 26.927494 - ], - [ - 55.75222, - 26.951939 - ], - [ - 55.769989, - 26.792774 - ], - [ - 55.283607, - 26.558609 - ], - [ - 56.24527, - 26.927494 - ] - ] - ], - [ - [ - [ - 56.470825, - 27.037777 - ], - [ - 56.509163, - 27.071663 - ], - [ - 56.469986, - 27.108608 - ], - [ - 56.434715, - 27.086941 - ], - [ - 56.470825, - 27.037777 - ] - ] - ], - [ - [ - [ - 50.32888, - 29.20805 - ], - [ - 50.338326, - 29.268887 - ], - [ - 50.291382, - 29.278053 - ], - [ - 50.32888, - 29.20805 - ] - ] - ], - [ - [ - [ - 61.276558, - 35.607246 - ], - [ - 61.157211, - 36.649994 - ], - [ - 60.333054, - 36.656097 - ], - [ - 59.338882, - 37.539162 - ], - [ - 57.450272, - 37.939156 - ], - [ - 57.212212, - 38.281937 - ], - [ - 55.442764, - 38.086105 - ], - [ - 54.681107, - 37.443604 - ], - [ - 53.90564, - 37.350853 - ], - [ - 53.943321, - 36.799995 - ], - [ - 51.101105, - 36.728874 - ], - [ - 50.191376, - 37.38916 - ], - [ - 49.102486, - 37.643044 - ], - [ - 48.888283, - 38.442406 - ], - [ - 48.020821, - 38.835541 - ], - [ - 48.359787, - 39.385216 - ], - [ - 47.976662, - 39.719231 - ], - [ - 46.540375, - 38.875587 - ], - [ - 46.178246, - 38.841148 - ], - [ - 45.004433, - 39.416382 - ], - [ - 44.813042, - 39.630814 - ], - [ - 44.60582, - 39.78054 - ], - [ - 44.4161, - 39.425262 - ], - [ - 44.034157, - 39.384995 - ], - [ - 44.484154, - 38.345543 - ], - [ - 44.223969, - 37.899151 - ], - [ - 44.61805, - 37.727768 - ], - [ - 44.787338, - 37.149712 - ], - [ - 45.405823, - 35.990829 - ], - [ - 46.346939, - 35.817215 - ], - [ - 45.979988, - 35.584717 - ], - [ - 46.171364, - 35.113411 - ], - [ - 45.797733, - 34.91404 - ], - [ - 45.401054, - 33.979568 - ], - [ - 46.181938, - 33.260277 - ], - [ - 46.107216, - 32.967491 - ], - [ - 47.434158, - 32.397774 - ], - [ - 47.864441, - 31.798607 - ], - [ - 47.693878, - 31.00111 - ], - [ - 48.036385, - 30.997494 - ], - [ - 48.032494, - 30.491383 - ], - [ - 48.545555, - 29.96303 - ], - [ - 48.920547, - 30.043053 - ], - [ - 48.984993, - 30.513054 - ], - [ - 49.551384, - 30.0075 - ], - [ - 50.048607, - 30.207222 - ], - [ - 51.430275, - 27.937775 - ], - [ - 52.440269, - 27.640831 - ], - [ - 53.747772, - 26.70916 - ], - [ - 54.794716, - 26.489994 - ], - [ - 56.132767, - 27.160275 - ], - [ - 56.690544, - 27.148331 - ], - [ - 57.318054, - 25.770832 - ], - [ - 61.611031, - 25.197647 - ], - [ - 61.858047, - 26.234718 - ], - [ - 63.176384, - 26.631107 - ], - [ - 63.341934, - 27.122498 - ], - [ - 62.782494, - 27.260555 - ], - [ - 62.78138, - 28.266941 - ], - [ - 61.905548, - 28.554996 - ], - [ - 60.868599, - 29.863884 - ], - [ - 61.851105, - 31.021111 - ], - [ - 61.713608, - 31.383331 - ], - [ - 60.84388, - 31.498329 - ], - [ - 60.582497, - 33.066101 - ], - [ - 60.943047, - 33.51944 - ], - [ - 60.527771, - 33.644157 - ], - [ - 60.508331, - 34.140274 - ], - [ - 60.878876, - 34.319717 - ], - [ - 60.721657, - 34.522217 - ], - [ - 61.276558, - 35.607246 - ] - ] - ] - ] - }, - "name" : "Iran (Islamic Republic of)", - "iso2" : "IR", - "iso3" : "IRN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "l71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 35.25972, - 31.78722 - ], - [ - 35.248886, - 31.808887 - ], - [ - 35.251663, - 31.788055 - ], - [ - 35.25972, - 31.78722 - ] - ] - ], - [ - [ - [ - 35.623634, - 33.245728 - ], - [ - 35.10083, - 33.093605 - ], - [ - 34.490547, - 31.596096 - ], - [ - 34.33416, - 31.25972 - ], - [ - 34.267578, - 31.216541 - ], - [ - 34.903801, - 29.486706 - ], - [ - 34.97998, - 29.545753 - ], - [ - 35.478195, - 31.497322 - ], - [ - 34.884995, - 31.391388 - ], - [ - 35.282494, - 32.516937 - ], - [ - 35.552567, - 32.394196 - ], - [ - 35.648888, - 32.685272 - ], - [ - 35.623634, - 33.245728 - ] - ] - ] - ] - }, - "name" : "Israel", - "iso2" : "IL", - "iso3" : "ISR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "mL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 13.718655, - 46.526611 - ], - [ - 12.440554, - 46.690826 - ], - [ - 12.127777, - 47.001663 - ], - [ - 10.471235, - 46.871353 - ], - [ - 10.465277, - 46.546387 - ], - [ - 10.050278, - 46.539993 - ], - [ - 10.129999, - 46.227219 - ], - [ - 9.281944, - 46.495827 - ], - [ - 9.036665, - 45.837776 - ], - [ - 8.436388, - 46.463333 - ], - [ - 7.855742, - 45.919052 - ], - [ - 7.038054, - 45.931938 - ], - [ - 6.79897, - 45.78067 - ], - [ - 7.127777, - 45.257774 - ], - [ - 6.61976, - 45.110138 - ], - [ - 7.031666, - 44.831383 - ], - [ - 6.976388, - 44.284164 - ], - [ - 7.662222, - 44.17083 - ], - [ - 7.528055, - 43.788605 - ], - [ - 8.748888, - 44.429161 - ], - [ - 10.107498, - 44.0075 - ], - [ - 11.098888, - 42.393051 - ], - [ - 15.666666, - 40.03083 - ], - [ - 16.2225, - 38.910828 - ], - [ - 15.631666, - 38.011665 - ], - [ - 16.062496, - 37.924164 - ], - [ - 16.594997, - 38.800827 - ], - [ - 17.169167, - 38.963333 - ], - [ - 17.151108, - 39.389999 - ], - [ - 16.486664, - 39.767494 - ], - [ - 16.913609, - 40.445549 - ], - [ - 17.859165, - 40.283607 - ], - [ - 18.349442, - 39.791939 - ], - [ - 18.512218, - 40.136665 - ], - [ - 18.011665, - 40.64444 - ], - [ - 15.932499, - 41.47805 - ], - [ - 16.141941, - 41.914162 - ], - [ - 14.739721, - 42.085548 - ], - [ - 14.016666, - 42.669998 - ], - [ - 13.621666, - 43.553886 - ], - [ - 12.368332, - 44.246666 - ], - [ - 12.245554, - 44.715828 - ], - [ - 12.539165, - 44.961105 - ], - [ - 12.16111, - 45.263885 - ], - [ - 12.281387, - 45.468048 - ], - [ - 13.193333, - 45.778053 - ], - [ - 13.716944, - 45.596107 - ], - [ - 13.919167, - 45.637497 - ], - [ - 13.48, - 46.011108 - ], - [ - 13.669167, - 46.177498 - ], - [ - 13.383055, - 46.297218 - ], - [ - 13.718655, - 46.526611 - ] - ], - [ - [ - 12.459166, - 43.896111 - ], - [ - 12.415798, - 43.957954 - ], - [ - 12.509998, - 43.986938 - ], - [ - 12.459166, - 43.896111 - ] - ], - [ - [ - 12.44509, - 41.903118 - ], - [ - 12.451653, - 41.907989 - ], - [ - 12.45666, - 41.901426 - ], - [ - 12.44509, - 41.903118 - ] - ] - ], - [ - [ - [ - 12.422777, - 45.420555 - ], - [ - 12.373333, - 45.428055 - ], - [ - 12.32361, - 45.343887 - ], - [ - 12.422777, - 45.420555 - ] - ] - ], - [ - [ - [ - 9.844166, - 43.034439 - ], - [ - 9.831665, - 43.075554 - ], - [ - 9.804165, - 43.063889 - ], - [ - 9.806944, - 43.00972 - ], - [ - 9.844166, - 43.034439 - ] - ] - ], - [ - [ - [ - 10.441111, - 42.844444 - ], - [ - 10.101944, - 42.772499 - ], - [ - 10.423054, - 42.708885 - ], - [ - 10.441111, - 42.844444 - ] - ] - ], - [ - [ - [ - 10.088333, - 42.57222 - ], - [ - 10.101665, - 42.593605 - ], - [ - 10.081944, - 42.618889 - ], - [ - 10.088333, - 42.57222 - ] - ] - ], - [ - [ - [ - 10.915833, - 42.325272 - ], - [ - 10.877777, - 42.388054 - ], - [ - 10.866388, - 42.358604 - ], - [ - 10.915833, - 42.325272 - ] - ] - ], - [ - [ - [ - 10.316666, - 42.317497 - ], - [ - 10.326111, - 42.34333 - ], - [ - 10.293055, - 42.349998 - ], - [ - 10.316666, - 42.317497 - ] - ] - ], - [ - [ - [ - 9.513332, - 41.14666 - ], - [ - 8.192499, - 40.913605 - ], - [ - 8.556665, - 39.866104 - ], - [ - 8.406944, - 38.958611 - ], - [ - 8.859165, - 38.879166 - ], - [ - 9.018332, - 39.266388 - ], - [ - 9.569166, - 39.150551 - ], - [ - 9.825832, - 40.526108 - ], - [ - 9.513332, - 41.14666 - ] - ] - ], - [ - [ - [ - 8.339167, - 41.062492 - ], - [ - 8.32111, - 41.121384 - ], - [ - 8.215277, - 40.992493 - ], - [ - 8.339167, - 41.062492 - ] - ] - ], - [ - [ - [ - 12.964167, - 40.883888 - ], - [ - 12.988054, - 40.931389 - ], - [ - 12.950277, - 40.91777 - ], - [ - 12.964167, - 40.883888 - ] - ] - ], - [ - [ - [ - 13.951387, - 40.701385 - ], - [ - 13.948055, - 40.742493 - ], - [ - 13.853888, - 40.734718 - ], - [ - 13.951387, - 40.701385 - ] - ] - ], - [ - [ - [ - 14.210554, - 40.560555 - ], - [ - 14.197222, - 40.536659 - ], - [ - 14.261944, - 40.55555 - ], - [ - 14.210554, - 40.560555 - ] - ] - ], - [ - [ - [ - 8.292221, - 39.093605 - ], - [ - 8.302776, - 39.189995 - ], - [ - 8.223888, - 39.164719 - ], - [ - 8.292221, - 39.093605 - ] - ] - ], - [ - [ - [ - 15.21361, - 38.770554 - ], - [ - 15.239166, - 38.806107 - ], - [ - 15.190277, - 38.79055 - ], - [ - 15.21361, - 38.770554 - ] - ] - ], - [ - [ - [ - 13.173332, - 38.690277 - ], - [ - 13.198332, - 38.711388 - ], - [ - 13.162222, - 38.714439 - ], - [ - 13.173332, - 38.690277 - ] - ] - ], - [ - [ - [ - 14.868332, - 38.531387 - ], - [ - 14.86861, - 38.578049 - ], - [ - 14.794722, - 38.567772 - ], - [ - 14.868332, - 38.531387 - ] - ] - ], - [ - [ - [ - 14.955276, - 38.445549 - ], - [ - 14.963888, - 38.517494 - ], - [ - 14.912222, - 38.516663 - ], - [ - 14.955276, - 38.445549 - ] - ] - ], - [ - [ - [ - 14.988888, - 38.364166 - ], - [ - 14.958887, - 38.431107 - ], - [ - 14.941111, - 38.399437 - ], - [ - 14.988888, - 38.364166 - ] - ] - ], - [ - [ - [ - 15.528889, - 38.13694 - ], - [ - 13.768888, - 37.970551 - ], - [ - 13.316666, - 38.21833 - ], - [ - 12.422222, - 37.796104 - ], - [ - 15.081388, - 36.649162 - ], - [ - 15.316666, - 37.008888 - ], - [ - 15.086666, - 37.479439 - ], - [ - 15.528889, - 38.13694 - ] - ] - ], - [ - [ - [ - 12.073889, - 37.953606 - ], - [ - 12.059166, - 37.989166 - ], - [ - 12.029999, - 37.986938 - ], - [ - 12.073889, - 37.953606 - ] - ] - ], - [ - [ - [ - 12.354166, - 37.906105 - ], - [ - 12.339167, - 37.934441 - ], - [ - 12.271387, - 37.936386 - ], - [ - 12.354166, - 37.906105 - ] - ] - ], - [ - [ - [ - 12.015833, - 36.738327 - ], - [ - 12.048332, - 36.796944 - ], - [ - 11.930832, - 36.82972 - ], - [ - 12.015833, - 36.738327 - ] - ] - ] - ] - }, - "name" : "Italy", - "iso2" : "IT", - "iso3" : "ITA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "mb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -3.102272, - 5.109545 - ], - [ - -3.168334, - 5.117222 - ], - [ - -3.103041, - 5.085022 - ], - [ - -3.102272, - 5.109545 - ] - ] - ], - [ - [ - [ - -4.787278, - 5.168312 - ], - [ - -4.004445, - 5.231667 - ], - [ - -4.146389, - 5.277222 - ], - [ - -4.787278, - 5.168312 - ] - ] - ], - [ - [ - [ - -4.787278, - 5.168312 - ], - [ - -3.807778, - 5.375555 - ], - [ - -4.004168, - 5.253611 - ], - [ - -3.297223, - 5.118055 - ], - [ - -3.1425, - 5.367777 - ], - [ - -2.928128, - 5.100222 - ], - [ - -2.764445, - 5.579166 - ], - [ - -3.249167, - 6.611388 - ], - [ - -2.487778, - 8.197777 - ], - [ - -2.685561, - 9.481817 - ], - [ - -3.633611, - 9.954443 - ], - [ - -4.704445, - 9.698055 - ], - [ - -5.51985, - 10.436272 - ], - [ - -6.111389, - 10.197777 - ], - [ - -6.243402, - 10.735256 - ], - [ - -6.988056, - 10.147499 - ], - [ - -7.635556, - 10.448332 - ], - [ - -7.973984, - 10.165611 - ], - [ - -8.143612, - 9.533888 - ], - [ - -7.732779, - 9.088055 - ], - [ - -7.957778, - 8.813332 - ], - [ - -7.646536, - 8.378416 - ], - [ - -8.198057, - 8.496666 - ], - [ - -7.946838, - 8.018505 - ], - [ - -8.469749, - 7.561325 - ], - [ - -8.308334, - 6.860833 - ], - [ - -8.606384, - 6.507815 - ], - [ - -7.423334, - 5.839444 - ], - [ - -7.525402, - 4.352806 - ], - [ - -5.002929, - 5.129237 - ], - [ - -5.319723, - 5.230833 - ], - [ - -4.787278, - 5.168312 - ] - ] - ] - ] - }, - "name" : "Cote d'Ivoire", - "iso2" : "CI", - "iso3" : "CIV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "mr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 48.545555, - 29.96303 - ], - [ - 48.032494, - 30.491383 - ], - [ - 48.036385, - 30.997494 - ], - [ - 47.693878, - 31.00111 - ], - [ - 47.864441, - 31.798607 - ], - [ - 47.434158, - 32.397774 - ], - [ - 46.107216, - 32.967491 - ], - [ - 46.181938, - 33.260277 - ], - [ - 45.401054, - 33.979568 - ], - [ - 45.797733, - 34.91404 - ], - [ - 46.171364, - 35.113411 - ], - [ - 45.979988, - 35.584717 - ], - [ - 46.346939, - 35.817215 - ], - [ - 45.405823, - 35.990829 - ], - [ - 44.787338, - 37.149712 - ], - [ - 44.317215, - 36.970543 - ], - [ - 44.116379, - 37.316376 - ], - [ - 42.790825, - 37.38472 - ], - [ - 42.355614, - 37.106926 - ], - [ - 41.290276, - 36.355553 - ], - [ - 41.003876, - 34.419434 - ], - [ - 38.794701, - 33.377594 - ], - [ - 39.196743, - 32.154942 - ], - [ - 40.41333, - 31.94833 - ], - [ - 42.084999, - 31.11166 - ], - [ - 44.721661, - 29.19833 - ], - [ - 46.546944, - 29.104198 - ], - [ - 47.169991, - 30.01527 - ], - [ - 47.931099, - 30.018887 - ], - [ - 47.943474, - 30.017555 - ], - [ - 48.158875, - 30.038052 - ], - [ - 48.443047, - 29.927498 - ], - [ - 48.54332, - 29.926662 - ], - [ - 48.545555, - 29.96303 - ] - ] - ] - }, - "name" : "Iraq", - "iso2" : "IQ", - "iso3" : "IRQ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "m71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 153.95859, - 24.295 - ], - [ - 153.952761, - 24.321386 - ], - [ - 153.939699, - 24.300833 - ], - [ - 153.95859, - 24.295 - ] - ] - ], - [ - [ - [ - 123.870821, - 24.252501 - ], - [ - 123.921923, - 24.371111 - ], - [ - 123.678865, - 24.316111 - ], - [ - 123.870821, - 24.252501 - ] - ] - ], - [ - [ - [ - 122.996935, - 24.438887 - ], - [ - 123.009432, - 24.46694 - ], - [ - 122.935259, - 24.458052 - ], - [ - 122.996935, - 24.438887 - ] - ] - ], - [ - [ - [ - 131.264162, - 24.454996 - ], - [ - 131.273592, - 24.475828 - ], - [ - 131.243013, - 24.484442 - ], - [ - 131.264162, - 24.454996 - ] - ] - ], - [ - [ - [ - 124.26166, - 24.457499 - ], - [ - 124.324434, - 24.5875 - ], - [ - 124.075823, - 24.424719 - ], - [ - 124.219149, - 24.335276 - ], - [ - 124.26166, - 24.457499 - ] - ] - ], - [ - [ - [ - 141.309145, - 24.748053 - ], - [ - 141.357454, - 24.788889 - ], - [ - 141.290255, - 24.778055 - ], - [ - 141.309145, - 24.748053 - ] - ] - ], - [ - [ - [ - 125.356371, - 24.776667 - ], - [ - 125.263323, - 24.884165 - ], - [ - 125.257219, - 24.729162 - ], - [ - 125.451105, - 24.739717 - ], - [ - 125.356371, - 24.776667 - ] - ] - ], - [ - [ - [ - 141.293581, - 25.418329 - ], - [ - 141.293581, - 25.451387 - ], - [ - 141.268312, - 25.445276 - ], - [ - 141.293581, - 25.418329 - ] - ] - ], - [ - [ - [ - 131.243837, - 25.816668 - ], - [ - 131.250826, - 25.872221 - ], - [ - 131.20801, - 25.833334 - ], - [ - 131.243837, - 25.816668 - ] - ] - ], - [ - [ - [ - 126.761934, - 26.386942 - ], - [ - 126.692202, - 26.360556 - ], - [ - 126.787203, - 26.296946 - ], - [ - 126.761934, - 26.386942 - ] - ] - ], - [ - [ - [ - 142.177767, - 26.622499 - ], - [ - 142.153048, - 26.68722 - ], - [ - 142.111361, - 26.715273 - ], - [ - 142.177767, - 26.622499 - ] - ] - ], - [ - [ - [ - 128.252779, - 26.638887 - ], - [ - 128.287203, - 26.854998 - ], - [ - 127.883883, - 26.667498 - ], - [ - 127.652773, - 26.083055 - ], - [ - 128.252779, - 26.638887 - ] - ] - ], - [ - [ - [ - 142.232454, - 27.033335 - ], - [ - 142.233309, - 27.089167 - ], - [ - 142.178316, - 27.075277 - ], - [ - 142.232454, - 27.033335 - ] - ] - ], - [ - [ - [ - 142.194704, - 27.148333 - ], - [ - 142.194124, - 27.191107 - ], - [ - 142.178591, - 27.156664 - ], - [ - 142.194704, - 27.148333 - ] - ] - ], - [ - [ - [ - 140.878023, - 27.225828 - ], - [ - 140.872194, - 27.243052 - ], - [ - 140.864138, - 27.219442 - ], - [ - 140.878023, - 27.225828 - ] - ] - ], - [ - [ - [ - 128.609133, - 27.358889 - ], - [ - 128.701906, - 27.445829 - ], - [ - 128.523592, - 27.41361 - ], - [ - 128.609133, - 27.358889 - ] - ] - ], - [ - [ - [ - 142.195528, - 27.599165 - ], - [ - 142.1933, - 27.617777 - ], - [ - 142.169985, - 27.62472 - ], - [ - 142.195528, - 27.599165 - ] - ] - ], - [ - [ - [ - 142.089144, - 27.717775 - ], - [ - 142.086916, - 27.732218 - ], - [ - 142.06885, - 27.726664 - ], - [ - 142.089144, - 27.717775 - ] - ] - ], - [ - [ - [ - 128.951082, - 27.675829 - ], - [ - 129.02997, - 27.774443 - ], - [ - 128.947481, - 27.907499 - ], - [ - 128.951082, - 27.675829 - ] - ] - ], - [ - [ - [ - 129.336092, - 28.075277 - ], - [ - 129.191072, - 28.188608 - ], - [ - 129.219118, - 28.097776 - ], - [ - 129.336092, - 28.075277 - ] - ] - ], - [ - [ - [ - 129.992189, - 28.281668 - ], - [ - 130.027468, - 28.366388 - ], - [ - 129.91498, - 28.29611 - ], - [ - 129.992189, - 28.281668 - ] - ] - ], - [ - [ - [ - 129.715517, - 28.451109 - ], - [ - 129.143587, - 28.250277 - ], - [ - 129.375521, - 28.115274 - ], - [ - 129.715517, - 28.451109 - ] - ] - ], - [ - [ - [ - 129.733034, - 29.60972 - ], - [ - 129.741335, - 29.663332 - ], - [ - 129.706087, - 29.647497 - ], - [ - 129.733034, - 29.60972 - ] - ] - ], - [ - [ - [ - 129.896364, - 29.874166 - ], - [ - 129.8519, - 29.852221 - ], - [ - 129.921907, - 29.819719 - ], - [ - 129.896364, - 29.874166 - ] - ] - ], - [ - [ - [ - 129.963015, - 29.95722 - ], - [ - 129.928591, - 30.000002 - ], - [ - 129.927462, - 29.97444 - ], - [ - 129.963015, - 29.95722 - ] - ] - ], - [ - [ - [ - 130.558596, - 30.236383 - ], - [ - 130.666384, - 30.381941 - ], - [ - 130.382723, - 30.393888 - ], - [ - 130.558596, - 30.236383 - ] - ] - ], - [ - [ - [ - 140.330263, - 30.462496 - ], - [ - 140.329134, - 30.479162 - ], - [ - 140.303041, - 30.475275 - ], - [ - 140.330263, - 30.462496 - ] - ] - ], - [ - [ - [ - 130.906099, - 30.354719 - ], - [ - 131.053591, - 30.840277 - ], - [ - 130.869417, - 30.469717 - ], - [ - 130.906099, - 30.354719 - ] - ] - ], - [ - [ - [ - 129.721346, - 31.632219 - ], - [ - 129.782747, - 31.793333 - ], - [ - 129.670534, - 31.658331 - ], - [ - 129.721346, - 31.632219 - ] - ] - ], - [ - [ - [ - 140.025545, - 31.933054 - ], - [ - 140.009706, - 31.946665 - ], - [ - 139.999392, - 31.942495 - ], - [ - 140.025545, - 31.933054 - ] - ] - ], - [ - [ - [ - 130.157747, - 32.108889 - ], - [ - 130.195528, - 32.176943 - ], - [ - 130.116365, - 32.216661 - ], - [ - 130.157747, - 32.108889 - ] - ] - ], - [ - [ - [ - 130.369417, - 32.374712 - ], - [ - 130.44803, - 32.505274 - ], - [ - 130.209414, - 32.443048 - ], - [ - 130.369417, - 32.374712 - ] - ] - ], - [ - [ - [ - 130.02997, - 32.194994 - ], - [ - 130.20859, - 32.334993 - ], - [ - 130.157198, - 32.543612 - ], - [ - 130.02997, - 32.194994 - ] - ] - ], - [ - [ - [ - 128.90082, - 32.643053 - ], - [ - 128.660799, - 32.781939 - ], - [ - 128.601076, - 32.618601 - ], - [ - 128.90082, - 32.643053 - ] - ] - ], - [ - [ - [ - 139.841646, - 33.034998 - ], - [ - 139.864138, - 33.101664 - ], - [ - 139.743563, - 33.138048 - ], - [ - 139.841646, - 33.034998 - ] - ] - ], - [ - [ - [ - 129.100527, - 32.978601 - ], - [ - 129.117739, - 33.145548 - ], - [ - 129.055544, - 32.816385 - ], - [ - 129.100527, - 32.978601 - ] - ] - ], - [ - [ - [ - 129.392214, - 33.164713 - ], - [ - 129.564699, - 33.386942 - ], - [ - 129.454134, - 33.331667 - ], - [ - 129.392214, - 33.164713 - ] - ] - ], - [ - [ - [ - 132.276094, - 33.759439 - ], - [ - 132.230532, - 33.795275 - ], - [ - 132.185518, - 33.783335 - ], - [ - 132.276094, - 33.759439 - ] - ] - ], - [ - [ - [ - 129.754702, - 33.726938 - ], - [ - 129.701632, - 33.856943 - ], - [ - 129.658876, - 33.744997 - ], - [ - 129.754702, - 33.726938 - ] - ] - ], - [ - [ - [ - 139.618288, - 33.832216 - ], - [ - 139.601076, - 33.887774 - ], - [ - 139.582735, - 33.843607 - ], - [ - 139.618288, - 33.832216 - ] - ] - ], - [ - [ - [ - 132.326082, - 33.894716 - ], - [ - 132.451632, - 33.92277 - ], - [ - 132.18442, - 33.907495 - ], - [ - 132.326082, - 33.894716 - ] - ] - ], - [ - [ - [ - 131.214144, - 33.595545 - ], - [ - 130.690798, - 33.935823 - ], - [ - 129.578859, - 33.353609 - ], - [ - 129.944124, - 32.992495 - ], - [ - 129.675539, - 33.069994 - ], - [ - 129.746065, - 32.561106 - ], - [ - 130.346071, - 32.664438 - ], - [ - 130.211092, - 33.170832 - ], - [ - 130.605532, - 32.791384 - ], - [ - 130.446077, - 32.620546 - ], - [ - 130.587465, - 32.631937 - ], - [ - 130.569704, - 32.442492 - ], - [ - 130.162477, - 32.006945 - ], - [ - 130.228029, - 31.248884 - ], - [ - 130.63553, - 31.178885 - ], - [ - 130.534426, - 31.528887 - ], - [ - 130.808596, - 31.684164 - ], - [ - 130.666384, - 30.996664 - ], - [ - 131.343019, - 31.373888 - ], - [ - 131.989412, - 32.830553 - ], - [ - 131.902773, - 33.256945 - ], - [ - 131.51639, - 33.265551 - ], - [ - 131.66971, - 33.647493 - ], - [ - 131.214144, - 33.595545 - ] - ], - [ - [ - 129.833315, - 33.341105 - ], - [ - 129.813601, - 33.397776 - ], - [ - 129.861086, - 33.375551 - ], - [ - 129.833315, - 33.341105 - ] - ] - ], - [ - [ - [ - 139.526094, - 34.032495 - ], - [ - 139.560518, - 34.106104 - ], - [ - 139.48218, - 34.069994 - ], - [ - 139.526094, - 34.032495 - ] - ] - ], - [ - [ - [ - 132.545534, - 34.111109 - ], - [ - 132.528872, - 34.182497 - ], - [ - 132.456636, - 34.086939 - ], - [ - 132.557467, - 34.061106 - ], - [ - 132.545534, - 34.111109 - ] - ] - ], - [ - [ - [ - 132.448854, - 34.115549 - ], - [ - 132.481905, - 34.279161 - ], - [ - 132.38553, - 34.243608 - ], - [ - 132.448854, - 34.115549 - ] - ] - ], - [ - [ - [ - 132.971071, - 34.185823 - ], - [ - 133.050539, - 34.209719 - ], - [ - 133.029696, - 34.291109 - ], - [ - 132.971071, - 34.185823 - ] - ] - ], - [ - [ - [ - 129.23691, - 34.082216 - ], - [ - 129.349398, - 34.279993 - ], - [ - 129.21747, - 34.321939 - ], - [ - 129.23691, - 34.082216 - ] - ] - ], - [ - [ - [ - 134.223574, - 34.344439 - ], - [ - 133.524141, - 33.961382 - ], - [ - 132.899141, - 34.107775 - ], - [ - 132.01581, - 33.337214 - ], - [ - 132.372469, - 33.466387 - ], - [ - 132.803041, - 32.735552 - ], - [ - 133.598848, - 33.50139 - ], - [ - 134.187746, - 33.238329 - ], - [ - 134.753054, - 33.826105 - ], - [ - 134.223574, - 34.344439 - ] - ] - ], - [ - [ - [ - 139.278872, - 34.321108 - ], - [ - 139.296083, - 34.419718 - ], - [ - 139.248568, - 34.350832 - ], - [ - 139.278872, - 34.321108 - ] - ] - ], - [ - [ - [ - 134.350801, - 34.434435 - ], - [ - 134.368563, - 34.550272 - ], - [ - 134.192751, - 34.509996 - ], - [ - 134.350801, - 34.434435 - ] - ] - ], - [ - [ - [ - 134.790255, - 34.193323 - ], - [ - 135.018038, - 34.592768 - ], - [ - 134.666933, - 34.296946 - ], - [ - 134.790255, - 34.193323 - ] - ] - ], - [ - [ - [ - 129.339968, - 34.294718 - ], - [ - 129.463869, - 34.689432 - ], - [ - 129.300264, - 34.55694 - ], - [ - 129.339968, - 34.294718 - ] - ] - ], - [ - [ - [ - 139.45331, - 34.672495 - ], - [ - 139.371614, - 34.781664 - ], - [ - 139.369967, - 34.692492 - ], - [ - 139.45331, - 34.672495 - ] - ] - ], - [ - [ - [ - 133.070528, - 35.990274 - ], - [ - 133.010805, - 36.014444 - ], - [ - 133.022219, - 35.991381 - ], - [ - 133.070528, - 35.990274 - ] - ] - ], - [ - [ - [ - 133.098848, - 36.029993 - ], - [ - 133.131899, - 36.1 - ], - [ - 133.074678, - 36.079996 - ], - [ - 133.098848, - 36.029993 - ] - ] - ], - [ - [ - [ - 133.002199, - 36.033052 - ], - [ - 133.086641, - 36.12388 - ], - [ - 132.953035, - 36.066385 - ], - [ - 133.002199, - 36.033052 - ] - ] - ], - [ - [ - [ - 133.291933, - 36.324999 - ], - [ - 133.252474, - 36.152491 - ], - [ - 133.378572, - 36.200548 - ], - [ - 133.291933, - 36.324999 - ] - ] - ], - [ - [ - [ - 137.057467, - 37.143053 - ], - [ - 136.911104, - 37.143328 - ], - [ - 136.954134, - 37.089434 - ], - [ - 137.057467, - 37.143053 - ] - ] - ], - [ - [ - [ - 138.435244, - 38.047495 - ], - [ - 138.51639, - 38.320276 - ], - [ - 138.218294, - 37.800829 - ], - [ - 138.435244, - 38.047495 - ] - ] - ], - [ - [ - [ - 141.270815, - 41.342493 - ], - [ - 140.918856, - 41.530275 - ], - [ - 140.763033, - 41.17277 - ], - [ - 141.228853, - 41.22999 - ], - [ - 141.149416, - 40.862215 - ], - [ - 140.724977, - 40.829165 - ], - [ - 140.348574, - 41.248049 - ], - [ - 140.268862, - 40.806658 - ], - [ - 139.852755, - 40.601107 - ], - [ - 140.02054, - 40.230822 - ], - [ - 139.702456, - 39.93194 - ], - [ - 140.038301, - 39.803049 - ], - [ - 140.022768, - 39.378603 - ], - [ - 139.42441, - 38.151659 - ], - [ - 138.580538, - 37.398607 - ], - [ - 137.302462, - 36.746386 - ], - [ - 136.863283, - 37.08777 - ], - [ - 136.921358, - 37.197214 - ], - [ - 137.037477, - 37.18194 - ], - [ - 137.355227, - 37.431383 - ], - [ - 137.356356, - 37.504717 - ], - [ - 136.786928, - 37.362215 - ], - [ - 136.712465, - 36.75139 - ], - [ - 135.959414, - 35.973322 - ], - [ - 136.072756, - 35.648607 - ], - [ - 133.088015, - 35.581667 - ], - [ - 131.40555, - 34.419443 - ], - [ - 130.946352, - 34.416384 - ], - [ - 130.893312, - 33.921663 - ], - [ - 131.74579, - 34.053606 - ], - [ - 132.050539, - 33.772493 - ], - [ - 132.367739, - 34.358606 - ], - [ - 135.33359, - 34.718325 - ], - [ - 135.063295, - 33.877771 - ], - [ - 135.772219, - 33.454996 - ], - [ - 136.343843, - 34.189714 - ], - [ - 136.899141, - 34.266939 - ], - [ - 136.519442, - 34.692492 - ], - [ - 136.846926, - 35.078333 - ], - [ - 136.877748, - 34.72027 - ], - [ - 137.347475, - 34.722216 - ], - [ - 137.036104, - 34.564714 - ], - [ - 138.214144, - 34.599161 - ], - [ - 138.744967, - 35.122766 - ], - [ - 138.847475, - 34.592493 - ], - [ - 139.171083, - 35.236109 - ], - [ - 139.676638, - 35.135271 - ], - [ - 139.968569, - 35.660822 - ], - [ - 139.770266, - 34.953325 - ], - [ - 140.334688, - 35.13138 - ], - [ - 140.837191, - 35.743326 - ], - [ - 140.565523, - 36.247492 - ], - [ - 140.975527, - 36.987772 - ], - [ - 140.953585, - 38.14805 - ], - [ - 141.52582, - 38.26639 - ], - [ - 142.069704, - 39.546663 - ], - [ - 141.270815, - 41.342493 - ] - ] - ], - [ - [ - [ - 139.563021, - 42.228601 - ], - [ - 139.433321, - 42.201937 - ], - [ - 139.428316, - 42.061663 - ], - [ - 139.563021, - 42.228601 - ] - ] - ], - [ - [ - [ - 145.290865, - 43.53866 - ], - [ - 145.361086, - 43.555552 - ], - [ - 145.220003, - 43.602552 - ], - [ - 145.290865, - 43.53866 - ] - ] - ], - [ - [ - [ - 143.970247, - 44.141108 - ], - [ - 143.811922, - 44.168055 - ], - [ - 143.877748, - 44.147776 - ], - [ - 143.970247, - 44.141108 - ] - ] - ], - [ - [ - [ - 141.259432, - 45.098047 - ], - [ - 141.308321, - 45.188883 - ], - [ - 141.134706, - 45.213884 - ], - [ - 141.259432, - 45.098047 - ] - ] - ], - [ - [ - [ - 142.048311, - 45.404711 - ], - [ - 141.578035, - 45.232492 - ], - [ - 141.797213, - 44.624994 - ], - [ - 141.407198, - 43.291384 - ], - [ - 140.467745, - 43.367212 - ], - [ - 140.528872, - 43.000551 - ], - [ - 139.836367, - 42.615274 - ], - [ - 140.069704, - 41.419161 - ], - [ - 141.199129, - 41.798334 - ], - [ - 140.284975, - 42.253054 - ], - [ - 140.461641, - 42.567774 - ], - [ - 140.986086, - 42.295 - ], - [ - 141.790529, - 42.606386 - ], - [ - 143.239962, - 41.924166 - ], - [ - 143.989687, - 42.906656 - ], - [ - 145.822206, - 43.36944 - ], - [ - 145.256105, - 43.314997 - ], - [ - 145.069979, - 43.774714 - ], - [ - 145.34247, - 44.344156 - ], - [ - 144.779421, - 43.913324 - ], - [ - 143.772219, - 44.094156 - ], - [ - 142.048311, - 45.404711 - ] - ] - ], - [ - [ - [ - 141.039431, - 45.266939 - ], - [ - 141.074404, - 45.414156 - ], - [ - 140.973574, - 45.465273 - ], - [ - 141.039431, - 45.266939 - ] - ] - ] - ] - }, - "name" : "Japan", - "iso2" : "JP", - "iso3" : "JPN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "nL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -77.131958, - 17.878887 - ], - [ - -76.221115, - 17.904163 - ], - [ - -76.945282, - 18.394444 - ], - [ - -78.339737, - 18.362499 - ], - [ - -77.733337, - 17.84861 - ], - [ - -77.131958, - 17.878887 - ] - ] - ] - }, - "name" : "Jamaica", - "iso2" : "JM", - "iso3" : "JAM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "nb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 34.97998, - 29.545753 - ], - [ - 34.961388, - 29.360832 - ], - [ - 36.07, - 29.188889 - ], - [ - 36.743607, - 29.864719 - ], - [ - 37.502777, - 30.00222 - ], - [ - 38.001389, - 30.504166 - ], - [ - 37.005272, - 31.505554 - ], - [ - 39.196743, - 32.154942 - ], - [ - 38.794701, - 33.377594 - ], - [ - 36.837776, - 32.313606 - ], - [ - 35.648888, - 32.685272 - ], - [ - 35.552567, - 32.394196 - ], - [ - 35.478195, - 31.497322 - ], - [ - 34.97998, - 29.545753 - ] - ] - ] - }, - "name" : "Jordan", - "iso2" : "JO", - "iso3" : "JOR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "nr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 41.138054, - -2.124444 - ], - [ - 41.063889, - -2.044167 - ], - [ - 40.950272, - -2.173611 - ], - [ - 41.138054, - -2.124444 - ] - ] - ], - [ - [ - [ - 35.940552, - 4.622499 - ], - [ - 34.388191, - 4.609682 - ], - [ - 33.996666, - 4.222777 - ], - [ - 34.463333, - 3.671389 - ], - [ - 35.00972, - 1.895278 - ], - [ - 33.907219, - 0.103056 - ], - [ - 33.920273, - -1.001111 - ], - [ - 37.602776, - -2.995833 - ], - [ - 37.613609, - -3.504167 - ], - [ - 39.203026, - -4.669618 - ], - [ - 40.236664, - -2.663333 - ], - [ - 40.638054, - -2.55 - ], - [ - 40.854996, - -2.236111 - ], - [ - 40.963608, - -2.298889 - ], - [ - 40.891663, - -2.019167 - ], - [ - 41.315277, - -1.958056 - ], - [ - 41.558159, - -1.674868 - ], - [ - 40.998329, - -0.866111 - ], - [ - 40.986595, - 2.829956 - ], - [ - 41.905167, - 3.980322 - ], - [ - 41.171387, - 3.9425 - ], - [ - 40.783768, - 4.287975 - ], - [ - 39.524437, - 3.406389 - ], - [ - 38.121109, - 3.611666 - ], - [ - 37.039719, - 4.375555 - ], - [ - 35.940552, - 4.622499 - ] - ] - ] - ] - }, - "name" : "Kenya", - "iso2" : "KE", - "iso3" : "KEN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "n71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 80.234024, - 42.19622 - ], - [ - 79.194702, - 42.795792 - ], - [ - 75.664429, - 42.807457 - ], - [ - 74.293594, - 43.216904 - ], - [ - 73.583878, - 43.038574 - ], - [ - 73.519714, - 42.408005 - ], - [ - 71.747208, - 42.823586 - ], - [ - 71.171097, - 42.691353 - ], - [ - 70.97081, - 42.254669 - ], - [ - 71.276382, - 42.195511 - ], - [ - 70.187195, - 41.52829 - ], - [ - 71.418045, - 41.118553 - ], - [ - 71.69136, - 41.556335 - ], - [ - 72.19548, - 41.006592 - ], - [ - 73.173035, - 40.822998 - ], - [ - 71.710541, - 40.145767 - ], - [ - 70.98204, - 40.244843 - ], - [ - 70.498032, - 39.90683 - ], - [ - 69.540817, - 40.131378 - ], - [ - 69.306091, - 39.539436 - ], - [ - 70.997757, - 39.40094 - ], - [ - 71.473038, - 39.6213 - ], - [ - 72.248596, - 39.191856 - ], - [ - 73.655685, - 39.454826 - ], - [ - 73.994431, - 40.046043 - ], - [ - 74.86026, - 40.519386 - ], - [ - 75.578049, - 40.647995 - ], - [ - 75.697205, - 40.29911 - ], - [ - 76.345825, - 40.35022 - ], - [ - 76.873871, - 41.014107 - ], - [ - 78.080826, - 41.040787 - ], - [ - 80.234024, - 42.19622 - ] - ] - ] - }, - "name" : "Kyrgyzstan", - "iso2" : "KG", - "iso3" : "KGZ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "oL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 124.8461, - 39.497215 - ], - [ - 124.934143, - 39.60833 - ], - [ - 124.88916, - 39.605553 - ], - [ - 124.8461, - 39.497215 - ] - ] - ], - [ - [ - [ - 128.363556, - 38.625244 - ], - [ - 127.393051, - 39.200829 - ], - [ - 127.506943, - 39.724709 - ], - [ - 129.709412, - 40.829994 - ], - [ - 129.699402, - 41.648605 - ], - [ - 130.697418, - 42.292206 - ], - [ - 130.638885, - 42.406937 - ], - [ - 130.60437, - 42.42186 - ], - [ - 129.907532, - 43.005821 - ], - [ - 129.711914, - 42.444153 - ], - [ - 128.925812, - 42.024437 - ], - [ - 128.058868, - 42.003326 - ], - [ - 128.155823, - 41.382492 - ], - [ - 126.91304, - 41.796104 - ], - [ - 126.016937, - 40.899994 - ], - [ - 124.373596, - 40.09362 - ], - [ - 124.624153, - 39.594994 - ], - [ - 124.744431, - 39.776939 - ], - [ - 125.123032, - 39.557213 - ], - [ - 125.448318, - 39.576385 - ], - [ - 125.139977, - 38.796387 - ], - [ - 125.65332, - 38.627213 - ], - [ - 124.993591, - 38.588326 - ], - [ - 124.664703, - 38.121101 - ], - [ - 125.268051, - 38.072769 - ], - [ - 124.980553, - 37.924438 - ], - [ - 125.512207, - 37.88694 - ], - [ - 125.342758, - 37.671379 - ], - [ - 125.724426, - 37.91082 - ], - [ - 125.589157, - 38.027214 - ], - [ - 126.688492, - 37.833908 - ], - [ - 127.106087, - 38.287498 - ], - [ - 128.079956, - 38.311935 - ], - [ - 128.363556, - 38.625244 - ] - ] - ] - ] - }, - "name" : "Korea, Democratic People's Republic of", - "iso2" : "KP", - "iso3" : "PRK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ob1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -151.78363, - -11.466391 - ], - [ - -151.814453, - -11.392502 - ], - [ - -151.808044, - -11.449722 - ], - [ - -151.78363, - -11.466391 - ] - ] - ], - [ - [ - [ - -152.391418, - -10.105278 - ], - [ - -152.395599, - -10.095835 - ], - [ - -152.406708, - -10.097221 - ], - [ - -152.391418, - -10.105278 - ] - ] - ], - [ - [ - [ - -150.224152, - -9.954166 - ], - [ - -150.220551, - -9.923891 - ], - [ - -150.233063, - -9.938614 - ], - [ - -150.224152, - -9.954166 - ] - ] - ], - [ - [ - [ - -150.225281, - -9.915834 - ], - [ - -150.219177, - -9.901392 - ], - [ - -150.228882, - -9.890835 - ], - [ - -150.225281, - -9.915834 - ] - ] - ], - [ - [ - [ - -155.878052, - -5.64 - ], - [ - -155.85614, - -5.619445 - ], - [ - -155.92807, - -5.61889 - ], - [ - -155.878052, - -5.64 - ] - ] - ], - [ - [ - [ - -172.1875, - -4.531668 - ], - [ - -172.196381, - -4.491944 - ], - [ - -172.231384, - -4.504446 - ], - [ - -172.1875, - -4.531668 - ] - ] - ], - [ - [ - [ - -171.231689, - -4.46139 - ], - [ - -171.235535, - -4.438055 - ], - [ - -171.264496, - -4.446388 - ], - [ - -171.231689, - -4.46139 - ] - ] - ], - [ - [ - [ - -154.939209, - -4.045555 - ], - [ - -155.016113, - -4.060834 - ], - [ - -154.95639, - -4.102501 - ], - [ - -154.939209, - -4.045555 - ] - ] - ], - [ - [ - [ - -171.078064, - -3.141667 - ], - [ - -171.086426, - -3.108889 - ], - [ - -171.089722, - -3.137501 - ], - [ - -171.078064, - -3.141667 - ] - ] - ], - [ - [ - [ - -171.627808, - -2.8325 - ], - [ - -171.725586, - -2.772778 - ], - [ - -171.626373, - -2.869445 - ], - [ - -171.627808, - -2.8325 - ] - ] - ], - [ - [ - [ - 176.848297, - -2.669445 - ], - [ - 176.833313, - -2.633889 - ], - [ - 176.774139, - -2.607778 - ], - [ - 176.848297, - -2.669445 - ] - ] - ], - [ - [ - [ - 175.971893, - -2.505 - ], - [ - 175.964417, - -2.481111 - ], - [ - 175.960236, - -2.505834 - ], - [ - 175.971893, - -2.505 - ] - ] - ], - [ - [ - [ - 175.58609, - -1.919722 - ], - [ - 175.592743, - -1.883333 - ], - [ - 175.54776, - -1.821667 - ], - [ - 175.58609, - -1.919722 - ] - ] - ], - [ - [ - [ - 175.531372, - -1.806111 - ], - [ - 175.519714, - -1.777778 - ], - [ - 175.493561, - -1.769722 - ], - [ - 175.531372, - -1.806111 - ] - ] - ], - [ - [ - [ - 175.041931, - -1.5525 - ], - [ - 175.046082, - -1.434722 - ], - [ - 175.001648, - -1.528611 - ], - [ - 175.041931, - -1.5525 - ] - ] - ], - [ - [ - [ - 174.873291, - -1.408056 - ], - [ - 174.853577, - -1.399167 - ], - [ - 174.857452, - -1.408611 - ], - [ - 174.873291, - -1.408056 - ] - ] - ], - [ - [ - [ - 176.464691, - -1.435278 - ], - [ - 176.421356, - -1.348333 - ], - [ - 176.390533, - -1.324445 - ], - [ - 176.464691, - -1.435278 - ] - ] - ], - [ - [ - [ - 175.954681, - -1.279167 - ], - [ - 175.934143, - -1.3025 - ], - [ - 176.018311, - -1.389444 - ], - [ - 175.954681, - -1.279167 - ] - ] - ], - [ - [ - [ - 174.767761, - -1.255833 - ], - [ - 174.767212, - -1.207222 - ], - [ - 174.71637, - -1.14 - ], - [ - 174.767761, - -1.255833 - ] - ] - ], - [ - [ - [ - 174.489685, - -0.816667 - ], - [ - 174.495789, - -0.770278 - ], - [ - 174.458008, - -0.653611 - ], - [ - 174.489685, - -0.816667 - ] - ] - ], - [ - [ - [ - 174.458862, - -0.651667 - ], - [ - 174.392487, - -0.594722 - ], - [ - 174.377167, - -0.5975 - ], - [ - 174.458862, - -0.651667 - ] - ] - ], - [ - [ - [ - 173.618011, - 0.133611 - ], - [ - 173.631622, - 0.216667 - ], - [ - 173.604126, - 0.2125 - ], - [ - 173.618011, - 0.133611 - ] - ] - ], - [ - [ - [ - 173.409698, - 0.203611 - ], - [ - 173.425537, - 0.215278 - ], - [ - 173.402191, - 0.233056 - ], - [ - 173.409698, - 0.203611 - ] - ] - ], - [ - [ - [ - 173.384979, - 0.244167 - ], - [ - 173.376617, - 0.266111 - ], - [ - 173.371338, - 0.250278 - ], - [ - 173.384979, - 0.244167 - ] - ] - ], - [ - [ - [ - 173.931915, - 0.298055 - ], - [ - 173.939423, - 0.320833 - ], - [ - 173.923584, - 0.302222 - ], - [ - 173.931915, - 0.298055 - ] - ] - ], - [ - [ - [ - 173.830536, - 0.448333 - ], - [ - 173.804962, - 0.431111 - ], - [ - 173.921631, - 0.379722 - ], - [ - 173.830536, - 0.448333 - ] - ] - ], - [ - [ - [ - 173.021912, - 1.006667 - ], - [ - 172.981354, - 0.821667 - ], - [ - 173.084137, - 0.951944 - ], - [ - 173.021912, - 1.006667 - ] - ] - ], - [ - [ - [ - 172.939697, - 1.336111 - ], - [ - 172.943573, - 1.345833 - ], - [ - 172.914154, - 1.346389 - ], - [ - 172.939697, - 1.336111 - ] - ] - ], - [ - [ - [ - 173.126617, - 1.349166 - ], - [ - 173.11911, - 1.373333 - ], - [ - 173.098572, - 1.351389 - ], - [ - 173.126617, - 1.349166 - ] - ] - ], - [ - [ - [ - 173.062195, - 1.410278 - ], - [ - 173.034698, - 1.444444 - ], - [ - 173.039703, - 1.417778 - ], - [ - 173.062195, - 1.410278 - ] - ] - ], - [ - [ - [ - 173.012756, - 1.4725 - ], - [ - 172.997192, - 1.500556 - ], - [ - 173.016388, - 1.465 - ], - [ - 173.012756, - 1.4725 - ] - ] - ], - [ - [ - [ - 172.981903, - 1.529444 - ], - [ - 172.955231, - 1.619166 - ], - [ - 172.960785, - 1.553333 - ], - [ - 172.981903, - 1.529444 - ] - ] - ], - [ - [ - [ - 172.884705, - 1.838333 - ], - [ - 172.858002, - 1.861666 - ], - [ - 172.834137, - 1.863611 - ], - [ - 172.884705, - 1.838333 - ] - ] - ], - [ - [ - [ - 173.014984, - 1.706111 - ], - [ - 173.027191, - 1.821111 - ], - [ - 172.929962, - 1.936111 - ], - [ - 173.014984, - 1.706111 - ] - ] - ], - [ - [ - [ - 172.891663, - 1.93 - ], - [ - 172.885529, - 1.943889 - ], - [ - 172.882721, - 1.932777 - ], - [ - 172.891663, - 1.93 - ] - ] - ], - [ - [ - [ - 173.328857, - 1.940278 - ], - [ - 173.349396, - 1.965833 - ], - [ - 173.311096, - 1.958055 - ], - [ - 173.328857, - 1.940278 - ] - ] - ], - [ - [ - [ - 173.343018, - 1.982777 - ], - [ - 173.325256, - 2.015833 - ], - [ - 173.313599, - 1.973889 - ], - [ - 173.343018, - 1.982777 - ] - ] - ], - [ - [ - [ - -157.431671, - 2.021388 - ], - [ - -157.571381, - 1.858888 - ], - [ - -157.179443, - 1.714444 - ], - [ - -157.431671, - 2.021388 - ] - ] - ], - [ - [ - [ - 172.870239, - 3.064444 - ], - [ - 172.749115, - 3.024166 - ], - [ - 172.774994, - 3.002222 - ], - [ - 172.870239, - 3.064444 - ] - ] - ], - [ - [ - [ - 172.968292, - 3.24861 - ], - [ - 172.976624, - 3.296389 - ], - [ - 172.957458, - 3.281388 - ], - [ - 172.968292, - 3.24861 - ] - ] - ], - [ - [ - [ - -159.340027, - 3.920833 - ], - [ - -159.40448, - 3.864166 - ], - [ - -159.271698, - 3.789722 - ], - [ - -159.340027, - 3.920833 - ] - ] - ], - [ - [ - [ - -160.394745, - 4.685554 - ], - [ - -160.37973, - 4.718332 - ], - [ - -160.405609, - 4.725276 - ], - [ - -160.394745, - 4.685554 - ] - ] - ] - ] - }, - "name" : "Kiribati", - "iso2" : "KI", - "iso3" : "KIR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "or1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 126.622208, - 33.23999 - ], - [ - 126.898041, - 33.523323 - ], - [ - 126.158333, - 33.314713 - ], - [ - 126.622208, - 33.23999 - ] - ] - ], - [ - [ - [ - 126.765549, - 34.280823 - ], - [ - 126.701393, - 34.38694 - ], - [ - 126.651382, - 34.316101 - ], - [ - 126.765549, - 34.280823 - ] - ] - ], - [ - [ - [ - 127.213608, - 34.418884 - ], - [ - 127.222717, - 34.483627 - ], - [ - 127.111366, - 34.460274 - ], - [ - 127.213608, - 34.418884 - ] - ] - ], - [ - [ - [ - 127.790817, - 34.476379 - ], - [ - 127.770828, - 34.53833 - ], - [ - 127.711929, - 34.526657 - ], - [ - 127.790817, - 34.476379 - ] - ] - ], - [ - [ - [ - 126.186653, - 34.351387 - ], - [ - 126.380257, - 34.494713 - ], - [ - 126.243317, - 34.573326 - ], - [ - 126.186653, - 34.351387 - ] - ] - ], - [ - [ - [ - 127.803864, - 34.575554 - ], - [ - 127.768051, - 34.664154 - ], - [ - 127.734421, - 34.613327 - ], - [ - 127.803864, - 34.575554 - ] - ] - ], - [ - [ - [ - 125.991364, - 34.668053 - ], - [ - 125.981369, - 34.716934 - ], - [ - 125.914993, - 34.692215 - ], - [ - 125.991364, - 34.668053 - ] - ] - ], - [ - [ - [ - 125.993042, - 34.791939 - ], - [ - 125.890549, - 34.728043 - ], - [ - 126.009163, - 34.759995 - ], - [ - 125.993042, - 34.791939 - ] - ] - ], - [ - [ - [ - 128.085785, - 34.830276 - ], - [ - 128.024139, - 34.913879 - ], - [ - 127.974152, - 34.85833 - ], - [ - 128.085785, - 34.830276 - ] - ] - ], - [ - [ - [ - 126.063599, - 34.854439 - ], - [ - 126.062759, - 34.928329 - ], - [ - 125.983597, - 34.864998 - ], - [ - 126.063599, - 34.854439 - ] - ] - ], - [ - [ - [ - 127.9561, - 34.800827 - ], - [ - 127.879967, - 34.929436 - ], - [ - 127.857208, - 34.723877 - ], - [ - 128.060791, - 34.701103 - ], - [ - 127.9561, - 34.800827 - ] - ] - ], - [ - [ - [ - 128.754425, - 34.876938 - ], - [ - 128.488556, - 34.856384 - ], - [ - 128.594116, - 34.697769 - ], - [ - 128.754425, - 34.876938 - ] - ] - ], - [ - [ - [ - 126.106087, - 35.046944 - ], - [ - 126.162201, - 35.143326 - ], - [ - 126.059982, - 35.090828 - ], - [ - 126.106087, - 35.046944 - ] - ] - ], - [ - [ - [ - 126.428307, - 36.399719 - ], - [ - 126.346939, - 36.591103 - ], - [ - 126.335823, - 36.438599 - ], - [ - 126.428307, - 36.399719 - ] - ] - ], - [ - [ - [ - 126.169434, - 36.825829 - ], - [ - 126.172447, - 36.836838 - ], - [ - 126.161102, - 36.838043 - ], - [ - 126.169434, - 36.825829 - ] - ] - ], - [ - [ - [ - 130.887482, - 37.453323 - ], - [ - 130.919434, - 37.545273 - ], - [ - 130.807465, - 37.518326 - ], - [ - 130.887482, - 37.453323 - ] - ] - ], - [ - [ - [ - 126.501389, - 37.594437 - ], - [ - 126.400543, - 37.818886 - ], - [ - 126.373032, - 37.621658 - ], - [ - 126.501389, - 37.594437 - ] - ] - ], - [ - [ - [ - 124.695534, - 37.9161 - ], - [ - 124.72554, - 37.981659 - ], - [ - 124.615257, - 37.968597 - ], - [ - 124.695534, - 37.9161 - ] - ] - ], - [ - [ - [ - 126.688492, - 37.833908 - ], - [ - 126.865807, - 37.266937 - ], - [ - 126.661102, - 37.156097 - ], - [ - 126.992203, - 36.91082 - ], - [ - 126.502487, - 37.052773 - ], - [ - 126.123596, - 36.70916 - ], - [ - 126.497208, - 36.723877 - ], - [ - 126.544418, - 36.136406 - ], - [ - 126.872993, - 36.054718 - ], - [ - 126.474701, - 35.635826 - ], - [ - 126.687759, - 35.533333 - ], - [ - 126.431374, - 35.023323 - ], - [ - 126.249153, - 35.116661 - ], - [ - 126.659714, - 34.812767 - ], - [ - 126.266937, - 34.683327 - ], - [ - 126.556374, - 34.300545 - ], - [ - 126.772491, - 34.582771 - ], - [ - 126.889427, - 34.412491 - ], - [ - 127.328598, - 34.74305 - ], - [ - 127.124687, - 34.537216 - ], - [ - 127.389427, - 34.4711 - ], - [ - 127.493874, - 34.851662 - ], - [ - 127.640823, - 34.616936 - ], - [ - 127.593323, - 34.941658 - ], - [ - 129.136932, - 35.112213 - ], - [ - 129.439423, - 35.475822 - ], - [ - 129.433594, - 37.058884 - ], - [ - 128.532471, - 38.330551 - ], - [ - 128.363556, - 38.625244 - ], - [ - 128.079956, - 38.311935 - ], - [ - 127.106087, - 38.287498 - ], - [ - 126.688492, - 37.833908 - ] - ] - ] - ] - }, - "name" : "Korea, Republic of", - "iso2" : "KR", - "iso3" : "KOR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "o71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 48.362488, - 29.450272 - ], - [ - 48.26693, - 29.441109 - ], - [ - 48.388329, - 29.395554 - ], - [ - 48.362488, - 29.450272 - ] - ] - ], - [ - [ - [ - 48.224709, - 29.594719 - ], - [ - 48.359444, - 29.744999 - ], - [ - 48.152222, - 29.99194 - ], - [ - 48.224709, - 29.594719 - ] - ] - ], - [ - [ - [ - 48.032219, - 29.968052 - ], - [ - 48.111664, - 30.023048 - ], - [ - 48.037766, - 30.011105 - ], - [ - 48.008606, - 29.973885 - ], - [ - 48.032219, - 29.968052 - ] - ] - ], - [ - [ - [ - 47.943474, - 30.017555 - ], - [ - 47.931099, - 30.018887 - ], - [ - 47.169991, - 30.01527 - ], - [ - 46.546944, - 29.104198 - ], - [ - 47.459991, - 28.999439 - ], - [ - 47.688881, - 28.538883 - ], - [ - 48.416588, - 28.545277 - ], - [ - 48.028603, - 29.344994 - ], - [ - 47.707222, - 29.375832 - ], - [ - 48.167213, - 29.553055 - ], - [ - 47.943474, - 30.017555 - ] - ] - ] - ] - }, - "name" : "Kuwait", - "iso2" : "KW", - "iso3" : "KWT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "pL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 50.116104, - 44.838043 - ], - [ - 50.11277, - 45.077492 - ], - [ - 49.978867, - 44.956383 - ], - [ - 50.116104, - 44.838043 - ] - ] - ], - [ - [ - [ - 50.291664, - 44.949997 - ], - [ - 50.342766, - 45.083054 - ], - [ - 50.265549, - 45.036659 - ], - [ - 50.291664, - 44.949997 - ] - ] - ], - [ - [ - [ - 53.024994, - 46.2286 - ], - [ - 53.097488, - 46.296661 - ], - [ - 53.046387, - 46.367493 - ], - [ - 52.960274, - 46.266388 - ], - [ - 53.024994, - 46.2286 - ] - ] - ], - [ - [ - [ - 80.234024, - 42.19622 - ], - [ - 80.171921, - 42.660507 - ], - [ - 80.578598, - 42.891075 - ], - [ - 80.376648, - 43.025238 - ], - [ - 80.817215, - 43.156067 - ], - [ - 80.362762, - 44.125244 - ], - [ - 80.520828, - 44.732475 - ], - [ - 79.871094, - 44.904976 - ], - [ - 81.688309, - 45.350815 - ], - [ - 82.561646, - 45.129417 - ], - [ - 82.649429, - 45.43026 - ], - [ - 82.317764, - 45.570534 - ], - [ - 83.040543, - 47.212212 - ], - [ - 84.75943, - 46.826385 - ], - [ - 85.529312, - 47.060165 - ], - [ - 85.759155, - 48.387772 - ], - [ - 86.5961, - 48.53611 - ], - [ - 86.874695, - 49.110825 - ], - [ - 87.348206, - 49.092621 - ], - [ - 86.616653, - 49.587212 - ], - [ - 86.774994, - 49.788887 - ], - [ - 86.191086, - 49.472488 - ], - [ - 85.258606, - 49.591377 - ], - [ - 85.014435, - 50.075829 - ], - [ - 84.363037, - 50.212212 - ], - [ - 83.456375, - 51.002495 - ], - [ - 81.468048, - 50.742218 - ], - [ - 80.687836, - 51.31472 - ], - [ - 80.077957, - 50.758087 - ], - [ - 77.908035, - 53.271103 - ], - [ - 76.521652, - 53.993881 - ], - [ - 76.811646, - 54.447769 - ], - [ - 74.429153, - 53.4786 - ], - [ - 73.437195, - 53.436104 - ], - [ - 73.238586, - 53.64444 - ], - [ - 73.763885, - 54.065544 - ], - [ - 72.613312, - 54.145271 - ], - [ - 72.468597, - 53.908882 - ], - [ - 72.051651, - 54.387772 - ], - [ - 72.196091, - 54.137497 - ], - [ - 71.185532, - 54.103325 - ], - [ - 70.996933, - 54.339157 - ], - [ - 71.27887, - 54.690269 - ], - [ - 70.843323, - 55.301933 - ], - [ - 69.185532, - 55.34388 - ], - [ - 65.483322, - 54.638046 - ], - [ - 65.216385, - 54.318886 - ], - [ - 63.172218, - 54.186378 - ], - [ - 62.547493, - 53.879433 - ], - [ - 61.01416, - 53.947487 - ], - [ - 61.226936, - 53.811935 - ], - [ - 60.905548, - 53.62027 - ], - [ - 61.577492, - 53.513329 - ], - [ - 61.184715, - 53.306656 - ], - [ - 62.118324, - 53.004166 - ], - [ - 61.099159, - 52.981659 - ], - [ - 60.694153, - 52.680824 - ], - [ - 61.061935, - 52.342491 - ], - [ - 60.00222, - 51.958328 - ], - [ - 61.685822, - 51.265831 - ], - [ - 61.381378, - 50.783607 - ], - [ - 60.04361, - 50.863327 - ], - [ - 59.542496, - 50.478325 - ], - [ - 58.337769, - 51.156097 - ], - [ - 57.481934, - 50.864716 - ], - [ - 56.510826, - 51.083328 - ], - [ - 55.69249, - 50.532494 - ], - [ - 54.647217, - 51.036942 - ], - [ - 54.523933, - 50.528839 - ], - [ - 54.506386, - 50.856941 - ], - [ - 53.428604, - 51.491661 - ], - [ - 52.603325, - 51.45694 - ], - [ - 52.338326, - 51.782211 - ], - [ - 51.303047, - 51.479713 - ], - [ - 50.7733, - 51.76918 - ], - [ - 48.697487, - 50.591934 - ], - [ - 48.796944, - 49.941933 - ], - [ - 48.251663, - 49.869713 - ], - [ - 47.520828, - 50.436378 - ], - [ - 46.929436, - 49.863609 - ], - [ - 46.79583, - 49.339714 - ], - [ - 47.062767, - 49.142769 - ], - [ - 46.499161, - 48.417496 - ], - [ - 47.122765, - 48.27166 - ], - [ - 47.383324, - 47.688881 - ], - [ - 48.20443, - 47.704987 - ], - [ - 49.027206, - 46.776093 - ], - [ - 48.560547, - 46.564995 - ], - [ - 49.222527, - 46.346306 - ], - [ - 51.189987, - 47.114716 - ], - [ - 53.194153, - 46.714996 - ], - [ - 52.996658, - 46.488045 - ], - [ - 53.164154, - 46.317215 - ], - [ - 53.085823, - 46.007217 - ], - [ - 52.733047, - 45.549438 - ], - [ - 53.228043, - 45.337769 - ], - [ - 51.405266, - 45.370544 - ], - [ - 50.953049, - 44.861938 - ], - [ - 51.570274, - 44.513885 - ], - [ - 50.239433, - 44.576385 - ], - [ - 50.839989, - 44.193047 - ], - [ - 51.265549, - 43.153046 - ], - [ - 52.738327, - 42.710274 - ], - [ - 52.440071, - 41.740936 - ], - [ - 53.014999, - 42.138885 - ], - [ - 54.17305, - 42.337212 - ], - [ - 55.45694, - 41.286659 - ], - [ - 56.000961, - 41.328453 - ], - [ - 55.99749, - 45.001106 - ], - [ - 58.569717, - 45.571106 - ], - [ - 62.025108, - 43.484787 - ], - [ - 64.931366, - 43.73777 - ], - [ - 65.82193, - 42.877213 - ], - [ - 66.123871, - 42.996941 - ], - [ - 66.02916, - 42.003052 - ], - [ - 66.526382, - 42.003052 - ], - [ - 66.719986, - 41.174995 - ], - [ - 67.935532, - 41.183327 - ], - [ - 68.455261, - 40.597771 - ], - [ - 69.056366, - 41.379433 - ], - [ - 70.97081, - 42.254669 - ], - [ - 71.171097, - 42.691353 - ], - [ - 71.747208, - 42.823586 - ], - [ - 73.519714, - 42.408005 - ], - [ - 73.583878, - 43.038574 - ], - [ - 74.293594, - 43.216904 - ], - [ - 75.664429, - 42.807457 - ], - [ - 79.194702, - 42.795792 - ], - [ - 80.234024, - 42.19622 - ] - ] - ] - ] - }, - "name" : "Kazakhstan", - "iso2" : "KZ", - "iso3" : "KAZ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "pb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 107.5466, - 14.708618 - ], - [ - 107.695251, - 15.270832 - ], - [ - 107.175537, - 15.784164 - ], - [ - 107.464706, - 16.078609 - ], - [ - 106.685532, - 16.45805 - ], - [ - 106.561096, - 16.996941 - ], - [ - 105.183319, - 18.334442 - ], - [ - 105.193863, - 18.642494 - ], - [ - 103.879433, - 19.29361 - ], - [ - 104.037247, - 19.692944 - ], - [ - 104.640266, - 19.611942 - ], - [ - 104.979156, - 20.004997 - ], - [ - 104.381927, - 20.444717 - ], - [ - 104.6436, - 20.660275 - ], - [ - 104.109154, - 20.977219 - ], - [ - 103.693588, - 20.657219 - ], - [ - 103.170532, - 20.846664 - ], - [ - 102.976089, - 21.739437 - ], - [ - 102.676651, - 21.65583 - ], - [ - 102.140747, - 22.396286 - ], - [ - 101.738037, - 22.496941 - ], - [ - 101.574432, - 22.20916 - ], - [ - 101.787201, - 21.144161 - ], - [ - 101.281937, - 21.180275 - ], - [ - 101.148239, - 21.572636 - ], - [ - 100.09137, - 20.348606 - ], - [ - 100.58046, - 20.157768 - ], - [ - 100.503601, - 19.526665 - ], - [ - 101.281097, - 19.562218 - ], - [ - 100.921371, - 17.567219 - ], - [ - 101.162773, - 17.459995 - ], - [ - 102.089394, - 18.214983 - ], - [ - 102.683594, - 17.819996 - ], - [ - 103.397217, - 18.434994 - ], - [ - 103.985527, - 18.321663 - ], - [ - 104.718323, - 17.50333 - ], - [ - 104.747208, - 16.528332 - ], - [ - 105.637772, - 15.659721 - ], - [ - 105.536102, - 14.563332 - ], - [ - 105.210602, - 14.349648 - ], - [ - 106.056641, - 13.929998 - ], - [ - 106.004707, - 14.373053 - ], - [ - 106.540741, - 14.598724 - ], - [ - 106.853592, - 14.303053 - ], - [ - 107.5466, - 14.708618 - ] - ] - ] - }, - "name" : "Lao People's Democratic Republic", - "iso2" : "LA", - "iso3" : "LAO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "pr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 35.623634, - 33.245728 - ], - [ - 36.623741, - 34.204994 - ], - [ - 36.459999, - 34.635277 - ], - [ - 35.972771, - 34.647499 - ], - [ - 35.10083, - 33.093605 - ], - [ - 35.623634, - 33.245728 - ] - ] - ] - }, - "name" : "Lebanon", - "iso2" : "LB", - "iso3" : "LBN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "p71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 24.31498, - 57.871826 - ], - [ - 24.407497, - 57.25666 - ], - [ - 23.785831, - 56.970268 - ], - [ - 22.610275, - 57.756386 - ], - [ - 21.73333, - 57.576942 - ], - [ - 21.053608, - 56.83638 - ], - [ - 21.068607, - 56.435547 - ], - [ - 21.051685, - 56.077309 - ], - [ - 22.139439, - 56.423607 - ], - [ - 25, - 56.295547 - ], - [ - 26.613209, - 55.674835 - ], - [ - 28.168011, - 56.150154 - ], - [ - 27.70166, - 56.914711 - ], - [ - 27.861107, - 57.302216 - ], - [ - 27.372059, - 57.535637 - ], - [ - 26.511387, - 57.5261 - ], - [ - 25.294998, - 58.084435 - ], - [ - 24.31498, - 57.871826 - ] - ] - ] - }, - "name" : "Latvia", - "iso2" : "LV", - "iso3" : "LVA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "qL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 26.613209, - 55.674835 - ], - [ - 26.45583, - 55.341377 - ], - [ - 26.819717, - 55.281105 - ], - [ - 25.788887, - 54.87027 - ], - [ - 25.547497, - 54.332771 - ], - [ - 25.785275, - 54.160545 - ], - [ - 23.50404, - 53.947044 - ], - [ - 23.94083, - 52.732208 - ], - [ - 23.1654, - 52.282276 - ], - [ - 23.638607, - 52.079437 - ], - [ - 23.604633, - 51.527695 - ], - [ - 24.396664, - 51.886658 - ], - [ - 25.775829, - 51.939156 - ], - [ - 30.551414, - 51.251846 - ], - [ - 30.943096, - 52.073792 - ], - [ - 31.783886, - 52.108047 - ], - [ - 31.266941, - 53.024712 - ], - [ - 32.741104, - 53.463051 - ], - [ - 31.764225, - 53.80262 - ], - [ - 31.844162, - 54.064438 - ], - [ - 30.781387, - 54.79361 - ], - [ - 31.02972, - 55.043327 - ], - [ - 30.926247, - 55.60257 - ], - [ - 28.168011, - 56.150154 - ], - [ - 26.613209, - 55.674835 - ] - ] - ] - }, - "name" : "Belarus", - "iso2" : "BY", - "iso3" : "BLR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "qb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 21.044441, - 55.326385 - ], - [ - 21.089996, - 55.719986 - ], - [ - 20.942833, - 55.287201 - ], - [ - 20.984814, - 55.27655 - ], - [ - 21.044441, - 55.326385 - ] - ] - ], - [ - [ - [ - 26.613209, - 55.674835 - ], - [ - 25, - 56.295547 - ], - [ - 22.139439, - 56.423607 - ], - [ - 21.051685, - 56.077309 - ], - [ - 21.263935, - 55.248985 - ], - [ - 21.431385, - 55.251938 - ], - [ - 22.842495, - 54.896942 - ], - [ - 22.785885, - 54.363838 - ], - [ - 23.50404, - 53.947044 - ], - [ - 25.785275, - 54.160545 - ], - [ - 25.547497, - 54.332771 - ], - [ - 25.788887, - 54.87027 - ], - [ - 26.819717, - 55.281105 - ], - [ - 26.45583, - 55.341377 - ], - [ - 26.613209, - 55.674835 - ] - ] - ] - ] - }, - "name" : "Lithuania", - "iso2" : "LT", - "iso3" : "LTU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "qr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -11.492331, - 6.927091 - ], - [ - -10.806074, - 6.403 - ], - [ - -9.142778, - 5.055555 - ], - [ - -7.525402, - 4.352806 - ], - [ - -7.423334, - 5.839444 - ], - [ - -8.606384, - 6.507815 - ], - [ - -8.308334, - 6.860833 - ], - [ - -8.469749, - 7.561325 - ], - [ - -8.660557, - 7.695 - ], - [ - -9.106945, - 7.198889 - ], - [ - -9.485161, - 7.361989 - ], - [ - -9.48365, - 8.346931 - ], - [ - -10.266651, - 8.488377 - ], - [ - -11.492331, - 6.927091 - ] - ] - ] - }, - "name" : "Liberia", - "iso2" : "LR", - "iso3" : "LBR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "q71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 17.166386, - 48.012497 - ], - [ - 17.251656, - 48.024994 - ], - [ - 18.655277, - 47.758606 - ], - [ - 20.660553, - 48.563332 - ], - [ - 22.151442, - 48.411919 - ], - [ - 22.558052, - 49.079437 - ], - [ - 21.618889, - 49.436386 - ], - [ - 20.074444, - 49.175278 - ], - [ - 19.475555, - 49.599998 - ], - [ - 18.851246, - 49.517357 - ], - [ - 16.946182, - 48.619064 - ], - [ - 17.166386, - 48.012497 - ] - ] - ] - }, - "name" : "Slovakia", - "iso2" : "SK", - "iso3" : "SVK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "rL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 9.533569, - 47.274544 - ], - [ - 9.474637, - 47.057457 - ], - [ - 9.598635, - 47.063835 - ], - [ - 9.533569, - 47.274544 - ] - ] - ] - }, - "name" : "Liechtenstein", - "iso2" : "LI", - "iso3" : "LIE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "rb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 9.537113, - 30.23439 - ], - [ - 9.303888, - 30.122498 - ], - [ - 9.766388, - 29.427776 - ], - [ - 9.948332, - 27.824444 - ], - [ - 9.871666, - 26.514164 - ], - [ - 9.398333, - 26.153332 - ], - [ - 10.252222, - 24.605831 - ], - [ - 11.558887, - 24.302498 - ], - [ - 11.986475, - 23.522305 - ], - [ - 13.543888, - 23.16861 - ], - [ - 14.234999, - 22.614166 - ], - [ - 14.997889, - 23.000591 - ], - [ - 16.000832, - 23.450554 - ], - [ - 24.002747, - 19.499065 - ], - [ - 24.000832, - 20.001942 - ], - [ - 25.000832, - 19.999119 - ], - [ - 25.001423, - 21.999695 - ], - [ - 24.997776, - 29.248886 - ], - [ - 24.706665, - 30.16861 - ], - [ - 25.151665, - 31.646942 - ], - [ - 24.973888, - 31.969997 - ], - [ - 23.247196, - 32.216225 - ], - [ - 23.112499, - 32.6325 - ], - [ - 21.621387, - 32.933609 - ], - [ - 20.084442, - 32.184715 - ], - [ - 20.060555, - 30.855274 - ], - [ - 19.001389, - 30.266941 - ], - [ - 17.370831, - 31.081665 - ], - [ - 15.761665, - 31.385555 - ], - [ - 15.165833, - 32.398605 - ], - [ - 11.526081, - 33.171135 - ], - [ - 11.567499, - 32.442215 - ], - [ - 10.287222, - 31.694164 - ], - [ - 10.21361, - 30.730831 - ], - [ - 9.537113, - 30.23439 - ] - ] - ] - }, - "name" : "Libyan Arab Jamahiriya", - "iso2" : "LY", - "iso3" : "LBY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "rr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 49.833612, - -17.089724 - ], - [ - 50.010553, - -16.725559 - ], - [ - 49.860552, - -16.913891 - ], - [ - 49.833612, - -17.089724 - ] - ] - ], - [ - [ - [ - 47.219721, - -15.436668 - ], - [ - 47.219446, - -15.420834 - ], - [ - 47.206667, - -15.420557 - ], - [ - 47.200556, - -15.427502 - ], - [ - 47.207773, - -15.434446 - ], - [ - 47.219721, - -15.436668 - ] - ] - ], - [ - [ - [ - 48.342501, - -13.418055 - ], - [ - 48.281389, - -13.196667 - ], - [ - 48.205553, - -13.39139 - ], - [ - 48.342501, - -13.418055 - ] - ] - ], - [ - [ - [ - 49.356943, - -12.090834 - ], - [ - 48.730829, - -12.434168 - ], - [ - 48.959444, - -12.822224 - ], - [ - 48.739717, - -13.427223 - ], - [ - 48.287218, - -13.808056 - ], - [ - 47.905275, - -13.59639 - ], - [ - 48.048334, - -14.155556 - ], - [ - 47.699442, - -14.420557 - ], - [ - 48.001665, - -14.765556 - ], - [ - 47.811277, - -14.603889 - ], - [ - 47.427217, - -15.110556 - ], - [ - 47.454996, - -14.665279 - ], - [ - 47.058329, - -15.185001 - ], - [ - 47.11194, - -15.305557 - ], - [ - 47.235647, - -15.41292 - ], - [ - 47.223619, - -15.448465 - ], - [ - 46.959444, - -15.558056 - ], - [ - 46.947222, - -15.198891 - ], - [ - 46.338335, - -15.624723 - ], - [ - 46.477221, - -15.966112 - ], - [ - 46.151384, - -15.703611 - ], - [ - 44.459162, - -16.184448 - ], - [ - 43.93722, - -17.479446 - ], - [ - 44.482218, - -19.97028 - ], - [ - 43.500551, - -21.333889 - ], - [ - 43.238886, - -22.282501 - ], - [ - 44.017221, - -24.985279 - ], - [ - 45.214724, - -25.588337 - ], - [ - 47.133051, - -24.928059 - ], - [ - 49.788607, - -16.83028 - ], - [ - 49.633608, - -15.557501 - ], - [ - 49.866106, - -15.432501 - ], - [ - 50.172777, - -15.979723 - ], - [ - 50.433611, - -15.580002 - ], - [ - 49.943331, - -13.039446 - ], - [ - 49.356943, - -12.090834 - ] - ], - [ - [ - 49.604441, - -12.62639 - ], - [ - 49.594446, - -12.623611 - ], - [ - 49.595835, - -12.610001 - ], - [ - 49.604441, - -12.62639 - ] - ] - ] - ] - }, - "name" : "Madagascar", - "iso2" : "MG", - "iso3" : "MDG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "r71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -60.86084, - 14.402777 - ], - [ - -60.940834, - 14.740833 - ], - [ - -61.174728, - 14.876944 - ], - [ - -60.86084, - 14.402777 - ] - ] - ] - }, - "name" : "Martinique", - "iso2" : "MQ", - "iso3" : "MTQ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "sL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 91.020248, - 46.600109 - ], - [ - 90.681931, - 45.57972 - ], - [ - 90.896942, - 45.253052 - ], - [ - 93.554703, - 44.957214 - ], - [ - 95.416656, - 44.293884 - ], - [ - 95.336105, - 44.020828 - ], - [ - 96.383041, - 42.731102 - ], - [ - 100.835541, - 42.678047 - ], - [ - 105.012207, - 41.581383 - ], - [ - 107.471916, - 42.466103 - ], - [ - 109.313599, - 42.429993 - ], - [ - 110.440536, - 42.777771 - ], - [ - 111.958328, - 43.692215 - ], - [ - 111.421371, - 44.382492 - ], - [ - 111.98082, - 45.09166 - ], - [ - 113.638046, - 44.74527 - ], - [ - 114.545258, - 45.389435 - ], - [ - 115.701927, - 45.458603 - ], - [ - 116.585541, - 46.29583 - ], - [ - 117.421097, - 46.578331 - ], - [ - 119.897491, - 46.675552 - ], - [ - 119.72998, - 47.164154 - ], - [ - 118.539337, - 47.994751 - ], - [ - 117.801086, - 48.010551 - ], - [ - 117.372192, - 47.653595 - ], - [ - 115.592194, - 47.919441 - ], - [ - 116.71138, - 49.830467 - ], - [ - 114.313026, - 50.284164 - ], - [ - 113.09082, - 49.598602 - ], - [ - 110.788589, - 49.149437 - ], - [ - 108.57222, - 49.333603 - ], - [ - 107.949142, - 49.678047 - ], - [ - 107.977127, - 49.943626 - ], - [ - 106.66304, - 50.3386 - ], - [ - 102.918587, - 50.315269 - ], - [ - 102.327766, - 50.569717 - ], - [ - 102.218872, - 51.333603 - ], - [ - 98.930267, - 52.143608 - ], - [ - 97.827774, - 51.001106 - ], - [ - 98.289703, - 50.293884 - ], - [ - 97.34082, - 49.734436 - ], - [ - 94.635269, - 50.024437 - ], - [ - 94.274994, - 50.569443 - ], - [ - 92.322769, - 50.814995 - ], - [ - 87.840698, - 49.172951 - ], - [ - 87.973312, - 48.576942 - ], - [ - 88.65332, - 48.18277 - ], - [ - 90.074432, - 47.886383 - ], - [ - 91.020248, - 46.600109 - ] - ] - ] - }, - "name" : "Mongolia", - "iso2" : "MN", - "iso3" : "MNG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "sb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -62.171394, - 16.671387 - ], - [ - -62.20195, - 16.81361 - ], - [ - -62.236671, - 16.711941 - ], - [ - -62.171394, - 16.671387 - ] - ] - ] - }, - "name" : "Montserrat", - "iso2" : "MS", - "iso3" : "MSR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "sr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 20.589642, - 41.882187 - ], - [ - 20.492775, - 41.331108 - ], - [ - 20.82111, - 40.908882 - ], - [ - 20.98349, - 40.855888 - ], - [ - 22.935604, - 41.342125 - ], - [ - 23.014721, - 41.762215 - ], - [ - 22.365276, - 42.323883 - ], - [ - 21.630444, - 42.141091 - ], - [ - 20.589642, - 41.882187 - ] - ] - ] - }, - "name" : "The former Yugoslav Republic of Macedonia", - "iso2" : "MK", - "iso3" : "MKD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "s71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -11.373058, - 12.407774 - ], - [ - -11.315556, - 12.022774 - ], - [ - -10.92889, - 12.224442 - ], - [ - -10.652748, - 11.892609 - ], - [ - -10.323893, - 12.224997 - ], - [ - -9.701946, - 12.029163 - ], - [ - -9.155556, - 12.486111 - ], - [ - -8.53388, - 11.49391 - ], - [ - -8.357779, - 11.305555 - ], - [ - -8.680557, - 10.966389 - ], - [ - -8.289722, - 11.007776 - ], - [ - -7.973984, - 10.165611 - ], - [ - -7.635556, - 10.448332 - ], - [ - -6.988056, - 10.147499 - ], - [ - -6.243402, - 10.735256 - ], - [ - -6.111389, - 10.197777 - ], - [ - -5.51985, - 10.436272 - ], - [ - -5.273056, - 11.843887 - ], - [ - -4.4175, - 12.300831 - ], - [ - -4.337223, - 13.121666 - ], - [ - -3.964253, - 13.50383 - ], - [ - -3.437675, - 13.166498 - ], - [ - -3.2575, - 13.696665 - ], - [ - -2.879167, - 13.655554 - ], - [ - -2.474722, - 14.287498 - ], - [ - -2.006945, - 14.187777 - ], - [ - -1.980834, - 14.474722 - ], - [ - -0.725278, - 15.082777 - ], - [ - 0.235048, - 14.915068 - ], - [ - 1.3125, - 15.286665 - ], - [ - 3.523981, - 15.358152 - ], - [ - 4.200833, - 16.393887 - ], - [ - 4.245, - 18.645275 - ], - [ - 4.245277, - 19.146664 - ], - [ - 3.331944, - 18.976387 - ], - [ - 3.233055, - 19.820274 - ], - [ - 1.795833, - 20.308331 - ], - [ - 1.1675, - 20.741108 - ], - [ - 1.169662, - 21.102543 - ], - [ - -4.806111, - 25.000275 - ], - [ - -6.577223, - 24.999165 - ], - [ - -5.601389, - 16.507774 - ], - [ - -5.335, - 16.328053 - ], - [ - -5.49505, - 15.498371 - ], - [ - -9.333612, - 15.499722 - ], - [ - -9.338057, - 15.704721 - ], - [ - -9.411112, - 15.443888 - ], - [ - -10.716387, - 15.438902 - ], - [ - -10.899637, - 15.106874 - ], - [ - -11.494167, - 15.646387 - ], - [ - -11.841391, - 14.863054 - ], - [ - -12.244833, - 14.764385 - ], - [ - -12.057222, - 13.664721 - ], - [ - -11.378056, - 12.988054 - ], - [ - -11.373058, - 12.407774 - ] - ] - ] - }, - "name" : "Mali", - "iso2" : "ML", - "iso3" : "MLI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "tL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -2.209445, - 35.085831 - ], - [ - -2.914722, - 35.273605 - ], - [ - -2.925278, - 35.266663 - ], - [ - -2.946945, - 35.329163 - ], - [ - -4.695834, - 35.208885 - ], - [ - -5.345834, - 35.84166 - ], - [ - -5.395557, - 35.916336 - ], - [ - -5.918744, - 35.790649 - ], - [ - -6.843056, - 34.018608 - ], - [ - -9.053169, - 32.734802 - ], - [ - -9.809168, - 31.446663 - ], - [ - -9.640278, - 30.168053 - ], - [ - -10.138056, - 29.428055 - ], - [ - -11.458057, - 28.334442 - ], - [ - -13.174961, - 27.666958 - ], - [ - -8.666668, - 27.666664 - ], - [ - -8.667223, - 28.709442 - ], - [ - -7.123889, - 29.636944 - ], - [ - -5.538334, - 29.902496 - ], - [ - -4.920556, - 30.508053 - ], - [ - -3.626667, - 30.970554 - ], - [ - -3.818334, - 31.695553 - ], - [ - -2.853889, - 32.088333 - ], - [ - -1.180556, - 32.11055 - ], - [ - -1.010278, - 32.508331 - ], - [ - -1.668056, - 33.261108 - ], - [ - -1.747222, - 34.747215 - ], - [ - -2.209445, - 35.085831 - ] - ] - ] - }, - "name" : "Morocco", - "iso2" : "MA", - "iso3" : "MAR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "tb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 57.572495, - -20.514168 - ], - [ - 57.624443, - -19.986389 - ], - [ - 57.304718, - -20.449169 - ], - [ - 57.572495, - -20.514168 - ] - ] - ], - [ - [ - [ - 63.466385, - -19.735836 - ], - [ - 63.461105, - -19.673058 - ], - [ - 63.328606, - -19.738056 - ], - [ - 63.466385, - -19.735836 - ] - ] - ], - [ - [ - [ - 56.564438, - -10.397223 - ], - [ - 56.513611, - -10.316668 - ], - [ - 56.511665, - -10.346668 - ], - [ - 56.564438, - -10.397223 - ] - ] - ] - ] - }, - "name" : "Mauritius", - "iso2" : "MU", - "iso3" : "MUS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "tr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -16.427502, - 19.603611 - ], - [ - -16.344448, - 19.866386 - ], - [ - -16.460003, - 19.699718 - ], - [ - -16.427502, - 19.603611 - ] - ] - ], - [ - [ - [ - -4.806111, - 25.000275 - ], - [ - -6.662778, - 26.129166 - ], - [ - -8.66679, - 27.290459 - ], - [ - -8.666945, - 26.000275 - ], - [ - -12.000557, - 26 - ], - [ - -12.000278, - 23.454441 - ], - [ - -13.105278, - 22.893055 - ], - [ - -12.999723, - 21.338055 - ], - [ - -15.741997, - 21.338284 - ], - [ - -16.953056, - 21.338333 - ], - [ - -17.05233, - 20.764095 - ], - [ - -16.919724, - 21.161663 - ], - [ - -16.196392, - 20.223053 - ], - [ - -16.511669, - 19.352219 - ], - [ - -16.039448, - 17.728054 - ], - [ - -16.527679, - 16.060249 - ], - [ - -16.280834, - 16.519722 - ], - [ - -14.345278, - 16.638611 - ], - [ - -12.244833, - 14.764385 - ], - [ - -11.841391, - 14.863054 - ], - [ - -11.494167, - 15.646387 - ], - [ - -10.899637, - 15.106874 - ], - [ - -10.716387, - 15.438902 - ], - [ - -9.411112, - 15.443888 - ], - [ - -9.338057, - 15.704721 - ], - [ - -9.333612, - 15.499722 - ], - [ - -5.49505, - 15.498371 - ], - [ - -5.335, - 16.328053 - ], - [ - -5.601389, - 16.507774 - ], - [ - -6.577223, - 24.999165 - ], - [ - -4.806111, - 25.000275 - ] - ] - ] - ] - }, - "name" : "Mauritania", - "iso2" : "MR", - "iso3" : "MRT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "t71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 14.562222, - 35.820274 - ], - [ - 14.326387, - 35.978882 - ], - [ - 14.374998, - 35.847496 - ], - [ - 14.562222, - 35.820274 - ] - ] - ], - [ - [ - [ - 14.2675, - 36.011383 - ], - [ - 14.34111, - 36.033882 - ], - [ - 14.18111, - 36.060829 - ], - [ - 14.2675, - 36.011383 - ] - ] - ] - ] - }, - "name" : "Malta", - "iso2" : "MT", - "iso3" : "MLT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "uL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 55.874718, - 17.490833 - ], - [ - 55.859718, - 17.516666 - ], - [ - 55.829163, - 17.49361 - ], - [ - 55.874718, - 17.490833 - ] - ] - ], - [ - [ - [ - 56.024162, - 17.484165 - ], - [ - 56.093605, - 17.514721 - ], - [ - 55.957497, - 17.519165 - ], - [ - 56.024162, - 17.484165 - ] - ] - ], - [ - [ - [ - 58.842773, - 20.441109 - ], - [ - 58.899719, - 20.693054 - ], - [ - 58.649719, - 20.168888 - ], - [ - 58.842773, - 20.441109 - ] - ] - ], - [ - [ - [ - 56.373528, - 24.979382 - ], - [ - 56.104164, - 24.734722 - ], - [ - 56.037498, - 24.938889 - ], - [ - 55.779442, - 24.563889 - ], - [ - 56.024719, - 24.076111 - ], - [ - 55.510277, - 23.972775 - ], - [ - 55.199165, - 22.699718 - ], - [ - 55.666107, - 21.999722 - ], - [ - 55, - 20 - ], - [ - 51.99929, - 18.999344 - ], - [ - 53.114441, - 16.642778 - ], - [ - 55.039993, - 17.018608 - ], - [ - 55.436943, - 17.828888 - ], - [ - 56.353333, - 17.934166 - ], - [ - 56.814484, - 18.747684 - ], - [ - 57.803886, - 18.969444 - ], - [ - 57.829437, - 20.218887 - ], - [ - 58.210831, - 20.612499 - ], - [ - 58.515831, - 20.411663 - ], - [ - 59.811386, - 22.226665 - ], - [ - 58.609444, - 23.633053 - ], - [ - 57.164993, - 23.937775 - ], - [ - 56.373528, - 24.979382 - ] - ] - ], - [ - [ - [ - 56.269722, - 25.636015 - ], - [ - 56.365368, - 26.382389 - ], - [ - 56.079941, - 26.065559 - ], - [ - 56.183331, - 25.654989 - ], - [ - 56.269722, - 25.636015 - ] - ] - ] - ] - }, - "name" : "Oman", - "iso2" : "OM", - "iso3" : "OMN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ub1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 73.176376, - -0.689722 - ], - [ - 73.171921, - -0.681667 - ], - [ - 73.156372, - -0.683889 - ], - [ - 73.176376, - -0.689722 - ] - ] - ], - [ - [ - [ - 73.201385, - -0.680833 - ], - [ - 73.201935, - -0.667222 - ], - [ - 73.188309, - -0.684722 - ], - [ - 73.201385, - -0.680833 - ] - ] - ], - [ - [ - [ - 73.12915, - -0.668889 - ], - [ - 73.121368, - -0.653333 - ], - [ - 73.125259, - -0.668889 - ], - [ - 73.12915, - -0.668889 - ] - ] - ], - [ - [ - [ - 73.23082, - -0.648056 - ], - [ - 73.242203, - -0.617778 - ], - [ - 73.226089, - -0.6325 - ], - [ - 73.23082, - -0.648056 - ] - ] - ], - [ - [ - [ - 73.116379, - -0.635833 - ], - [ - 73.09137, - -0.5825 - ], - [ - 73.09082, - -0.606667 - ], - [ - 73.116379, - -0.635833 - ] - ] - ], - [ - [ - [ - 73.248032, - -0.605278 - ], - [ - 73.249146, - -0.576111 - ], - [ - 73.235809, - -0.585556 - ], - [ - 73.248032, - -0.605278 - ] - ] - ], - [ - [ - [ - 73.44693, - -0.299444 - ], - [ - 73.442474, - -0.285278 - ], - [ - 73.428314, - -0.286389 - ], - [ - 73.44693, - -0.299444 - ] - ] - ], - [ - [ - [ - 73.106934, - 0.211944 - ], - [ - 73.103317, - 0.228889 - ], - [ - 73.095535, - 0.228056 - ], - [ - 73.106934, - 0.211944 - ] - ] - ], - [ - [ - [ - 73.214706, - 0.230833 - ], - [ - 73.220261, - 0.239167 - ], - [ - 73.209152, - 0.24 - ], - [ - 73.214706, - 0.230833 - ] - ] - ], - [ - [ - [ - 73.044983, - 0.259444 - ], - [ - 73.033051, - 0.272778 - ], - [ - 73.034424, - 0.261389 - ], - [ - 73.044983, - 0.259444 - ] - ] - ], - [ - [ - [ - 73.375809, - 0.28 - ], - [ - 73.3797, - 0.291944 - ], - [ - 73.367203, - 0.281389 - ], - [ - 73.375809, - 0.28 - ] - ] - ], - [ - [ - [ - 73.513046, - 0.378333 - ], - [ - 73.508881, - 0.3925 - ], - [ - 73.504715, - 0.383889 - ], - [ - 73.513046, - 0.378333 - ] - ] - ], - [ - [ - [ - 72.943039, - 0.488611 - ], - [ - 72.937195, - 0.499722 - ], - [ - 72.938034, - 0.485555 - ], - [ - 72.943039, - 0.488611 - ] - ] - ], - [ - [ - [ - 73.498032, - 0.499722 - ], - [ - 73.487762, - 0.508055 - ], - [ - 73.493042, - 0.496944 - ], - [ - 73.498032, - 0.499722 - ] - ] - ], - [ - [ - [ - 73.374695, - 1.781667 - ], - [ - 73.374695, - 1.795278 - ], - [ - 73.361374, - 1.788611 - ], - [ - 73.374695, - 1.781667 - ] - ] - ], - [ - [ - [ - 73.399155, - 1.793889 - ], - [ - 73.407761, - 1.805833 - ], - [ - 73.397766, - 1.806389 - ], - [ - 73.399155, - 1.793889 - ] - ] - ], - [ - [ - [ - 73.287201, - 1.831944 - ], - [ - 73.284424, - 1.823055 - ], - [ - 73.297211, - 1.819166 - ], - [ - 73.287201, - 1.831944 - ] - ] - ], - [ - [ - [ - 73.506943, - 1.826667 - ], - [ - 73.516663, - 1.847222 - ], - [ - 73.49498, - 1.823055 - ], - [ - 73.506943, - 1.826667 - ] - ] - ], - [ - [ - [ - 73.250549, - 1.889166 - ], - [ - 73.247757, - 1.898333 - ], - [ - 73.241928, - 1.886111 - ], - [ - 73.250549, - 1.889166 - ] - ] - ], - [ - [ - [ - 73.549988, - 1.896389 - ], - [ - 73.549713, - 1.937222 - ], - [ - 73.539978, - 1.891944 - ], - [ - 73.549988, - 1.896389 - ] - ] - ], - [ - [ - [ - 73.55304, - 1.965 - ], - [ - 73.547211, - 1.978333 - ], - [ - 73.548325, - 1.964166 - ], - [ - 73.55304, - 1.965 - ] - ] - ], - [ - [ - [ - 73.323044, - 1.985 - ], - [ - 73.322495, - 1.995555 - ], - [ - 73.313873, - 1.986388 - ], - [ - 73.323044, - 1.985 - ] - ] - ], - [ - [ - [ - 73.588882, - 2.1075 - ], - [ - 73.567764, - 2.11 - ], - [ - 73.559143, - 2.09611 - ], - [ - 73.588882, - 2.1075 - ] - ] - ], - [ - [ - [ - 73.123871, - 2.190555 - ], - [ - 73.121918, - 2.196944 - ], - [ - 73.11026, - 2.196944 - ], - [ - 73.123871, - 2.190555 - ] - ] - ], - [ - [ - [ - 72.930817, - 2.314444 - ], - [ - 72.92276, - 2.328888 - ], - [ - 72.919983, - 2.3225 - ], - [ - 72.930817, - 2.314444 - ] - ] - ], - [ - [ - [ - 73.366653, - 2.384444 - ], - [ - 73.368591, - 2.409721 - ], - [ - 73.350266, - 2.440833 - ], - [ - 73.366653, - 2.384444 - ] - ] - ], - [ - [ - [ - 73.319717, - 2.492499 - ], - [ - 73.311096, - 2.504722 - ], - [ - 73.313599, - 2.491944 - ], - [ - 73.319717, - 2.492499 - ] - ] - ], - [ - [ - [ - 72.876083, - 2.681388 - ], - [ - 72.866379, - 2.69611 - ], - [ - 72.866379, - 2.684999 - ], - [ - 72.876083, - 2.681388 - ] - ] - ], - [ - [ - [ - 73.025269, - 2.734444 - ], - [ - 73.034988, - 2.747499 - ], - [ - 73.018875, - 2.736944 - ], - [ - 73.025269, - 2.734444 - ] - ] - ], - [ - [ - [ - 73.356644, - 2.771666 - ], - [ - 73.349426, - 2.781944 - ], - [ - 73.348877, - 2.770833 - ], - [ - 73.356644, - 2.771666 - ] - ] - ], - [ - [ - [ - 73.017761, - 2.946944 - ], - [ - 73.012207, - 2.954722 - ], - [ - 73.005829, - 2.946944 - ], - [ - 73.017761, - 2.946944 - ] - ] - ], - [ - [ - [ - 73.579987, - 2.948888 - ], - [ - 73.585541, - 2.967499 - ], - [ - 73.574432, - 2.950555 - ], - [ - 73.579987, - 2.948888 - ] - ] - ], - [ - [ - [ - 72.982208, - 3.101944 - ], - [ - 72.982758, - 3.110833 - ], - [ - 72.973877, - 3.108055 - ], - [ - 72.982208, - 3.101944 - ] - ] - ], - [ - [ - [ - 73.587204, - 3.367777 - ], - [ - 73.59082, - 3.376944 - ], - [ - 73.581665, - 3.372221 - ], - [ - 73.587204, - 3.367777 - ] - ] - ], - [ - [ - [ - 73.753326, - 3.446388 - ], - [ - 73.751389, - 3.452499 - ], - [ - 73.747757, - 3.451111 - ], - [ - 73.753326, - 3.446388 - ] - ] - ], - [ - [ - [ - 72.802765, - 3.510278 - ], - [ - 72.798599, - 3.516944 - ], - [ - 72.78804, - 3.511111 - ], - [ - 72.802765, - 3.510278 - ] - ] - ], - [ - [ - [ - 72.92276, - 3.544167 - ], - [ - 72.9272, - 3.559721 - ], - [ - 72.908035, - 3.537777 - ], - [ - 72.92276, - 3.544167 - ] - ] - ], - [ - [ - [ - 72.697479, - 3.714166 - ], - [ - 72.699417, - 3.724166 - ], - [ - 72.687759, - 3.724721 - ], - [ - 72.697479, - 3.714166 - ] - ] - ], - [ - [ - [ - 73.473877, - 3.933055 - ], - [ - 73.48027, - 3.940555 - ], - [ - 73.465546, - 3.932222 - ], - [ - 73.473877, - 3.933055 - ] - ] - ], - [ - [ - [ - 72.709717, - 3.995555 - ], - [ - 72.707764, - 4.003611 - ], - [ - 72.697754, - 4.000833 - ], - [ - 72.709717, - 3.995555 - ] - ] - ], - [ - [ - [ - 73.512207, - 4.093611 - ], - [ - 73.503052, - 4.106943 - ], - [ - 73.501938, - 4.096388 - ], - [ - 73.512207, - 4.093611 - ] - ] - ], - [ - [ - [ - 73.503601, - 4.164165 - ], - [ - 73.505264, - 4.17861 - ], - [ - 73.491089, - 4.174999 - ], - [ - 73.503601, - 4.164165 - ] - ] - ], - [ - [ - [ - 73.5186, - 4.191387 - ], - [ - 73.511383, - 4.182221 - ], - [ - 73.51915, - 4.176388 - ], - [ - 73.5186, - 4.191387 - ] - ] - ], - [ - [ - [ - 72.959717, - 4.26861 - ], - [ - 72.962494, - 4.262221 - ], - [ - 72.977768, - 4.261666 - ], - [ - 72.959717, - 4.26861 - ] - ] - ], - [ - [ - [ - 72.969711, - 4.877776 - ], - [ - 72.98027, - 4.901111 - ], - [ - 72.970261, - 4.898055 - ], - [ - 72.969711, - 4.877776 - ] - ] - ], - [ - [ - [ - 73.589706, - 5.27361 - ], - [ - 73.589706, - 5.286943 - ], - [ - 73.56694, - 5.277499 - ], - [ - 73.589706, - 5.27361 - ] - ] - ], - [ - [ - [ - 73.320267, - 5.36111 - ], - [ - 73.333603, - 5.366666 - ], - [ - 73.314987, - 5.365276 - ], - [ - 73.320267, - 5.36111 - ] - ] - ], - [ - [ - [ - 73.635269, - 5.385555 - ], - [ - 73.637497, - 5.412777 - ], - [ - 73.620255, - 5.420833 - ], - [ - 73.635269, - 5.385555 - ] - ] - ], - [ - [ - [ - 73.384155, - 5.709722 - ], - [ - 73.392761, - 5.72861 - ], - [ - 73.387772, - 5.741943 - ], - [ - 73.384155, - 5.709722 - ] - ] - ], - [ - [ - [ - 72.991364, - 5.76111 - ], - [ - 72.981659, - 5.771666 - ], - [ - 72.981659, - 5.758888 - ], - [ - 72.991364, - 5.76111 - ] - ] - ], - [ - [ - [ - 73.436371, - 5.827222 - ], - [ - 73.451096, - 5.849166 - ], - [ - 73.429703, - 5.827222 - ], - [ - 73.436371, - 5.827222 - ] - ] - ], - [ - [ - [ - 72.968872, - 5.850832 - ], - [ - 72.961105, - 5.867777 - ], - [ - 72.964996, - 5.847499 - ], - [ - 72.968872, - 5.850832 - ] - ] - ], - [ - [ - [ - 73.433044, - 5.902222 - ], - [ - 73.422211, - 5.911666 - ], - [ - 73.423599, - 5.90361 - ], - [ - 73.433044, - 5.902222 - ] - ] - ], - [ - [ - [ - 73.398331, - 5.955277 - ], - [ - 73.393326, - 5.96861 - ], - [ - 73.379425, - 5.971388 - ], - [ - 73.398331, - 5.955277 - ] - ] - ], - [ - [ - [ - 72.933319, - 5.960833 - ], - [ - 72.926086, - 5.971944 - ], - [ - 72.928314, - 5.954999 - ], - [ - 72.933319, - 5.960833 - ] - ] - ], - [ - [ - [ - 73.270538, - 6.185276 - ], - [ - 73.269989, - 6.193054 - ], - [ - 73.2686, - 6.175277 - ], - [ - 73.270538, - 6.185276 - ] - ] - ], - [ - [ - [ - 73.248032, - 6.231943 - ], - [ - 73.234711, - 6.23611 - ], - [ - 73.2397, - 6.227499 - ], - [ - 73.248032, - 6.231943 - ] - ] - ], - [ - [ - [ - 73.204437, - 6.317499 - ], - [ - 73.20166, - 6.327499 - ], - [ - 73.190811, - 6.324721 - ], - [ - 73.204437, - 6.317499 - ] - ] - ], - [ - [ - [ - 73.050262, - 6.429166 - ], - [ - 73.041367, - 6.444165 - ], - [ - 73.040817, - 6.429999 - ], - [ - 73.050262, - 6.429166 - ] - ] - ], - [ - [ - [ - 73.06749, - 6.661388 - ], - [ - 73.068054, - 6.672776 - ], - [ - 73.059982, - 6.657499 - ], - [ - 73.06749, - 6.661388 - ] - ] - ], - [ - [ - [ - 73.101089, - 6.696943 - ], - [ - 73.102478, - 6.715555 - ], - [ - 73.093323, - 6.697221 - ], - [ - 73.101089, - 6.696943 - ] - ] - ], - [ - [ - [ - 73.136932, - 6.726388 - ], - [ - 73.161926, - 6.784165 - ], - [ - 73.12915, - 6.733888 - ], - [ - 73.136932, - 6.726388 - ] - ] - ], - [ - [ - [ - 73.181366, - 6.8325 - ], - [ - 73.184143, - 6.81861 - ], - [ - 73.20166, - 6.828888 - ], - [ - 73.181366, - 6.8325 - ] - ] - ], - [ - [ - [ - 73.205261, - 6.883611 - ], - [ - 73.209991, - 6.926388 - ], - [ - 73.195526, - 6.889443 - ], - [ - 73.205261, - 6.883611 - ] - ] - ], - [ - [ - [ - 73.198868, - 6.947498 - ], - [ - 73.193588, - 6.97861 - ], - [ - 73.19165, - 6.951111 - ], - [ - 73.198868, - 6.947498 - ] - ] - ], - [ - [ - [ - 72.985535, - 7.012221 - ], - [ - 72.974991, - 7.029444 - ], - [ - 72.97998, - 7.011666 - ], - [ - 72.985535, - 7.012221 - ] - ] - ], - [ - [ - [ - 72.916092, - 7.081666 - ], - [ - 72.911926, - 7.094999 - ], - [ - 72.902771, - 7.093055 - ], - [ - 72.916092, - 7.081666 - ] - ] - ] - ] - }, - "name" : "Maldives", - "iso2" : "MV", - "iso3" : "MDV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ur1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -114.742783, - 18.322779 - ], - [ - -114.723892, - 18.353334 - ], - [ - -114.80307, - 18.332777 - ], - [ - -114.742783, - 18.322779 - ] - ] - ], - [ - [ - [ - -87.372787, - 18.400278 - ], - [ - -87.32695, - 18.453333 - ], - [ - -87.33168, - 18.503054 - ], - [ - -87.372787, - 18.400278 - ] - ] - ], - [ - [ - [ - -87.251678, - 18.64139 - ], - [ - -87.265015, - 18.733889 - ], - [ - -87.259445, - 18.627779 - ], - [ - -87.251678, - 18.64139 - ] - ] - ], - [ - [ - [ - -91.828613, - 18.639166 - ], - [ - -91.523895, - 18.770555 - ], - [ - -91.646118, - 18.753611 - ], - [ - -91.828613, - 18.639166 - ] - ] - ], - [ - [ - [ - -110.926117, - 18.721109 - ], - [ - -111.003342, - 18.865 - ], - [ - -111.071404, - 18.768332 - ], - [ - -110.926117, - 18.721109 - ] - ] - ], - [ - [ - [ - -110.78862, - 19.308054 - ], - [ - -110.813339, - 19.341665 - ], - [ - -110.835854, - 19.271387 - ], - [ - -110.78862, - 19.308054 - ] - ] - ], - [ - [ - [ - -86.732788, - 20.585554 - ], - [ - -86.938904, - 20.539446 - ], - [ - -87, - 20.256388 - ], - [ - -86.732788, - 20.585554 - ] - ] - ], - [ - [ - [ - -86.701401, - 21.197222 - ], - [ - -86.749176, - 21.28639 - ], - [ - -86.738892, - 21.24 - ], - [ - -86.701401, - 21.197222 - ] - ] - ], - [ - [ - [ - -106.195557, - 21.255278 - ], - [ - -106.19751, - 21.33861 - ], - [ - -106.265007, - 21.336668 - ], - [ - -106.195557, - 21.255278 - ] - ] - ], - [ - [ - [ - -106.386673, - 21.420832 - ], - [ - -106.335564, - 21.498888 - ], - [ - -106.511398, - 21.450277 - ], - [ - -106.386673, - 21.420832 - ] - ] - ], - [ - [ - [ - -106.515007, - 21.513056 - ], - [ - -106.530006, - 21.690832 - ], - [ - -106.645844, - 21.688334 - ], - [ - -106.515007, - 21.513056 - ] - ] - ], - [ - [ - [ - -106.656403, - 21.752501 - ], - [ - -106.670563, - 21.816389 - ], - [ - -106.675293, - 21.741388 - ], - [ - -106.656403, - 21.752501 - ] - ] - ], - [ - [ - [ - -97.818893, - 22.682501 - ], - [ - -97.78418, - 22.774168 - ], - [ - -97.830841, - 22.697222 - ], - [ - -97.818893, - 22.682501 - ] - ] - ], - [ - [ - [ - -97.773056, - 22.791388 - ], - [ - -97.760284, - 22.834166 - ], - [ - -97.781403, - 22.804998 - ], - [ - -97.773056, - 22.791388 - ] - ] - ], - [ - [ - [ - -109.784447, - 24.135 - ], - [ - -109.915558, - 24.368891 - ], - [ - -109.871399, - 24.187498 - ], - [ - -109.784447, - 24.135 - ] - ] - ], - [ - [ - [ - -111.532501, - 24.378054 - ], - [ - -111.670288, - 24.371946 - ], - [ - -111.494743, - 24.351389 - ], - [ - -111.532501, - 24.378054 - ] - ] - ], - [ - [ - [ - -111.705841, - 24.331667 - ], - [ - -111.836937, - 24.541113 - ], - [ - -112.016678, - 24.532499 - ], - [ - -111.705841, - 24.331667 - ] - ] - ], - [ - [ - [ - -110.328056, - 24.400835 - ], - [ - -110.300003, - 24.484446 - ], - [ - -110.401947, - 24.58 - ], - [ - -110.328056, - 24.400835 - ] - ] - ], - [ - [ - [ - -110.536957, - 24.882223 - ], - [ - -110.578903, - 25.033888 - ], - [ - -110.705002, - 25.093889 - ], - [ - -110.536957, - 24.882223 - ] - ] - ], - [ - [ - [ - -112.046112, - 24.519167 - ], - [ - -112.202507, - 24.844999 - ], - [ - -112.133621, - 25.281111 - ], - [ - -112.252792, - 24.809999 - ], - [ - -112.046112, - 24.519167 - ] - ] - ], - [ - [ - [ - -108.842789, - 25.42861 - ], - [ - -109.011124, - 25.438334 - ], - [ - -108.789169, - 25.372221 - ], - [ - -108.842789, - 25.42861 - ] - ] - ], - [ - [ - [ - -110.796951, - 25.594999 - ], - [ - -110.808327, - 25.695833 - ], - [ - -110.825287, - 25.6425 - ], - [ - -110.796951, - 25.594999 - ] - ] - ], - [ - [ - [ - -111.19751, - 25.844999 - ], - [ - -111.08667, - 26.074446 - ], - [ - -111.191391, - 26.038889 - ], - [ - -111.19751, - 25.844999 - ] - ] - ], - [ - [ - [ - -110.546112, - 27.309999 - ], - [ - -110.590286, - 27.415277 - ], - [ - -110.597504, - 27.336111 - ], - [ - -110.546112, - 27.309999 - ] - ] - ], - [ - [ - [ - -114.220001, - 27.738333 - ], - [ - -114.24501, - 27.814444 - ], - [ - -114.323898, - 27.816668 - ], - [ - -114.220001, - 27.738333 - ] - ] - ], - [ - [ - [ - -115.173889, - 28.027498 - ], - [ - -115.240837, - 28.370554 - ], - [ - -115.326683, - 28.138334 - ], - [ - -115.173889, - 28.027498 - ] - ] - ], - [ - [ - [ - -112.76001, - 28.593611 - ], - [ - -112.796402, - 28.644167 - ], - [ - -112.885834, - 28.683889 - ], - [ - -112.76001, - 28.593611 - ] - ] - ], - [ - [ - [ - -112.58168, - 28.670279 - ], - [ - -112.540848, - 28.735834 - ], - [ - -112.603622, - 28.727221 - ], - [ - -112.58168, - 28.670279 - ] - ] - ], - [ - [ - [ - -118.289169, - 28.881666 - ], - [ - -118.310013, - 29.195276 - ], - [ - -118.404167, - 29.147779 - ], - [ - -118.289169, - 28.881666 - ] - ] - ], - [ - [ - [ - -112.261948, - 28.773333 - ], - [ - -112.34584, - 29.23361 - ], - [ - -112.564178, - 28.878332 - ], - [ - -112.261948, - 28.773333 - ] - ] - ], - [ - [ - [ - -113.135559, - 29.019724 - ], - [ - -113.588623, - 29.583612 - ], - [ - -113.592215, - 29.425833 - ], - [ - -113.135559, - 29.019724 - ] - ] - ], - [ - [ - [ - -114.650848, - 31.690554 - ], - [ - -114.790283, - 31.799444 - ], - [ - -114.763634, - 31.7125 - ], - [ - -114.650848, - 31.690554 - ] - ] - ], - [ - [ - [ - -97.140739, - 25.966429 - ], - [ - -99.104736, - 26.434999 - ], - [ - -99.505005, - 27.570276 - ], - [ - -101.405014, - 29.772779 - ], - [ - -102.305847, - 29.889444 - ], - [ - -103.375, - 29.023611 - ], - [ - -104.540009, - 29.67111 - ], - [ - -104.900558, - 30.572779 - ], - [ - -106.400848, - 31.750277 - ], - [ - -108.208618, - 31.783335 - ], - [ - -108.208344, - 31.333055 - ], - [ - -111.045837, - 31.333055 - ], - [ - -113.052887, - 31.971071 - ], - [ - -114.80983, - 32.50699 - ], - [ - -114.719093, - 32.718458 - ], - [ - -117.122374, - 32.535334 - ], - [ - -115.693893, - 29.768332 - ], - [ - -114.063606, - 28.527224 - ], - [ - -114.310562, - 27.865557 - ], - [ - -113.983063, - 27.702501 - ], - [ - -114.988892, - 27.721109 - ], - [ - -113.597504, - 26.736944 - ], - [ - -113.128342, - 26.958887 - ], - [ - -113.220291, - 26.705557 - ], - [ - -112.396666, - 26.272779 - ], - [ - -112.106117, - 25.518332 - ], - [ - -112.070847, - 25.613054 - ], - [ - -112.087509, - 24.756109 - ], - [ - -110.316681, - 23.567499 - ], - [ - -110.004997, - 22.88611 - ], - [ - -109.410843, - 23.468332 - ], - [ - -110.213623, - 24.351946 - ], - [ - -110.354172, - 24.115835 - ], - [ - -110.660568, - 24.337778 - ], - [ - -111.560837, - 26.723612 - ], - [ - -111.842215, - 26.903055 - ], - [ - -111.858612, - 26.661943 - ], - [ - -112.862793, - 28.433332 - ], - [ - -114.545288, - 30.001112 - ], - [ - -115.031677, - 31.968054 - ], - [ - -113.08667, - 31.227221 - ], - [ - -112.164726, - 28.972502 - ], - [ - -111.10556, - 27.938334 - ], - [ - -110.509743, - 27.866388 - ], - [ - -110.529715, - 27.371111 - ], - [ - -109.103897, - 26.283609 - ], - [ - -109.388062, - 25.756109 - ], - [ - -108.828056, - 25.798334 - ], - [ - -109.108902, - 25.52611 - ], - [ - -108.767792, - 25.542223 - ], - [ - -108.39418, - 25.141111 - ], - [ - -108.042511, - 25.07361 - ], - [ - -107.999184, - 24.652498 - ], - [ - -105.816963, - 22.660276 - ], - [ - -105.189453, - 21.437498 - ], - [ - -105.544449, - 20.785002 - ], - [ - -105.244171, - 20.574167 - ], - [ - -105.680008, - 20.386389 - ], - [ - -104.983612, - 19.339445 - ], - [ - -103.450012, - 18.313612 - ], - [ - -101.950012, - 17.977499 - ], - [ - -101.011124, - 17.265276 - ], - [ - -97.785004, - 15.968611 - ], - [ - -96.47612, - 15.64361 - ], - [ - -94.861954, - 16.4275 - ], - [ - -94.789734, - 16.257776 - ], - [ - -94.578064, - 16.318335 - ], - [ - -94.724731, - 16.196665 - ], - [ - -94.057785, - 16.040834 - ], - [ - -94.368057, - 16.294443 - ], - [ - -92.772781, - 15.174444 - ], - [ - -92.24678, - 14.550547 - ], - [ - -91.729172, - 16.074999 - ], - [ - -90.441956, - 16.088335 - ], - [ - -90.406403, - 16.416388 - ], - [ - -91.4375, - 17.24111 - ], - [ - -90.983902, - 17.256109 - ], - [ - -90.982422, - 17.820654 - ], - [ - -89.141953, - 17.818888 - ], - [ - -88.377792, - 18.482779 - ], - [ - -88.2995, - 18.482931 - ], - [ - -88.037506, - 18.869444 - ], - [ - -87.847504, - 18.190832 - ], - [ - -87.411667, - 19.57889 - ], - [ - -87.738892, - 19.674723 - ], - [ - -86.772781, - 21.151388 - ], - [ - -87.027786, - 21.590277 - ], - [ - -88.451401, - 21.568888 - ], - [ - -90.327515, - 21.031389 - ], - [ - -90.454727, - 19.975279 - ], - [ - -91.475006, - 18.439444 - ], - [ - -91.814728, - 18.383055 - ], - [ - -91.99501, - 18.727777 - ], - [ - -94.478897, - 18.146666 - ], - [ - -94.802231, - 18.522501 - ], - [ - -95.911392, - 18.825277 - ], - [ - -97.176117, - 20.684999 - ], - [ - -97.889725, - 22.600832 - ], - [ - -97.140739, - 25.966429 - ] - ], - [ - [ - -109.948898, - 27.024443 - ], - [ - -110.034447, - 27.091391 - ], - [ - -109.9814, - 27.076387 - ], - [ - -109.948898, - 27.024443 - ] - ], - [ - [ - -97.607788, - 21.736666 - ], - [ - -97.674179, - 21.790277 - ], - [ - -97.685562, - 21.859999 - ], - [ - -97.607788, - 21.736666 - ] - ] - ] - ] - }, - "name" : "Mexico", - "iso2" : "MX", - "iso3" : "MEX" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "u71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 104.120241, - 2.318892 - ], - [ - 104.101068, - 2.294168 - ], - [ - 104.15497, - 2.287779 - ], - [ - 104.120241, - 2.318892 - ] - ] - ], - [ - [ - [ - 111.370821, - 2.360277 - ], - [ - 111.413881, - 2.376112 - ], - [ - 111.376925, - 2.495279 - ], - [ - 111.383883, - 2.680002 - ], - [ - 111.327478, - 2.781389 - ], - [ - 111.303591, - 2.448057 - ], - [ - 111.370821, - 2.360277 - ] - ] - ], - [ - [ - [ - 104.171083, - 2.705278 - ], - [ - 104.221628, - 2.729723 - ], - [ - 104.171915, - 2.895002 - ], - [ - 104.171083, - 2.705278 - ] - ] - ], - [ - [ - [ - 117.903559, - 4.174044 - ], - [ - 117.726648, - 4.169722 - ], - [ - 117.686922, - 4.168337 - ], - [ - 117.903559, - 4.174044 - ] - ] - ], - [ - [ - [ - 118.681932, - 4.499723 - ], - [ - 118.689425, - 4.441111 - ], - [ - 118.762774, - 4.463614 - ], - [ - 118.681932, - 4.499723 - ] - ] - ], - [ - [ - [ - 118.509722, - 4.554445 - ], - [ - 118.499422, - 4.529165 - ], - [ - 118.517488, - 4.536112 - ], - [ - 118.509722, - 4.554445 - ] - ] - ], - [ - [ - [ - 118.570269, - 4.600832 - ], - [ - 118.478868, - 4.689165 - ], - [ - 118.343874, - 4.670553 - ], - [ - 118.570269, - 4.600832 - ] - ] - ], - [ - [ - [ - 115.233049, - 5.259722 - ], - [ - 115.24193, - 5.384722 - ], - [ - 115.158335, - 5.257776 - ], - [ - 115.233049, - 5.259722 - ] - ] - ], - [ - [ - [ - 100.288858, - 5.256109 - ], - [ - 100.320253, - 5.427778 - ], - [ - 100.183855, - 5.4625 - ], - [ - 100.288858, - 5.256109 - ] - ] - ], - [ - [ - [ - 115.672213, - 5.707224 - ], - [ - 115.654428, - 5.735834 - ], - [ - 115.627764, - 5.728334 - ], - [ - 115.672213, - 5.707224 - ] - ] - ], - [ - [ - [ - 118.171923, - 5.812223 - ], - [ - 118.233049, - 5.848333 - ], - [ - 118.178865, - 5.84889 - ], - [ - 118.171923, - 5.812223 - ] - ] - ], - [ - [ - [ - 116.05942, - 6.003057 - ], - [ - 116.056643, - 6.039999 - ], - [ - 116.016939, - 6.035833 - ], - [ - 116.05942, - 6.003057 - ] - ] - ], - [ - [ - [ - 115.609156, - 6.195276 - ], - [ - 115.607759, - 6.221109 - ], - [ - 115.592745, - 6.204721 - ], - [ - 115.609156, - 6.195276 - ] - ] - ], - [ - [ - [ - 99.873293, - 6.416109 - ], - [ - 99.640825, - 6.419722 - ], - [ - 99.813021, - 6.156668 - ], - [ - 99.873293, - 6.416109 - ] - ] - ], - [ - [ - [ - 100.65497, - 6.448332 - ], - [ - 100.214983, - 6.711111 - ], - [ - 100.127115, - 6.424948 - ], - [ - 100.697191, - 3.903891 - ], - [ - 101.29442, - 3.268888 - ], - [ - 101.284975, - 2.841112 - ], - [ - 103.51214, - 1.269529 - ], - [ - 103.959414, - 1.646944 - ], - [ - 104.275805, - 1.365557 - ], - [ - 103.435793, - 2.933889 - ], - [ - 103.409975, - 4.858053 - ], - [ - 102.095232, - 6.236139 - ], - [ - 101.833864, - 5.743334 - ], - [ - 101.569979, - 5.916666 - ], - [ - 101.139688, - 5.631945 - ], - [ - 101.115519, - 6.248888 - ], - [ - 100.65497, - 6.448332 - ] - ] - ], - [ - [ - [ - 117.493593, - 6.742498 - ], - [ - 117.337198, - 6.651388 - ], - [ - 117.466928, - 6.6425 - ], - [ - 117.493593, - 6.742498 - ] - ] - ], - [ - [ - [ - 117.592058, - 4.169821 - ], - [ - 118.552202, - 4.351667 - ], - [ - 118.140551, - 4.888334 - ], - [ - 119.27582, - 5.344999 - ], - [ - 118.373598, - 5.807501 - ], - [ - 117.960276, - 5.681391 - ], - [ - 118.008883, - 6.061666 - ], - [ - 117.503054, - 5.896112 - ], - [ - 117.738878, - 6.390001 - ], - [ - 117.290819, - 6.635836 - ], - [ - 117.178308, - 6.990278 - ], - [ - 116.789148, - 6.579168 - ], - [ - 116.762499, - 7.023611 - ], - [ - 115.848879, - 5.56389 - ], - [ - 115.378862, - 5.39889 - ], - [ - 115.546099, - 5.053057 - ], - [ - 115.145784, - 4.903242 - ], - [ - 115.22304, - 4.804998 - ], - [ - 115.343325, - 4.311945 - ], - [ - 115.029131, - 4.820211 - ], - [ - 115.018435, - 4.895796 - ], - [ - 114.6411, - 4.018888 - ], - [ - 114.095079, - 4.59054 - ], - [ - 113.010538, - 3.160555 - ], - [ - 111.444704, - 2.691668 - ], - [ - 111.450274, - 2.368612 - ], - [ - 111.368113, - 2.339094 - ], - [ - 111.223314, - 2.42111 - ], - [ - 111.168589, - 2.152224 - ], - [ - 111.372759, - 2.150835 - ], - [ - 111.000002, - 1.575556 - ], - [ - 111.376925, - 1.343889 - ], - [ - 110.33333, - 1.802221 - ], - [ - 109.928308, - 1.689165 - ], - [ - 109.648569, - 2.073408 - ], - [ - 109.669985, - 1.613054 - ], - [ - 110.555254, - 0.853891 - ], - [ - 111.827211, - 0.998613 - ], - [ - 112.472765, - 1.568056 - ], - [ - 113.658335, - 1.224722 - ], - [ - 114.562761, - 1.433611 - ], - [ - 114.804705, - 2.248888 - ], - [ - 115.2372, - 2.522501 - ], - [ - 115.139711, - 2.906111 - ], - [ - 115.495531, - 3.040003 - ], - [ - 115.685259, - 4.171946 - ], - [ - 116.049425, - 4.279444 - ], - [ - 117.592058, - 4.169821 - ] - ] - ], - [ - [ - [ - 117.283335, - 7.314722 - ], - [ - 117.07416, - 7.2875 - ], - [ - 117.066675, - 7.101942 - ], - [ - 117.283335, - 7.314722 - ] - ] - ], - [ - [ - [ - 116.872484, - 7.219999 - ], - [ - 117.018885, - 7.26639 - ], - [ - 117.003328, - 7.353334 - ], - [ - 116.872484, - 7.219999 - ] - ] - ] - ] - }, - "name" : "Malaysia", - "iso2" : "MY", - "iso3" : "MYS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "vL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 32.954437, - -26.058613 - ], - [ - 32.980553, - -25.972778 - ], - [ - 32.895271, - -26.040836 - ], - [ - 32.954437, - -26.058613 - ] - ] - ], - [ - [ - [ - 35.488327, - -21.685001 - ], - [ - 35.479439, - -21.523891 - ], - [ - 35.435555, - -21.783337 - ], - [ - 35.488327, - -21.685001 - ] - ] - ], - [ - [ - [ - 39.901382, - -16.413334 - ], - [ - 39.861382, - -16.278057 - ], - [ - 39.810829, - -16.363056 - ], - [ - 39.901382, - -16.413334 - ] - ] - ], - [ - [ - [ - 32.890427, - -26.847145 - ], - [ - 32.952499, - -26.083889 - ], - [ - 32.837494, - -26.293056 - ], - [ - 32.576111, - -25.975559 - ], - [ - 32.813889, - -25.60778 - ], - [ - 35.012215, - -24.654167 - ], - [ - 35.497215, - -24.105278 - ], - [ - 35.545273, - -22.232502 - ], - [ - 35.312492, - -22.418056 - ], - [ - 34.619164, - -19.617779 - ], - [ - 34.899162, - -19.857224 - ], - [ - 36.252777, - -18.891392 - ], - [ - 36.943886, - -18.108612 - ], - [ - 36.841385, - -17.877224 - ], - [ - 39.094444, - -16.986389 - ], - [ - 40.587776, - -15.479723 - ], - [ - 40.846107, - -14.697779 - ], - [ - 40.409996, - -12.961945 - ], - [ - 40.646942, - -12.760834 - ], - [ - 40.500832, - -11.031946 - ], - [ - 40.436813, - -10.478174 - ], - [ - 39.268051, - -11.168056 - ], - [ - 37.941383, - -11.285002 - ], - [ - 37.462044, - -11.727329 - ], - [ - 36.18972, - -11.706667 - ], - [ - 35.838333, - -11.414722 - ], - [ - 34.966728, - -11.572111 - ], - [ - 34.626106, - -11.575834 - ], - [ - 34.375275, - -12.155834 - ], - [ - 34.566383, - -13.342224 - ], - [ - 35.924164, - -14.885557 - ], - [ - 35.814438, - -16.019447 - ], - [ - 35.1353, - -16.553375 - ], - [ - 35.290054, - -17.134266 - ], - [ - 34.255554, - -15.899168 - ], - [ - 34.589722, - -15.282778 - ], - [ - 34.522217, - -14.571667 - ], - [ - 33.633331, - -14.539722 - ], - [ - 33.222229, - -14.012566 - ], - [ - 30.213017, - -14.981716 - ], - [ - 30.415756, - -15.631872 - ], - [ - 30.422775, - -16.009167 - ], - [ - 31.276665, - -16.018612 - ], - [ - 32.98114, - -16.709053 - ], - [ - 32.987808, - -17.265003 - ], - [ - 33.073051, - -18.348892 - ], - [ - 32.699165, - -18.944447 - ], - [ - 33.018883, - -19.943336 - ], - [ - 32.50222, - -20.598614 - ], - [ - 32.488876, - -21.344448 - ], - [ - 31.297504, - -22.414764 - ], - [ - 32.016106, - -24.459446 - ], - [ - 31.96851, - -25.95784 - ], - [ - 32.1334, - -26.839626 - ], - [ - 32.890427, - -26.847145 - ] - ], - [ - [ - 34.602776, - -12.011946 - ], - [ - 34.629997, - -12.012501 - ], - [ - 34.623886, - -12.036667 - ], - [ - 34.602776, - -12.011946 - ] - ], - [ - [ - 34.723885, - -12.032778 - ], - [ - 34.754715, - -12.044168 - ], - [ - 34.732216, - -12.095556 - ], - [ - 34.723885, - -12.032778 - ] - ] - ] - ] - }, - "name" : "Mozambique", - "iso2" : "MZ", - "iso3" : "MOZ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "vb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 34.723885, - -12.032778 - ], - [ - 34.732216, - -12.095556 - ], - [ - 34.754715, - -12.044168 - ], - [ - 34.723885, - -12.032778 - ] - ] - ], - [ - [ - [ - 34.602776, - -12.011946 - ], - [ - 34.623886, - -12.036667 - ], - [ - 34.629997, - -12.012501 - ], - [ - 34.602776, - -12.011946 - ] - ] - ], - [ - [ - [ - 34.966728, - -11.572111 - ], - [ - 34.325272, - -9.732779 - ], - [ - 33.13472, - -9.494167 - ], - [ - 32.940399, - -9.405077 - ], - [ - 33.702278, - -10.561857 - ], - [ - 33.250549, - -10.886667 - ], - [ - 33.273331, - -12.144445 - ], - [ - 33.54583, - -12.359446 - ], - [ - 33.046387, - -12.603889 - ], - [ - 32.678886, - -13.60639 - ], - [ - 33.222229, - -14.012566 - ], - [ - 33.633331, - -14.539722 - ], - [ - 34.522217, - -14.571667 - ], - [ - 34.589722, - -15.282778 - ], - [ - 34.255554, - -15.899168 - ], - [ - 35.290054, - -17.134266 - ], - [ - 35.1353, - -16.553375 - ], - [ - 35.814438, - -16.019447 - ], - [ - 35.924164, - -14.885557 - ], - [ - 34.566383, - -13.342224 - ], - [ - 34.375275, - -12.155834 - ], - [ - 34.626106, - -11.575834 - ], - [ - 34.966728, - -11.572111 - ] - ] - ] - ] - }, - "name" : "Malawi", - "iso2" : "MW", - "iso3" : "MWI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "vr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 167.534424, - -22.69389 - ], - [ - 167.531372, - -22.651112 - ], - [ - 167.508026, - -22.688332 - ], - [ - 167.534424, - -22.69389 - ] - ] - ], - [ - [ - [ - 167.501648, - -22.672222 - ], - [ - 167.553864, - -22.612499 - ], - [ - 167.434692, - -22.543056 - ], - [ - 167.501648, - -22.672222 - ] - ] - ], - [ - [ - [ - 166.816071, - -22.463333 - ], - [ - 166.811646, - -22.395 - ], - [ - 166.772491, - -22.456108 - ], - [ - 166.816071, - -22.463333 - ] - ] - ], - [ - [ - [ - 171.313873, - -22.33139 - ], - [ - 171.304962, - -22.327778 - ], - [ - 171.300812, - -22.334999 - ], - [ - 171.313873, - -22.33139 - ] - ] - ], - [ - [ - [ - 166.050537, - -22.079445 - ], - [ - 166.050537, - -22.036667 - ], - [ - 166.027191, - -22.054722 - ], - [ - 166.050537, - -22.079445 - ] - ] - ], - [ - [ - [ - 166.450256, - -21.704445 - ], - [ - 166.440796, - -21.68861 - ], - [ - 166.415527, - -21.691387 - ], - [ - 166.450256, - -21.704445 - ] - ] - ], - [ - [ - [ - 168.002197, - -21.451942 - ], - [ - 167.808868, - -21.385834 - ], - [ - 168.120239, - -21.631111 - ], - [ - 168.002197, - -21.451942 - ] - ] - ], - [ - [ - [ - 167.842743, - -21.14389 - ], - [ - 167.80246, - -21.100277 - ], - [ - 167.801361, - -21.119446 - ], - [ - 167.842743, - -21.14389 - ] - ] - ], - [ - [ - [ - 166.448029, - -20.734165 - ], - [ - 166.459137, - -20.719719 - ], - [ - 166.38858, - -20.72583 - ], - [ - 166.448029, - -20.734165 - ] - ] - ], - [ - [ - [ - 167.287201, - -20.75639 - ], - [ - 167.059692, - -20.988609 - ], - [ - 167.398041, - -21.177776 - ], - [ - 167.287201, - -20.75639 - ] - ] - ], - [ - [ - [ - 166.624664, - -20.406109 - ], - [ - 166.499115, - -20.717777 - ], - [ - 166.625793, - -20.601665 - ], - [ - 166.624664, - -20.406109 - ] - ] - ], - [ - [ - [ - 164.288025, - -20.255558 - ], - [ - 164.270264, - -20.219719 - ], - [ - 164.275269, - -20.248886 - ], - [ - 164.288025, - -20.255558 - ] - ] - ], - [ - [ - [ - 163.943848, - -20.170555 - ], - [ - 163.906921, - -20.14389 - ], - [ - 163.922485, - -20.16972 - ], - [ - 163.943848, - -20.170555 - ] - ] - ], - [ - [ - [ - 164.31665, - -20.327225 - ], - [ - 163.98941, - -20.087223 - ], - [ - 165.259979, - -21.558056 - ], - [ - 166.116364, - -21.946388 - ], - [ - 166.451904, - -22.316666 - ], - [ - 167.014709, - -22.321388 - ], - [ - 164.31665, - -20.327225 - ] - ] - ], - [ - [ - [ - 164.234131, - -20.161945 - ], - [ - 164.1633, - -20.065277 - ], - [ - 164.161102, - -20.113335 - ], - [ - 164.234131, - -20.161945 - ] - ] - ], - [ - [ - [ - 163.821625, - -20.082779 - ], - [ - 163.817749, - -20.040836 - ], - [ - 163.796936, - -20.040836 - ], - [ - 163.821625, - -20.082779 - ] - ] - ], - [ - [ - [ - 163.977173, - -20.081669 - ], - [ - 163.949402, - -20.002224 - ], - [ - 163.939972, - -20.068058 - ], - [ - 163.977173, - -20.081669 - ] - ] - ], - [ - [ - [ - 163.671906, - -19.785835 - ], - [ - 163.700806, - -19.766392 - ], - [ - 163.61969, - -19.625832 - ], - [ - 163.671906, - -19.785835 - ] - ] - ], - [ - [ - [ - 163.607452, - -19.604168 - ], - [ - 163.57663, - -19.549446 - ], - [ - 163.568024, - -19.573055 - ], - [ - 163.607452, - -19.604168 - ] - ] - ], - [ - [ - [ - 159.949402, - -19.343334 - ], - [ - 159.978851, - -19.171665 - ], - [ - 159.95108, - -19.114445 - ], - [ - 159.949402, - -19.343334 - ] - ] - ] - ] - }, - "name" : "New Caledonia", - "iso2" : "NC", - "iso3" : "NCL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "v71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -169.89389, - -19.145557 - ], - [ - -169.817505, - -18.96833 - ], - [ - -169.931671, - -19.016666 - ], - [ - -169.89389, - -19.145557 - ] - ] - ] - }, - "name" : "Niue", - "iso2" : "NU", - "iso3" : "NIU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "wL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 4.245277, - 19.146664 - ], - [ - 4.245, - 18.645275 - ], - [ - 4.200833, - 16.393887 - ], - [ - 3.523981, - 15.358152 - ], - [ - 1.3125, - 15.286665 - ], - [ - 0.235048, - 14.915068 - ], - [ - 0.602222, - 13.703888 - ], - [ - 1.285306, - 13.349957 - ], - [ - 0.991667, - 13.371666 - ], - [ - 0.989167, - 13.047222 - ], - [ - 1.578333, - 12.629999 - ], - [ - 2.1425, - 12.694443 - ], - [ - 2.397925, - 11.896152 - ], - [ - 2.378054, - 12.240274 - ], - [ - 2.83862, - 12.396658 - ], - [ - 3.604459, - 11.693274 - ], - [ - 4.1425, - 13.476944 - ], - [ - 5.874722, - 13.749443 - ], - [ - 6.423055, - 13.605276 - ], - [ - 6.933332, - 12.997221 - ], - [ - 7.815, - 13.352777 - ], - [ - 9.634932, - 12.802435 - ], - [ - 10.724165, - 13.386389 - ], - [ - 12.459166, - 13.066111 - ], - [ - 13.62512, - 13.718338 - ], - [ - 13.468887, - 14.461111 - ], - [ - 15.489166, - 16.914165 - ], - [ - 15.996666, - 20.353054 - ], - [ - 15.202499, - 21.495831 - ], - [ - 14.997889, - 23.000591 - ], - [ - 14.234999, - 22.614166 - ], - [ - 13.543888, - 23.16861 - ], - [ - 11.986475, - 23.522305 - ], - [ - 7.450807, - 20.852863 - ], - [ - 5.812499, - 19.44611 - ], - [ - 4.245277, - 19.146664 - ] - ] - ] - }, - "name" : "Niger", - "iso2" : "NE", - "iso3" : "NER" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "wb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -69.882233, - 12.41111 - ], - [ - -70.063065, - 12.628611 - ], - [ - -70.059448, - 12.538055 - ], - [ - -69.882233, - 12.41111 - ] - ] - ] - }, - "name" : "Aruba", - "iso2" : "AW", - "iso3" : "ABW" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "wr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -63.167778, - 18.164444 - ], - [ - -62.993057, - 18.227219 - ], - [ - -62.970001, - 18.272221 - ], - [ - -63.167778, - 18.164444 - ] - ] - ] - }, - "name" : "Anguilla", - "iso2" : "AI", - "iso3" : "AIA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "w71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 6.134414, - 50.127846 - ], - [ - 6.398204, - 50.323174 - ], - [ - 6.011798, - 50.757271 - ], - [ - 5.640833, - 50.839722 - ], - [ - 5.849171, - 51.15638 - ], - [ - 5.041389, - 51.486664 - ], - [ - 4.252368, - 51.375145 - ], - [ - 4.302375, - 51.263184 - ], - [ - 4.238898, - 51.350426 - ], - [ - 3.370866, - 51.373856 - ], - [ - 2.541667, - 51.09111 - ], - [ - 4.165, - 50.283051 - ], - [ - 4.149238, - 49.978371 - ], - [ - 4.832503, - 50.16861 - ], - [ - 4.873055, - 49.797218 - ], - [ - 5.80788, - 49.545044 - ], - [ - 6.026256, - 50.181252 - ], - [ - 6.134414, - 50.127846 - ] - ] - ] - }, - "name" : "Belgium", - "iso2" : "BE", - "iso3" : "BEL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "xL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 114.246094, - 22.203327 - ], - [ - 114.201103, - 22.290554 - ], - [ - 114.124977, - 22.279999 - ], - [ - 114.246094, - 22.203327 - ] - ] - ], - [ - [ - [ - 113.896652, - 22.195827 - ], - [ - 114.04776, - 22.339996 - ], - [ - 113.825272, - 22.232216 - ], - [ - 113.896652, - 22.195827 - ] - ] - ], - [ - [ - [ - 114.314148, - 22.342773 - ], - [ - 114.296097, - 22.368053 - ], - [ - 114.295258, - 22.345829 - ], - [ - 114.314148, - 22.342773 - ] - ] - ], - [ - [ - [ - 114.219437, - 22.474438 - ], - [ - 114.222596, - 22.550548 - ], - [ - 114.03333, - 22.509138 - ], - [ - 114.296104, - 22.260561 - ], - [ - 114.219437, - 22.474438 - ] - ] - ] - ] - }, - "name" : "Hong Kong", - "iso2" : "HK", - "iso3" : "HKG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "xb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 145.281647, - 14.158333 - ], - [ - 145.237183, - 14.194998 - ], - [ - 145.119965, - 14.122498 - ], - [ - 145.281647, - 14.158333 - ] - ] - ], - [ - [ - [ - 145.535248, - 14.828331 - ], - [ - 145.570251, - 14.844997 - ], - [ - 145.529694, - 14.848331 - ], - [ - 145.535248, - 14.828331 - ] - ] - ], - [ - [ - [ - 145.624115, - 14.908054 - ], - [ - 145.633026, - 15.083887 - ], - [ - 145.572205, - 15.009998 - ], - [ - 145.624115, - 14.908054 - ] - ] - ], - [ - [ - [ - 145.736084, - 15.13361 - ], - [ - 145.818024, - 15.265833 - ], - [ - 145.679138, - 15.105276 - ], - [ - 145.736084, - 15.13361 - ] - ] - ], - [ - [ - [ - 145.655823, - 16.334721 - ], - [ - 145.714691, - 16.355831 - ], - [ - 145.63443, - 16.376106 - ], - [ - 145.655823, - 16.334721 - ] - ] - ], - [ - [ - [ - 145.798309, - 16.680275 - ], - [ - 145.801636, - 16.70055 - ], - [ - 145.774994, - 16.705273 - ], - [ - 145.798309, - 16.680275 - ] - ] - ], - [ - [ - [ - 145.860779, - 17.28722 - ], - [ - 145.867462, - 17.304165 - ], - [ - 145.84024, - 17.317219 - ], - [ - 145.860779, - 17.28722 - ] - ] - ], - [ - [ - [ - 145.860779, - 17.567776 - ], - [ - 145.833862, - 17.604996 - ], - [ - 145.824402, - 17.577496 - ], - [ - 145.860779, - 17.567776 - ] - ] - ], - [ - [ - [ - 145.736084, - 18.043888 - ], - [ - 145.824402, - 18.163052 - ], - [ - 145.779144, - 18.17083 - ], - [ - 145.736084, - 18.043888 - ] - ] - ], - [ - [ - [ - 145.679138, - 18.721382 - ], - [ - 145.71051, - 18.76833 - ], - [ - 145.6633, - 18.810276 - ], - [ - 145.679138, - 18.721382 - ] - ] - ], - [ - [ - [ - 145.405823, - 19.652775 - ], - [ - 145.415253, - 19.677219 - ], - [ - 145.38916, - 19.688885 - ], - [ - 145.405823, - 19.652775 - ] - ] - ], - [ - [ - [ - 145.256927, - 20.01083 - ], - [ - 145.27359, - 20.036385 - ], - [ - 145.242188, - 20.052219 - ], - [ - 145.256927, - 20.01083 - ] - ] - ], - [ - [ - [ - 144.921082, - 20.51833 - ], - [ - 144.913605, - 20.556385 - ], - [ - 144.899139, - 20.526108 - ], - [ - 144.921082, - 20.51833 - ] - ] - ] - ] - }, - "name" : "Northern Mariana Islands", - "iso2" : "MP", - "iso3" : "MNP" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "xr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -6.655277, - 61.389444 - ], - [ - -6.724445, - 61.573328 - ], - [ - -6.962778, - 61.619165 - ], - [ - -6.655277, - 61.389444 - ] - ] - ], - [ - [ - [ - -6.604166, - 61.821665 - ], - [ - -6.908333, - 61.904718 - ], - [ - -6.652222, - 61.742777 - ], - [ - -6.604166, - 61.821665 - ] - ] - ], - [ - [ - [ - -7.049723, - 62.067774 - ], - [ - -7.434999, - 62.140276 - ], - [ - -7.201666, - 62.01861 - ], - [ - -7.049723, - 62.067774 - ] - ] - ], - [ - [ - [ - -6.706944, - 61.937494 - ], - [ - -7.210833, - 62.284723 - ], - [ - -7.232222, - 62.172495 - ], - [ - -6.706944, - 61.937494 - ] - ] - ], - [ - [ - [ - -6.657499, - 62.092501 - ], - [ - -6.60111, - 62.196939 - ], - [ - -7.060278, - 62.313608 - ], - [ - -6.657499, - 62.092501 - ] - ] - ], - [ - [ - [ - -6.620001, - 62.229723 - ], - [ - -6.720833, - 62.331385 - ], - [ - -6.685833, - 62.244997 - ], - [ - -6.620001, - 62.229723 - ] - ] - ], - [ - [ - [ - -6.418612, - 62.183886 - ], - [ - -6.574402, - 62.349878 - ], - [ - -6.5725, - 62.211664 - ], - [ - -6.418612, - 62.183886 - ] - ] - ], - [ - [ - [ - -6.406111, - 62.284441 - ], - [ - -6.545279, - 62.386942 - ], - [ - -6.480278, - 62.297777 - ], - [ - -6.406111, - 62.284441 - ] - ] - ] - ] - }, - "name" : "Faroe Islands", - "iso2" : "FO", - "iso3" : "FRO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "x71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 1.723611, - 42.509438 - ], - [ - 1.78172, - 42.569962 - ], - [ - 1.445833, - 42.601944 - ], - [ - 1.723611, - 42.509438 - ] - ] - ] - }, - "name" : "Andorra", - "iso2" : "AD", - "iso3" : "AND" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "yL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -5.334508, - 36.16256 - ], - [ - -5.355799, - 36.163307 - ], - [ - -5.33823, - 36.112175 - ], - [ - -5.334508, - 36.16256 - ] - ] - ] - }, - "name" : "Gibraltar", - "iso2" : "GI", - "iso3" : "GIB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "yb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -4.777779, - 54.05555 - ], - [ - -4.394444, - 54.186386 - ], - [ - -4.354167, - 54.410828 - ], - [ - -4.777779, - 54.05555 - ] - ] - ] - }, - "name" : "Isle of Man", - "iso2" : "IM", - "iso3" : "IMN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "yr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 6.134414, - 50.127846 - ], - [ - 6.026256, - 50.181252 - ], - [ - 5.80788, - 49.545044 - ], - [ - 6.36217, - 49.459389 - ], - [ - 6.524444, - 49.808609 - ], - [ - 6.134414, - 50.127846 - ] - ] - ] - }, - "name" : "Luxembourg", - "iso2" : "LU", - "iso3" : "LUX" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "y71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 113.531662, - 22.194736 - ], - [ - 113.552467, - 22.183052 - ], - [ - 113.554428, - 22.21273 - ], - [ - 113.531662, - 22.194736 - ] - ] - ] - }, - "name" : "Macau", - "iso2" : "MO", - "iso3" : "MAC" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "zL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 7.439293, - 43.757523 - ], - [ - 7.416111, - 43.770554 - ], - [ - 7.387777, - 43.748604 - ], - [ - 7.391609, - 43.727547 - ], - [ - 7.439293, - 43.757523 - ] - ] - ] - }, - "name" : "Monaco", - "iso2" : "MC", - "iso3" : "MCO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "zb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 34.267578, - 31.216541 - ], - [ - 34.33416, - 31.25972 - ], - [ - 34.490547, - 31.596096 - ], - [ - 34.21666, - 31.32333 - ], - [ - 34.267578, - 31.216541 - ] - ] - ], - [ - [ - [ - 35.552567, - 32.394196 - ], - [ - 35.282494, - 32.516937 - ], - [ - 34.884995, - 31.391388 - ], - [ - 35.478195, - 31.497322 - ], - [ - 35.552567, - 32.394196 - ] - ], - [ - [ - 35.25972, - 31.78722 - ], - [ - 35.251663, - 31.788055 - ], - [ - 35.248886, - 31.808887 - ], - [ - 35.25972, - 31.78722 - ] - ] - ] - ] - }, - "name" : "Palestine", - "iso2" : "PS", - "iso3" : "PSE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "zr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 18.455555, - 42.565826 - ], - [ - 18.503197, - 42.44944 - ], - [ - 19.367771, - 41.848999 - ], - [ - 19.645832, - 42.61805 - ], - [ - 20.071423, - 42.560913 - ], - [ - 20.295954, - 42.824291 - ], - [ - 20.348888, - 42.886383 - ], - [ - 19.228809, - 43.513214 - ], - [ - 18.699997, - 43.255554 - ], - [ - 18.455555, - 42.565826 - ] - ] - ] - }, - "name" : "Montenegro", - "iso2" : "ME", - "iso3" : "MNE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "z71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 45.282494, - -12.804167 - ], - [ - 45.283051, - -12.747501 - ], - [ - 45.262497, - -12.76889 - ], - [ - 45.282494, - -12.804167 - ] - ] - ], - [ - [ - [ - 45.204994, - -12.849724 - ], - [ - 45.078888, - -12.6625 - ], - [ - 45.097496, - -12.985834 - ], - [ - 45.204994, - -12.849724 - ] - ] - ] - ] - }, - "name" : "Mayotte", - "iso2" : "YT", - "iso3" : "MYT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "0L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 20.210831, - 59.979996 - ], - [ - 20.205276, - 60.063606 - ], - [ - 19.999165, - 60.055275 - ], - [ - 20.210831, - 59.979996 - ] - ] - ], - [ - [ - [ - 20.270554, - 60.057495 - ], - [ - 20.292221, - 60.125275 - ], - [ - 20.215553, - 60.13916 - ], - [ - 20.270554, - 60.057495 - ] - ] - ], - [ - [ - [ - 19.676666, - 60.156944 - ], - [ - 19.601944, - 60.255829 - ], - [ - 19.510555, - 60.175278 - ], - [ - 19.676666, - 60.156944 - ] - ] - ], - [ - [ - [ - 20.397221, - 60.195 - ], - [ - 20.441109, - 60.253052 - ], - [ - 20.366108, - 60.265549 - ], - [ - 20.397221, - 60.195 - ] - ] - ], - [ - [ - [ - 20.084721, - 60.350273 - ], - [ - 19.648331, - 60.25666 - ], - [ - 19.943886, - 60.04277 - ], - [ - 20.277496, - 60.274162 - ], - [ - 20.084721, - 60.350273 - ] - ] - ] - ] - }, - "name" : "Åland Islands", - "iso2" : "AX", - "iso3" : "ALA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "0b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 167.964966, - -29.081112 - ], - [ - 167.997742, - -29.025002 - ], - [ - 167.912476, - -29.00528 - ], - [ - 167.964966, - -29.081112 - ] - ] - ] - }, - "name" : "Norfolk Island", - "iso2" : "NF", - "iso3" : "NFK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "0r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 96.914154, - -12.198055 - ], - [ - 96.914703, - -12.151945 - ], - [ - 96.902481, - -12.199999 - ], - [ - 96.914154, - -12.198055 - ] - ] - ], - [ - [ - [ - 96.862762, - -12.196112 - ], - [ - 96.826385, - -12.128332 - ], - [ - 96.819443, - -12.178057 - ], - [ - 96.862762, - -12.196112 - ] - ] - ] - ] - }, - "name" : "Cocos (Keeling) Islands", - "iso2" : "CC", - "iso3" : "CCK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "071E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -60.220001, - -80.285843 - ], - [ - -60.173615, - -79.71167 - ], - [ - -60.695007, - -79.610001 - ], - [ - -62.550003, - -80.258896 - ], - [ - -67.031952, - -80.166397 - ], - [ - -61.843895, - -80.836395 - ], - [ - -60.908615, - -80.748337 - ], - [ - -60.220001, - -80.285843 - ] - ] - ], - [ - [ - [ - 162.159731, - -79.061676 - ], - [ - 161.925844, - -78.981674 - ], - [ - 161.947786, - -79.030838 - ], - [ - 162.159731, - -79.061676 - ] - ] - ], - [ - [ - [ - -162.133362, - -78.741119 - ], - [ - -163.816406, - -79.207504 - ], - [ - -161.085846, - -79.835281 - ], - [ - -158.532501, - -79.713898 - ], - [ - -162.133362, - -78.741119 - ] - ] - ], - [ - [ - [ - -39.972504, - -78.554733 - ], - [ - -41.930557, - -78.591949 - ], - [ - -37.45945, - -78.640289 - ], - [ - -39.972504, - -78.554733 - ] - ] - ], - [ - [ - [ - -70.945557, - -79.650009 - ], - [ - -67.31723, - -78.503616 - ], - [ - -70.304169, - -78.805283 - ], - [ - -71.855286, - -79.420288 - ], - [ - -70.945557, - -79.650009 - ] - ] - ], - [ - [ - [ - 167.315554, - -78.253616 - ], - [ - 167.677492, - -78.117523 - ], - [ - 166.871645, - -78.208084 - ], - [ - 167.315554, - -78.253616 - ] - ] - ], - [ - [ - [ - 166.352205, - -78.313629 - ], - [ - 166.774172, - -78.221115 - ], - [ - 166.065554, - -78.114746 - ], - [ - 166.352205, - -78.313629 - ] - ] - ], - [ - [ - [ - -44.114449, - -78.698898 - ], - [ - -43.891113, - -78.361954 - ], - [ - -44.841949, - -78.101395 - ], - [ - -48.272781, - -78.056395 - ], - [ - -50.183617, - -78.650558 - ], - [ - -50.666115, - -79.588623 - ], - [ - -54.90889, - -80.718613 - ], - [ - -52.055557, - -80.902786 - ], - [ - -44.286392, - -80.339737 - ], - [ - -44.066673, - -80.257507 - ], - [ - -44.572502, - -80.092224 - ], - [ - -43.354446, - -79.779724 - ], - [ - -43.466118, - -79.470291 - ], - [ - -44.583336, - -79.333893 - ], - [ - -43.793335, - -79.003616 - ], - [ - -45.575279, - -78.851959 - ], - [ - -44.114449, - -78.698898 - ] - ] - ], - [ - [ - [ - -148.761139, - -77.44223 - ], - [ - -148.829468, - -77.401398 - ], - [ - -149.035278, - -77.416946 - ], - [ - -148.761139, - -77.44223 - ] - ] - ], - [ - [ - [ - -150.20752, - -77.37001 - ], - [ - -150.076416, - -77.340561 - ], - [ - -151.193909, - -77.271957 - ], - [ - -150.20752, - -77.37001 - ] - ] - ], - [ - [ - [ - -148.858612, - -77.354736 - ], - [ - -149.161682, - -77.258896 - ], - [ - -149.51947, - -77.290848 - ], - [ - -148.858612, - -77.354736 - ] - ] - ], - [ - [ - [ - 167.716951, - -77.405838 - ], - [ - 166.631655, - -77.172806 - ], - [ - 166.21335, - -77.538635 - ], - [ - 166.882509, - -77.671951 - ], - [ - 166.547762, - -77.70668 - ], - [ - 166.776644, - -77.857788 - ], - [ - 169.451113, - -77.496689 - ], - [ - 167.716951, - -77.405838 - ] - ] - ], - [ - [ - [ - -147.252228, - -77.165558 - ], - [ - -147.0625, - -77.173889 - ], - [ - -147.532806, - -77.151947 - ], - [ - -147.252228, - -77.165558 - ] - ] - ], - [ - [ - [ - -147.896973, - -77.429733 - ], - [ - -147.590851, - -77.33168 - ], - [ - -147.708893, - -77.189453 - ], - [ - -148.464447, - -77.070557 - ], - [ - -148.864197, - -77.270844 - ], - [ - -147.896973, - -77.429733 - ] - ] - ], - [ - [ - [ - -147.633636, - -77.103348 - ], - [ - -147.654724, - -77.040009 - ], - [ - -147.835297, - -77.034729 - ], - [ - -147.633636, - -77.103348 - ] - ] - ], - [ - [ - [ - -148.511688, - -76.907791 - ], - [ - -149.194733, - -76.950562 - ], - [ - -148.206696, - -76.978058 - ], - [ - -148.511688, - -76.907791 - ] - ] - ], - [ - [ - [ - -149.478363, - -76.898346 - ], - [ - -150.736389, - -76.951126 - ], - [ - -149.07251, - -77.100845 - ], - [ - -149.478363, - -76.898346 - ] - ] - ], - [ - [ - [ - -146.710846, - -76.979172 - ], - [ - -146.223358, - -76.897507 - ], - [ - -146.991669, - -76.851395 - ], - [ - -146.710846, - -76.979172 - ] - ] - ], - [ - [ - [ - -148.533905, - -76.722504 - ], - [ - -149.169189, - -76.732224 - ], - [ - -148.157227, - -76.765289 - ], - [ - -148.533905, - -76.722504 - ] - ] - ], - [ - [ - [ - -149.83197, - -76.664459 - ], - [ - -150.701416, - -76.719452 - ], - [ - -150.320862, - -76.781677 - ], - [ - -149.83197, - -76.664459 - ] - ] - ], - [ - [ - [ - -148.409454, - -76.689453 - ], - [ - -148.619171, - -76.618057 - ], - [ - -148.77475, - -76.652786 - ], - [ - -148.409454, - -76.689453 - ] - ] - ], - [ - [ - [ - -147.433624, - -76.688614 - ], - [ - -147.5914, - -76.593903 - ], - [ - -147.954193, - -76.591124 - ], - [ - -147.433624, - -76.688614 - ] - ] - ], - [ - [ - [ - -146.772247, - -76.714172 - ], - [ - -146.760834, - -76.570557 - ], - [ - -147.251404, - -76.57695 - ], - [ - -146.772247, - -76.714172 - ] - ] - ], - [ - [ - [ - -147.347229, - -76.613892 - ], - [ - -147.474731, - -76.55751 - ], - [ - -147.618073, - -76.556946 - ], - [ - -147.347229, - -76.613892 - ] - ] - ], - [ - [ - [ - 168.603334, - -76.232788 - ], - [ - 168.490816, - -76.158615 - ], - [ - 168.361086, - -76.162506 - ], - [ - 168.603334, - -76.232788 - ] - ] - ], - [ - [ - [ - -146.585571, - -76.305557 - ], - [ - -146.573059, - -76.220291 - ], - [ - -146.776123, - -76.087233 - ], - [ - -147.278076, - -76.113342 - ], - [ - -146.585571, - -76.305557 - ] - ] - ], - [ - [ - [ - -146.790558, - -75.855835 - ], - [ - -146.859467, - -75.805557 - ], - [ - -147.003632, - -75.819458 - ], - [ - -146.790558, - -75.855835 - ] - ] - ], - [ - [ - [ - -145.1539, - -75.736679 - ], - [ - -145.571686, - -75.55278 - ], - [ - -145.867279, - -75.604553 - ], - [ - -145.1539, - -75.736679 - ] - ] - ], - [ - [ - [ - -143.001404, - -75.526123 - ], - [ - -143.082245, - -75.465286 - ], - [ - -143.280853, - -75.491669 - ], - [ - -143.001404, - -75.526123 - ] - ] - ], - [ - [ - [ - -132.371948, - -74.464172 - ], - [ - -132.205292, - -74.392502 - ], - [ - -132.661957, - -74.419174 - ], - [ - -132.371948, - -74.464172 - ] - ] - ], - [ - [ - [ - -131.38974, - -74.346954 - ], - [ - -132.007782, - -74.429169 - ], - [ - -130.744751, - -74.415009 - ], - [ - -131.38974, - -74.346954 - ] - ] - ], - [ - [ - [ - -127.391113, - -74.580292 - ], - [ - -127.036118, - -74.392227 - ], - [ - -128.160858, - -74.254181 - ], - [ - -127.391113, - -74.580292 - ] - ] - ], - [ - [ - [ - -117.114182, - -74.334166 - ], - [ - -116.751678, - -74.247223 - ], - [ - -117.198334, - -74.328339 - ], - [ - -117.114182, - -74.334166 - ] - ] - ], - [ - [ - [ - -20.467503, - -74.330292 - ], - [ - -20.369446, - -74.121674 - ], - [ - -21.603615, - -74.450836 - ], - [ - -20.119446, - -74.850571 - ], - [ - -20.467503, - -74.330292 - ] - ] - ], - [ - [ - [ - -115.930283, - -73.961945 - ], - [ - -117.241119, - -74.1875 - ], - [ - -116.273621, - -74.153624 - ], - [ - -115.930283, - -73.961945 - ] - ] - ], - [ - [ - [ - -122.149727, - -73.614456 - ], - [ - -123.159393, - -73.734039 - ], - [ - -122.414459, - -73.87056 - ], - [ - -122.629997, - -74.320847 - ], - [ - -122.132233, - -74.368057 - ], - [ - -118.549454, - -73.928894 - ], - [ - -122.149727, - -73.614456 - ] - ] - ], - [ - [ - [ - 169.824434, - -73.595581 - ], - [ - 169.868593, - -73.289169 - ], - [ - 169.388033, - -73.533081 - ], - [ - 169.824434, - -73.595581 - ] - ] - ], - [ - [ - [ - -78.048065, - -73.44223 - ], - [ - -77.636398, - -73.300003 - ], - [ - -78.346115, - -73.252792 - ], - [ - -78.048065, - -73.44223 - ] - ] - ], - [ - [ - [ - -126.118347, - -73.247223 - ], - [ - -127.392502, - -73.417786 - ], - [ - -125.252792, - -74.063904 - ], - [ - -123.724167, - -74.100571 - ], - [ - -124.23056, - -73.689178 - ], - [ - -125.134171, - -73.718063 - ], - [ - -126.118347, - -73.247223 - ] - ] - ], - [ - [ - [ - -73.891113, - -73.425003 - ], - [ - -73.498901, - -73.153624 - ], - [ - -74.064178, - -73.325562 - ], - [ - -73.891113, - -73.425003 - ] - ] - ], - [ - [ - [ - -104.865013, - -73.238892 - ], - [ - -104.550293, - -73.186676 - ], - [ - -105.241119, - -73.054733 - ], - [ - -104.865013, - -73.238892 - ] - ] - ], - [ - [ - [ - -89.74501, - -72.875565 - ], - [ - -90.379456, - -73.047791 - ], - [ - -89.45668, - -72.91362 - ], - [ - -89.74501, - -72.875565 - ] - ] - ], - [ - [ - [ - -74.222778, - -72.97612 - ], - [ - -75.386124, - -72.818069 - ], - [ - -75.720291, - -72.945557 - ], - [ - -75.395279, - -73.060013 - ], - [ - -76.093613, - -73.209457 - ], - [ - -74.465561, - -73.648346 - ], - [ - -74.222778, - -72.97612 - ] - ] - ], - [ - [ - [ - -93.759445, - -72.911667 - ], - [ - -93.805847, - -72.815002 - ], - [ - -94.138062, - -72.839172 - ], - [ - -93.759445, - -72.911667 - ] - ] - ], - [ - [ - [ - -98.148056, - -72.730011 - ], - [ - -97.825287, - -72.663345 - ], - [ - -98.343613, - -72.699448 - ], - [ - -98.148056, - -72.730011 - ] - ] - ], - [ - [ - [ - -99.740845, - -72.623611 - ], - [ - -100.858612, - -72.665558 - ], - [ - -98.930283, - -72.673615 - ], - [ - -99.740845, - -72.623611 - ] - ] - ], - [ - [ - [ - -95.33139, - -72.671951 - ], - [ - -94.696762, - -72.614197 - ], - [ - -95.518341, - -72.649445 - ], - [ - -95.33139, - -72.671951 - ] - ] - ], - [ - [ - [ - -91.337233, - -73.156952 - ], - [ - -90.806395, - -72.592789 - ], - [ - -91.617233, - -72.604736 - ], - [ - -91.337233, - -73.156952 - ] - ] - ], - [ - [ - [ - -93.36528, - -72.654449 - ], - [ - -93.170288, - -72.575562 - ], - [ - -93.461426, - -72.584518 - ], - [ - -93.36528, - -72.654449 - ] - ] - ], - [ - [ - [ - -61.038612, - -72.559723 - ], - [ - -60.970001, - -72.527512 - ], - [ - -61.135002, - -72.545013 - ], - [ - -61.038612, - -72.559723 - ] - ] - ], - [ - [ - [ - -78.420013, - -72.56778 - ], - [ - -79.247513, - -72.402512 - ], - [ - -79.461395, - -72.566391 - ], - [ - -78.841675, - -72.771393 - ], - [ - -79.421677, - -72.960007 - ], - [ - -78.806366, - -73.181656 - ], - [ - -77.594452, - -72.910004 - ], - [ - -77.439178, - -72.588623 - ], - [ - -78.420013, - -72.56778 - ] - ] - ], - [ - [ - [ - -68.816116, - -72.474457 - ], - [ - -68.598068, - -72.385834 - ], - [ - -68.977509, - -72.460556 - ], - [ - -68.816116, - -72.474457 - ] - ] - ], - [ - [ - [ - -60.336945, - -72.257507 - ], - [ - -60.343613, - -72.194168 - ], - [ - -60.501944, - -72.199722 - ], - [ - -60.336945, - -72.257507 - ] - ] - ], - [ - [ - [ - 68.482012, - -72.277786 - ], - [ - 68.820024, - -72.165283 - ], - [ - 68.693132, - -72.088913 - ], - [ - 68.482012, - -72.277786 - ] - ] - ], - [ - [ - [ - 69.797564, - -72.033081 - ], - [ - 69.957293, - -71.91864 - ], - [ - 69.773088, - -71.92363 - ], - [ - 69.797564, - -72.033081 - ] - ] - ], - [ - [ - [ - -98.80307, - -71.886673 - ], - [ - -99.30751, - -71.943893 - ], - [ - -98.833069, - -72.131393 - ], - [ - -100.235001, - -72.130844 - ], - [ - -100.510559, - -72.023621 - ], - [ - -100.061661, - -71.935135 - ], - [ - -100.414459, - -71.881393 - ], - [ - -102.56279, - -72.124725 - ], - [ - -98.616119, - -72.568893 - ], - [ - -95.675842, - -72.360565 - ], - [ - -96.596115, - -72.286667 - ], - [ - -95.821671, - -72.189453 - ], - [ - -95.995148, - -72.080002 - ], - [ - -97.258057, - -72.222229 - ], - [ - -96.342636, - -72.002197 - ], - [ - -96.650558, - -71.873337 - ], - [ - -97.349457, - -71.862503 - ], - [ - -97.686401, - -72.181946 - ], - [ - -98.136307, - -71.892899 - ], - [ - -98.196671, - -72.199173 - ], - [ - -98.560562, - -72.131119 - ], - [ - -98.297501, - -71.871948 - ], - [ - -98.80307, - -71.886673 - ] - ] - ], - [ - [ - [ - 0.452028, - -71.100586 - ], - [ - 0.586733, - -71.064453 - ], - [ - 0.239809, - -71.033615 - ], - [ - 0.452028, - -71.100586 - ] - ] - ], - [ - [ - [ - -60.53553, - -71.056351 - ], - [ - -60.624725, - -70.88501 - ], - [ - -60.959166, - -70.945282 - ], - [ - -60.53553, - -71.056351 - ] - ] - ], - [ - [ - [ - -7.879444, - -70.733902 - ], - [ - -7.725277, - -70.710281 - ], - [ - -8.043612, - -70.700012 - ], - [ - -7.879444, - -70.733902 - ] - ] - ], - [ - [ - [ - -2.389999, - -70.751953 - ], - [ - -3.455, - -70.693069 - ], - [ - -2.796389, - -71.039734 - ], - [ - -1.982777, - -70.816391 - ], - [ - -2.389999, - -70.751953 - ] - ] - ], - [ - [ - [ - -73.685287, - -70.680283 - ], - [ - -76.63501, - -71.060287 - ], - [ - -74.306122, - -71.010284 - ], - [ - -73.685287, - -70.680283 - ] - ] - ], - [ - [ - [ - 2.050657, - -70.699722 - ], - [ - 2.216734, - -70.636398 - ], - [ - 1.895933, - -70.646118 - ], - [ - 2.050657, - -70.699722 - ] - ] - ], - [ - [ - [ - -60.81945, - -70.662231 - ], - [ - -60.631393, - -70.54834 - ], - [ - -61.159172, - -70.575836 - ], - [ - -60.81945, - -70.662231 - ] - ] - ], - [ - [ - [ - 2.957579, - -70.625 - ], - [ - 3.32733, - -70.468918 - ], - [ - 2.613157, - -70.50502 - ], - [ - 2.957579, - -70.625 - ] - ] - ], - [ - [ - [ - -6.040277, - -70.579178 - ], - [ - -5.969852, - -70.417952 - ], - [ - -6.376682, - -70.476074 - ], - [ - -6.040277, - -70.579178 - ] - ] - ], - [ - [ - [ - -3.128056, - -70.504181 - ], - [ - -2.644167, - -70.415283 - ], - [ - -3.329721, - -70.483337 - ], - [ - -3.128056, - -70.504181 - ] - ] - ], - [ - [ - [ - 163.386141, - -70.380569 - ], - [ - 163.483339, - -70.353897 - ], - [ - 163.3053, - -70.349182 - ], - [ - 163.386141, - -70.380569 - ] - ] - ], - [ - [ - [ - 72.227007, - -70.613083 - ], - [ - 71.930071, - -70.294174 - ], - [ - 71.688128, - -70.338348 - ], - [ - 72.227007, - -70.613083 - ] - ] - ], - [ - [ - [ - -1.790277, - -70.231949 - ], - [ - -1.897221, - -70.1689 - ], - [ - -1.973055, - -70.181671 - ], - [ - -1.790277, - -70.231949 - ] - ] - ], - [ - [ - [ - 13.109552, - -70.057251 - ], - [ - 12.481745, - -70.110565 - ], - [ - 13.221186, - -70.137512 - ], - [ - 13.109552, - -70.057251 - ] - ] - ], - [ - [ - [ - 15.992849, - -70.172241 - ], - [ - 16.362055, - -70.017517 - ], - [ - 15.360346, - -70.0289 - ], - [ - 15.992849, - -70.172241 - ] - ] - ], - [ - [ - [ - -61.385002, - -70.015289 - ], - [ - -61.292503, - -69.934174 - ], - [ - -61.528061, - -69.965286 - ], - [ - -61.385002, - -70.015289 - ] - ] - ], - [ - [ - [ - -74.842224, - -69.815842 - ], - [ - -75.861389, - -70.055283 - ], - [ - -74.452515, - -70.021666 - ], - [ - -74.842224, - -69.815842 - ] - ] - ], - [ - [ - [ - 38.231485, - -69.67807 - ], - [ - 38.231485, - -69.646666 - ], - [ - 38.056192, - -69.636688 - ], - [ - 38.231485, - -69.67807 - ] - ] - ], - [ - [ - [ - -72.355286, - -69.757507 - ], - [ - -72.044449, - -69.693069 - ], - [ - -72.945282, - -69.600845 - ], - [ - -72.355286, - -69.757507 - ] - ] - ], - [ - [ - [ - -62.042229, - -69.720001 - ], - [ - -61.715561, - -69.468613 - ], - [ - -62.327225, - -69.107513 - ], - [ - -62.042229, - -69.720001 - ] - ] - ], - [ - [ - [ - 155.873629, - -69.151123 - ], - [ - 155.883699, - -69.058975 - ], - [ - 155.52585, - -69.00058 - ], - [ - 155.873629, - -69.151123 - ] - ] - ], - [ - [ - [ - 155.200838, - -69.046112 - ], - [ - 155.308901, - -68.98114 - ], - [ - 154.95392, - -69.017227 - ], - [ - 155.200838, - -69.046112 - ] - ] - ], - [ - [ - [ - -70.156952, - -68.848618 - ], - [ - -72.253342, - -69.20723 - ], - [ - -71.645844, - -69.517502 - ], - [ - -71.815002, - -69.984177 - ], - [ - -71.389175, - -70.230011 - ], - [ - -72.460846, - -70.601959 - ], - [ - -71.020844, - -70.803345 - ], - [ - -70.613892, - -71.166397 - ], - [ - -72.926392, - -71.115845 - ], - [ - -73.159729, - -71.185013 - ], - [ - -72.411957, - -71.336395 - ], - [ - -73.679169, - -71.358063 - ], - [ - -73.529175, - -71.643341 - ], - [ - -74.389175, - -71.434174 - ], - [ - -74.435837, - -71.693069 - ], - [ - -75.141953, - -71.577789 - ], - [ - -75.466124, - -71.85112 - ], - [ - -74.043335, - -72.208893 - ], - [ - -73.581116, - -72.047226 - ], - [ - -73.879181, - -71.820557 - ], - [ - -72.866669, - -71.934174 - ], - [ - -72.267502, - -71.646118 - ], - [ - -70.947235, - -72.038895 - ], - [ - -72.045013, - -72.194458 - ], - [ - -70.521957, - -72.207779 - ], - [ - -73.194458, - -72.431395 - ], - [ - -72.376114, - -72.727783 - ], - [ - -69.26001, - -72.564178 - ], - [ - -68.391678, - -72.233902 - ], - [ - -68.071396, - -71.638336 - ], - [ - -68.377228, - -70.649445 - ], - [ - -70.084166, - -69.263626 - ], - [ - -70.156952, - -68.848618 - ] - ] - ], - [ - [ - [ - -90.594452, - -68.925842 - ], - [ - -90.486954, - -68.827789 - ], - [ - -90.751404, - -68.799179 - ], - [ - -90.594452, - -68.925842 - ] - ] - ], - [ - [ - [ - -63.446945, - -68.851395 - ], - [ - -63.413338, - -68.837233 - ], - [ - -63.627785, - -68.796951 - ], - [ - -63.446945, - -68.851395 - ] - ] - ], - [ - [ - [ - -60.718056, - -68.75473 - ], - [ - -60.829727, - -68.661118 - ], - [ - -61.081673, - -68.679459 - ], - [ - -60.718056, - -68.75473 - ] - ] - ], - [ - [ - [ - -67.507507, - -67.810013 - ], - [ - -67.084166, - -67.631393 - ], - [ - -67.815292, - -67.689178 - ], - [ - -67.507507, - -67.810013 - ] - ] - ], - [ - [ - [ - 47.671183, - -67.586685 - ], - [ - 47.407869, - -67.624725 - ], - [ - 47.898043, - -67.594284 - ], - [ - 47.671183, - -67.586685 - ] - ] - ], - [ - [ - [ - 59.35531, - -67.33168 - ], - [ - 59.416468, - -67.320572 - ], - [ - 59.269258, - -67.290283 - ], - [ - 59.35531, - -67.33168 - ] - ] - ], - [ - [ - [ - 164.787233, - -67.595291 - ], - [ - 164.840029, - -67.42363 - ], - [ - 164.561678, - -67.271666 - ], - [ - 164.787233, - -67.595291 - ] - ] - ], - [ - [ - [ - 58.64255, - -67.126419 - ], - [ - 58.671473, - -67.12001 - ], - [ - 58.52865, - -67.117798 - ], - [ - 58.64255, - -67.126419 - ] - ] - ], - [ - [ - [ - 58.86062, - -67.121948 - ], - [ - 58.8248, - -67.102249 - ], - [ - 58.774195, - -67.108612 - ], - [ - 58.86062, - -67.121948 - ] - ] - ], - [ - [ - [ - 50.346468, - -67.116394 - ], - [ - 50.250093, - -67.067795 - ], - [ - 50.130648, - -67.074188 - ], - [ - 50.346468, - -67.116394 - ] - ] - ], - [ - [ - [ - 48.793978, - -66.756134 - ], - [ - 48.291475, - -66.820007 - ], - [ - 48.397318, - -66.890289 - ], - [ - 48.793978, - -66.756134 - ] - ] - ], - [ - [ - [ - 86.065325, - -67.001129 - ], - [ - 86.183901, - -66.922516 - ], - [ - 85.871965, - -66.773895 - ], - [ - 85.37282, - -66.746689 - ], - [ - 86.065325, - -67.001129 - ] - ] - ], - [ - [ - [ - 86.4928, - -66.774733 - ], - [ - 86.732012, - -66.712233 - ], - [ - 86.301699, - -66.711136 - ], - [ - 86.4928, - -66.774733 - ] - ] - ], - [ - [ - [ - -67.244171, - -66.747787 - ], - [ - -67.459732, - -66.697235 - ], - [ - -67.541946, - -66.869736 - ], - [ - -67.244171, - -66.747787 - ] - ] - ], - [ - [ - [ - -68.100281, - -67.393341 - ], - [ - -67.674728, - -67.15918 - ], - [ - -67.910843, - -66.848892 - ], - [ - -67.585556, - -66.613892 - ], - [ - -69.228897, - -67.541397 - ], - [ - -68.565002, - -67.748062 - ], - [ - -68.100281, - -67.393341 - ] - ] - ], - [ - [ - [ - 99.294497, - -66.748611 - ], - [ - 99.520876, - -66.590027 - ], - [ - 99.215883, - -66.723068 - ], - [ - 99.294497, - -66.748611 - ] - ] - ], - [ - [ - [ - 163.106966, - -66.756134 - ], - [ - 163.118349, - -66.623062 - ], - [ - 162.94919, - -66.572235 - ], - [ - 163.106966, - -66.756134 - ] - ] - ], - [ - [ - [ - 85.332842, - -66.628616 - ], - [ - 85.284197, - -66.520294 - ], - [ - 85.151995, - -66.590286 - ], - [ - 85.332842, - -66.628616 - ] - ] - ], - [ - [ - [ - 98.771975, - -66.491974 - ], - [ - 98.862795, - -66.454468 - ], - [ - 98.601992, - -66.433334 - ], - [ - 98.771975, - -66.491974 - ] - ] - ], - [ - [ - [ - 97.229189, - -66.4664 - ], - [ - 97.353106, - -66.423889 - ], - [ - 97.088381, - -66.415283 - ], - [ - 97.229189, - -66.4664 - ] - ] - ], - [ - [ - [ - 162.568087, - -66.435028 - ], - [ - 162.601412, - -66.350586 - ], - [ - 162.300295, - -66.188919 - ], - [ - 162.568087, - -66.435028 - ] - ] - ], - [ - [ - [ - 100.273073, - -66.192795 - ], - [ - 100.351679, - -66.143631 - ], - [ - 100.229738, - -66.148895 - ], - [ - 100.273073, - -66.192795 - ] - ] - ], - [ - [ - [ - 96.767519, - -66.259735 - ], - [ - 96.847795, - -66.121689 - ], - [ - 96.260012, - -66.188919 - ], - [ - 96.767519, - -66.259735 - ] - ] - ], - [ - [ - [ - -66.732224, - -66.310562 - ], - [ - -66.575562, - -66.088058 - ], - [ - -66.743057, - -66.117783 - ], - [ - -66.732224, - -66.310562 - ] - ] - ], - [ - [ - [ - 100.55475, - -66.147232 - ], - [ - 100.756411, - -66.079193 - ], - [ - 100.618654, - -66.046951 - ], - [ - 100.55475, - -66.147232 - ] - ] - ], - [ - [ - [ - 100.821413, - -66.026947 - ], - [ - 100.817263, - -65.997528 - ], - [ - 100.772829, - -66.013336 - ], - [ - 100.821413, - -66.026947 - ] - ] - ], - [ - [ - [ - 100.927553, - -66.005569 - ], - [ - 100.958925, - -65.968338 - ], - [ - 100.84363, - -65.983078 - ], - [ - 100.927553, - -66.005569 - ] - ] - ], - [ - [ - [ - 100.770571, - -65.861389 - ], - [ - 100.99811, - -65.808914 - ], - [ - 100.708071, - -65.832794 - ], - [ - 100.770571, - -65.861389 - ] - ] - ], - [ - [ - [ - 92.698931, - -65.798355 - ], - [ - 92.495058, - -65.672241 - ], - [ - 92.268923, - -65.764175 - ], - [ - 92.698931, - -65.798355 - ] - ] - ], - [ - [ - [ - -65.666946, - -65.687225 - ], - [ - -65.918335, - -65.529724 - ], - [ - -66.161118, - -65.868895 - ], - [ - -65.666946, - -65.687225 - ] - ] - ], - [ - [ - [ - 100.754999, - -65.678619 - ], - [ - 101.256655, - -65.503769 - ], - [ - 100.24695, - -65.583618 - ], - [ - 100.754999, - -65.678619 - ] - ] - ], - [ - [ - [ - 103.2428, - -65.295837 - ], - [ - 102.773935, - -65.140289 - ], - [ - 103.472528, - -65.450012 - ], - [ - 103.2428, - -65.295837 - ] - ] - ], - [ - [ - [ - -59.436111, - -65.255844 - ], - [ - -59.533058, - -65.109451 - ], - [ - -59.813057, - -65.107224 - ], - [ - -59.436111, - -65.255844 - ] - ] - ], - [ - [ - [ - -63.144173, - -64.781403 - ], - [ - -63.555, - -64.893066 - ], - [ - -63.324448, - -64.911957 - ], - [ - -63.144173, - -64.781403 - ] - ] - ], - [ - [ - [ - -57.279167, - -64.552504 - ], - [ - -56.855003, - -64.338623 - ], - [ - -57.488617, - -64.496399 - ], - [ - -57.279167, - -64.552504 - ] - ] - ], - [ - [ - [ - -63.306671, - -64.428619 - ], - [ - -63.089447, - -64.296677 - ], - [ - -64.220566, - -64.67334 - ], - [ - -63.640007, - -64.833893 - ], - [ - -62.760284, - -64.560287 - ], - [ - -63.306671, - -64.428619 - ] - ] - ], - [ - [ - [ - -56.815002, - -64.316956 - ], - [ - -56.575562, - -64.219727 - ], - [ - -56.758339, - -64.237793 - ], - [ - -56.815002, - -64.316956 - ] - ] - ], - [ - [ - [ - -62.300003, - -64.434448 - ], - [ - -62.011673, - -64.214172 - ], - [ - -62.48056, - -64.043335 - ], - [ - -62.704727, - -64.466124 - ], - [ - -62.300003, - -64.434448 - ] - ] - ], - [ - [ - [ - -57.815834, - -63.961395 - ], - [ - -58.428612, - -64.113342 - ], - [ - -58.080833, - -64.084732 - ], - [ - -58.239449, - -64.325012 - ], - [ - -57.912781, - -64.445282 - ], - [ - -57.03334, - -64.172501 - ], - [ - -57.815834, - -63.961395 - ] - ] - ], - [ - [ - [ - -57.570557, - -63.787781 - ], - [ - -57.694725, - -63.816391 - ], - [ - -57.045563, - -63.822784 - ], - [ - -57.570557, - -63.787781 - ] - ] - ], - [ - [ - [ - -60.738335, - -63.86834 - ], - [ - -60.531395, - -63.651672 - ], - [ - -60.764168, - -63.660561 - ], - [ - -60.738335, - -63.86834 - ] - ] - ], - [ - [ - [ - -55.976669, - -63.58139 - ], - [ - -55.707779, - -63.452507 - ], - [ - -56.205559, - -63.452782 - ], - [ - -55.976669, - -63.58139 - ] - ] - ], - [ - [ - [ - -62.154167, - -63.324173 - ], - [ - -61.943335, - -63.28167 - ], - [ - -62.260284, - -63.253891 - ], - [ - -62.154167, - -63.324173 - ] - ] - ], - [ - [ - [ - -56.946396, - -63.450562 - ], - [ - -57.205002, - -63.205559 - ], - [ - -58.910835, - -63.533058 - ], - [ - -59.445839, - -63.893059 - ], - [ - -60.991669, - -64.035843 - ], - [ - -60.941948, - -64.277512 - ], - [ - -61.93528, - -64.690567 - ], - [ - -62.453613, - -64.589172 - ], - [ - -62.617783, - -64.755005 - ], - [ - -62.31945, - -64.858902 - ], - [ - -62.938057, - -64.797501 - ], - [ - -63.090561, - -65.133896 - ], - [ - -63.879448, - -65.018341 - ], - [ - -64.05307, - -65.421951 - ], - [ - -63.712784, - -65.502502 - ], - [ - -64.659729, - -65.74028 - ], - [ - -64.453339, - -65.981674 - ], - [ - -65.689728, - -66.125 - ], - [ - -66.497223, - -66.622513 - ], - [ - -66.404724, - -66.885559 - ], - [ - -67.48584, - -67.077225 - ], - [ - -67.623901, - -67.553619 - ], - [ - -66.427231, - -67.53334 - ], - [ - -67.157227, - -68.010559 - ], - [ - -66.589737, - -68.238068 - ], - [ - -67.165558, - -68.293335 - ], - [ - -66.932236, - -68.773895 - ], - [ - -67.494446, - -68.815567 - ], - [ - -66.657791, - -69.017792 - ], - [ - -68.838058, - -69.417236 - ], - [ - -67.703903, - -70.593063 - ], - [ - -67.400284, - -71.040009 - ], - [ - -67.537231, - -71.454727 - ], - [ - -66.859177, - -71.895569 - ], - [ - -66.797226, - -72.407791 - ], - [ - -69.428345, - -73.197235 - ], - [ - -76.962784, - -73.873062 - ], - [ - -76.618347, - -73.576675 - ], - [ - -78.789734, - -73.693069 - ], - [ - -78.958893, - -73.392502 - ], - [ - -80.695557, - -73.050568 - ], - [ - -80.51918, - -73.446396 - ], - [ - -81.275284, - -73.369446 - ], - [ - -81.041397, - -73.715561 - ], - [ - -82.134171, - -73.943344 - ], - [ - -85.599731, - -73.558334 - ], - [ - -85.47084, - -73.349731 - ], - [ - -85.966675, - -73.041397 - ], - [ - -86.840836, - -73.336395 - ], - [ - -88.709166, - -73.179459 - ], - [ - -88.335846, - -72.816116 - ], - [ - -89.261124, - -72.63945 - ], - [ - -89.537231, - -72.633621 - ], - [ - -89.321121, - -73.054169 - ], - [ - -90.861115, - -73.326675 - ], - [ - -102.099167, - -73.084732 - ], - [ - -103.176117, - -72.733337 - ], - [ - -103.603348, - -72.891953 - ], - [ - -103.036118, - -73.326401 - ], - [ - -99.175568, - -73.619171 - ], - [ - -103.013344, - -73.629181 - ], - [ - -102.901398, - -73.875839 - ], - [ - -101.65834, - -73.998901 - ], - [ - -101.331947, - -74.48056 - ], - [ - -100.248062, - -74.490845 - ], - [ - -100.515556, - -74.671112 - ], - [ - -100.151123, - -74.760834 - ], - [ - -100.851669, - -74.814728 - ], - [ - -99.510284, - -75.092514 - ], - [ - -110.383057, - -75.306122 - ], - [ - -110.96167, - -75.157791 - ], - [ - -109.928886, - -74.761398 - ], - [ - -110.154715, - -74.28418 - ], - [ - -111.503891, - -74.191681 - ], - [ - -111.385834, - -74.462233 - ], - [ - -111.724457, - -74.587233 - ], - [ - -111.343063, - -74.759445 - ], - [ - -112.654167, - -74.858612 - ], - [ - -113.555557, - -74.634445 - ], - [ - -112.930283, - -74.455002 - ], - [ - -113.433617, - -74.472229 - ], - [ - -113.186401, - -74.1689 - ], - [ - -114.003616, - -73.889175 - ], - [ - -114.810013, - -74.104736 - ], - [ - -114.697777, - -74.469177 - ], - [ - -117.396957, - -74.530838 - ], - [ - -117.743057, - -74.308624 - ], - [ - -118.531677, - -74.613617 - ], - [ - -121.478348, - -74.742508 - ], - [ - -133.262512, - -74.847229 - ], - [ - -134.303894, - -74.532791 - ], - [ - -146.295288, - -76.039734 - ], - [ - -145.479462, - -76.443344 - ], - [ - -146.491669, - -76.367508 - ], - [ - -148.101288, - -76.095657 - ], - [ - -149.506134, - -76.387512 - ], - [ - -146.932251, - -76.45195 - ], - [ - -145.45639, - -76.760284 - ], - [ - -146.102234, - -76.840012 - ], - [ - -145.298889, - -77.029175 - ], - [ - -146.301392, - -76.999176 - ], - [ - -145.842804, - -77.114182 - ], - [ - -146.227509, - -77.165009 - ], - [ - -145.878906, - -77.306395 - ], - [ - -146.268616, - -77.4664 - ], - [ - -147.032227, - -77.22084 - ], - [ - -147.071686, - -77.372787 - ], - [ - -147.493073, - -77.296951 - ], - [ - -147.5914, - -77.422226 - ], - [ - -148.581116, - -77.504456 - ], - [ - -148.585571, - -77.594452 - ], - [ - -148.732788, - -77.625565 - ], - [ - -149.414185, - -77.570847 - ], - [ - -149.08725, - -77.696121 - ], - [ - -149.662231, - -77.761124 - ], - [ - -152.061127, - -77.325287 - ], - [ - -153.106415, - -77.497223 - ], - [ - -153.083618, - -77.286667 - ], - [ - -153.790283, - -77.174728 - ], - [ - -155.861389, - -77.084457 - ], - [ - -156.483337, - -77.358612 - ], - [ - -157.753082, - -77.108063 - ], - [ - -157.69696, - -77.571396 - ], - [ - -158.175842, - -77.859726 - ], - [ - -157.910278, - -78.001953 - ], - [ - -153.750305, - -78.308334 - ], - [ - -155.906403, - -78.719727 - ], - [ - -146.811951, - -79.887512 - ], - [ - -145.52417, - -80.460556 - ], - [ - -148.413361, - -81.357513 - ], - [ - -154.921692, - -81.001953 - ], - [ - -156.960022, - -81.251678 - ], - [ - -154.205017, - -81.552231 - ], - [ - -153.989197, - -81.629181 - ], - [ - -154.891418, - -81.905014 - ], - [ - -151.794189, - -82.577789 - ], - [ - -153.007507, - -83.087509 - ], - [ - -153.05307, - -84.012787 - ], - [ - -149.294739, - -84.561951 - ], - [ - -138.589447, - -84.984726 - ], - [ - -139.661407, - -85.24501 - ], - [ - -148.138336, - -85.090836 - ], - [ - -150.239471, - -85.463623 - ], - [ - -157.483337, - -85.448624 - ], - [ - -180, - -84.305344 - ], - [ - -180, - -90 - ], - [ - 180, - -90 - ], - [ - 180, - -84.302246 - ], - [ - 171.905031, - -83.801697 - ], - [ - 172.318605, - -83.597229 - ], - [ - 169.250826, - -83.330017 - ], - [ - 167.469728, - -83.439178 - ], - [ - 168.692476, - -83.146408 - ], - [ - 163.446138, - -82.26503 - ], - [ - 163.859468, - -82.174179 - ], - [ - 162.27585, - -81.662231 - ], - [ - 160.391115, - -81.521408 - ], - [ - 162.193911, - -81.297806 - ], - [ - 160.626131, - -81.205017 - ], - [ - 160.839449, - -81.078079 - ], - [ - 160.503084, - -80.952789 - ], - [ - 160.843904, - -80.893066 - ], - [ - 160.015566, - -80.780304 - ], - [ - 161.174471, - -80.635559 - ], - [ - 159.75696, - -80.569748 - ], - [ - 160.89197, - -80.377502 - ], - [ - 158.057253, - -80.280563 - ], - [ - 160.524446, - -80.041397 - ], - [ - 159.092806, - -79.971115 - ], - [ - 160.73807, - -79.453079 - ], - [ - 160.04056, - -79.155838 - ], - [ - 160.494173, - -79.020859 - ], - [ - 164.494448, - -78.569748 - ], - [ - 167.269442, - -78.655838 - ], - [ - 165.683596, - -78.391693 - ], - [ - 165.54001, - -78.003357 - ], - [ - 164.206697, - -78.14389 - ], - [ - 164.565004, - -77.736389 - ], - [ - 163.610842, - -77.696121 - ], - [ - 163.896975, - -77.46669 - ], - [ - 163.238344, - -77.041397 - ], - [ - 162.332796, - -76.951416 - ], - [ - 163.069735, - -76.73085 - ], - [ - 162.623629, - -76.619461 - ], - [ - 162.932253, - -76.583084 - ], - [ - 162.875582, - -76.247787 - ], - [ - 162.337801, - -76.167236 - ], - [ - 163.136965, - -75.936676 - ], - [ - 162.539736, - -75.108917 - ], - [ - 163.871675, - -74.953354 - ], - [ - 163.656679, - -74.77446 - ], - [ - 164.142519, - -74.616119 - ], - [ - 165.333315, - -74.672806 - ], - [ - 164.780855, - -74.136963 - ], - [ - 166.129152, - -74.127243 - ], - [ - 165.548586, - -73.93251 - ], - [ - 167.561678, - -73.403351 - ], - [ - 169.079165, - -73.527527 - ], - [ - 169.26642, - -73.083908 - ], - [ - 170.322237, - -72.580307 - ], - [ - 170.304171, - -72.300842 - ], - [ - 169.871645, - -72.379196 - ], - [ - 170.129976, - -72.051407 - ], - [ - 170.994448, - -71.864197 - ], - [ - 170.453035, - -71.351669 - ], - [ - 170.215273, - -71.282791 - ], - [ - 170.272249, - -71.660019 - ], - [ - 167.767519, - -70.780838 - ], - [ - 166.463045, - -70.70195 - ], - [ - 166.771669, - -70.611679 - ], - [ - 163.553896, - -70.465286 - ], - [ - 163.78528, - -70.628067 - ], - [ - 163.520845, - -70.675003 - ], - [ - 162.753908, - -70.280304 - ], - [ - 160.968904, - -70.255569 - ], - [ - 157.236391, - -68.94252 - ], - [ - 156.336123, - -69.24057 - ], - [ - 154.856691, - -69.102524 - ], - [ - 154.286684, - -68.863083 - ], - [ - 154.685854, - -68.615004 - ], - [ - 153.778353, - -68.343628 - ], - [ - 153.768618, - -68.922241 - ], - [ - 151.18503, - -68.980026 - ], - [ - 150.992525, - -68.390854 - ], - [ - 148.813356, - -68.335281 - ], - [ - 148.217226, - -68.127243 - ], - [ - 148.648073, - -67.989197 - ], - [ - 148.029451, - -67.844467 - ], - [ - 146.953341, - -68.141693 - ], - [ - 147.15085, - -67.99086 - ], - [ - 146.642794, - -67.709457 - ], - [ - 145.315004, - -67.613342 - ], - [ - 145.875307, - -67.195862 - ], - [ - 145.404451, - -67.017227 - ], - [ - 144.585573, - -67.245285 - ], - [ - 143.400026, - -66.851135 - ], - [ - 142.566408, - -66.994171 - ], - [ - 134.947786, - -66.093063 - ], - [ - 135.272249, - -65.436401 - ], - [ - 134.437838, - -64.926132 - ], - [ - 134.100618, - -65.123062 - ], - [ - 134.436403, - -66.001419 - ], - [ - 134.245302, - -66.201126 - ], - [ - 130.351992, - -66.225845 - ], - [ - 128.83478, - -67.142517 - ], - [ - 126.928652, - -66.834457 - ], - [ - 126.988359, - -66.453583 - ], - [ - 126.356165, - -66.279724 - ], - [ - 125.19002, - -66.734192 - ], - [ - 122.183359, - -66.547806 - ], - [ - 117.767, - -66.989746 - ], - [ - 116.18004, - -66.366684 - ], - [ - 114.518358, - -66.472778 - ], - [ - 114.431429, - -66.179474 - ], - [ - 113.31534, - -65.713348 - ], - [ - 110.891726, - -66.063629 - ], - [ - 110.629763, - -66.486679 - ], - [ - 108.824221, - -66.831131 - ], - [ - 107.804781, - -66.398361 - ], - [ - 102.626162, - -65.901123 - ], - [ - 100.95392, - -66.080841 - ], - [ - 99.283083, - -66.880844 - ], - [ - 98.261965, - -66.516113 - ], - [ - 97.564455, - -66.74057 - ], - [ - 92.005312, - -66.533905 - ], - [ - 88.967226, - -66.761398 - ], - [ - 88.227236, - -66.036392 - ], - [ - 88.109499, - -66.652527 - ], - [ - 87.50252, - -66.894745 - ], - [ - 85.791689, - -67.17778 - ], - [ - 83.403399, - -67.156677 - ], - [ - 82.665041, - -67.39389 - ], - [ - 82.014482, - -67.251678 - ], - [ - 81.469744, - -67.505295 - ], - [ - 82.057268, - -67.672241 - ], - [ - 78.116411, - -68.459732 - ], - [ - 77.747271, - -69.116974 - ], - [ - 72.90114, - -70.021957 - ], - [ - 72.615618, - -70.203613 - ], - [ - 72.863115, - -70.432785 - ], - [ - 71.504473, - -70.953903 - ], - [ - 71.248125, - -71.38945 - ], - [ - 71.449785, - -71.546112 - ], - [ - 70.864946, - -71.930145 - ], - [ - 68.936419, - -72.425003 - ], - [ - 67.337557, - -72.063339 - ], - [ - 67.90114, - -71.64447 - ], - [ - 67.605303, - -71.583084 - ], - [ - 69.243914, - -70.670578 - ], - [ - 69.144793, - -70.33139 - ], - [ - 68.661699, - -70.367798 - ], - [ - 68.850298, - -70.532242 - ], - [ - 68.59395, - -70.770584 - ], - [ - 67.646135, - -70.386398 - ], - [ - 68.094744, - -69.879471 - ], - [ - 69.205339, - -69.863907 - ], - [ - 69.340044, - -69.638626 - ], - [ - 68.871172, - -69.379471 - ], - [ - 69.74312, - -69.363083 - ], - [ - 69.292009, - -69.102783 - ], - [ - 70.102007, - -68.523895 - ], - [ - 69.644793, - -67.753906 - ], - [ - 59.11062, - -67.412231 - ], - [ - 56.729525, - -66.901123 - ], - [ - 57.311975, - -66.563339 - ], - [ - 55.619234, - -66.006958 - ], - [ - 53.778963, - -65.840027 - ], - [ - 50.413118, - -66.441971 - ], - [ - 50.169771, - -66.743057 - ], - [ - 50.689486, - -67.181395 - ], - [ - 49.151705, - -67.088623 - ], - [ - 49.163973, - -66.862808 - ], - [ - 48.262857, - -67.167526 - ], - [ - 49.167269, - -67.383362 - ], - [ - 48.217012, - -67.634445 - ], - [ - 47.395609, - -67.722519 - ], - [ - 47.009501, - -67.550308 - ], - [ - 47.448954, - -67.417801 - ], - [ - 46.551432, - -67.277252 - ], - [ - 46.246431, - -67.357513 - ], - [ - 46.308931, - -67.641693 - ], - [ - 41.103128, - -68.523895 - ], - [ - 39.760355, - -68.954468 - ], - [ - 39.701761, - -69.648636 - ], - [ - 38.65037, - -69.988632 - ], - [ - 38.564493, - -69.50058 - ], - [ - 38.239237, - -69.992798 - ], - [ - 37.14506, - -69.664749 - ], - [ - 37.850931, - -69.533905 - ], - [ - 37.916178, - -69.251419 - ], - [ - 36.722574, - -69.728073 - ], - [ - 36.126444, - -69.533615 - ], - [ - 36.41453, - -69.314453 - ], - [ - 34.14036, - -68.482788 - ], - [ - 33.424234, - -68.651413 - ], - [ - 33.445047, - -68.957245 - ], - [ - 32.902323, - -69.276947 - ], - [ - 31.083422, - -69.773895 - ], - [ - 23.246756, - -70.546417 - ], - [ - 18.036489, - -69.969177 - ], - [ - 15.705927, - -70.278624 - ], - [ - 14.165644, - -70.158905 - ], - [ - 12.740351, - -70.281128 - ], - [ - 12.046747, - -70.717514 - ], - [ - 11.270624, - -70.710281 - ], - [ - 8.682856, - -70.074463 - ], - [ - 9.090387, - -70.318344 - ], - [ - 8.480646, - -70.477249 - ], - [ - 7.55731, - -70.16835 - ], - [ - 6.699522, - -70.586395 - ], - [ - 2.80316, - -70.846954 - ], - [ - -0.297499, - -71.65889 - ], - [ - -0.923056, - -71.589172 - ], - [ - -0.777222, - -71.389175 - ], - [ - -1.053333, - -71.276672 - ], - [ - -2.093889, - -71.486115 - ], - [ - -2.261667, - -71.170837 - ], - [ - -6.009167, - -71.4189 - ], - [ - -6.103889, - -71.144455 - ], - [ - -5.441111, - -70.882507 - ], - [ - -6.021111, - -70.699722 - ], - [ - -7.723333, - -71.429169 - ], - [ - -7.337778, - -71.691956 - ], - [ - -8.366945, - -71.825836 - ], - [ - -8.930834, - -71.233612 - ], - [ - -9.878714, - -70.90097 - ], - [ - -10.43, - -70.986954 - ], - [ - -10.048613, - -71.111389 - ], - [ - -11.019445, - -71.657227 - ], - [ - -11.592779, - -71.561951 - ], - [ - -11.556507, - -71.278824 - ], - [ - -12.276945, - -71.377502 - ], - [ - -11.325834, - -71.965012 - ], - [ - -11.657778, - -72.32695 - ], - [ - -13.406113, - -72.823059 - ], - [ - -14.469168, - -72.796677 - ], - [ - -13.731112, - -73.020844 - ], - [ - -16.023613, - -73.320282 - ], - [ - -16.898891, - -73.773056 - ], - [ - -16.069168, - -73.747513 - ], - [ - -16.91917, - -73.97612 - ], - [ - -16.326115, - -74.063904 - ], - [ - -13.704723, - -73.941956 - ], - [ - -17.147224, - -74.784729 - ], - [ - -18.25639, - -75.495834 - ], - [ - -17.758057, - -75.729736 - ], - [ - -28.305279, - -76.565292 - ], - [ - -33.886116, - -77.660568 - ], - [ - -36.30278, - -78.779175 - ], - [ - -33.001114, - -79.453903 - ], - [ - -27.085556, - -79.013336 - ], - [ - -30.210556, - -79.666672 - ], - [ - -28.0625, - -80.00473 - ], - [ - -28.319447, - -80.276947 - ], - [ - -41.488892, - -81.383347 - ], - [ - -43.08445, - -81.851395 - ], - [ - -53.725838, - -82.150284 - ], - [ - -58.210838, - -83.03334 - ], - [ - -59.079727, - -82.965836 - ], - [ - -58.783058, - -82.645004 - ], - [ - -59.648056, - -82.433899 - ], - [ - -74.693893, - -80.697235 - ], - [ - -76.089447, - -80.197235 - ], - [ - -79.849457, - -79.954453 - ], - [ - -77.321945, - -80.011398 - ], - [ - -76.083618, - -79.645844 - ], - [ - -77.029449, - -79.279449 - ], - [ - -80.202789, - -79.228897 - ], - [ - -80.635559, - -79.619171 - ], - [ - -84.107788, - -78.36084 - ], - [ - -78.957504, - -78.813339 - ], - [ - -77.487503, - -78.526672 - ], - [ - -81.470001, - -77.897232 - ], - [ - -80.60556, - -77.886398 - ], - [ - -81.496948, - -77.657791 - ], - [ - -74.853348, - -78.141113 - ], - [ - -72.839737, - -77.640015 - ], - [ - -75.632782, - -77.508621 - ], - [ - -78.476669, - -76.407227 - ], - [ - -77.771666, - -75.9189 - ], - [ - -76.380569, - -76.065002 - ], - [ - -75.444458, - -76.546402 - ], - [ - -70.476395, - -76.707779 - ], - [ - -69.385284, - -76.296112 - ], - [ - -63.429169, - -75.450562 - ], - [ - -63.094727, - -75.325562 - ], - [ - -64.447784, - -75.297791 - ], - [ - -63.09584, - -75.130844 - ], - [ - -63.989449, - -75.008057 - ], - [ - -63.051392, - -74.895279 - ], - [ - -63.245834, - -74.604172 - ], - [ - -62.531395, - -74.982513 - ], - [ - -61.887505, - -74.83223 - ], - [ - -61.75528, - -74.306395 - ], - [ - -61.036392, - -74.098343 - ], - [ - -61.762505, - -73.913895 - ], - [ - -60.587784, - -73.706116 - ], - [ - -61.609169, - -73.546112 - ], - [ - -61.83667, - -73.366394 - ], - [ - -61.436394, - -73.343613 - ], - [ - -61.919449, - -73.143066 - ], - [ - -60.599724, - -73.360291 - ], - [ - -59.849449, - -73.233063 - ], - [ - -59.77417, - -72.900284 - ], - [ - -60.617226, - -73.028624 - ], - [ - -60.616112, - -72.643341 - ], - [ - -61.270836, - -72.700287 - ], - [ - -61.549728, - -72.422791 - ], - [ - -60.852501, - -72.388901 - ], - [ - -61.074722, - -72.16362 - ], - [ - -60.865837, - -72.003067 - ], - [ - -62.552504, - -72.047501 - ], - [ - -60.904167, - -71.736389 - ], - [ - -61.929726, - -71.656403 - ], - [ - -60.942505, - -71.15834 - ], - [ - -61.38028, - -70.815292 - ], - [ - -62.128891, - -70.86557 - ], - [ - -61.484451, - -70.520279 - ], - [ - -62.490837, - -70.380569 - ], - [ - -61.940834, - -70.229172 - ], - [ - -62.635002, - -69.853348 - ], - [ - -62.475838, - -69.453064 - ], - [ - -63.638893, - -69.227234 - ], - [ - -63.368057, - -69.050003 - ], - [ - -63.706673, - -68.742508 - ], - [ - -63.210556, - -68.786957 - ], - [ - -63.974167, - -68.536392 - ], - [ - -62.72834, - -68.410004 - ], - [ - -64.390015, - -68.513336 - ], - [ - -63.85778, - -68.842789 - ], - [ - -65.313339, - -68.711395 - ], - [ - -65.091675, - -68.441956 - ], - [ - -65.59668, - -68.347504 - ], - [ - -64.768341, - -68.122787 - ], - [ - -65.723618, - -68.148056 - ], - [ - -65.329178, - -67.974731 - ], - [ - -65.617783, - -67.880005 - ], - [ - -65.290283, - -67.67334 - ], - [ - -65.613892, - -67.559174 - ], - [ - -64.770569, - -67.31723 - ], - [ - -64.837784, - -66.951401 - ], - [ - -63.743614, - -66.891678 - ], - [ - -64.196671, - -66.720291 - ], - [ - -63.67556, - -66.218338 - ], - [ - -62.608894, - -66.728348 - ], - [ - -62.443611, - -66.430283 - ], - [ - -62.885284, - -66.262787 - ], - [ - -62.181395, - -66.180283 - ], - [ - -61.71389, - -66.469177 - ], - [ - -61.416672, - -66.12529 - ], - [ - -60.936951, - -66.26001 - ], - [ - -60.557503, - -65.945282 - ], - [ - -61.87278, - -66.171951 - ], - [ - -62.459724, - -65.904724 - ], - [ - -61.68306, - -65.53862 - ], - [ - -62.089729, - -65.440292 - ], - [ - -61.95945, - -65.180283 - ], - [ - -59.918892, - -64.412231 - ], - [ - -59.50528, - -64.537231 - ], - [ - -59.493057, - -64.316116 - ], - [ - -58.778641, - -64.535812 - ], - [ - -58.600838, - -63.948891 - ], - [ - -57.380005, - -63.460556 - ], - [ - -56.72139, - -63.594727 - ], - [ - -56.946396, - -63.450562 - ] - ] - ], - [ - [ - [ - -55.470001, - -63.143333 - ], - [ - -56.543335, - -63.364449 - ], - [ - -55.002785, - -63.28389 - ], - [ - -55.470001, - -63.143333 - ] - ] - ], - [ - [ - [ - -56.265007, - -63.169449 - ], - [ - -55.97084, - -63.054451 - ], - [ - -56.584724, - -63.035004 - ], - [ - -56.265007, - -63.169449 - ] - ] - ], - [ - [ - [ - -60.47184, - -62.900898 - ], - [ - -60.742481, - -62.973991 - ], - [ - -60.580002, - -63.008057 - ], - [ - -60.47184, - -62.900898 - ] - ] - ], - [ - [ - [ - -62.691391, - -63.095001 - ], - [ - -62.260559, - -62.881668 - ], - [ - -62.489449, - -62.921112 - ], - [ - -62.691391, - -63.095001 - ] - ] - ], - [ - [ - [ - -61.358612, - -62.813614 - ], - [ - -61.150558, - -62.708618 - ], - [ - -61.479172, - -62.753891 - ], - [ - -61.358612, - -62.813614 - ] - ] - ], - [ - [ - [ - -60.51667, - -62.553894 - ], - [ - -61.172501, - -62.575005 - ], - [ - -59.816948, - -62.614174 - ], - [ - -60.51667, - -62.553894 - ] - ] - ], - [ - [ - [ - -59.665558, - -62.556946 - ], - [ - -59.542229, - -62.498611 - ], - [ - -59.979172, - -62.450836 - ], - [ - -59.665558, - -62.556946 - ] - ] - ], - [ - [ - [ - -59.439171, - -62.447226 - ], - [ - -59.327507, - -62.371391 - ], - [ - -59.678337, - -62.363892 - ], - [ - -59.439171, - -62.447226 - ] - ] - ], - [ - [ - [ - -58.9925, - -62.347778 - ], - [ - -58.816391, - -62.298058 - ], - [ - -59.208893, - -62.285561 - ], - [ - -58.9925, - -62.347778 - ] - ] - ], - [ - [ - [ - -57.621948, - -61.909729 - ], - [ - -58.400284, - -61.938614 - ], - [ - -58.986389, - -62.214447 - ], - [ - -57.621948, - -61.909729 - ] - ] - ], - [ - [ - [ - -55.092224, - -61.098061 - ], - [ - -55.494446, - -61.126671 - ], - [ - -54.646393, - -61.092781 - ], - [ - -55.092224, - -61.098061 - ] - ] - ], - [ - [ - [ - -54.046951, - -61.269447 - ], - [ - -54.032227, - -61.088058 - ], - [ - -54.200562, - -61.236115 - ], - [ - -54.046951, - -61.269447 - ] - ] - ], - [ - [ - [ - -44.428062, - -60.723335 - ], - [ - -44.531395, - -60.67556 - ], - [ - -44.784729, - -60.734451 - ], - [ - -44.428062, - -60.723335 - ] - ] - ], - [ - [ - [ - -45.00528, - -60.725281 - ], - [ - -45.025841, - -60.641945 - ], - [ - -45.071114, - -60.631111 - ], - [ - -45.00528, - -60.725281 - ] - ] - ], - [ - [ - [ - -45.550835, - -60.547226 - ], - [ - -46.023613, - -60.61084 - ], - [ - -45.145279, - -60.766113 - ], - [ - -45.550835, - -60.547226 - ] - ] - ] - ] - }, - "name" : "Antarctica", - "iso2" : "AQ", - "iso3" : "ATA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "1L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 3.361389, - -54.462784 - ], - [ - 3.483611, - -54.402229 - ], - [ - 3.366944, - -54.399727 - ], - [ - 3.361389, - -54.462784 - ] - ] - ] - }, - "name" : "Bouvet Island", - "iso2" : "BV", - "iso3" : "BVT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "1b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 69.812777, - -49.678062 - ], - [ - 69.795, - -49.647224 - ], - [ - 69.761934, - -49.65889 - ], - [ - 69.812777, - -49.678062 - ] - ] - ], - [ - [ - [ - 68.789156, - -49.361671 - ], - [ - 68.801668, - -49.328339 - ], - [ - 68.644442, - -49.343613 - ], - [ - 68.789156, - -49.361671 - ] - ] - ], - [ - [ - [ - 69.606661, - -49.207779 - ], - [ - 69.678331, - -49.153061 - ], - [ - 69.533052, - -49.196671 - ], - [ - 69.606661, - -49.207779 - ] - ] - ], - [ - [ - [ - 69.264711, - -49.091118 - ], - [ - 69.368883, - -48.886391 - ], - [ - 69.216387, - -48.967224 - ], - [ - 69.264711, - -49.091118 - ] - ] - ], - [ - [ - [ - 69.152224, - -48.98806 - ], - [ - 69.242495, - -48.892502 - ], - [ - 69.222216, - -48.856117 - ], - [ - 69.152224, - -48.98806 - ] - ] - ], - [ - [ - [ - 69.491106, - -48.882782 - ], - [ - 69.517214, - -48.860283 - ], - [ - 69.401934, - -48.83445 - ], - [ - 69.491106, - -48.882782 - ] - ] - ], - [ - [ - [ - 69.001101, - -48.797501 - ], - [ - 68.797777, - -49.721947 - ], - [ - 69.643328, - -49.501396 - ], - [ - 70.253603, - -49.691116 - ], - [ - 69.774721, - -49.394173 - ], - [ - 70.566668, - -49.245003 - ], - [ - 70.323885, - -49.050835 - ], - [ - 69.582766, - -49.304451 - ], - [ - 69.282488, - -49.186394 - ], - [ - 69.621935, - -48.978058 - ], - [ - 69.217211, - -49.125557 - ], - [ - 69.103884, - -48.995834 - ], - [ - 69.063051, - -49.119728 - ], - [ - 69.001101, - -48.797501 - ] - ], - [ - [ - 69.904436, - -49.477226 - ], - [ - 69.84305, - -49.45945 - ], - [ - 69.825274, - -49.425835 - ], - [ - 69.904436, - -49.477226 - ] - ], - [ - [ - 70.011934, - -49.571945 - ], - [ - 69.835543, - -49.508057 - ], - [ - 69.921099, - -49.513062 - ], - [ - 70.011934, - -49.571945 - ] - ] - ], - [ - [ - [ - 68.675554, - -48.64389 - ], - [ - 68.668612, - -48.628059 - ], - [ - 68.606112, - -48.639725 - ], - [ - 68.675554, - -48.64389 - ] - ] - ], - [ - [ - [ - 68.797777, - -48.615004 - ], - [ - 68.824709, - -48.570557 - ], - [ - 68.787218, - -48.577225 - ], - [ - 68.797777, - -48.615004 - ] - ] - ], - [ - [ - [ - 52.254442, - -46.457504 - ], - [ - 52.257219, - -46.378059 - ], - [ - 52.088335, - -46.411118 - ], - [ - 52.254442, - -46.457504 - ] - ] - ], - [ - [ - [ - 51.819445, - -46.453613 - ], - [ - 51.780001, - -46.341118 - ], - [ - 51.651941, - -46.374168 - ], - [ - 51.819445, - -46.453613 - ] - ] - ], - [ - [ - [ - 50.272219, - -46.131393 - ], - [ - 50.27389, - -46.050835 - ], - [ - 50.176943, - -46.0625 - ], - [ - 50.272219, - -46.131393 - ] - ] - ], - [ - [ - [ - 77.529436, - -38.737785 - ], - [ - 77.506105, - -38.703896 - ], - [ - 77.499712, - -38.731117 - ], - [ - 77.529436, - -38.737785 - ] - ] - ], - [ - [ - [ - 77.554155, - -37.902779 - ], - [ - 77.554445, - -37.822502 - ], - [ - 77.483889, - -37.835281 - ], - [ - 77.554155, - -37.902779 - ] - ] - ], - [ - [ - [ - 42.757776, - -17.075001 - ], - [ - 42.756945, - -17.059723 - ], - [ - 42.721109, - -17.055557 - ], - [ - 42.757776, - -17.075001 - ] - ] - ] - ] - }, - "name" : "French Southern and Antarctic Lands", - "iso2" : "TF", - "iso3" : "ATF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "1r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 73.77388, - -53.125031 - ], - [ - 73.234436, - -52.987785 - ], - [ - 73.474442, - -53.194168 - ], - [ - 73.77388, - -53.125031 - ] - ] - ] - }, - "name" : "Heard Island and McDonald Islands", - "iso2" : "HM", - "iso3" : "HMD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "171E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 72.487198, - -7.381944 - ], - [ - 72.448868, - -7.234445 - ], - [ - 72.359146, - -7.265278 - ], - [ - 72.487198, - -7.381944 - ] - ] - ], - [ - [ - [ - 71.348328, - -6.658889 - ], - [ - 71.365265, - -6.651667 - ], - [ - 71.343323, - -6.656667 - ], - [ - 71.348328, - -6.658889 - ] - ] - ], - [ - [ - [ - 71.266388, - -6.391945 - ], - [ - 71.266098, - -6.366666 - ], - [ - 71.258606, - -6.382222 - ], - [ - 71.266388, - -6.391945 - ] - ] - ], - [ - [ - [ - 71.347763, - -6.206944 - ], - [ - 71.360809, - -6.174167 - ], - [ - 71.338593, - -6.195833 - ], - [ - 71.347763, - -6.206944 - ] - ] - ], - [ - [ - [ - 71.782486, - -5.440277 - ], - [ - 71.766388, - -5.429722 - ], - [ - 71.759995, - -5.431389 - ], - [ - 71.782486, - -5.440277 - ] - ] - ], - [ - [ - [ - 72.216385, - -5.362222 - ], - [ - 72.208603, - -5.348056 - ], - [ - 72.207764, - -5.354445 - ], - [ - 72.216385, - -5.362222 - ] - ] - ], - [ - [ - [ - 72.232483, - -5.319722 - ], - [ - 72.228043, - -5.315833 - ], - [ - 72.2211, - -5.335556 - ], - [ - 72.232483, - -5.319722 - ] - ] - ], - [ - [ - [ - 71.742203, - -5.291111 - ], - [ - 71.748596, - -5.265556 - ], - [ - 71.74054, - -5.271111 - ], - [ - 71.742203, - -5.291111 - ] - ] - ], - [ - [ - [ - 71.869431, - -5.257778 - ], - [ - 71.882202, - -5.256111 - ], - [ - 71.870255, - -5.249722 - ], - [ - 71.869431, - -5.257778 - ] - ] - ] - ] - }, - "name" : "British Indian Ocean Territory", - "iso2" : "IO", - "iso3" : "IOT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "2L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 105.701401, - -10.51097 - ], - [ - 105.736603, - -10.38408 - ], - [ - 105.628998, - -10.43731 - ], - [ - 105.701401, - -10.51097 - ] - ] - ] - }, - "name" : "Christmas Island", - "iso2" : "CX", - "iso3" : "CXR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "2b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -160.021149, - -0.398056 - ], - [ - -160.017792, - -0.374722 - ], - [ - -160.048615, - -0.383611 - ], - [ - -160.021149, - -0.398056 - ] - ] - ], - [ - [ - [ - -176.456146, - 0.215833 - ], - [ - -176.453918, - 0.226111 - ], - [ - -176.468323, - 0.222222 - ], - [ - -176.456146, - 0.215833 - ] - ] - ], - [ - [ - [ - -176.632202, - 0.793055 - ], - [ - -176.643097, - 0.812778 - ], - [ - -176.64447, - 0.795555 - ], - [ - -176.632202, - 0.793055 - ] - ] - ], - [ - [ - [ - -169.522522, - 16.728882 - ], - [ - -169.531708, - 16.732491 - ], - [ - -169.543884, - 16.726379 - ], - [ - -169.522522, - 16.728882 - ] - ] - ], - [ - [ - [ - 166.646362, - 19.279442 - ], - [ - 166.627594, - 19.324577 - ], - [ - 166.607452, - 19.304996 - ], - [ - 166.646362, - 19.279442 - ] - ] - ], - [ - [ - [ - -177.334442, - 28.194157 - ], - [ - -177.317505, - 28.200829 - ], - [ - -177.321686, - 28.213608 - ], - [ - -177.334442, - 28.194157 - ] - ] - ], - [ - [ - [ - -177.388062, - 28.186378 - ], - [ - -177.358032, - 28.219162 - ], - [ - -177.389771, - 28.212769 - ], - [ - -177.388062, - 28.186378 - ] - ] - ] - ] - }, - "name" : "United States Minor Outlying Islands", - "iso2" : "UM", - "iso3" : "UMI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "2r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 169.846069, - -20.252224 - ], - [ - 169.886658, - -20.170555 - ], - [ - 169.745514, - -20.149445 - ], - [ - 169.846069, - -20.252224 - ] - ] - ], - [ - [ - [ - 170.217468, - -19.559444 - ], - [ - 170.232452, - -19.52417 - ], - [ - 170.205231, - -19.525002 - ], - [ - 170.217468, - -19.559444 - ] - ] - ], - [ - [ - [ - 169.498291, - -19.545002 - ], - [ - 169.232452, - -19.350277 - ], - [ - 169.349701, - -19.636944 - ], - [ - 169.498291, - -19.545002 - ] - ] - ], - [ - [ - [ - 169.594971, - -19.273613 - ], - [ - 169.594971, - -19.231388 - ], - [ - 169.578583, - -19.262501 - ], - [ - 169.594971, - -19.273613 - ] - ] - ], - [ - [ - [ - 169.305237, - -18.978886 - ], - [ - 169.018585, - -18.639999 - ], - [ - 168.989136, - -18.880833 - ], - [ - 169.305237, - -18.978886 - ] - ] - ], - [ - [ - [ - 168.574677, - -17.692776 - ], - [ - 168.311096, - -17.531391 - ], - [ - 168.148041, - -17.719719 - ], - [ - 168.574677, - -17.692776 - ] - ] - ], - [ - [ - [ - 168.399139, - -16.78278 - ], - [ - 168.148315, - -16.580555 - ], - [ - 168.168579, - -16.805279 - ], - [ - 168.399139, - -16.78278 - ] - ] - ], - [ - [ - [ - 168.231079, - -16.516113 - ], - [ - 168.242462, - -16.429165 - ], - [ - 168.201355, - -16.500557 - ], - [ - 168.231079, - -16.516113 - ] - ] - ], - [ - [ - [ - 168.21524, - -16.174168 - ], - [ - 167.917755, - -16.260281 - ], - [ - 168.304138, - -16.339443 - ], - [ - 168.21524, - -16.174168 - ] - ] - ], - [ - [ - [ - 167.416656, - -16.110001 - ], - [ - 167.177765, - -15.899168 - ], - [ - 167.41748, - -16.532223 - ], - [ - 167.772491, - -16.535 - ], - [ - 167.416656, - -16.110001 - ] - ] - ], - [ - [ - [ - 167.209137, - -15.755556 - ], - [ - 167.227173, - -15.637779 - ], - [ - 167.077454, - -15.640278 - ], - [ - 167.209137, - -15.755556 - ] - ] - ], - [ - [ - [ - 167.258606, - -15.588055 - ], - [ - 167.276917, - -15.546112 - ], - [ - 167.239136, - -15.574444 - ], - [ - 167.258606, - -15.588055 - ] - ] - ], - [ - [ - [ - 167.202454, - -15.60861 - ], - [ - 167.21051, - -15.580278 - ], - [ - 167.190521, - -15.529167 - ], - [ - 167.16275, - -15.535833 - ], - [ - 167.110229, - -15.59 - ], - [ - 167.202454, - -15.60861 - ] - ] - ], - [ - [ - [ - 168.210785, - -15.998055 - ], - [ - 168.266663, - -15.870832 - ], - [ - 168.15332, - -15.492222 - ], - [ - 168.210785, - -15.998055 - ] - ] - ], - [ - [ - [ - 167.855804, - -15.485832 - ], - [ - 168.002197, - -15.290001 - ], - [ - 167.668304, - -15.446945 - ], - [ - 167.855804, - -15.485832 - ] - ] - ], - [ - [ - [ - 167.175262, - -15.266666 - ], - [ - 167.179413, - -15.256668 - ], - [ - 167.163605, - -15.254168 - ], - [ - 167.175262, - -15.266666 - ] - ] - ], - [ - [ - [ - 167.14444, - -14.971388 - ], - [ - 167.151093, - -14.957777 - ], - [ - 167.096344, - -14.932501 - ], - [ - 167.14444, - -14.971388 - ] - ] - ], - [ - [ - [ - 168.169128, - -15.395834 - ], - [ - 168.190247, - -15.214722 - ], - [ - 168.105804, - -14.92 - ], - [ - 168.169128, - -15.395834 - ] - ] - ], - [ - [ - [ - 166.802765, - -15.157501 - ], - [ - 166.592743, - -14.624443 - ], - [ - 166.761932, - -15.642778 - ], - [ - 166.814697, - -15.663055 - ], - [ - 166.902771, - -15.582777 - ], - [ - 167.071625, - -15.598055 - ], - [ - 167.151154, - -15.520343 - ], - [ - 167.237717, - -15.524258 - ], - [ - 167.058868, - -14.945 - ], - [ - 166.802765, - -15.157501 - ] - ] - ], - [ - [ - [ - 167.527466, - -14.326666 - ], - [ - 167.588287, - -14.172777 - ], - [ - 167.413605, - -14.178888 - ], - [ - 167.527466, - -14.326666 - ] - ] - ], - [ - [ - [ - 167.479126, - -13.948334 - ], - [ - 167.577759, - -13.847221 - ], - [ - 167.476624, - -13.706667 - ], - [ - 167.479126, - -13.948334 - ] - ] - ], - [ - [ - [ - 167.705536, - -13.675001 - ], - [ - 167.687744, - -13.621666 - ], - [ - 167.623566, - -13.691944 - ], - [ - 167.705536, - -13.675001 - ] - ] - ], - [ - [ - [ - 167.347198, - -13.56139 - ], - [ - 167.322205, - -13.486944 - ], - [ - 167.293304, - -13.52639 - ], - [ - 167.347198, - -13.56139 - ] - ] - ], - [ - [ - [ - 166.67746, - -13.452499 - ], - [ - 166.694122, - -13.415834 - ], - [ - 166.650818, - -13.409723 - ], - [ - 166.67746, - -13.452499 - ] - ] - ], - [ - [ - [ - 166.631622, - -13.381388 - ], - [ - 166.641357, - -13.356943 - ], - [ - 166.596069, - -13.334166 - ], - [ - 166.631622, - -13.381388 - ] - ] - ], - [ - [ - [ - 166.620239, - -13.271389 - ], - [ - 166.638306, - -13.221666 - ], - [ - 166.587463, - -13.223055 - ], - [ - 166.620239, - -13.271389 - ] - ] - ], - [ - [ - [ - 166.559692, - -13.186388 - ], - [ - 166.564972, - -13.091944 - ], - [ - 166.521362, - -13.070555 - ], - [ - 166.559692, - -13.186388 - ] - ] - ] - ] - }, - "name" : "Vanuatu", - "iso2" : "VU", - "iso3" : "VUT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "271E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 7.466389, - 4.445277 - ], - [ - 7.411944, - 4.488055 - ], - [ - 7.335833, - 4.443055 - ], - [ - 7.466389, - 4.445277 - ] - ] - ], - [ - [ - [ - 7.20361, - 4.380555 - ], - [ - 7.316667, - 4.4725 - ], - [ - 7.22611, - 4.52 - ], - [ - 7.20361, - 4.380555 - ] - ] - ], - [ - [ - [ - 13.62512, - 13.718338 - ], - [ - 12.459166, - 13.066111 - ], - [ - 10.724165, - 13.386389 - ], - [ - 9.634932, - 12.802435 - ], - [ - 7.815, - 13.352777 - ], - [ - 6.933332, - 12.997221 - ], - [ - 6.423055, - 13.605276 - ], - [ - 5.874722, - 13.749443 - ], - [ - 4.1425, - 13.476944 - ], - [ - 3.604459, - 11.693274 - ], - [ - 3.855, - 10.584999 - ], - [ - 3.095, - 9.090555 - ], - [ - 2.789444, - 9.043888 - ], - [ - 2.719606, - 6.365505 - ], - [ - 3.807222, - 6.612778 - ], - [ - 3.388611, - 6.443333 - ], - [ - 4.525833, - 6.304999 - ], - [ - 5.175278, - 5.575555 - ], - [ - 5.501111, - 5.620555 - ], - [ - 5.257222, - 5.435555 - ], - [ - 5.639722, - 5.536111 - ], - [ - 5.345277, - 5.33 - ], - [ - 5.451944, - 4.923055 - ], - [ - 6.104166, - 4.272778 - ], - [ - 6.694166, - 4.33 - ], - [ - 6.727221, - 4.605 - ], - [ - 6.848611, - 4.348332 - ], - [ - 6.768055, - 4.774722 - ], - [ - 7.005555, - 4.369444 - ], - [ - 6.962222, - 4.725277 - ], - [ - 7.073055, - 4.434722 - ], - [ - 7.071666, - 4.753888 - ], - [ - 7.676944, - 4.496388 - ], - [ - 8.591738, - 4.810932 - ], - [ - 8.865276, - 5.841944 - ], - [ - 9.795555, - 6.801666 - ], - [ - 10.615, - 7.06861 - ], - [ - 11.340277, - 6.440833 - ], - [ - 11.864166, - 7.084722 - ], - [ - 12.253887, - 8.408054 - ], - [ - 12.796944, - 8.769722 - ], - [ - 13.80722, - 11.055832 - ], - [ - 14.646387, - 11.575832 - ], - [ - 14.645277, - 12.188332 - ], - [ - 14.174444, - 12.396666 - ], - [ - 14.07472, - 13.081665 - ], - [ - 13.62512, - 13.718338 - ] - ] - ] - ] - }, - "name" : "Nigeria", - "iso2" : "NG", - "iso3" : "NGA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "3L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 3.764166, - 51.345278 - ], - [ - 4.238897, - 51.350428 - ], - [ - 3.370867, - 51.373857 - ], - [ - 3.764166, - 51.345278 - ] - ] - ], - [ - [ - [ - 5.763887, - 52.415277 - ], - [ - 5.855558, - 52.492495 - ], - [ - 5.855558, - 52.544168 - ], - [ - 5.643614, - 52.601107 - ], - [ - 5.135557, - 52.380274 - ], - [ - 5.428614, - 52.264162 - ], - [ - 5.534166, - 52.283335 - ], - [ - 5.573057, - 52.368052 - ], - [ - 5.763887, - 52.415277 - ] - ] - ], - [ - [ - [ - 5.423334, - 52.636385 - ], - [ - 5.039495, - 52.633654 - ], - [ - 5.051794, - 52.394117 - ], - [ - 5.423334, - 52.636385 - ] - ] - ], - [ - [ - [ - 4.764723, - 52.990274 - ], - [ - 4.883333, - 53.184168 - ], - [ - 4.713888, - 53.056108 - ], - [ - 4.764723, - 52.990274 - ] - ] - ], - [ - [ - [ - 4.957224, - 53.23778 - ], - [ - 5.10639, - 53.303331 - ], - [ - 4.879999, - 53.214441 - ], - [ - 4.957224, - 53.23778 - ] - ] - ], - [ - [ - [ - 7.208364, - 53.242807 - ], - [ - 6.871668, - 53.416109 - ], - [ - 4.734167, - 52.955553 - ], - [ - 4.58, - 52.471666 - ], - [ - 5.028334, - 52.375834 - ], - [ - 5.033335, - 52.634165 - ], - [ - 5.304167, - 52.706942 - ], - [ - 5.100279, - 52.948053 - ], - [ - 5.364168, - 53.070276 - ], - [ - 5.420557, - 52.964441 - ], - [ - 5.368612, - 52.877779 - ], - [ - 5.718351, - 52.838022 - ], - [ - 5.599169, - 52.757776 - ], - [ - 5.599443, - 52.658609 - ], - [ - 5.855001, - 52.606913 - ], - [ - 5.878057, - 52.509439 - ], - [ - 5.774168, - 52.405275 - ], - [ - 5.624723, - 52.354166 - ], - [ - 5.533609, - 52.267221 - ], - [ - 5.424444, - 52.248606 - ], - [ - 4.584433, - 52.461504 - ], - [ - 3.865557, - 51.814997 - ], - [ - 4.167753, - 51.685572 - ], - [ - 3.687502, - 51.709719 - ], - [ - 4.286112, - 51.44861 - ], - [ - 3.440832, - 51.53583 - ], - [ - 4.252371, - 51.375147 - ], - [ - 5.041391, - 51.486666 - ], - [ - 5.849173, - 51.156382 - ], - [ - 5.640833, - 50.839724 - ], - [ - 6.011801, - 50.757273 - ], - [ - 5.864721, - 51.046106 - ], - [ - 6.222223, - 51.46583 - ], - [ - 5.9625, - 51.807779 - ], - [ - 6.82889, - 51.965555 - ], - [ - 7.065557, - 52.385828 - ], - [ - 6.68889, - 52.549166 - ], - [ - 7.051668, - 52.64361 - ], - [ - 7.208364, - 53.242807 - ] - ] - ], - [ - [ - [ - 5.213057, - 53.35 - ], - [ - 5.581945, - 53.447779 - ], - [ - 5.16889, - 53.373888 - ], - [ - 5.213057, - 53.35 - ] - ] - ], - [ - [ - [ - 5.699167, - 53.462778 - ], - [ - 5.633055, - 53.441668 - ], - [ - 5.956114, - 53.462778 - ], - [ - 5.699167, - 53.462778 - ] - ] - ], - [ - [ - [ - 6.135, - 53.453608 - ], - [ - 6.341112, - 53.502779 - ], - [ - 6.14889, - 53.497499 - ], - [ - 6.135, - 53.453608 - ] - ] - ] - ] - }, - "name" : "Netherlands", - "iso2" : "NL", - "iso3" : "NLD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "3b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 5.336946, - 61.592775 - ], - [ - 5.148611, - 61.59305 - ], - [ - 5.27389, - 61.557775 - ], - [ - 5.130835, - 61.526667 - ], - [ - 5.804998, - 61.452776 - ], - [ - 4.948889, - 61.412775 - ], - [ - 5.634169, - 61.360552 - ], - [ - 4.953333, - 61.258608 - ], - [ - 5.397223, - 61.068605 - ], - [ - 5.749166, - 61.152773 - ], - [ - 6.498335, - 61.130274 - ], - [ - 6.520407, - 61.246202 - ], - [ - 6.703611, - 61.401384 - ], - [ - 6.564165, - 61.218332 - ], - [ - 6.955557, - 61.109995 - ], - [ - 7.278055, - 61.158609 - ], - [ - 7.353891, - 61.189997 - ], - [ - 7.273054, - 61.278887 - ], - [ - 7.309168, - 61.362497 - ], - [ - 7.574446, - 61.479441 - ], - [ - 7.303888, - 61.294443 - ], - [ - 7.428614, - 61.181391 - ], - [ - 7.000834, - 61.096109 - ], - [ - 7.11389, - 60.860277 - ], - [ - 6.590555, - 61.151384 - ], - [ - 6.372225, - 61.061945 - ], - [ - 5.920835, - 61.123056 - ], - [ - 5.419443, - 61.025553 - ], - [ - 5.007776, - 61.037218 - ], - [ - 5.533609, - 60.872499 - ], - [ - 5.236387, - 60.77389 - ], - [ - 5.433611, - 60.627222 - ], - [ - 4.928888, - 60.798883 - ], - [ - 5.261389, - 60.553057 - ], - [ - 5.700834, - 60.694162 - ], - [ - 5.702501, - 60.454439 - ], - [ - 5.142221, - 60.346384 - ], - [ - 5.411112, - 60.129717 - ], - [ - 5.734446, - 60.386942 - ], - [ - 5.747225, - 59.986666 - ], - [ - 6.220835, - 60.4125 - ], - [ - 7.108057, - 60.494165 - ], - [ - 6.521112, - 60.076662 - ], - [ - 6.640554, - 60.410273 - ], - [ - 6.204721, - 60.295557 - ], - [ - 5.698336, - 59.832773 - ], - [ - 6.306391, - 59.843332 - ], - [ - 5.178057, - 59.508333 - ], - [ - 5.51111, - 59.274996 - ], - [ - 6.468889, - 59.555277 - ], - [ - 5.866388, - 59.072222 - ], - [ - 6.623335, - 59.051668 - ], - [ - 6.168612, - 58.832224 - ], - [ - 5.552778, - 59.032778 - ], - [ - 5.457777, - 58.74444 - ], - [ - 6.767221, - 58.238329 - ], - [ - 6.597776, - 58.070276 - ], - [ - 8.211111, - 58.115557 - ], - [ - 8.248056, - 58.201944 - ], - [ - 8.510279, - 58.270273 - ], - [ - 8.691946, - 58.377222 - ], - [ - 8.712645, - 58.441938 - ], - [ - 8.995832, - 58.59833 - ], - [ - 9.191111, - 58.658335 - ], - [ - 9.409445, - 58.841387 - ], - [ - 9.693056, - 58.983057 - ], - [ - 9.540834, - 59.114717 - ], - [ - 10.231112, - 59.038607 - ], - [ - 10.51639, - 59.310831 - ], - [ - 10.222223, - 59.727495 - ], - [ - 10.558054, - 59.543055 - ], - [ - 10.527498, - 59.875277 - ], - [ - 10.748335, - 59.886942 - ], - [ - 10.557779, - 59.728609 - ], - [ - 10.797499, - 59.186388 - ], - [ - 11.429193, - 58.987642 - ], - [ - 11.751112, - 59.090273 - ], - [ - 11.815962, - 59.846102 - ], - [ - 12.494165, - 60.111109 - ], - [ - 12.594446, - 60.516939 - ], - [ - 12.210001, - 61.002497 - ], - [ - 12.856112, - 61.362497 - ], - [ - 12.124445, - 61.728609 - ], - [ - 12.295832, - 62.261667 - ], - [ - 11.936388, - 63.272219 - ], - [ - 12.139444, - 63.584162 - ], - [ - 12.938055, - 64.053331 - ], - [ - 13.988333, - 64.018053 - ], - [ - 14.116388, - 64.470552 - ], - [ - 13.6625, - 64.582766 - ], - [ - 14.493055, - 65.313601 - ], - [ - 14.504999, - 66.132494 - ], - [ - 15.468054, - 66.283876 - ], - [ - 15.36278, - 66.479998 - ], - [ - 16.353888, - 67.017778 - ], - [ - 16.085833, - 67.411654 - ], - [ - 16.726946, - 67.899157 - ], - [ - 17.884165, - 67.945543 - ], - [ - 18.090834, - 68.507769 - ], - [ - 19.937777, - 68.337496 - ], - [ - 20.350279, - 68.786654 - ], - [ - 20.096945, - 69.042223 - ], - [ - 20.580931, - 69.060305 - ], - [ - 21.320833, - 69.326113 - ], - [ - 22.398333, - 68.711107 - ], - [ - 23.976389, - 68.832491 - ], - [ - 24.934919, - 68.580812 - ], - [ - 25.76111, - 68.989168 - ], - [ - 25.945833, - 69.673326 - ], - [ - 26.449999, - 69.927217 - ], - [ - 28.165834, - 69.912218 - ], - [ - 29.176111, - 69.635271 - ], - [ - 28.784166, - 69.160555 - ], - [ - 28.957342, - 69.051622 - ], - [ - 30.103334, - 69.663057 - ], - [ - 30.910002, - 69.548876 - ], - [ - 30.854841, - 69.792315 - ], - [ - 29.486666, - 69.65555 - ], - [ - 29.737501, - 69.905275 - ], - [ - 29.365557, - 69.855272 - ], - [ - 29.671667, - 69.967501 - ], - [ - 28.612501, - 70.107775 - ], - [ - 31.078054, - 70.289156 - ], - [ - 29.036112, - 70.874163 - ], - [ - 28.527498, - 70.726656 - ], - [ - 28.038889, - 70.061937 - ], - [ - 28.335554, - 70.505556 - ], - [ - 27.851667, - 70.478884 - ], - [ - 28.295, - 70.71277 - ], - [ - 27.647501, - 70.605272 - ], - [ - 28.550833, - 70.968325 - ], - [ - 27.651667, - 71.113054 - ], - [ - 27.13611, - 70.95833 - ], - [ - 27.565554, - 70.80472 - ], - [ - 27.029444, - 70.474154 - ], - [ - 26.504999, - 70.363054 - ], - [ - 26.570276, - 70.93889 - ], - [ - 25.234724, - 70.089724 - ], - [ - 24.942499, - 70.08777 - ], - [ - 25.273054, - 70.398882 - ], - [ - 25.07361, - 70.500002 - ], - [ - 25.907778, - 70.88666 - ], - [ - 24.591944, - 70.963045 - ], - [ - 24.245554, - 70.777224 - ], - [ - 24.729166, - 70.621935 - ], - [ - 23.660002, - 70.42 - ], - [ - 23.311945, - 69.940828 - ], - [ - 22.287779, - 70.038881 - ], - [ - 22.950556, - 70.205553 - ], - [ - 21.300001, - 70.246935 - ], - [ - 22.096666, - 70.113329 - ], - [ - 21.797224, - 70.033602 - ], - [ - 22.101667, - 69.740831 - ], - [ - 21.307222, - 70.019716 - ], - [ - 20.48139, - 69.638887 - ], - [ - 20.853056, - 69.489168 - ], - [ - 19.946943, - 69.256105 - ], - [ - 20.304167, - 69.968325 - ], - [ - 19.679167, - 69.429445 - ], - [ - 19.75889, - 69.810274 - ], - [ - 18.944166, - 69.613054 - ], - [ - 19.440554, - 69.225832 - ], - [ - 18.256945, - 69.486376 - ], - [ - 18.152224, - 69.152224 - ], - [ - 17.425833, - 68.905001 - ], - [ - 17.792501, - 68.756945 - ], - [ - 17.236113, - 68.754717 - ], - [ - 17.680277, - 68.654436 - ], - [ - 16.459444, - 68.508043 - ], - [ - 17.552778, - 68.523882 - ], - [ - 17.200834, - 68.366945 - ], - [ - 17.354723, - 68.173876 - ], - [ - 16.317221, - 68.366945 - ], - [ - 16.805834, - 68.13138 - ], - [ - 16.103334, - 68.276934 - ], - [ - 16.715277, - 68.066668 - ], - [ - 16.207499, - 68.001665 - ], - [ - 16.495832, - 67.794161 - ], - [ - 16.217222, - 67.888048 - ], - [ - 15.972223, - 68.245546 - ], - [ - 15.283056, - 68.035555 - ], - [ - 15.961111, - 68.013048 - ], - [ - 15.871111, - 67.923326 - ], - [ - 14.758055, - 67.805269 - ], - [ - 15.899168, - 67.558886 - ], - [ - 15.541113, - 67.476946 - ], - [ - 15.640001, - 67.26639 - ], - [ - 15.035833, - 67.570543 - ], - [ - 14.361666, - 67.233889 - ], - [ - 15.739721, - 67.172487 - ], - [ - 13.546946, - 66.926668 - ], - [ - 13.990835, - 66.783602 - ], - [ - 13.228056, - 66.712496 - ], - [ - 13.725557, - 66.601946 - ], - [ - 12.969999, - 66.518328 - ], - [ - 13.53639, - 66.303606 - ], - [ - 13.027224, - 66.186098 - ], - [ - 14.146666, - 66.321657 - ], - [ - 12.673887, - 66.066942 - ], - [ - 12.959444, - 66.042223 - ], - [ - 12.931944, - 65.974993 - ], - [ - 13.121946, - 65.940279 - ], - [ - 13.175001, - 65.849154 - ], - [ - 12.667501, - 65.916933 - ], - [ - 12.78861, - 65.636385 - ], - [ - 12.360834, - 65.647768 - ], - [ - 12.638056, - 65.418886 - ], - [ - 12.248888, - 65.228609 - ], - [ - 12.939722, - 65.308321 - ], - [ - 12.624723, - 65.133608 - ], - [ - 12.14889, - 65.039156 - ], - [ - 12.047499, - 65.055834 - ], - [ - 12.019445, - 65.02611 - ], - [ - 11.975, - 65.065828 - ], - [ - 11.297224, - 64.883608 - ], - [ - 12.224443, - 64.937212 - ], - [ - 11.438334, - 64.711107 - ], - [ - 11.728056, - 64.579714 - ], - [ - 11.221666, - 64.316103 - ], - [ - 10.972223, - 64.601381 - ], - [ - 10.495291, - 64.423815 - ], - [ - 9.982222, - 63.990557 - ], - [ - 10.189722, - 63.930552 - ], - [ - 9.54389, - 63.763613 - ], - [ - 10.098333, - 63.761942 - ], - [ - 9.789167, - 63.6625 - ], - [ - 10.047777, - 63.496111 - ], - [ - 10.941946, - 63.738054 - ], - [ - 11.077223, - 63.837496 - ], - [ - 10.904165, - 63.894167 - ], - [ - 10.574167, - 63.804995 - ], - [ - 11.180277, - 64.008043 - ], - [ - 11.305834, - 64.116381 - ], - [ - 11.358332, - 64.110552 - ], - [ - 11.318888, - 64.032213 - ], - [ - 11.492777, - 64.019442 - ], - [ - 11.090555, - 63.878328 - ], - [ - 11.455832, - 63.787218 - ], - [ - 10.658888, - 63.549997 - ], - [ - 10.910276, - 63.451113 - ], - [ - 10.047224, - 63.406107 - ], - [ - 10.256666, - 63.26111 - ], - [ - 9.647501, - 63.623888 - ], - [ - 9.149721, - 63.484163 - ], - [ - 9.427778, - 63.37694 - ], - [ - 9.004999, - 63.467501 - ], - [ - 8.652777, - 63.409166 - ], - [ - 8.763613, - 63.345278 - ], - [ - 8.477777, - 63.293612 - ], - [ - 8.938334, - 63.206667 - ], - [ - 8.159166, - 63.120279 - ], - [ - 8.530832, - 62.841387 - ], - [ - 7.879168, - 63.010553 - ], - [ - 8.548334, - 62.653887 - ], - [ - 7.03639, - 62.967501 - ], - [ - 6.958887, - 62.722498 - ], - [ - 8.145277, - 62.689997 - ], - [ - 6.246946, - 62.574717 - ], - [ - 6.649836, - 62.498384 - ], - [ - 6.257223, - 62.448885 - ], - [ - 6.781389, - 62.478334 - ], - [ - 7.415556, - 62.2325 - ], - [ - 7.043058, - 62.08639 - ], - [ - 6.876112, - 62.414995 - ], - [ - 6.388334, - 62.369722 - ], - [ - 6.538057, - 62.104723 - ], - [ - 6.306665, - 62.371668 - ], - [ - 5.918058, - 62.21583 - ], - [ - 6.357222, - 62.055277 - ], - [ - 5.150278, - 62.211939 - ], - [ - 5.403612, - 62.016108 - ], - [ - 5.148054, - 61.892221 - ], - [ - 6.763613, - 61.868052 - ], - [ - 4.938055, - 61.676386 - ], - [ - 5.336946, - 61.592775 - ] - ], - [ - [ - 5.336946, - 61.592775 - ], - [ - 5.345335, - 61.586332 - ], - [ - 5.276834, - 61.587999 - ], - [ - 5.336946, - 61.592775 - ] - ], - [ - [ - 5.778334, - 58.947496 - ], - [ - 5.760836, - 58.945833 - ], - [ - 5.754999, - 58.956385 - ], - [ - 5.778334, - 58.947496 - ] - ] - ], - [ - [ - [ - 30.155554, - 69.781664 - ], - [ - 30.126112, - 69.797487 - ], - [ - 30.110556, - 69.787218 - ], - [ - 30.155554, - 69.781664 - ] - ] - ], - [ - [ - [ - 29.826666, - 69.756945 - ], - [ - 30.048056, - 69.827501 - ], - [ - 29.841944, - 69.910265 - ], - [ - 29.826666, - 69.756945 - ] - ] - ], - [ - [ - [ - 25.828054, - 71.098604 - ], - [ - 25.286112, - 71.02083 - ], - [ - 26.219721, - 71.033602 - ], - [ - 25.828054, - 71.098604 - ] - ] - ], - [ - [ - [ - 24.799444, - 71.023882 - ], - [ - 24.853613, - 71.089983 - ], - [ - 24.639444, - 71.060823 - ], - [ - 24.799444, - 71.023882 - ] - ] - ], - [ - [ - [ - 24.061945, - 70.908876 - ], - [ - 24.243891, - 70.951937 - ], - [ - 23.880835, - 70.993608 - ], - [ - 24.061945, - 70.908876 - ] - ] - ], - [ - [ - [ - 23.871111, - 70.512209 - ], - [ - 24.125834, - 70.615267 - ], - [ - 23.634165, - 70.696383 - ], - [ - 23.871111, - 70.512209 - ] - ] - ], - [ - [ - [ - 23.595835, - 70.578051 - ], - [ - 22.85111, - 70.405825 - ], - [ - 23.230555, - 70.278322 - ], - [ - 23.595835, - 70.578051 - ] - ] - ], - [ - [ - [ - 23.451666, - 70.783602 - ], - [ - 21.94972, - 70.646105 - ], - [ - 22.784166, - 70.519716 - ], - [ - 23.451666, - 70.783602 - ] - ] - ], - [ - [ - [ - 22.834723, - 70.332216 - ], - [ - 22.368612, - 70.334444 - ], - [ - 23.022779, - 70.259432 - ], - [ - 22.834723, - 70.332216 - ] - ] - ], - [ - [ - [ - 21.772779, - 70.266665 - ], - [ - 21.841391, - 70.350267 - ], - [ - 21.697779, - 70.381945 - ], - [ - 21.772779, - 70.266665 - ] - ] - ], - [ - [ - [ - 21.730276, - 69.931108 - ], - [ - 21.717222, - 69.949709 - ], - [ - 21.668612, - 69.941942 - ], - [ - 21.730276, - 69.931108 - ] - ] - ], - [ - [ - [ - 20.892569, - 70.030817 - ], - [ - 20.757776, - 69.989992 - ], - [ - 21.102499, - 70.004717 - ], - [ - 20.892569, - 70.030817 - ] - ] - ], - [ - [ - [ - 21.000834, - 70.019716 - ], - [ - 21.049166, - 70.049715 - ], - [ - 20.951944, - 70.025835 - ], - [ - 21.000834, - 70.019716 - ] - ] - ], - [ - [ - [ - 20.919722, - 70.079439 - ], - [ - 20.861387, - 70.149157 - ], - [ - 20.814722, - 70.116106 - ], - [ - 20.919722, - 70.079439 - ] - ] - ], - [ - [ - [ - 20.831945, - 70.19388 - ], - [ - 20.385279, - 70.098879 - ], - [ - 20.783888, - 70.056383 - ], - [ - 20.831945, - 70.19388 - ] - ] - ], - [ - [ - [ - 20.680277, - 69.808611 - ], - [ - 20.739168, - 69.905275 - ], - [ - 20.556391, - 69.851107 - ], - [ - 20.680277, - 69.808611 - ] - ] - ], - [ - [ - [ - 20.11278, - 70.104723 - ], - [ - 19.536112, - 70.248323 - ], - [ - 19.769999, - 70.065279 - ], - [ - 20.11278, - 70.104723 - ] - ] - ], - [ - [ - [ - 19.959166, - 70.005556 - ], - [ - 19.996111, - 70.012774 - ], - [ - 19.899168, - 70.0161 - ], - [ - 19.959166, - 70.005556 - ] - ] - ], - [ - [ - [ - 19.567221, - 69.851656 - ], - [ - 19.897779, - 69.972216 - ], - [ - 19.459444, - 69.842501 - ], - [ - 19.567221, - 69.851656 - ] - ] - ], - [ - [ - [ - 19.300554, - 70.02611 - ], - [ - 18.721109, - 69.93416 - ], - [ - 19.691946, - 69.994722 - ], - [ - 19.300554, - 70.02611 - ] - ] - ], - [ - [ - [ - 19.6075, - 70.101946 - ], - [ - 19.431391, - 70.177767 - ], - [ - 19.349722, - 70.13138 - ], - [ - 19.6075, - 70.101946 - ] - ] - ], - [ - [ - [ - 19.185278, - 70.122499 - ], - [ - 19.23361, - 70.254442 - ], - [ - 19.033609, - 70.161104 - ], - [ - 19.185278, - 70.122499 - ] - ] - ], - [ - [ - [ - 18.785002, - 70.111376 - ], - [ - 18.684446, - 69.99666 - ], - [ - 19.002779, - 70.084154 - ], - [ - 18.785002, - 70.111376 - ] - ] - ], - [ - [ - [ - 18.890001, - 69.691942 - ], - [ - 18.693056, - 69.884432 - ], - [ - 18.75139, - 69.682772 - ], - [ - 17.996946, - 69.588335 - ], - [ - 18.890001, - 69.691942 - ] - ] - ], - [ - [ - [ - 17.63661, - 69.516047 - ], - [ - 16.930834, - 69.392488 - ], - [ - 17.173887, - 69.195833 - ], - [ - 16.775278, - 69.06444 - ], - [ - 18.003611, - 69.190279 - ], - [ - 18.074167, - 69.430834 - ], - [ - 17.63661, - 69.516047 - ] - ] - ], - [ - [ - [ - 17.416945, - 68.995821 - ], - [ - 17.561388, - 69.094988 - ], - [ - 17.352777, - 69.024157 - ], - [ - 17.416945, - 68.995821 - ] - ] - ], - [ - [ - [ - 17.241667, - 68.788607 - ], - [ - 17.437777, - 68.865267 - ], - [ - 17.083612, - 68.910265 - ], - [ - 17.241667, - 68.788607 - ] - ] - ], - [ - [ - [ - 17.116388, - 68.752489 - ], - [ - 17.000555, - 68.854433 - ], - [ - 16.813055, - 68.728334 - ], - [ - 17.116388, - 68.752489 - ] - ] - ], - [ - [ - [ - 16.537222, - 68.879717 - ], - [ - 16.601667, - 68.945543 - ], - [ - 16.26111, - 68.966661 - ], - [ - 16.537222, - 68.879717 - ] - ] - ], - [ - [ - [ - 15.988054, - 68.75194 - ], - [ - 15.63611, - 68.946657 - ], - [ - 15.451666, - 68.762209 - ], - [ - 15.71361, - 68.69861 - ], - [ - 14.986666, - 68.247499 - ], - [ - 16.565001, - 68.651934 - ], - [ - 16.178888, - 68.851656 - ], - [ - 15.739443, - 68.52611 - ], - [ - 15.988054, - 68.75194 - ] - ] - ], - [ - [ - [ - 16.405554, - 68.411104 - ], - [ - 16.326944, - 68.533602 - ], - [ - 16.094446, - 68.396654 - ], - [ - 16.405554, - 68.411104 - ] - ] - ], - [ - [ - [ - 15.522501, - 68.906099 - ], - [ - 16.148054, - 69.286379 - ], - [ - 15.560278, - 69.094713 - ], - [ - 15.522501, - 68.906099 - ] - ] - ], - [ - [ - [ - 15.903334, - 67.978884 - ], - [ - 15.85111, - 68.013613 - ], - [ - 15.498888, - 67.98778 - ], - [ - 15.903334, - 67.978884 - ] - ] - ], - [ - [ - [ - 15.382776, - 68.845278 - ], - [ - 15.087778, - 69.008043 - ], - [ - 15.148611, - 68.812212 - ], - [ - 14.371111, - 68.683611 - ], - [ - 15.059168, - 68.572496 - ], - [ - 15.382776, - 68.845278 - ] - ] - ], - [ - [ - [ - 15.202223, - 67.90027 - ], - [ - 15.30361, - 67.920275 - ], - [ - 14.931665, - 67.923876 - ], - [ - 15.202223, - 67.90027 - ] - ] - ], - [ - [ - [ - 15.026388, - 68.354998 - ], - [ - 15.16889, - 68.450548 - ], - [ - 14.19972, - 68.152224 - ], - [ - 15.026388, - 68.354998 - ] - ] - ], - [ - [ - [ - 14.954443, - 68.872774 - ], - [ - 14.885279, - 68.933321 - ], - [ - 14.839167, - 68.881945 - ], - [ - 14.954443, - 68.872774 - ] - ] - ], - [ - [ - [ - 14.870554, - 68.211657 - ], - [ - 14.940554, - 68.268053 - ], - [ - 14.826113, - 68.254442 - ], - [ - 14.870554, - 68.211657 - ] - ] - ], - [ - [ - [ - 14.253054, - 67.358599 - ], - [ - 14.374998, - 67.422213 - ], - [ - 14.216665, - 67.358324 - ], - [ - 14.253054, - 67.358599 - ] - ] - ], - [ - [ - [ - 14.257776, - 67.133043 - ], - [ - 13.99111, - 67.0786 - ], - [ - 14.191946, - 66.999437 - ], - [ - 14.257776, - 67.133043 - ] - ] - ], - [ - [ - [ - 14.203611, - 68.239168 - ], - [ - 14.214167, - 68.301104 - ], - [ - 14.049444, - 68.303331 - ], - [ - 14.203611, - 68.239168 - ] - ] - ], - [ - [ - [ - 13.968332, - 68.238329 - ], - [ - 13.44972, - 68.067492 - ], - [ - 14.135832, - 68.239443 - ], - [ - 13.968332, - 68.238329 - ] - ] - ], - [ - [ - [ - 13.973333, - 68.253328 - ], - [ - 13.990557, - 68.309999 - ], - [ - 13.883333, - 68.302217 - ], - [ - 13.973333, - 68.253328 - ] - ] - ], - [ - [ - [ - 13.438055, - 68.11278 - ], - [ - 13.299166, - 68.149721 - ], - [ - 13.163057, - 68.011385 - ], - [ - 13.438055, - 68.11278 - ] - ] - ], - [ - [ - [ - 12.986666, - 66.228334 - ], - [ - 13.158335, - 66.277498 - ], - [ - 12.930834, - 66.226381 - ], - [ - 12.986666, - 66.228334 - ] - ] - ], - [ - [ - [ - 12.841944, - 67.808611 - ], - [ - 13.134443, - 67.952501 - ], - [ - 13.155832, - 68.081102 - ], - [ - 12.841944, - 67.808611 - ] - ] - ], - [ - [ - [ - 12.542501, - 65.896944 - ], - [ - 12.903612, - 66.008608 - ], - [ - 12.573889, - 66.010546 - ], - [ - 12.414999, - 65.893602 - ], - [ - 12.542501, - 65.896944 - ] - ] - ], - [ - [ - [ - 12.796667, - 66.214434 - ], - [ - 12.870832, - 66.277498 - ], - [ - 12.715834, - 66.247499 - ], - [ - 12.796667, - 66.214434 - ] - ] - ], - [ - [ - [ - 12.352499, - 66.022493 - ], - [ - 12.657221, - 66.104723 - ], - [ - 12.563334, - 66.217775 - ], - [ - 12.352499, - 66.022493 - ] - ] - ], - [ - [ - [ - 12.075277, - 65.211382 - ], - [ - 12.502779, - 65.391939 - ], - [ - 12.258055, - 65.576113 - ], - [ - 12.075277, - 65.211382 - ] - ] - ], - [ - [ - [ - 12.156389, - 65.051378 - ], - [ - 12.285002, - 65.084444 - ], - [ - 12.315279, - 65.109987 - ], - [ - 12.183611, - 65.20833 - ], - [ - 11.981668, - 65.076387 - ], - [ - 12.156389, - 65.051378 - ] - ] - ], - [ - [ - [ - 11.974165, - 65.62694 - ], - [ - 11.894445, - 65.704439 - ], - [ - 11.758612, - 65.616945 - ], - [ - 11.974165, - 65.62694 - ] - ] - ], - [ - [ - [ - 11.636667, - 65.065279 - ], - [ - 11.772779, - 65.113604 - ], - [ - 11.531389, - 65.060823 - ], - [ - 11.636667, - 65.065279 - ] - ] - ], - [ - [ - [ - 11.453611, - 64.514162 - ], - [ - 11.03861, - 64.628878 - ], - [ - 11.175554, - 64.506945 - ], - [ - 11.453611, - 64.514162 - ] - ] - ], - [ - [ - [ - 11.351389, - 64.649996 - ], - [ - 11.176111, - 64.644442 - ], - [ - 11.310835, - 64.596666 - ], - [ - 11.351389, - 64.649996 - ] - ] - ], - [ - [ - [ - 11.261667, - 64.884722 - ], - [ - 11.106112, - 64.950274 - ], - [ - 10.824999, - 64.844988 - ], - [ - 11.261667, - 64.884722 - ] - ] - ], - [ - [ - [ - 11.110834, - 64.965822 - ], - [ - 10.777777, - 64.918886 - ], - [ - 10.73139, - 64.860277 - ], - [ - 11.110834, - 64.965822 - ] - ] - ], - [ - [ - [ - 8.494165, - 63.428331 - ], - [ - 9.17639, - 63.564722 - ], - [ - 8.280001, - 63.464724 - ], - [ - 8.494165, - 63.428331 - ] - ] - ], - [ - [ - [ - 8.808332, - 63.810274 - ], - [ - 8.269999, - 63.678888 - ], - [ - 8.794443, - 63.697496 - ], - [ - 8.808332, - 63.810274 - ] - ] - ], - [ - [ - [ - 8.743612, - 58.409723 - ], - [ - 8.761389, - 58.421389 - ], - [ - 8.761389, - 58.436663 - ], - [ - 8.737501, - 58.434999 - ], - [ - 8.726946, - 58.412775 - ], - [ - 8.743612, - 58.409723 - ] - ] - ], - [ - [ - [ - 8.511946, - 63.319162 - ], - [ - 8.675833, - 63.346666 - ], - [ - 8.431112, - 63.331942 - ], - [ - 8.511946, - 63.319162 - ] - ] - ], - [ - [ - [ - 8.391111, - 63.159166 - ], - [ - 8.576113, - 63.18944 - ], - [ - 8.437498, - 63.283884 - ], - [ - 8.269724, - 63.266108 - ], - [ - 8.391111, - 63.159166 - ] - ] - ], - [ - [ - [ - 8.060278, - 63.141665 - ], - [ - 8.186388, - 63.153055 - ], - [ - 7.92639, - 63.171946 - ], - [ - 8.060278, - 63.141665 - ] - ] - ], - [ - [ - [ - 8.162222, - 63.361383 - ], - [ - 8.091665, - 63.466661 - ], - [ - 7.778334, - 63.405832 - ], - [ - 8.162222, - 63.361383 - ] - ] - ], - [ - [ - [ - 7.809725, - 63.023333 - ], - [ - 7.915277, - 63.079165 - ], - [ - 7.679445, - 63.056108 - ], - [ - 7.809725, - 63.023333 - ] - ] - ], - [ - [ - [ - 7.548334, - 62.948328 - ], - [ - 7.711946, - 63.002497 - ], - [ - 7.365557, - 62.996386 - ], - [ - 7.548334, - 62.948328 - ] - ] - ], - [ - [ - [ - 6.886389, - 62.776941 - ], - [ - 6.940557, - 62.844446 - ], - [ - 6.775835, - 62.845552 - ], - [ - 6.886389, - 62.776941 - ] - ] - ], - [ - [ - [ - 6.736666, - 62.667223 - ], - [ - 6.919443, - 62.709162 - ], - [ - 6.649721, - 62.681391 - ], - [ - 6.736666, - 62.667223 - ] - ] - ], - [ - [ - [ - 6.253889, - 62.391665 - ], - [ - 6.333612, - 62.413332 - ], - [ - 6.023054, - 62.435556 - ], - [ - 6.253889, - 62.391665 - ] - ] - ], - [ - [ - [ - 5.95278, - 59.228334 - ], - [ - 6.059168, - 59.260828 - ], - [ - 5.909723, - 59.274164 - ], - [ - 5.95278, - 59.228334 - ] - ] - ], - [ - [ - [ - 5.954721, - 60.089441 - ], - [ - 6.016947, - 60.146662 - ], - [ - 5.924166, - 60.145273 - ], - [ - 5.954721, - 60.089441 - ] - ] - ], - [ - [ - [ - 5.840555, - 62.24 - ], - [ - 5.977503, - 62.411112 - ], - [ - 5.804998, - 62.366945 - ], - [ - 5.840555, - 62.24 - ] - ] - ], - [ - [ - [ - 5.961946, - 58.972223 - ], - [ - 5.958887, - 58.983889 - ], - [ - 5.945002, - 58.977495 - ], - [ - 5.961946, - 58.972223 - ] - ] - ], - [ - [ - [ - 5.647779, - 62.187494 - ], - [ - 5.808058, - 62.27305 - ], - [ - 5.506109, - 62.224443 - ], - [ - 5.647779, - 62.187494 - ] - ] - ], - [ - [ - [ - 5.726389, - 59.078051 - ], - [ - 5.68889, - 59.129168 - ], - [ - 5.548334, - 59.130556 - ], - [ - 5.726389, - 59.078051 - ] - ] - ], - [ - [ - [ - 5.550001, - 60.431391 - ], - [ - 5.675833, - 60.683054 - ], - [ - 5.360003, - 60.52389 - ], - [ - 5.550001, - 60.431391 - ] - ] - ], - [ - [ - [ - 5.525, - 59.893328 - ], - [ - 5.658056, - 60.075274 - ], - [ - 5.360834, - 59.99222 - ], - [ - 5.525, - 59.893328 - ] - ] - ], - [ - [ - [ - 5.413057, - 59.751665 - ], - [ - 5.468332, - 59.886385 - ], - [ - 5.276388, - 59.966944 - ], - [ - 5.413057, - 59.751665 - ] - ] - ], - [ - [ - [ - 5.287779, - 59.218889 - ], - [ - 5.183611, - 59.411943 - ], - [ - 5.155279, - 59.146944 - ], - [ - 5.287779, - 59.218889 - ] - ] - ], - [ - [ - [ - 5.268057, - 60.004999 - ], - [ - 5.172777, - 60.121668 - ], - [ - 5.168058, - 60.031389 - ], - [ - 5.268057, - 60.004999 - ] - ] - ], - [ - [ - [ - 5.263334, - 59.798609 - ], - [ - 5.1075, - 59.864443 - ], - [ - 5.14889, - 59.58111 - ], - [ - 5.263334, - 59.798609 - ] - ] - ], - [ - [ - [ - 5.216944, - 60.241945 - ], - [ - 5.233335, - 60.254717 - ], - [ - 5.19972, - 60.251108 - ], - [ - 5.216944, - 60.241945 - ] - ] - ], - [ - [ - [ - 4.934168, - 61.774164 - ], - [ - 5.221945, - 61.845552 - ], - [ - 4.804167, - 61.840555 - ], - [ - 4.934168, - 61.774164 - ] - ] - ], - [ - [ - [ - 5.195276, - 60.408884 - ], - [ - 5.179445, - 60.482775 - ], - [ - 5.000834, - 60.531107 - ], - [ - 5.195276, - 60.408884 - ] - ] - ], - [ - [ - [ - 5.185278, - 60.506105 - ], - [ - 5.121668, - 60.578051 - ], - [ - 4.926947, - 60.605272 - ], - [ - 5.185278, - 60.506105 - ] - ] - ], - [ - [ - [ - 5.158335, - 60.581667 - ], - [ - 4.980001, - 60.714724 - ], - [ - 4.854445, - 60.7325 - ], - [ - 5.158335, - 60.581667 - ] - ] - ], - [ - [ - [ - 5.068056, - 61.923052 - ], - [ - 5.127222, - 61.992495 - ], - [ - 5.009722, - 62.013613 - ], - [ - 5.068056, - 61.923052 - ] - ] - ], - [ - [ - [ - 5.111944, - 60.185831 - ], - [ - 4.942499, - 60.4275 - ], - [ - 4.946943, - 60.249163 - ], - [ - 5.111944, - 60.185831 - ] - ] - ], - [ - [ - [ - 4.986387, - 61.104441 - ], - [ - 4.788057, - 61.146387 - ], - [ - 4.804724, - 61.044443 - ], - [ - 4.986387, - 61.104441 - ] - ] - ], - [ - [ - [ - 4.69639, - 60.987223 - ], - [ - 4.628057, - 61.06444 - ], - [ - 4.630835, - 61.006662 - ], - [ - 4.69639, - 60.987223 - ] - ] - ] - ] - }, - "name" : "Norway", - "iso2" : "NO", - "iso3" : "NOR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "3r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 82.066399, - 27.914154 - ], - [ - 83.291367, - 27.337776 - ], - [ - 84.147217, - 27.511387 - ], - [ - 85.855545, - 26.570274 - ], - [ - 88.014709, - 26.364719 - ], - [ - 88.142792, - 27.866055 - ], - [ - 87.192749, - 27.823051 - ], - [ - 86.686371, - 28.112217 - ], - [ - 86.444977, - 27.908051 - ], - [ - 86.183594, - 28.163883 - ], - [ - 86.014435, - 27.882774 - ], - [ - 85.721375, - 28.279163 - ], - [ - 85.106644, - 28.309441 - ], - [ - 85.189972, - 28.603329 - ], - [ - 84.481094, - 28.73666 - ], - [ - 84.119141, - 29.259998 - ], - [ - 83.552765, - 29.185829 - ], - [ - 82.10054, - 30.34222 - ], - [ - 81.421097, - 30.385273 - ], - [ - 81.223602, - 30.010277 - ], - [ - 81.02536, - 30.204353 - ], - [ - 80.376923, - 29.748604 - ], - [ - 80.055817, - 28.836109 - ], - [ - 82.066399, - 27.914154 - ] - ] - ] - }, - "name" : "Nepal", - "iso2" : "NP", - "iso3" : "NPL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "371E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 166.929138, - -0.552222 - ], - [ - 166.958588, - -0.506389 - ], - [ - 166.930542, - -0.493333 - ], - [ - 166.929138, - -0.552222 - ] - ] - ] - }, - "name" : "Nauru", - "iso2" : "NR", - "iso3" : "NRU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "4L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -54.166946, - 5.346944 - ], - [ - -54.030006, - 5.821111 - ], - [ - -55.127968, - 5.822173 - ], - [ - -55.836395, - 5.956666 - ], - [ - -55.899559, - 5.671908 - ], - [ - -56.972504, - 5.996944 - ], - [ - -57.248505, - 5.486111 - ], - [ - -57.327225, - 5.026111 - ], - [ - -57.92334, - 4.821944 - ], - [ - -58.047226, - 4.008333 - ], - [ - -57.642227, - 3.356389 - ], - [ - -57.301392, - 3.3775 - ], - [ - -56.470634, - 1.944499 - ], - [ - -55.904167, - 1.893055 - ], - [ - -55.965836, - 2.532777 - ], - [ - -54.603783, - 2.329195 - ], - [ - -54.001114, - 3.448333 - ], - [ - -54.477501, - 4.747777 - ], - [ - -54.166946, - 5.346944 - ] - ] - ] - }, - "name" : "Suriname", - "iso2" : "SR", - "iso3" : "SUR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "4b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -83.712509, - 11.868332 - ], - [ - -83.714447, - 11.988054 - ], - [ - -83.731949, - 11.903332 - ], - [ - -83.712509, - 11.868332 - ] - ] - ], - [ - [ - [ - -83.048889, - 12.145555 - ], - [ - -83.021393, - 12.184166 - ], - [ - -83.05751, - 12.183611 - ], - [ - -83.048889, - 12.145555 - ] - ] - ], - [ - [ - [ - -82.964737, - 12.286943 - ], - [ - -82.97139, - 12.312498 - ], - [ - -82.983337, - 12.313055 - ], - [ - -82.964737, - 12.286943 - ] - ] - ], - [ - [ - [ - -82.750839, - 14.353888 - ], - [ - -82.733612, - 14.418888 - ], - [ - -82.789734, - 14.374998 - ], - [ - -82.750839, - 14.353888 - ] - ] - ], - [ - [ - [ - -83.131851, - 14.992979 - ], - [ - -83.239731, - 14.982498 - ], - [ - -84.482788, - 14.617777 - ], - [ - -84.906677, - 14.808611 - ], - [ - -85.732315, - 13.829235 - ], - [ - -86.015839, - 14.065832 - ], - [ - -86.763016, - 13.751621 - ], - [ - -86.695007, - 13.296944 - ], - [ - -87.301392, - 12.986599 - ], - [ - -87.692505, - 12.912222 - ], - [ - -85.692383, - 11.076061 - ], - [ - -85.087784, - 11.009998 - ], - [ - -83.915558, - 10.708611 - ], - [ - -83.645798, - 10.924847 - ], - [ - -83.83168, - 11.874722 - ], - [ - -83.604446, - 12.819443 - ], - [ - -83.482788, - 12.403889 - ], - [ - -83.551117, - 13.450554 - ], - [ - -83.186951, - 14.323889 - ], - [ - -83.421402, - 14.80611 - ], - [ - -83.131851, - 14.992979 - ] - ] - ] - ] - }, - "name" : "Nicaragua", - "iso2" : "NI", - "iso3" : "NIC" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "4r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 169.185516, - -52.57695 - ], - [ - 169.205231, - -52.441383 - ], - [ - 169.000824, - -52.507225 - ], - [ - 169.185516, - -52.57695 - ] - ] - ], - [ - [ - [ - 166.096619, - -50.923058 - ], - [ - 166.22052, - -50.887505 - ], - [ - 165.923584, - -50.856392 - ], - [ - 166.096619, - -50.923058 - ] - ] - ], - [ - [ - [ - 165.995544, - -50.603638 - ], - [ - 166.003601, - -50.595001 - ], - [ - 165.969421, - -50.605003 - ], - [ - 165.995544, - -50.603638 - ] - ] - ], - [ - [ - [ - 166.250824, - -50.82695 - ], - [ - 166.199402, - -50.527222 - ], - [ - 165.886932, - -50.804443 - ], - [ - 166.250824, - -50.82695 - ] - ] - ], - [ - [ - [ - 166.321899, - -50.50695 - ], - [ - 166.331909, - -50.49472 - ], - [ - 166.284973, - -50.50528 - ], - [ - 166.321899, - -50.50695 - ] - ] - ], - [ - [ - [ - 178.816376, - -49.723885 - ], - [ - 178.814972, - -49.613617 - ], - [ - 178.71524, - -49.685272 - ], - [ - 178.816376, - -49.723885 - ] - ] - ], - [ - [ - [ - 166.632172, - -48.04084 - ], - [ - 166.622192, - -47.995552 - ], - [ - 166.563873, - -48.039444 - ], - [ - 166.632172, - -48.04084 - ] - ] - ], - [ - [ - [ - 179.076904, - -47.680595 - ], - [ - 179.069702, - -47.661667 - ], - [ - 179.049133, - -47.67556 - ], - [ - 179.076904, - -47.680595 - ] - ] - ], - [ - [ - [ - 167.434967, - -47.248611 - ], - [ - 167.486908, - -47.214165 - ], - [ - 167.426636, - -47.222496 - ], - [ - 167.434967, - -47.248611 - ] - ] - ], - [ - [ - [ - 167.685791, - -46.796669 - ], - [ - 167.718842, - -46.771385 - ], - [ - 167.663605, - -46.760002 - ], - [ - 167.685791, - -46.796669 - ] - ] - ], - [ - [ - [ - 168.191925, - -46.905273 - ], - [ - 167.775818, - -46.700279 - ], - [ - 167.519135, - -47.27417 - ], - [ - 168.191925, - -46.905273 - ] - ] - ], - [ - [ - [ - 166.71637, - -45.741669 - ], - [ - 166.710785, - -45.61528 - ], - [ - 166.504974, - -45.719162 - ], - [ - 166.71637, - -45.741669 - ] - ] - ], - [ - [ - [ - 167.009979, - -45.31028 - ], - [ - 166.962189, - -45.153328 - ], - [ - 166.891357, - -45.250282 - ], - [ - 167.009979, - -45.31028 - ] - ] - ], - [ - [ - [ - -176.162231, - -44.324722 - ], - [ - -176.115814, - -44.263336 - ], - [ - -176.23584, - -44.234734 - ], - [ - -176.162231, - -44.324722 - ] - ] - ], - [ - [ - [ - -176.45224, - -43.736122 - ], - [ - -176.848053, - -43.812225 - ], - [ - -176.53421, - -43.870277 - ], - [ - -176.60556, - -44.119171 - ], - [ - -176.45224, - -43.736122 - ] - ] - ], - [ - [ - [ - 174.399414, - -41.115837 - ], - [ - 174.322754, - -41.1325 - ], - [ - 174.371887, - -41.148613 - ], - [ - 174.344421, - -41.18306 - ], - [ - 174.193298, - -41.232498 - ], - [ - 174.37439, - -41.203056 - ], - [ - 174.399414, - -41.115837 - ] - ] - ], - [ - [ - [ - 173.805817, - -40.92778 - ], - [ - 173.963867, - -40.710556 - ], - [ - 173.823303, - -40.762505 - ], - [ - 173.805817, - -40.92778 - ] - ] - ], - [ - [ - [ - 172.861359, - -40.507782 - ], - [ - 172.108856, - -40.885559 - ], - [ - 172.064972, - -41.40361 - ], - [ - 170.794128, - -42.90139 - ], - [ - 168.374969, - -44.037781 - ], - [ - 167.507202, - -45.001396 - ], - [ - 166.996918, - -45.145836 - ], - [ - 167.211914, - -45.475273 - ], - [ - 166.821625, - -45.320557 - ], - [ - 166.704407, - -45.574448 - ], - [ - 167.041351, - -45.501396 - ], - [ - 166.775818, - -45.662773 - ], - [ - 166.987183, - -45.709724 - ], - [ - 166.484406, - -46.01445 - ], - [ - 169.008026, - -46.680832 - ], - [ - 170.783051, - -45.878334 - ], - [ - 170.554413, - -45.888054 - ], - [ - 171.293579, - -44.343613 - ], - [ - 172.424988, - -43.733612 - ], - [ - 173.091644, - -43.856392 - ], - [ - 172.760803, - -43.239166 - ], - [ - 174.289154, - -41.748337 - ], - [ - 174.044434, - -41.442497 - ], - [ - 174.326904, - -41.222771 - ], - [ - 174.20636, - -41.269447 - ], - [ - 174.026642, - -41.236115 - ], - [ - 174.323853, - -41.003334 - ], - [ - 173.10553, - -41.313332 - ], - [ - 173.013306, - -40.796669 - ], - [ - 172.656921, - -40.653328 - ], - [ - 172.861359, - -40.507782 - ] - ] - ], - [ - [ - [ - 177.001373, - -37.870552 - ], - [ - 176.97995, - -37.848053 - ], - [ - 176.964691, - -37.863617 - ], - [ - 177.001373, - -37.870552 - ] - ] - ], - [ - [ - [ - 176.438568, - -37.650276 - ], - [ - 176.459412, - -37.622772 - ], - [ - 176.44693, - -37.604721 - ], - [ - 176.438568, - -37.650276 - ] - ] - ], - [ - [ - [ - 175.166077, - -36.833885 - ], - [ - 175.193848, - -36.727493 - ], - [ - 175.002472, - -36.792778 - ], - [ - 175.166077, - -36.833885 - ] - ] - ], - [ - [ - [ - 175.827179, - -36.630829 - ], - [ - 175.80246, - -36.576111 - ], - [ - 175.770264, - -36.580833 - ], - [ - 175.827179, - -36.630829 - ] - ] - ], - [ - [ - [ - 174.863861, - -36.459724 - ], - [ - 174.907196, - -36.451668 - ], - [ - 174.869965, - -36.388893 - ], - [ - 174.863861, - -36.459724 - ] - ] - ], - [ - [ - [ - 175.149414, - -36.213333 - ], - [ - 175.121887, - -36.170555 - ], - [ - 175.079681, - -36.200836 - ], - [ - 175.149414, - -36.213333 - ] - ] - ], - [ - [ - [ - 175.544708, - -36.347778 - ], - [ - 175.371887, - -36.070557 - ], - [ - 175.358856, - -36.229439 - ], - [ - 175.544708, - -36.347778 - ] - ] - ], - [ - [ - [ - 173.038879, - -34.436943 - ], - [ - 172.722473, - -34.495277 - ], - [ - 173.087463, - -35.211388 - ], - [ - 173.380524, - -35.528053 - ], - [ - 173.655548, - -35.313332 - ], - [ - 173.398865, - -35.573891 - ], - [ - 174.080811, - -36.409439 - ], - [ - 173.913879, - -35.86972 - ], - [ - 174.505249, - -36.231384 - ], - [ - 174.268585, - -36.342224 - ], - [ - 174.453033, - -36.651108 - ], - [ - 174.187744, - -36.496948 - ], - [ - 174.502472, - -37.037506 - ], - [ - 174.887482, - -37.059166 - ], - [ - 174.549713, - -37.073616 - ], - [ - 174.974976, - -37.75 - ], - [ - 174.594421, - -38.815834 - ], - [ - 173.751923, - -39.288612 - ], - [ - 175.155548, - -40.095833 - ], - [ - 175.127747, - -40.713615 - ], - [ - 174.591919, - -41.27861 - ], - [ - 175.323029, - -41.614449 - ], - [ - 176.834137, - -40.181671 - ], - [ - 177.054962, - -39.204445 - ], - [ - 177.909973, - -39.25695 - ], - [ - 178.565521, - -37.713333 - ], - [ - 178.018005, - -37.550831 - ], - [ - 177.159424, - -38.013336 - ], - [ - 175.994415, - -37.638893 - ], - [ - 175.84079, - -36.754173 - ], - [ - 175.353577, - -36.481941 - ], - [ - 175.579132, - -37.244446 - ], - [ - 174.854401, - -36.847778 - ], - [ - 174.319977, - -35.232773 - ], - [ - 173.450806, - -34.807777 - ], - [ - 173.269135, - -35.019722 - ], - [ - 173.038879, - -34.436943 - ] - ] - ], - [ - [ - [ - 172.157196, - -34.173889 - ], - [ - 172.18692, - -34.152496 - ], - [ - 172.133331, - -34.153328 - ], - [ - 172.157196, - -34.173889 - ] - ] - ], - [ - [ - [ - -178.605286, - -30.581116 - ], - [ - -178.612518, - -30.574448 - ], - [ - -178.613068, - -30.587223 - ], - [ - -178.605286, - -30.581116 - ] - ] - ], - [ - [ - [ - -177.84613, - -29.278614 - ], - [ - -177.952484, - -29.226112 - ], - [ - -177.923615, - -29.284725 - ], - [ - -177.84613, - -29.278614 - ] - ] - ] - ] - }, - "name" : "New Zealand", - "iso2" : "NZ", - "iso3" : "NZL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "471E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -54.598915, - -25.573223 - ], - [ - -54.330559, - -24.679449 - ], - [ - -54.407227, - -23.916668 - ], - [ - -55.411667, - -23.95639 - ], - [ - -55.849724, - -22.288891 - ], - [ - -57.985107, - -22.091827 - ], - [ - -57.814445, - -20.971947 - ], - [ - -58.15889, - -20.168056 - ], - [ - -58.15139, - -19.828056 - ], - [ - -59.09584, - -19.348892 - ], - [ - -61.7425, - -19.645 - ], - [ - -62.643768, - -22.238903 - ], - [ - -61.007782, - -23.813335 - ], - [ - -57.756111, - -25.176945 - ], - [ - -57.576668, - -25.549446 - ], - [ - -58.604622, - -27.316921 - ], - [ - -55.736115, - -27.439445 - ], - [ - -54.698334, - -26.438335 - ], - [ - -54.598915, - -25.573223 - ] - ] - ] - }, - "name" : "Paraguay", - "iso2" : "PY", - "iso3" : "PRY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "5L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -69.568436, - -10.951092 - ], - [ - -70.631393, - -11.009167 - ], - [ - -70.514664, - -9.428001 - ], - [ - -71.298889, - -9.996389 - ], - [ - -72.14389, - -10.004723 - ], - [ - -72.366394, - -9.494446 - ], - [ - -73.205292, - -9.407223 - ], - [ - -72.964172, - -8.983334 - ], - [ - -74.010559, - -7.541389 - ], - [ - -73.744171, - -6.876945 - ], - [ - -73.123901, - -6.447223 - ], - [ - -72.851959, - -5.124722 - ], - [ - -70.765839, - -4.146389 - ], - [ - -69.956924, - -4.236874 - ], - [ - -70.724167, - -3.779723 - ], - [ - -70.067505, - -2.755556 - ], - [ - -70.288345, - -2.505 - ], - [ - -71.698059, - -2.146945 - ], - [ - -72.881958, - -2.506389 - ], - [ - -73.556396, - -1.370833 - ], - [ - -74.227234, - -1.027778 - ], - [ - -74.776947, - -0.204167 - ], - [ - -75.285843, - -0.119722 - ], - [ - -75.62796, - -0.108859 - ], - [ - -75.21608, - -0.965336 - ], - [ - -75.559174, - -1.534167 - ], - [ - -76.660629, - -2.572135 - ], - [ - -78.337509, - -3.422778 - ], - [ - -78.70903, - -4.584787 - ], - [ - -79.054825, - -5.009132 - ], - [ - -79.649734, - -4.432778 - ], - [ - -80.467789, - -4.43889 - ], - [ - -80.467224, - -3.986945 - ], - [ - -80.153336, - -3.884228 - ], - [ - -80.340424, - -3.380517 - ], - [ - -81.289734, - -4.31 - ], - [ - -80.871399, - -5.652223 - ], - [ - -81.174728, - -6.086667 - ], - [ - -79.982788, - -6.764445 - ], - [ - -78.989731, - -8.226946 - ], - [ - -77.652512, - -11.292223 - ], - [ - -76.196945, - -13.418335 - ], - [ - -76.39389, - -13.898056 - ], - [ - -75.933334, - -14.658056 - ], - [ - -75.047501, - -15.469168 - ], - [ - -71.497513, - -17.296947 - ], - [ - -70.405487, - -18.348545 - ], - [ - -69.951126, - -18.242779 - ], - [ - -69.499725, - -17.50528 - ], - [ - -69.618896, - -17.214725 - ], - [ - -68.82251, - -16.339725 - ], - [ - -69.421951, - -15.618057 - ], - [ - -69.136948, - -15.245834 - ], - [ - -69.366394, - -14.802502 - ], - [ - -68.853058, - -14.199167 - ], - [ - -68.974457, - -12.869722 - ], - [ - -68.673904, - -12.50115 - ], - [ - -69.568436, - -10.951092 - ] - ] - ] - }, - "name" : "Peru", - "iso2" : "PE", - "iso3" : "PER" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "5b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 67.449417, - 24.002777 - ], - [ - 67.458878, - 24.007221 - ], - [ - 67.481659, - 24.042774 - ], - [ - 67.458878, - 24.056942 - ], - [ - 67.379425, - 24.051662 - ], - [ - 67.411926, - 24.005833 - ], - [ - 67.449417, - 24.002777 - ] - ] - ], - [ - [ - [ - 61.611031, - 25.197647 - ], - [ - 64.113876, - 25.453327 - ], - [ - 64.651932, - 25.162773 - ], - [ - 66.506378, - 25.402496 - ], - [ - 66.141602, - 25.503941 - ], - [ - 66.359421, - 25.613609 - ], - [ - 66.732758, - 25.197495 - ], - [ - 66.645538, - 24.829163 - ], - [ - 67.254166, - 24.746105 - ], - [ - 67.151657, - 24.610554 - ], - [ - 67.27388, - 24.425827 - ], - [ - 67.338043, - 24.089718 - ], - [ - 67.461197, - 24.065355 - ], - [ - 67.486649, - 24.045277 - ], - [ - 67.500671, - 23.974043 - ], - [ - 67.53804, - 23.938129 - ], - [ - 67.493591, - 23.890831 - ], - [ - 68.1978, - 23.766685 - ], - [ - 68.747208, - 23.969994 - ], - [ - 68.783051, - 24.332775 - ], - [ - 70.014709, - 24.169716 - ], - [ - 71.10582, - 24.416386 - ], - [ - 70.666382, - 25.69833 - ], - [ - 70.088043, - 25.982773 - ], - [ - 70.183594, - 26.53611 - ], - [ - 69.506104, - 26.754444 - ], - [ - 69.580276, - 27.173328 - ], - [ - 70.368317, - 28.020832 - ], - [ - 70.829437, - 27.706383 - ], - [ - 71.896942, - 27.961941 - ], - [ - 73.397491, - 29.942772 - ], - [ - 73.933403, - 30.136002 - ], - [ - 73.872498, - 30.390099 - ], - [ - 74.694588, - 31.053961 - ], - [ - 74.605324, - 31.877119 - ], - [ - 75.381287, - 32.214241 - ], - [ - 74.016388, - 33.188599 - ], - [ - 73.99054, - 33.743881 - ], - [ - 74.295822, - 33.977486 - ], - [ - 73.913315, - 34.068604 - ], - [ - 73.94165, - 34.646385 - ], - [ - 76.86998, - 34.658882 - ], - [ - 77.04248, - 35.099159 - ], - [ - 77.823929, - 35.501328 - ], - [ - 76.166382, - 35.819717 - ], - [ - 75.864426, - 36.659676 - ], - [ - 74.81749, - 37.021767 - ], - [ - 74.56543, - 37.027817 - ], - [ - 72.556641, - 36.821266 - ], - [ - 71.243576, - 36.129715 - ], - [ - 71.649429, - 35.424995 - ], - [ - 70.987488, - 34.551102 - ], - [ - 71.08194, - 34.055824 - ], - [ - 69.906372, - 34.035271 - ], - [ - 70.326935, - 33.33194 - ], - [ - 69.505264, - 33.034164 - ], - [ - 69.328247, - 31.940365 - ], - [ - 68.833054, - 31.603886 - ], - [ - 68.166092, - 31.833054 - ], - [ - 67.575546, - 31.53194 - ], - [ - 67.778046, - 31.332218 - ], - [ - 66.723038, - 31.212215 - ], - [ - 66.395538, - 30.94083 - ], - [ - 66.256653, - 29.85194 - ], - [ - 62.484436, - 29.406105 - ], - [ - 60.868599, - 29.863884 - ], - [ - 61.905548, - 28.554996 - ], - [ - 62.78138, - 28.266941 - ], - [ - 62.782494, - 27.260555 - ], - [ - 63.341934, - 27.122498 - ], - [ - 63.176384, - 26.631107 - ], - [ - 61.858047, - 26.234718 - ], - [ - 61.611031, - 25.197647 - ] - ] - ] - ] - }, - "name" : "Pakistan", - "iso2" : "PK", - "iso3" : "PAK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "5r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 18.851246, - 49.517357 - ], - [ - 19.475555, - 49.599998 - ], - [ - 20.074444, - 49.175278 - ], - [ - 21.618889, - 49.436386 - ], - [ - 22.558052, - 49.079437 - ], - [ - 22.886074, - 49.002914 - ], - [ - 22.680828, - 49.572495 - ], - [ - 24.111385, - 50.56694 - ], - [ - 23.604633, - 51.527695 - ], - [ - 23.638607, - 52.079437 - ], - [ - 23.1654, - 52.282276 - ], - [ - 23.94083, - 52.732208 - ], - [ - 23.50404, - 53.947044 - ], - [ - 22.785885, - 54.363838 - ], - [ - 19.797007, - 54.43755 - ], - [ - 19.226662, - 54.32888 - ], - [ - 19.651108, - 54.455826 - ], - [ - 19.627258, - 54.463272 - ], - [ - 18.836388, - 54.353333 - ], - [ - 18.582775, - 54.435272 - ], - [ - 18.405277, - 54.74305 - ], - [ - 18.739998, - 54.685272 - ], - [ - 18.334999, - 54.836662 - ], - [ - 17.918888, - 54.82666 - ], - [ - 14.225555, - 53.928604 - ], - [ - 14.218887, - 53.869019 - ], - [ - 14.614166, - 53.816383 - ], - [ - 14.275627, - 53.699066 - ], - [ - 14.149166, - 52.862778 - ], - [ - 14.640276, - 52.572495 - ], - [ - 14.599443, - 51.818604 - ], - [ - 15.036388, - 51.285553 - ], - [ - 14.828333, - 50.865829 - ], - [ - 16.341942, - 50.66111 - ], - [ - 16.20583, - 50.423882 - ], - [ - 16.641941, - 50.10833 - ], - [ - 17.00222, - 50.216942 - ], - [ - 16.890274, - 50.439438 - ], - [ - 17.722775, - 50.319717 - ], - [ - 17.657776, - 50.108055 - ], - [ - 18.577221, - 49.914444 - ], - [ - 18.851246, - 49.517357 - ] - ] - ] - }, - "name" : "Poland", - "iso2" : "PL", - "iso3" : "POL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "571E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -81.778624, - 7.276388 - ], - [ - -81.818619, - 7.290003 - ], - [ - -81.797501, - 7.225836 - ], - [ - -81.778624, - 7.276388 - ] - ] - ], - [ - [ - [ - -81.205841, - 7.486666 - ], - [ - -81.033615, - 7.570833 - ], - [ - -81.249725, - 7.488333 - ], - [ - -81.205841, - 7.486666 - ] - ] - ], - [ - [ - [ - -81.649445, - 7.384169 - ], - [ - -81.758621, - 7.634169 - ], - [ - -81.874176, - 7.491114 - ], - [ - -81.649445, - 7.384169 - ] - ] - ], - [ - [ - [ - -81.103897, - 7.717779 - ], - [ - -81.124176, - 7.75889 - ], - [ - -81.14917, - 7.741667 - ], - [ - -81.103897, - 7.717779 - ] - ] - ], - [ - [ - [ - -81.165283, - 7.822779 - ], - [ - -81.161392, - 7.841665 - ], - [ - -81.173615, - 7.818056 - ], - [ - -81.165283, - 7.822779 - ] - ] - ], - [ - [ - [ - -82.340561, - 8.0875 - ], - [ - -82.319733, - 8.136667 - ], - [ - -82.366394, - 8.088888 - ], - [ - -82.340561, - 8.0875 - ] - ] - ], - [ - [ - [ - -82.213348, - 8.1975 - ], - [ - -82.313339, - 8.218889 - ], - [ - -82.295288, - 8.193609 - ], - [ - -82.213348, - 8.1975 - ] - ] - ], - [ - [ - [ - -82.332504, - 8.23361 - ], - [ - -82.314178, - 8.271666 - ], - [ - -82.336121, - 8.292501 - ], - [ - -82.403624, - 8.253054 - ], - [ - -82.332504, - 8.23361 - ] - ] - ], - [ - [ - [ - -79.106949, - 8.201113 - ], - [ - -79.055847, - 8.25139 - ], - [ - -79.097504, - 8.309168 - ], - [ - -79.106949, - 8.201113 - ] - ] - ], - [ - [ - [ - -79.076401, - 8.369722 - ], - [ - -79.075836, - 8.408609 - ], - [ - -79.114456, - 8.415277 - ], - [ - -79.076401, - 8.369722 - ] - ] - ], - [ - [ - [ - -78.851395, - 8.28861 - ], - [ - -78.960281, - 8.447222 - ], - [ - -78.959166, - 8.292223 - ], - [ - -78.851395, - 8.28861 - ] - ] - ], - [ - [ - [ - -82.015015, - 9.12639 - ], - [ - -82.045837, - 9.17639 - ], - [ - -82.049179, - 9.144167 - ], - [ - -82.015015, - 9.12639 - ] - ] - ], - [ - [ - [ - -82.079178, - 9.284445 - ], - [ - -82.20639, - 9.348333 - ], - [ - -82.124451, - 9.271944 - ], - [ - -82.079178, - 9.284445 - ] - ] - ], - [ - [ - [ - -82.224457, - 9.335001 - ], - [ - -82.224731, - 9.352499 - ], - [ - -82.229446, - 9.3375 - ], - [ - -82.224457, - 9.335001 - ] - ] - ], - [ - [ - [ - -82.239182, - 9.330278 - ], - [ - -82.258347, - 9.429167 - ], - [ - -82.314453, - 9.424723 - ], - [ - -82.239182, - 9.330278 - ] - ] - ], - [ - [ - [ - -77.366669, - 8.675001 - ], - [ - -78.035568, - 9.230001 - ], - [ - -79.463058, - 9.568056 - ], - [ - -81.196121, - 8.780279 - ], - [ - -81.883896, - 9.174444 - ], - [ - -81.816391, - 8.945276 - ], - [ - -82.236954, - 8.997778 - ], - [ - -82.563568, - 9.562876 - ], - [ - -82.934723, - 9.471666 - ], - [ - -82.710846, - 8.931112 - ], - [ - -82.898848, - 8.025671 - ], - [ - -82.72168, - 8.317221 - ], - [ - -82.287231, - 8.313334 - ], - [ - -82.191956, - 8.194445 - ], - [ - -81.738617, - 8.1625 - ], - [ - -81.496948, - 7.69861 - ], - [ - -81.217789, - 7.607222 - ], - [ - -81.178864, - 7.854994 - ], - [ - -81.05806, - 7.873335 - ], - [ - -80.925293, - 7.250002 - ], - [ - -80.433334, - 7.244444 - ], - [ - -79.989731, - 7.516111 - ], - [ - -80.473618, - 8.212778 - ], - [ - -78.978622, - 9.142778 - ], - [ - -78.414169, - 8.344168 - ], - [ - -78.107513, - 8.455832 - ], - [ - -77.779175, - 8.155001 - ], - [ - -78.139175, - 8.403891 - ], - [ - -78.257233, - 8.101946 - ], - [ - -78.43306, - 8.051943 - ], - [ - -77.889725, - 7.228891 - ], - [ - -77.746674, - 7.722223 - ], - [ - -77.573898, - 7.525278 - ], - [ - -77.215561, - 7.937223 - ], - [ - -77.366669, - 8.675001 - ] - ], - [ - [ - -77.986954, - 8.242224 - ], - [ - -78.003067, - 8.251112 - ], - [ - -77.992233, - 8.250555 - ], - [ - -77.986954, - 8.242224 - ] - ] - ] - ] - }, - "name" : "Panama", - "iso2" : "PA", - "iso3" : "PAN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "6L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -17.102501, - 32.823328 - ], - [ - -16.943611, - 32.637499 - ], - [ - -16.715557, - 32.75889 - ], - [ - -17.102501, - 32.823328 - ] - ] - ], - [ - [ - [ - -16.285835, - 33.094164 - ], - [ - -16.325558, - 33.108057 - ], - [ - -16.400558, - 33.038607 - ], - [ - -16.285835, - 33.094164 - ] - ] - ], - [ - [ - [ - -25.016392, - 36.969721 - ], - [ - -25.086391, - 37.023607 - ], - [ - -25.200558, - 36.985834 - ], - [ - -25.016392, - 36.969721 - ] - ] - ], - [ - [ - [ - -25.585003, - 37.826662 - ], - [ - -25.13028, - 37.811663 - ], - [ - -25.864723, - 37.850557 - ], - [ - -25.585003, - 37.826662 - ] - ] - ], - [ - [ - [ - -28.141113, - 38.449884 - ], - [ - -28.549446, - 38.527224 - ], - [ - -28.037781, - 38.406946 - ], - [ - -28.141113, - 38.449884 - ] - ] - ], - [ - [ - [ - -27.086945, - 38.631388 - ], - [ - -27.065834, - 38.764162 - ], - [ - -27.385002, - 38.76333 - ], - [ - -27.086945, - 38.631388 - ] - ] - ], - [ - [ - [ - -31.215557, - 39.353334 - ], - [ - -31.123058, - 39.448885 - ], - [ - -31.21389, - 39.521944 - ], - [ - -31.215557, - 39.353334 - ] - ] - ], - [ - [ - [ - -7.431854, - 37.253191 - ], - [ - -7.446945, - 37.699442 - ], - [ - -6.939167, - 38.178057 - ], - [ - -7.321112, - 38.449442 - ], - [ - -6.954792, - 39.026384 - ], - [ - -7.532505, - 39.66942 - ], - [ - -7.017221, - 39.674997 - ], - [ - -6.931667, - 41.018053 - ], - [ - -6.187222, - 41.579721 - ], - [ - -6.594166, - 41.953608 - ], - [ - -8.204723, - 41.87472 - ], - [ - -8.201223, - 42.152742 - ], - [ - -8.745008, - 41.952501 - ], - [ - -8.660833, - 40.68722 - ], - [ - -9.484446, - 38.710001 - ], - [ - -8.984446, - 38.947779 - ], - [ - -9.183889, - 38.419718 - ], - [ - -8.673334, - 38.413889 - ], - [ - -8.990278, - 37.02305 - ], - [ - -7.431854, - 37.253191 - ] - ] - ] - ] - }, - "name" : "Portugal", - "iso2" : "PT", - "iso3" : "PRT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "6b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 153.770815, - -11.616388 - ], - [ - 153.19803, - -11.324167 - ], - [ - 153.37607, - -11.567223 - ], - [ - 153.770815, - -11.616388 - ] - ] - ], - [ - [ - [ - 154.297762, - -11.391945 - ], - [ - 154.153872, - -11.314167 - ], - [ - 154.003328, - -11.38389 - ], - [ - 154.297762, - -11.391945 - ] - ] - ], - [ - [ - [ - 153.24106, - -11.26889 - ], - [ - 153.091066, - -11.197222 - ], - [ - 153.210512, - -11.285833 - ], - [ - 153.24106, - -11.26889 - ] - ] - ], - [ - [ - [ - 152.873293, - -10.662222 - ], - [ - 152.540804, - -10.630554 - ], - [ - 152.744417, - -10.716665 - ], - [ - 152.873293, - -10.662222 - ] - ] - ], - [ - [ - [ - 151.069704, - -10.611111 - ], - [ - 150.909975, - -10.654722 - ], - [ - 151.042208, - -10.676945 - ], - [ - 151.069704, - -10.611111 - ] - ] - ], - [ - [ - [ - 150.892214, - -10.650833 - ], - [ - 150.90027, - -10.553055 - ], - [ - 150.790804, - -10.542223 - ], - [ - 150.892214, - -10.650833 - ] - ] - ], - [ - [ - [ - 151.11606, - -10.046667 - ], - [ - 150.759981, - -9.707777 - ], - [ - 150.95859, - -10.110277 - ], - [ - 151.229128, - -10.201111 - ], - [ - 151.281374, - -9.923334 - ], - [ - 151.11606, - -10.046667 - ] - ] - ], - [ - [ - [ - 150.666658, - -9.438334 - ], - [ - 150.421907, - -9.389444 - ], - [ - 150.921633, - -9.670834 - ], - [ - 150.666658, - -9.438334 - ] - ] - ], - [ - [ - [ - 150.339144, - -9.524723 - ], - [ - 150.18915, - -9.211111 - ], - [ - 150.108309, - -9.36861 - ], - [ - 150.339144, - -9.524723 - ] - ] - ], - [ - [ - [ - 152.814974, - -8.972776 - ], - [ - 152.497744, - -9.021666 - ], - [ - 152.997194, - -9.173056 - ], - [ - 152.814974, - -8.972776 - ] - ] - ], - [ - [ - [ - 151.124971, - -8.425556 - ], - [ - 150.99692, - -8.528612 - ], - [ - 151.144442, - -8.830555 - ], - [ - 151.124971, - -8.425556 - ] - ] - ], - [ - [ - [ - 143.638033, - -8.733055 - ], - [ - 143.467196, - -8.527779 - ], - [ - 143.183596, - -8.42 - ], - [ - 143.638033, - -8.733055 - ] - ] - ], - [ - [ - [ - 143.572756, - -8.493889 - ], - [ - 143.57831, - -8.373888 - ], - [ - 143.314425, - -8.376665 - ], - [ - 143.572756, - -8.493889 - ] - ] - ], - [ - [ - [ - 143.687197, - -8.439722 - ], - [ - 143.672213, - -8.354445 - ], - [ - 143.60718, - -8.332777 - ], - [ - 143.687197, - -8.439722 - ] - ] - ], - [ - [ - [ - 143.697481, - -8.245277 - ], - [ - 143.733309, - -8.174723 - ], - [ - 143.651644, - -8.199722 - ], - [ - 143.697481, - -8.245277 - ] - ] - ], - [ - [ - [ - 143.677767, - -8.174723 - ], - [ - 143.700258, - -8.10611 - ], - [ - 143.604952, - -8.108889 - ], - [ - 143.677767, - -8.174723 - ] - ] - ], - [ - [ - [ - 143.731081, - -8.071667 - ], - [ - 143.565248, - -8.02 - ], - [ - 143.588564, - -8.071667 - ], - [ - 143.731081, - -8.071667 - ] - ] - ], - [ - [ - [ - 145.193575, - -7.867222 - ], - [ - 145.182467, - -7.827778 - ], - [ - 145.180544, - -7.861111 - ], - [ - 145.193575, - -7.867222 - ] - ] - ], - [ - [ - [ - 143.999697, - -7.824444 - ], - [ - 143.966921, - -7.748333 - ], - [ - 143.877169, - -7.709723 - ], - [ - 143.999697, - -7.824444 - ] - ] - ], - [ - [ - [ - 154.882448, - -5.543333 - ], - [ - 154.744387, - -5.939779 - ], - [ - 155.239962, - -6.622499 - ], - [ - 155.918581, - -6.807777 - ], - [ - 154.882448, - -5.543333 - ] - ] - ], - [ - [ - [ - 148.061495, - -5.777117 - ], - [ - 147.780275, - -5.494165 - ], - [ - 147.865114, - -5.747753 - ], - [ - 148.061495, - -5.777117 - ] - ] - ], - [ - [ - [ - 148.12079, - -5.468332 - ], - [ - 148.099703, - -5.377499 - ], - [ - 148.071627, - -5.424444 - ], - [ - 148.12079, - -5.468332 - ] - ] - ], - [ - [ - [ - 147.602175, - -5.361944 - ], - [ - 147.609133, - -5.288055 - ], - [ - 147.560518, - -5.31889 - ], - [ - 147.602175, - -5.361944 - ] - ] - ], - [ - [ - [ - 147.153322, - -5.44972 - ], - [ - 147.121065, - -5.191111 - ], - [ - 147.008028, - -5.350277 - ], - [ - 147.153322, - -5.44972 - ] - ] - ], - [ - [ - [ - 154.675539, - -5.440832 - ], - [ - 154.639162, - -5.016388 - ], - [ - 154.530275, - -5.133888 - ], - [ - 154.675539, - -5.440832 - ] - ] - ], - [ - [ - [ - 149.156923, - -4.923056 - ], - [ - 149.161928, - -4.866388 - ], - [ - 149.118013, - -4.889444 - ], - [ - 149.156923, - -4.923056 - ] - ] - ], - [ - [ - [ - 146.246614, - -4.8575 - ], - [ - 146.219973, - -4.788332 - ], - [ - 146.199404, - -4.833611 - ], - [ - 146.246614, - -4.8575 - ] - ] - ], - [ - [ - [ - 149.557192, - -4.718889 - ], - [ - 149.540255, - -4.653889 - ], - [ - 149.455812, - -4.679167 - ], - [ - 149.557192, - -4.718889 - ] - ] - ], - [ - [ - [ - 159.516939, - -4.578056 - ], - [ - 159.518862, - -4.536388 - ], - [ - 159.511385, - -4.576666 - ], - [ - 159.516939, - -4.578056 - ] - ] - ], - [ - [ - [ - 145.951357, - -4.764444 - ], - [ - 145.98163, - -4.5275 - ], - [ - 145.872469, - -4.672499 - ], - [ - 145.951357, - -4.764444 - ] - ] - ], - [ - [ - [ - 154.155245, - -4.438055 - ], - [ - 154.152773, - -4.379444 - ], - [ - 154.132723, - -4.371666 - ], - [ - 154.155245, - -4.438055 - ] - ] - ], - [ - [ - [ - 152.235231, - -4.207222 - ], - [ - 151.51166, - -4.204445 - ], - [ - 151.676088, - -4.908054 - ], - [ - 150.92441, - -5.487221 - ], - [ - 150.164431, - -5.551388 - ], - [ - 150.088869, - -5.007778 - ], - [ - 149.8808, - -5.535 - ], - [ - 148.428591, - -5.451111 - ], - [ - 148.323092, - -5.675377 - ], - [ - 149.056917, - -6.164165 - ], - [ - 150.468569, - -6.276112 - ], - [ - 151.459414, - -5.535833 - ], - [ - 152.096071, - -5.457222 - ], - [ - 151.970797, - -4.993332 - ], - [ - 152.405825, - -4.688889 - ], - [ - 152.235231, - -4.207222 - ] - ], - [ - [ - 149.053591, - -6.094166 - ], - [ - 149.043856, - -6.088612 - ], - [ - 149.05414, - -6.083889 - ], - [ - 149.053591, - -6.094166 - ] - ] - ], - [ - [ - [ - 145.057741, - -4.135277 - ], - [ - 145.109957, - -4.098333 - ], - [ - 145.06885, - -4.045 - ], - [ - 145.057741, - -4.135277 - ] - ] - ], - [ - [ - [ - 153.64554, - -4.140278 - ], - [ - 153.658602, - -4.019167 - ], - [ - 153.584414, - -4.095833 - ], - [ - 153.64554, - -4.140278 - ] - ] - ], - [ - [ - [ - 153.258333, - -3.498888 - ], - [ - 153.233583, - -3.446667 - ], - [ - 153.19385, - -3.468611 - ], - [ - 153.258333, - -3.498888 - ] - ] - ], - [ - [ - [ - 154.83304, - -3.510277 - ], - [ - 154.79941, - -3.424999 - ], - [ - 154.818575, - -3.530277 - ], - [ - 154.83304, - -3.510277 - ] - ] - ], - [ - [ - [ - 153.345247, - -3.411943 - ], - [ - 153.33359, - -3.371389 - ], - [ - 153.262484, - -3.404444 - ], - [ - 153.345247, - -3.411943 - ] - ] - ], - [ - [ - [ - 152.646364, - -3.228611 - ], - [ - 152.599703, - -3.048056 - ], - [ - 152.538881, - -3.10611 - ], - [ - 152.646364, - -3.228611 - ] - ] - ], - [ - [ - [ - 150.941347, - -2.921944 - ], - [ - 150.766085, - -2.979443 - ], - [ - 151.021639, - -2.971943 - ], - [ - 150.941347, - -2.921944 - ] - ] - ], - [ - [ - [ - 152.069979, - -3.001389 - ], - [ - 152.078859, - -2.928333 - ], - [ - 151.973574, - -2.848055 - ], - [ - 152.069979, - -3.001389 - ] - ] - ], - [ - [ - [ - 152.002199, - -2.828888 - ], - [ - 151.932467, - -2.708332 - ], - [ - 151.931643, - -2.8325 - ], - [ - 152.002199, - -2.828888 - ] - ] - ], - [ - [ - [ - 150.906527, - -2.635944 - ], - [ - 150.729677, - -2.740555 - ], - [ - 152.282473, - -3.572777 - ], - [ - 152.691652, - -4.180555 - ], - [ - 152.735506, - -4.660833 - ], - [ - 152.974672, - -4.766666 - ], - [ - 152.989687, - -4.075832 - ], - [ - 152.055819, - -3.247778 - ], - [ - 150.906527, - -2.635944 - ] - ] - ], - [ - [ - [ - 141.007021, - -9.128468 - ], - [ - 142.638887, - -9.334723 - ], - [ - 143.331636, - -9.028334 - ], - [ - 143.110231, - -8.470278 - ], - [ - 142.137209, - -8.225555 - ], - [ - 143.61191, - -8.243889 - ], - [ - 143.358309, - -7.9025 - ], - [ - 143.95801, - -7.978622 - ], - [ - 143.664827, - -7.467649 - ], - [ - 144.213015, - -7.795277 - ], - [ - 144.52054, - -7.501944 - ], - [ - 146.089693, - -8.09111 - ], - [ - 146.586641, - -8.999165 - ], - [ - 146.972475, - -9.029167 - ], - [ - 147.055239, - -9.466665 - ], - [ - 147.952456, - -10.145834 - ], - [ - 149.747744, - -10.342777 - ], - [ - 150.209688, - -10.700556 - ], - [ - 150.691347, - -10.561111 - ], - [ - 150.369112, - -10.321945 - ], - [ - 150.878298, - -10.231667 - ], - [ - 149.914156, - -10.048889 - ], - [ - 149.71747, - -9.826666 - ], - [ - 150.008883, - -9.631388 - ], - [ - 149.219973, - -9.474722 - ], - [ - 149.314699, - -9.01889 - ], - [ - 148.604128, - -9.0825 - ], - [ - 148.135256, - -8.066111 - ], - [ - 147.178591, - -7.463888 - ], - [ - 146.961367, - -6.747221 - ], - [ - 147.869417, - -6.660833 - ], - [ - 147.47687, - -5.974192 - ], - [ - 145.76639, - -5.485277 - ], - [ - 145.735506, - -4.802776 - ], - [ - 144.51166, - -3.820833 - ], - [ - 141.889986, - -2.969999 - ], - [ - 141.002474, - -2.607084 - ], - [ - 141.007021, - -9.128468 - ] - ] - ], - [ - [ - [ - 152.022219, - -2.6675 - ], - [ - 151.983858, - -2.596111 - ], - [ - 151.957735, - -2.664722 - ], - [ - 152.022219, - -2.6675 - ] - ] - ], - [ - [ - [ - 150.458315, - -2.65361 - ], - [ - 150.216372, - -2.377777 - ], - [ - 149.94858, - -2.471666 - ], - [ - 150.458315, - -2.65361 - ] - ] - ], - [ - [ - [ - 147.812471, - -2.349722 - ], - [ - 147.879122, - -2.293612 - ], - [ - 147.815248, - -2.24361 - ], - [ - 147.812471, - -2.349722 - ] - ] - ], - [ - [ - [ - 147.300814, - -2.025278 - ], - [ - 146.638582, - -1.978611 - ], - [ - 146.524996, - -2.190832 - ], - [ - 147.300814, - -2.025278 - ] - ] - ], - [ - [ - [ - 142.866365, - -1.697777 - ], - [ - 142.821077, - -1.695833 - ], - [ - 142.813601, - -1.732777 - ], - [ - 142.866365, - -1.697777 - ] - ] - ], - [ - [ - [ - 149.719698, - -1.433332 - ], - [ - 149.527773, - -1.454443 - ], - [ - 149.731905, - -1.603333 - ], - [ - 149.719698, - -1.433332 - ] - ] - ], - [ - [ - [ - 144.521914, - -1.395554 - ], - [ - 144.51639, - -1.381943 - ], - [ - 144.505556, - -1.380556 - ], - [ - 144.521914, - -1.395554 - ] - ] - ], - [ - [ - [ - 144.52054, - -1.120832 - ], - [ - 144.517214, - -1.098333 - ], - [ - 144.514437, - -1.11611 - ], - [ - 144.52054, - -1.120832 - ] - ] - ] - ] - }, - "name" : "Papua New Guinea", - "iso2" : "PG", - "iso3" : "PNG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "6r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -15.885834, - 11.052221 - ], - [ - -15.94639, - 11.195 - ], - [ - -15.981112, - 11.049444 - ], - [ - -15.885834, - 11.052221 - ] - ] - ], - [ - [ - [ - -16.005836, - 11.068333 - ], - [ - -15.980556, - 11.202499 - ], - [ - -16.06139, - 11.163055 - ], - [ - -16.005836, - 11.068333 - ] - ] - ], - [ - [ - [ - -16.088058, - 11.025555 - ], - [ - -16.0825, - 11.206944 - ], - [ - -16.244167, - 11.100555 - ], - [ - -16.088058, - 11.025555 - ] - ] - ], - [ - [ - [ - -15.862223, - 11.199999 - ], - [ - -15.830278, - 11.300833 - ], - [ - -15.906389, - 11.224998 - ], - [ - -15.862223, - 11.199999 - ] - ] - ], - [ - [ - [ - -15.740002, - 11.166943 - ], - [ - -15.667501, - 11.306389 - ], - [ - -15.77639, - 11.225832 - ], - [ - -15.740002, - 11.166943 - ] - ] - ], - [ - [ - [ - -16.17778, - 11.215277 - ], - [ - -16.160835, - 11.290277 - ], - [ - -16.264446, - 11.281666 - ], - [ - -16.17778, - 11.215277 - ] - ] - ], - [ - [ - [ - -15.679724, - 11.439444 - ], - [ - -15.665834, - 11.502222 - ], - [ - -15.743057, - 11.458332 - ], - [ - -15.679724, - 11.439444 - ] - ] - ], - [ - [ - [ - -16.21278, - 11.439722 - ], - [ - -16.164448, - 11.514999 - ], - [ - -16.300556, - 11.449444 - ], - [ - -16.21278, - 11.439722 - ] - ] - ], - [ - [ - [ - -16.250557, - 11.536665 - ], - [ - -16.39389, - 11.545832 - ], - [ - -16.419445, - 11.482777 - ], - [ - -16.250557, - 11.536665 - ] - ] - ], - [ - [ - [ - -15.952501, - 11.423054 - ], - [ - -15.958334, - 11.594166 - ], - [ - -16.065002, - 11.44972 - ], - [ - -15.952501, - 11.423054 - ] - ] - ], - [ - [ - [ - -15.553057, - 11.517221 - ], - [ - -15.472223, - 11.631109 - ], - [ - -15.633612, - 11.535276 - ], - [ - -15.553057, - 11.517221 - ] - ] - ], - [ - [ - [ - -16.031948, - 11.755833 - ], - [ - -15.978334, - 11.905832 - ], - [ - -16.162224, - 11.86861 - ], - [ - -16.031948, - 11.755833 - ] - ] - ], - [ - [ - [ - -16.236389, - 11.836943 - ], - [ - -16.184723, - 11.876665 - ], - [ - -16.30167, - 11.971666 - ], - [ - -16.236389, - 11.836943 - ] - ] - ], - [ - [ - [ - -13.713139, - 12.677221 - ], - [ - -14.516945, - 12.679722 - ], - [ - -16.71777, - 12.322426 - ], - [ - -16.110558, - 12.330832 - ], - [ - -16.334446, - 12.15111 - ], - [ - -16.333893, - 11.996664 - ], - [ - -16.128056, - 11.881943 - ], - [ - -15.852779, - 12.016666 - ], - [ - -15.704445, - 12.004444 - ], - [ - -15.963335, - 11.734165 - ], - [ - -15.003889, - 11.974165 - ], - [ - -14.931946, - 11.750832 - ], - [ - -15.556667, - 11.723331 - ], - [ - -15.027224, - 11.594166 - ], - [ - -15.509167, - 11.338055 - ], - [ - -15.26528, - 11.425913 - ], - [ - -15.407223, - 11.184999 - ], - [ - -15.022779, - 11.195276 - ], - [ - -15.016848, - 10.956451 - ], - [ - -14.686945, - 11.509722 - ], - [ - -13.709167, - 11.715277 - ], - [ - -13.971035, - 12.154758 - ], - [ - -13.713139, - 12.677221 - ] - ] - ] - ] - }, - "name" : "Guinea-Bissau", - "iso2" : "GW", - "iso3" : "GNB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "671E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 51.51759, - 25.383415 - ], - [ - 51.568054, - 25.908333 - ], - [ - 51.042496, - 26.049442 - ], - [ - 50.830956, - 24.749966 - ], - [ - 51.215164, - 24.620888 - ], - [ - 51.611664, - 25.010277 - ], - [ - 51.51759, - 25.383415 - ] - ] - ] - }, - "name" : "Qatar", - "iso2" : "QA", - "iso3" : "QAT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "7L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 55.709999, - -20.998058 - ], - [ - 55.219719, - -21.027779 - ], - [ - 55.674164, - -21.37389 - ], - [ - 55.709999, - -20.998058 - ] - ] - ] - }, - "name" : "Reunion", - "iso2" : "RE", - "iso3" : "REU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "7b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 22.894804, - 47.95454 - ], - [ - 22.032497, - 47.530273 - ], - [ - 21.176666, - 46.295555 - ], - [ - 20.726955, - 46.17556 - ], - [ - 20.261024, - 46.114853 - ], - [ - 21.513611, - 45.151108 - ], - [ - 21.400398, - 44.780823 - ], - [ - 22.146385, - 44.479164 - ], - [ - 22.479164, - 44.710274 - ], - [ - 22.764893, - 44.559006 - ], - [ - 22.457333, - 44.474358 - ], - [ - 22.681435, - 44.224701 - ], - [ - 23.044167, - 44.076111 - ], - [ - 22.875275, - 43.842499 - ], - [ - 24.179996, - 43.684715 - ], - [ - 25.430229, - 43.626778 - ], - [ - 27.036427, - 44.147339 - ], - [ - 28.583244, - 43.747765 - ], - [ - 28.868324, - 44.943047 - ], - [ - 29.549438, - 44.820267 - ], - [ - 29.664331, - 45.211803 - ], - [ - 28.21484, - 45.448647 - ], - [ - 28.119717, - 46.854404 - ], - [ - 26.634995, - 48.257164 - ], - [ - 24.919441, - 47.711662 - ], - [ - 22.894804, - 47.95454 - ] - ] - ] - }, - "name" : "Romania", - "iso2" : "RO", - "iso3" : "ROU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "7r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 26.634995, - 48.257164 - ], - [ - 28.119717, - 46.854404 - ], - [ - 28.21484, - 45.448647 - ], - [ - 28.971935, - 46.006653 - ], - [ - 28.994434, - 46.478325 - ], - [ - 30.11694, - 46.386101 - ], - [ - 29.949997, - 46.814156 - ], - [ - 29.184441, - 47.443047 - ], - [ - 29.141937, - 47.986092 - ], - [ - 27.755554, - 48.451385 - ], - [ - 26.634995, - 48.257164 - ] - ] - ] - }, - "name" : "Republic of Moldova", - "iso2" : "MD", - "iso3" : "MDA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "771E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 119.472216, - 4.648054 - ], - [ - 119.510538, - 4.763887 - ], - [ - 119.455835, - 4.908888 - ], - [ - 119.472216, - 4.648054 - ] - ] - ], - [ - [ - [ - 120.019152, - 5.030279 - ], - [ - 120.014711, - 5.030832 - ], - [ - 120.018885, - 5.028612 - ], - [ - 120.019152, - 5.030279 - ] - ] - ], - [ - [ - [ - 119.947199, - 5.076944 - ], - [ - 119.941095, - 5.083612 - ], - [ - 119.934145, - 5.075834 - ], - [ - 119.947199, - 5.076944 - ] - ] - ], - [ - [ - [ - 120.244143, - 5.300833 - ], - [ - 120.231089, - 5.325003 - ], - [ - 120.226648, - 5.306391 - ], - [ - 120.244143, - 5.300833 - ] - ] - ], - [ - [ - [ - 120.253603, - 5.233335 - ], - [ - 120.177759, - 5.343611 - ], - [ - 119.831102, - 5.059164 - ], - [ - 120.253603, - 5.233335 - ] - ] - ], - [ - [ - [ - 125.414705, - 5.361113 - ], - [ - 125.405825, - 5.430277 - ], - [ - 125.329988, - 5.38722 - ], - [ - 125.414705, - 5.361113 - ] - ] - ], - [ - [ - [ - 125.478319, - 5.388334 - ], - [ - 125.479433, - 5.491945 - ], - [ - 125.450274, - 5.421946 - ], - [ - 125.478319, - 5.388334 - ] - ] - ], - [ - [ - [ - 120.869715, - 5.491388 - ], - [ - 120.90999, - 5.536112 - ], - [ - 120.843325, - 5.585001 - ], - [ - 120.869715, - 5.491388 - ] - ] - ], - [ - [ - [ - 121.18387, - 5.7875 - ], - [ - 121.146379, - 5.84889 - ], - [ - 121.139162, - 5.785276 - ], - [ - 121.18387, - 5.7875 - ] - ] - ], - [ - [ - [ - 121.185259, - 6.039999 - ], - [ - 120.875528, - 5.92111 - ], - [ - 121.425814, - 5.952501 - ], - [ - 121.185259, - 6.039999 - ] - ] - ], - [ - [ - [ - 121.863039, - 6.01639 - ], - [ - 121.953325, - 6.051111 - ], - [ - 121.762774, - 6.090834 - ], - [ - 121.863039, - 6.01639 - ] - ] - ], - [ - [ - [ - 120.568331, - 6.244722 - ], - [ - 120.599718, - 6.396112 - ], - [ - 120.47777, - 6.264166 - ], - [ - 120.568331, - 6.244722 - ] - ] - ], - [ - [ - [ - 122.230272, - 6.660833 - ], - [ - 121.79471, - 6.593611 - ], - [ - 122.033869, - 6.411112 - ], - [ - 122.230272, - 6.660833 - ] - ] - ], - [ - [ - [ - 118.533602, - 7.035002 - ], - [ - 118.417215, - 7.022223 - ], - [ - 118.54027, - 6.965277 - ], - [ - 118.533602, - 7.035002 - ] - ] - ], - [ - [ - [ - 125.794985, - 6.932775 - ], - [ - 125.699144, - 7.191668 - ], - [ - 125.669985, - 7.075003 - ], - [ - 125.794985, - 6.932775 - ] - ] - ], - [ - [ - [ - 117.022219, - 7.808889 - ], - [ - 117.065538, - 8.078611 - ], - [ - 116.949999, - 8.032221 - ], - [ - 117.022219, - 7.808889 - ] - ] - ], - [ - [ - [ - 117.298868, - 8.182222 - ], - [ - 117.318048, - 8.33111 - ], - [ - 117.268053, - 8.306108 - ], - [ - 117.298868, - 8.182222 - ] - ] - ], - [ - [ - [ - 126.23665, - 9.008333 - ], - [ - 126.229433, - 9.013056 - ], - [ - 126.231661, - 8.998053 - ], - [ - 126.23665, - 9.008333 - ] - ] - ], - [ - [ - [ - 126.263613, - 8.997221 - ], - [ - 126.260538, - 9.006666 - ], - [ - 126.246645, - 9.013613 - ], - [ - 126.263613, - 8.997221 - ] - ] - ], - [ - [ - [ - 123.67499, - 9.226389 - ], - [ - 123.457209, - 9.190554 - ], - [ - 123.609423, - 9.092222 - ], - [ - 123.67499, - 9.226389 - ] - ] - ], - [ - [ - [ - 124.778589, - 9.075556 - ], - [ - 124.672762, - 9.253054 - ], - [ - 124.643602, - 9.155279 - ], - [ - 124.778589, - 9.075556 - ] - ] - ], - [ - [ - [ - 123.773615, - 9.544165 - ], - [ - 123.844995, - 9.63611 - ], - [ - 123.744715, - 9.595278 - ], - [ - 123.773615, - 9.544165 - ] - ] - ], - [ - [ - [ - 125.952478, - 9.557501 - ], - [ - 125.938311, - 9.756388 - ], - [ - 125.900545, - 9.616941 - ], - [ - 125.952478, - 9.557501 - ] - ] - ], - [ - [ - [ - 126.048601, - 9.231943 - ], - [ - 125.440264, - 9.809164 - ], - [ - 125.514711, - 9.006666 - ], - [ - 124.803865, - 9.001665 - ], - [ - 124.72748, - 8.486387 - ], - [ - 124.432215, - 8.615274 - ], - [ - 123.671099, - 7.95389 - ], - [ - 123.818048, - 8.476942 - ], - [ - 123.379152, - 8.727221 - ], - [ - 122.923029, - 8.150831 - ], - [ - 122.223314, - 7.962221 - ], - [ - 121.921099, - 6.994165 - ], - [ - 122.149988, - 6.905279 - ], - [ - 122.623873, - 7.773054 - ], - [ - 122.832766, - 7.275278 - ], - [ - 123.116381, - 7.729445 - ], - [ - 123.454714, - 7.367498 - ], - [ - 123.676653, - 7.812498 - ], - [ - 124.268602, - 7.374445 - ], - [ - 123.948595, - 6.823336 - ], - [ - 124.185808, - 6.210554 - ], - [ - 124.956942, - 5.851389 - ], - [ - 125.263613, - 6.091665 - ], - [ - 125.40555, - 5.563334 - ], - [ - 125.703325, - 6.027224 - ], - [ - 125.377199, - 6.719721 - ], - [ - 125.652208, - 7.236666 - ], - [ - 125.855555, - 7.349722 - ], - [ - 126.191652, - 6.272223 - ], - [ - 126.16527, - 6.881666 - ], - [ - 126.585825, - 7.285002 - ], - [ - 126.048601, - 9.231943 - ] - ] - ], - [ - [ - [ - 124.57416, - 9.854719 - ], - [ - 124.57416, - 9.863333 - ], - [ - 124.565538, - 9.861944 - ], - [ - 124.566095, - 9.849443 - ], - [ - 124.57416, - 9.854719 - ] - ] - ], - [ - [ - [ - 123.384432, - 9.878885 - ], - [ - 123.379702, - 9.888056 - ], - [ - 123.37221, - 9.880552 - ], - [ - 123.384432, - 9.878885 - ] - ] - ], - [ - [ - [ - 126.113039, - 9.744444 - ], - [ - 126.060259, - 10.054167 - ], - [ - 125.945536, - 9.830832 - ], - [ - 126.113039, - 9.744444 - ] - ] - ], - [ - [ - [ - 124.483873, - 10.050833 - ], - [ - 124.148882, - 10.146944 - ], - [ - 123.793322, - 9.729445 - ], - [ - 124.365541, - 9.626944 - ], - [ - 124.483873, - 10.050833 - ] - ] - ], - [ - [ - [ - 125.286928, - 9.909166 - ], - [ - 125.217485, - 10.122221 - ], - [ - 125.12665, - 10.155832 - ], - [ - 125.286928, - 9.909166 - ] - ] - ], - [ - [ - [ - 125.659418, - 9.82472 - ], - [ - 125.645266, - 10.468889 - ], - [ - 125.475275, - 10.131109 - ], - [ - 125.659418, - 9.82472 - ] - ] - ], - [ - [ - [ - 119.827211, - 10.439722 - ], - [ - 120.002489, - 10.591387 - ], - [ - 119.758333, - 10.556944 - ], - [ - 119.827211, - 10.439722 - ] - ] - ], - [ - [ - [ - 124.367205, - 10.607775 - ], - [ - 124.320543, - 10.706942 - ], - [ - 124.27582, - 10.587778 - ], - [ - 124.367205, - 10.607775 - ] - ] - ], - [ - [ - [ - 124.437479, - 10.624998 - ], - [ - 124.517488, - 10.659445 - ], - [ - 124.451395, - 10.714998 - ], - [ - 124.437479, - 10.624998 - ] - ] - ], - [ - [ - [ - 122.635271, - 10.443609 - ], - [ - 122.659418, - 10.748331 - ], - [ - 122.479715, - 10.487776 - ], - [ - 122.635271, - 10.443609 - ] - ] - ], - [ - [ - [ - 125.802469, - 10.688887 - ], - [ - 125.692202, - 10.82361 - ], - [ - 125.662493, - 10.750834 - ], - [ - 125.802469, - 10.688887 - ] - ] - ], - [ - [ - [ - 123.563875, - 10.794165 - ], - [ - 122.952478, - 10.894445 - ], - [ - 122.858324, - 10.097498 - ], - [ - 122.452768, - 9.973333 - ], - [ - 123.014711, - 9.033888 - ], - [ - 123.296373, - 9.229719 - ], - [ - 123.136385, - 9.836111 - ], - [ - 123.563875, - 10.794165 - ] - ] - ], - [ - [ - [ - 121.040545, - 10.791945 - ], - [ - 121.081102, - 10.905279 - ], - [ - 121.003885, - 10.836111 - ], - [ - 121.040545, - 10.791945 - ] - ] - ], - [ - [ - [ - 124.019876, - 11.118944 - ], - [ - 123.310259, - 9.411943 - ], - [ - 124.026934, - 10.381941 - ], - [ - 124.019876, - 11.118944 - ] - ] - ], - [ - [ - [ - 123.750818, - 11.147501 - ], - [ - 123.733049, - 11.300554 - ], - [ - 123.692751, - 11.221388 - ], - [ - 123.750818, - 11.147501 - ] - ] - ], - [ - [ - [ - 119.508577, - 11.335608 - ], - [ - 119.456102, - 10.723608 - ], - [ - 119.216928, - 10.959997 - ], - [ - 119.312479, - 10.582499 - ], - [ - 117.185808, - 8.325556 - ], - [ - 119.712488, - 10.497499 - ], - [ - 119.508577, - 11.335608 - ] - ] - ], - [ - [ - [ - 119.533869, - 11.362497 - ], - [ - 119.54027, - 11.373053 - ], - [ - 119.522219, - 11.366667 - ], - [ - 119.533869, - 11.362497 - ] - ] - ], - [ - [ - [ - 119.832491, - 11.376944 - ], - [ - 119.87137, - 11.506666 - ], - [ - 119.714708, - 11.47611 - ], - [ - 119.832491, - 11.376944 - ] - ] - ], - [ - [ - [ - 124.638895, - 11.293333 - ], - [ - 124.289705, - 11.541388 - ], - [ - 125.014711, - 10.027777 - ], - [ - 124.980272, - 10.379164 - ], - [ - 125.271654, - 10.297499 - ], - [ - 125.029985, - 11.195833 - ], - [ - 124.947481, - 11.425001 - ], - [ - 124.638895, - 11.293333 - ] - ] - ], - [ - [ - [ - 124.584719, - 11.472498 - ], - [ - 124.531374, - 11.67972 - ], - [ - 124.338884, - 11.680834 - ], - [ - 124.584719, - 11.472498 - ] - ] - ], - [ - [ - [ - 124.831675, - 11.528887 - ], - [ - 124.84276, - 11.591665 - ], - [ - 124.71805, - 11.727221 - ], - [ - 124.831675, - 11.528887 - ] - ] - ], - [ - [ - [ - 122.229433, - 11.797777 - ], - [ - 121.84804, - 11.76 - ], - [ - 122.098879, - 11.699999 - ], - [ - 121.943316, - 10.416388 - ], - [ - 123.128595, - 11.174444 - ], - [ - 123.153055, - 11.600275 - ], - [ - 122.880816, - 11.429167 - ], - [ - 122.229433, - 11.797777 - ] - ] - ], - [ - [ - [ - 119.965273, - 11.656942 - ], - [ - 120.070543, - 11.865 - ], - [ - 119.884989, - 11.97611 - ], - [ - 119.965273, - 11.656942 - ] - ], - [ - [ - 120.046373, - 11.823332 - ], - [ - 120.043871, - 11.824442 - ], - [ - 120.046099, - 11.826387 - ], - [ - 120.046373, - 11.823332 - ] - ] - ], - [ - [ - [ - 120.268053, - 11.826944 - ], - [ - 120.254442, - 11.982222 - ], - [ - 120.202768, - 11.946112 - ], - [ - 120.268053, - 11.826944 - ] - ] - ], - [ - [ - [ - 120.084719, - 11.958609 - ], - [ - 120.061655, - 11.992498 - ], - [ - 120.065538, - 11.964167 - ], - [ - 120.084719, - 11.958609 - ] - ] - ], - [ - [ - [ - 119.953585, - 12.021666 - ], - [ - 119.959414, - 12.036943 - ], - [ - 119.950258, - 12.030554 - ], - [ - 119.953585, - 12.021666 - ] - ] - ], - [ - [ - [ - 121.137499, - 12.157499 - ], - [ - 121.045824, - 12.290556 - ], - [ - 121.042765, - 12.229445 - ], - [ - 121.137499, - 12.157499 - ] - ] - ], - [ - [ - [ - 120.168299, - 12.11833 - ], - [ - 119.873873, - 12.314444 - ], - [ - 120.339983, - 11.992777 - ], - [ - 120.168299, - 12.11833 - ] - ] - ], - [ - [ - [ - 122.681093, - 12.308054 - ], - [ - 122.669436, - 12.48361 - ], - [ - 122.432482, - 12.461111 - ], - [ - 122.681093, - 12.308054 - ] - ] - ], - [ - [ - [ - 124.463884, - 12.520834 - ], - [ - 124.258043, - 12.555555 - ], - [ - 124.386934, - 12.190275 - ], - [ - 125.042482, - 11.747221 - ], - [ - 124.843599, - 11.466387 - ], - [ - 124.969995, - 11.4475 - ], - [ - 125.269442, - 11.128054 - ], - [ - 125.760271, - 11.011667 - ], - [ - 125.296946, - 12.457499 - ], - [ - 124.463884, - 12.520834 - ] - ], - [ - [ - 125.672495, - 11.089998 - ], - [ - 125.664705, - 11.102777 - ], - [ - 125.681932, - 11.103609 - ], - [ - 125.672495, - 11.089998 - ] - ] - ], - [ - [ - [ - 123.669436, - 12.346945 - ], - [ - 123.241655, - 12.606943 - ], - [ - 123.157763, - 11.908609 - ], - [ - 123.530275, - 12.208609 - ], - [ - 124.076395, - 11.718332 - ], - [ - 123.669436, - 12.346945 - ] - ] - ], - [ - [ - [ - 122.306932, - 12.486387 - ], - [ - 122.283052, - 12.633333 - ], - [ - 122.248034, - 12.56111 - ], - [ - 122.306932, - 12.486387 - ] - ] - ], - [ - [ - [ - 123.792215, - 12.344999 - ], - [ - 123.72777, - 12.601664 - ], - [ - 123.585543, - 12.660555 - ], - [ - 123.792215, - 12.344999 - ] - ] - ], - [ - [ - [ - 122.048601, - 12.176664 - ], - [ - 122.122759, - 12.676943 - ], - [ - 121.917482, - 12.304167 - ], - [ - 122.048601, - 12.176664 - ] - ] - ], - [ - [ - [ - 123.382479, - 12.691942 - ], - [ - 123.048601, - 13.134722 - ], - [ - 122.931932, - 13.109999 - ], - [ - 123.382479, - 12.691942 - ] - ] - ], - [ - [ - [ - 124.21805, - 13.172499 - ], - [ - 124.163309, - 13.232222 - ], - [ - 124.078325, - 13.211111 - ], - [ - 124.21805, - 13.172499 - ] - ] - ], - [ - [ - [ - 124.046099, - 13.220552 - ], - [ - 124.098879, - 13.260557 - ], - [ - 123.914995, - 13.286386 - ], - [ - 123.956102, - 13.2325 - ], - [ - 124.046099, - 13.220552 - ] - ] - ], - [ - [ - [ - 123.913042, - 13.243055 - ], - [ - 123.890482, - 13.27878 - ], - [ - 123.930819, - 13.324442 - ], - [ - 123.851091, - 13.351942 - ], - [ - 123.853868, - 13.267221 - ], - [ - 123.879152, - 13.229445 - ], - [ - 123.913042, - 13.243055 - ] - ] - ], - [ - [ - [ - 122.151384, - 13.395555 - ], - [ - 122.126085, - 13.421946 - ], - [ - 122.131655, - 13.400831 - ], - [ - 122.151384, - 13.395555 - ] - ] - ], - [ - [ - [ - 122.123438, - 13.404104 - ], - [ - 121.813311, - 13.44861 - ], - [ - 122.003328, - 13.202223 - ], - [ - 122.123438, - 13.404104 - ] - ] - ], - [ - [ - [ - 120.721651, - 13.477777 - ], - [ - 120.303308, - 13.443609 - ], - [ - 121.220545, - 12.230555 - ], - [ - 121.558321, - 12.60111 - ], - [ - 121.502214, - 13.14889 - ], - [ - 120.721651, - 13.477777 - ] - ] - ], - [ - [ - [ - 120.281939, - 13.754168 - ], - [ - 120.079988, - 13.849165 - ], - [ - 120.274698, - 13.668333 - ], - [ - 120.281939, - 13.754168 - ] - ] - ], - [ - [ - [ - 124.287363, - 13.946177 - ], - [ - 124.03055, - 13.663889 - ], - [ - 124.20804, - 13.515276 - ], - [ - 124.287363, - 13.946177 - ] - ] - ], - [ - [ - [ - 124.301088, - 13.952223 - ], - [ - 124.303041, - 13.96361 - ], - [ - 124.294146, - 13.958055 - ], - [ - 124.301088, - 13.952223 - ] - ] - ], - [ - [ - [ - 124.342211, - 13.942221 - ], - [ - 124.325274, - 13.981943 - ], - [ - 124.312761, - 13.955 - ], - [ - 124.342211, - 13.942221 - ] - ] - ], - [ - [ - [ - 122.171099, - 13.99861 - ], - [ - 122.124422, - 14.088888 - ], - [ - 121.917482, - 14.185278 - ], - [ - 122.171099, - 13.99861 - ] - ] - ], - [ - [ - [ - 122.254175, - 14.722498 - ], - [ - 122.213045, - 14.839167 - ], - [ - 122.098604, - 14.837778 - ], - [ - 122.254175, - 14.722498 - ] - ] - ], - [ - [ - [ - 122.050814, - 14.996664 - ], - [ - 121.819155, - 14.991667 - ], - [ - 121.930819, - 14.629164 - ], - [ - 122.050814, - 14.996664 - ] - ] - ], - [ - [ - [ - 120.000269, - 16.225554 - ], - [ - 120.002779, - 16.340555 - ], - [ - 119.974154, - 16.346666 - ], - [ - 119.924425, - 16.299444 - ], - [ - 120.000269, - 16.225554 - ] - ] - ], - [ - [ - [ - 121.256655, - 18.566111 - ], - [ - 120.570543, - 18.490831 - ], - [ - 120.421923, - 16.155832 - ], - [ - 120.156649, - 16.036112 - ], - [ - 119.935259, - 16.242773 - ], - [ - 119.919146, - 16.290277 - ], - [ - 119.928865, - 16.384996 - ], - [ - 119.786928, - 16.323053 - ], - [ - 120.086115, - 14.785276 - ], - [ - 120.493319, - 14.42972 - ], - [ - 120.551653, - 14.826944 - ], - [ - 120.956652, - 14.636946 - ], - [ - 120.592211, - 14.231112 - ], - [ - 120.661104, - 13.768332 - ], - [ - 121.279428, - 13.593889 - ], - [ - 121.754709, - 13.964445 - ], - [ - 122.607485, - 13.163889 - ], - [ - 122.560999, - 13.936567 - ], - [ - 123.322222, - 13.008612 - ], - [ - 124.028589, - 12.963053 - ], - [ - 123.848879, - 12.731943 - ], - [ - 124.082766, - 12.540556 - ], - [ - 124.195826, - 13.057775 - ], - [ - 123.762774, - 13.061666 - ], - [ - 123.531939, - 13.575556 - ], - [ - 123.92499, - 13.789167 - ], - [ - 123.34305, - 14.086943 - ], - [ - 123.099993, - 13.667498 - ], - [ - 122.71332, - 14.338331 - ], - [ - 122.165545, - 14.158056 - ], - [ - 122.233324, - 13.897223 - ], - [ - 121.733873, - 14.170832 - ], - [ - 121.378862, - 15.33222 - ], - [ - 122.533335, - 17.099443 - ], - [ - 122.170259, - 17.607222 - ], - [ - 122.241655, - 18.512777 - ], - [ - 121.936655, - 18.269445 - ], - [ - 121.256655, - 18.566111 - ] - ], - [ - [ - 122.735262, - 13.774168 - ], - [ - 122.72748, - 13.777224 - ], - [ - 122.744982, - 13.781668 - ], - [ - 122.735262, - 13.774168 - ] - ] - ], - [ - [ - [ - 121.400545, - 18.847219 - ], - [ - 121.484423, - 18.882776 - ], - [ - 121.279428, - 18.86611 - ], - [ - 121.400545, - 18.847219 - ] - ] - ], - [ - [ - [ - 121.882753, - 18.833334 - ], - [ - 121.946093, - 19.004446 - ], - [ - 121.833055, - 18.880552 - ], - [ - 121.882753, - 18.833334 - ] - ] - ], - [ - [ - [ - 121.25139, - 19.011946 - ], - [ - 121.220263, - 19.172773 - ], - [ - 121.201929, - 19.065275 - ], - [ - 121.25139, - 19.011946 - ] - ] - ], - [ - [ - [ - 121.539705, - 19.266668 - ], - [ - 121.53055, - 19.389719 - ], - [ - 121.372759, - 19.364443 - ], - [ - 121.539705, - 19.266668 - ] - ] - ], - [ - [ - [ - 121.974703, - 19.479998 - ], - [ - 121.993593, - 19.565275 - ], - [ - 121.903055, - 19.550276 - ], - [ - 121.974703, - 19.479998 - ] - ] - ], - [ - [ - [ - 121.886934, - 20.283335 - ], - [ - 121.846369, - 20.352777 - ], - [ - 121.841928, - 20.282499 - ], - [ - 121.886934, - 20.283335 - ] - ] - ], - [ - [ - [ - 121.954439, - 20.348608 - ], - [ - 122.026659, - 20.483332 - ], - [ - 121.923868, - 20.407221 - ], - [ - 121.954439, - 20.348608 - ] - ] - ], - [ - [ - [ - 121.812189, - 20.686663 - ], - [ - 121.883333, - 20.765276 - ], - [ - 121.870821, - 20.834723 - ], - [ - 121.812189, - 20.686663 - ] - ] - ], - [ - [ - [ - 121.956942, - 21.103609 - ], - [ - 121.949709, - 21.118055 - ], - [ - 121.949419, - 21.106108 - ], - [ - 121.956942, - 21.103609 - ] - ] - ] - ] - }, - "name" : "Philippines", - "iso2" : "PH", - "iso3" : "PHL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "8L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -67.880569, - 18.048332 - ], - [ - -67.84668, - 18.107498 - ], - [ - -67.930847, - 18.109722 - ], - [ - -67.880569, - 18.048332 - ] - ] - ], - [ - [ - [ - -65.441391, - 18.090275 - ], - [ - -65.301117, - 18.147778 - ], - [ - -65.580292, - 18.114719 - ], - [ - -65.441391, - 18.090275 - ] - ] - ], - [ - [ - [ - -65.242783, - 18.302219 - ], - [ - -65.338898, - 18.346664 - ], - [ - -65.275284, - 18.276943 - ], - [ - -65.242783, - 18.302219 - ] - ] - ], - [ - [ - [ - -66.996674, - 18.504997 - ], - [ - -67.266113, - 18.368053 - ], - [ - -67.187225, - 17.932499 - ], - [ - -65.603058, - 18.232498 - ], - [ - -66.996674, - 18.504997 - ] - ] - ] - ] - }, - "name" : "Puerto Rico", - "iso2" : "PR", - "iso3" : "PRI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "8b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 180, - 71.53586 - ], - [ - 178.617739, - 71.03554 - ], - [ - 178.791018, - 70.796404 - ], - [ - 180, - 70.99721 - ], - [ - 180, - 71.53586 - ] - ] - ], - [ - [ - [ - 130.604372, - 42.421862 - ], - [ - 130.638887, - 42.406939 - ], - [ - 130.69742, - 42.292208 - ], - [ - 130.699984, - 42.679163 - ], - [ - 131.221346, - 42.555826 - ], - [ - 131.810518, - 43.325556 - ], - [ - 132.056368, - 43.313326 - ], - [ - 131.943026, - 43.063883 - ], - [ - 132.352175, - 43.292772 - ], - [ - 132.310518, - 42.844439 - ], - [ - 133.151369, - 42.682215 - ], - [ - 135.129671, - 43.49888 - ], - [ - 140.175814, - 48.448603 - ], - [ - 140.407473, - 49.87166 - ], - [ - 140.695803, - 50.087496 - ], - [ - 140.460512, - 50.706659 - ], - [ - 141.514162, - 52.213327 - ], - [ - 140.705538, - 53.113054 - ], - [ - 141.199984, - 52.986383 - ], - [ - 141.41913, - 53.290277 - ], - [ - 139.74634, - 54.308886 - ], - [ - 138.641939, - 54.295275 - ], - [ - 138.444124, - 53.510553 - ], - [ - 138.239412, - 53.562494 - ], - [ - 138.553865, - 53.989435 - ], - [ - 137.310793, - 53.53277 - ], - [ - 137.859133, - 53.961382 - ], - [ - 137.307985, - 54.114443 - ], - [ - 137.738863, - 54.317217 - ], - [ - 137.187166, - 54.214716 - ], - [ - 137.061892, - 54.140833 - ], - [ - 137.289125, - 54.033609 - ], - [ - 137.172487, - 53.834719 - ], - [ - 136.760805, - 53.768602 - ], - [ - 136.816072, - 54.651384 - ], - [ - 135.736635, - 54.570551 - ], - [ - 135.154421, - 54.859438 - ], - [ - 140.49634, - 57.823328 - ], - [ - 140.68857, - 58.233881 - ], - [ - 142.1597, - 59.069162 - ], - [ - 143.926363, - 59.413324 - ], - [ - 148.898043, - 59.239161 - ], - [ - 148.743013, - 59.491663 - ], - [ - 149.598574, - 59.771379 - ], - [ - 152.287752, - 59.226938 - ], - [ - 151.07358, - 59.110552 - ], - [ - 151.30942, - 58.836939 - ], - [ - 152.877169, - 58.917498 - ], - [ - 153.368563, - 59.243052 - ], - [ - 154.74164, - 59.12694 - ], - [ - 155.190523, - 59.357805 - ], - [ - 154.114138, - 59.459719 - ], - [ - 154.232729, - 59.881937 - ], - [ - 157.486635, - 61.803324 - ], - [ - 159.247469, - 61.92222 - ], - [ - 159.531099, - 61.662767 - ], - [ - 160.354952, - 61.947489 - ], - [ - 159.827181, - 61.261385 - ], - [ - 159.78055, - 60.940828 - ], - [ - 160.391359, - 61.025827 - ], - [ - 160.137758, - 60.583605 - ], - [ - 162.403322, - 61.672495 - ], - [ - 163.288027, - 61.664438 - ], - [ - 162.950258, - 61.806383 - ], - [ - 163.263613, - 62.545 - ], - [ - 164.359407, - 62.712214 - ], - [ - 165.642488, - 62.452776 - ], - [ - 164.127748, - 62.28277 - ], - [ - 163.658327, - 60.871935 - ], - [ - 161.914431, - 60.42277 - ], - [ - 158.233309, - 58.019442 - ], - [ - 156.748842, - 57.728327 - ], - [ - 156.977755, - 57.414438 - ], - [ - 155.948854, - 56.666101 - ], - [ - 155.54413, - 55.303606 - ], - [ - 156.668306, - 50.881662 - ], - [ - 158.27582, - 51.936655 - ], - [ - 158.644716, - 52.894716 - ], - [ - 158.430544, - 53.021936 - ], - [ - 160.055239, - 53.093607 - ], - [ - 159.791658, - 53.514719 - ], - [ - 160.005831, - 54.139162 - ], - [ - 162.112185, - 54.761942 - ], - [ - 161.712465, - 55.496943 - ], - [ - 162.036928, - 56.061663 - ], - [ - 162.572206, - 56.267214 - ], - [ - 162.393587, - 56.399996 - ], - [ - 163.089144, - 56.534166 - ], - [ - 162.645266, - 56.191935 - ], - [ - 163.354677, - 56.198603 - ], - [ - 163.213869, - 56.740549 - ], - [ - 162.791353, - 56.791109 - ], - [ - 162.73691, - 57.357775 - ], - [ - 163.213594, - 57.836107 - ], - [ - 162.571077, - 57.951105 - ], - [ - 162.346071, - 57.684717 - ], - [ - 161.938875, - 58.074442 - ], - [ - 163.044771, - 59.010317 - ], - [ - 162.876345, - 59.128046 - ], - [ - 163.193575, - 59.053606 - ], - [ - 163.173037, - 59.55916 - ], - [ - 163.63553, - 60.045549 - ], - [ - 164.15555, - 59.852777 - ], - [ - 164.468569, - 60.111383 - ], - [ - 164.832186, - 59.781107 - ], - [ - 165.182467, - 59.981104 - ], - [ - 164.997194, - 60.129435 - ], - [ - 166.348574, - 60.486383 - ], - [ - 166.137758, - 59.815271 - ], - [ - 167.050264, - 60.323885 - ], - [ - 169.210238, - 60.622766 - ], - [ - 170.248842, - 59.909433 - ], - [ - 170.641939, - 60.417498 - ], - [ - 172.956087, - 61.302774 - ], - [ - 172.710787, - 61.429995 - ], - [ - 177.265535, - 62.574717 - ], - [ - 176.975527, - 62.865549 - ], - [ - 179.061373, - 62.284723 - ], - [ - 179.561098, - 62.621378 - ], - [ - 179.236635, - 62.994158 - ], - [ - 179.408602, - 63.142771 - ], - [ - 178.772219, - 63.594995 - ], - [ - 178.688021, - 63.383051 - ], - [ - 178.26166, - 63.562494 - ], - [ - 178.757479, - 63.639994 - ], - [ - 178.367464, - 64.273882 - ], - [ - 177.631899, - 64.31888 - ], - [ - 177.486086, - 64.761385 - ], - [ - 174.436647, - 64.688311 - ], - [ - 177.303316, - 64.827776 - ], - [ - 176.302767, - 65.04999 - ], - [ - 176.899721, - 65.083605 - ], - [ - 177.609407, - 64.71805 - ], - [ - 178.755556, - 64.682207 - ], - [ - 178.522219, - 64.588045 - ], - [ - 180, - 65.068911 - ], - [ - 180, - 68.980104 - ], - [ - 176.11191, - 69.890551 - ], - [ - 173.191927, - 69.779711 - ], - [ - 170.471895, - 70.134157 - ], - [ - 170.567202, - 69.778048 - ], - [ - 170.123842, - 69.609987 - ], - [ - 170.609133, - 69.580278 - ], - [ - 171.031923, - 69.042208 - ], - [ - 170.61194, - 68.756334 - ], - [ - 168.283327, - 69.241655 - ], - [ - 167.786928, - 69.776094 - ], - [ - 166.860506, - 69.490541 - ], - [ - 164.014437, - 69.767488 - ], - [ - 161.446077, - 69.385546 - ], - [ - 161.579683, - 68.914995 - ], - [ - 161.319429, - 68.792482 - ], - [ - 161.127748, - 68.555254 - ], - [ - 160.846071, - 68.522768 - ], - [ - 161.066072, - 68.563311 - ], - [ - 161.411654, - 68.979708 - ], - [ - 160.963869, - 69.103594 - ], - [ - 160.995241, - 69.58832 - ], - [ - 159.729677, - 69.834719 - ], - [ - 160.038027, - 70.40555 - ], - [ - 159.053865, - 70.869143 - ], - [ - 155.937197, - 71.094439 - ], - [ - 152.538301, - 70.83777 - ], - [ - 151.663607, - 70.980822 - ], - [ - 152.141085, - 70.997484 - ], - [ - 151.45331, - 71.343325 - ], - [ - 150.023592, - 71.207491 - ], - [ - 150.667757, - 71.489428 - ], - [ - 148.82358, - 71.669985 - ], - [ - 150.075258, - 71.883883 - ], - [ - 149.185244, - 72.22249 - ], - [ - 147.139711, - 72.317217 - ], - [ - 146.088289, - 71.793871 - ], - [ - 145.31885, - 71.658037 - ], - [ - 144.913301, - 71.695818 - ], - [ - 145.216341, - 71.827211 - ], - [ - 144.956911, - 71.95833 - ], - [ - 145.802401, - 71.925539 - ], - [ - 145.614962, - 72.080553 - ], - [ - 145.749117, - 72.207216 - ], - [ - 145.608309, - 72.243593 - ], - [ - 145.711641, - 72.252214 - ], - [ - 145.898317, - 72.206102 - ], - [ - 145.985506, - 72.061373 - ], - [ - 146.339968, - 72.128038 - ], - [ - 145.988558, - 72.025545 - ], - [ - 145.964663, - 71.846941 - ], - [ - 146.930269, - 72.30942 - ], - [ - 145.086367, - 72.259157 - ], - [ - 144.391939, - 72.171923 - ], - [ - 144.138582, - 72.27083 - ], - [ - 146.848024, - 72.34749 - ], - [ - 140.748842, - 72.889437 - ], - [ - 141.024141, - 72.585817 - ], - [ - 139.085238, - 72.233324 - ], - [ - 140.198305, - 72.203325 - ], - [ - 139.336641, - 71.945528 - ], - [ - 139.932467, - 71.484987 - ], - [ - 138.066072, - 71.57361 - ], - [ - 137.824129, - 71.383883 - ], - [ - 138.221346, - 71.262209 - ], - [ - 137.854128, - 71.111376 - ], - [ - 135.864962, - 71.639711 - ], - [ - 133.67914, - 71.433321 - ], - [ - 132.728029, - 71.941927 - ], - [ - 131.946627, - 71.289156 - ], - [ - 132.184694, - 71.214708 - ], - [ - 131.130251, - 70.731096 - ], - [ - 128.847445, - 71.601381 - ], - [ - 129.539949, - 71.722216 - ], - [ - 129.072481, - 72.00194 - ], - [ - 129.179934, - 71.800264 - ], - [ - 128.711641, - 71.77054 - ], - [ - 127.658602, - 72.34749 - ], - [ - 126.719149, - 72.388887 - ], - [ - 127.326082, - 71.898043 - ], - [ - 127.220545, - 71.392488 - ], - [ - 127.129412, - 71.851091 - ], - [ - 126.372484, - 72.353319 - ], - [ - 126.117754, - 72.266939 - ], - [ - 124.729715, - 72.626375 - ], - [ - 121.865808, - 72.96805 - ], - [ - 119.817759, - 72.935808 - ], - [ - 118.392214, - 73.235811 - ], - [ - 118.993876, - 73.489153 - ], - [ - 118.634432, - 73.571657 - ], - [ - 113.475275, - 73.504168 - ], - [ - 114.033869, - 73.341936 - ], - [ - 113.546946, - 73.242205 - ], - [ - 113.530825, - 72.960268 - ], - [ - 113.151094, - 72.839434 - ], - [ - 114.04471, - 72.597216 - ], - [ - 113.178591, - 72.723604 - ], - [ - 113.104433, - 72.853594 - ], - [ - 113.486368, - 72.95833 - ], - [ - 113.499422, - 73.334154 - ], - [ - 112.887774, - 73.964998 - ], - [ - 112.248323, - 73.706942 - ], - [ - 111.201395, - 73.967485 - ], - [ - 111.543322, - 74.044985 - ], - [ - 110.200411, - 74.024446 - ], - [ - 109.529161, - 73.770266 - ], - [ - 110.914324, - 73.696688 - ], - [ - 106.333879, - 73.187197 - ], - [ - 105.211931, - 72.764711 - ], - [ - 107.142488, - 73.614702 - ], - [ - 108.189699, - 73.670259 - ], - [ - 113.717485, - 75.408602 - ], - [ - 112.337198, - 75.846651 - ], - [ - 113.509432, - 75.532488 - ], - [ - 113.892488, - 75.849993 - ], - [ - 113.242754, - 76.262209 - ], - [ - 112.566675, - 76.040545 - ], - [ - 112.742754, - 76.328325 - ], - [ - 111.103868, - 76.755266 - ], - [ - 106.401094, - 76.509722 - ], - [ - 107.503603, - 76.922213 - ], - [ - 104.117205, - 77.090822 - ], - [ - 106.291933, - 77.362764 - ], - [ - 104.267488, - 77.675814 - ], - [ - 103.105555, - 77.631929 - ], - [ - 100.849718, - 76.878588 - ], - [ - 101.234713, - 76.753054 - ], - [ - 100.878313, - 76.551378 - ], - [ - 102.233599, - 76.377199 - ], - [ - 98.813875, - 76.492754 - ], - [ - 99.877199, - 76.091661 - ], - [ - 99.171923, - 75.569994 - ], - [ - 100.186258, - 75.168535 - ], - [ - 99.094439, - 75.554979 - ], - [ - 99.768328, - 76.031099 - ], - [ - 99.276934, - 76.214159 - ], - [ - 95.743868, - 75.850542 - ], - [ - 96.197756, - 76.085268 - ], - [ - 93.15555, - 76.097765 - ], - [ - 92.865267, - 75.94832 - ], - [ - 94.161928, - 75.942751 - ], - [ - 86.994982, - 75.151384 - ], - [ - 87.785814, - 75.022219 - ], - [ - 87.181658, - 74.989977 - ], - [ - 87.38666, - 74.943041 - ], - [ - 86.913042, - 74.61249 - ], - [ - 86.029161, - 74.813036 - ], - [ - 85.789156, - 74.630816 - ], - [ - 87.132753, - 74.369143 - ], - [ - 85.951097, - 74.280825 - ], - [ - 87.664995, - 73.894716 - ], - [ - 85.84804, - 73.475267 - ], - [ - 86.783602, - 72.994081 - ], - [ - 85.778322, - 73.459719 - ], - [ - 87.086931, - 73.859423 - ], - [ - 80.509996, - 73.571657 - ], - [ - 80.248598, - 73.31415 - ], - [ - 80.572496, - 73.220537 - ], - [ - 80.231096, - 73.173601 - ], - [ - 80.817217, - 72.966097 - ], - [ - 80.721376, - 72.526094 - ], - [ - 82.192476, - 72.283052 - ], - [ - 83.628588, - 71.623873 - ], - [ - 83.148333, - 71.236101 - ], - [ - 83.745531, - 70.459993 - ], - [ - 83.531664, - 70.339159 - ], - [ - 82.951662, - 70.320543 - ], - [ - 83.130541, - 70.20804 - ], - [ - 83.19359, - 70.123308 - ], - [ - 83.106936, - 70.068605 - ], - [ - 82.639162, - 70.174425 - ], - [ - 83.118868, - 70.887499 - ], - [ - 82.160265, - 70.577486 - ], - [ - 82.346102, - 70.198595 - ], - [ - 82.081102, - 70.567766 - ], - [ - 82.414431, - 70.771105 - ], - [ - 82.257494, - 71.259722 - ], - [ - 83.261644, - 71.721087 - ], - [ - 81.653048, - 71.70804 - ], - [ - 78.538042, - 72.403597 - ], - [ - 77.369982, - 72.098879 - ], - [ - 78.104738, - 71.876146 - ], - [ - 76.09749, - 71.928591 - ], - [ - 76.27054, - 71.571657 - ], - [ - 79.112764, - 71.002489 - ], - [ - 76.915819, - 71.069719 - ], - [ - 75.24193, - 71.376085 - ], - [ - 75.715822, - 72.556643 - ], - [ - 74.829988, - 72.834154 - ], - [ - 74.95804, - 72.109423 - ], - [ - 73.532198, - 71.819155 - ], - [ - 73.015276, - 71.421648 - ], - [ - 74.314989, - 70.673601 - ], - [ - 73.51639, - 69.755556 - ], - [ - 73.894442, - 69.425814 - ], - [ - 73.749422, - 69.168047 - ], - [ - 76.037203, - 69.2372 - ], - [ - 77.634996, - 68.907763 - ], - [ - 78.1747, - 68.265001 - ], - [ - 77.558596, - 68.143877 - ], - [ - 77.462496, - 67.762209 - ], - [ - 79.044847, - 67.567156 - ], - [ - 77.091936, - 67.778597 - ], - [ - 77.324434, - 68.516939 - ], - [ - 76.591661, - 68.968325 - ], - [ - 74.640551, - 68.769152 - ], - [ - 74.332766, - 68.380266 - ], - [ - 74.731661, - 68.143053 - ], - [ - 74.739977, - 67.691652 - ], - [ - 73.908876, - 67.298037 - ], - [ - 73.847216, - 66.981096 - ], - [ - 72.000002, - 66.219439 - ], - [ - 69.38611, - 66.507494 - ], - [ - 68.96776, - 66.804155 - ], - [ - 70.730822, - 66.757219 - ], - [ - 70.291368, - 66.623873 - ], - [ - 70.694979, - 66.508043 - ], - [ - 71.558596, - 66.645266 - ], - [ - 71.410265, - 66.966936 - ], - [ - 72.231096, - 67.16054 - ], - [ - 72.040545, - 67.296938 - ], - [ - 73.040819, - 67.724154 - ], - [ - 73.09804, - 68.216936 - ], - [ - 73.648043, - 68.457766 - ], - [ - 72.553865, - 68.976656 - ], - [ - 72.686373, - 69.849718 - ], - [ - 72.4247, - 70.270266 - ], - [ - 72.778048, - 70.418047 - ], - [ - 72.840548, - 70.865267 - ], - [ - 71.802477, - 71.47249 - ], - [ - 72.881929, - 72.281374 - ], - [ - 72.83333, - 72.708605 - ], - [ - 71.560534, - 72.909716 - ], - [ - 69.333879, - 72.94887 - ], - [ - 68.465548, - 71.818895 - ], - [ - 66.623034, - 71.051653 - ], - [ - 66.891665, - 71.077486 - ], - [ - 66.688875, - 70.760546 - ], - [ - 67.339708, - 70.750277 - ], - [ - 67.088045, - 70.217211 - ], - [ - 67.327776, - 70.09749 - ], - [ - 66.873308, - 70.001101 - ], - [ - 66.79915, - 69.57416 - ], - [ - 66.950274, - 69.528872 - ], - [ - 67.000551, - 69.699709 - ], - [ - 68.101656, - 69.546648 - ], - [ - 68.459719, - 68.978045 - ], - [ - 69.220263, - 68.957216 - ], - [ - 68.436373, - 68.224993 - ], - [ - 68.265001, - 68.187487 - ], - [ - 68.159426, - 68.411379 - ], - [ - 67.193041, - 68.704714 - ], - [ - 67.039156, - 68.789705 - ], - [ - 67.116091, - 68.84276 - ], - [ - 64.787767, - 69.142763 - ], - [ - 65.002779, - 69.298037 - ], - [ - 64.150545, - 69.541933 - ], - [ - 60.874437, - 69.863604 - ], - [ - 60.140551, - 69.57416 - ], - [ - 60.914438, - 68.904711 - ], - [ - 59.811663, - 68.681932 - ], - [ - 59.836107, - 68.366655 - ], - [ - 59.073328, - 68.421373 - ], - [ - 59.427217, - 68.745256 - ], - [ - 58.898333, - 68.999712 - ], - [ - 57.276102, - 68.555819 - ], - [ - 55.324732, - 68.550005 - ], - [ - 54.791941, - 68.163042 - ], - [ - 53.209993, - 68.261385 - ], - [ - 53.945826, - 68.399996 - ], - [ - 53.719713, - 68.651934 - ], - [ - 54.019159, - 68.855257 - ], - [ - 53.598879, - 68.908037 - ], - [ - 54.560823, - 68.992479 - ], - [ - 53.783609, - 68.96805 - ], - [ - 52.288332, - 68.614153 - ], - [ - 52.733049, - 68.466387 - ], - [ - 52.268602, - 68.305819 - ], - [ - 52.074717, - 68.544436 - ], - [ - 48.591105, - 67.934984 - ], - [ - 49.101107, - 67.628038 - ], - [ - 47.994997, - 67.65027 - ], - [ - 47.699717, - 66.986376 - ], - [ - 46.385553, - 66.739702 - ], - [ - 46.600832, - 66.853319 - ], - [ - 44.911936, - 67.372759 - ], - [ - 45.382494, - 67.735537 - ], - [ - 46.706942, - 67.813036 - ], - [ - 46.52083, - 68.144152 - ], - [ - 45.903322, - 68.48221 - ], - [ - 43.311663, - 68.684984 - ], - [ - 44.245829, - 68.270266 - ], - [ - 43.75194, - 67.31888 - ], - [ - 44.496386, - 66.907488 - ], - [ - 44.17444, - 65.874697 - ], - [ - 43.858049, - 66.176928 - ], - [ - 43.354715, - 66.038591 - ], - [ - 43.697489, - 66.235811 - ], - [ - 43.299723, - 66.422213 - ], - [ - 42.168329, - 66.522768 - ], - [ - 39.75139, - 65.550814 - ], - [ - 40.505831, - 64.535265 - ], - [ - 38.046946, - 64.6411 - ], - [ - 38.408602, - 64.858873 - ], - [ - 37.032213, - 65.20833 - ], - [ - 36.439714, - 64.942751 - ], - [ - 37.144716, - 64.408876 - ], - [ - 37.978876, - 64.316668 - ], - [ - 38.077494, - 64.017214 - ], - [ - 37.414995, - 63.803881 - ], - [ - 34.787775, - 64.547762 - ], - [ - 34.936106, - 64.83832 - ], - [ - 34.377771, - 65.378313 - ], - [ - 34.681665, - 65.451097 - ], - [ - 34.690828, - 65.803865 - ], - [ - 34.96361, - 65.71776 - ], - [ - 34.84749, - 65.901094 - ], - [ - 33.312769, - 66.316088 - ], - [ - 33.732492, - 66.423876 - ], - [ - 31.854998, - 67.153872 - ], - [ - 38.607775, - 66.052202 - ], - [ - 40.073328, - 66.277773 - ], - [ - 41.219713, - 66.83777 - ], - [ - 41.390551, - 67.122759 - ], - [ - 40.99222, - 67.716097 - ], - [ - 35.974993, - 69.173037 - ], - [ - 33.719156, - 69.331377 - ], - [ - 33.022768, - 68.953325 - ], - [ - 33.521662, - 69.421923 - ], - [ - 32.809992, - 69.296099 - ], - [ - 33.029417, - 69.471865 - ], - [ - 32.026396, - 69.636538 - ], - [ - 33.093607, - 69.747484 - ], - [ - 30.854841, - 69.792315 - ], - [ - 30.910002, - 69.548876 - ], - [ - 30.103334, - 69.663057 - ], - [ - 28.957342, - 69.051622 - ], - [ - 28.431944, - 68.896944 - ], - [ - 28.820555, - 68.844439 - ], - [ - 28.457499, - 68.531939 - ], - [ - 28.693335, - 68.197496 - ], - [ - 30.028612, - 67.694719 - ], - [ - 29.074999, - 66.89583 - ], - [ - 30.134165, - 65.719164 - ], - [ - 29.818888, - 65.653322 - ], - [ - 29.636667, - 64.928057 - ], - [ - 30.578054, - 64.221376 - ], - [ - 29.993334, - 63.743608 - ], - [ - 31.58893, - 62.914415 - ], - [ - 27.807833, - 60.546404 - ], - [ - 28.686663, - 60.735826 - ], - [ - 28.601942, - 60.384439 - ], - [ - 30.245829, - 59.975267 - ], - [ - 28.080278, - 59.796389 - ], - [ - 28.015833, - 59.478601 - ], - [ - 28.170359, - 59.309782 - ], - [ - 27.426107, - 58.813608 - ], - [ - 27.823053, - 57.87388 - ], - [ - 27.372061, - 57.535639 - ], - [ - 27.861109, - 57.302217 - ], - [ - 27.701662, - 56.914713 - ], - [ - 28.168013, - 56.150156 - ], - [ - 30.926249, - 55.602571 - ], - [ - 31.029722, - 55.043329 - ], - [ - 30.781389, - 54.793612 - ], - [ - 31.844164, - 54.06444 - ], - [ - 31.764227, - 53.802622 - ], - [ - 32.741106, - 53.463053 - ], - [ - 31.266943, - 53.024714 - ], - [ - 31.783888, - 52.108049 - ], - [ - 33.417704, - 52.355402 - ], - [ - 33.838884, - 52.360552 - ], - [ - 34.419718, - 51.808886 - ], - [ - 34.098047, - 51.653879 - ], - [ - 34.382212, - 51.263613 - ], - [ - 35.371889, - 51.041437 - ], - [ - 35.606653, - 50.36944 - ], - [ - 37.458605, - 50.439714 - ], - [ - 38.024225, - 49.903086 - ], - [ - 38.307772, - 50.073885 - ], - [ - 40.139765, - 49.601053 - ], - [ - 40.166941, - 49.248606 - ], - [ - 39.696657, - 49.010828 - ], - [ - 40.076662, - 48.874994 - ], - [ - 39.656939, - 48.616663 - ], - [ - 39.99888, - 48.29722 - ], - [ - 39.796389, - 47.857218 - ], - [ - 38.853601, - 47.860826 - ], - [ - 38.303324, - 47.558596 - ], - [ - 38.235826, - 47.10943 - ], - [ - 39.29999, - 47.076937 - ], - [ - 38.410814, - 46.828051 - ], - [ - 38.581659, - 46.650827 - ], - [ - 37.734995, - 46.669161 - ], - [ - 38.574434, - 46.089708 - ], - [ - 37.940264, - 46.025827 - ], - [ - 37.591372, - 45.627481 - ], - [ - 37.737207, - 45.299166 - ], - [ - 36.830828, - 45.436647 - ], - [ - 36.960543, - 45.274996 - ], - [ - 36.575274, - 45.18471 - ], - [ - 38.760279, - 44.270266 - ], - [ - 40.00297, - 43.379267 - ], - [ - 40.253389, - 43.582521 - ], - [ - 42.849993, - 43.179155 - ], - [ - 43.911936, - 42.583323 - ], - [ - 44.93471, - 42.760279 - ], - [ - 46.451754, - 41.897058 - ], - [ - 46.571383, - 41.871935 - ], - [ - 47.766932, - 41.196093 - ], - [ - 48.583956, - 41.835772 - ], - [ - 47.462214, - 43.019152 - ], - [ - 47.69832, - 43.868876 - ], - [ - 47.407206, - 43.501101 - ], - [ - 47.350267, - 44.026651 - ], - [ - 46.679712, - 44.523043 - ], - [ - 47.569155, - 45.557489 - ], - [ - 47.380274, - 45.744715 - ], - [ - 47.637217, - 45.553041 - ], - [ - 47.552217, - 45.769442 - ], - [ - 47.830545, - 45.655825 - ], - [ - 48.565821, - 45.96583 - ], - [ - 48.713327, - 45.830271 - ], - [ - 48.627764, - 46.082766 - ], - [ - 49.222528, - 46.346308 - ], - [ - 48.560549, - 46.564997 - ], - [ - 49.027208, - 46.776094 - ], - [ - 48.204432, - 47.704988 - ], - [ - 47.383326, - 47.688883 - ], - [ - 47.122766, - 48.271662 - ], - [ - 46.499163, - 48.417498 - ], - [ - 47.062769, - 49.142771 - ], - [ - 46.795832, - 49.339716 - ], - [ - 46.929438, - 49.863611 - ], - [ - 47.52083, - 50.43638 - ], - [ - 48.251665, - 49.869715 - ], - [ - 48.796946, - 49.941935 - ], - [ - 48.697489, - 50.591936 - ], - [ - 50.773302, - 51.769182 - ], - [ - 51.303049, - 51.479715 - ], - [ - 52.338327, - 51.782213 - ], - [ - 52.603327, - 51.456942 - ], - [ - 53.428606, - 51.491663 - ], - [ - 54.506388, - 50.856943 - ], - [ - 54.523935, - 50.528841 - ], - [ - 54.647219, - 51.036943 - ], - [ - 55.692492, - 50.532495 - ], - [ - 56.510828, - 51.08333 - ], - [ - 57.481936, - 50.864717 - ], - [ - 58.33777, - 51.156099 - ], - [ - 59.542498, - 50.478327 - ], - [ - 60.043612, - 50.863329 - ], - [ - 61.38138, - 50.783609 - ], - [ - 61.685823, - 51.265833 - ], - [ - 60.002222, - 51.95833 - ], - [ - 61.061937, - 52.342493 - ], - [ - 60.694155, - 52.680826 - ], - [ - 61.099161, - 52.981661 - ], - [ - 62.118326, - 53.004168 - ], - [ - 61.184717, - 53.306658 - ], - [ - 61.577494, - 53.51333 - ], - [ - 60.90555, - 53.620272 - ], - [ - 61.226938, - 53.811937 - ], - [ - 61.014162, - 53.947489 - ], - [ - 62.547495, - 53.879435 - ], - [ - 63.17222, - 54.18638 - ], - [ - 65.216387, - 54.318888 - ], - [ - 65.483324, - 54.638048 - ], - [ - 69.185534, - 55.343882 - ], - [ - 70.843325, - 55.301935 - ], - [ - 71.278872, - 54.690271 - ], - [ - 70.996935, - 54.339159 - ], - [ - 71.185534, - 54.103327 - ], - [ - 72.196093, - 54.137499 - ], - [ - 72.051653, - 54.387774 - ], - [ - 72.468599, - 53.908884 - ], - [ - 72.613314, - 54.145273 - ], - [ - 73.763887, - 54.065546 - ], - [ - 73.238588, - 53.644442 - ], - [ - 73.437197, - 53.436106 - ], - [ - 74.429155, - 53.478601 - ], - [ - 76.811647, - 54.447771 - ], - [ - 76.521654, - 53.993883 - ], - [ - 77.908037, - 53.271105 - ], - [ - 80.077959, - 50.758089 - ], - [ - 80.687838, - 51.314722 - ], - [ - 81.46805, - 50.74222 - ], - [ - 83.456377, - 51.002497 - ], - [ - 84.363039, - 50.212214 - ], - [ - 85.014437, - 50.07583 - ], - [ - 85.258608, - 49.591379 - ], - [ - 86.191088, - 49.47249 - ], - [ - 86.774996, - 49.788889 - ], - [ - 86.616655, - 49.587214 - ], - [ - 87.348207, - 49.092623 - ], - [ - 87.8407, - 49.172953 - ], - [ - 92.322771, - 50.814997 - ], - [ - 94.274996, - 50.569445 - ], - [ - 94.635271, - 50.024439 - ], - [ - 97.340822, - 49.734438 - ], - [ - 98.289705, - 50.293886 - ], - [ - 97.827776, - 51.001108 - ], - [ - 98.930269, - 52.14361 - ], - [ - 102.218874, - 51.333605 - ], - [ - 102.327768, - 50.569719 - ], - [ - 102.918589, - 50.315271 - ], - [ - 106.663042, - 50.338602 - ], - [ - 107.977129, - 49.943628 - ], - [ - 107.949144, - 49.678049 - ], - [ - 108.572222, - 49.333605 - ], - [ - 110.788591, - 49.149439 - ], - [ - 113.090822, - 49.598604 - ], - [ - 114.313028, - 50.284166 - ], - [ - 116.711382, - 49.830469 - ], - [ - 117.874712, - 49.520578 - ], - [ - 119.214159, - 50.015276 - ], - [ - 119.361368, - 50.336939 - ], - [ - 119.138605, - 50.394716 - ], - [ - 120.776659, - 52.115 - ], - [ - 120.71361, - 52.544718 - ], - [ - 120.029161, - 52.768053 - ], - [ - 120.863878, - 53.279718 - ], - [ - 123.382204, - 53.526659 - ], - [ - 126.095545, - 52.764444 - ], - [ - 127.586069, - 50.208567 - ], - [ - 127.529428, - 49.789164 - ], - [ - 130.671633, - 48.865 - ], - [ - 130.521639, - 48.607775 - ], - [ - 130.988558, - 47.688601 - ], - [ - 132.52109, - 47.710276 - ], - [ - 133.088564, - 48.101664 - ], - [ - 134.740755, - 48.26713 - ], - [ - 134.767214, - 47.707499 - ], - [ - 134.182467, - 47.323328 - ], - [ - 133.900179, - 46.250315 - ], - [ - 133.122194, - 45.128603 - ], - [ - 131.864687, - 45.345545 - ], - [ - 130.949984, - 44.841105 - ], - [ - 131.311373, - 43.392221 - ], - [ - 131.123293, - 42.910822 - ], - [ - 130.405245, - 42.71805 - ], - [ - 130.604372, - 42.421862 - ] - ], - [ - [ - 86.902208, - 73.697481 - ], - [ - 86.73665, - 73.595263 - ], - [ - 86.394991, - 73.58832 - ], - [ - 86.902208, - 73.697481 - ] - ], - [ - [ - 40.274439, - 64.874147 - ], - [ - 40.209719, - 64.992479 - ], - [ - 40.278879, - 64.945818 - ], - [ - 40.274439, - 64.874147 - ] - ] - ], - [ - [ - [ - 170.151094, - 69.734148 - ], - [ - 170.20331, - 69.788317 - ], - [ - 169.984957, - 69.748034 - ], - [ - 170.151094, - 69.734148 - ] - ] - ], - [ - [ - [ - 169.447481, - 69.80887 - ], - [ - 167.751925, - 69.827486 - ], - [ - 168.868288, - 69.567766 - ], - [ - 169.447481, - 69.80887 - ] - ] - ], - [ - [ - [ - 167.855806, - 54.681383 - ], - [ - 167.432985, - 54.863077 - ], - [ - 168.116915, - 54.507776 - ], - [ - 167.855806, - 54.681383 - ] - ] - ], - [ - [ - [ - 166.119112, - 55.328608 - ], - [ - 165.838015, - 55.264444 - ], - [ - 166.663027, - 54.674166 - ], - [ - 166.119112, - 55.328608 - ] - ] - ], - [ - [ - [ - 164.656923, - 59.084436 - ], - [ - 163.699404, - 59.014444 - ], - [ - 163.38553, - 58.559404 - ], - [ - 164.656923, - 59.084436 - ] - ] - ], - [ - [ - [ - 162.381899, - 70.679155 - ], - [ - 162.236635, - 70.659151 - ], - [ - 162.484957, - 70.651094 - ], - [ - 162.381899, - 70.679155 - ] - ] - ], - [ - [ - [ - 161.69385, - 70.750277 - ], - [ - 161.657747, - 70.808596 - ], - [ - 161.463289, - 70.803591 - ], - [ - 161.69385, - 70.750277 - ] - ] - ], - [ - [ - [ - 161.437746, - 69.408037 - ], - [ - 161.622194, - 69.588594 - ], - [ - 161.394991, - 69.590822 - ], - [ - 161.437746, - 69.408037 - ] - ] - ], - [ - [ - [ - 161.4433, - 68.889986 - ], - [ - 161.509157, - 68.915545 - ], - [ - 161.515261, - 68.9872 - ], - [ - 161.38611, - 69.10248 - ], - [ - 161.319979, - 69.241091 - ], - [ - 161.361361, - 69.358599 - ], - [ - 161.289339, - 69.415865 - ], - [ - 161.388887, - 69.459154 - ], - [ - 161.377748, - 69.532213 - ], - [ - 161.096346, - 69.470537 - ], - [ - 161.134432, - 69.089708 - ], - [ - 161.45801, - 68.995531 - ], - [ - 161.4433, - 68.889986 - ] - ] - ], - [ - [ - [ - 160.619112, - 70.814699 - ], - [ - 160.71979, - 70.818514 - ], - [ - 160.408022, - 70.919146 - ], - [ - 160.619112, - 70.814699 - ] - ] - ], - [ - [ - [ - 156.617739, - 77.103868 - ], - [ - 156.73218, - 77.125811 - ], - [ - 156.434145, - 77.135271 - ], - [ - 156.617739, - 77.103868 - ] - ] - ], - [ - [ - [ - 156.403826, - 50.653399 - ], - [ - 156.463869, - 50.86944 - ], - [ - 156.164431, - 50.728601 - ], - [ - 156.403826, - 50.653399 - ] - ] - ], - [ - [ - [ - 155.785524, - 50.184992 - ], - [ - 156.104128, - 50.76111 - ], - [ - 155.20859, - 50.080828 - ], - [ - 155.785524, - 50.184992 - ] - ] - ], - [ - [ - [ - 155.62079, - 50.806101 - ], - [ - 155.639162, - 50.920832 - ], - [ - 155.447756, - 50.897776 - ], - [ - 155.62079, - 50.806101 - ] - ] - ], - [ - [ - [ - 155.555819, - 59.321939 - ], - [ - 155.555819, - 59.359163 - ], - [ - 155.478304, - 59.317217 - ], - [ - 155.555819, - 59.321939 - ] - ] - ], - [ - [ - [ - 154.715792, - 49.263887 - ], - [ - 154.904421, - 49.624163 - ], - [ - 154.602449, - 49.373606 - ], - [ - 154.715792, - 49.263887 - ] - ] - ], - [ - [ - [ - 154.454683, - 49.169161 - ], - [ - 154.500551, - 49.074442 - ], - [ - 154.598848, - 49.11194 - ], - [ - 154.454683, - 49.169161 - ] - ] - ], - [ - [ - [ - 154.42499, - 49.733606 - ], - [ - 154.459963, - 49.813883 - ], - [ - 154.374971, - 49.824999 - ], - [ - 154.42499, - 49.733606 - ] - ] - ], - [ - [ - [ - 154.019442, - 48.723322 - ], - [ - 154.228853, - 48.902491 - ], - [ - 154.112185, - 48.894999 - ], - [ - 154.019442, - 48.723322 - ] - ] - ], - [ - [ - [ - 153.981905, - 48.926661 - ], - [ - 154.004702, - 48.96361 - ], - [ - 153.901918, - 48.969988 - ], - [ - 153.981905, - 48.926661 - ] - ] - ], - [ - [ - [ - 153.290529, - 48.053606 - ], - [ - 153.223299, - 48.133051 - ], - [ - 153.137758, - 48.101107 - ], - [ - 153.290529, - 48.053606 - ] - ] - ], - [ - [ - [ - 153.016085, - 47.693048 - ], - [ - 153.080263, - 47.714159 - ], - [ - 153.074129, - 47.808329 - ], - [ - 153.016085, - 47.693048 - ] - ] - ], - [ - [ - [ - 152.741335, - 76.107759 - ], - [ - 152.756655, - 76.211931 - ], - [ - 152.455233, - 76.156939 - ], - [ - 152.741335, - 76.107759 - ] - ] - ], - [ - [ - [ - 152.519136, - 47.307215 - ], - [ - 152.503878, - 47.377214 - ], - [ - 152.388033, - 47.344156 - ], - [ - 152.519136, - 47.307215 - ] - ] - ], - [ - [ - [ - 152.225527, - 47.174715 - ], - [ - 151.712191, - 46.801104 - ], - [ - 152.013033, - 46.888887 - ], - [ - 152.225527, - 47.174715 - ] - ] - ], - [ - [ - [ - 147.018312, - 75.334719 - ], - [ - 146.41498, - 75.586107 - ], - [ - 146.070253, - 75.226656 - ], - [ - 148.704409, - 74.759996 - ], - [ - 150.953035, - 75.139437 - ], - [ - 147.018312, - 75.334719 - ] - ] - ], - [ - [ - [ - 150.874117, - 46.440828 - ], - [ - 150.841921, - 46.471102 - ], - [ - 150.798525, - 46.449984 - ], - [ - 150.874117, - 46.440828 - ] - ] - ], - [ - [ - [ - 150.764986, - 46.703882 - ], - [ - 150.762209, - 46.727488 - ], - [ - 150.730806, - 46.722765 - ], - [ - 150.764986, - 46.703882 - ] - ] - ], - [ - [ - [ - 150.590517, - 59.019716 - ], - [ - 150.743837, - 59.11194 - ], - [ - 150.454561, - 59.017801 - ], - [ - 150.590517, - 59.019716 - ] - ] - ], - [ - [ - [ - 150.066378, - 45.84749 - ], - [ - 150.498568, - 46.192492 - ], - [ - 149.437471, - 45.583605 - ], - [ - 150.066378, - 45.84749 - ] - ] - ], - [ - [ - [ - 149.314425, - 76.753603 - ], - [ - 148.392214, - 76.643602 - ], - [ - 149.168856, - 76.650545 - ], - [ - 149.314425, - 76.753603 - ] - ] - ], - [ - [ - [ - 149.104677, - 59.187769 - ], - [ - 149.005251, - 59.211107 - ], - [ - 148.941011, - 59.141672 - ], - [ - 149.104677, - 59.187769 - ] - ] - ], - [ - [ - [ - 148.825258, - 45.334993 - ], - [ - 147.932741, - 45.421381 - ], - [ - 146.840517, - 44.415545 - ], - [ - 148.825258, - 45.334993 - ] - ] - ], - [ - [ - [ - 146.669985, - 43.704439 - ], - [ - 146.90497, - 43.839991 - ], - [ - 146.604677, - 43.803881 - ], - [ - 146.669985, - 43.704439 - ] - ] - ], - [ - [ - [ - 146.148043, - 44.509996 - ], - [ - 145.437471, - 43.716936 - ], - [ - 146.568026, - 44.438326 - ], - [ - 146.148043, - 44.509996 - ] - ] - ], - [ - [ - [ - 146.137484, - 43.458887 - ], - [ - 146.226076, - 43.525553 - ], - [ - 146.076082, - 43.51333 - ], - [ - 146.137484, - 43.458887 - ] - ] - ], - [ - [ - [ - 139.190798, - 76.072222 - ], - [ - 137.449984, - 75.954714 - ], - [ - 137.744692, - 75.748323 - ], - [ - 136.958559, - 75.604219 - ], - [ - 137.40497, - 75.352205 - ], - [ - 136.861361, - 75.349154 - ], - [ - 139.096071, - 74.647219 - ], - [ - 139.646944, - 74.979158 - ], - [ - 143.706911, - 74.938585 - ], - [ - 142.612459, - 75.099718 - ], - [ - 142.155245, - 75.375536 - ], - [ - 142.447481, - 75.711107 - ], - [ - 143.040529, - 75.66971 - ], - [ - 142.506044, - 75.453722 - ], - [ - 142.903597, - 75.133883 - ], - [ - 143.949709, - 75.026934 - ], - [ - 145.394716, - 75.517488 - ], - [ - 141.35663, - 76.180544 - ], - [ - 141.619692, - 76.012499 - ], - [ - 140.971895, - 76.039156 - ], - [ - 141.060793, - 75.645266 - ], - [ - 140.479128, - 75.63611 - ], - [ - 139.190798, - 76.072222 - ] - ] - ], - [ - [ - [ - 143.661928, - 49.312212 - ], - [ - 144.75165, - 48.641939 - ], - [ - 143.220797, - 51.521379 - ], - [ - 143.290804, - 53.130274 - ], - [ - 142.696627, - 54.424715 - ], - [ - 142.393862, - 54.237497 - ], - [ - 142.798311, - 53.697489 - ], - [ - 141.766939, - 53.371378 - ], - [ - 141.638033, - 52.315828 - ], - [ - 142.267214, - 51.120272 - ], - [ - 141.852449, - 48.750277 - ], - [ - 142.188875, - 47.975267 - ], - [ - 141.812746, - 46.586107 - ], - [ - 142.077456, - 45.891382 - ], - [ - 142.709688, - 46.744158 - ], - [ - 143.378572, - 46.548334 - ], - [ - 143.473848, - 46.092768 - ], - [ - 143.49164, - 46.808603 - ], - [ - 143.088289, - 46.801661 - ], - [ - 142.5347, - 48.002779 - ], - [ - 143.017763, - 49.139719 - ], - [ - 143.661928, - 49.312212 - ] - ], - [ - [ - 143.661928, - 49.312212 - ], - [ - 143.320253, - 49.313608 - ], - [ - 143.246065, - 49.37916 - ], - [ - 143.661928, - 49.312212 - ] - ] - ], - [ - [ - [ - 142.15497, - 73.889986 - ], - [ - 139.653597, - 73.402208 - ], - [ - 143.505831, - 73.230272 - ], - [ - 143.431917, - 73.522493 - ], - [ - 142.15497, - 73.889986 - ] - ] - ], - [ - [ - [ - 140.910799, - 76.066942 - ], - [ - 141.079409, - 76.109423 - ], - [ - 140.8472, - 76.095537 - ], - [ - 140.910799, - 76.066942 - ] - ] - ], - [ - [ - [ - 141.02054, - 73.992754 - ], - [ - 140.874392, - 74.271105 - ], - [ - 140.072756, - 74.097765 - ], - [ - 141.02054, - 73.992754 - ] - ] - ], - [ - [ - [ - 140.745943, - 75.651857 - ], - [ - 140.769991, - 75.677202 - ], - [ - 140.519442, - 75.705828 - ], - [ - 140.745943, - 75.651857 - ] - ] - ], - [ - [ - [ - 138.516085, - 71.856096 - ], - [ - 138.362459, - 71.885546 - ], - [ - 138.273867, - 71.859987 - ], - [ - 138.516085, - 71.856096 - ] - ] - ], - [ - [ - [ - 137.991335, - 54.885553 - ], - [ - 138.204134, - 55.043886 - ], - [ - 137.57831, - 55.190546 - ], - [ - 137.221315, - 54.773722 - ], - [ - 137.707186, - 54.618326 - ], - [ - 137.991335, - 54.885553 - ] - ] - ], - [ - [ - [ - 137.961092, - 71.503054 - ], - [ - 136.991335, - 71.515551 - ], - [ - 137.676912, - 71.411654 - ], - [ - 137.961092, - 71.503054 - ] - ] - ], - [ - [ - [ - 137.77997, - 54.366388 - ], - [ - 137.913881, - 54.507776 - ], - [ - 137.708315, - 54.368601 - ], - [ - 137.77997, - 54.366388 - ] - ] - ], - [ - [ - [ - 137.632174, - 54.41305 - ], - [ - 137.618563, - 54.565271 - ], - [ - 137.548861, - 54.504999 - ], - [ - 137.632174, - 54.41305 - ] - ] - ], - [ - [ - [ - 137.188295, - 55.102221 - ], - [ - 136.667269, - 54.905062 - ], - [ - 137.046083, - 54.917498 - ], - [ - 137.188295, - 55.102221 - ] - ] - ], - [ - [ - [ - 135.649996, - 74.2036 - ], - [ - 135.353579, - 74.252779 - ], - [ - 136.272493, - 73.935808 - ], - [ - 135.649996, - 74.2036 - ] - ] - ], - [ - [ - [ - 135.653872, - 75.364992 - ], - [ - 136.177767, - 75.619143 - ], - [ - 135.70801, - 75.849993 - ], - [ - 135.444124, - 75.440813 - ], - [ - 135.653872, - 75.364992 - ] - ] - ], - [ - [ - [ - 131.873293, - 42.956942 - ], - [ - 131.917208, - 43.021105 - ], - [ - 131.77997, - 43.04944 - ], - [ - 131.873293, - 42.956942 - ] - ] - ], - [ - [ - [ - 128.143038, - 72.578875 - ], - [ - 126.65027, - 72.436098 - ], - [ - 127.549715, - 72.433321 - ], - [ - 128.763613, - 72.07416 - ], - [ - 129.561098, - 72.225267 - ], - [ - 128.143038, - 72.578875 - ] - ] - ], - [ - [ - [ - 129.355806, - 72.702776 - ], - [ - 128.301912, - 72.787767 - ], - [ - 127.31415, - 72.653322 - ], - [ - 129.355806, - 72.702776 - ] - ] - ], - [ - [ - [ - 129.230257, - 72.831942 - ], - [ - 128.290529, - 72.866091 - ], - [ - 129.298037, - 72.800264 - ], - [ - 129.230257, - 72.831942 - ] - ] - ], - [ - [ - [ - 127.296373, - 73.517214 - ], - [ - 126.659418, - 73.416933 - ], - [ - 126.771929, - 73.076387 - ], - [ - 126.333879, - 72.897219 - ], - [ - 126.449999, - 72.78554 - ], - [ - 126.302469, - 72.501101 - ], - [ - 126.526934, - 72.400545 - ], - [ - 126.589434, - 72.535814 - ], - [ - 129.118288, - 73.094713 - ], - [ - 127.296373, - 73.517214 - ] - ] - ], - [ - [ - [ - 128.838869, - 72.576662 - ], - [ - 128.9722, - 72.590822 - ], - [ - 128.100527, - 72.63196 - ], - [ - 128.838869, - 72.576662 - ] - ] - ], - [ - [ - [ - 128.055544, - 73.483049 - ], - [ - 127.707766, - 73.53554 - ], - [ - 127.388048, - 73.520266 - ], - [ - 128.055544, - 73.483049 - ] - ] - ], - [ - [ - [ - 124.604433, - 73.728594 - ], - [ - 123.376925, - 73.662493 - ], - [ - 123.219149, - 73.404711 - ], - [ - 123.658869, - 73.168047 - ], - [ - 122.428041, - 72.981936 - ], - [ - 124.765001, - 72.670824 - ], - [ - 126.125528, - 72.300539 - ], - [ - 126.34833, - 72.379976 - ], - [ - 126.244432, - 72.518877 - ], - [ - 126.38582, - 72.792757 - ], - [ - 126.278055, - 72.879976 - ], - [ - 126.714998, - 73.084429 - ], - [ - 126.156649, - 73.374422 - ], - [ - 126.30887, - 73.545824 - ], - [ - 125.560259, - 73.403048 - ], - [ - 124.604433, - 73.728594 - ] - ] - ], - [ - [ - [ - 124.545259, - 73.853319 - ], - [ - 124.65999, - 73.898043 - ], - [ - 124.287775, - 73.884432 - ], - [ - 124.545259, - 73.853319 - ] - ] - ], - [ - [ - [ - 122.955835, - 72.863314 - ], - [ - 122.302469, - 72.937487 - ], - [ - 123.605822, - 72.777773 - ], - [ - 122.955835, - 72.863314 - ] - ] - ], - [ - [ - [ - 120.213884, - 73.042482 - ], - [ - 120.086931, - 73.152483 - ], - [ - 119.629702, - 73.114702 - ], - [ - 120.213884, - 73.042482 - ] - ] - ], - [ - [ - [ - 116.06888, - 74.286928 - ], - [ - 116.067492, - 74.369143 - ], - [ - 115.88582, - 74.320269 - ], - [ - 116.06888, - 74.286928 - ] - ] - ], - [ - [ - [ - 113.439974, - 76.360537 - ], - [ - 113.258883, - 76.436373 - ], - [ - 113.118761, - 76.369997 - ], - [ - 113.439974, - 76.360537 - ] - ] - ], - [ - [ - [ - 112.71332, - 74.498873 - ], - [ - 111.455553, - 74.316668 - ], - [ - 112.787775, - 74.091936 - ], - [ - 113.433321, - 74.393877 - ], - [ - 112.71332, - 74.498873 - ] - ] - ], - [ - [ - [ - 112.521929, - 76.622484 - ], - [ - 111.956652, - 76.598604 - ], - [ - 112.713884, - 76.510546 - ], - [ - 112.521929, - 76.622484 - ] - ] - ], - [ - [ - [ - 107.561922, - 77.254992 - ], - [ - 107.666658, - 77.330828 - ], - [ - 107.200274, - 77.233873 - ], - [ - 107.561922, - 77.254992 - ] - ] - ], - [ - [ - [ - 107.635271, - 78.166094 - ], - [ - 106.493044, - 78.121645 - ], - [ - 107.438875, - 78.049425 - ], - [ - 107.635271, - 78.166094 - ] - ] - ], - [ - [ - [ - 106.646654, - 77.376085 - ], - [ - 106.90082, - 77.459154 - ], - [ - 106.504175, - 77.389986 - ], - [ - 106.646654, - 77.376085 - ] - ] - ], - [ - [ - [ - 106.761385, - 78.303591 - ], - [ - 106.458605, - 78.334719 - ], - [ - 105.992754, - 78.214159 - ], - [ - 106.761385, - 78.303591 - ] - ] - ], - [ - [ - [ - 106.402483, - 77.303591 - ], - [ - 106.45833, - 77.315264 - ], - [ - 106.331675, - 77.318056 - ], - [ - 106.402483, - 77.303591 - ] - ] - ], - [ - [ - [ - 105.884722, - 77.261385 - ], - [ - 106.007769, - 77.282488 - ], - [ - 105.78055, - 77.274157 - ], - [ - 105.884722, - 77.261385 - ] - ] - ], - [ - [ - [ - 102.972765, - 79.331377 - ], - [ - 101.550814, - 79.34833 - ], - [ - 100.988878, - 79.061098 - ], - [ - 101.624422, - 78.98221 - ], - [ - 100.893885, - 78.976656 - ], - [ - 101.168055, - 78.758333 - ], - [ - 100.378313, - 78.745256 - ], - [ - 99.341372, - 78.019991 - ], - [ - 105.414431, - 78.564699 - ], - [ - 103.946932, - 79.133333 - ], - [ - 102.393335, - 78.8286 - ], - [ - 102.972765, - 79.331377 - ] - ] - ], - [ - [ - [ - 100.01082, - 79.62221 - ], - [ - 99.903597, - 79.599993 - ], - [ - 100.306643, - 79.664705 - ], - [ - 100.01082, - 79.62221 - ] - ] - ], - [ - [ - [ - 99.945818, - 79.401384 - ], - [ - 100.017763, - 79.433046 - ], - [ - 99.850542, - 79.415545 - ], - [ - 99.945818, - 79.401384 - ] - ] - ], - [ - [ - [ - 97.614992, - 80.165545 - ], - [ - 95.580278, - 80.111376 - ], - [ - 95.269442, - 80.01639 - ], - [ - 94.936647, - 80.099428 - ], - [ - 94.222216, - 79.897768 - ], - [ - 94.616091, - 79.811922 - ], - [ - 92.850817, - 79.553865 - ], - [ - 93.878038, - 79.601381 - ], - [ - 93.69887, - 79.456102 - ], - [ - 94.332491, - 79.465548 - ], - [ - 94.777208, - 79.084429 - ], - [ - 97.304705, - 78.845263 - ], - [ - 99.938875, - 78.953325 - ], - [ - 99.035265, - 79.29027 - ], - [ - 99.659151, - 79.295824 - ], - [ - 100.015268, - 79.82416 - ], - [ - 98.528597, - 80.052477 - ], - [ - 97.193041, - 79.702211 - ], - [ - 98.034426, - 80.067492 - ], - [ - 97.614992, - 80.165545 - ] - ] - ], - [ - [ - [ - 95.958605, - 81.217211 - ], - [ - 93.068605, - 80.994432 - ], - [ - 92.48749, - 80.767488 - ], - [ - 93.325548, - 80.805819 - ], - [ - 91.889437, - 80.457766 - ], - [ - 92.623873, - 80.384996 - ], - [ - 91.421373, - 80.307756 - ], - [ - 93.246645, - 80.305544 - ], - [ - 92.061647, - 80.170259 - ], - [ - 93.753054, - 79.995821 - ], - [ - 94.80971, - 80.139986 - ], - [ - 97.158876, - 80.233599 - ], - [ - 97.426378, - 80.310808 - ], - [ - 97.129152, - 80.662767 - ], - [ - 97.969439, - 80.715548 - ], - [ - 95.958605, - 81.217211 - ] - ] - ], - [ - [ - [ - 97.869982, - 76.770266 - ], - [ - 97.919436, - 76.83832 - ], - [ - 97.729433, - 76.818331 - ], - [ - 97.869982, - 76.770266 - ] - ] - ], - [ - [ - [ - 97.546373, - 76.582216 - ], - [ - 97.440538, - 76.714998 - ], - [ - 97.316378, - 76.606646 - ], - [ - 97.546373, - 76.582216 - ] - ] - ], - [ - [ - [ - 96.766939, - 75.975267 - ], - [ - 97.337282, - 76.102083 - ], - [ - 96.695818, - 76.011385 - ], - [ - 96.766939, - 75.975267 - ] - ] - ], - [ - [ - [ - 96.997484, - 76.277208 - ], - [ - 96.834429, - 76.346941 - ], - [ - 96.711107, - 76.21361 - ], - [ - 96.997484, - 76.277208 - ] - ] - ], - [ - [ - [ - 96.756945, - 76.322771 - ], - [ - 96.383043, - 76.331942 - ], - [ - 96.664705, - 76.292482 - ], - [ - 96.756945, - 76.322771 - ] - ] - ], - [ - [ - [ - 96.366381, - 76.301088 - ], - [ - 95.263613, - 76.213045 - ], - [ - 96.649431, - 76.248873 - ], - [ - 96.366381, - 76.301088 - ] - ] - ], - [ - [ - [ - 96.575548, - 77.130266 - ], - [ - 95.229158, - 76.993319 - ], - [ - 96.166094, - 76.989153 - ], - [ - 96.575548, - 77.130266 - ] - ] - ], - [ - [ - [ - 96.464083, - 76.706011 - ], - [ - 95.889162, - 76.62137 - ], - [ - 96.242205, - 76.609713 - ], - [ - 96.464083, - 76.706011 - ] - ] - ], - [ - [ - [ - 95.598879, - 76.669985 - ], - [ - 95.831942, - 76.685534 - ], - [ - 95.412767, - 76.699709 - ], - [ - 95.598879, - 76.669985 - ] - ] - ], - [ - [ - [ - 95.133043, - 76.702776 - ], - [ - 94.813036, - 76.648882 - ], - [ - 95.326937, - 76.661104 - ], - [ - 95.133043, - 76.702776 - ] - ] - ], - [ - [ - [ - 95.199419, - 76.157763 - ], - [ - 95.084505, - 76.220797 - ], - [ - 95.002779, - 76.172487 - ], - [ - 95.199419, - 76.157763 - ] - ] - ], - [ - [ - [ - 94.997484, - 76.269152 - ], - [ - 94.408037, - 76.204988 - ], - [ - 94.840273, - 76.17943 - ], - [ - 94.997484, - 76.269152 - ] - ] - ], - [ - [ - [ - 94.35721, - 76.574434 - ], - [ - 93.951815, - 76.609819 - ], - [ - 93.869982, - 76.584993 - ], - [ - 94.35721, - 76.574434 - ] - ] - ], - [ - [ - [ - 94.307756, - 80.016939 - ], - [ - 93.988253, - 80.009783 - ], - [ - 93.927477, - 79.968325 - ], - [ - 94.307756, - 80.016939 - ] - ] - ], - [ - [ - [ - 91.176378, - 80.053041 - ], - [ - 90.864428, - 80.057207 - ], - [ - 92.349993, - 79.72777 - ], - [ - 91.921648, - 79.673311 - ], - [ - 93.808596, - 79.888323 - ], - [ - 91.176378, - 80.053041 - ] - ] - ], - [ - [ - [ - 93.750551, - 78.155825 - ], - [ - 93.640276, - 78.222765 - ], - [ - 93.519716, - 78.187761 - ], - [ - 93.750551, - 78.155825 - ] - ] - ], - [ - [ - [ - 92.805544, - 79.382479 - ], - [ - 92.987764, - 79.416933 - ], - [ - 92.582216, - 79.406939 - ], - [ - 92.805544, - 79.382479 - ] - ] - ], - [ - [ - [ - 92.702211, - 79.071383 - ], - [ - 92.725542, - 79.074999 - ], - [ - 92.182619, - 79.127184 - ], - [ - 92.702211, - 79.071383 - ] - ] - ], - [ - [ - [ - 92.467485, - 79.429979 - ], - [ - 91.804155, - 79.412493 - ], - [ - 92.243593, - 79.379976 - ], - [ - 92.467485, - 79.429979 - ] - ] - ], - [ - [ - [ - 91.966387, - 77.599993 - ], - [ - 92.037767, - 77.630816 - ], - [ - 91.739702, - 77.647219 - ], - [ - 91.966387, - 77.599993 - ] - ] - ], - [ - [ - [ - 91.651094, - 79.651094 - ], - [ - 91.858873, - 79.664705 - ], - [ - 91.124422, - 79.72249 - ], - [ - 91.651094, - 79.651094 - ] - ] - ], - [ - [ - [ - 91.250277, - 81.063036 - ], - [ - 91.577211, - 81.143053 - ], - [ - 89.893602, - 81.168596 - ], - [ - 91.250277, - 81.063036 - ] - ] - ], - [ - [ - [ - 91.468599, - 79.454714 - ], - [ - 91.166094, - 79.526934 - ], - [ - 90.781939, - 79.54915 - ], - [ - 91.468599, - 79.454714 - ] - ] - ], - [ - [ - [ - 90.180269, - 77.115816 - ], - [ - 89.829714, - 77.140825 - ], - [ - 89.967211, - 77.113039 - ], - [ - 90.180269, - 77.115816 - ] - ] - ], - [ - [ - [ - 89.681658, - 77.284426 - ], - [ - 89.13582, - 77.204988 - ], - [ - 89.485262, - 77.179979 - ], - [ - 89.681658, - 77.284426 - ] - ] - ], - [ - [ - [ - 88.664705, - 77.096376 - ], - [ - 88.783052, - 77.004992 - ], - [ - 88.957216, - 77.125811 - ], - [ - 88.664705, - 77.096376 - ] - ] - ], - [ - [ - [ - 87.049715, - 74.979158 - ], - [ - 86.211107, - 74.898607 - ], - [ - 86.835268, - 74.826387 - ], - [ - 87.049715, - 74.979158 - ] - ] - ], - [ - [ - [ - 86.4872, - 73.908876 - ], - [ - 86.301378, - 73.977205 - ], - [ - 86.223314, - 73.966387 - ], - [ - 86.4872, - 73.908876 - ] - ] - ], - [ - [ - [ - 86.212496, - 74.518328 - ], - [ - 85.82361, - 74.570269 - ], - [ - 85.659426, - 74.470537 - ], - [ - 86.212496, - 74.518328 - ] - ] - ], - [ - [ - [ - 85.534426, - 74.127474 - ], - [ - 85.73279, - 74.168627 - ], - [ - 85.408876, - 74.189699 - ], - [ - 85.534426, - 74.127474 - ] - ] - ], - [ - [ - [ - 85.65555, - 74.791658 - ], - [ - 85.095537, - 74.747759 - ], - [ - 85.700274, - 74.721651 - ], - [ - 85.65555, - 74.791658 - ] - ] - ], - [ - [ - [ - 85.439425, - 74.4536 - ], - [ - 85.653322, - 74.529436 - ], - [ - 85.144991, - 74.54027 - ], - [ - 85.439425, - 74.4536 - ] - ] - ], - [ - [ - [ - 84.945253, - 74.47777 - ], - [ - 84.373034, - 74.448595 - ], - [ - 84.744432, - 74.395266 - ], - [ - 84.945253, - 74.47777 - ] - ] - ], - [ - [ - [ - 84.419146, - 74.031939 - ], - [ - 83.879427, - 74.006655 - ], - [ - 84.389437, - 73.955553 - ], - [ - 84.419146, - 74.031939 - ] - ] - ], - [ - [ - [ - 83.550264, - 70.46361 - ], - [ - 83.624422, - 70.524157 - ], - [ - 83.412493, - 70.440264 - ], - [ - 83.379702, - 70.364992 - ], - [ - 83.533602, - 70.377199 - ], - [ - 83.612764, - 70.437761 - ], - [ - 83.550264, - 70.46361 - ] - ] - ], - [ - [ - [ - 83.615816, - 74.09305 - ], - [ - 83.202776, - 74.149721 - ], - [ - 82.815813, - 74.091097 - ], - [ - 83.615816, - 74.09305 - ] - ] - ], - [ - [ - [ - 83.37221, - 70.686098 - ], - [ - 83.214159, - 70.807207 - ], - [ - 83.069719, - 70.397768 - ], - [ - 83.37221, - 70.686098 - ] - ] - ], - [ - [ - [ - 82.97304, - 75.969149 - ], - [ - 82.257219, - 75.958605 - ], - [ - 83.302477, - 75.941362 - ], - [ - 82.97304, - 75.969149 - ] - ] - ], - [ - [ - [ - 83.096941, - 70.124987 - ], - [ - 83.113604, - 70.193316 - ], - [ - 83.082766, - 70.218599 - ], - [ - 82.863878, - 70.251665 - ], - [ - 82.768602, - 70.208879 - ], - [ - 83.096941, - 70.124987 - ] - ] - ], - [ - [ - [ - 82.609713, - 74.048601 - ], - [ - 82.736376, - 74.098879 - ], - [ - 82.314699, - 74.114428 - ], - [ - 82.609713, - 74.048601 - ] - ] - ], - [ - [ - [ - 82.560259, - 77.461931 - ], - [ - 82.443865, - 77.510271 - ], - [ - 82.120256, - 77.50638 - ], - [ - 82.560259, - 77.461931 - ] - ] - ], - [ - [ - [ - 82.105822, - 75.412203 - ], - [ - 81.493044, - 75.358324 - ], - [ - 82.011934, - 75.172213 - ], - [ - 82.291933, - 75.330553 - ], - [ - 82.105822, - 75.412203 - ] - ] - ], - [ - [ - [ - 81.600267, - 75.935259 - ], - [ - 81.550814, - 75.923601 - ], - [ - 82.256945, - 75.869432 - ], - [ - 81.600267, - 75.935259 - ] - ] - ], - [ - [ - [ - 82.151934, - 75.115541 - ], - [ - 82.107485, - 75.158327 - ], - [ - 82.027208, - 75.128313 - ], - [ - 82.151934, - 75.115541 - ] - ] - ], - [ - [ - [ - 79.977205, - 80.952486 - ], - [ - 78.972765, - 80.837496 - ], - [ - 80.437761, - 80.926378 - ], - [ - 79.977205, - 80.952486 - ] - ] - ], - [ - [ - [ - 80.360537, - 73.500277 - ], - [ - 80.403597, - 73.546099 - ], - [ - 80.056643, - 73.555819 - ], - [ - 80.360537, - 73.500277 - ] - ] - ], - [ - [ - [ - 79.38611, - 74.617205 - ], - [ - 79.149157, - 74.603045 - ], - [ - 79.6122, - 74.594988 - ], - [ - 79.38611, - 74.617205 - ] - ] - ], - [ - [ - [ - 79.570833, - 72.730272 - ], - [ - 79.194704, - 73.095827 - ], - [ - 78.5786, - 72.845537 - ], - [ - 79.570833, - 72.730272 - ] - ] - ], - [ - [ - [ - 77.762499, - 72.295259 - ], - [ - 78.393053, - 72.489153 - ], - [ - 77.620256, - 72.630541 - ], - [ - 76.854708, - 72.329988 - ], - [ - 77.762499, - 72.295259 - ] - ] - ], - [ - [ - [ - 76.232485, - 79.601381 - ], - [ - 77.619707, - 79.512209 - ], - [ - 76.041933, - 79.634722 - ], - [ - 76.232485, - 79.601381 - ] - ] - ], - [ - [ - [ - 76.390276, - 73.52083 - ], - [ - 76.07416, - 73.521379 - ], - [ - 76.7661, - 73.43387 - ], - [ - 76.390276, - 73.52083 - ] - ] - ], - [ - [ - [ - 76.452776, - 73.190538 - ], - [ - 76.122759, - 73.207216 - ], - [ - 76.73749, - 73.153597 - ], - [ - 76.452776, - 73.190538 - ] - ] - ], - [ - [ - [ - 76.077776, - 73.558031 - ], - [ - 75.621096, - 73.54999 - ], - [ - 75.306322, - 73.418337 - ], - [ - 76.077776, - 73.558031 - ] - ] - ], - [ - [ - [ - 74.862764, - 73.089708 - ], - [ - 74.089708, - 73.02054 - ], - [ - 74.654436, - 72.855822 - ], - [ - 74.862764, - 73.089708 - ] - ] - ], - [ - [ - [ - 72.993044, - 72.60248 - ], - [ - 72.984987, - 72.676088 - ], - [ - 72.840548, - 72.67499 - ], - [ - 72.993044, - 72.60248 - ] - ] - ], - [ - [ - [ - 71.046938, - 73.500002 - ], - [ - 69.974428, - 73.407213 - ], - [ - 69.866381, - 73.032763 - ], - [ - 71.676653, - 73.176928 - ], - [ - 70.999147, - 73.288881 - ], - [ - 71.265001, - 73.436373 - ], - [ - 71.046938, - 73.500002 - ] - ] - ], - [ - [ - [ - 71.341097, - 73.324999 - ], - [ - 71.262774, - 73.414156 - ], - [ - 71.139986, - 73.289705 - ], - [ - 71.341097, - 73.324999 - ] - ] - ], - [ - [ - [ - 69.252214, - 66.78998 - ], - [ - 69.12665, - 66.788591 - ], - [ - 69.419436, - 66.769716 - ], - [ - 69.841097, - 66.478319 - ], - [ - 70.104433, - 66.531099 - ], - [ - 70.055254, - 66.703325 - ], - [ - 69.252214, - 66.78998 - ] - ] - ], - [ - [ - [ - 70.033876, - 66.723879 - ], - [ - 69.9536, - 66.76111 - ], - [ - 69.789156, - 66.780275 - ], - [ - 70.033876, - 66.723879 - ] - ] - ], - [ - [ - [ - 69.334993, - 66.654436 - ], - [ - 69.33333, - 66.718874 - ], - [ - 69.243319, - 66.693316 - ], - [ - 69.334993, - 66.654436 - ] - ] - ], - [ - [ - [ - 68.2661, - 76.958605 - ], - [ - 64.109713, - 76.311373 - ], - [ - 61.066385, - 76.273882 - ], - [ - 60.750002, - 76.006105 - ], - [ - 58.00139, - 75.67415 - ], - [ - 58.194712, - 75.58832 - ], - [ - 57.503328, - 75.492479 - ], - [ - 57.737215, - 75.323046 - ], - [ - 55.797777, - 75.146379 - ], - [ - 56.678606, - 74.952211 - ], - [ - 55.829721, - 74.796099 - ], - [ - 56.984583, - 74.687151 - ], - [ - 55.571665, - 74.659716 - ], - [ - 56.290552, - 74.491365 - ], - [ - 55.073328, - 74.264437 - ], - [ - 55.866388, - 74.10248 - ], - [ - 53.630548, - 73.755266 - ], - [ - 55.176104, - 73.706102 - ], - [ - 54.220545, - 73.323046 - ], - [ - 54.971659, - 73.442202 - ], - [ - 55.977488, - 73.317492 - ], - [ - 55.90777, - 73.440264 - ], - [ - 56.75889, - 73.246935 - ], - [ - 57.253328, - 73.487764 - ], - [ - 56.723047, - 73.673601 - ], - [ - 57.613611, - 73.662203 - ], - [ - 56.555826, - 73.882204 - ], - [ - 57.715273, - 73.713045 - ], - [ - 57.911661, - 73.915545 - ], - [ - 57.257502, - 74.076097 - ], - [ - 58.135828, - 73.985262 - ], - [ - 58.742769, - 74.266939 - ], - [ - 58.183352, - 74.573534 - ], - [ - 59.147219, - 74.438585 - ], - [ - 59.169443, - 74.719713 - ], - [ - 59.773325, - 74.591097 - ], - [ - 59.509996, - 74.794985 - ], - [ - 60.318605, - 74.760546 - ], - [ - 60.680277, - 74.933321 - ], - [ - 59.925554, - 74.999147 - ], - [ - 61.287775, - 75.326097 - ], - [ - 68.861101, - 76.541933 - ], - [ - 68.931368, - 76.782763 - ], - [ - 68.2661, - 76.958605 - ] - ] - ], - [ - [ - [ - 67.383043, - 68.777483 - ], - [ - 67.338594, - 68.819155 - ], - [ - 67.148882, - 68.821932 - ], - [ - 67.383043, - 68.777483 - ] - ] - ], - [ - [ - [ - 67.252489, - 69.444704 - ], - [ - 67.33832, - 69.588884 - ], - [ - 67.021105, - 69.486101 - ], - [ - 67.252489, - 69.444704 - ] - ] - ], - [ - [ - [ - 67.13109, - 69.361376 - ], - [ - 67.210543, - 69.425814 - ], - [ - 66.938036, - 69.44359 - ], - [ - 67.13109, - 69.361376 - ] - ] - ], - [ - [ - [ - 66.171923, - 69.08777 - ], - [ - 65.951937, - 69.093874 - ], - [ - 66.537767, - 68.94359 - ], - [ - 66.171923, - 69.08777 - ] - ] - ], - [ - [ - [ - 65.452486, - 81.027773 - ], - [ - 64.483599, - 81.191088 - ], - [ - 62.504168, - 80.818331 - ], - [ - 64.303041, - 80.729982 - ], - [ - 65.452486, - 81.027773 - ] - ] - ], - [ - [ - [ - 62.793329, - 81.708605 - ], - [ - 62.104166, - 81.672487 - ], - [ - 63.802774, - 81.653322 - ], - [ - 62.793329, - 81.708605 - ] - ] - ], - [ - [ - [ - 62.218325, - 80.811098 - ], - [ - 59.220827, - 80.642763 - ], - [ - 61.066103, - 80.403597 - ], - [ - 62.218325, - 80.811098 - ] - ] - ], - [ - [ - [ - 62.080828, - 81.544146 - ], - [ - 62.203608, - 81.564989 - ], - [ - 61.654436, - 81.603045 - ], - [ - 62.080828, - 81.544146 - ] - ] - ], - [ - [ - [ - 60.98527, - 80.916094 - ], - [ - 61.654161, - 81.110811 - ], - [ - 60.024996, - 80.991655 - ], - [ - 60.98527, - 80.916094 - ] - ] - ], - [ - [ - [ - 60.638887, - 81.272219 - ], - [ - 59.722216, - 81.283327 - ], - [ - 60.377489, - 81.244143 - ], - [ - 60.638887, - 81.272219 - ] - ] - ], - [ - [ - [ - 59.461107, - 70.276659 - ], - [ - 59.033052, - 70.478868 - ], - [ - 58.408602, - 70.250277 - ], - [ - 59.601664, - 69.712496 - ], - [ - 60.546106, - 69.79915 - ], - [ - 59.461107, - 70.276659 - ] - ] - ], - [ - [ - [ - 60.47249, - 76.15999 - ], - [ - 60.041109, - 76.156939 - ], - [ - 59.866106, - 76.104158 - ], - [ - 60.47249, - 76.15999 - ] - ] - ], - [ - [ - [ - 60.261667, - 80.163317 - ], - [ - 60.289438, - 80.166933 - ], - [ - 59.897776, - 80.191652 - ], - [ - 60.261667, - 80.163317 - ] - ] - ], - [ - [ - [ - 59.76639, - 81.170259 - ], - [ - 59.844713, - 81.179979 - ], - [ - 59.010828, - 81.207216 - ], - [ - 59.76639, - 81.170259 - ] - ] - ], - [ - [ - [ - 59.42222, - 79.920259 - ], - [ - 59.844713, - 80.068331 - ], - [ - 58.759165, - 80.022768 - ], - [ - 59.42222, - 79.920259 - ] - ] - ], - [ - [ - [ - 59.2875, - 81.742754 - ], - [ - 59.437769, - 81.816668 - ], - [ - 57.888887, - 81.706942 - ], - [ - 59.2875, - 81.742754 - ] - ] - ], - [ - [ - [ - 59.053324, - 81.28499 - ], - [ - 59.381662, - 81.32416 - ], - [ - 58.461939, - 81.338594 - ], - [ - 59.053324, - 81.28499 - ] - ] - ], - [ - [ - [ - 59.192492, - 75.888048 - ], - [ - 59.27833, - 75.908327 - ], - [ - 58.993608, - 75.8911 - ], - [ - 59.192492, - 75.888048 - ] - ] - ], - [ - [ - [ - 57.968325, - 80.489428 - ], - [ - 56.946383, - 80.474428 - ], - [ - 57.718599, - 80.09833 - ], - [ - 59.276384, - 80.334154 - ], - [ - 57.968325, - 80.489428 - ] - ] - ], - [ - [ - [ - 58.754717, - 75.896944 - ], - [ - 59.266939, - 75.969439 - ], - [ - 58.694712, - 75.899431 - ], - [ - 58.754717, - 75.896944 - ] - ] - ], - [ - [ - [ - 59.239435, - 69.175814 - ], - [ - 59.19388, - 69.233873 - ], - [ - 58.760553, - 69.333605 - ], - [ - 59.239435, - 69.175814 - ] - ] - ], - [ - [ - [ - 59.033884, - 74.34276 - ], - [ - 59.08111, - 74.409151 - ], - [ - 58.934992, - 74.358324 - ], - [ - 59.033884, - 74.34276 - ] - ] - ], - [ - [ - [ - 58.68638, - 79.944704 - ], - [ - 58.279161, - 79.926653 - ], - [ - 58.988047, - 79.89554 - ], - [ - 58.68638, - 79.944704 - ] - ] - ], - [ - [ - [ - 58.986658, - 80.791658 - ], - [ - 58.756662, - 80.896105 - ], - [ - 57.816385, - 80.805819 - ], - [ - 58.986658, - 80.791658 - ] - ] - ], - [ - [ - [ - 58.855272, - 80.640276 - ], - [ - 58.537775, - 80.605822 - ], - [ - 58.806383, - 80.582766 - ], - [ - 58.855272, - 80.640276 - ] - ] - ], - [ - [ - [ - 58.758051, - 81.07332 - ], - [ - 58.808046, - 81.09749 - ], - [ - 58.515276, - 81.104433 - ], - [ - 58.758051, - 81.07332 - ] - ] - ], - [ - [ - [ - 58.490831, - 81.55887 - ], - [ - 58.719713, - 81.599718 - ], - [ - 58.226656, - 81.581377 - ], - [ - 58.490831, - 81.55887 - ] - ] - ], - [ - [ - [ - 58.533335, - 80.953051 - ], - [ - 58.698877, - 81.025545 - ], - [ - 57.834162, - 81.045259 - ], - [ - 58.533335, - 80.953051 - ] - ] - ], - [ - [ - [ - 58.445269, - 81.114153 - ], - [ - 58.648607, - 81.134996 - ], - [ - 58.149439, - 81.128862 - ], - [ - 58.445269, - 81.114153 - ] - ] - ], - [ - [ - [ - 57.796663, - 81.529985 - ], - [ - 56.741381, - 81.448595 - ], - [ - 58.572496, - 81.411928 - ], - [ - 57.796663, - 81.529985 - ] - ] - ], - [ - [ - [ - 56.242495, - 81.101091 - ], - [ - 56.096384, - 81.089159 - ], - [ - 58.278605, - 80.91971 - ], - [ - 56.242495, - 81.101091 - ] - ] - ], - [ - [ - [ - 57.564997, - 81.125261 - ], - [ - 58.080553, - 81.209719 - ], - [ - 56.994715, - 81.165545 - ], - [ - 57.564997, - 81.125261 - ] - ] - ], - [ - [ - [ - 58.010553, - 80.6411 - ], - [ - 57.213053, - 80.603594 - ], - [ - 57.870829, - 80.553316 - ], - [ - 58.010553, - 80.6411 - ] - ] - ], - [ - [ - [ - 57.920832, - 68.803316 - ], - [ - 57.199999, - 68.718874 - ], - [ - 57.864717, - 68.761934 - ], - [ - 57.920832, - 68.803316 - ] - ] - ], - [ - [ - [ - 57.458048, - 81.313601 - ], - [ - 55.431665, - 81.271654 - ], - [ - 57.902773, - 81.29027 - ], - [ - 57.458048, - 81.313601 - ] - ] - ], - [ - [ - [ - 54.749437, - 81.109713 - ], - [ - 54.418329, - 81.006105 - ], - [ - 57.720827, - 80.792482 - ], - [ - 54.749437, - 81.109713 - ] - ] - ], - [ - [ - [ - 55.331667, - 73.329988 - ], - [ - 54.914438, - 73.422213 - ], - [ - 53.153322, - 73.155825 - ], - [ - 53.381937, - 72.88109 - ], - [ - 52.376383, - 72.724703 - ], - [ - 53.219439, - 72.647219 - ], - [ - 52.74888, - 72.633043 - ], - [ - 53.09749, - 72.594713 - ], - [ - 52.397219, - 72.076097 - ], - [ - 51.574442, - 72.070833 - ], - [ - 51.416101, - 71.737764 - ], - [ - 51.79722, - 71.474993 - ], - [ - 53.355829, - 71.567217 - ], - [ - 53.480547, - 71.291658 - ], - [ - 53.929438, - 71.466936 - ], - [ - 53.453325, - 71.26111 - ], - [ - 54.244997, - 71.12665 - ], - [ - 53.508333, - 71.086107 - ], - [ - 53.743326, - 70.943041 - ], - [ - 53.46361, - 70.813875 - ], - [ - 55.186319, - 70.552065 - ], - [ - 57.639994, - 70.726381 - ], - [ - 56.228045, - 71.194139 - ], - [ - 55.221018, - 71.925615 - ], - [ - 55.57583, - 72.195818 - ], - [ - 55.118052, - 72.44803 - ], - [ - 55.945543, - 72.666658 - ], - [ - 55.429438, - 72.784151 - ], - [ - 56.262217, - 72.960817 - ], - [ - 55.615274, - 72.961382 - ], - [ - 56.588602, - 73.137499 - ], - [ - 55.331667, - 73.329988 - ] - ] - ], - [ - [ - [ - 57.204714, - 70.508883 - ], - [ - 56.841661, - 70.599154 - ], - [ - 56.96583, - 70.517488 - ], - [ - 57.204714, - 70.508883 - ] - ] - ], - [ - [ - [ - 57.096941, - 80.34305 - ], - [ - 55.71361, - 80.101091 - ], - [ - 57.050547, - 80.074999 - ], - [ - 57.096941, - 80.34305 - ] - ] - ], - [ - [ - [ - 56.778879, - 80.735811 - ], - [ - 55.432497, - 80.70833 - ], - [ - 56.948603, - 80.692751 - ], - [ - 56.778879, - 80.735811 - ] - ] - ], - [ - [ - [ - 56.308046, - 80.381365 - ], - [ - 55.873049, - 80.435259 - ], - [ - 55.786112, - 80.407213 - ], - [ - 56.308046, - 80.381365 - ] - ] - ], - [ - [ - [ - 55.449999, - 80.851381 - ], - [ - 53.97555, - 80.817492 - ], - [ - 55.982767, - 80.795824 - ], - [ - 55.449999, - 80.851381 - ] - ] - ], - [ - [ - [ - 55.151102, - 80.220263 - ], - [ - 55.543886, - 80.293871 - ], - [ - 54.8575, - 80.252489 - ], - [ - 55.151102, - 80.220263 - ] - ] - ], - [ - [ - [ - 55.472315, - 68.909044 - ], - [ - 55.508425, - 68.912111 - ], - [ - 55.224566, - 68.909868 - ], - [ - 55.472315, - 68.909044 - ] - ] - ], - [ - [ - [ - 55.366938, - 80.428865 - ], - [ - 54.977488, - 80.416933 - ], - [ - 55.167498, - 80.369432 - ], - [ - 55.366938, - 80.428865 - ] - ] - ], - [ - [ - [ - 55.015833, - 80.556932 - ], - [ - 54.641108, - 80.528048 - ], - [ - 55.16305, - 80.494707 - ], - [ - 55.015833, - 80.556932 - ] - ] - ], - [ - [ - [ - 54.637217, - 80.393602 - ], - [ - 54.863054, - 80.450274 - ], - [ - 54.370272, - 80.405825 - ], - [ - 54.637217, - 80.393602 - ] - ] - ], - [ - [ - [ - 54.654161, - 68.955828 - ], - [ - 54.694155, - 68.991365 - ], - [ - 54.567774, - 68.955828 - ], - [ - 54.654161, - 68.955828 - ] - ] - ], - [ - [ - [ - 54.301661, - 80.419146 - ], - [ - 54.458887, - 80.498034 - ], - [ - 53.779993, - 80.469439 - ], - [ - 54.301661, - 80.419146 - ] - ] - ], - [ - [ - [ - 54.221933, - 80.204165 - ], - [ - 54.439714, - 80.298601 - ], - [ - 54.151384, - 80.299425 - ], - [ - 54.221933, - 80.204165 - ] - ] - ], - [ - [ - [ - 54.293612, - 81.33333 - ], - [ - 54.114717, - 81.347216 - ], - [ - 54.421938, - 81.270266 - ], - [ - 54.293612, - 81.33333 - ] - ] - ], - [ - [ - [ - 54.211939, - 68.249712 - ], - [ - 54.336939, - 68.303865 - ], - [ - 54.283052, - 68.336657 - ], - [ - 54.211939, - 68.249712 - ] - ] - ], - [ - [ - [ - 53.949717, - 68.292757 - ], - [ - 54.01333, - 68.3622 - ], - [ - 53.868883, - 68.346102 - ], - [ - 53.949717, - 68.292757 - ] - ] - ], - [ - [ - [ - 53.621103, - 80.294985 - ], - [ - 52.181383, - 80.271929 - ], - [ - 53.87166, - 80.256655 - ], - [ - 53.621103, - 80.294985 - ] - ] - ], - [ - [ - [ - 53.59527, - 71.110262 - ], - [ - 53.542498, - 71.18387 - ], - [ - 53.432497, - 71.136934 - ], - [ - 53.59527, - 71.110262 - ] - ] - ], - [ - [ - [ - 53.442217, - 80.484987 - ], - [ - 53.398607, - 80.62665 - ], - [ - 53.105272, - 80.619982 - ], - [ - 53.442217, - 80.484987 - ] - ] - ], - [ - [ - [ - 53.360552, - 71.292208 - ], - [ - 53.12916, - 71.358599 - ], - [ - 53.204165, - 71.311098 - ], - [ - 53.360552, - 71.292208 - ] - ] - ], - [ - [ - [ - 52.858606, - 71.378313 - ], - [ - 52.208887, - 71.305544 - ], - [ - 53.141939, - 70.978319 - ], - [ - 53.207499, - 71.251101 - ], - [ - 52.858606, - 71.378313 - ] - ] - ], - [ - [ - [ - 52.452494, - 80.321108 - ], - [ - 52.521379, - 80.330828 - ], - [ - 52.166666, - 80.350267 - ], - [ - 52.452494, - 80.321108 - ] - ] - ], - [ - [ - [ - 50.133051, - 80.846651 - ], - [ - 50.441378, - 80.903872 - ], - [ - 48.954165, - 80.731371 - ], - [ - 49.681383, - 80.717485 - ], - [ - 49.192217, - 80.521379 - ], - [ - 47.380274, - 80.450548 - ], - [ - 48.183878, - 80.331377 - ], - [ - 46.616388, - 80.290819 - ], - [ - 48.374163, - 80.087206 - ], - [ - 49.113054, - 80.182756 - ], - [ - 48.622766, - 80.300264 - ], - [ - 48.809717, - 80.376375 - ], - [ - 51.746943, - 80.712206 - ], - [ - 50.133051, - 80.846651 - ] - ] - ], - [ - [ - [ - 51.204996, - 80.038042 - ], - [ - 50.043886, - 79.97304 - ], - [ - 51.50194, - 79.931658 - ], - [ - 51.204996, - 80.038042 - ] - ] - ], - [ - [ - [ - 50.814157, - 68.37221 - ], - [ - 51.456659, - 68.476931 - ], - [ - 51.163881, - 68.495256 - ], - [ - 50.814157, - 68.37221 - ] - ] - ], - [ - [ - [ - 50.597216, - 81.046099 - ], - [ - 50.983332, - 81.100542 - ], - [ - 50.34749, - 81.090273 - ], - [ - 50.597216, - 81.046099 - ] - ] - ], - [ - [ - [ - 50.305269, - 69.161928 - ], - [ - 48.943323, - 69.506945 - ], - [ - 48.312769, - 69.279161 - ], - [ - 48.216105, - 68.894991 - ], - [ - 48.912767, - 68.736101 - ], - [ - 50.305269, - 69.161928 - ] - ] - ], - [ - [ - [ - 50.252779, - 80.146379 - ], - [ - 49.532213, - 80.152208 - ], - [ - 49.97249, - 80.054155 - ], - [ - 50.252779, - 80.146379 - ] - ] - ], - [ - [ - [ - 49.596102, - 80.072771 - ], - [ - 49.330278, - 80.061922 - ], - [ - 49.683054, - 80.036379 - ], - [ - 49.596102, - 80.072771 - ] - ] - ], - [ - [ - [ - 49.37916, - 79.989153 - ], - [ - 49.435266, - 80.002489 - ], - [ - 49.193605, - 80.032213 - ], - [ - 49.37916, - 79.989153 - ] - ] - ], - [ - [ - [ - 47.897776, - 80.803316 - ], - [ - 44.8575, - 80.616381 - ], - [ - 46.036386, - 80.572222 - ], - [ - 46.084162, - 80.436922 - ], - [ - 47.423609, - 80.588884 - ], - [ - 47.303324, - 80.657488 - ], - [ - 47.751665, - 80.76639 - ], - [ - 48.76639, - 80.646379 - ], - [ - 47.897776, - 80.803316 - ] - ] - ], - [ - [ - [ - 48.723314, - 45.69832 - ], - [ - 48.495829, - 45.882212 - ], - [ - 48.591928, - 45.747492 - ], - [ - 48.723314, - 45.69832 - ] - ] - ], - [ - [ - [ - 48.468882, - 45.673883 - ], - [ - 48.404428, - 45.794992 - ], - [ - 48.33777, - 45.797213 - ], - [ - 48.468882, - 45.673883 - ] - ] - ], - [ - [ - [ - 47.962496, - 45.504992 - ], - [ - 47.993876, - 45.536654 - ], - [ - 47.960276, - 45.653048 - ], - [ - 47.962496, - 45.504992 - ] - ] - ], - [ - [ - [ - 47.739717, - 43.932215 - ], - [ - 47.785555, - 43.958879 - ], - [ - 47.628038, - 43.974436 - ], - [ - 47.739717, - 43.932215 - ] - ] - ], - [ - [ - [ - 42.706659, - 66.686373 - ], - [ - 42.622766, - 66.782213 - ], - [ - 42.432497, - 66.758608 - ], - [ - 42.706659, - 66.686373 - ] - ] - ], - [ - [ - [ - 40.412493, - 64.653597 - ], - [ - 39.97471, - 64.682756 - ], - [ - 40.471376, - 64.566088 - ], - [ - 40.412493, - 64.653597 - ] - ] - ], - [ - [ - [ - 36.061663, - 65.190264 - ], - [ - 35.943323, - 65.181932 - ], - [ - 36.300829, - 65.201097 - ], - [ - 36.061663, - 65.190264 - ] - ] - ], - [ - [ - [ - 35.991106, - 64.325823 - ], - [ - 36.047495, - 64.355547 - ], - [ - 35.854441, - 64.405825 - ], - [ - 35.991106, - 64.325823 - ] - ] - ], - [ - [ - [ - 35.790834, - 64.973314 - ], - [ - 35.834436, - 65.168322 - ], - [ - 35.524698, - 65.158876 - ], - [ - 35.790834, - 64.973314 - ] - ] - ], - [ - [ - [ - 34.404711, - 69.339434 - ], - [ - 34.213373, - 69.402727 - ], - [ - 33.973047, - 69.366091 - ], - [ - 34.404711, - 69.339434 - ] - ] - ], - [ - [ - [ - 28.693052, - 60.267771 - ], - [ - 28.714998, - 60.31138 - ], - [ - 28.551111, - 60.349436 - ], - [ - 28.693052, - 60.267771 - ] - ] - ], - [ - [ - [ - 21.431387, - 55.25194 - ], - [ - 21.263937, - 55.248987 - ], - [ - 21.222498, - 54.93194 - ], - [ - 20.538054, - 54.949434 - ], - [ - 20.984816, - 55.276552 - ], - [ - 20.942835, - 55.287203 - ], - [ - 19.969442, - 54.957499 - ], - [ - 19.872713, - 54.640551 - ], - [ - 20.405001, - 54.679163 - ], - [ - 19.797007, - 54.437551 - ], - [ - 22.785887, - 54.36384 - ], - [ - 22.842497, - 54.896944 - ], - [ - 21.431387, - 55.25194 - ] - ] - ], - [ - [ - [ - 19.697779, - 54.479441 - ], - [ - 19.898203, - 54.625959 - ], - [ - 19.62726, - 54.463274 - ], - [ - 19.65111, - 54.455828 - ], - [ - 19.697779, - 54.479441 - ] - ] - ], - [ - [ - [ - -169.053345, - 65.749147 - ], - [ - -168.989746, - 65.808855 - ], - [ - -169.075012, - 65.815523 - ], - [ - -169.053345, - 65.749147 - ] - ] - ], - [ - [ - [ - -179.626129, - 68.906359 - ], - [ - -180, - 68.980104 - ], - [ - -180, - 65.068911 - ], - [ - -179.315002, - 65.536089 - ], - [ - -179.79837, - 65.870516 - ], - [ - -179.695587, - 66.183031 - ], - [ - -178.516998, - 66.402773 - ], - [ - -178.909454, - 65.993868 - ], - [ - -178.460541, - 65.736376 - ], - [ - -178.56308, - 65.51639 - ], - [ - -176.078064, - 65.470263 - ], - [ - -175.448883, - 64.784426 - ], - [ - -173.681671, - 64.347216 - ], - [ - -173.41333, - 64.619982 - ], - [ - -173.191406, - 64.254427 - ], - [ - -172.355835, - 64.458315 - ], - [ - -173.200867, - 64.786089 - ], - [ - -172.126129, - 65.086367 - ], - [ - -172.693359, - 65.232759 - ], - [ - -172.190552, - 65.446627 - ], - [ - -172.800293, - 65.681658 - ], - [ - -171.11557, - 65.476366 - ], - [ - -171.544189, - 65.833605 - ], - [ - -170.63559, - 65.610537 - ], - [ - -170.587799, - 65.863604 - ], - [ - -169.691101, - 66.072496 - ], - [ - -170.64447, - 66.2372 - ], - [ - -171.726105, - 66.955248 - ], - [ - -173.352509, - 66.838869 - ], - [ - -173.176697, - 67.063311 - ], - [ - -173.666962, - 67.131655 - ], - [ - -174.652527, - 67.063601 - ], - [ - -174.125275, - 66.989138 - ], - [ - -173.99585, - 66.691347 - ], - [ - -174.30307, - 66.577761 - ], - [ - -173.758667, - 66.44803 - ], - [ - -174.461945, - 66.301073 - ], - [ - -175.000336, - 66.671099 - ], - [ - -174.742798, - 66.773043 - ], - [ - -174.830292, - 67.382738 - ], - [ - -175.38031, - 67.344988 - ], - [ - -175.191101, - 67.510805 - ], - [ - -175.463623, - 67.707476 - ], - [ - -179.626129, - 68.906359 - ] - ] - ], - [ - [ - [ - -172.590576, - 64.70331 - ], - [ - -172.171112, - 64.795259 - ], - [ - -172.531158, - 64.843035 - ], - [ - -172.590576, - 64.70331 - ] - ] - ], - [ - [ - [ - -172.544464, - 64.613314 - ], - [ - -172.488312, - 64.633608 - ], - [ - -172.758087, - 64.660799 - ], - [ - -172.544464, - 64.613314 - ] - ] - ], - [ - [ - [ - -175.62085, - 71.377764 - ], - [ - -175.764191, - 71.42441 - ], - [ - -175.923615, - 71.425814 - ], - [ - -175.62085, - 71.377764 - ] - ] - ], - [ - [ - [ - -178.568604, - 71.56415 - ], - [ - -180, - 71.535845 - ], - [ - -180, - 70.99721 - ], - [ - -177.439453, - 71.226931 - ], - [ - -178.568604, - 71.56415 - ] - ] - ] - ] - }, - "name" : "Russia", - "iso2" : "RU", - "iso3" : "RUS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "8r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 29.024441, - -2.744722 - ], - [ - 29.85083, - -2.759722 - ], - [ - 29.952221, - -2.309445 - ], - [ - 30.57333, - -2.399167 - ], - [ - 30.894165, - -2.076111 - ], - [ - 30.48222, - -1.063334 - ], - [ - 29.974998, - -1.464445 - ], - [ - 29.596943, - -1.385834 - ], - [ - 28.868332, - -2.394444 - ], - [ - 29.024441, - -2.744722 - ] - ] - ] - }, - "name" : "Rwanda", - "iso2" : "RW", - "iso3" : "RWA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "871E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 41.957773, - 16.708887 - ], - [ - 42.179995, - 16.566946 - ], - [ - 41.753611, - 16.876112 - ], - [ - 41.957773, - 16.708887 - ] - ] - ], - [ - [ - [ - 41.986666, - 16.753332 - ], - [ - 41.845552, - 17.009165 - ], - [ - 41.837221, - 16.868612 - ], - [ - 41.986666, - 16.753332 - ] - ] - ], - [ - [ - [ - 37.080553, - 24.959166 - ], - [ - 37.041666, - 24.996946 - ], - [ - 37.03583, - 24.963057 - ], - [ - 37.080553, - 24.959166 - ] - ] - ], - [ - [ - [ - 35.754717, - 27.094721 - ], - [ - 35.726389, - 27.128611 - ], - [ - 35.757776, - 27.076944 - ], - [ - 35.754717, - 27.094721 - ] - ] - ], - [ - [ - [ - 49.53721, - 27.363607 - ], - [ - 49.452211, - 27.28583 - ], - [ - 49.638613, - 27.316385 - ], - [ - 49.53721, - 27.363607 - ] - ] - ], - [ - [ - [ - 34.593607, - 27.909166 - ], - [ - 34.546663, - 27.99861 - ], - [ - 34.49222, - 27.996111 - ], - [ - 34.593607, - 27.909166 - ] - ] - ], - [ - [ - [ - 44.721663, - 29.198332 - ], - [ - 42.085001, - 31.111662 - ], - [ - 40.413332, - 31.948332 - ], - [ - 39.196745, - 32.154943 - ], - [ - 37.005274, - 31.505556 - ], - [ - 38.00139, - 30.504168 - ], - [ - 37.502779, - 30.002222 - ], - [ - 36.743608, - 29.864721 - ], - [ - 36.070002, - 29.18889 - ], - [ - 34.96139, - 29.360834 - ], - [ - 34.571665, - 28.088888 - ], - [ - 35.160555, - 28.056665 - ], - [ - 37.235552, - 25.182501 - ], - [ - 37.441668, - 24.371389 - ], - [ - 38.452776, - 23.782499 - ], - [ - 39.062777, - 22.583334 - ], - [ - 39.176943, - 21.099165 - ], - [ - 40.759996, - 19.760279 - ], - [ - 42.789682, - 16.377504 - ], - [ - 43.20611, - 16.672224 - ], - [ - 43.309443, - 17.457224 - ], - [ - 44.467501, - 17.411943 - ], - [ - 46.33333, - 16.666666 - ], - [ - 46.333055, - 15.616945 - ], - [ - 48.76639, - 18.26639 - ], - [ - 51.999292, - 18.999346 - ], - [ - 55.000002, - 20.000002 - ], - [ - 55.666109, - 21.999723 - ], - [ - 55.199167, - 22.69972 - ], - [ - 52.58333, - 22.93889 - ], - [ - 51.583612, - 24.259722 - ], - [ - 51.215166, - 24.62089 - ], - [ - 50.830957, - 24.749968 - ], - [ - 49.993891, - 26.019999 - ], - [ - 50.159166, - 26.656668 - ], - [ - 48.838877, - 27.619719 - ], - [ - 48.41659, - 28.545279 - ], - [ - 47.688883, - 28.538885 - ], - [ - 47.459993, - 28.999441 - ], - [ - 46.546946, - 29.1042 - ], - [ - 44.721663, - 29.198332 - ] - ] - ] - ] - }, - "name" : "Saudi Arabia", - "iso2" : "SA", - "iso3" : "SAU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "9L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -62.55278, - 17.094166 - ], - [ - -62.599724, - 17.19722 - ], - [ - -62.621948, - 17.111385 - ], - [ - -62.55278, - 17.094166 - ] - ] - ], - [ - [ - [ - -62.701668, - 17.336941 - ], - [ - -62.863892, - 17.370831 - ], - [ - -62.625282, - 17.220833 - ], - [ - -62.701668, - 17.336941 - ] - ] - ] - ] - }, - "name" : "Saint Kitts and Nevis", - "iso2" : "KN", - "iso3" : "KNA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "9b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 46.491386, - -9.754446 - ], - [ - 46.508331, - -9.717779 - ], - [ - 46.476105, - -9.744167 - ], - [ - 46.491386, - -9.754446 - ] - ] - ], - [ - [ - [ - 46.510551, - -9.396946 - ], - [ - 46.204163, - -9.389446 - ], - [ - 46.269165, - -9.463057 - ], - [ - 46.510551, - -9.396946 - ] - ] - ], - [ - [ - [ - 46.413887, - -9.358891 - ], - [ - 46.426941, - -9.342779 - ], - [ - 46.276665, - -9.346111 - ], - [ - 46.413887, - -9.358891 - ] - ] - ], - [ - [ - [ - 56.282219, - -7.134167 - ], - [ - 56.27861, - -7.110834 - ], - [ - 56.247215, - -7.194445 - ], - [ - 56.282219, - -7.134167 - ] - ] - ], - [ - [ - [ - 55.535271, - -4.763056 - ], - [ - 55.45916, - -4.55139 - ], - [ - 55.376106, - -4.627223 - ], - [ - 55.535271, - -4.763056 - ] - ] - ], - [ - [ - [ - 55.246109, - -4.506945 - ], - [ - 55.26722, - -4.481668 - ], - [ - 55.231667, - -4.448056 - ], - [ - 55.246109, - -4.506945 - ] - ] - ], - [ - [ - [ - 55.775833, - -4.348333 - ], - [ - 55.77166, - -4.315556 - ], - [ - 55.687218, - -4.2875 - ], - [ - 55.775833, - -4.348333 - ] - ] - ] - ] - }, - "name" : "Seychelles", - "iso2" : "SC", - "iso3" : "SYC" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "9r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 37.85083, - -46.956947 - ], - [ - 37.781944, - -46.83223 - ], - [ - 37.576385, - -46.909447 - ], - [ - 37.85083, - -46.956947 - ] - ] - ], - [ - [ - [ - 37.959442, - -46.658615 - ], - [ - 37.942772, - -46.60334 - ], - [ - 37.856941, - -46.626945 - ], - [ - 37.959442, - -46.658615 - ] - ] - ], - [ - [ - [ - 31.297504, - -22.414764 - ], - [ - 29.893887, - -22.194447 - ], - [ - 29.373623, - -22.19241 - ], - [ - 28.298332, - -22.609447 - ], - [ - 26.95919, - -23.752075 - ], - [ - 26.845276, - -24.264446 - ], - [ - 25.871387, - -24.744446 - ], - [ - 25.50972, - -25.67778 - ], - [ - 24.6772, - -25.827824 - ], - [ - 23.014832, - -25.299725 - ], - [ - 22.624809, - -26.111565 - ], - [ - 21.667221, - -26.864445 - ], - [ - 20.642498, - -26.828056 - ], - [ - 20.811386, - -25.883335 - ], - [ - 20.000942, - -24.765408 - ], - [ - 19.99612, - -28.421448 - ], - [ - 19.123055, - -28.962223 - ], - [ - 18.175831, - -28.908611 - ], - [ - 17.40472, - -28.713612 - ], - [ - 17.06361, - -28.028614 - ], - [ - 16.48959, - -28.578178 - ], - [ - 18.27861, - -31.89278 - ], - [ - 18.292221, - -32.624451 - ], - [ - 17.8475, - -32.830833 - ], - [ - 18.441109, - -33.706673 - ], - [ - 18.40472, - -34.30278 - ], - [ - 18.793331, - -34.08667 - ], - [ - 18.817776, - -34.377785 - ], - [ - 20, - -34.822002 - ], - [ - 22.544998, - -34.005005 - ], - [ - 25.701942, - -34.031952 - ], - [ - 25.724998, - -33.767227 - ], - [ - 26.530552, - -33.753334 - ], - [ - 27.899998, - -33.040558 - ], - [ - 30.023888, - -31.281113 - ], - [ - 31.325832, - -29.390835 - ], - [ - 32.390274, - -28.537781 - ], - [ - 32.890427, - -26.847145 - ], - [ - 32.1334, - -26.839626 - ], - [ - 31.987499, - -27.316113 - ], - [ - 31.161663, - -27.203056 - ], - [ - 30.818886, - -26.810558 - ], - [ - 30.902048, - -26.305254 - ], - [ - 31.33083, - -25.751392 - ], - [ - 31.96851, - -25.95784 - ], - [ - 32.016106, - -24.459446 - ], - [ - 31.297504, - -22.414764 - ] - ], - [ - [ - 28.565552, - -28.610001 - ], - [ - 29.430832, - -29.278614 - ], - [ - 29.168888, - -29.913891 - ], - [ - 28.377777, - -30.16028 - ], - [ - 28.079937, - -30.650528 - ], - [ - 27.564617, - -30.404911 - ], - [ - 27.011108, - -29.625278 - ], - [ - 28.565552, - -28.610001 - ] - ] - ] - ] - }, - "name" : "South Africa", - "iso2" : "ZA", - "iso3" : "ZAF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "971E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 28.565552, - -28.610001 - ], - [ - 27.011108, - -29.625278 - ], - [ - 27.564617, - -30.404911 - ], - [ - 28.079937, - -30.650528 - ], - [ - 28.377777, - -30.16028 - ], - [ - 29.168888, - -29.913891 - ], - [ - 29.430832, - -29.278614 - ], - [ - 28.565552, - -28.610001 - ] - ] - ] - }, - "name" : "Lesotho", - "iso2" : "LS", - "iso3" : "LSO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "-L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 20.000942, - -24.765408 - ], - [ - 20.811386, - -25.883335 - ], - [ - 20.642498, - -26.828056 - ], - [ - 21.667221, - -26.864445 - ], - [ - 22.624809, - -26.111565 - ], - [ - 23.014832, - -25.299725 - ], - [ - 24.6772, - -25.827824 - ], - [ - 25.50972, - -25.67778 - ], - [ - 25.871387, - -24.744446 - ], - [ - 26.845276, - -24.264446 - ], - [ - 26.95919, - -23.752075 - ], - [ - 28.298332, - -22.609447 - ], - [ - 29.373623, - -22.19241 - ], - [ - 29.060555, - -21.798058 - ], - [ - 28.015831, - -21.566113 - ], - [ - 27.713165, - -20.506432 - ], - [ - 27.287453, - -20.494965 - ], - [ - 27.219997, - -20.091667 - ], - [ - 26.166111, - -19.527779 - ], - [ - 25.264431, - -17.80225 - ], - [ - 24.362499, - -17.948612 - ], - [ - 23.615578, - -18.485069 - ], - [ - 23.297108, - -17.995949 - ], - [ - 20.993286, - -18.318417 - ], - [ - 20.991943, - -21.996948 - ], - [ - 19.996666, - -22.005001 - ], - [ - 20.000942, - -24.765408 - ] - ] - ] - }, - "name" : "Botswana", - "iso2" : "BW", - "iso3" : "BWA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "-b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -16.527679, - 16.060249 - ], - [ - -16.878334, - 15.224998 - ], - [ - -17.537224, - 14.756109 - ], - [ - -17.148308, - 14.61392 - ], - [ - -16.775837, - 14.012499 - ], - [ - -16.363056, - 14.166111 - ], - [ - -16.747223, - 13.951944 - ], - [ - -16.490837, - 13.958055 - ], - [ - -16.56567, - 13.589998 - ], - [ - -15.070278, - 13.826387 - ], - [ - -13.798613, - 13.406387 - ], - [ - -14.351112, - 13.237778 - ], - [ - -15.111668, - 13.595833 - ], - [ - -15.285002, - 13.374443 - ], - [ - -15.803612, - 13.347776 - ], - [ - -15.809723, - 13.159721 - ], - [ - -16.750874, - 13.059977 - ], - [ - -16.756111, - 12.564999 - ], - [ - -16.598057, - 12.791666 - ], - [ - -15.650002, - 12.555555 - ], - [ - -15.390001, - 12.831944 - ], - [ - -15.626945, - 12.531111 - ], - [ - -16.586945, - 12.632776 - ], - [ - -16.71777, - 12.322426 - ], - [ - -14.516945, - 12.679722 - ], - [ - -13.713139, - 12.677221 - ], - [ - -12.345404, - 12.301748 - ], - [ - -11.373058, - 12.407774 - ], - [ - -11.378056, - 12.988054 - ], - [ - -12.057222, - 13.664721 - ], - [ - -12.244833, - 14.764385 - ], - [ - -14.345278, - 16.638611 - ], - [ - -16.280834, - 16.519722 - ], - [ - -16.527679, - 16.060249 - ] - ] - ] - }, - "name" : "Senegal", - "iso2" : "SN", - "iso3" : "SEN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "-r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 13.718655, - 46.526611 - ], - [ - 13.383055, - 46.297218 - ], - [ - 13.669167, - 46.177498 - ], - [ - 13.48, - 46.011108 - ], - [ - 13.919167, - 45.637497 - ], - [ - 13.716944, - 45.596107 - ], - [ - 13.59174, - 45.481697 - ], - [ - 14.601387, - 45.675278 - ], - [ - 15.174458, - 45.425819 - ], - [ - 15.697777, - 45.844162 - ], - [ - 15.654722, - 46.219444 - ], - [ - 16.572498, - 46.475273 - ], - [ - 16.607872, - 46.476234 - ], - [ - 16.111805, - 46.86972 - ], - [ - 14.544998, - 46.407494 - ], - [ - 13.718655, - 46.526611 - ] - ] - ] - }, - "name" : "Slovenia", - "iso2" : "SI", - "iso3" : "SVN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "-71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -12.525278, - 7.431389 - ], - [ - -12.591112, - 7.634444 - ], - [ - -12.952778, - 7.568333 - ], - [ - -12.525278, - 7.431389 - ] - ] - ], - [ - [ - [ - -10.266651, - 8.488377 - ], - [ - -10.695835, - 8.298611 - ], - [ - -10.571526, - 9.059532 - ], - [ - -11.214445, - 9.997499 - ], - [ - -12.456112, - 9.888332 - ], - [ - -13.29561, - 9.032143 - ], - [ - -13.132223, - 8.861944 - ], - [ - -13.2425, - 8.8025 - ], - [ - -13.165279, - 8.51861 - ], - [ - -12.897501, - 8.567778 - ], - [ - -13.120279, - 8.461666 - ], - [ - -13.05139, - 8.36861 - ], - [ - -13.288057, - 8.496111 - ], - [ - -12.958612, - 7.9 - ], - [ - -11.492331, - 6.927091 - ], - [ - -10.266651, - 8.488377 - ] - ] - ] - ] - }, - "name" : "Sierra Leone", - "iso2" : "SL", - "iso3" : "SLE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "_L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 103.99054, - 1.383291 - ], - [ - 103.713593, - 1.429444 - ], - [ - 103.640808, - 1.315555 - ], - [ - 103.99054, - 1.383291 - ] - ] - ] - }, - "name" : "Singapore", - "iso2" : "SG", - "iso3" : "SGP" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "_b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 42.944092, - 11.002438 - ], - [ - 42.663055, - 10.6325 - ], - [ - 42.848053, - 10.22361 - ], - [ - 44.010551, - 9.007221 - ], - [ - 47.01194, - 8.00111 - ], - [ - 47.988243, - 8.004107 - ], - [ - 44.950829, - 4.902499 - ], - [ - 43.686386, - 4.891944 - ], - [ - 41.905167, - 3.980322 - ], - [ - 40.986595, - 2.829956 - ], - [ - 40.998329, - -0.866111 - ], - [ - 41.558159, - -1.674868 - ], - [ - 43.488609, - 0.649999 - ], - [ - 46.014717, - 2.427778 - ], - [ - 47.954437, - 4.463888 - ], - [ - 50.83625, - 9.432688 - ], - [ - 50.896942, - 10.319721 - ], - [ - 51.412636, - 10.451515 - ], - [ - 51.01416, - 10.442778 - ], - [ - 51.277222, - 11.836666 - ], - [ - 50.76944, - 11.979166 - ], - [ - 50.085548, - 11.511944 - ], - [ - 47.398888, - 11.179998 - ], - [ - 46.448051, - 10.688889 - ], - [ - 45.759995, - 10.875277 - ], - [ - 44.898331, - 10.420555 - ], - [ - 44.278328, - 10.447777 - ], - [ - 43.249222, - 11.469534 - ], - [ - 42.944092, - 11.002438 - ] - ] - ] - }, - "name" : "Somalia", - "iso2" : "SO", - "iso3" : "SOM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "_r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -17.912781, - 27.771666 - ], - [ - -18.170559, - 27.737223 - ], - [ - -17.98278, - 27.637499 - ], - [ - -17.912781, - 27.771666 - ] - ] - ], - [ - [ - [ - -15.554167, - 27.755835 - ], - [ - -15.365557, - 28.010279 - ], - [ - -15.702501, - 28.156111 - ], - [ - -15.554167, - 27.755835 - ] - ] - ], - [ - [ - [ - -17.175003, - 28.016943 - ], - [ - -17.101948, - 28.134722 - ], - [ - -17.316948, - 28.172224 - ], - [ - -17.175003, - 28.016943 - ] - ] - ], - [ - [ - [ - -16.341114, - 28.370279 - ], - [ - -16.156948, - 28.572222 - ], - [ - -16.912781, - 28.341391 - ], - [ - -16.671391, - 27.984167 - ], - [ - -16.341114, - 28.370279 - ] - ] - ], - [ - [ - [ - -14.327223, - 28.046389 - ], - [ - -13.923056, - 28.249166 - ], - [ - -13.869722, - 28.75139 - ], - [ - -14.327223, - 28.046389 - ] - ] - ], - [ - [ - [ - -17.831947, - 28.45389 - ], - [ - -17.716393, - 28.746111 - ], - [ - -17.904446, - 28.849443 - ], - [ - -17.831947, - 28.45389 - ] - ] - ], - [ - [ - [ - -13.609724, - 28.92639 - ], - [ - -13.442501, - 29.231668 - ], - [ - -13.852222, - 28.906389 - ], - [ - -13.609724, - 28.92639 - ] - ] - ], - [ - [ - [ - -2.925278, - 35.266665 - ], - [ - -2.914722, - 35.273607 - ], - [ - -2.946945, - 35.329165 - ], - [ - -2.925278, - 35.266665 - ] - ] - ], - [ - [ - [ - -5.319445, - 35.87694 - ], - [ - -5.395557, - 35.916338 - ], - [ - -5.345833, - 35.841661 - ], - [ - -5.319445, - 35.87694 - ] - ] - ], - [ - [ - [ - -3.03611, - 35.912775 - ], - [ - -3.027222, - 35.92444 - ], - [ - -3.051111, - 35.915834 - ], - [ - -3.03611, - 35.912775 - ] - ] - ], - [ - [ - [ - 1.57778, - 38.687777 - ], - [ - 1.383055, - 38.720552 - ], - [ - 1.39028, - 38.643328 - ], - [ - 1.57778, - 38.687777 - ] - ] - ], - [ - [ - [ - 1.531668, - 38.951944 - ], - [ - 1.519724, - 39.118334 - ], - [ - 1.211946, - 38.898333 - ], - [ - 1.531668, - 38.951944 - ] - ] - ], - [ - [ - [ - 3.247778, - 39.73472 - ], - [ - 2.98778, - 39.911112 - ], - [ - 2.364168, - 39.555834 - ], - [ - 3.063612, - 39.263613 - ], - [ - 3.479723, - 39.711107 - ], - [ - 3.247778, - 39.73472 - ] - ] - ], - [ - [ - [ - 4.273333, - 39.96139 - ], - [ - 3.796946, - 40.017221 - ], - [ - 4.276388, - 39.806391 - ], - [ - 4.273333, - 39.96139 - ] - ] - ], - [ - [ - [ - -7.431854, - 37.253191 - ], - [ - -6.355555, - 36.860834 - ], - [ - -6.0375, - 36.180277 - ], - [ - -5.355799, - 36.163309 - ], - [ - -5.334507, - 36.162561 - ], - [ - -4.398333, - 36.722223 - ], - [ - -2.129166, - 36.731386 - ], - [ - -1.64361, - 37.372774 - ], - [ - -0.715555, - 37.606943 - ], - [ - -0.511667, - 38.324999 - ], - [ - 0.207224, - 38.73221 - ], - [ - -0.338055, - 39.435556 - ], - [ - 0.048891, - 40.036104 - ], - [ - 0.964445, - 41.032778 - ], - [ - 3.17528, - 41.867495 - ], - [ - 3.177656, - 42.436808 - ], - [ - 1.723612, - 42.509439 - ], - [ - 1.445833, - 42.601946 - ], - [ - -0.562222, - 42.781389 - ], - [ - -1.780876, - 43.359926 - ], - [ - -7.044819, - 43.490404 - ], - [ - -7.855555, - 43.759996 - ], - [ - -9.209446, - 43.152773 - ], - [ - -9.041389, - 42.528887 - ], - [ - -8.719446, - 42.695833 - ], - [ - -8.869167, - 42.25139 - ], - [ - -8.579723, - 42.351664 - ], - [ - -8.898613, - 42.108057 - ], - [ - -8.745008, - 41.952501 - ], - [ - -8.201223, - 42.152742 - ], - [ - -8.204723, - 41.87472 - ], - [ - -6.594166, - 41.953608 - ], - [ - -6.187222, - 41.579721 - ], - [ - -6.931667, - 41.018053 - ], - [ - -7.017221, - 39.674997 - ], - [ - -7.532505, - 39.66942 - ], - [ - -6.954792, - 39.026384 - ], - [ - -7.321112, - 38.449442 - ], - [ - -6.939167, - 38.178057 - ], - [ - -7.446945, - 37.699442 - ], - [ - -7.431854, - 37.253191 - ] - ], - [ - [ - -6.924999, - 37.170832 - ], - [ - -6.954166, - 37.180277 - ], - [ - -6.973055, - 37.210276 - ], - [ - -6.924999, - 37.170832 - ] - ] - ] - ] - }, - "name" : "Spain", - "iso2" : "ES", - "iso3" : "ESP" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "_71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -60.954727, - 13.709444 - ], - [ - -60.930283, - 14.109444 - ], - [ - -61.079445, - 13.879999 - ], - [ - -60.954727, - 13.709444 - ] - ] - ] - }, - "name" : "Saint Lucia", - "iso2" : "LC", - "iso3" : "LCA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "AL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 24.047173, - 8.693076 - ], - [ - 24.201111, - 8.686943 - ], - [ - 24.192497, - 8.30361 - ], - [ - 25.25333, - 7.850555 - ], - [ - 25.206944, - 7.497499 - ], - [ - 26.404999, - 6.646388 - ], - [ - 26.437496, - 6.077777 - ], - [ - 27.142776, - 5.771944 - ], - [ - 27.455276, - 5.016388 - ], - [ - 28.363052, - 4.29 - ], - [ - 29.64333, - 4.643611 - ], - [ - 30.858818, - 3.493394 - ], - [ - 31.176666, - 3.795278 - ], - [ - 32.193329, - 3.511389 - ], - [ - 33.016663, - 3.888611 - ], - [ - 33.516937, - 3.752222 - ], - [ - 33.996666, - 4.222777 - ], - [ - 34.388191, - 4.609682 - ], - [ - 35.940552, - 4.622499 - ], - [ - 35.821663, - 5.32861 - ], - [ - 35.301941, - 5.378055 - ], - [ - 34.70472, - 6.677777 - ], - [ - 33.711388, - 7.660277 - ], - [ - 32.991104, - 7.924999 - ], - [ - 33.252777, - 8.458611 - ], - [ - 34.120552, - 8.577221 - ], - [ - 34.195517, - 9.47239 - ], - [ - 33.963393, - 9.464285 - ], - [ - 33.824963, - 9.484061 - ], - [ - 33.842131, - 9.981915 - ], - [ - 33.721959, - 10.325262 - ], - [ - 33.206938, - 10.720112 - ], - [ - 33.086766, - 11.441141 - ], - [ - 33.206938, - 12.179338 - ], - [ - 32.743419, - 12.248008 - ], - [ - 32.67475, - 12.024832 - ], - [ - 32.073892, - 11.97333 - ], - [ - 32.314235, - 11.681484 - ], - [ - 32.400072, - 11.080626 - ], - [ - 31.850716, - 10.531271 - ], - [ - 31.352862, - 9.810241 - ], - [ - 30.837841, - 9.707237 - ], - [ - 29.996639, - 10.290927 - ], - [ - 29.618957, - 10.084919 - ], - [ - 29.515953, - 9.793074 - ], - [ - 29.000932, - 9.604232 - ], - [ - 28.966597, - 9.398224 - ], - [ - 27.97089, - 9.398224 - ], - [ - 27.833551, - 9.604232 - ], - [ - 27.112521, - 9.638567 - ], - [ - 26.752006, - 9.466893 - ], - [ - 26.477328, - 9.55273 - ], - [ - 26.1522, - 9.826436 - ], - [ - 25.962307, - 10.136421 - ], - [ - 25.790633, - 10.411099 - ], - [ - 25.069604, - 10.27376 - ], - [ - 24.794926, - 9.810241 - ], - [ - 24.537415, - 8.917538 - ], - [ - 24.047173, - 8.693076 - ] - ] - ] - }, - "name" : "South Sudan", - "iso2" : "SS", - "iso3" : "SSD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ab1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 16.836666, - 56.826942 - ], - [ - 17.105553, - 57.348328 - ], - [ - 16.42083, - 56.211105 - ], - [ - 16.836666, - 56.826942 - ] - ] - ], - [ - [ - [ - 18.206108, - 56.911942 - ], - [ - 19.004719, - 57.908607 - ], - [ - 18.119164, - 57.531105 - ], - [ - 18.206108, - 56.911942 - ] - ] - ], - [ - [ - [ - 19.334442, - 57.955826 - ], - [ - 19.034443, - 57.901108 - ], - [ - 19.12611, - 57.839722 - ], - [ - 19.334442, - 57.955826 - ] - ] - ], - [ - [ - [ - 11.594444, - 57.932495 - ], - [ - 11.735884, - 58.041714 - ], - [ - 11.501944, - 58.036659 - ], - [ - 11.594444, - 57.932495 - ] - ] - ], - [ - [ - [ - 16.816666, - 58.116104 - ], - [ - 16.801109, - 58.123329 - ], - [ - 16.77861, - 58.100555 - ], - [ - 16.816666, - 58.116104 - ] - ] - ], - [ - [ - [ - 11.806389, - 58.120552 - ], - [ - 11.6775, - 58.286659 - ], - [ - 11.40111, - 58.130272 - ], - [ - 11.806389, - 58.120552 - ] - ] - ], - [ - [ - [ - 19.236942, - 58.337219 - ], - [ - 19.331108, - 58.366104 - ], - [ - 19.186665, - 58.391388 - ], - [ - 19.236942, - 58.337219 - ] - ] - ], - [ - [ - [ - 17.691387, - 58.916939 - ], - [ - 17.675831, - 59.054718 - ], - [ - 17.639164, - 58.971107 - ], - [ - 17.691387, - 58.916939 - ] - ] - ], - [ - [ - [ - 18.40583, - 59.023888 - ], - [ - 18.479164, - 59.119995 - ], - [ - 18.35722, - 59.034996 - ], - [ - 18.40583, - 59.023888 - ] - ] - ], - [ - [ - [ - 18.53722, - 59.223885 - ], - [ - 18.610275, - 59.254166 - ], - [ - 18.389442, - 59.284721 - ], - [ - 18.53722, - 59.223885 - ] - ] - ], - [ - [ - [ - 17.786942, - 59.310555 - ], - [ - 17.773888, - 59.372772 - ], - [ - 17.605553, - 59.416664 - ], - [ - 17.786942, - 59.310555 - ] - ] - ], - [ - [ - [ - 17.734722, - 59.296104 - ], - [ - 17.520275, - 59.418327 - ], - [ - 17.622776, - 59.305275 - ], - [ - 17.817497, - 59.277771 - ], - [ - 17.734722, - 59.296104 - ] - ] - ], - [ - [ - [ - 17.266388, - 59.374443 - ], - [ - 17.266941, - 59.44416 - ], - [ - 17.07, - 59.459442 - ], - [ - 17.266388, - 59.374443 - ] - ] - ], - [ - [ - [ - 18.575554, - 59.448326 - ], - [ - 18.746944, - 59.544998 - ], - [ - 18.570274, - 59.526382 - ], - [ - 18.575554, - 59.448326 - ] - ] - ], - [ - [ - [ - 18.57, - 60.307777 - ], - [ - 18.374165, - 60.499718 - ], - [ - 18.401108, - 60.365273 - ], - [ - 18.57, - 60.307777 - ] - ] - ], - [ - [ - [ - 17.509163, - 62.363327 - ], - [ - 17.472221, - 62.458328 - ], - [ - 17.367222, - 62.471664 - ], - [ - 17.509163, - 62.363327 - ] - ] - ], - [ - [ - [ - 18.060833, - 62.67083 - ], - [ - 18.153053, - 62.728882 - ], - [ - 18.039165, - 62.73555 - ], - [ - 18.060833, - 62.67083 - ] - ] - ], - [ - [ - [ - 20.885555, - 63.751663 - ], - [ - 20.928608, - 63.773331 - ], - [ - 20.838055, - 63.773331 - ], - [ - 20.885555, - 63.751663 - ] - ] - ], - [ - [ - [ - 21.809166, - 68.570541 - ], - [ - 20.580929, - 69.060303 - ], - [ - 20.096943, - 69.042221 - ], - [ - 20.350277, - 68.786652 - ], - [ - 19.937775, - 68.337494 - ], - [ - 18.090832, - 68.507767 - ], - [ - 17.884163, - 67.945541 - ], - [ - 16.726944, - 67.899155 - ], - [ - 16.085831, - 67.411652 - ], - [ - 16.353886, - 67.017776 - ], - [ - 15.362778, - 66.479996 - ], - [ - 15.468054, - 66.283875 - ], - [ - 14.504999, - 66.132492 - ], - [ - 14.493055, - 65.313599 - ], - [ - 13.662498, - 64.582764 - ], - [ - 14.116388, - 64.470551 - ], - [ - 13.988333, - 64.018051 - ], - [ - 12.938055, - 64.053329 - ], - [ - 12.139444, - 63.58416 - ], - [ - 11.936388, - 63.272217 - ], - [ - 12.295832, - 62.261665 - ], - [ - 12.124443, - 61.728607 - ], - [ - 12.85611, - 61.362495 - ], - [ - 12.209999, - 61.002495 - ], - [ - 12.594444, - 60.516937 - ], - [ - 12.494165, - 60.111107 - ], - [ - 11.81596, - 59.8461 - ], - [ - 11.75111, - 59.090271 - ], - [ - 11.429192, - 58.98764 - ], - [ - 11.113333, - 59.003609 - ], - [ - 11.201387, - 58.399437 - ], - [ - 11.798054, - 58.318329 - ], - [ - 11.88611, - 58.211937 - ], - [ - 11.698889, - 57.69722 - ], - [ - 12.887499, - 56.638329 - ], - [ - 12.622221, - 56.411942 - ], - [ - 12.813332, - 56.232773 - ], - [ - 12.451666, - 56.297775 - ], - [ - 13.059721, - 55.693054 - ], - [ - 12.982222, - 55.400551 - ], - [ - 14.193546, - 55.386147 - ], - [ - 14.217222, - 55.830276 - ], - [ - 14.696665, - 56.16111 - ], - [ - 15.865555, - 56.092216 - ], - [ - 16.693333, - 57.469162 - ], - [ - 16.41861, - 57.893326 - ], - [ - 16.700706, - 57.74015 - ], - [ - 16.495552, - 57.98555 - ], - [ - 16.770554, - 57.884438 - ], - [ - 16.613888, - 57.986938 - ], - [ - 16.824718, - 58.19944 - ], - [ - 16.41333, - 58.474716 - ], - [ - 16.93861, - 58.484161 - ], - [ - 16.193607, - 58.627495 - ], - [ - 17.349998, - 58.75222 - ], - [ - 17.663887, - 59.168327 - ], - [ - 17.894722, - 58.858887 - ], - [ - 18.311386, - 59.1325 - ], - [ - 18.277222, - 59.310829 - ], - [ - 18.640274, - 59.338882 - ], - [ - 18.434444, - 59.433609 - ], - [ - 18.466663, - 59.330276 - ], - [ - 18.289444, - 59.368607 - ], - [ - 17.847221, - 59.264442 - ], - [ - 17.35083, - 59.32444 - ], - [ - 17.375832, - 59.247498 - ], - [ - 16.840275, - 59.489441 - ], - [ - 16.692776, - 59.471382 - ], - [ - 16.889999, - 59.383331 - ], - [ - 16.020275, - 59.494995 - ], - [ - 17.38361, - 59.654999 - ], - [ - 17.73111, - 59.442772 - ], - [ - 17.786663, - 59.535828 - ], - [ - 17.561171, - 59.668449 - ], - [ - 17.618332, - 59.731384 - ], - [ - 17.513054, - 59.706383 - ], - [ - 17.543152, - 59.573006 - ], - [ - 17.444721, - 59.676109 - ], - [ - 17.594166, - 59.806938 - ], - [ - 17.654163, - 59.718048 - ], - [ - 17.648331, - 59.665833 - ], - [ - 17.59222, - 59.656105 - ], - [ - 17.71722, - 59.66333 - ], - [ - 17.845276, - 59.533051 - ], - [ - 17.764442, - 59.400551 - ], - [ - 17.941109, - 59.335548 - ], - [ - 19.081944, - 59.75972 - ], - [ - 17.150555, - 60.945 - ], - [ - 17.140274, - 61.719719 - ], - [ - 17.498886, - 61.635826 - ], - [ - 17.34972, - 61.945274 - ], - [ - 17.65472, - 62.23111 - ], - [ - 17.328888, - 62.486938 - ], - [ - 18.048054, - 62.601387 - ], - [ - 17.696663, - 62.991943 - ], - [ - 18.208611, - 62.77861 - ], - [ - 19.428055, - 63.549438 - ], - [ - 20.777775, - 63.869164 - ], - [ - 21.584999, - 64.439713 - ], - [ - 21.03611, - 64.824432 - ], - [ - 21.621387, - 65.142212 - ], - [ - 21.260555, - 65.337494 - ], - [ - 22.199165, - 65.545273 - ], - [ - 21.766941, - 65.722488 - ], - [ - 22.40583, - 65.535263 - ], - [ - 22.329166, - 65.829712 - ], - [ - 22.644722, - 65.905548 - ], - [ - 24.167007, - 65.814026 - ], - [ - 23.661942, - 66.31221 - ], - [ - 24.007774, - 66.800552 - ], - [ - 23.571663, - 67.156662 - ], - [ - 23.767776, - 67.416107 - ], - [ - 23.43111, - 67.465546 - ], - [ - 23.666111, - 67.941666 - ], - [ - 21.809166, - 68.570541 - ] - ] - ] - ] - }, - "name" : "Sweden", - "iso2" : "SE", - "iso3" : "SWE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ar1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 42.355614, - 37.106926 - ], - [ - 40.770821, - 37.11805 - ], - [ - 39.229996, - 36.665276 - ], - [ - 36.659943, - 36.83371 - ], - [ - 36.690269, - 36.236107 - ], - [ - 35.92244, - 35.926994 - ], - [ - 35.733887, - 35.581665 - ], - [ - 35.972771, - 34.647499 - ], - [ - 36.459999, - 34.635277 - ], - [ - 36.623741, - 34.204994 - ], - [ - 35.623634, - 33.245728 - ], - [ - 35.648888, - 32.685272 - ], - [ - 36.837776, - 32.313606 - ], - [ - 38.794701, - 33.377594 - ], - [ - 41.003876, - 34.419434 - ], - [ - 41.290276, - 36.355553 - ], - [ - 42.355614, - 37.106926 - ] - ] - ] - }, - "name" : "Syrian Arab Republic", - "iso2" : "SY", - "iso3" : "SYR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "A71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 9.566724, - 47.540451 - ], - [ - 8.566111, - 47.806938 - ], - [ - 8.57642, - 47.59137 - ], - [ - 7.697223, - 47.543327 - ], - [ - 7.588268, - 47.58448 - ], - [ - 6.990555, - 47.497215 - ], - [ - 5.966666, - 46.209442 - ], - [ - 6.791389, - 46.434166 - ], - [ - 7.038054, - 45.931938 - ], - [ - 7.855742, - 45.919052 - ], - [ - 8.436388, - 46.463333 - ], - [ - 9.036665, - 45.837776 - ], - [ - 9.281944, - 46.495827 - ], - [ - 10.129999, - 46.227219 - ], - [ - 10.050278, - 46.539993 - ], - [ - 10.465277, - 46.546387 - ], - [ - 10.471235, - 46.871353 - ], - [ - 9.598635, - 47.063835 - ], - [ - 9.474637, - 47.057457 - ], - [ - 9.533569, - 47.274544 - ], - [ - 9.566724, - 47.540451 - ] - ], - [ - [ - 8.710255, - 47.696808 - ], - [ - 8.678595, - 47.693344 - ], - [ - 8.670555, - 47.711105 - ], - [ - 8.710255, - 47.696808 - ] - ] - ] - }, - "name" : "Switzerland", - "iso2" : "CH", - "iso3" : "CHE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "BL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -60.923058, - 10.797222 - ], - [ - -61.662224, - 10.709166 - ], - [ - -61.458336, - 10.278332 - ], - [ - -61.91806, - 10.042776 - ], - [ - -61.008057, - 10.140554 - ], - [ - -60.923058, - 10.797222 - ] - ] - ], - [ - [ - [ - -60.63945, - 11.203054 - ], - [ - -60.526672, - 11.346109 - ], - [ - -60.847504, - 11.158333 - ], - [ - -60.63945, - 11.203054 - ] - ] - ] - ] - }, - "name" : "Trinidad and Tobago", - "iso2" : "TT", - "iso3" : "TTO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Bb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 99.219162, - 6.532499 - ], - [ - 99.256119, - 6.571944 - ], - [ - 99.159988, - 6.548888 - ], - [ - 99.219162, - 6.532499 - ] - ] - ], - [ - [ - [ - 99.668045, - 6.496387 - ], - [ - 99.662811, - 6.702995 - ], - [ - 99.594986, - 6.593888 - ], - [ - 99.668045, - 6.496387 - ] - ] - ], - [ - [ - [ - 100.536087, - 7.15611 - ], - [ - 100.534973, - 7.174166 - ], - [ - 100.520813, - 7.154999 - ], - [ - 100.536087, - 7.15611 - ] - ] - ], - [ - [ - [ - 99.38916, - 7.194721 - ], - [ - 99.419144, - 7.234165 - ], - [ - 99.3936, - 7.270555 - ], - [ - 99.38916, - 7.194721 - ] - ] - ], - [ - [ - [ - 99.110809, - 7.468055 - ], - [ - 99.024155, - 7.636666 - ], - [ - 99.04248, - 7.525832 - ], - [ - 99.110809, - 7.468055 - ] - ] - ], - [ - [ - [ - 99.119705, - 7.591944 - ], - [ - 99.121918, - 7.665277 - ], - [ - 99.045822, - 7.669443 - ], - [ - 99.119705, - 7.591944 - ] - ] - ], - [ - [ - [ - 98.434708, - 7.930554 - ], - [ - 98.43692, - 7.94361 - ], - [ - 98.418045, - 7.93611 - ], - [ - 98.434708, - 7.930554 - ] - ] - ], - [ - [ - [ - 98.603592, - 7.901111 - ], - [ - 98.611923, - 8.048609 - ], - [ - 98.526093, - 8.121386 - ], - [ - 98.603592, - 7.901111 - ] - ] - ], - [ - [ - [ - 98.399841, - 7.941753 - ], - [ - 98.282486, - 8.186386 - ], - [ - 98.305252, - 7.757222 - ], - [ - 98.399841, - 7.941753 - ] - ] - ], - [ - [ - [ - 98.616653, - 8.084442 - ], - [ - 98.628311, - 8.189165 - ], - [ - 98.568329, - 8.11722 - ], - [ - 98.616653, - 8.084442 - ] - ] - ], - [ - [ - [ - 98.266663, - 9.030554 - ], - [ - 98.324432, - 9.084164 - ], - [ - 98.280823, - 9.158054 - ], - [ - 98.266663, - 9.030554 - ] - ] - ], - [ - [ - [ - 97.87915, - 9.381941 - ], - [ - 97.847214, - 9.43222 - ], - [ - 97.835266, - 9.402777 - ], - [ - 97.87915, - 9.381941 - ] - ] - ], - [ - [ - [ - 97.89888, - 9.437498 - ], - [ - 97.883881, - 9.475554 - ], - [ - 97.847488, - 9.458609 - ], - [ - 97.89888, - 9.437498 - ] - ] - ], - [ - [ - [ - 99.681366, - 9.506109 - ], - [ - 99.708603, - 9.53861 - ], - [ - 99.664993, - 9.524443 - ], - [ - 99.681366, - 9.506109 - ] - ] - ], - [ - [ - [ - 98.467484, - 9.574999 - ], - [ - 98.464432, - 9.585554 - ], - [ - 98.457764, - 9.573887 - ], - [ - 98.467484, - 9.574999 - ] - ] - ], - [ - [ - [ - 99.976089, - 9.41361 - ], - [ - 100.080833, - 9.58861 - ], - [ - 99.932205, - 9.546944 - ], - [ - 99.976089, - 9.41361 - ] - ] - ], - [ - [ - [ - 99.685532, - 9.606665 - ], - [ - 99.673599, - 9.629164 - ], - [ - 99.676651, - 9.607498 - ], - [ - 99.685532, - 9.606665 - ] - ] - ], - [ - [ - [ - 98.407211, - 9.714165 - ], - [ - 98.408325, - 9.770832 - ], - [ - 98.380814, - 9.732775 - ], - [ - 98.407211, - 9.714165 - ] - ] - ], - [ - [ - [ - 100.081673, - 9.686665 - ], - [ - 99.987488, - 9.796387 - ], - [ - 99.99054, - 9.711388 - ], - [ - 100.081673, - 9.686665 - ] - ] - ], - [ - [ - [ - 102.59552, - 11.56361 - ], - [ - 102.560226, - 11.754396 - ], - [ - 102.531357, - 11.601387 - ], - [ - 102.59552, - 11.56361 - ] - ] - ], - [ - [ - [ - 102.435791, - 11.954165 - ], - [ - 102.250549, - 12.15 - ], - [ - 102.291351, - 11.974442 - ], - [ - 102.435791, - 11.954165 - ] - ] - ], - [ - [ - [ - 102.241089, - 12.283888 - ], - [ - 102.2397, - 12.299442 - ], - [ - 102.235527, - 12.285276 - ], - [ - 102.241089, - 12.283888 - ] - ] - ], - [ - [ - [ - 100.688873, - 12.923609 - ], - [ - 100.676376, - 12.952776 - ], - [ - 100.671654, - 12.938332 - ], - [ - 100.688873, - 12.923609 - ] - ] - ], - [ - [ - [ - 100.816673, - 13.129442 - ], - [ - 100.821381, - 13.150555 - ], - [ - 100.807213, - 13.180277 - ], - [ - 100.816673, - 13.129442 - ] - ] - ], - [ - [ - [ - 100.09137, - 20.348606 - ], - [ - 100.081322, - 20.348841 - ], - [ - 99.522766, - 20.352776 - ], - [ - 98.995529, - 19.780552 - ], - [ - 98.049988, - 19.807499 - ], - [ - 97.774704, - 18.569996 - ], - [ - 97.346375, - 18.562496 - ], - [ - 98.689697, - 16.284996 - ], - [ - 98.92804, - 16.38583 - ], - [ - 98.201096, - 15.074999 - ], - [ - 99.173965, - 13.727781 - ], - [ - 99.112198, - 13.055832 - ], - [ - 99.661652, - 11.826942 - ], - [ - 98.742752, - 10.348608 - ], - [ - 98.274155, - 8.274443 - ], - [ - 98.656372, - 8.38361 - ], - [ - 100.127113, - 6.424947 - ], - [ - 100.214981, - 6.71111 - ], - [ - 100.654968, - 6.448332 - ], - [ - 101.115517, - 6.248888 - ], - [ - 101.139687, - 5.631943 - ], - [ - 101.569977, - 5.916666 - ], - [ - 101.833862, - 5.743332 - ], - [ - 102.09523, - 6.236138 - ], - [ - 101.541367, - 6.851388 - ], - [ - 100.421082, - 7.159444 - ], - [ - 99.847763, - 9.300831 - ], - [ - 99.237488, - 9.254166 - ], - [ - 99.149155, - 10.365553 - ], - [ - 100.021378, - 12.194164 - ], - [ - 100.066673, - 13.419998 - ], - [ - 100.976349, - 13.462809 - ], - [ - 100.853867, - 12.682775 - ], - [ - 102.060257, - 12.567497 - ], - [ - 102.916092, - 11.635851 - ], - [ - 102.377197, - 13.573887 - ], - [ - 103.180542, - 14.32972 - ], - [ - 105.210602, - 14.349648 - ], - [ - 105.536102, - 14.563332 - ], - [ - 105.637772, - 15.659721 - ], - [ - 104.747208, - 16.528332 - ], - [ - 104.718323, - 17.50333 - ], - [ - 103.985527, - 18.321663 - ], - [ - 103.397217, - 18.434994 - ], - [ - 102.683594, - 17.819996 - ], - [ - 102.089394, - 18.214983 - ], - [ - 101.162773, - 17.459995 - ], - [ - 100.921371, - 17.567219 - ], - [ - 101.281097, - 19.562218 - ], - [ - 100.503601, - 19.526665 - ], - [ - 100.58046, - 20.157768 - ], - [ - 100.09137, - 20.348606 - ] - ] - ] - ] - }, - "name" : "Thailand", - "iso2" : "TH", - "iso3" : "THA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Br1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 74.915741, - 37.237328 - ], - [ - 75.187485, - 37.406586 - ], - [ - 74.902771, - 37.647156 - ], - [ - 74.856644, - 38.470482 - ], - [ - 73.817764, - 38.607712 - ], - [ - 73.655685, - 39.454826 - ], - [ - 72.248596, - 39.191856 - ], - [ - 71.473038, - 39.6213 - ], - [ - 70.997757, - 39.40094 - ], - [ - 69.306091, - 39.539436 - ], - [ - 69.540817, - 40.131378 - ], - [ - 70.498032, - 39.90683 - ], - [ - 70.98204, - 40.244843 - ], - [ - 70.375534, - 40.376404 - ], - [ - 70.796799, - 40.725594 - ], - [ - 70.423874, - 41.049118 - ], - [ - 69.732483, - 40.638603 - ], - [ - 69.356094, - 40.772491 - ], - [ - 69.308029, - 40.201385 - ], - [ - 68.600815, - 40.178329 - ], - [ - 69.009995, - 40.089714 - ], - [ - 68.540268, - 39.55471 - ], - [ - 67.441956, - 39.483582 - ], - [ - 67.376373, - 39.212494 - ], - [ - 68.123871, - 38.98555 - ], - [ - 68.384155, - 38.195541 - ], - [ - 67.779877, - 37.185822 - ], - [ - 68.058014, - 36.932526 - ], - [ - 68.887772, - 37.3386 - ], - [ - 69.315262, - 37.115273 - ], - [ - 69.515823, - 37.580826 - ], - [ - 70.155823, - 37.536232 - ], - [ - 70.161377, - 37.933372 - ], - [ - 70.967209, - 38.472115 - ], - [ - 71.363037, - 38.248497 - ], - [ - 71.252777, - 37.922035 - ], - [ - 71.591934, - 37.902618 - ], - [ - 71.429428, - 37.075829 - ], - [ - 71.6772, - 36.67601 - ], - [ - 73.307205, - 37.462753 - ], - [ - 74.915741, - 37.237328 - ] - ] - ] - }, - "name" : "Tajikistan", - "iso2" : "TJ", - "iso3" : "TJK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "B71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -171.214722, - -9.377499 - ], - [ - -171.224701, - -9.345556 - ], - [ - -171.223907, - -9.378889 - ], - [ - -171.214722, - -9.377499 - ] - ] - ], - [ - [ - [ - -171.843079, - -9.207502 - ], - [ - -171.853882, - -9.168058 - ], - [ - -171.860535, - -9.206667 - ], - [ - -171.843079, - -9.207502 - ] - ] - ], - [ - [ - [ - -172.483917, - -8.587221 - ], - [ - -172.483612, - -8.566666 - ], - [ - -172.496979, - -8.553888 - ], - [ - -172.483917, - -8.587221 - ] - ] - ] - ] - }, - "name" : "Tokelau", - "iso2" : "TK", - "iso3" : "TKL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "CL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -174.910858, - -21.426666 - ], - [ - -174.911438, - -21.30611 - ], - [ - -174.974701, - -21.365833 - ], - [ - -174.910858, - -21.426666 - ] - ] - ], - [ - [ - [ - -175.145844, - -21.178059 - ], - [ - -175.047241, - -21.139442 - ], - [ - -175.359467, - -21.099171 - ], - [ - -175.145844, - -21.178059 - ] - ] - ], - [ - [ - [ - -174.760834, - -20.27639 - ], - [ - -174.76004, - -20.237225 - ], - [ - -174.791962, - -20.234722 - ], - [ - -174.760834, - -20.27639 - ] - ] - ], - [ - [ - [ - -174.41394, - -19.926666 - ], - [ - -174.390869, - -19.881668 - ], - [ - -174.422546, - -19.910004 - ], - [ - -174.41394, - -19.926666 - ] - ] - ], - [ - [ - [ - -174.318604, - -19.821945 - ], - [ - -174.315857, - -19.764172 - ], - [ - -174.35498, - -19.811951 - ], - [ - -174.318604, - -19.821945 - ] - ] - ], - [ - [ - [ - -175.056671, - -19.800838 - ], - [ - -175.081696, - -19.70639 - ], - [ - -175.098602, - -19.749725 - ], - [ - -175.056671, - -19.800838 - ] - ] - ], - [ - [ - [ - -174.272522, - -19.752785 - ], - [ - -174.256134, - -19.688053 - ], - [ - -174.30722, - -19.740833 - ], - [ - -174.272522, - -19.752785 - ] - ] - ], - [ - [ - [ - -175.018341, - -19.691387 - ], - [ - -175.005585, - -19.6525 - ], - [ - -175.035858, - -19.676666 - ], - [ - -175.018341, - -19.691387 - ] - ] - ], - [ - [ - [ - -174.244476, - -19.656113 - ], - [ - -174.291962, - -19.594444 - ], - [ - -174.281952, - -19.634445 - ], - [ - -174.244476, - -19.656113 - ] - ] - ], - [ - [ - [ - -174.646973, - -18.83028 - ], - [ - -174.623077, - -18.809444 - ], - [ - -174.64978, - -18.783058 - ], - [ - -174.675049, - -18.804447 - ], - [ - -174.646973, - -18.83028 - ] - ] - ], - [ - [ - [ - -174.061401, - -18.704723 - ], - [ - -174.073639, - -18.68111 - ], - [ - -174.097809, - -18.696388 - ], - [ - -174.061401, - -18.704723 - ] - ] - ], - [ - [ - [ - -174.019745, - -18.71722 - ], - [ - -174.019196, - -18.694447 - ], - [ - -174.043335, - -18.680836 - ], - [ - -174.019745, - -18.71722 - ] - ] - ], - [ - [ - [ - -174.089722, - -18.674171 - ], - [ - -174.115814, - -18.671391 - ], - [ - -174.128052, - -18.703335 - ], - [ - -174.089722, - -18.674171 - ] - ] - ], - [ - [ - [ - -173.910553, - -18.638058 - ], - [ - -173.939209, - -18.568893 - ], - [ - -174.070587, - -18.632504 - ], - [ - -173.910553, - -18.638058 - ] - ] - ], - [ - [ - [ - -175.644745, - -15.629168 - ], - [ - -175.621399, - -15.560835 - ], - [ - -175.683929, - -15.589724 - ], - [ - -175.644745, - -15.629168 - ] - ] - ] - ] - }, - "name" : "Tonga", - "iso2" : "TO", - "iso3" : "TON" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Cb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 1.635404, - 6.218721 - ], - [ - 1.398542, - 9.429901 - ], - [ - 1.355, - 9.995277 - ], - [ - 0.776667, - 10.376665 - ], - [ - 0.91797, - 10.996399 - ], - [ - -0.149762, - 11.13854 - ], - [ - 0.368333, - 10.259443 - ], - [ - 0.2175, - 9.457222 - ], - [ - 0.550833, - 9.411388 - ], - [ - 0.382735, - 8.760756 - ], - [ - 0.727222, - 8.321388 - ], - [ - 0.525, - 6.947778 - ], - [ - 1.198891, - 6.100546 - ], - [ - 1.635404, - 6.218721 - ] - ] - ] - }, - "name" : "Togo", - "iso2" : "TG", - "iso3" : "TGO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Cr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 6.523889, - 0.018333 - ], - [ - 6.687778, - 0.402222 - ], - [ - 6.467222, - 0.259722 - ], - [ - 6.523889, - 0.018333 - ] - ] - ], - [ - [ - [ - 7.423055, - 1.556111 - ], - [ - 7.406666, - 1.701944 - ], - [ - 7.327222, - 1.607222 - ], - [ - 7.423055, - 1.556111 - ] - ] - ] - ] - }, - "name" : "Sao Tome and Principe", - "iso2" : "ST", - "iso3" : "STP" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "C71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 10.99361, - 33.75 - ], - [ - 10.72611, - 33.880829 - ], - [ - 10.865, - 33.638611 - ], - [ - 10.99361, - 33.75 - ] - ] - ], - [ - [ - [ - 11.064722, - 34.640549 - ], - [ - 10.961111, - 34.655273 - ], - [ - 11.035, - 34.617493 - ], - [ - 11.064722, - 34.640549 - ] - ] - ], - [ - [ - [ - 11.13722, - 34.675278 - ], - [ - 11.302221, - 34.803329 - ], - [ - 11.230833, - 34.821106 - ], - [ - 11.13722, - 34.675278 - ] - ] - ], - [ - [ - [ - 10.808611, - 37.119438 - ], - [ - 10.814722, - 37.125275 - ], - [ - 10.791943, - 37.126389 - ], - [ - 10.808611, - 37.119438 - ] - ] - ], - [ - [ - [ - 11.526081, - 33.171135 - ], - [ - 11.17111, - 33.210831 - ], - [ - 11.048611, - 33.616943 - ], - [ - 10.331944, - 33.700272 - ], - [ - 10.005833, - 34.166939 - ], - [ - 11.128887, - 35.235832 - ], - [ - 10.455276, - 36.123329 - ], - [ - 11.067778, - 37.051384 - ], - [ - 10.381943, - 36.723328 - ], - [ - 10.252499, - 37.186386 - ], - [ - 9.845247, - 37.139351 - ], - [ - 9.672499, - 37.338051 - ], - [ - 8.62203, - 36.941368 - ], - [ - 8.183611, - 36.524162 - ], - [ - 8.251665, - 34.64444 - ], - [ - 7.492499, - 33.887497 - ], - [ - 8.34861, - 32.533333 - ], - [ - 9.055277, - 32.099998 - ], - [ - 9.537113, - 30.23439 - ], - [ - 10.21361, - 30.730831 - ], - [ - 10.287222, - 31.694164 - ], - [ - 11.567499, - 32.442215 - ], - [ - 11.526081, - 33.171135 - ] - ] - ], - [ - [ - [ - 8.917776, - 37.510826 - ], - [ - 8.944721, - 37.538055 - ], - [ - 8.896111, - 37.525833 - ], - [ - 8.917776, - 37.510826 - ] - ] - ] - ] - }, - "name" : "Tunisia", - "iso2" : "TN", - "iso3" : "TUN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "DL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 26.078053, - 39.7836 - ], - [ - 26.075829, - 39.839722 - ], - [ - 25.974995, - 39.829987 - ], - [ - 26.078053, - 39.7836 - ] - ] - ], - [ - [ - [ - 25.824444, - 40.100266 - ], - [ - 26.013611, - 40.157494 - ], - [ - 25.663883, - 40.126389 - ], - [ - 25.824444, - 40.100266 - ] - ] - ], - [ - [ - [ - 27.60722, - 40.57222 - ], - [ - 27.735271, - 40.634438 - ], - [ - 27.531109, - 40.648331 - ], - [ - 27.60722, - 40.57222 - ] - ] - ], - [ - [ - [ - 41.531559, - 41.523876 - ], - [ - 40.149994, - 40.920273 - ], - [ - 38.361382, - 40.909431 - ], - [ - 36.429153, - 41.242775 - ], - [ - 36.051102, - 41.691933 - ], - [ - 35.506386, - 41.638054 - ], - [ - 35.096931, - 41.961655 - ], - [ - 33.333878, - 42.020264 - ], - [ - 31.23111, - 41.088875 - ], - [ - 29.166111, - 41.226662 - ], - [ - 29.12944, - 40.914444 - ], - [ - 29.938049, - 40.723885 - ], - [ - 28.795277, - 40.551384 - ], - [ - 28.985271, - 40.356934 - ], - [ - 26.707222, - 40.384995 - ], - [ - 26.067219, - 39.483047 - ], - [ - 26.951664, - 39.552773 - ], - [ - 26.644722, - 39.263054 - ], - [ - 27.064442, - 38.874435 - ], - [ - 26.730827, - 38.645821 - ], - [ - 27.161942, - 38.443886 - ], - [ - 26.682217, - 38.307487 - ], - [ - 26.369999, - 38.661942 - ], - [ - 26.275829, - 38.264435 - ], - [ - 27.267773, - 37.955544 - ], - [ - 27.193886, - 37.350822 - ], - [ - 27.595276, - 37.232491 - ], - [ - 27.252499, - 36.967499 - ], - [ - 28.328606, - 37.039719 - ], - [ - 27.37944, - 36.680832 - ], - [ - 28.118332, - 36.800278 - ], - [ - 27.983887, - 36.552773 - ], - [ - 28.454163, - 36.881386 - ], - [ - 29.677216, - 36.118332 - ], - [ - 30.40694, - 36.203606 - ], - [ - 30.623333, - 36.850822 - ], - [ - 31.046661, - 36.849152 - ], - [ - 32.808884, - 36.025551 - ], - [ - 33.988602, - 36.277771 - ], - [ - 34.659431, - 36.805275 - ], - [ - 35.339989, - 36.539162 - ], - [ - 36.021935, - 36.926384 - ], - [ - 36.217766, - 36.654999 - ], - [ - 35.783875, - 36.312485 - ], - [ - 35.92244, - 35.926994 - ], - [ - 36.690269, - 36.236107 - ], - [ - 36.659943, - 36.83371 - ], - [ - 39.229996, - 36.665276 - ], - [ - 40.770821, - 37.11805 - ], - [ - 42.355614, - 37.106926 - ], - [ - 42.790825, - 37.38472 - ], - [ - 44.116379, - 37.316376 - ], - [ - 44.317215, - 36.970543 - ], - [ - 44.787338, - 37.149712 - ], - [ - 44.61805, - 37.727768 - ], - [ - 44.223969, - 37.899151 - ], - [ - 44.484154, - 38.345543 - ], - [ - 44.034157, - 39.384995 - ], - [ - 44.4161, - 39.425262 - ], - [ - 44.60582, - 39.78054 - ], - [ - 44.813042, - 39.630814 - ], - [ - 44.778862, - 39.706383 - ], - [ - 44.347214, - 40.023888 - ], - [ - 43.657494, - 40.108597 - ], - [ - 43.751938, - 40.739998 - ], - [ - 43.46077, - 41.112961 - ], - [ - 42.827492, - 41.584991 - ], - [ - 41.531559, - 41.523876 - ] - ] - ], - [ - [ - [ - 28.013054, - 41.982216 - ], - [ - 27.394997, - 42.008041 - ], - [ - 26.361095, - 41.711052 - ], - [ - 26.633884, - 41.354439 - ], - [ - 26.04472, - 40.735825 - ], - [ - 26.826939, - 40.594437 - ], - [ - 26.181107, - 40.045273 - ], - [ - 27.50972, - 40.983597 - ], - [ - 29.039162, - 41.057213 - ], - [ - 28.090549, - 41.631386 - ], - [ - 28.013054, - 41.982216 - ] - ] - ] - ] - }, - "name" : "Turkey", - "iso2" : "TR", - "iso3" : "TUR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Db1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 179.222366, - -8.554146 - ], - [ - 179.231094, - -8.50492 - ], - [ - 179.203705, - -8.462443 - ], - [ - 179.222366, - -8.554146 - ] - ] - ], - [ - [ - [ - 178.366913, - -8.062778 - ], - [ - 178.36969, - -8.0275 - ], - [ - 178.355804, - -8.06139 - ], - [ - 178.366913, - -8.062778 - ] - ] - ], - [ - [ - [ - 178.397766, - -8.015278 - ], - [ - 178.403046, - -7.991388 - ], - [ - 178.39151, - -8 - ], - [ - 178.397766, - -8.015278 - ] - ] - ], - [ - [ - [ - 178.700531, - -7.482223 - ], - [ - 178.690796, - -7.464445 - ], - [ - 178.687469, - -7.478889 - ], - [ - 178.700531, - -7.482223 - ] - ] - ], - [ - [ - [ - 177.158875, - -7.187778 - ], - [ - 177.142212, - -7.173611 - ], - [ - 177.146362, - -7.188611 - ], - [ - 177.158875, - -7.187778 - ] - ] - ], - [ - [ - [ - 176.310242, - -6.285556 - ], - [ - 176.308868, - -6.257501 - ], - [ - 176.295258, - -6.278056 - ], - [ - 176.310242, - -6.285556 - ] - ] - ], - [ - [ - [ - 177.295807, - -6.113889 - ], - [ - 177.308868, - -6.098889 - ], - [ - 177.281372, - -6.089444 - ], - [ - 177.295807, - -6.113889 - ] - ] - ], - [ - [ - [ - 176.139709, - -5.690556 - ], - [ - 176.129395, - -5.675 - ], - [ - 176.130249, - -5.693333 - ], - [ - 176.139709, - -5.690556 - ] - ] - ], - [ - [ - [ - 176.08136, - -5.665277 - ], - [ - 176.079407, - -5.657778 - ], - [ - 176.066376, - -5.665277 - ], - [ - 176.08136, - -5.665277 - ] - ] - ] - ] - }, - "name" : "Tuvalu", - "iso2" : "TV", - "iso3" : "TUV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Dr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 53.069719, - 38.899721 - ], - [ - 53.1, - 38.751108 - ], - [ - 53.078608, - 39.093882 - ], - [ - 53.069719, - 38.899721 - ] - ] - ], - [ - [ - [ - 58.78055, - 42.658045 - ], - [ - 58.164438, - 42.651934 - ], - [ - 58.515551, - 42.304438 - ], - [ - 58.026606, - 42.504641 - ], - [ - 56.98694, - 41.893053 - ], - [ - 57.044718, - 41.260279 - ], - [ - 56.000963, - 41.328455 - ], - [ - 55.456942, - 41.286661 - ], - [ - 54.173052, - 42.337214 - ], - [ - 53.015001, - 42.138887 - ], - [ - 52.440073, - 41.740938 - ], - [ - 52.881937, - 41.04722 - ], - [ - 52.815828, - 41.695826 - ], - [ - 52.946657, - 41.973047 - ], - [ - 53.803881, - 42.12388 - ], - [ - 54.072771, - 41.47555 - ], - [ - 54.733881, - 41.102221 - ], - [ - 54.244715, - 40.880274 - ], - [ - 54.417772, - 40.703608 - ], - [ - 53.746386, - 40.615274 - ], - [ - 52.918604, - 41.081667 - ], - [ - 52.721933, - 40.4461 - ], - [ - 53.004717, - 39.762217 - ], - [ - 52.934717, - 39.990549 - ], - [ - 53.57583, - 39.966105 - ], - [ - 53.408327, - 39.665827 - ], - [ - 53.734438, - 39.523882 - ], - [ - 53.264162, - 39.655268 - ], - [ - 53.162493, - 39.175554 - ], - [ - 53.541384, - 39.335825 - ], - [ - 53.983881, - 38.915827 - ], - [ - 53.905642, - 37.350855 - ], - [ - 54.681108, - 37.443605 - ], - [ - 55.442766, - 38.086107 - ], - [ - 57.212214, - 38.281939 - ], - [ - 57.450274, - 37.939157 - ], - [ - 59.338884, - 37.539164 - ], - [ - 60.333055, - 36.656099 - ], - [ - 61.157213, - 36.649996 - ], - [ - 61.27656, - 35.607248 - ], - [ - 62.30916, - 35.141665 - ], - [ - 62.722216, - 35.254717 - ], - [ - 63.105272, - 35.45083 - ], - [ - 63.11944, - 35.86194 - ], - [ - 64.503603, - 36.28055 - ], - [ - 64.798037, - 37.124994 - ], - [ - 65.708879, - 37.538607 - ], - [ - 66.537737, - 37.366381 - ], - [ - 66.643877, - 38.003054 - ], - [ - 64.383028, - 38.953127 - ], - [ - 62.551104, - 39.93416 - ], - [ - 61.874163, - 41.125551 - ], - [ - 60.140276, - 41.381105 - ], - [ - 60.014444, - 42.217493 - ], - [ - 58.78055, - 42.658045 - ] - ] - ] - ] - }, - "name" : "Turkmenistan", - "iso2" : "TM", - "iso3" : "TKM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "D71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 39.682495, - -7.993334 - ], - [ - 39.901108, - -7.638889 - ], - [ - 39.591385, - -7.945834 - ], - [ - 39.682495, - -7.993334 - ] - ] - ], - [ - [ - [ - 39.446663, - -6.210556 - ], - [ - 39.304161, - -5.723889 - ], - [ - 39.201385, - -6.226945 - ], - [ - 39.516106, - -6.468612 - ], - [ - 39.446663, - -6.210556 - ] - ] - ], - [ - [ - [ - 39.736107, - -5.462778 - ], - [ - 39.857216, - -4.908611 - ], - [ - 39.676941, - -4.941389 - ], - [ - 39.736107, - -5.462778 - ] - ] - ], - [ - [ - [ - 33.920273, - -1.001111 - ], - [ - 31.677219, - -0.999722 - ], - [ - 30.48222, - -1.063334 - ], - [ - 30.894165, - -2.076111 - ], - [ - 30.57333, - -2.399167 - ], - [ - 30.4175, - -2.861945 - ], - [ - 30.843662, - -2.978794 - ], - [ - 30.834999, - -3.256945 - ], - [ - 30.026108, - -4.269444 - ], - [ - 29.423885, - -4.448056 - ], - [ - 29.550278, - -6.295279 - ], - [ - 30.77124, - -8.192247 - ], - [ - 31.041111, - -8.590279 - ], - [ - 32.940399, - -9.405077 - ], - [ - 33.13472, - -9.494167 - ], - [ - 34.325272, - -9.732779 - ], - [ - 34.966728, - -11.572111 - ], - [ - 35.838333, - -11.414722 - ], - [ - 36.18972, - -11.706667 - ], - [ - 37.462044, - -11.727329 - ], - [ - 37.941383, - -11.285002 - ], - [ - 39.268051, - -11.168056 - ], - [ - 40.436813, - -10.478174 - ], - [ - 39.826385, - -9.993057 - ], - [ - 39.387772, - -8.9025 - ], - [ - 39.274437, - -7.579167 - ], - [ - 39.547882, - -6.994313 - ], - [ - 38.776382, - -6.045556 - ], - [ - 39.203026, - -4.669618 - ], - [ - 37.613609, - -3.504167 - ], - [ - 37.602776, - -2.995833 - ], - [ - 33.920273, - -1.001111 - ] - ] - ] - ] - }, - "name" : "United Republic of Tanzania", - "iso2" : "TZ", - "iso3" : "TZA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "EL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 33.996666, - 4.222777 - ], - [ - 33.516937, - 3.752222 - ], - [ - 33.016663, - 3.888611 - ], - [ - 32.193329, - 3.511389 - ], - [ - 31.176666, - 3.795278 - ], - [ - 30.858818, - 3.493394 - ], - [ - 30.729721, - 2.448055 - ], - [ - 31.302776, - 2.121388 - ], - [ - 29.960552, - 0.825555 - ], - [ - 29.596943, - -1.385834 - ], - [ - 29.974998, - -1.464445 - ], - [ - 30.48222, - -1.063334 - ], - [ - 31.677219, - -0.999722 - ], - [ - 33.920273, - -1.001111 - ], - [ - 33.907219, - 0.103056 - ], - [ - 35.00972, - 1.895278 - ], - [ - 34.463333, - 3.671389 - ], - [ - 33.996666, - 4.222777 - ] - ] - ] - }, - "name" : "Uganda", - "iso2" : "UG", - "iso3" : "UGA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Eb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -6.290833, - 49.912218 - ], - [ - -6.295, - 49.933886 - ], - [ - -6.317499, - 49.915277 - ], - [ - -6.290833, - 49.912218 - ] - ] - ], - [ - [ - [ - -1.059721, - 50.687494 - ], - [ - -1.296944, - 50.771944 - ], - [ - -1.57, - 50.660555 - ], - [ - -1.059721, - 50.687494 - ] - ] - ], - [ - [ - [ - -0.938332, - 50.777498 - ], - [ - -0.970833, - 50.830828 - ], - [ - -1.022499, - 50.78583 - ], - [ - -0.938332, - 50.777498 - ] - ] - ], - [ - [ - [ - -4.651667, - 51.159441 - ], - [ - -4.665556, - 51.195002 - ], - [ - -4.673334, - 51.161386 - ], - [ - -4.651667, - 51.159441 - ] - ] - ], - [ - [ - [ - -4.571388, - 53.238611 - ], - [ - -4.621666, - 53.32139 - ], - [ - -4.69389, - 53.301386 - ], - [ - -4.571388, - 53.238611 - ] - ] - ], - [ - [ - [ - -4.153334, - 53.225557 - ], - [ - -4.569166, - 53.388056 - ], - [ - -4.402222, - 53.125834 - ], - [ - -4.153334, - 53.225557 - ] - ] - ], - [ - [ - [ - -6.266975, - 54.099833 - ], - [ - -5.429722, - 54.483606 - ], - [ - -5.908333, - 54.604723 - ], - [ - -5.688055, - 54.806108 - ], - [ - -6.353333, - 55.23778 - ], - [ - -7.252506, - 55.070597 - ], - [ - -7.406389, - 54.953333 - ], - [ - -8.159445, - 54.441942 - ], - [ - -7.559444, - 54.12694 - ], - [ - -7.030834, - 54.417772 - ], - [ - -6.266975, - 54.099833 - ] - ] - ], - [ - [ - [ - -6.172777, - 55.293055 - ], - [ - -6.282499, - 55.292223 - ], - [ - -6.188334, - 55.259722 - ], - [ - -6.172777, - 55.293055 - ] - ] - ], - [ - [ - [ - -5.103611, - 55.438608 - ], - [ - -5.160278, - 55.679163 - ], - [ - -5.381111, - 55.668612 - ], - [ - -5.103611, - 55.438608 - ] - ] - ], - [ - [ - [ - -6.121666, - 55.878885 - ], - [ - -6.509167, - 55.682222 - ], - [ - -6.076666, - 55.649996 - ], - [ - -6.121666, - 55.878885 - ] - ] - ], - [ - [ - [ - -5.016388, - 55.721941 - ], - [ - -5.036388, - 55.837778 - ], - [ - -5.206388, - 55.899439 - ], - [ - -5.016388, - 55.721941 - ] - ] - ], - [ - [ - [ - -6.19389, - 56.029161 - ], - [ - -6.130833, - 56.120829 - ], - [ - -6.263056, - 56.036112 - ], - [ - -6.19389, - 56.029161 - ] - ] - ], - [ - [ - [ - -5.946945, - 55.829996 - ], - [ - -5.694445, - 56.147219 - ], - [ - -6.078888, - 55.90555 - ], - [ - -5.946945, - 55.829996 - ] - ] - ], - [ - [ - [ - -5.735001, - 56.158052 - ], - [ - -5.675833, - 56.169443 - ], - [ - -5.675278, - 56.191942 - ], - [ - -5.735001, - 56.158052 - ] - ] - ], - [ - [ - [ - -5.629999, - 56.196939 - ], - [ - -5.606388, - 56.254442 - ], - [ - -5.641945, - 56.260279 - ], - [ - -5.629999, - 56.196939 - ] - ] - ], - [ - [ - [ - -5.616667, - 56.268885 - ], - [ - -5.583889, - 56.319719 - ], - [ - -5.645555, - 56.301111 - ], - [ - -5.616667, - 56.268885 - ] - ] - ], - [ - [ - [ - -6.404722, - 56.303606 - ], - [ - -6.381945, - 56.34083 - ], - [ - -6.436388, - 56.310556 - ], - [ - -6.404722, - 56.303606 - ] - ] - ], - [ - [ - [ - -5.543612, - 56.382776 - ], - [ - -5.51, - 56.411112 - ], - [ - -5.587778, - 56.389162 - ], - [ - -5.543612, - 56.382776 - ] - ] - ], - [ - [ - [ - -6.165833, - 56.464724 - ], - [ - -6.215555, - 56.497774 - ], - [ - -6.26, - 56.481943 - ], - [ - -6.165833, - 56.464724 - ] - ] - ], - [ - [ - [ - -6.739166, - 56.515833 - ], - [ - -6.990833, - 56.49444 - ], - [ - -6.892778, - 56.438608 - ], - [ - -6.739166, - 56.515833 - ] - ] - ], - [ - [ - [ - -5.783611, - 56.50889 - ], - [ - -6.32, - 56.603052 - ], - [ - -6.002777, - 56.494165 - ], - [ - -6.193611, - 56.361383 - ], - [ - -6.017778, - 56.37472 - ], - [ - -6.366112, - 56.308886 - ], - [ - -5.808611, - 56.317499 - ], - [ - -5.648333, - 56.435831 - ], - [ - -5.783611, - 56.50889 - ] - ] - ], - [ - [ - [ - -6.589167, - 56.579996 - ], - [ - -6.454445, - 56.686106 - ], - [ - -6.698889, - 56.579996 - ], - [ - -6.589167, - 56.579996 - ] - ] - ], - [ - [ - [ - -6.144722, - 56.869997 - ], - [ - -6.113611, - 56.932497 - ], - [ - -6.213055, - 56.906946 - ], - [ - -6.144722, - 56.869997 - ] - ] - ], - [ - [ - [ - -6.317499, - 56.934168 - ], - [ - -6.261667, - 57.037775 - ], - [ - -6.451666, - 57.006105 - ], - [ - -6.317499, - 56.934168 - ] - ] - ], - [ - [ - [ - -7.466944, - 56.940828 - ], - [ - -7.439722, - 57.054445 - ], - [ - -7.559999, - 56.960276 - ], - [ - -7.466944, - 56.940828 - ] - ] - ], - [ - [ - [ - -6.499166, - 57.052217 - ], - [ - -6.549444, - 57.068056 - ], - [ - -6.602501, - 57.046389 - ], - [ - -6.499166, - 57.052217 - ] - ] - ], - [ - [ - [ - -5.939167, - 57.278055 - ], - [ - -5.933889, - 57.311663 - ], - [ - -6.017778, - 57.311663 - ], - [ - -5.939167, - 57.278055 - ] - ] - ], - [ - [ - [ - -7.223055, - 57.337496 - ], - [ - -7.424999, - 57.382219 - ], - [ - -7.38139, - 57.108606 - ], - [ - -7.223055, - 57.337496 - ] - ] - ], - [ - [ - [ - -7.268888, - 57.39889 - ], - [ - -7.204721, - 57.460833 - ], - [ - -7.406389, - 57.464167 - ], - [ - -7.268888, - 57.39889 - ] - ] - ], - [ - [ - [ - -6.026945, - 57.328608 - ], - [ - -5.98, - 57.495829 - ], - [ - -6.078333, - 57.394167 - ], - [ - -6.026945, - 57.328608 - ] - ] - ], - [ - [ - [ - -6.143888, - 57.568056 - ], - [ - -6.785833, - 57.446108 - ], - [ - -6.011944, - 57.022219 - ], - [ - -5.663889, - 57.204996 - ], - [ - -6.127222, - 57.306108 - ], - [ - -6.143888, - 57.568056 - ] - ] - ], - [ - [ - [ - -5.967777, - 57.522776 - ], - [ - -5.961666, - 57.574999 - ], - [ - -5.990833, - 57.540834 - ], - [ - -5.967777, - 57.522776 - ] - ] - ], - [ - [ - [ - -7.188612, - 57.68722 - ], - [ - -7.543333, - 57.59083 - ], - [ - -7.153889, - 57.509439 - ], - [ - -7.188612, - 57.68722 - ] - ] - ], - [ - [ - [ - -7.196667, - 57.702219 - ], - [ - -7.144722, - 57.723612 - ], - [ - -7.219166, - 57.707773 - ], - [ - -7.196667, - 57.702219 - ] - ] - ], - [ - [ - [ - -8.555279, - 57.810831 - ], - [ - -8.621389, - 57.822779 - ], - [ - -8.5825, - 57.798883 - ], - [ - -8.555279, - 57.810831 - ] - ] - ], - [ - [ - [ - -7.00639, - 57.881388 - ], - [ - -6.99361, - 57.918612 - ], - [ - -7.077778, - 57.879999 - ], - [ - -7.00639, - 57.881388 - ] - ] - ], - [ - [ - [ - -6.204166, - 58.356112 - ], - [ - -7.040556, - 58.233332 - ], - [ - -6.830278, - 57.900835 - ], - [ - -7.123056, - 57.817499 - ], - [ - -6.473888, - 57.940279 - ], - [ - -6.204166, - 58.356112 - ] - ], - [ - [ - -6.802221, - 58.203051 - ], - [ - -6.869167, - 58.20389 - ], - [ - -6.889723, - 58.252497 - ], - [ - -6.802221, - 58.203051 - ] - ] - ], - [ - [ - [ - -4.153334, - 53.225557 - ], - [ - -4.760862, - 52.788973 - ], - [ - -4.133612, - 52.914446 - ], - [ - -4.130833, - 52.334719 - ], - [ - -5.246944, - 51.730272 - ], - [ - -3.346111, - 51.378611 - ], - [ - -2.379999, - 51.755556 - ], - [ - -3.028334, - 51.20611 - ], - [ - -4.226389, - 51.189165 - ], - [ - -5.7125, - 50.053606 - ], - [ - -5.193056, - 49.955278 - ], - [ - -4.379999, - 50.363886 - ], - [ - -3.716667, - 50.206667 - ], - [ - -2.924723, - 50.731943 - ], - [ - -2.43445, - 50.541792 - ], - [ - -1.154722, - 50.844164 - ], - [ - -0.926943, - 50.839441 - ], - [ - -0.796389, - 50.725275 - ], - [ - -0.254999, - 50.826387 - ], - [ - 0.242224, - 50.738054 - ], - [ - 0.975, - 50.93194 - ], - [ - 1.385557, - 51.387774 - ], - [ - 0.38278, - 51.450556 - ], - [ - 0.950556, - 51.606386 - ], - [ - 0.699724, - 51.719446 - ], - [ - 1.223612, - 51.808886 - ], - [ - 1.749445, - 52.455828 - ], - [ - 1.282225, - 52.9275 - ], - [ - 3.6E-5, - 52.879549 - ], - [ - 0.341669, - 53.095835 - ], - [ - 0.235556, - 53.399439 - ], - [ - -0.718889, - 53.699717 - ], - [ - 0.118055, - 53.56444 - ], - [ - -0.074999, - 54.11194 - ], - [ - -1.297499, - 54.763613 - ], - [ - -1.633888, - 55.580828 - ], - [ - -2.631111, - 56.05472 - ], - [ - -3.725277, - 56.027498 - ], - [ - -2.582777, - 56.268053 - ], - [ - -3.278055, - 56.3575 - ], - [ - -2.527222, - 56.578608 - ], - [ - -1.773333, - 57.458055 - ], - [ - -2.075556, - 57.699442 - ], - [ - -4.435833, - 57.574999 - ], - [ - -3.773056, - 57.851107 - ], - [ - -4.392221, - 57.905275 - ], - [ - -3.208611, - 58.304445 - ], - [ - -3.025555, - 58.647501 - ], - [ - -5.004723, - 58.623331 - ], - [ - -5.455278, - 58.076387 - ], - [ - -5.102777, - 57.850832 - ], - [ - -5.816668, - 57.821665 - ], - [ - -5.508612, - 57.534723 - ], - [ - -5.819166, - 57.363886 - ], - [ - -5.450277, - 57.420275 - ], - [ - -5.649611, - 57.161612 - ], - [ - -5.399723, - 57.105829 - ], - [ - -6.235001, - 56.719164 - ], - [ - -5.546944, - 56.691942 - ], - [ - -6.008333, - 56.637499 - ], - [ - -5.676945, - 56.493891 - ], - [ - -5.120001, - 56.816668 - ], - [ - -5.398666, - 56.478666 - ], - [ - -5.107779, - 56.507776 - ], - [ - -5.57361, - 56.324717 - ], - [ - -5.7775, - 55.296663 - ], - [ - -5.032223, - 56.2325 - ], - [ - -5.303333, - 55.850557 - ], - [ - -4.828606, - 56.113165 - ], - [ - -4.481668, - 55.921106 - ], - [ - -4.879723, - 55.936106 - ], - [ - -4.613333, - 55.494997 - ], - [ - -5.174166, - 55.000551 - ], - [ - -4.941111, - 54.64889 - ], - [ - -4.852222, - 54.868608 - ], - [ - -4.387222, - 54.675554 - ], - [ - -4.393055, - 54.908052 - ], - [ - -3.023056, - 54.970552 - ], - [ - -3.634167, - 54.511942 - ], - [ - -3.22611, - 54.098612 - ], - [ - -2.813612, - 54.222773 - ], - [ - -3.1075, - 53.551668 - ], - [ - -2.702499, - 53.346384 - ], - [ - -4.153334, - 53.225557 - ] - ], - [ - [ - 0.904722, - 51.358057 - ], - [ - 0.735003, - 51.408335 - ], - [ - 0.908892, - 51.416941 - ], - [ - 0.904722, - 51.358057 - ] - ] - ], - [ - [ - [ - -2.918333, - 58.731943 - ], - [ - -2.886389, - 58.831942 - ], - [ - -3.036945, - 58.818056 - ], - [ - -2.918333, - 58.731943 - ] - ] - ], - [ - [ - [ - -3.231388, - 58.775553 - ], - [ - -3.134722, - 58.800829 - ], - [ - -3.418055, - 58.904161 - ], - [ - -3.231388, - 58.775553 - ] - ] - ], - [ - [ - [ - -2.793055, - 58.951387 - ], - [ - -3.351389, - 59.106386 - ], - [ - -3.195, - 58.911112 - ], - [ - -2.793055, - 58.951387 - ] - ] - ], - [ - [ - [ - -2.681389, - 59.195833 - ], - [ - -2.390278, - 59.283052 - ], - [ - -2.555555, - 59.303057 - ], - [ - -2.681389, - 59.195833 - ] - ] - ], - [ - [ - [ - -2.889999, - 59.295275 - ], - [ - -3.076389, - 59.331385 - ], - [ - -2.877499, - 59.228609 - ], - [ - -2.889999, - 59.295275 - ] - ] - ], - [ - [ - [ - -1.29611, - 60.491106 - ], - [ - -1.693056, - 60.279718 - ], - [ - -1.291389, - 60.241388 - ], - [ - -1.26861, - 59.851107 - ], - [ - -1.037222, - 60.444162 - ], - [ - -1.29611, - 60.491106 - ] - ] - ], - [ - [ - [ - -1.029444, - 60.495829 - ], - [ - -1.09861, - 60.729998 - ], - [ - -1.170277, - 60.527224 - ], - [ - -1.029444, - 60.495829 - ] - ] - ], - [ - [ - [ - -0.819721, - 60.68889 - ], - [ - -0.758055, - 60.817774 - ], - [ - -0.878332, - 60.844446 - ], - [ - -0.965555, - 60.688051 - ], - [ - -0.819721, - 60.68889 - ] - ] - ] - ] - }, - "name" : "United Kingdom", - "iso2" : "GB", - "iso3" : "GBR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Er1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 33.040276, - 46.011375 - ], - [ - 32.965271, - 46.049431 - ], - [ - 32.759438, - 46.03611 - ], - [ - 33.040276, - 46.011375 - ] - ] - ], - [ - [ - [ - 34.227486, - 46.061928 - ], - [ - 34.229149, - 46.187759 - ], - [ - 34.158043, - 46.100548 - ], - [ - 34.227486, - 46.061928 - ] - ] - ], - [ - [ - [ - 32.167763, - 46.145821 - ], - [ - 31.501106, - 46.366653 - ], - [ - 31.584164, - 46.253319 - ], - [ - 32.167763, - 46.145821 - ] - ] - ], - [ - [ - [ - 29.664331, - 45.211803 - ], - [ - 29.633606, - 45.821106 - ], - [ - 29.746941, - 45.619431 - ], - [ - 30.251659, - 45.876656 - ], - [ - 30.832771, - 46.548325 - ], - [ - 31.907494, - 46.648872 - ], - [ - 31.749435, - 47.253319 - ], - [ - 32.019707, - 46.629433 - ], - [ - 32.647217, - 46.641106 - ], - [ - 31.507771, - 46.57972 - ], - [ - 32.059151, - 46.395821 - ], - [ - 31.791943, - 46.283051 - ], - [ - 33.611382, - 46.147217 - ], - [ - 33.771935, - 45.92054 - ], - [ - 32.480537, - 45.395821 - ], - [ - 33.541939, - 45.111931 - ], - [ - 33.366936, - 44.579163 - ], - [ - 33.955544, - 44.381104 - ], - [ - 35.515266, - 45.116096 - ], - [ - 36.439713, - 45.065536 - ], - [ - 36.637215, - 45.376099 - ], - [ - 35.475266, - 45.2911 - ], - [ - 35.311661, - 45.383041 - ], - [ - 35.053879, - 45.65387 - ], - [ - 34.827209, - 46.069443 - ], - [ - 34.666939, - 46.093597 - ], - [ - 34.763054, - 46.015549 - ], - [ - 35.050262, - 45.613884 - ], - [ - 35.34304, - 45.332497 - ], - [ - 35.126656, - 45.326096 - ], - [ - 34.460541, - 45.767212 - ], - [ - 34.633324, - 45.94165 - ], - [ - 33.671928, - 46.220818 - ], - [ - 34.542496, - 46.187485 - ], - [ - 34.401649, - 46.013878 - ], - [ - 34.561661, - 45.984993 - ], - [ - 34.702492, - 46.175819 - ], - [ - 35.05304, - 46.258041 - ], - [ - 35.198044, - 46.443314 - ], - [ - 34.985268, - 46.075829 - ], - [ - 35.907204, - 46.651093 - ], - [ - 38.235825, - 47.109428 - ], - [ - 38.303322, - 47.558594 - ], - [ - 38.8536, - 47.860825 - ], - [ - 39.796387, - 47.857216 - ], - [ - 39.998878, - 48.297218 - ], - [ - 39.656937, - 48.616661 - ], - [ - 40.07666, - 48.874992 - ], - [ - 39.696655, - 49.010826 - ], - [ - 40.166939, - 49.248604 - ], - [ - 40.139763, - 49.601051 - ], - [ - 38.30777, - 50.073883 - ], - [ - 38.024223, - 49.903084 - ], - [ - 37.458603, - 50.439713 - ], - [ - 35.606651, - 50.369438 - ], - [ - 35.371887, - 51.041435 - ], - [ - 34.38221, - 51.263611 - ], - [ - 34.098045, - 51.653877 - ], - [ - 34.419716, - 51.808884 - ], - [ - 33.838882, - 52.36055 - ], - [ - 33.417702, - 52.3554 - ], - [ - 31.783886, - 52.108047 - ], - [ - 30.943096, - 52.073792 - ], - [ - 30.551414, - 51.251846 - ], - [ - 25.775829, - 51.939156 - ], - [ - 24.396664, - 51.886658 - ], - [ - 23.604633, - 51.527695 - ], - [ - 24.111385, - 50.56694 - ], - [ - 22.680828, - 49.572495 - ], - [ - 22.886074, - 49.002914 - ], - [ - 22.558052, - 49.079437 - ], - [ - 22.151442, - 48.411919 - ], - [ - 22.894804, - 47.95454 - ], - [ - 24.919441, - 47.711662 - ], - [ - 26.634995, - 48.257164 - ], - [ - 27.755554, - 48.451385 - ], - [ - 29.141937, - 47.986092 - ], - [ - 29.184441, - 47.443047 - ], - [ - 29.949997, - 46.814156 - ], - [ - 30.11694, - 46.386101 - ], - [ - 28.994434, - 46.478325 - ], - [ - 28.971935, - 46.006653 - ], - [ - 28.21484, - 45.448647 - ], - [ - 29.664331, - 45.211803 - ] - ] - ] - ] - }, - "name" : "Ukraine", - "iso2" : "UA", - "iso3" : "UKR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "E71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -75.223724, - 19.901556 - ], - [ - -75.170288, - 19.931391 - ], - [ - -75.15918, - 19.960695 - ], - [ - -75.223724, - 19.901556 - ] - ] - ], - [ - [ - [ - -75.13974, - 19.962873 - ], - [ - -75.121399, - 19.887499 - ], - [ - -75.085281, - 19.893042 - ], - [ - -75.13974, - 19.962873 - ] - ] - ], - [ - [ - [ - -155.005585, - 19.328882 - ], - [ - -154.792816, - 19.53861 - ], - [ - -155.15863, - 19.962496 - ], - [ - -155.864441, - 20.269163 - ], - [ - -155.859467, - 19.032778 - ], - [ - -155.005585, - 19.328882 - ] - ] - ], - [ - [ - [ - -156.547241, - 20.525274 - ], - [ - -156.585297, - 20.607222 - ], - [ - -156.698639, - 20.534719 - ], - [ - -156.547241, - 20.525274 - ] - ] - ], - [ - [ - [ - -156.891998, - 20.744162 - ], - [ - -156.812256, - 20.843611 - ], - [ - -157.04837, - 20.918055 - ], - [ - -156.891998, - 20.744162 - ] - ] - ], - [ - [ - [ - -156.473358, - 20.89805 - ], - [ - -156.70224, - 20.924437 - ], - [ - -156.420013, - 20.58861 - ], - [ - -155.988617, - 20.748053 - ], - [ - -156.473358, - 20.89805 - ] - ] - ], - [ - [ - [ - -156.89447, - 21.161104 - ], - [ - -157.304749, - 21.100554 - ], - [ - -156.703918, - 21.158052 - ], - [ - -156.89447, - 21.161104 - ] - ] - ], - [ - [ - [ - -160.530609, - 21.643888 - ], - [ - -160.541138, - 21.641382 - ], - [ - -160.537781, - 21.632215 - ], - [ - -160.530609, - 21.643888 - ] - ] - ], - [ - [ - [ - -157.730316, - 21.411661 - ], - [ - -157.971924, - 21.699438 - ], - [ - -158.273376, - 21.580549 - ], - [ - -158.103638, - 21.295279 - ], - [ - -157.730316, - 21.411661 - ] - ] - ], - [ - [ - [ - -160.11499, - 21.887499 - ], - [ - -160.061401, - 22.013884 - ], - [ - -160.247772, - 21.813608 - ], - [ - -160.11499, - 21.887499 - ] - ] - ], - [ - [ - [ - -159.433624, - 21.881388 - ], - [ - -159.351654, - 22.22138 - ], - [ - -159.785309, - 22.061384 - ], - [ - -159.433624, - 21.881388 - ] - ] - ], - [ - [ - [ - -161.941681, - 23.039438 - ], - [ - -161.938324, - 23.046389 - ], - [ - -161.948334, - 23.047216 - ], - [ - -161.941681, - 23.039438 - ] - ] - ], - [ - [ - [ - -164.696136, - 23.564718 - ], - [ - -164.696686, - 23.578054 - ], - [ - -164.70752, - 23.576666 - ], - [ - -164.696136, - 23.564718 - ] - ] - ], - [ - [ - [ - -81.773895, - 24.544722 - ], - [ - -81.729172, - 24.560556 - ], - [ - -81.813499, - 24.543871 - ], - [ - -81.773895, - 24.544722 - ] - ] - ], - [ - [ - [ - -82.114441, - 24.545832 - ], - [ - -82.099991, - 24.583055 - ], - [ - -82.137222, - 24.593889 - ], - [ - -82.114441, - 24.545832 - ] - ] - ], - [ - [ - [ - -81.715118, - 24.553118 - ], - [ - -81.646225, - 24.577551 - ], - [ - -81.710739, - 24.59572 - ], - [ - -81.715118, - 24.553118 - ] - ] - ], - [ - [ - [ - -81.477219, - 24.636385 - ], - [ - -81.478607, - 24.677774 - ], - [ - -81.517775, - 24.684996 - ], - [ - -81.477219, - 24.636385 - ] - ] - ], - [ - [ - [ - -81.588333, - 24.589998 - ], - [ - -81.508347, - 24.629999 - ], - [ - -81.553055, - 24.68722 - ], - [ - -81.588333, - 24.589998 - ] - ] - ], - [ - [ - [ - -81.108612, - 24.706106 - ], - [ - -81.052673, - 24.716532 - ], - [ - -81.137772, - 24.701681 - ], - [ - -81.108612, - 24.706106 - ] - ] - ], - [ - [ - [ - -81.349442, - 24.629721 - ], - [ - -81.360825, - 24.70083 - ], - [ - -81.428055, - 24.748606 - ], - [ - -81.349442, - 24.629721 - ] - ] - ], - [ - [ - [ - -80.968887, - 24.742773 - ], - [ - -80.923462, - 24.769209 - ], - [ - -81.026688, - 24.718588 - ], - [ - -80.968887, - 24.742773 - ] - ] - ], - [ - [ - [ - -80.846115, - 24.797499 - ], - [ - -80.786171, - 24.822931 - ], - [ - -80.824173, - 24.821112 - ], - [ - -80.846115, - 24.797499 - ] - ] - ], - [ - [ - [ - -80.698608, - 24.866667 - ], - [ - -80.702499, - 24.880831 - ], - [ - -80.745834, - 24.842497 - ], - [ - -80.698608, - 24.866667 - ] - ] - ], - [ - [ - [ - -80.646666, - 24.90222 - ], - [ - -80.623886, - 24.932775 - ], - [ - -80.664444, - 24.894999 - ], - [ - -80.646666, - 24.90222 - ] - ] - ], - [ - [ - [ - -167.99057, - 25.002501 - ], - [ - -168.00589, - 25.017496 - ], - [ - -168.00116, - 25.003885 - ], - [ - -167.99057, - 25.002501 - ] - ] - ], - [ - [ - [ - -80.577225, - 24.945551 - ], - [ - -80.371933, - 25.143888 - ], - [ - -80.257507, - 25.346388 - ], - [ - -80.577225, - 24.945551 - ] - ] - ], - [ - [ - [ - -80.225006, - 25.40111 - ], - [ - -80.188599, - 25.494162 - ], - [ - -80.234161, - 25.40222 - ], - [ - -80.225006, - 25.40111 - ] - ] - ], - [ - [ - [ - -80.162216, - 25.669443 - ], - [ - -80.156387, - 25.733332 - ], - [ - -80.185547, - 25.68944 - ], - [ - -80.162216, - 25.669443 - ] - ] - ], - [ - [ - [ - -171.723602, - 25.762499 - ], - [ - -171.724701, - 25.791662 - ], - [ - -171.731384, - 25.760832 - ], - [ - -171.723602, - 25.762499 - ] - ] - ], - [ - [ - [ - -81.684158, - 25.844721 - ], - [ - -81.664169, - 25.888609 - ], - [ - -81.714722, - 25.888609 - ], - [ - -81.684158, - 25.844721 - ] - ] - ], - [ - [ - [ - -173.946136, - 26.063334 - ], - [ - -173.944733, - 26.080832 - ], - [ - -173.960846, - 26.079439 - ], - [ - -173.946136, - 26.063334 - ] - ] - ], - [ - [ - [ - -82.126389, - 26.449999 - ], - [ - -82.028885, - 26.444998 - ], - [ - -82.20639, - 26.545832 - ], - [ - -82.126389, - 26.449999 - ] - ] - ], - [ - [ - [ - -82.221664, - 26.612497 - ], - [ - -82.255005, - 26.698606 - ], - [ - -82.244995, - 26.634996 - ], - [ - -82.221664, - 26.612497 - ] - ] - ], - [ - [ - [ - -82.079453, - 26.487776 - ], - [ - -82.133331, - 26.691107 - ], - [ - -82.179718, - 26.699163 - ], - [ - -82.079453, - 26.487776 - ] - ] - ], - [ - [ - [ - -82.263626, - 26.716387 - ], - [ - -82.25528, - 26.759443 - ], - [ - -82.281387, - 26.808889 - ], - [ - -82.263626, - 26.716387 - ] - ] - ], - [ - [ - [ - -97.17778, - 26.084723 - ], - [ - -97.383621, - 27.20722 - ], - [ - -97.385757, - 26.838224 - ], - [ - -97.17778, - 26.084723 - ] - ] - ], - [ - [ - [ - -82.587509, - 27.321112 - ], - [ - -82.654175, - 27.418608 - ], - [ - -82.680557, - 27.425829 - ], - [ - -82.587509, - 27.321112 - ] - ] - ], - [ - [ - [ - -97.382217, - 27.218885 - ], - [ - -97.045546, - 27.843889 - ], - [ - -97.31723, - 27.495829 - ], - [ - -97.382217, - 27.218885 - ] - ] - ], - [ - [ - [ - -96.887787, - 28.030554 - ], - [ - -96.867767, - 28.134996 - ], - [ - -97.035828, - 27.875277 - ], - [ - -96.887787, - 28.030554 - ] - ] - ], - [ - [ - [ - -96.551941, - 28.266668 - ], - [ - -96.404724, - 28.392221 - ], - [ - -96.813614, - 28.092497 - ], - [ - -96.551941, - 28.266668 - ] - ] - ], - [ - [ - [ - -96.360825, - 28.402498 - ], - [ - -96.229996, - 28.485552 - ], - [ - -96.313049, - 28.455275 - ], - [ - -96.360825, - 28.402498 - ] - ] - ], - [ - [ - [ - -80.663895, - 28.258333 - ], - [ - -80.625275, - 28.590555 - ], - [ - -80.74028, - 28.478331 - ], - [ - -80.663895, - 28.258333 - ] - ] - ], - [ - [ - [ - -90.87265, - 29.046133 - ], - [ - -90.923615, - 29.060556 - ], - [ - -90.950394, - 29.060003 - ], - [ - -90.87265, - 29.046133 - ] - ] - ], - [ - [ - [ - -90.739166, - 29.045 - ], - [ - -90.642502, - 29.073332 - ], - [ - -90.758347, - 29.048609 - ], - [ - -90.739166, - 29.045 - ] - ] - ], - [ - [ - [ - -90.335556, - 29.057222 - ], - [ - -90.29834, - 29.066942 - ], - [ - -90.285278, - 29.083055 - ], - [ - -90.335556, - 29.057222 - ] - ] - ], - [ - [ - [ - -89.975281, - 29.242773 - ], - [ - -89.955002, - 29.268057 - ], - [ - -90.031113, - 29.211943 - ], - [ - -89.975281, - 29.242773 - ] - ] - ], - [ - [ - [ - -89.928329, - 29.278612 - ], - [ - -89.907501, - 29.302221 - ], - [ - -89.935272, - 29.2875 - ], - [ - -89.928329, - 29.278612 - ] - ] - ], - [ - [ - [ - -89.860001, - 29.310278 - ], - [ - -89.86972, - 29.335276 - ], - [ - -89.89389, - 29.323053 - ], - [ - -89.860001, - 29.310278 - ] - ] - ], - [ - [ - [ - -95.111115, - 29.098055 - ], - [ - -94.784729, - 29.308054 - ], - [ - -94.821396, - 29.33861 - ], - [ - -95.111115, - 29.098055 - ] - ] - ], - [ - [ - [ - -89.170546, - 29.473051 - ], - [ - -89.156952, - 29.492495 - ], - [ - -89.219162, - 29.46472 - ], - [ - -89.170546, - 29.473051 - ] - ] - ], - [ - [ - [ - -89.601105, - 29.513887 - ], - [ - -89.56221, - 29.521112 - ], - [ - -89.565826, - 29.55472 - ], - [ - -89.590286, - 29.560556 - ], - [ - -89.618332, - 29.538332 - ], - [ - -89.601105, - 29.513887 - ] - ] - ], - [ - [ - [ - -89.080292, - 29.521387 - ], - [ - -89.037216, - 29.57361 - ], - [ - -89.078888, - 29.545553 - ], - [ - -89.080292, - 29.521387 - ] - ] - ], - [ - [ - [ - -91.786667, - 29.486109 - ], - [ - -91.856384, - 29.634996 - ], - [ - -92.034439, - 29.591665 - ], - [ - -91.786667, - 29.486109 - ] - ] - ], - [ - [ - [ - -85.111115, - 29.632219 - ], - [ - -85.08168, - 29.679163 - ], - [ - -85.198044, - 29.685274 - ], - [ - -85.111115, - 29.632219 - ] - ] - ], - [ - [ - [ - -89.428604, - 29.692774 - ], - [ - -89.422501, - 29.722773 - ], - [ - -89.468613, - 29.728609 - ], - [ - -89.428604, - 29.692774 - ] - ] - ], - [ - [ - [ - -84.972778, - 29.608889 - ], - [ - -84.692215, - 29.758333 - ], - [ - -85.095001, - 29.623888 - ], - [ - -84.972778, - 29.608889 - ] - ] - ], - [ - [ - [ - -89.424164, - 29.740831 - ], - [ - -89.491104, - 29.793055 - ], - [ - -89.488892, - 29.73805 - ], - [ - -89.424164, - 29.740831 - ] - ] - ], - [ - [ - [ - -89.285278, - 29.771387 - ], - [ - -89.275558, - 29.809164 - ], - [ - -89.341675, - 29.803888 - ], - [ - -89.285278, - 29.771387 - ] - ] - ], - [ - [ - [ - -84.638901, - 29.778334 - ], - [ - -84.573425, - 29.819998 - ], - [ - -84.667221, - 29.776945 - ], - [ - -84.638901, - 29.778334 - ] - ] - ], - [ - [ - [ - -88.84584, - 29.776388 - ], - [ - -88.805832, - 29.906385 - ], - [ - -88.868744, - 30.060606 - ], - [ - -88.84584, - 29.776388 - ] - ] - ], - [ - [ - [ - -89.31778, - 30.040834 - ], - [ - -89.184998, - 30.166666 - ], - [ - -89.34639, - 30.059443 - ], - [ - -89.31778, - 30.040834 - ] - ] - ], - [ - [ - [ - -88.437775, - 30.206106 - ], - [ - -88.428055, - 30.212774 - ], - [ - -88.500565, - 30.218885 - ], - [ - -88.437775, - 30.206106 - ] - ] - ], - [ - [ - [ - -88.552216, - 30.21472 - ], - [ - -88.526398, - 30.223051 - ], - [ - -88.754181, - 30.244719 - ], - [ - -88.552216, - 30.21472 - ] - ] - ], - [ - [ - [ - -89.081116, - 30.19972 - ], - [ - -89.060516, - 30.246675 - ], - [ - -89.091675, - 30.216665 - ], - [ - -89.081116, - 30.19972 - ] - ] - ], - [ - [ - [ - -88.094727, - 30.241106 - ], - [ - -88.107773, - 30.273611 - ], - [ - -88.3125, - 30.232775 - ], - [ - -88.094727, - 30.241106 - ] - ] - ], - [ - [ - [ - -86.529175, - 30.400831 - ], - [ - -86.763062, - 30.404997 - ], - [ - -87.292221, - 30.332777 - ], - [ - -86.529175, - 30.400831 - ] - ] - ], - [ - [ - [ - -118.406952, - 32.816668 - ], - [ - -118.369164, - 32.854715 - ], - [ - -118.592499, - 33.046946 - ], - [ - -118.406952, - 32.816668 - ] - ] - ], - [ - [ - [ - -79.365004, - 33.003054 - ], - [ - -79.336121, - 33.067217 - ], - [ - -79.361115, - 33.049997 - ], - [ - -79.365004, - 33.003054 - ] - ] - ], - [ - [ - [ - -119.444153, - 33.216661 - ], - [ - -119.48056, - 33.274439 - ], - [ - -119.566673, - 33.28277 - ], - [ - -119.444153, - 33.216661 - ] - ] - ], - [ - [ - [ - -118.301941, - 33.309435 - ], - [ - -118.592215, - 33.486658 - ], - [ - -118.448883, - 33.327494 - ], - [ - -118.301941, - 33.309435 - ] - ] - ], - [ - [ - [ - -77.960831, - 33.85 - ], - [ - -77.949722, - 33.91305 - ], - [ - -78.016403, - 33.874163 - ], - [ - -77.960831, - 33.85 - ] - ] - ], - [ - [ - [ - -120.035278, - 34.023882 - ], - [ - -120.226097, - 34.006105 - ], - [ - -120.107498, - 33.90555 - ], - [ - -120.035278, - 34.023882 - ] - ] - ], - [ - [ - [ - -120.297783, - 34.028605 - ], - [ - -120.363892, - 34.065546 - ], - [ - -120.438049, - 34.036943 - ], - [ - -120.297783, - 34.028605 - ] - ] - ], - [ - [ - [ - -119.868057, - 34.084162 - ], - [ - -119.78833, - 33.967211 - ], - [ - -119.513634, - 34.042772 - ], - [ - -119.868057, - 34.084162 - ] - ] - ], - [ - [ - [ - -76.535278, - 34.635553 - ], - [ - -76.559158, - 34.664995 - ], - [ - -76.654724, - 34.686106 - ], - [ - -76.535278, - 34.635553 - ] - ] - ], - [ - [ - [ - -76.682495, - 34.702219 - ], - [ - -76.931107, - 34.691378 - ], - [ - -77.098053, - 34.650545 - ], - [ - -76.682495, - 34.702219 - ] - ] - ], - [ - [ - [ - -76.531952, - 34.585825 - ], - [ - -76.199722, - 34.94166 - ], - [ - -76.420837, - 34.775827 - ], - [ - -76.531952, - 34.585825 - ] - ] - ], - [ - [ - [ - -76.06778, - 35.039438 - ], - [ - -76.039444, - 35.061106 - ], - [ - -76.131104, - 35.00194 - ], - [ - -76.06778, - 35.039438 - ] - ] - ], - [ - [ - [ - -76.010834, - 35.074167 - ], - [ - -75.766953, - 35.19388 - ], - [ - -75.98111, - 35.115 - ], - [ - -76.010834, - 35.074167 - ] - ] - ], - [ - [ - [ - -75.527222, - 35.235552 - ], - [ - -75.512512, - 35.777216 - ], - [ - -75.65361, - 35.22555 - ], - [ - -75.527222, - 35.235552 - ] - ] - ], - [ - [ - [ - -75.619446, - 35.821383 - ], - [ - -75.665833, - 35.926943 - ], - [ - -75.723328, - 35.94166 - ], - [ - -75.619446, - 35.821383 - ] - ] - ], - [ - [ - [ - -75.906113, - 37.112497 - ], - [ - -75.872498, - 37.149164 - ], - [ - -75.898895, - 37.136942 - ], - [ - -75.906113, - 37.112497 - ] - ] - ], - [ - [ - [ - -75.78833, - 37.238047 - ], - [ - -75.785278, - 37.298609 - ], - [ - -75.837509, - 37.22777 - ], - [ - -75.78833, - 37.238047 - ] - ] - ], - [ - [ - [ - -75.696655, - 37.402773 - ], - [ - -75.668335, - 37.460276 - ], - [ - -75.710831, - 37.390276 - ], - [ - -75.696655, - 37.402773 - ] - ] - ], - [ - [ - [ - -121.801392, - 38.055269 - ], - [ - -121.796387, - 38.066668 - ], - [ - -121.820007, - 38.068056 - ], - [ - -121.801392, - 38.055269 - ] - ] - ], - [ - [ - [ - -75.354172, - 37.866663 - ], - [ - -75.121109, - 38.263056 - ], - [ - -75.384171, - 37.872217 - ], - [ - -75.354172, - 37.866663 - ] - ] - ], - [ - [ - [ - -74.329453, - 39.421663 - ], - [ - -74.348053, - 39.474436 - ], - [ - -74.376251, - 39.420744 - ], - [ - -74.444153, - 39.406939 - ], - [ - -74.394455, - 39.382494 - ], - [ - -74.329453, - 39.421663 - ] - ] - ], - [ - [ - [ - -74.246948, - 39.525553 - ], - [ - -74.138336, - 39.659433 - ], - [ - -74.099991, - 39.750834 - ], - [ - -74.246948, - 39.525553 - ] - ] - ], - [ - [ - [ - -74.220001, - 40.511667 - ], - [ - -74.062775, - 40.639437 - ], - [ - -74.176941, - 40.641939 - ], - [ - -74.220001, - 40.511667 - ] - ] - ], - [ - [ - [ - -73.223328, - 40.635271 - ], - [ - -72.766663, - 40.766108 - ], - [ - -73.294724, - 40.633883 - ], - [ - -73.223328, - 40.635271 - ] - ] - ], - [ - [ - [ - -72.262222, - 41.125269 - ], - [ - -74.032501, - 40.625826 - ], - [ - -73.582779, - 40.596102 - ], - [ - -71.85611, - 41.069162 - ], - [ - -72.621109, - 40.91305 - ], - [ - -72.262222, - 41.125269 - ] - ] - ], - [ - [ - [ - -69.994995, - 41.328051 - ], - [ - -70.234161, - 41.283609 - ], - [ - -69.993881, - 41.250277 - ], - [ - -69.994995, - 41.328051 - ] - ] - ], - [ - [ - [ - -70.506393, - 41.357218 - ], - [ - -70.617218, - 41.473879 - ], - [ - -70.838058, - 41.359995 - ], - [ - -70.506393, - 41.357218 - ] - ] - ], - [ - [ - [ - -71.297501, - 41.458605 - ], - [ - -71.222504, - 41.654161 - ], - [ - -71.358337, - 41.459162 - ], - [ - -71.297501, - 41.458605 - ] - ] - ], - [ - [ - [ - -68.803329, - 44.048052 - ], - [ - -68.76445, - 44.094995 - ], - [ - -68.898056, - 44.12388 - ], - [ - -68.803329, - 44.048052 - ] - ] - ], - [ - [ - [ - -68.650833, - 44.168886 - ], - [ - -68.66806, - 44.285273 - ], - [ - -68.72139, - 44.228876 - ], - [ - -68.650833, - 44.168886 - ] - ] - ], - [ - [ - [ - -68.320847, - 44.237215 - ], - [ - -68.168335, - 44.345545 - ], - [ - -68.263062, - 44.452776 - ], - [ - -68.428329, - 44.319994 - ], - [ - -68.320847, - 44.237215 - ] - ] - ], - [ - [ - [ - -123.938049, - 46.431108 - ], - [ - -123.972504, - 46.515276 - ], - [ - -123.983063, - 46.469156 - ], - [ - -123.949158, - 46.431108 - ], - [ - -123.938049, - 46.431108 - ] - ] - ], - [ - [ - [ - -122.843063, - 47.206942 - ], - [ - -122.845551, - 47.312494 - ], - [ - -122.902222, - 47.297495 - ], - [ - -122.843063, - 47.206942 - ] - ] - ], - [ - [ - [ - -122.482224, - 47.349718 - ], - [ - -122.381104, - 47.394716 - ], - [ - -122.450562, - 47.518328 - ], - [ - -122.482224, - 47.349718 - ] - ] - ], - [ - [ - [ - -122.50473, - 48.309717 - ], - [ - -122.757782, - 48.233881 - ], - [ - -122.372223, - 47.919443 - ], - [ - -122.50473, - 48.309717 - ] - ] - ], - [ - [ - [ - -122.816673, - 48.416941 - ], - [ - -122.876663, - 48.564157 - ], - [ - -122.936111, - 48.457773 - ], - [ - -122.816673, - 48.416941 - ] - ] - ], - [ - [ - [ - -123, - 48.4461 - ], - [ - -122.995003, - 48.529718 - ], - [ - -123.178329, - 48.592218 - ], - [ - -123, - 48.4461 - ] - ] - ], - [ - [ - [ - -122.922501, - 48.711664 - ], - [ - -123.010277, - 48.603609 - ], - [ - -122.749161, - 48.651384 - ], - [ - -122.922501, - 48.711664 - ] - ] - ], - [ - [ - [ - -123.09375, - 48.999437 - ], - [ - -123.053329, - 48.973879 - ], - [ - -123.034317, - 48.999437 - ], - [ - -123.09375, - 48.999437 - ] - ] - ], - [ - [ - [ - -67.206543, - 45.183039 - ], - [ - -67.799164, - 45.701105 - ], - [ - -67.794998, - 47.069994 - ], - [ - -69.232498, - 47.471376 - ], - [ - -70.878601, - 45.238604 - ], - [ - -74.990829, - 44.986658 - ], - [ - -76.801941, - 43.633608 - ], - [ - -78.724716, - 43.629435 - ], - [ - -79.184723, - 43.465548 - ], - [ - -78.986938, - 42.819994 - ], - [ - -82.696655, - 41.683878 - ], - [ - -83.16861, - 42.046106 - ], - [ - -82.521393, - 42.618883 - ], - [ - -82.13028, - 43.585268 - ], - [ - -82.54306, - 45.355829 - ], - [ - -83.597778, - 45.827219 - ], - [ - -83.577499, - 46.105272 - ], - [ - -83.958893, - 46.071665 - ], - [ - -84.126389, - 46.531939 - ], - [ - -84.565002, - 46.466387 - ], - [ - -84.856949, - 46.902216 - ], - [ - -88.368057, - 48.312212 - ], - [ - -89.356659, - 47.979715 - ], - [ - -90.868607, - 48.237497 - ], - [ - -91.418335, - 48.041109 - ], - [ - -92.953064, - 48.623323 - ], - [ - -94.605835, - 48.724436 - ], - [ - -95.078064, - 49.359163 - ], - [ - -95.154175, - 48.999437 - ], - [ - -122.7603, - 48.999437 - ], - [ - -122.4375, - 48.598047 - ], - [ - -122.704453, - 48.486109 - ], - [ - -122.379173, - 48.291666 - ], - [ - -122.309723, - 47.401102 - ], - [ - -122.878601, - 47.064157 - ], - [ - -123.068619, - 47.151659 - ], - [ - -122.797501, - 47.395273 - ], - [ - -122.758621, - 47.189714 - ], - [ - -122.619164, - 47.420549 - ], - [ - -122.549988, - 47.28277 - ], - [ - -122.454727, - 47.774439 - ], - [ - -122.565552, - 47.938044 - ], - [ - -123.102493, - 47.399721 - ], - [ - -122.836403, - 47.439157 - ], - [ - -123.147507, - 47.368601 - ], - [ - -122.63028, - 47.915827 - ], - [ - -122.751106, - 48.161104 - ], - [ - -124.715843, - 48.395273 - ], - [ - -124.161942, - 46.941103 - ], - [ - -123.796661, - 46.976099 - ], - [ - -124.097504, - 46.861383 - ], - [ - -123.752563, - 46.693071 - ], - [ - -123.941673, - 46.391108 - ], - [ - -123.98999, - 46.397776 - ], - [ - -124.015839, - 46.654436 - ], - [ - -124.04277, - 46.658045 - ], - [ - -124, - 46.32361 - ], - [ - -123.163574, - 46.195192 - ], - [ - -123.95195, - 46.181108 - ], - [ - -124.138344, - 43.371103 - ], - [ - -124.524437, - 42.866106 - ], - [ - -124.039993, - 41.431108 - ], - [ - -124.33223, - 40.266108 - ], - [ - -123.775833, - 39.717211 - ], - [ - -123.703613, - 38.932497 - ], - [ - -123.104721, - 38.461107 - ], - [ - -122.803595, - 38.088045 - ], - [ - -122.964561, - 38.239614 - ], - [ - -122.99707, - 38.00511 - ], - [ - -122.491379, - 37.827776 - ], - [ - -122.36528, - 38.15555 - ], - [ - -122.109734, - 38.06138 - ], - [ - -122.018623, - 38.148115 - ], - [ - -121.736107, - 38.044718 - ], - [ - -121.576683, - 38.115831 - ], - [ - -121.419998, - 38.012774 - ], - [ - -122.240547, - 38.05916 - ], - [ - -122.393341, - 37.957773 - ], - [ - -122.005835, - 37.471376 - ], - [ - -122.386948, - 37.816668 - ], - [ - -122.488052, - 37.518328 - ], - [ - -121.796387, - 36.879435 - ], - [ - -121.867493, - 36.312494 - ], - [ - -120.614166, - 35.135828 - ], - [ - -120.62027, - 34.570833 - ], - [ - -118.534729, - 34.050829 - ], - [ - -117.480827, - 33.327494 - ], - [ - -117.122374, - 32.535334 - ], - [ - -114.719093, - 32.718458 - ], - [ - -114.80983, - 32.50699 - ], - [ - -113.052887, - 31.971071 - ], - [ - -111.045837, - 31.333055 - ], - [ - -108.208344, - 31.333055 - ], - [ - -108.208618, - 31.783335 - ], - [ - -106.400848, - 31.750277 - ], - [ - -104.900558, - 30.572779 - ], - [ - -104.540009, - 29.67111 - ], - [ - -103.375, - 29.023611 - ], - [ - -102.305847, - 29.889444 - ], - [ - -101.405014, - 29.772779 - ], - [ - -99.505005, - 27.570276 - ], - [ - -99.104736, - 26.434999 - ], - [ - -97.140739, - 25.966429 - ], - [ - -97.559433, - 26.836111 - ], - [ - -97.423889, - 27.2675 - ], - [ - -97.773895, - 27.458887 - ], - [ - -97.411118, - 27.327497 - ], - [ - -97.520554, - 27.866388 - ], - [ - -97.184723, - 27.827497 - ], - [ - -96.803604, - 28.473051 - ], - [ - -96.398346, - 28.43611 - ], - [ - -96.641678, - 28.719717 - ], - [ - -95.985825, - 28.649164 - ], - [ - -96.212784, - 28.485552 - ], - [ - -95.140839, - 29.057501 - ], - [ - -95.093887, - 29.177774 - ], - [ - -94.902786, - 29.314444 - ], - [ - -94.888062, - 29.375555 - ], - [ - -95.059433, - 29.718885 - ], - [ - -94.47583, - 29.561388 - ], - [ - -94.772507, - 29.363886 - ], - [ - -93.857498, - 29.676107 - ], - [ - -93.845276, - 29.98805 - ], - [ - -93.840286, - 29.704165 - ], - [ - -92.308334, - 29.539721 - ], - [ - -91.841675, - 29.830278 - ], - [ - -91.246948, - 29.240831 - ], - [ - -90.206665, - 29.091944 - ], - [ - -90.178329, - 29.5725 - ], - [ - -89.272781, - 29.155832 - ], - [ - -89.404999, - 28.926664 - ], - [ - -89.008347, - 29.176943 - ], - [ - -89.18721, - 29.33972 - ], - [ - -89.676392, - 29.52389 - ], - [ - -89.753342, - 29.630831 - ], - [ - -89.399445, - 30.050833 - ], - [ - -89.658051, - 29.873888 - ], - [ - -89.667221, - 30.167776 - ], - [ - -90.419724, - 30.198332 - ], - [ - -88.132767, - 30.314444 - ], - [ - -88.020279, - 30.701109 - ], - [ - -87.756393, - 30.285276 - ], - [ - -88.023621, - 30.219442 - ], - [ - -86.263336, - 30.496664 - ], - [ - -85.392227, - 30.049444 - ], - [ - -85.633942, - 30.104441 - ], - [ - -85.354172, - 29.676664 - ], - [ - -84.207504, - 30.105555 - ], - [ - -83.669449, - 29.906107 - ], - [ - -82.631104, - 28.884996 - ], - [ - -82.853333, - 27.855276 - ], - [ - -82.722504, - 27.656942 - ], - [ - -82.691376, - 28.032221 - ], - [ - -82.422501, - 27.917498 - ], - [ - -82.655273, - 27.461664 - ], - [ - -82.30278, - 26.837221 - ], - [ - -82.017227, - 26.96472 - ], - [ - -82.064163, - 26.545 - ], - [ - -81.777786, - 26.710554 - ], - [ - -81.970055, - 26.482832 - ], - [ - -81.736588, - 25.959444 - ], - [ - -81.33667, - 25.804998 - ], - [ - -80.915283, - 25.25139 - ], - [ - -81.088058, - 25.115553 - ], - [ - -80.398621, - 25.184721 - ], - [ - -80.033325, - 26.786665 - ], - [ - -80.755569, - 28.415831 - ], - [ - -80.844162, - 28.790556 - ], - [ - -80.602219, - 28.6075 - ], - [ - -80.446655, - 27.864443 - ], - [ - -80.55249, - 28.525 - ], - [ - -81.25528, - 29.796667 - ], - [ - -81.496948, - 31.125555 - ], - [ - -80.669998, - 32.214159 - ], - [ - -80.836945, - 32.516665 - ], - [ - -80.467224, - 32.315828 - ], - [ - -80.671661, - 32.521662 - ], - [ - -79.381943, - 33.009722 - ], - [ - -79.371719, - 33.058947 - ], - [ - -79.205841, - 33.165545 - ], - [ - -79.271393, - 33.373323 - ], - [ - -79.188599, - 33.43638 - ], - [ - -79.196442, - 33.27894 - ], - [ - -78.827499, - 33.730272 - ], - [ - -78.013626, - 33.891939 - ], - [ - -77.96167, - 34.158602 - ], - [ - -77.930832, - 33.927774 - ], - [ - -77.428879, - 34.741938 - ], - [ - -76.335831, - 34.886942 - ], - [ - -76.944443, - 34.977488 - ], - [ - -77.076401, - 35.156099 - ], - [ - -76.761398, - 34.987772 - ], - [ - -76.468887, - 35.271662 - ], - [ - -77.050827, - 35.530275 - ], - [ - -76.14917, - 35.336939 - ], - [ - -75.720276, - 35.81444 - ], - [ - -75.853607, - 35.974993 - ], - [ - -76.035278, - 35.649996 - ], - [ - -76.070847, - 35.991938 - ], - [ - -76.73056, - 35.939432 - ], - [ - -76.706116, - 36.264162 - ], - [ - -76.656662, - 36.031107 - ], - [ - -76.063049, - 36.153322 - ], - [ - -76.195541, - 36.319994 - ], - [ - -75.785553, - 36.069994 - ], - [ - -75.938889, - 36.716661 - ], - [ - -75.529175, - 35.803881 - ], - [ - -75.98999, - 36.913881 - ], - [ - -77.232224, - 37.296389 - ], - [ - -76.268066, - 37.078882 - ], - [ - -76.68277, - 37.42972 - ], - [ - -76.381104, - 37.273882 - ], - [ - -76.286667, - 37.567499 - ], - [ - -77.133896, - 38.17277 - ], - [ - -76.353607, - 37.618601 - ], - [ - -76.241669, - 37.904993 - ], - [ - -77.320007, - 38.34527 - ], - [ - -77.061111, - 38.905268 - ], - [ - -77.244446, - 38.398333 - ], - [ - -76.309998, - 38.046389 - ], - [ - -76.666107, - 38.480547 - ], - [ - -76.376099, - 38.363611 - ], - [ - -76.618607, - 39.254168 - ], - [ - -75.83168, - 39.577494 - ], - [ - -76.360001, - 38.857218 - ], - [ - -75.956665, - 38.648607 - ], - [ - -76.242493, - 38.366938 - ], - [ - -75.838058, - 38.398882 - ], - [ - -75.880829, - 37.949434 - ], - [ - -75.644043, - 37.961176 - ], - [ - -75.960831, - 37.152216 - ], - [ - -75.043884, - 38.421663 - ], - [ - -75.588608, - 39.648882 - ], - [ - -75.028519, - 40.012308 - ], - [ - -75.557495, - 39.618052 - ], - [ - -74.892775, - 39.167772 - ], - [ - -74.955002, - 38.924166 - ], - [ - -74.415558, - 39.355272 - ], - [ - -74.462593, - 39.421068 - ], - [ - -74.405563, - 39.516108 - ], - [ - -74.150284, - 39.704996 - ], - [ - -74.053879, - 40.057497 - ], - [ - -74.076401, - 39.776941 - ], - [ - -73.952225, - 40.299997 - ], - [ - -74.269165, - 40.47471 - ], - [ - -73.956665, - 41.305269 - ], - [ - -73.99749, - 40.713461 - ], - [ - -72.906387, - 41.286112 - ], - [ - -71.50528, - 41.366938 - ], - [ - -71.391388, - 41.811937 - ], - [ - -71.111115, - 41.795 - ], - [ - -71.185822, - 41.466661 - ], - [ - -69.936386, - 41.669443 - ], - [ - -70.078888, - 42.062212 - ], - [ - -70.011124, - 41.79722 - ], - [ - -70.324722, - 41.711382 - ], - [ - -71.044449, - 42.311106 - ], - [ - -70.580566, - 42.651934 - ], - [ - -70.729172, - 43.122766 - ], - [ - -70.172501, - 43.78055 - ], - [ - -69.823898, - 43.714441 - ], - [ - -69.773331, - 44.079165 - ], - [ - -69.721939, - 43.78583 - ], - [ - -69.067505, - 44.063326 - ], - [ - -68.795273, - 44.579721 - ], - [ - -68.615829, - 44.306383 - ], - [ - -68.547501, - 44.317774 - ], - [ - -68.559158, - 44.418886 - ], - [ - -68.321152, - 44.465883 - ], - [ - -68.108612, - 44.460276 - ], - [ - -68.047501, - 44.346941 - ], - [ - -67.775284, - 44.546946 - ], - [ - -67.565277, - 44.550272 - ], - [ - -67.551102, - 44.666101 - ], - [ - -67.186935, - 44.661936 - ], - [ - -66.968887, - 44.83111 - ], - [ - -67.206543, - 45.183039 - ] - ], - [ - [ - -122.495827, - 47.595545 - ], - [ - -122.58168, - 47.671663 - ], - [ - -122.503342, - 47.715273 - ], - [ - -122.495827, - 47.595545 - ] - ], - [ - [ - -123.938599, - 45.536661 - ], - [ - -123.934433, - 45.558329 - ], - [ - -123.916946, - 45.56444 - ], - [ - -123.938599, - 45.536661 - ] - ], - [ - [ - -77.851669, - 34.111109 - ], - [ - -77.855835, - 34.149164 - ], - [ - -77.820847, - 34.175272 - ], - [ - -77.851669, - 34.111109 - ] - ] - ], - [ - [ - [ - -179.105286, - 51.213053 - ], - [ - -179.08725, - 51.290834 - ], - [ - -179.141998, - 51.268595 - ], - [ - -179.105286, - 51.213053 - ] - ] - ], - [ - [ - [ - -178.962494, - 51.311663 - ], - [ - -178.90033, - 51.354998 - ], - [ - -178.949982, - 51.396936 - ], - [ - -178.962494, - 51.311663 - ] - ] - ], - [ - [ - [ - 178.993013, - 51.574999 - ], - [ - 178.636385, - 51.637774 - ], - [ - 179.471346, - 51.367495 - ], - [ - 178.993013, - 51.574999 - ] - ] - ], - [ - [ - [ - -178.776978, - 51.745539 - ], - [ - -178.742798, - 51.807772 - ], - [ - -178.842529, - 51.819155 - ], - [ - -178.776978, - 51.745539 - ] - ] - ], - [ - [ - [ - 178.392214, - 51.763056 - ], - [ - 178.329958, - 51.814997 - ], - [ - 178.223024, - 51.830828 - ], - [ - 178.392214, - 51.763056 - ] - ] - ], - [ - [ - [ - -176.012817, - 51.830271 - ], - [ - -176.219452, - 51.831385 - ], - [ - -176.143341, - 51.774439 - ], - [ - -176.012817, - 51.830271 - ] - ] - ], - [ - [ - [ - -176.336426, - 51.721659 - ], - [ - -176.276978, - 51.86027 - ], - [ - -176.41449, - 51.854998 - ], - [ - -176.336426, - 51.721659 - ] - ] - ], - [ - [ - [ - -177.813904, - 51.719706 - ], - [ - -178.218079, - 51.871935 - ], - [ - -177.949982, - 51.606379 - ], - [ - -177.813904, - 51.719706 - ] - ] - ], - [ - [ - [ - -176.550598, - 51.905825 - ], - [ - -176.975037, - 51.595819 - ], - [ - -176.429749, - 51.730265 - ], - [ - -176.550598, - 51.905825 - ] - ] - ], - [ - [ - [ - -175.951111, - 51.868876 - ], - [ - -176.001953, - 51.908876 - ], - [ - -176.093079, - 51.885263 - ], - [ - -175.951111, - 51.868876 - ] - ] - ], - [ - [ - [ - -177.122223, - 51.784433 - ], - [ - -177.157257, - 51.938326 - ], - [ - -177.704468, - 51.70083 - ], - [ - -177.122223, - 51.784433 - ] - ] - ], - [ - [ - [ - -175.725037, - 51.930552 - ], - [ - -175.657501, - 51.956942 - ], - [ - -175.729187, - 51.966105 - ], - [ - -175.725037, - 51.930552 - ] - ] - ], - [ - [ - [ - -175.86499, - 51.96361 - ], - [ - -175.801941, - 51.982203 - ], - [ - -175.946686, - 51.978868 - ], - [ - -175.86499, - 51.96361 - ] - ] - ], - [ - [ - [ - 178.536928, - 51.89361 - ], - [ - 178.606081, - 51.947771 - ], - [ - 178.468294, - 51.98472 - ], - [ - 178.536928, - 51.89361 - ] - ] - ], - [ - [ - [ - 179.737459, - 51.903048 - ], - [ - 179.658602, - 52.024714 - ], - [ - 179.486086, - 51.972216 - ], - [ - 179.737459, - 51.903048 - ] - ] - ], - [ - [ - [ - 177.684694, - 52.079996 - ], - [ - 177.24106, - 51.87694 - ], - [ - 177.604952, - 51.920275 - ], - [ - 177.684694, - 52.079996 - ] - ] - ], - [ - [ - [ - -176.037231, - 51.964434 - ], - [ - -176.046112, - 52.102221 - ], - [ - -176.190857, - 52.059992 - ], - [ - -176.037231, - 51.964434 - ] - ] - ], - [ - [ - [ - -173.515869, - 52.106936 - ], - [ - -174.056976, - 52.120272 - ], - [ - -172.955597, - 52.085543 - ], - [ - -173.515869, - 52.106936 - ] - ] - ], - [ - [ - [ - 175.961092, - 52.33555 - ], - [ - 175.987734, - 52.353609 - ], - [ - 175.881899, - 52.372492 - ], - [ - 175.961092, - 52.33555 - ] - ] - ], - [ - [ - [ - -172.388367, - 52.289721 - ], - [ - -172.438324, - 52.391932 - ], - [ - -172.628052, - 52.258326 - ], - [ - -172.388367, - 52.289721 - ] - ] - ], - [ - [ - [ - -173.9953, - 52.291101 - ], - [ - -174.184479, - 52.416941 - ], - [ - -175.335846, - 52.014154 - ], - [ - -173.9953, - 52.291101 - ] - ] - ], - [ - [ - [ - 173.787752, - 52.501108 - ], - [ - 173.375246, - 52.399439 - ], - [ - 173.735506, - 52.353327 - ], - [ - 173.787752, - 52.501108 - ] - ] - ], - [ - [ - [ - -171.23526, - 52.45083 - ], - [ - -171.217224, - 52.510546 - ], - [ - -171.308044, - 52.49943 - ], - [ - -171.23526, - 52.45083 - ] - ] - ], - [ - [ - [ - -170.60556, - 52.59083 - ], - [ - -170.676147, - 52.694155 - ], - [ - -170.841675, - 52.554155 - ], - [ - -170.60556, - 52.59083 - ] - ] - ], - [ - [ - [ - 174.177767, - 52.705553 - ], - [ - 174.102175, - 52.741106 - ], - [ - 174.074129, - 52.711382 - ], - [ - 174.177767, - 52.705553 - ] - ] - ], - [ - [ - [ - -170.114746, - 52.718325 - ], - [ - -170.054993, - 52.765268 - ], - [ - -170.179993, - 52.783876 - ], - [ - -170.114746, - 52.718325 - ] - ] - ], - [ - [ - [ - -169.675049, - 52.817774 - ], - [ - -169.781158, - 52.885263 - ], - [ - -170.013062, - 52.818331 - ], - [ - -169.675049, - 52.817774 - ] - ] - ], - [ - [ - [ - -170.040833, - 52.853045 - ], - [ - -169.993895, - 52.901934 - ], - [ - -170.127472, - 52.888597 - ], - [ - -170.040833, - 52.853045 - ] - ] - ], - [ - [ - [ - 173.29999, - 52.882212 - ], - [ - 172.476351, - 52.92444 - ], - [ - 172.928591, - 52.743883 - ], - [ - 173.29999, - 52.882212 - ] - ] - ], - [ - [ - [ - -169.724457, - 52.943316 - ], - [ - -169.676697, - 53.031664 - ], - [ - -169.752502, - 53.026377 - ], - [ - -169.724457, - 52.943316 - ] - ] - ], - [ - [ - [ - -168.243591, - 53.251101 - ], - [ - -167.795319, - 53.495539 - ], - [ - -168.351959, - 53.47555 - ], - [ - -169.0867, - 52.828051 - ], - [ - -168.243591, - 53.251101 - ] - ] - ], - [ - [ - [ - -166.209991, - 53.705271 - ], - [ - -166.090027, - 53.839434 - ], - [ - -166.293335, - 53.793055 - ], - [ - -166.209991, - 53.705271 - ] - ] - ], - [ - [ - [ - -166.607483, - 53.829721 - ], - [ - -167.0242, - 53.955545 - ], - [ - -166.803894, - 53.648874 - ], - [ - -167.846375, - 53.308596 - ], - [ - -166.752838, - 53.446383 - ], - [ - -166.215027, - 53.928324 - ], - [ - -166.607483, - 53.829721 - ] - ] - ], - [ - [ - [ - -165.251709, - 54.076097 - ], - [ - -165.481934, - 54.074434 - ], - [ - -165.297791, - 54.037493 - ], - [ - -165.251709, - 54.076097 - ] - ] - ], - [ - [ - [ - -164.939209, - 54.12694 - ], - [ - -165.221924, - 54.089991 - ], - [ - -164.965576, - 54.075274 - ], - [ - -164.939209, - 54.12694 - ] - ] - ], - [ - [ - [ - -165.69696, - 54.084719 - ], - [ - -165.938324, - 54.220545 - ], - [ - -166.123077, - 54.116381 - ], - [ - -165.69696, - 54.084719 - ] - ] - ], - [ - [ - [ - -165.560577, - 54.11027 - ], - [ - -165.48642, - 54.28805 - ], - [ - -165.681976, - 54.238047 - ], - [ - -165.560577, - 54.11027 - ] - ] - ], - [ - [ - [ - -162.400574, - 54.36944 - ], - [ - -162.368317, - 54.38833 - ], - [ - -162.489716, - 54.409716 - ], - [ - -162.400574, - 54.36944 - ] - ] - ], - [ - [ - [ - -162.543884, - 54.38138 - ], - [ - -162.831116, - 54.494158 - ], - [ - -162.786407, - 54.414713 - ], - [ - -162.543884, - 54.38138 - ] - ] - ], - [ - [ - [ - -132.619446, - 54.754442 - ], - [ - -132.618866, - 54.896105 - ], - [ - -132.781128, - 54.925272 - ], - [ - -132.619446, - 54.754442 - ] - ] - ], - [ - [ - [ - -159.295013, - 54.866938 - ], - [ - -159.20694, - 54.92444 - ], - [ - -159.336121, - 54.927217 - ], - [ - -159.295013, - 54.866938 - ] - ] - ], - [ - [ - [ - -163.413635, - 54.891108 - ], - [ - -164.43277, - 54.930552 - ], - [ - -164.952209, - 54.57583 - ], - [ - -163.048615, - 54.668329 - ], - [ - -163.14502, - 54.766108 - ], - [ - -163.369995, - 54.784998 - ], - [ - -163.413635, - 54.891108 - ] - ] - ], - [ - [ - [ - -162.29306, - 54.834162 - ], - [ - -162.232758, - 54.965273 - ], - [ - -162.434448, - 54.931108 - ], - [ - -162.29306, - 54.834162 - ] - ] - ], - [ - [ - [ - -131.325836, - 54.856943 - ], - [ - -131.236389, - 54.995272 - ], - [ - -131.482758, - 54.930826 - ], - [ - -131.325836, - 54.856943 - ] - ] - ], - [ - [ - [ - -159.434174, - 54.940546 - ], - [ - -159.349426, - 55.049166 - ], - [ - -159.479155, - 55.014162 - ], - [ - -159.434174, - 54.940546 - ] - ] - ], - [ - [ - [ - -161.739716, - 55.056101 - ], - [ - -161.641388, - 55.113329 - ], - [ - -161.906952, - 55.151384 - ], - [ - -161.739716, - 55.056101 - ] - ] - ], - [ - [ - [ - -132.674713, - 55.033052 - ], - [ - -132.853333, - 55.159433 - ], - [ - -132.864716, - 55.029993 - ], - [ - -132.674713, - 55.033052 - ] - ] - ], - [ - [ - [ - -131.425842, - 55.211107 - ], - [ - -131.617493, - 55.01111 - ], - [ - -131.372223, - 55.013613 - ], - [ - -131.425842, - 55.211107 - ] - ] - ], - [ - [ - [ - -132.835815, - 54.889162 - ], - [ - -133.195557, - 55.230272 - ], - [ - -132.679993, - 54.666101 - ], - [ - -132.835815, - 54.889162 - ] - ] - ], - [ - [ - [ - -159.51947, - 55.064157 - ], - [ - -159.535278, - 55.247492 - ], - [ - -159.655579, - 55.054995 - ], - [ - -159.51947, - 55.064157 - ] - ] - ], - [ - [ - [ - -161.561951, - 55.21805 - ], - [ - -161.53363, - 55.252779 - ], - [ - -161.706116, - 55.204714 - ], - [ - -161.561951, - 55.21805 - ] - ] - ], - [ - [ - [ - -159.843323, - 55.132494 - ], - [ - -159.882202, - 55.290834 - ], - [ - -160.24472, - 54.901384 - ], - [ - -159.843323, - 55.132494 - ] - ] - ], - [ - [ - [ - -133.249725, - 55.209162 - ], - [ - -133.296661, - 55.330553 - ], - [ - -133.439453, - 55.301935 - ], - [ - -133.249725, - 55.209162 - ] - ] - ], - [ - [ - [ - -160.333069, - 55.248049 - ], - [ - -160.346954, - 55.368601 - ], - [ - -160.528076, - 55.320551 - ], - [ - -160.333069, - 55.248049 - ] - ] - ], - [ - [ - [ - -160.695557, - 55.399996 - ], - [ - -160.816406, - 55.118326 - ], - [ - -160.46167, - 55.187212 - ], - [ - -160.695557, - 55.399996 - ] - ] - ], - [ - [ - [ - -133.598328, - 55.233881 - ], - [ - -133.44696, - 55.410273 - ], - [ - -133.653624, - 55.36944 - ], - [ - -133.598328, - 55.233881 - ] - ] - ], - [ - [ - [ - -131.725006, - 55.134722 - ], - [ - -131.616638, - 55.283609 - ], - [ - -131.8461, - 55.419992 - ], - [ - -131.725006, - 55.134722 - ] - ] - ], - [ - [ - [ - -163.146393, - 55.393328 - ], - [ - -163.136963, - 55.436106 - ], - [ - -163.194733, - 55.421938 - ], - [ - -163.146393, - 55.393328 - ] - ] - ], - [ - [ - [ - -160.178894, - 55.396105 - ], - [ - -160.249725, - 55.463053 - ], - [ - -160.341949, - 55.416941 - ], - [ - -160.178894, - 55.396105 - ] - ] - ], - [ - [ - [ - -133.505005, - 55.427217 - ], - [ - -133.421387, - 55.483606 - ], - [ - -133.601654, - 55.447489 - ], - [ - -133.505005, - 55.427217 - ] - ] - ], - [ - [ - [ - -133.578064, - 55.497774 - ], - [ - -133.702484, - 55.551386 - ], - [ - -133.758057, - 55.487215 - ], - [ - -133.578064, - 55.497774 - ] - ] - ], - [ - [ - [ - -133.289459, - 55.475824 - ], - [ - -133.30835, - 55.554712 - ], - [ - -133.436676, - 55.527491 - ], - [ - -133.289459, - 55.475824 - ] - ] - ], - [ - [ - [ - -133.505585, - 55.693323 - ], - [ - -133.299744, - 55.793612 - ], - [ - -133.677795, - 55.784166 - ], - [ - -133.505585, - 55.693323 - ] - ] - ], - [ - [ - [ - -133.242218, - 55.776659 - ], - [ - -133.215546, - 55.86194 - ], - [ - -133.329163, - 55.877489 - ], - [ - -133.242218, - 55.776659 - ] - ] - ], - [ - [ - [ - -158.864166, - 55.803881 - ], - [ - -158.709717, - 55.831385 - ], - [ - -158.832764, - 55.893885 - ], - [ - -158.864166, - 55.803881 - ] - ] - ], - [ - [ - [ - -134.249725, - 55.819445 - ], - [ - -134.096649, - 55.918329 - ], - [ - -134.338898, - 55.918055 - ], - [ - -134.249725, - 55.819445 - ] - ] - ], - [ - [ - [ - -155.580292, - 55.774439 - ], - [ - -155.563904, - 55.918604 - ], - [ - -155.73999, - 55.828608 - ], - [ - -155.580292, - 55.774439 - ] - ] - ], - [ - [ - [ - -133.847778, - 55.84749 - ], - [ - -133.847778, - 55.935266 - ], - [ - -133.927216, - 55.911936 - ], - [ - -133.847778, - 55.84749 - ] - ] - ], - [ - [ - [ - -131.050568, - 55.799723 - ], - [ - -131.265015, - 55.960825 - ], - [ - -131.683899, - 55.83333 - ], - [ - -131.822235, - 55.450274 - ], - [ - -131.521942, - 55.293055 - ], - [ - -131.348877, - 55.644999 - ], - [ - -131.46167, - 55.286112 - ], - [ - -131.142792, - 55.196939 - ], - [ - -131.050568, - 55.799723 - ] - ] - ], - [ - [ - [ - -131.51947, - 55.915545 - ], - [ - -131.399445, - 55.963884 - ], - [ - -131.576935, - 55.93194 - ], - [ - -131.51947, - 55.915545 - ] - ] - ], - [ - [ - [ - -133.695282, - 55.896387 - ], - [ - -133.278076, - 56.139719 - ], - [ - -133.679718, - 56.066385 - ], - [ - -133.695282, - 55.896387 - ] - ] - ], - [ - [ - [ - -133.931122, - 56.288332 - ], - [ - -133.925568, - 56.298052 - ], - [ - -133.948059, - 56.301935 - ], - [ - -133.931122, - 56.288332 - ] - ] - ], - [ - [ - [ - -133.488586, - 56.336939 - ], - [ - -133.617218, - 56.207499 - ], - [ - -133.258362, - 56.152491 - ], - [ - -133.13501, - 55.881105 - ], - [ - -133.372223, - 55.620546 - ], - [ - -132.908356, - 55.628046 - ], - [ - -133.128601, - 55.494715 - ], - [ - -132.867493, - 55.353884 - ], - [ - -133.222504, - 55.283052 - ], - [ - -132.641388, - 55.250277 - ], - [ - -132.003906, - 54.690546 - ], - [ - -131.963043, - 55.025827 - ], - [ - -132.218597, - 54.992495 - ], - [ - -131.988586, - 55.264162 - ], - [ - -132.5625, - 55.567774 - ], - [ - -132.144165, - 55.480547 - ], - [ - -133.488586, - 56.336939 - ] - ] - ], - [ - [ - [ - -132.094452, - 56.093325 - ], - [ - -132.417786, - 56.350832 - ], - [ - -132.716949, - 56.151384 - ], - [ - -132.318878, - 55.91221 - ], - [ - -132.094452, - 56.093325 - ] - ] - ], - [ - [ - [ - -132.81723, - 56.233881 - ], - [ - -132.635559, - 56.43416 - ], - [ - -133.05777, - 56.34749 - ], - [ - -132.81723, - 56.233881 - ] - ] - ], - [ - [ - [ - -132.500853, - 56.353327 - ], - [ - -132.386688, - 56.398607 - ], - [ - -132.493866, - 56.435823 - ], - [ - -132.500853, - 56.353327 - ] - ] - ], - [ - [ - [ - -132.132477, - 56.34527 - ], - [ - -132.373871, - 56.484438 - ], - [ - -132.056122, - 56.111383 - ], - [ - -132.132477, - 56.34527 - ] - ] - ], - [ - [ - [ - -153.958893, - 56.502779 - ], - [ - -153.873871, - 56.553324 - ], - [ - -154.13446, - 56.505556 - ], - [ - -153.958893, - 56.502779 - ] - ] - ], - [ - [ - [ - -156.996643, - 56.555552 - ], - [ - -157.251678, - 56.581667 - ], - [ - -157.329712, - 56.53583 - ], - [ - -156.996643, - 56.555552 - ] - ] - ], - [ - [ - [ - -132.398071, - 56.583605 - ], - [ - -132.379425, - 56.60055 - ], - [ - -132.434998, - 56.589716 - ], - [ - -132.398071, - 56.583605 - ] - ] - ], - [ - [ - [ - -154.481384, - 56.601698 - ], - [ - -154.787476, - 56.414968 - ], - [ - -154.402802, - 56.546663 - ], - [ - -154.481384, - 56.601698 - ] - ] - ], - [ - [ - [ - -154.211945, - 56.49888 - ], - [ - -154.084991, - 56.608049 - ], - [ - -154.352478, - 56.541666 - ], - [ - -154.211945, - 56.49888 - ] - ] - ], - [ - [ - [ - -169.67337, - 56.608599 - ], - [ - -169.786133, - 56.613886 - ], - [ - -169.471375, - 56.592211 - ], - [ - -169.67337, - 56.608599 - ] - ] - ], - [ - [ - [ - -132.773071, - 56.494715 - ], - [ - -132.5289, - 56.59527 - ], - [ - -132.873596, - 56.796106 - ], - [ - -132.773071, - 56.494715 - ] - ] - ], - [ - [ - [ - -133.987488, - 56.870829 - ], - [ - -134.408905, - 56.829439 - ], - [ - -134.065277, - 56.550547 - ], - [ - -134.123047, - 55.995829 - ], - [ - -134.065552, - 56.305826 - ], - [ - -133.973328, - 56.081667 - ], - [ - -133.973206, - 56.356104 - ], - [ - -133.8461, - 56.290834 - ], - [ - -133.920563, - 56.614161 - ], - [ - -133.691376, - 56.599718 - ], - [ - -133.830566, - 56.796106 - ], - [ - -134.024719, - 56.647219 - ], - [ - -133.902802, - 56.753054 - ], - [ - -133.987488, - 56.870829 - ] - ] - ], - [ - [ - [ - -133.31778, - 56.993883 - ], - [ - -134.018066, - 57.014719 - ], - [ - -133.736115, - 56.893053 - ], - [ - -133.890564, - 56.896944 - ], - [ - -133.69696, - 56.831942 - ], - [ - -133.575562, - 56.433603 - ], - [ - -133.08194, - 56.523882 - ], - [ - -133.351929, - 56.838602 - ], - [ - -132.925018, - 56.643328 - ], - [ - -133.31778, - 56.993883 - ] - ] - ], - [ - [ - [ - -153.253357, - 56.998331 - ], - [ - -152.883057, - 57.15027 - ], - [ - -153.234161, - 57.205828 - ], - [ - -153.407501, - 57.072771 - ], - [ - -153.253357, - 56.998331 - ] - ] - ], - [ - [ - [ - -170.166138, - 57.163317 - ], - [ - -170.150574, - 57.228327 - ], - [ - -170.41394, - 57.174166 - ], - [ - -170.166138, - 57.163317 - ] - ] - ], - [ - [ - [ - -135.795837, - 56.986383 - ], - [ - -135.546112, - 57.129435 - ], - [ - -135.710541, - 57.32361 - ], - [ - -135.795837, - 56.986383 - ] - ] - ], - [ - [ - [ - -134.9375, - 57.358889 - ], - [ - -135.672791, - 57.351938 - ], - [ - -134.653624, - 56.16305 - ], - [ - -134.9375, - 57.358889 - ] - ] - ], - [ - [ - [ - -134.792511, - 57.300272 - ], - [ - -134.813629, - 57.416941 - ], - [ - -134.974701, - 57.41527 - ], - [ - -134.792511, - 57.300272 - ] - ] - ], - [ - [ - [ - -153.208893, - 57.812494 - ], - [ - -153.269745, - 57.899164 - ], - [ - -153.353333, - 57.93638 - ], - [ - -153.536407, - 57.934717 - ], - [ - -153.208893, - 57.812494 - ] - ] - ], - [ - [ - [ - -152.354431, - 57.890276 - ], - [ - -152.417236, - 57.976381 - ], - [ - -152.503357, - 57.933054 - ], - [ - -152.354431, - 57.890276 - ] - ] - ], - [ - [ - [ - -153.116943, - 57.949999 - ], - [ - -153.292236, - 58.001665 - ], - [ - -153.048065, - 57.827494 - ], - [ - -153.150574, - 57.863886 - ], - [ - -153.213043, - 57.788332 - ], - [ - -153.479155, - 57.839434 - ], - [ - -153.315277, - 57.725824 - ], - [ - -153.496948, - 57.627214 - ], - [ - -153.928345, - 57.811106 - ], - [ - -153.581116, - 57.612497 - ], - [ - -153.88028, - 57.643053 - ], - [ - -153.628052, - 57.269442 - ], - [ - -154.207214, - 57.666666 - ], - [ - -154.801117, - 57.286112 - ], - [ - -154.297791, - 56.848879 - ], - [ - -154.101105, - 57.116388 - ], - [ - -154.479431, - 57.120272 - ], - [ - -153.737762, - 57.130823 - ], - [ - -153.979706, - 56.738604 - ], - [ - -153.549988, - 56.983049 - ], - [ - -153.731659, - 57.059717 - ], - [ - -153.5, - 57.063883 - ], - [ - -153.260284, - 57.22777 - ], - [ - -152.956116, - 57.253885 - ], - [ - -153.169464, - 57.345545 - ], - [ - -152.595825, - 57.369989 - ], - [ - -153.022797, - 57.473604 - ], - [ - -152.151398, - 57.604441 - ], - [ - -153.116943, - 57.949999 - ] - ] - ], - [ - [ - [ - -153.185272, - 58.092493 - ], - [ - -153.41806, - 58.058886 - ], - [ - -152.887787, - 57.991106 - ], - [ - -153.185272, - 58.092493 - ] - ] - ], - [ - [ - [ - -136.437225, - 57.846384 - ], - [ - -136.330566, - 58.010279 - ], - [ - -136.484436, - 58.093325 - ], - [ - -136.437225, - 57.846384 - ] - ] - ], - [ - [ - [ - -135.742767, - 58.256105 - ], - [ - -136.352203, - 58.219439 - ], - [ - -136.029724, - 57.849161 - ], - [ - -136.412231, - 57.815828 - ], - [ - -135.830841, - 57.385828 - ], - [ - -135.542786, - 57.472216 - ], - [ - -135.804169, - 57.76333 - ], - [ - -134.843323, - 57.46277 - ], - [ - -134.921661, - 57.756945 - ], - [ - -135.296967, - 57.731661 - ], - [ - -135.887512, - 57.988604 - ], - [ - -135.010559, - 57.776941 - ], - [ - -135.204712, - 57.942217 - ], - [ - -134.930298, - 58.028048 - ], - [ - -135.707764, - 57.978327 - ], - [ - -135.482483, - 58.15555 - ], - [ - -135.742767, - 58.256105 - ] - ] - ], - [ - [ - [ - -151.847229, - 58.169718 - ], - [ - -151.835541, - 58.268602 - ], - [ - -151.896666, - 58.194155 - ], - [ - -151.847229, - 58.169718 - ] - ] - ], - [ - [ - [ - -134.454437, - 58.313326 - ], - [ - -134.566956, - 58.34083 - ], - [ - -134.683899, - 58.298334 - ], - [ - -134.259735, - 58.194994 - ], - [ - -134.454437, - 58.313326 - ] - ] - ], - [ - [ - [ - -152.40918, - 58.365549 - ], - [ - -153.231384, - 58.169161 - ], - [ - -151.972778, - 58.233049 - ], - [ - -152.40918, - 58.365549 - ] - ] - ], - [ - [ - [ - -134.674713, - 58.160547 - ], - [ - -134.956665, - 58.40777 - ], - [ - -134.654449, - 57.59833 - ], - [ - -134.349731, - 57.542772 - ], - [ - -134.57251, - 57.489717 - ], - [ - -134.310272, - 57.336107 - ], - [ - -134.613312, - 57.224993 - ], - [ - -134.486664, - 57.025553 - ], - [ - -133.86026, - 57.360552 - ], - [ - -134.288605, - 58.077219 - ], - [ - -133.875824, - 57.67277 - ], - [ - -134.169159, - 58.159716 - ], - [ - -134.674713, - 58.160547 - ] - ] - ], - [ - [ - [ - -152.493866, - 58.472216 - ], - [ - -152.345825, - 58.627214 - ], - [ - -152.660553, - 58.543329 - ], - [ - -152.493866, - 58.472216 - ] - ] - ], - [ - [ - [ - -160.95694, - 58.55694 - ], - [ - -160.687225, - 58.818331 - ], - [ - -161.113098, - 58.655275 - ], - [ - -160.95694, - 58.55694 - ] - ] - ], - [ - [ - [ - -152.313324, - 58.908327 - ], - [ - -152.161407, - 58.942217 - ], - [ - -152.36026, - 58.916384 - ], - [ - -152.313324, - 58.908327 - ] - ] - ], - [ - [ - [ - -150.691681, - 59.306658 - ], - [ - -150.616638, - 59.389719 - ], - [ - -150.776672, - 59.328882 - ], - [ - -150.691681, - 59.306658 - ] - ] - ], - [ - [ - [ - -153.411407, - 59.330278 - ], - [ - -153.403076, - 59.406939 - ], - [ - -153.552216, - 59.364717 - ], - [ - -153.411407, - 59.330278 - ] - ] - ], - [ - [ - [ - -150.311401, - 59.420549 - ], - [ - -150.292786, - 59.463053 - ], - [ - -150.440277, - 59.401102 - ], - [ - -150.311401, - 59.420549 - ] - ] - ], - [ - [ - [ - -144.584991, - 59.810274 - ], - [ - -144.208893, - 60.005556 - ], - [ - -144.503906, - 59.894442 - ], - [ - -144.584991, - 59.810274 - ] - ] - ], - [ - [ - [ - -148.161133, - 59.941103 - ], - [ - -147.992218, - 60.040277 - ], - [ - -148.245819, - 59.942492 - ], - [ - -148.161133, - 59.941103 - ] - ] - ], - [ - [ - [ - -148.027802, - 59.946657 - ], - [ - -147.81723, - 60.068888 - ], - [ - -147.883331, - 60.067217 - ], - [ - -148.027802, - 59.946657 - ] - ] - ], - [ - [ - [ - -148.11554, - 59.996386 - ], - [ - -147.876648, - 60.103884 - ], - [ - -147.967224, - 60.153048 - ], - [ - -148.11554, - 59.996386 - ] - ] - ], - [ - [ - [ - -148.033905, - 60.189432 - ], - [ - -148.309723, - 60.029718 - ], - [ - -148.151398, - 60.041941 - ], - [ - -148.033905, - 60.189432 - ] - ] - ], - [ - [ - [ - -147.849976, - 59.776941 - ], - [ - -146.92334, - 60.30916 - ], - [ - -147.193604, - 60.353327 - ], - [ - -147.849976, - 59.776941 - ] - ] - ], - [ - [ - [ - -147.711945, - 60.376101 - ], - [ - -147.909729, - 60.23472 - ], - [ - -147.759735, - 60.165545 - ], - [ - -147.711945, - 60.376101 - ] - ] - ], - [ - [ - [ - -148.079437, - 60.28277 - ], - [ - -147.983307, - 60.383883 - ], - [ - -148.142517, - 60.320551 - ], - [ - -148.079437, - 60.28277 - ] - ] - ], - [ - [ - [ - -166.109711, - 60.399157 - ], - [ - -167.41806, - 60.189425 - ], - [ - -166.193054, - 59.754435 - ], - [ - -165.559723, - 59.923609 - ], - [ - -165.681427, - 60.294718 - ], - [ - -166.109711, - 60.399157 - ] - ] - ], - [ - [ - [ - -146.353882, - 60.407495 - ], - [ - -146.724152, - 60.374712 - ], - [ - -146.078888, - 60.405268 - ], - [ - -146.353882, - 60.407495 - ] - ] - ], - [ - [ - [ - -145.122772, - 60.307215 - ], - [ - -145.086945, - 60.416666 - ], - [ - -145.281952, - 60.329996 - ], - [ - -145.122772, - 60.307215 - ] - ] - ], - [ - [ - [ - -172.520294, - 60.38833 - ], - [ - -173.05365, - 60.49721 - ], - [ - -172.20697, - 60.313044 - ], - [ - -172.520294, - 60.38833 - ] - ] - ], - [ - [ - [ - -151.955566, - 60.42277 - ], - [ - -151.856384, - 60.489717 - ], - [ - -151.951111, - 60.512217 - ], - [ - -151.955566, - 60.42277 - ] - ] - ], - [ - [ - [ - -146.246948, - 60.454996 - ], - [ - -145.749725, - 60.594713 - ], - [ - -146.320557, - 60.494158 - ], - [ - -146.246948, - 60.454996 - ] - ] - ], - [ - [ - [ - -147.372772, - 60.661661 - ], - [ - -147.313904, - 60.677492 - ], - [ - -147.475555, - 60.688883 - ], - [ - -147.372772, - 60.661661 - ] - ] - ], - [ - [ - [ - -147.925568, - 60.66221 - ], - [ - -147.8461, - 60.699999 - ], - [ - -148.004181, - 60.726938 - ], - [ - -147.925568, - 60.66221 - ] - ] - ], - [ - [ - [ - -148.140839, - 60.642221 - ], - [ - -148.108612, - 60.736383 - ], - [ - -148.214172, - 60.754442 - ], - [ - -148.140839, - 60.642221 - ] - ] - ], - [ - [ - [ - -164.988312, - 60.822496 - ], - [ - -164.903624, - 60.853609 - ], - [ - -165.017517, - 60.874437 - ], - [ - -164.988312, - 60.822496 - ] - ] - ], - [ - [ - [ - -146.753357, - 60.807215 - ], - [ - -146.744141, - 60.88138 - ], - [ - -146.83194, - 60.836382 - ], - [ - -146.753357, - 60.807215 - ] - ] - ], - [ - [ - [ - -147.150848, - 60.860277 - ], - [ - -147.075287, - 60.899164 - ], - [ - -147.31778, - 60.884165 - ], - [ - -147.150848, - 60.860277 - ] - ] - ], - [ - [ - [ - -147.928894, - 60.80694 - ], - [ - -148.106659, - 60.912493 - ], - [ - -148.133057, - 60.799723 - ], - [ - -147.928894, - 60.80694 - ] - ] - ], - [ - [ - [ - -170.318909, - 63.254717 - ], - [ - -170.296112, - 63.238047 - ], - [ - -170.315857, - 63.253878 - ], - [ - -170.318909, - 63.254717 - ] - ] - ], - [ - [ - [ - -170.318909, - 63.254717 - ], - [ - -170.341888, - 63.271128 - ], - [ - -170.362213, - 63.282495 - ], - [ - -170.318909, - 63.254717 - ] - ] - ], - [ - [ - [ - -170.466766, - 63.334185 - ], - [ - -170.48584, - 63.341105 - ], - [ - -170.4039, - 63.304438 - ], - [ - -170.466766, - 63.334185 - ] - ] - ], - [ - [ - [ - -170.54364, - 63.359713 - ], - [ - -170.551147, - 63.360552 - ], - [ - -170.490265, - 63.341928 - ], - [ - -170.54364, - 63.359713 - ] - ] - ], - [ - [ - [ - -170.595001, - 63.371935 - ], - [ - -170.863251, - 63.418512 - ], - [ - -170.58197, - 63.368052 - ], - [ - -170.595001, - 63.371935 - ] - ] - ], - [ - [ - [ - -162.377472, - 63.544443 - ], - [ - -162.420288, - 63.637499 - ], - [ - -162.703613, - 63.571665 - ], - [ - -162.377472, - 63.544443 - ] - ] - ], - [ - [ - [ - -171.465576, - 63.606661 - ], - [ - -171.726959, - 63.792215 - ], - [ - -171.85083, - 63.508608 - ], - [ - -171.461121, - 63.314714 - ], - [ - -170.856689, - 63.461939 - ], - [ - -170.51889, - 63.378038 - ], - [ - -169.666138, - 62.943316 - ], - [ - -168.700867, - 63.290545 - ], - [ - -170.300018, - 63.694155 - ], - [ - -171.465576, - 63.606661 - ] - ] - ], - [ - [ - [ - -166.65918, - 66.103319 - ], - [ - -166.169464, - 66.221376 - ], - [ - -166.443604, - 66.180819 - ], - [ - -166.65918, - 66.103319 - ] - ] - ], - [ - [ - [ - -165.364441, - 66.426378 - ], - [ - -164.762238, - 66.538317 - ], - [ - -165.470825, - 66.414156 - ], - [ - -165.364441, - 66.426378 - ] - ] - ], - [ - [ - [ - -141.002991, - 69.642366 - ], - [ - -143.280579, - 70.118319 - ], - [ - -144.952209, - 69.968325 - ], - [ - -149.174713, - 70.490816 - ], - [ - -151.966095, - 70.44359 - ], - [ - -151.732483, - 70.557207 - ], - [ - -152.629425, - 70.557482 - ], - [ - -152.076111, - 70.574999 - ], - [ - -152.498596, - 70.649431 - ], - [ - -152.252502, - 70.835268 - ], - [ - -154.243866, - 70.779436 - ], - [ - -155.087494, - 71.151384 - ], - [ - -155.973602, - 70.755831 - ], - [ - -156.182495, - 70.918322 - ], - [ - -155.586945, - 71.162767 - ], - [ - -156.44696, - 71.263613 - ], - [ - -157.979431, - 70.837496 - ], - [ - -159.66806, - 70.798037 - ], - [ - -160.12442, - 70.615267 - ], - [ - -159.285553, - 70.53055 - ], - [ - -159.836121, - 70.268328 - ], - [ - -160.198608, - 70.471651 - ], - [ - -159.9375, - 70.593325 - ], - [ - -162.118866, - 70.151659 - ], - [ - -161.94223, - 70.307207 - ], - [ - -163.645294, - 69.106936 - ], - [ - -166.21582, - 68.883043 - ], - [ - -166.372604, - 68.416765 - ], - [ - -166.827789, - 68.350817 - ], - [ - -164.124146, - 67.609987 - ], - [ - -163.732483, - 67.113604 - ], - [ - -162.350555, - 67.161379 - ], - [ - -162.461121, - 66.992479 - ], - [ - -161.501129, - 66.979158 - ], - [ - -161.897797, - 66.728319 - ], - [ - -161.506683, - 66.533876 - ], - [ - -160.264191, - 66.647493 - ], - [ - -160.23056, - 66.399721 - ], - [ - -161.600555, - 66.447756 - ], - [ - -162.336945, - 66.95833 - ], - [ - -162.636139, - 66.868868 - ], - [ - -161.906128, - 66.535265 - ], - [ - -161.910004, - 66.274431 - ], - [ - -161.003357, - 66.204165 - ], - [ - -163.656403, - 66.070543 - ], - [ - -164.188324, - 66.196093 - ], - [ - -163.625, - 66.567217 - ], - [ - -164.353607, - 66.594713 - ], - [ - -168.131104, - 65.665545 - ], - [ - -166.058899, - 65.256105 - ], - [ - -166.961945, - 65.188875 - ], - [ - -166.121368, - 64.574709 - ], - [ - -163.175842, - 64.407488 - ], - [ - -163.170013, - 64.65526 - ], - [ - -162.790283, - 64.336107 - ], - [ - -161.182495, - 64.937487 - ], - [ - -160.783905, - 64.721926 - ], - [ - -161.529175, - 64.418871 - ], - [ - -160.777496, - 63.868601 - ], - [ - -161.151672, - 63.512499 - ], - [ - -162.311951, - 63.541109 - ], - [ - -163.111664, - 63.051935 - ], - [ - -164.410553, - 63.211939 - ], - [ - -164.318329, - 63.006945 - ], - [ - -164.877777, - 62.83555 - ], - [ - -164.479155, - 62.745829 - ], - [ - -164.852783, - 62.570276 - ], - [ - -164.636414, - 62.417498 - ], - [ - -165.247223, - 62.4461 - ], - [ - -166.197784, - 61.594713 - ], - [ - -165.386688, - 61.068605 - ], - [ - -165.34137, - 61.157213 - ], - [ - -165.407501, - 61.20833 - ], - [ - -165.287506, - 61.333879 - ], - [ - -165.161133, - 61.432497 - ], - [ - -165.075562, - 61.432215 - ], - [ - -165.017242, - 61.500002 - ], - [ - -164.716095, - 61.625551 - ], - [ - -164.845276, - 61.49444 - ], - [ - -164.998428, - 61.46977 - ], - [ - -165.059677, - 61.416842 - ], - [ - -165.150574, - 61.416941 - ], - [ - -165.369995, - 61.20083 - ], - [ - -165.163727, - 61.170046 - ], - [ - -165.138611, - 61.256662 - ], - [ - -165.120544, - 61.083879 - ], - [ - -164.822235, - 61.111109 - ], - [ - -165.150299, - 60.928049 - ], - [ - -163.551392, - 60.903879 - ], - [ - -163.895615, - 60.856886 - ], - [ - -163.409729, - 60.756662 - ], - [ - -163.669464, - 60.587214 - ], - [ - -163.957764, - 60.780275 - ], - [ - -164.429169, - 60.553324 - ], - [ - -164.264465, - 60.778879 - ], - [ - -164.665009, - 60.911661 - ], - [ - -165.425293, - 60.555269 - ], - [ - -164.065277, - 59.824167 - ], - [ - -162.521666, - 59.992769 - ], - [ - -162.569458, - 60.316385 - ], - [ - -161.879425, - 60.702219 - ], - [ - -162.372223, - 60.176104 - ], - [ - -162.151398, - 60.245546 - ], - [ - -161.705261, - 59.49666 - ], - [ - -161.992218, - 59.144159 - ], - [ - -161.565826, - 59.103609 - ], - [ - -162.171387, - 58.649721 - ], - [ - -160.32666, - 59.059717 - ], - [ - -158.897522, - 58.395548 - ], - [ - -158.536957, - 59.175272 - ], - [ - -157.992767, - 58.904993 - ], - [ - -158.492493, - 58.999437 - ], - [ - -158.188324, - 58.606386 - ], - [ - -156.779175, - 59.151384 - ], - [ - -157.553619, - 58.382494 - ], - [ - -157.138611, - 58.162493 - ], - [ - -157.609985, - 58.089716 - ], - [ - -157.706665, - 57.643328 - ], - [ - -157.396666, - 57.490549 - ], - [ - -157.938049, - 57.491938 - ], - [ - -158.648895, - 57.053324 - ], - [ - -158.640564, - 56.76111 - ], - [ - -160.346954, - 56.285555 - ], - [ - -160.574707, - 55.986658 - ], - [ - -160.249725, - 55.770548 - ], - [ - -161.799988, - 55.88666 - ], - [ - -163.323059, - 55.12166 - ], - [ - -163.258636, - 54.973322 - ], - [ - -163.36026, - 54.811937 - ], - [ - -163.044464, - 54.937494 - ], - [ - -163.184448, - 55.139719 - ], - [ - -162.5625, - 54.955271 - ], - [ - -162.626648, - 55.29944 - ], - [ - -162.454163, - 55.038332 - ], - [ - -161.967773, - 55.101938 - ], - [ - -161.5625, - 55.622766 - ], - [ - -161.141693, - 55.538889 - ], - [ - -161.485535, - 55.481104 - ], - [ - -161.254181, - 55.346941 - ], - [ - -159.841095, - 55.851107 - ], - [ - -159.667236, - 55.577219 - ], - [ - -158.601105, - 56.188044 - ], - [ - -158.50528, - 55.988886 - ], - [ - -158.120544, - 56.233606 - ], - [ - -158.649994, - 56.264444 - ], - [ - -158.423065, - 56.44388 - ], - [ - -156.548615, - 56.977488 - ], - [ - -156.48999, - 57.33111 - ], - [ - -154.233612, - 58.131105 - ], - [ - -154.103333, - 58.481936 - ], - [ - -153.267792, - 58.848604 - ], - [ - -154.260834, - 59.142221 - ], - [ - -152.577209, - 60.064714 - ], - [ - -153.103058, - 60.289438 - ], - [ - -152.430298, - 60.288889 - ], - [ - -151.583618, - 60.976938 - ], - [ - -149.416962, - 61.508608 - ], - [ - -150.064178, - 61.154436 - ], - [ - -149.028076, - 60.847773 - ], - [ - -150.39917, - 61.037218 - ], - [ - -151.408905, - 60.727488 - ], - [ - -151.303894, - 60.385553 - ], - [ - -151.876648, - 59.753885 - ], - [ - -150.992767, - 59.777216 - ], - [ - -151.98056, - 59.28055 - ], - [ - -150.907501, - 59.243326 - ], - [ - -150.541687, - 59.591661 - ], - [ - -150.473602, - 59.464441 - ], - [ - -150.213623, - 59.716661 - ], - [ - -150.349426, - 59.465548 - ], - [ - -150.013641, - 59.627489 - ], - [ - -149.915833, - 59.714716 - ], - [ - -150.03418, - 59.796389 - ], - [ - -149.743591, - 59.658602 - ], - [ - -149.731934, - 59.96055 - ], - [ - -149.525848, - 59.716661 - ], - [ - -149.416962, - 60.118326 - ], - [ - -149.286133, - 59.868883 - ], - [ - -148.435822, - 59.948877 - ], - [ - -148.31778, - 60.168886 - ], - [ - -148.097778, - 60.207499 - ], - [ - -148.431122, - 60.192766 - ], - [ - -147.936951, - 60.462214 - ], - [ - -148.684174, - 60.448328 - ], - [ - -148.19751, - 60.626101 - ], - [ - -148.699738, - 60.789721 - ], - [ - -147.719727, - 61.278048 - ], - [ - -148.052216, - 60.949717 - ], - [ - -147.865265, - 60.832499 - ], - [ - -147.546661, - 61.154436 - ], - [ - -147.366943, - 60.887774 - ], - [ - -146.300842, - 61.130823 - ], - [ - -146.756683, - 60.955271 - ], - [ - -146.124146, - 60.843325 - ], - [ - -146.653351, - 60.699717 - ], - [ - -146.040833, - 60.798609 - ], - [ - -146.261139, - 60.64805 - ], - [ - -145.625824, - 60.671938 - ], - [ - -145.859436, - 60.491663 - ], - [ - -145.294159, - 60.350275 - ], - [ - -144.611389, - 60.715548 - ], - [ - -144.936401, - 60.301661 - ], - [ - -143.92334, - 59.994158 - ], - [ - -141.390839, - 60.138605 - ], - [ - -141.376648, - 59.866388 - ], - [ - -140.403351, - 59.698046 - ], - [ - -139.5, - 60.033052 - ], - [ - -138.892792, - 59.806658 - ], - [ - -139.285553, - 59.571383 - ], - [ - -139.493866, - 59.98221 - ], - [ - -139.710541, - 59.495829 - ], - [ - -138.443604, - 59.19166 - ], - [ - -136.654175, - 58.215273 - ], - [ - -136.027496, - 58.387217 - ], - [ - -136.573608, - 58.838602 - ], - [ - -137.125549, - 58.821939 - ], - [ - -137.056671, - 59.068605 - ], - [ - -136.234711, - 58.750834 - ], - [ - -136.162231, - 59.033609 - ], - [ - -135.76947, - 58.90027 - ], - [ - -136.068329, - 58.817774 - ], - [ - -135.915558, - 58.383051 - ], - [ - -135.085541, - 58.233049 - ], - [ - -135.550568, - 59.228876 - ], - [ - -135.304718, - 59.083605 - ], - [ - -135.335266, - 59.468325 - ], - [ - -134.761414, - 58.382212 - ], - [ - -134.51001, - 58.353884 - ], - [ - -134.154175, - 58.197771 - ], - [ - -133.769165, - 58.518328 - ], - [ - -134.054993, - 58.071939 - ], - [ - -133.121368, - 57.8575 - ], - [ - -133.556946, - 57.902491 - ], - [ - -133.00058, - 57.515001 - ], - [ - -133.640564, - 57.696383 - ], - [ - -133.063049, - 57.348879 - ], - [ - -133.508362, - 57.193605 - ], - [ - -132.791382, - 57.088045 - ], - [ - -131.769745, - 56.196939 - ], - [ - -132.160278, - 55.578608 - ], - [ - -131.954987, - 55.501108 - ], - [ - -131.752502, - 55.807772 - ], - [ - -131.900574, - 55.855272 - ], - [ - -131.010284, - 56.106386 - ], - [ - -130.864166, - 55.308603 - ], - [ - -130.613892, - 55.296106 - ], - [ - -131.056122, - 55.122766 - ], - [ - -130.46167, - 55.327776 - ], - [ - -131.008636, - 55.004168 - ], - [ - -130.686127, - 54.761942 - ], - [ - -129.99054, - 55.281664 - ], - [ - -130.174713, - 55.754442 - ], - [ - -130.015076, - 55.909182 - ], - [ - -131.824158, - 56.596941 - ], - [ - -133.429993, - 58.459162 - ], - [ - -135.473602, - 59.801935 - ], - [ - -137.478058, - 58.907213 - ], - [ - -137.59082, - 59.238604 - ], - [ - -139.188904, - 60.088884 - ], - [ - -139.068054, - 60.352221 - ], - [ - -140.995544, - 60.307215 - ], - [ - -141.002991, - 69.642366 - ] - ], - [ - [ - -135.554169, - 58.329996 - ], - [ - -135.726105, - 58.359438 - ], - [ - -135.625275, - 58.383051 - ], - [ - -135.554169, - 58.329996 - ] - ] - ] - ] - }, - "name" : "United States", - "iso2" : "US", - "iso3" : "USA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "FL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -2.685561, - 9.481817 - ], - [ - -2.834048, - 11.002007 - ], - [ - -0.618333, - 10.911665 - ], - [ - -0.149762, - 11.13854 - ], - [ - 0.91797, - 10.996399 - ], - [ - 1.435278, - 11.458887 - ], - [ - 2.014722, - 11.422499 - ], - [ - 2.397925, - 11.896152 - ], - [ - 2.1425, - 12.694443 - ], - [ - 1.578333, - 12.629999 - ], - [ - 0.989167, - 13.047222 - ], - [ - 0.991667, - 13.371666 - ], - [ - 1.285306, - 13.349957 - ], - [ - 0.602222, - 13.703888 - ], - [ - 0.235048, - 14.915068 - ], - [ - -0.725278, - 15.082777 - ], - [ - -1.980834, - 14.474722 - ], - [ - -2.006945, - 14.187777 - ], - [ - -2.474722, - 14.287498 - ], - [ - -2.879167, - 13.655554 - ], - [ - -3.2575, - 13.696665 - ], - [ - -3.437675, - 13.166498 - ], - [ - -3.964253, - 13.50383 - ], - [ - -4.337223, - 13.121666 - ], - [ - -4.4175, - 12.300831 - ], - [ - -5.273056, - 11.843887 - ], - [ - -5.51985, - 10.436272 - ], - [ - -4.704445, - 9.698055 - ], - [ - -3.633611, - 9.954443 - ], - [ - -2.685561, - 9.481817 - ] - ] - ] - }, - "name" : "Burkina Faso", - "iso2" : "BF", - "iso3" : "BFA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Fb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -57.608002, - -30.184925 - ], - [ - -57.806396, - -30.748219 - ], - [ - -58.199242, - -32.45031 - ], - [ - -58.045563, - -32.934723 - ], - [ - -58.146393, - -33.101952 - ], - [ - -58.361946, - -33.133339 - ], - [ - -58.402779, - -33.929726 - ], - [ - -57.840279, - -34.494728 - ], - [ - -57.117783, - -34.462227 - ], - [ - -56.320282, - -34.910561 - ], - [ - -54.145004, - -34.671394 - ], - [ - -53.374298, - -33.740669 - ], - [ - -53.522781, - -33.147781 - ], - [ - -53.093056, - -32.729729 - ], - [ - -53.879723, - -31.967781 - ], - [ - -55.581947, - -30.845837 - ], - [ - -56.008923, - -31.079794 - ], - [ - -56.811394, - -30.105278 - ], - [ - -57.608002, - -30.184925 - ] - ] - ] - }, - "name" : "Uruguay", - "iso2" : "UY", - "iso3" : "URY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Fr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 56.000961, - 41.328453 - ], - [ - 57.044716, - 41.260277 - ], - [ - 56.986938, - 41.893051 - ], - [ - 58.026604, - 42.504639 - ], - [ - 58.515549, - 42.304436 - ], - [ - 58.164436, - 42.651932 - ], - [ - 58.780548, - 42.658043 - ], - [ - 60.014442, - 42.217491 - ], - [ - 60.140274, - 41.381104 - ], - [ - 61.874161, - 41.125549 - ], - [ - 62.551102, - 39.934158 - ], - [ - 64.383026, - 38.953125 - ], - [ - 66.643875, - 38.003052 - ], - [ - 66.537735, - 37.366379 - ], - [ - 67.779877, - 37.185822 - ], - [ - 68.384155, - 38.195541 - ], - [ - 68.123871, - 38.98555 - ], - [ - 67.376373, - 39.212494 - ], - [ - 67.441956, - 39.483582 - ], - [ - 68.540268, - 39.55471 - ], - [ - 69.009995, - 40.089714 - ], - [ - 68.600815, - 40.178329 - ], - [ - 69.308029, - 40.201385 - ], - [ - 69.356094, - 40.772491 - ], - [ - 69.732483, - 40.638603 - ], - [ - 70.423874, - 41.049118 - ], - [ - 70.796799, - 40.725594 - ], - [ - 70.375534, - 40.376404 - ], - [ - 70.98204, - 40.244843 - ], - [ - 71.710541, - 40.145767 - ], - [ - 73.173035, - 40.822998 - ], - [ - 72.19548, - 41.006592 - ], - [ - 71.69136, - 41.556335 - ], - [ - 71.418045, - 41.118553 - ], - [ - 70.187195, - 41.52829 - ], - [ - 71.276382, - 42.195511 - ], - [ - 70.97081, - 42.254669 - ], - [ - 69.056366, - 41.379433 - ], - [ - 68.455261, - 40.597771 - ], - [ - 67.935532, - 41.183327 - ], - [ - 66.719986, - 41.174995 - ], - [ - 66.526382, - 42.003052 - ], - [ - 66.02916, - 42.003052 - ], - [ - 66.123871, - 42.996941 - ], - [ - 65.82193, - 42.877213 - ], - [ - 64.931366, - 43.73777 - ], - [ - 62.025108, - 43.484787 - ], - [ - 58.569717, - 45.571106 - ], - [ - 55.99749, - 45.001106 - ], - [ - 56.000961, - 41.328453 - ] - ] - ] - }, - "name" : "Uzbekistan", - "iso2" : "UZ", - "iso3" : "UZB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "F71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -61.416946, - 12.590277 - ], - [ - -61.425835, - 12.612499 - ], - [ - -61.45417, - 12.593887 - ], - [ - -61.416946, - 12.590277 - ] - ] - ], - [ - [ - [ - -61.328056, - 12.687777 - ], - [ - -61.310562, - 12.734999 - ], - [ - -61.347778, - 12.701666 - ], - [ - -61.328056, - 12.687777 - ] - ] - ], - [ - [ - [ - -61.216667, - 12.998055 - ], - [ - -61.199722, - 13.044722 - ], - [ - -61.252228, - 12.988609 - ], - [ - -61.216667, - 12.998055 - ] - ] - ], - [ - [ - [ - -61.173058, - 13.1325 - ], - [ - -61.177223, - 13.384165 - ], - [ - -61.281395, - 13.207777 - ], - [ - -61.173058, - 13.1325 - ] - ] - ] - ] - }, - "name" : "Saint Vincent and the Grenadines", - "iso2" : "VC", - "iso3" : "VCT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "GL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -61.003616, - 8.548887 - ], - [ - -61.080833, - 8.610277 - ], - [ - -61.266396, - 8.509165 - ], - [ - -61.003616, - 8.548887 - ] - ] - ], - [ - [ - [ - -61.047783, - 8.629446 - ], - [ - -61.167229, - 8.651945 - ], - [ - -61.184448, - 8.598612 - ], - [ - -61.047783, - 8.629446 - ] - ] - ], - [ - [ - [ - -61.041946, - 8.640276 - ], - [ - -60.934448, - 8.718332 - ], - [ - -61.17778, - 8.679445 - ], - [ - -61.14695, - 8.654444 - ], - [ - -61.041946, - 8.640276 - ] - ] - ], - [ - [ - [ - -60.827225, - 8.649443 - ], - [ - -60.840836, - 8.728056 - ], - [ - -60.988617, - 8.635557 - ], - [ - -60.827225, - 8.649443 - ] - ] - ], - [ - [ - [ - -60.976112, - 8.725832 - ], - [ - -60.860558, - 8.853334 - ], - [ - -61.042503, - 8.821112 - ], - [ - -61.17028, - 8.693335 - ], - [ - -60.976112, - 8.725832 - ] - ] - ], - [ - [ - [ - -61.070557, - 8.8925 - ], - [ - -60.848618, - 9.093611 - ], - [ - -61.065834, - 8.976946 - ], - [ - -61.099724, - 8.891111 - ], - [ - -61.070557, - 8.8925 - ] - ] - ], - [ - [ - [ - -60.870285, - 9.108332 - ], - [ - -60.863617, - 9.193335 - ], - [ - -60.958618, - 9.066946 - ], - [ - -60.870285, - 9.108332 - ] - ] - ], - [ - [ - [ - -60.730003, - 9.186388 - ], - [ - -60.822784, - 9.201666 - ], - [ - -60.841393, - 9.116667 - ], - [ - -60.730003, - 9.186388 - ] - ] - ], - [ - [ - [ - -62.288612, - 9.755556 - ], - [ - -62.249168, - 9.856943 - ], - [ - -62.286392, - 9.934168 - ], - [ - -62.288612, - 9.755556 - ] - ] - ], - [ - [ - [ - -62.647507, - 10.3025 - ], - [ - -62.787224, - 10.478613 - ], - [ - -62.788063, - 10.414999 - ], - [ - -62.647507, - 10.3025 - ] - ] - ], - [ - [ - [ - -63.907227, - 10.729445 - ], - [ - -63.90667, - 10.777498 - ], - [ - -63.996674, - 10.802221 - ], - [ - -63.907227, - 10.729445 - ] - ] - ], - [ - [ - [ - -65.268616, - 10.881109 - ], - [ - -65.211945, - 10.95611 - ], - [ - -65.417236, - 10.924723 - ], - [ - -65.268616, - 10.881109 - ] - ] - ], - [ - [ - [ - -63.804726, - 11.021387 - ], - [ - -63.881111, - 11.176943 - ], - [ - -64.405838, - 10.967501 - ], - [ - -63.804726, - 11.021387 - ] - ] - ], - [ - [ - [ - -66.648346, - 11.758612 - ], - [ - -66.586395, - 11.771666 - ], - [ - -66.610565, - 11.821112 - ], - [ - -66.648346, - 11.758612 - ] - ] - ], - [ - [ - [ - -66.115845, - 11.773611 - ], - [ - -66.108612, - 11.825556 - ], - [ - -66.193069, - 11.817221 - ], - [ - -66.115845, - 11.773611 - ] - ] - ], - [ - [ - [ - -64.572235, - 11.805555 - ], - [ - -64.615004, - 11.895555 - ], - [ - -64.64389, - 11.82472 - ], - [ - -64.572235, - 11.805555 - ] - ] - ], - [ - [ - [ - -60.73037, - 5.204802 - ], - [ - -61.389725, - 5.940001 - ], - [ - -61.134026, - 6.711042 - ], - [ - -60.288612, - 7.057222 - ], - [ - -60.71917, - 7.535555 - ], - [ - -59.825562, - 8.236113 - ], - [ - -59.99028, - 8.535276 - ], - [ - -60.902229, - 8.582224 - ], - [ - -61.073891, - 8.400835 - ], - [ - -61.598892, - 8.554998 - ], - [ - -61.208893, - 8.595556 - ], - [ - -61.097778, - 8.963335 - ], - [ - -60.949722, - 9.179445 - ], - [ - -61.08223, - 9.102221 - ], - [ - -60.783615, - 9.304998 - ], - [ - -60.850281, - 9.440832 - ], - [ - -61.622505, - 9.906111 - ], - [ - -61.738617, - 9.595556 - ], - [ - -62.188614, - 10.015833 - ], - [ - -62.210838, - 9.634443 - ], - [ - -62.200562, - 9.905554 - ], - [ - -62.318062, - 9.705 - ], - [ - -62.535278, - 10.202223 - ], - [ - -62.613335, - 10.222776 - ], - [ - -62.6175, - 10.089724 - ], - [ - -62.805283, - 10.008612 - ], - [ - -63.017227, - 10.097776 - ], - [ - -62.628059, - 10.107779 - ], - [ - -62.782124, - 10.399694 - ], - [ - -63.000282, - 10.271666 - ], - [ - -62.916672, - 10.528055 - ], - [ - -61.882782, - 10.733332 - ], - [ - -64.258896, - 10.661665 - ], - [ - -63.697502, - 10.485556 - ], - [ - -65.08139, - 10.060556 - ], - [ - -66.235291, - 10.642221 - ], - [ - -68.160004, - 10.496946 - ], - [ - -68.418335, - 11.179998 - ], - [ - -69.770844, - 11.696112 - ], - [ - -70.026947, - 12.195276 - ], - [ - -70.238342, - 11.631666 - ], - [ - -69.814453, - 11.690832 - ], - [ - -69.798615, - 11.427778 - ], - [ - -71.497513, - 10.960001 - ], - [ - -71.055283, - 9.341391 - ], - [ - -71.618057, - 9.041945 - ], - [ - -72.127502, - 9.813055 - ], - [ - -71.57695, - 10.714445 - ], - [ - -71.968338, - 11.555834 - ], - [ - -71.324722, - 11.853056 - ], - [ - -71.977234, - 11.664999 - ], - [ - -72.209351, - 11.250002 - ], - [ - -72.493057, - 11.121111 - ], - [ - -73.378067, - 9.171389 - ], - [ - -72.779724, - 9.080278 - ], - [ - -72.325287, - 8.095556 - ], - [ - -72.47168, - 7.491945 - ], - [ - -72, - 7.018888 - ], - [ - -70.119171, - 6.975836 - ], - [ - -69.245285, - 6.081388 - ], - [ - -67.454453, - 6.193056 - ], - [ - -67.859726, - 4.558611 - ], - [ - -67.290558, - 3.397501 - ], - [ - -67.828339, - 2.825003 - ], - [ - -67.192505, - 2.3925 - ], - [ - -66.871887, - 1.221643 - ], - [ - -66.311951, - 0.750559 - ], - [ - -65.589737, - 0.989168 - ], - [ - -65.51889, - 0.649721 - ], - [ - -63.393059, - 2.151388 - ], - [ - -63.361115, - 2.419168 - ], - [ - -64.045013, - 2.4825 - ], - [ - -64.191116, - 3.594446 - ], - [ - -64.795288, - 4.281389 - ], - [ - -64.017792, - 3.88611 - ], - [ - -63.343056, - 3.961111 - ], - [ - -62.875, - 3.560278 - ], - [ - -62.745834, - 4.032499 - ], - [ - -60.985001, - 4.520555 - ], - [ - -60.579727, - 4.946669 - ], - [ - -60.73037, - 5.204802 - ] - ], - [ - [ - -61.206673, - 9.585833 - ], - [ - -61.32695, - 9.646666 - ], - [ - -61.411667, - 9.729723 - ], - [ - -61.206673, - 9.585833 - ] - ] - ] - ] - }, - "name" : "Venezuela", - "iso2" : "VE", - "iso3" : "VEN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Gb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -64.660843, - 18.383888 - ], - [ - -64.558334, - 18.451942 - ], - [ - -64.652512, - 18.441109 - ], - [ - -64.660843, - 18.383888 - ] - ] - ], - [ - [ - [ - -64.422501, - 18.43861 - ], - [ - -64.322235, - 18.506107 - ], - [ - -64.412231, - 18.506107 - ], - [ - -64.422501, - 18.43861 - ] - ] - ], - [ - [ - [ - -64.311401, - 18.746109 - ], - [ - -64.408066, - 18.735832 - ], - [ - -64.270004, - 18.696388 - ], - [ - -64.311401, - 18.746109 - ] - ] - ] - ] - }, - "name" : "British Virgin Islands", - "iso2" : "VG", - "iso3" : "VGB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Gr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 106.600273, - 8.647778 - ], - [ - 106.659378, - 8.76474 - ], - [ - 106.555817, - 8.688887 - ], - [ - 106.600273, - 8.647778 - ] - ] - ], - [ - [ - [ - 103.498596, - 9.31361 - ], - [ - 103.467209, - 9.304443 - ], - [ - 103.469437, - 9.279444 - ], - [ - 103.498596, - 9.31361 - ] - ] - ], - [ - [ - [ - 106.262756, - 9.528887 - ], - [ - 106.285522, - 9.586943 - ], - [ - 106.088058, - 9.754438 - ], - [ - 106.262756, - 9.528887 - ] - ] - ], - [ - [ - [ - 106.543579, - 9.82583 - ], - [ - 106.485786, - 9.902222 - ], - [ - 106.418579, - 9.934443 - ], - [ - 106.543579, - 9.82583 - ] - ] - ], - [ - [ - [ - 106.596626, - 10.257221 - ], - [ - 106.586906, - 10.256943 - ], - [ - 106.664413, - 10.243053 - ], - [ - 106.596626, - 10.257221 - ] - ] - ], - [ - [ - [ - 106.637192, - 10.269999 - ], - [ - 106.511642, - 10.29361 - ], - [ - 106.752472, - 10.234442 - ], - [ - 106.637192, - 10.269999 - ] - ] - ], - [ - [ - [ - 104.083862, - 10.361942 - ], - [ - 103.837196, - 10.369442 - ], - [ - 104.026382, - 10.080276 - ], - [ - 104.083862, - 10.361942 - ] - ] - ], - [ - [ - [ - 107.092468, - 10.32222 - ], - [ - 107.20636, - 10.432775 - ], - [ - 107.063858, - 10.383333 - ], - [ - 107.092468, - 10.32222 - ] - ] - ], - [ - [ - [ - 106.895248, - 10.372219 - ], - [ - 106.979141, - 10.408888 - ], - [ - 106.887482, - 10.510555 - ], - [ - 106.895248, - 10.372219 - ] - ] - ], - [ - [ - [ - 108.958588, - 10.504166 - ], - [ - 108.930252, - 10.550276 - ], - [ - 108.930252, - 10.510277 - ], - [ - 108.958588, - 10.504166 - ] - ] - ], - [ - [ - [ - 106.904694, - 10.520832 - ], - [ - 106.930252, - 10.544722 - ], - [ - 106.92746, - 10.592775 - ], - [ - 106.87941, - 10.63722 - ], - [ - 106.852188, - 10.625553 - ], - [ - 106.871384, - 10.595519 - ], - [ - 106.851357, - 10.561943 - ], - [ - 106.875793, - 10.530277 - ], - [ - 106.904694, - 10.520832 - ] - ] - ], - [ - [ - [ - 106.852188, - 10.40361 - ], - [ - 106.87413, - 10.502499 - ], - [ - 106.835747, - 10.569703 - ], - [ - 106.856476, - 10.603882 - ], - [ - 106.753212, - 10.660968 - ], - [ - 106.786301, - 10.578066 - ], - [ - 106.749977, - 10.562498 - ], - [ - 106.755539, - 10.481386 - ], - [ - 106.852188, - 10.40361 - ] - ] - ], - [ - [ - [ - 109.332764, - 12.187777 - ], - [ - 109.331482, - 12.221088 - ], - [ - 109.245247, - 12.227497 - ], - [ - 109.332764, - 12.187777 - ] - ] - ], - [ - [ - [ - 109.3936, - 12.350275 - ], - [ - 109.385269, - 12.366941 - ], - [ - 109.387207, - 12.34972 - ], - [ - 109.3936, - 12.350275 - ] - ] - ], - [ - [ - [ - 107.919434, - 16.349442 - ], - [ - 107.661217, - 16.572613 - ], - [ - 107.866928, - 16.35944 - ], - [ - 107.919434, - 16.349442 - ] - ] - ], - [ - [ - [ - 107.73027, - 20.127773 - ], - [ - 107.738312, - 20.14444 - ], - [ - 107.711647, - 20.131939 - ], - [ - 107.73027, - 20.127773 - ] - ] - ], - [ - [ - [ - 107.378311, - 20.799164 - ], - [ - 107.382477, - 20.824165 - ], - [ - 107.334991, - 20.846664 - ], - [ - 107.378311, - 20.799164 - ] - ] - ], - [ - [ - [ - 107.068047, - 20.727493 - ], - [ - 107.033867, - 20.856106 - ], - [ - 106.908043, - 20.832218 - ], - [ - 107.068047, - 20.727493 - ] - ] - ], - [ - [ - [ - 106.752777, - 20.854164 - ], - [ - 106.741089, - 20.871109 - ], - [ - 106.719147, - 20.870831 - ], - [ - 106.752777, - 20.854164 - ] - ] - ], - [ - [ - [ - 106.873306, - 20.78722 - ], - [ - 106.781372, - 20.922497 - ], - [ - 106.770828, - 20.852497 - ], - [ - 106.873306, - 20.78722 - ] - ] - ], - [ - [ - [ - 106.948029, - 20.936382 - ], - [ - 106.927467, - 20.944717 - ], - [ - 106.932213, - 20.936939 - ], - [ - 106.948029, - 20.936382 - ] - ] - ], - [ - [ - [ - 107.488586, - 20.839165 - ], - [ - 107.554153, - 20.966106 - ], - [ - 107.464706, - 20.821384 - ], - [ - 107.488586, - 20.839165 - ] - ] - ], - [ - [ - [ - 106.893883, - 20.965549 - ], - [ - 106.888046, - 20.965549 - ], - [ - 106.916656, - 20.954441 - ], - [ - 106.893883, - 20.965549 - ] - ] - ], - [ - [ - [ - 107.460823, - 20.942219 - ], - [ - 107.473312, - 20.954441 - ], - [ - 107.478317, - 20.966106 - ], - [ - 107.476089, - 20.972218 - ], - [ - 107.462196, - 20.967495 - ], - [ - 107.454987, - 20.950272 - ], - [ - 107.454712, - 20.943886 - ], - [ - 107.460823, - 20.942219 - ] - ] - ], - [ - [ - [ - 106.753601, - 20.950829 - ], - [ - 106.679428, - 20.977493 - ], - [ - 106.688873, - 20.956661 - ], - [ - 106.753601, - 20.950829 - ] - ] - ], - [ - [ - [ - 107.746933, - 20.937218 - ], - [ - 107.790817, - 20.981937 - ], - [ - 107.747757, - 21.019165 - ], - [ - 107.746933, - 20.937218 - ] - ] - ], - [ - [ - [ - 107.462769, - 20.903049 - ], - [ - 107.554428, - 21.038052 - ], - [ - 107.502403, - 21.012671 - ], - [ - 107.476723, - 20.946983 - ], - [ - 107.394989, - 20.896664 - ], - [ - 107.462769, - 20.903049 - ] - ] - ], - [ - [ - [ - 107.859421, - 21.037777 - ], - [ - 107.8311, - 21.034996 - ], - [ - 107.806931, - 20.986938 - ], - [ - 107.859421, - 21.037777 - ] - ] - ], - [ - [ - [ - 107.578323, - 20.977219 - ], - [ - 107.620743, - 21.117836 - ], - [ - 107.567207, - 21.020554 - ], - [ - 107.578323, - 20.977219 - ] - ] - ], - [ - [ - [ - 107.513321, - 21.12833 - ], - [ - 107.532211, - 21.145828 - ], - [ - 107.509163, - 21.133331 - ], - [ - 107.513321, - 21.12833 - ] - ] - ], - [ - [ - [ - 107.383881, - 21.046387 - ], - [ - 107.604431, - 21.218884 - ], - [ - 107.471947, - 21.27142 - ], - [ - 107.383881, - 21.046387 - ] - ] - ], - [ - [ - [ - 107.742752, - 21.308887 - ], - [ - 107.818047, - 21.356384 - ], - [ - 107.708328, - 21.305275 - ], - [ - 107.742752, - 21.308887 - ] - ] - ], - [ - [ - [ - 107.996643, - 21.394718 - ], - [ - 107.828598, - 21.371384 - ], - [ - 107.933319, - 21.364162 - ], - [ - 107.996643, - 21.394718 - ] - ] - ], - [ - [ - [ - 107.5466, - 14.708618 - ], - [ - 107.489151, - 14.448608 - ], - [ - 107.547493, - 12.353609 - ], - [ - 106.420242, - 11.973608 - ], - [ - 106.458214, - 11.665863 - ], - [ - 105.851067, - 11.659998 - ], - [ - 106.203308, - 10.770554 - ], - [ - 105.101913, - 10.955553 - ], - [ - 104.445328, - 10.422739 - ], - [ - 105.107468, - 9.945276 - ], - [ - 104.742752, - 8.604998 - ], - [ - 105.021103, - 8.592775 - ], - [ - 106.194122, - 9.366941 - ], - [ - 105.820534, - 10.002499 - ], - [ - 106.54303, - 9.583609 - ], - [ - 106.117188, - 10.238331 - ], - [ - 106.618027, - 9.811388 - ], - [ - 106.290527, - 10.250832 - ], - [ - 106.776367, - 10.079998 - ], - [ - 106.424316, - 10.311384 - ], - [ - 106.784698, - 10.277498 - ], - [ - 106.79274, - 10.386944 - ], - [ - 106.738571, - 10.469442 - ], - [ - 106.591553, - 10.429691 - ], - [ - 106.736359, - 10.513054 - ], - [ - 106.738304, - 10.560613 - ], - [ - 106.770813, - 10.591108 - ], - [ - 106.744133, - 10.669998 - ], - [ - 106.904137, - 10.631386 - ], - [ - 106.943298, - 10.593609 - ], - [ - 106.93219, - 10.567221 - ], - [ - 106.961189, - 10.466075 - ], - [ - 106.999748, - 10.657166 - ], - [ - 107.26619, - 10.376129 - ], - [ - 107.997742, - 10.699165 - ], - [ - 109.021103, - 11.353331 - ], - [ - 109.173309, - 12.120552 - ], - [ - 109.269989, - 11.892498 - ], - [ - 109.145538, - 12.435555 - ], - [ - 109.466377, - 12.893332 - ], - [ - 108.830276, - 15.420832 - ], - [ - 106.698868, - 17.399719 - ], - [ - 105.613876, - 18.977219 - ], - [ - 105.954163, - 19.92083 - ], - [ - 106.776932, - 20.699162 - ], - [ - 106.643883, - 21.021385 - ], - [ - 107.154427, - 20.924995 - ], - [ - 107.36998, - 21.022221 - ], - [ - 107.414703, - 21.326107 - ], - [ - 107.990021, - 21.542412 - ], - [ - 106.693314, - 22.03083 - ], - [ - 106.707207, - 22.864998 - ], - [ - 105.577477, - 23.059162 - ], - [ - 105.353867, - 23.334721 - ], - [ - 103.964432, - 22.499111 - ], - [ - 103.33638, - 22.796387 - ], - [ - 103.030548, - 22.435551 - ], - [ - 102.479713, - 22.773888 - ], - [ - 102.140747, - 22.396286 - ], - [ - 102.676651, - 21.65583 - ], - [ - 102.976089, - 21.739437 - ], - [ - 103.170532, - 20.846664 - ], - [ - 103.693588, - 20.657219 - ], - [ - 104.109154, - 20.977219 - ], - [ - 104.6436, - 20.660275 - ], - [ - 104.381927, - 20.444717 - ], - [ - 104.979156, - 20.004997 - ], - [ - 104.640266, - 19.611942 - ], - [ - 104.037247, - 19.692944 - ], - [ - 103.879433, - 19.29361 - ], - [ - 105.193863, - 18.642494 - ], - [ - 105.183319, - 18.334442 - ], - [ - 106.561096, - 16.996941 - ], - [ - 106.685532, - 16.45805 - ], - [ - 107.464706, - 16.078609 - ], - [ - 107.175537, - 15.784164 - ], - [ - 107.695251, - 15.270832 - ], - [ - 107.5466, - 14.708618 - ] - ] - ] - ] - }, - "name" : "Vietnam", - "iso2" : "VN", - "iso3" : "VNM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "G71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -64.761948, - 17.774166 - ], - [ - -64.896118, - 17.676666 - ], - [ - -64.560287, - 17.748333 - ], - [ - -64.761948, - 17.774166 - ] - ] - ], - [ - [ - [ - -64.665283, - 18.332222 - ], - [ - -64.731949, - 18.371944 - ], - [ - -64.790283, - 18.33083 - ], - [ - -64.665283, - 18.332222 - ] - ] - ], - [ - [ - [ - -64.841675, - 18.312496 - ], - [ - -64.9039, - 18.364719 - ], - [ - -65.026947, - 18.362778 - ], - [ - -64.841675, - 18.312496 - ] - ] - ] - ] - }, - "name" : "United States Virgin Islands", - "iso2" : "VI", - "iso3" : "VIR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "HL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 23.476109, - -17.625835 - ], - [ - 23.284721, - -17.662502 - ], - [ - 20.854164, - -18.016392 - ], - [ - 18.915833, - -17.815556 - ], - [ - 18.451538, - -17.389835 - ], - [ - 13.993219, - -17.423946 - ], - [ - 13.160555, - -16.952778 - ], - [ - 11.752783, - -17.254833 - ], - [ - 11.804722, - -18.081947 - ], - [ - 14.511389, - -22.55278 - ], - [ - 14.463333, - -24.109169 - ], - [ - 15.294167, - -27.322502 - ], - [ - 16.48959, - -28.578178 - ], - [ - 17.06361, - -28.028614 - ], - [ - 17.40472, - -28.713612 - ], - [ - 18.175831, - -28.908611 - ], - [ - 19.123055, - -28.962223 - ], - [ - 19.99612, - -28.421448 - ], - [ - 20.000942, - -24.765408 - ], - [ - 19.996666, - -22.005001 - ], - [ - 20.991943, - -21.996948 - ], - [ - 20.993286, - -18.318417 - ], - [ - 23.297108, - -17.995949 - ], - [ - 23.615578, - -18.485069 - ], - [ - 24.362499, - -17.948612 - ], - [ - 25.264431, - -17.80225 - ], - [ - 24.969997, - -17.559723 - ], - [ - 23.476109, - -17.625835 - ] - ] - ] - }, - "name" : "Namibia", - "iso2" : "NA", - "iso3" : "NAM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Hb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -178.042511, - -14.319447 - ], - [ - -178.189453, - -14.236113 - ], - [ - -178.140564, - -14.316389 - ], - [ - -178.042511, - -14.319447 - ] - ] - ], - [ - [ - [ - -176.161438, - -13.352777 - ], - [ - -176.121094, - -13.263334 - ], - [ - -176.156158, - -13.213614 - ], - [ - -176.161438, - -13.352777 - ] - ] - ] - ] - }, - "name" : "Wallis and Futuna Islands", - "iso2" : "WF", - "iso3" : "WLF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Hr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -171.429749, - -14.019724 - ], - [ - -171.822266, - -13.807503 - ], - [ - -172.064758, - -13.874443 - ], - [ - -171.429749, - -14.019724 - ] - ] - ], - [ - [ - [ - -172.285858, - -13.486387 - ], - [ - -172.780609, - -13.533335 - ], - [ - -172.214172, - -13.807777 - ], - [ - -172.285858, - -13.486387 - ] - ] - ] - ] - }, - "name" : "Samoa", - "iso2" : "WS", - "iso3" : "WSM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "H71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 31.96851, - -25.95784 - ], - [ - 31.33083, - -25.751392 - ], - [ - 30.902048, - -26.305254 - ], - [ - 30.818886, - -26.810558 - ], - [ - 31.161663, - -27.203056 - ], - [ - 31.987499, - -27.316113 - ], - [ - 32.1334, - -26.839626 - ], - [ - 31.96851, - -25.95784 - ] - ] - ] - }, - "name" : "Swaziland", - "iso2" : "SZ", - "iso3" : "SWZ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "IL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 53.340828, - 12.108889 - ], - [ - 53.291664, - 12.134443 - ], - [ - 53.25666, - 12.124998 - ], - [ - 53.340828, - 12.108889 - ] - ] - ], - [ - [ - [ - 53.085831, - 12.13361 - ], - [ - 53.096107, - 12.175554 - ], - [ - 53.011383, - 12.158609 - ], - [ - 53.085831, - 12.13361 - ] - ] - ], - [ - [ - [ - 52.234161, - 12.201111 - ], - [ - 52.083054, - 12.222776 - ], - [ - 52.395828, - 12.155277 - ], - [ - 52.234161, - 12.201111 - ] - ] - ], - [ - [ - [ - 43.438606, - 12.631109 - ], - [ - 43.443886, - 12.659443 - ], - [ - 43.396111, - 12.666388 - ], - [ - 43.438606, - 12.631109 - ] - ] - ], - [ - [ - [ - 53.774719, - 12.616388 - ], - [ - 53.325829, - 12.545832 - ], - [ - 53.753609, - 12.308054 - ], - [ - 54.476944, - 12.557777 - ], - [ - 53.774719, - 12.616388 - ] - ] - ], - [ - [ - [ - 42.755829, - 13.69861 - ], - [ - 42.793884, - 13.781111 - ], - [ - 42.677216, - 13.666111 - ], - [ - 42.755829, - 13.69861 - ] - ] - ], - [ - [ - [ - 42.787498, - 13.91 - ], - [ - 42.766388, - 14.066944 - ], - [ - 42.689163, - 14.013611 - ], - [ - 42.787498, - 13.91 - ] - ] - ], - [ - [ - [ - 42.594719, - 15.271944 - ], - [ - 42.642494, - 15.458332 - ], - [ - 42.568886, - 15.3925 - ], - [ - 42.594719, - 15.271944 - ] - ] - ], - [ - [ - [ - 51.99929, - 18.999344 - ], - [ - 48.766388, - 18.266388 - ], - [ - 46.333054, - 15.616943 - ], - [ - 46.333328, - 16.666664 - ], - [ - 44.467499, - 17.411942 - ], - [ - 43.309441, - 17.457222 - ], - [ - 43.206108, - 16.672222 - ], - [ - 42.78968, - 16.377502 - ], - [ - 42.681107, - 15.208332 - ], - [ - 43.247498, - 13.210278 - ], - [ - 43.467216, - 12.677776 - ], - [ - 43.957222, - 12.592777 - ], - [ - 45.055443, - 12.751296 - ], - [ - 45.666664, - 13.341665 - ], - [ - 48.698051, - 14.039999 - ], - [ - 49.098885, - 14.519165 - ], - [ - 52.231941, - 15.674166 - ], - [ - 52.298882, - 16.272221 - ], - [ - 53.114441, - 16.642778 - ], - [ - 51.99929, - 18.999344 - ] - ] - ] - ] - }, - "name" : "Yemen", - "iso2" : "YE", - "iso3" : "YEM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ib1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 23.476109, - -17.625835 - ], - [ - 24.969997, - -17.559723 - ], - [ - 25.264431, - -17.80225 - ], - [ - 27.038055, - -17.959446 - ], - [ - 27.825275, - -16.959167 - ], - [ - 28.759441, - -16.552223 - ], - [ - 28.927219, - -15.972223 - ], - [ - 30.415756, - -15.631872 - ], - [ - 30.213017, - -14.981716 - ], - [ - 33.222229, - -14.012566 - ], - [ - 32.678886, - -13.60639 - ], - [ - 33.046387, - -12.603889 - ], - [ - 33.54583, - -12.359446 - ], - [ - 33.273331, - -12.144445 - ], - [ - 33.250549, - -10.886667 - ], - [ - 33.702278, - -10.561857 - ], - [ - 32.940399, - -9.405077 - ], - [ - 31.041111, - -8.590279 - ], - [ - 30.77124, - -8.192247 - ], - [ - 28.901665, - -8.478613 - ], - [ - 28.372219, - -9.260834 - ], - [ - 28.699718, - -10.653334 - ], - [ - 28.363331, - -11.550835 - ], - [ - 29.031387, - -12.383057 - ], - [ - 29.49361, - -12.458057 - ], - [ - 29.80505, - -12.155247 - ], - [ - 29.801388, - -13.454168 - ], - [ - 29.589443, - -13.221945 - ], - [ - 29.015831, - -13.397779 - ], - [ - 28.441944, - -12.519724 - ], - [ - 27.66, - -12.296667 - ], - [ - 27.199249, - -11.567905 - ], - [ - 26.86861, - -11.973612 - ], - [ - 26.004719, - -11.9025 - ], - [ - 25.359722, - -11.641668 - ], - [ - 25.332222, - -11.193335 - ], - [ - 24.44833, - -11.463612 - ], - [ - 23.986206, - -10.870461 - ], - [ - 24.020554, - -13.00639 - ], - [ - 21.998333, - -13.004168 - ], - [ - 22.000149, - -16.171661 - ], - [ - 23.476109, - -17.625835 - ] - ] - ] - }, - "name" : "Zambia", - "iso2" : "ZM", - "iso3" : "ZMB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ir1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 31.297504, - -22.414764 - ], - [ - 32.488876, - -21.344448 - ], - [ - 32.50222, - -20.598614 - ], - [ - 33.018883, - -19.943336 - ], - [ - 32.699165, - -18.944447 - ], - [ - 33.073051, - -18.348892 - ], - [ - 32.987808, - -17.265003 - ], - [ - 32.98114, - -16.709053 - ], - [ - 31.276665, - -16.018612 - ], - [ - 30.422775, - -16.009167 - ], - [ - 30.415756, - -15.631872 - ], - [ - 28.927219, - -15.972223 - ], - [ - 28.759441, - -16.552223 - ], - [ - 27.825275, - -16.959167 - ], - [ - 27.038055, - -17.959446 - ], - [ - 25.264431, - -17.80225 - ], - [ - 26.166111, - -19.527779 - ], - [ - 27.219997, - -20.091667 - ], - [ - 27.287453, - -20.494965 - ], - [ - 27.713165, - -20.506432 - ], - [ - 28.015831, - -21.566113 - ], - [ - 29.060555, - -21.798058 - ], - [ - 29.373623, - -22.19241 - ], - [ - 29.893887, - -22.194447 - ], - [ - 31.297504, - -22.414764 - ] - ] - ] - }, - "name" : "Zimbabwe", - "iso2" : "ZW", - "iso3" : "ZWE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "I71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 121.859995, - -10.610277 - ], - [ - 121.996935, - -10.441111 - ], - [ - 121.690813, - -10.566389 - ], - [ - 121.859995, - -10.610277 - ] - ] - ], - [ - [ - [ - 123.214708, - -10.812222 - ], - [ - 123.390268, - -10.436945 - ], - [ - 122.807749, - -10.794724 - ], - [ - 123.214708, - -10.812222 - ] - ] - ], - [ - [ - [ - 123.400545, - -10.342777 - ], - [ - 123.453325, - -10.139723 - ], - [ - 123.308596, - -10.276667 - ], - [ - 123.400545, - -10.342777 - ] - ] - ], - [ - [ - [ - 120.029161, - -9.383333 - ], - [ - 118.931093, - -9.561111 - ], - [ - 120.164705, - -10.231388 - ], - [ - 120.724428, - -10.199722 - ], - [ - 120.810259, - -9.979166 - ], - [ - 120.029161, - -9.383333 - ] - ] - ], - [ - [ - [ - 125.164049, - -9.066141 - ], - [ - 124.945448, - -8.954039 - ], - [ - 124.445726, - -9.184801 - ], - [ - 124.343096, - -9.463379 - ], - [ - 124.046164, - -9.339979 - ], - [ - 123.488314, - -10.316389 - ], - [ - 124.435259, - -10.162779 - ], - [ - 125.127989, - -9.435955 - ], - [ - 125.164049, - -9.066141 - ] - ] - ], - [ - [ - [ - 115.594713, - -8.804167 - ], - [ - 115.512499, - -8.67 - ], - [ - 115.469995, - -8.734444 - ], - [ - 115.594713, - -8.804167 - ] - ] - ], - [ - [ - [ - 119.690538, - -8.802778 - ], - [ - 119.633059, - -8.600796 - ], - [ - 119.607485, - -8.773611 - ], - [ - 119.690538, - -8.802778 - ] - ] - ], - [ - [ - [ - 122.969439, - -8.5725 - ], - [ - 123.177759, - -8.442223 - ], - [ - 122.988039, - -8.456667 - ], - [ - 122.969439, - -8.5725 - ] - ] - ], - [ - [ - [ - 119.461649, - -8.440277 - ], - [ - 119.447199, - -8.754168 - ], - [ - 119.585543, - -8.563055 - ], - [ - 119.461649, - -8.440277 - ] - ] - ], - [ - [ - [ - 113.388895, - -8.497221 - ], - [ - 113.285814, - -8.440001 - ], - [ - 113.295534, - -8.500557 - ], - [ - 113.388895, - -8.497221 - ] - ] - ], - [ - [ - [ - 124.290545, - -8.329166 - ], - [ - 123.906939, - -8.452499 - ], - [ - 124.115259, - -8.555555 - ], - [ - 124.290545, - -8.329166 - ] - ] - ], - [ - [ - [ - 123.764429, - -8.327223 - ], - [ - 123.93915, - -8.242498 - ], - [ - 123.217485, - -8.536667 - ], - [ - 123.764429, - -8.327223 - ] - ] - ], - [ - [ - [ - 123.281099, - -8.405834 - ], - [ - 123.220835, - -8.23361 - ], - [ - 123.0161, - -8.378056 - ], - [ - 123.281099, - -8.405834 - ] - ] - ], - [ - [ - [ - 128.219973, - -8.210556 - ], - [ - 128.079958, - -8.259445 - ], - [ - 128.208315, - -8.287222 - ], - [ - 128.219973, - -8.210556 - ] - ] - ], - [ - [ - [ - 116.54915, - -8.775002 - ], - [ - 116.735811, - -8.363054 - ], - [ - 116.387499, - -8.205 - ], - [ - 115.844149, - -8.75528 - ], - [ - 116.54915, - -8.775002 - ] - ] - ], - [ - [ - [ - 127.668322, - -8.244444 - ], - [ - 127.771105, - -8.188889 - ], - [ - 127.605822, - -8.206944 - ], - [ - 127.668322, - -8.244444 - ] - ] - ], - [ - [ - [ - 129.008028, - -8.269445 - ], - [ - 128.969698, - -8.183889 - ], - [ - 128.82831, - -8.198889 - ], - [ - 129.008028, - -8.269445 - ] - ] - ], - [ - [ - [ - 117.540819, - -8.390278 - ], - [ - 117.675814, - -8.156111 - ], - [ - 117.481371, - -8.191389 - ], - [ - 117.540819, - -8.390278 - ] - ] - ], - [ - [ - [ - 138.873568, - -8.414722 - ], - [ - 138.81415, - -8.154722 - ], - [ - 138.54471, - -8.333054 - ], - [ - 138.873568, - -8.414722 - ] - ] - ], - [ - [ - [ - 118.311922, - -8.374722 - ], - [ - 117.735529, - -8.152224 - ], - [ - 118.284418, - -8.594166 - ], - [ - 117.966379, - -8.74861 - ], - [ - 117.122759, - -8.378611 - ], - [ - 116.75139, - -9.009445 - ], - [ - 118.154985, - -8.871944 - ], - [ - 118.406374, - -8.584723 - ], - [ - 118.457209, - -8.871944 - ], - [ - 119.178041, - -8.720278 - ], - [ - 118.996935, - -8.313612 - ], - [ - 118.666094, - -8.552223 - ], - [ - 118.648333, - -8.294445 - ], - [ - 118.311922, - -8.374722 - ] - ] - ], - [ - [ - [ - 122.981089, - -8.149445 - ], - [ - 122.288309, - -8.644445 - ], - [ - 120.522493, - -8.257223 - ], - [ - 119.796236, - -8.720343 - ], - [ - 121.765551, - -8.892223 - ], - [ - 122.832491, - -8.601664 - ], - [ - 122.981089, - -8.149445 - ] - ] - ], - [ - [ - [ - 124.577768, - -8.135834 - ], - [ - 124.350809, - -8.454445 - ], - [ - 125.139711, - -8.329166 - ], - [ - 124.577768, - -8.135834 - ] - ] - ], - [ - [ - [ - 125.581675, - -8.317499 - ], - [ - 125.641375, - -8.135834 - ], - [ - 125.496096, - -8.269445 - ], - [ - 125.581675, - -8.317499 - ] - ] - ], - [ - [ - [ - 119.072489, - -8.2675 - ], - [ - 119.136934, - -8.195555 - ], - [ - 119.0786, - -8.13389 - ], - [ - 119.072489, - -8.2675 - ] - ] - ], - [ - [ - [ - 115.502214, - -8.178612 - ], - [ - 114.445536, - -8.104721 - ], - [ - 115.126085, - -8.854166 - ], - [ - 115.707766, - -8.409166 - ], - [ - 115.502214, - -8.178612 - ] - ] - ], - [ - [ - [ - 127.843599, - -8.10111 - ], - [ - 128.02527, - -8.2675 - ], - [ - 128.127443, - -8.171667 - ], - [ - 127.843599, - -8.10111 - ] - ] - ], - [ - [ - [ - 130.80414, - -8.352222 - ], - [ - 131.180269, - -8.129721 - ], - [ - 131.013033, - -8.089722 - ], - [ - 130.80414, - -8.352222 - ] - ] - ], - [ - [ - [ - 127.213884, - -8.113333 - ], - [ - 127.181665, - -8.021946 - ], - [ - 127.153055, - -8.099167 - ], - [ - 127.213884, - -8.113333 - ] - ] - ], - [ - [ - [ - 129.764437, - -8.061111 - ], - [ - 129.843294, - -7.840555 - ], - [ - 129.606905, - -7.803888 - ], - [ - 129.764437, - -8.061111 - ] - ] - ], - [ - [ - [ - 126.721369, - -7.673056 - ], - [ - 125.972216, - -7.658611 - ], - [ - 125.772219, - -8.00889 - ], - [ - 126.721369, - -7.673056 - ] - ] - ], - [ - [ - [ - 130.989138, - -7.723333 - ], - [ - 131.128847, - -7.626665 - ], - [ - 130.984133, - -7.664165 - ], - [ - 130.989138, - -7.723333 - ] - ] - ], - [ - [ - [ - 127.38109, - -7.658611 - ], - [ - 127.481936, - -7.528889 - ], - [ - 127.368044, - -7.513889 - ], - [ - 127.38109, - -7.658611 - ] - ] - ], - [ - [ - [ - 138.968294, - -7.55611 - ], - [ - 138.154696, - -7.513889 - ], - [ - 137.635256, - -8.43 - ], - [ - 138.444704, - -8.383333 - ], - [ - 138.968294, - -7.55611 - ] - ] - ], - [ - [ - [ - 130.864962, - -7.494165 - ], - [ - 130.844423, - -7.547222 - ], - [ - 130.983583, - -7.520834 - ], - [ - 130.864962, - -7.494165 - ] - ] - ], - [ - [ - [ - 131.072756, - -7.511389 - ], - [ - 131.177462, - -7.408611 - ], - [ - 131.003328, - -7.424999 - ], - [ - 131.072756, - -7.511389 - ] - ] - ], - [ - [ - [ - 121.778589, - -7.424444 - ], - [ - 121.830553, - -7.342777 - ], - [ - 121.761934, - -7.359165 - ], - [ - 121.778589, - -7.424444 - ] - ] - ], - [ - [ - [ - 121.108324, - -7.394444 - ], - [ - 121.168589, - -7.352222 - ], - [ - 121.093325, - -7.304722 - ], - [ - 121.108324, - -7.394444 - ] - ] - ], - [ - [ - [ - 131.272768, - -7.372776 - ], - [ - 131.263033, - -7.300554 - ], - [ - 131.216646, - -7.359165 - ], - [ - 131.272768, - -7.372776 - ] - ] - ], - [ - [ - [ - 120.931376, - -7.283611 - ], - [ - 120.789705, - -7.2775 - ], - [ - 121.063601, - -7.304722 - ], - [ - 120.931376, - -7.283611 - ] - ] - ], - [ - [ - [ - 131.736086, - -7.214167 - ], - [ - 131.243288, - -7.48 - ], - [ - 131.109682, - -8.000834 - ], - [ - 131.736086, - -7.214167 - ] - ] - ], - [ - [ - [ - 131.927187, - -7.106943 - ], - [ - 131.728579, - -7.158611 - ], - [ - 131.968843, - -7.254444 - ], - [ - 131.927187, - -7.106943 - ] - ] - ], - [ - [ - [ - 114.402483, - -7.18111 - ], - [ - 114.370249, - -7.066111 - ], - [ - 114.293322, - -7.0825 - ], - [ - 114.402483, - -7.18111 - ] - ] - ], - [ - [ - [ - 128.639986, - -7.219166 - ], - [ - 128.615236, - -7.064722 - ], - [ - 128.526094, - -7.143612 - ], - [ - 128.639986, - -7.219166 - ] - ] - ], - [ - [ - [ - 120.741655, - -7.075556 - ], - [ - 120.630541, - -7.016388 - ], - [ - 120.669146, - -7.145554 - ], - [ - 120.741655, - -7.075556 - ] - ] - ], - [ - [ - [ - 113.991365, - -6.880278 - ], - [ - 112.687761, - -7.051111 - ], - [ - 113.503885, - -7.225277 - ], - [ - 113.991365, - -6.880278 - ] - ] - ], - [ - [ - [ - 115.293329, - -6.838793 - ], - [ - 115.291094, - -7.008333 - ], - [ - 115.570833, - -6.925833 - ], - [ - 115.293329, - -6.838793 - ] - ] - ], - [ - [ - [ - 138.690523, - -6.761389 - ], - [ - 138.611086, - -6.736111 - ], - [ - 138.786654, - -6.840834 - ], - [ - 138.690523, - -6.761389 - ] - ] - ], - [ - [ - [ - 131.592196, - -6.678888 - ], - [ - 131.535799, - -6.801388 - ], - [ - 131.626345, - -6.7075 - ], - [ - 131.592196, - -6.678888 - ] - ] - ], - [ - [ - [ - 134.668856, - -6.774166 - ], - [ - 134.697756, - -6.586388 - ], - [ - 134.626345, - -6.715555 - ], - [ - 134.668856, - -6.774166 - ] - ] - ], - [ - [ - [ - 105.193041, - -6.684444 - ], - [ - 105.253603, - -6.527222 - ], - [ - 105.113039, - -6.611666 - ], - [ - 105.193041, - -6.684444 - ] - ] - ], - [ - [ - [ - 134.68387, - -6.56111 - ], - [ - 134.74692, - -6.523056 - ], - [ - 134.683321, - -6.451666 - ], - [ - 134.68387, - -6.56111 - ] - ] - ], - [ - [ - [ - 134.586092, - -6.391666 - ], - [ - 134.345522, - -6.356943 - ], - [ - 134.542208, - -6.535833 - ], - [ - 134.586092, - -6.391666 - ] - ] - ], - [ - [ - [ - 134.831911, - -6.471945 - ], - [ - 134.858004, - -6.289444 - ], - [ - 134.788027, - -6.393055 - ], - [ - 134.831911, - -6.471945 - ] - ] - ], - [ - [ - [ - 134.344118, - -6.804167 - ], - [ - 134.514711, - -6.584999 - ], - [ - 134.102755, - -6.173056 - ], - [ - 134.067202, - -6.826666 - ], - [ - 134.344118, - -6.804167 - ] - ] - ], - [ - [ - [ - 134.156374, - -6.047499 - ], - [ - 134.133883, - -6.154722 - ], - [ - 134.403597, - -6.28611 - ], - [ - 134.156374, - -6.047499 - ] - ] - ], - [ - [ - [ - 134.731356, - -6.036667 - ], - [ - 134.268038, - -6.117222 - ], - [ - 134.603029, - -6.370554 - ], - [ - 134.731356, - -6.036667 - ] - ] - ], - [ - [ - [ - 106.163309, - -6.014166 - ], - [ - 105.243319, - -6.810278 - ], - [ - 106.509432, - -6.979166 - ], - [ - 106.423311, - -7.371387 - ], - [ - 108.163042, - -7.783054 - ], - [ - 109.289705, - -7.699444 - ], - [ - 111.651094, - -8.362499 - ], - [ - 113.232759, - -8.281113 - ], - [ - 114.621096, - -8.746666 - ], - [ - 114.371645, - -8.521112 - ], - [ - 114.44832, - -7.800554 - ], - [ - 112.845545, - -7.599722 - ], - [ - 112.560259, - -6.912222 - ], - [ - 111.152773, - -6.699999 - ], - [ - 110.919985, - -6.41 - ], - [ - 110.390825, - -6.979721 - ], - [ - 108.734423, - -6.814999 - ], - [ - 108.311098, - -6.260279 - ], - [ - 106.163309, - -6.014166 - ] - ] - ], - [ - [ - [ - 124.058321, - -6.027222 - ], - [ - 123.976648, - -5.875832 - ], - [ - 123.965822, - -5.948055 - ], - [ - 124.058321, - -6.027222 - ] - ] - ], - [ - [ - [ - 120.481936, - -6.48361 - ], - [ - 120.561373, - -6.024445 - ], - [ - 120.479982, - -5.766666 - ], - [ - 120.481936, - -6.48361 - ] - ] - ], - [ - [ - [ - 104.836115, - -5.828056 - ], - [ - 104.84833, - -5.775 - ], - [ - 104.768885, - -5.747778 - ], - [ - 104.836115, - -5.828056 - ] - ] - ], - [ - [ - [ - 112.692751, - -5.852776 - ], - [ - 112.634989, - -5.739443 - ], - [ - 112.58777, - -5.843889 - ], - [ - 112.692751, - -5.852776 - ] - ] - ], - [ - [ - [ - 132.741335, - -5.950277 - ], - [ - 132.808321, - -5.806944 - ], - [ - 132.6933, - -5.596388 - ], - [ - 132.741335, - -5.950277 - ] - ] - ], - [ - [ - [ - 132.795534, - -5.686388 - ], - [ - 132.781099, - -5.532778 - ], - [ - 132.738558, - -5.639166 - ], - [ - 132.795534, - -5.686388 - ] - ] - ], - [ - [ - [ - 132.340517, - -5.577223 - ], - [ - 132.376619, - -5.538332 - ], - [ - 132.301912, - -5.517221 - ], - [ - 132.340517, - -5.577223 - ] - ] - ], - [ - [ - [ - 123.810808, - -5.599167 - ], - [ - 123.802759, - -5.533611 - ], - [ - 123.688311, - -5.472221 - ], - [ - 123.810808, - -5.599167 - ] - ] - ], - [ - [ - [ - 134.577181, - -5.43 - ], - [ - 134.206331, - -5.708054 - ], - [ - 134.302187, - -6.025833 - ], - [ - 134.731356, - -5.974722 - ], - [ - 134.577181, - -5.43 - ] - ] - ], - [ - [ - [ - 102.384989, - -5.485832 - ], - [ - 102.380816, - -5.372499 - ], - [ - 102.100542, - -5.3325 - ], - [ - 102.384989, - -5.485832 - ] - ] - ], - [ - [ - [ - 132.849398, - -6.003334 - ], - [ - 133.11191, - -5.591667 - ], - [ - 133.168856, - -5.295555 - ], - [ - 132.849398, - -6.003334 - ] - ] - ], - [ - [ - [ - 123.625811, - -5.376665 - ], - [ - 123.627199, - -5.282499 - ], - [ - 123.521105, - -5.251944 - ], - [ - 123.625811, - -5.376665 - ] - ] - ], - [ - [ - [ - 122.016939, - -5.474167 - ], - [ - 121.913309, - -5.058611 - ], - [ - 121.808596, - -5.272223 - ], - [ - 122.016939, - -5.474167 - ] - ] - ], - [ - [ - [ - 115.782495, - -4.831944 - ], - [ - 115.85248, - -4.785555 - ], - [ - 115.853045, - -4.747221 - ], - [ - 115.782495, - -4.831944 - ] - ] - ], - [ - [ - [ - 131.742189, - -4.76861 - ], - [ - 131.754427, - -4.723333 - ], - [ - 131.721621, - -4.691944 - ], - [ - 131.742189, - -4.76861 - ] - ] - ], - [ - [ - [ - 122.737764, - -4.651112 - ], - [ - 122.371096, - -4.759722 - ], - [ - 122.28499, - -5.385 - ], - [ - 122.605555, - -5.420277 - ], - [ - 122.737764, - -4.651112 - ] - ] - ], - [ - [ - [ - 129.93442, - -4.566387 - ], - [ - 129.93857, - -4.5075 - ], - [ - 129.859133, - -4.556665 - ], - [ - 129.93442, - -4.566387 - ] - ] - ], - [ - [ - [ - 129.874666, - -4.530832 - ], - [ - 129.879671, - -4.505556 - ], - [ - 129.861086, - -4.521389 - ], - [ - 129.874666, - -4.530832 - ] - ] - ], - [ - [ - [ - 123.21277, - -4.697498 - ], - [ - 122.903589, - -4.484999 - ], - [ - 122.651384, - -5.686388 - ], - [ - 123.215555, - -5.297499 - ], - [ - 122.979715, - -5.107222 - ], - [ - 123.21277, - -4.697498 - ] - ] - ], - [ - [ - [ - 131.670259, - -4.536943 - ], - [ - 131.672213, - -4.487221 - ], - [ - 131.610506, - -4.428333 - ], - [ - 131.670259, - -4.536943 - ] - ] - ], - [ - [ - [ - 133.575258, - -4.251944 - ], - [ - 133.31415, - -4.104445 - ], - [ - 133.615511, - -4.300554 - ], - [ - 133.575258, - -4.251944 - ] - ] - ], - [ - [ - [ - 131.342745, - -4.117498 - ], - [ - 131.272768, - -4.07361 - ], - [ - 131.304415, - -4.124165 - ], - [ - 131.342745, - -4.117498 - ] - ] - ], - [ - [ - [ - 123.088594, - -4.008888 - ], - [ - 122.957766, - -4.100277 - ], - [ - 123.153872, - -4.241667 - ], - [ - 123.088594, - -4.008888 - ] - ] - ], - [ - [ - [ - 101.034418, - -4.025833 - ], - [ - 101.048601, - -3.994999 - ], - [ - 101.027483, - -4.005278 - ], - [ - 101.034418, - -4.025833 - ] - ] - ], - [ - [ - [ - 131.244692, - -4.045555 - ], - [ - 131.244692, - -4.001944 - ], - [ - 131.209688, - -3.983332 - ], - [ - 131.244692, - -4.045555 - ] - ] - ], - [ - [ - [ - 131.435793, - -4.076389 - ], - [ - 131.419436, - -3.960278 - ], - [ - 131.378847, - -3.960833 - ], - [ - 131.435793, - -4.076389 - ] - ] - ], - [ - [ - [ - 134.1597, - -3.934999 - ], - [ - 134.072756, - -3.934166 - ], - [ - 134.199404, - -3.99111 - ], - [ - 134.1597, - -3.934999 - ] - ] - ], - [ - [ - [ - 127.228319, - -3.904167 - ], - [ - 127.233873, - -3.827499 - ], - [ - 127.148882, - -3.830278 - ], - [ - 127.228319, - -3.904167 - ] - ] - ], - [ - [ - [ - 128.779146, - -3.703888 - ], - [ - 128.790804, - -3.638889 - ], - [ - 128.748293, - -3.643055 - ], - [ - 128.779146, - -3.703888 - ] - ] - ], - [ - [ - [ - 123.125528, - -3.626667 - ], - [ - 123.147776, - -3.543055 - ], - [ - 123.057749, - -3.578056 - ], - [ - 123.125528, - -3.626667 - ] - ] - ], - [ - [ - [ - 128.402773, - -3.640833 - ], - [ - 128.563295, - -3.576666 - ], - [ - 128.431093, - -3.522499 - ], - [ - 128.402773, - -3.640833 - ] - ] - ], - [ - [ - [ - 122.351931, - -3.560833 - ], - [ - 122.320536, - -3.514919 - ], - [ - 122.279985, - -3.5725 - ], - [ - 122.351931, - -3.560833 - ] - ] - ], - [ - [ - [ - 128.334963, - -3.625832 - ], - [ - 128.273317, - -3.512222 - ], - [ - 127.918322, - -3.740833 - ], - [ - 128.334963, - -3.625832 - ] - ] - ], - [ - [ - [ - 128.664705, - -3.538332 - ], - [ - 128.554964, - -3.509722 - ], - [ - 128.720797, - -3.619165 - ], - [ - 128.664705, - -3.538332 - ] - ] - ], - [ - [ - [ - 132.703585, - -3.519165 - ], - [ - 132.674135, - -3.41861 - ], - [ - 132.623293, - -3.421389 - ], - [ - 132.703585, - -3.519165 - ] - ] - ], - [ - [ - [ - 122.445253, - -3.490555 - ], - [ - 122.471918, - -3.456944 - ], - [ - 122.413042, - -3.384445 - ], - [ - 122.445253, - -3.490555 - ] - ] - ], - [ - [ - [ - 116.382753, - -3.645554 - ], - [ - 116.416933, - -3.377499 - ], - [ - 116.316942, - -3.5375 - ], - [ - 116.382753, - -3.645554 - ] - ] - ], - [ - [ - [ - 127.632753, - -3.365278 - ], - [ - 127.569719, - -3.263889 - ], - [ - 127.481089, - -3.293333 - ], - [ - 127.632753, - -3.365278 - ] - ] - ], - [ - [ - [ - 116.118319, - -4.03611 - ], - [ - 116.267763, - -3.223055 - ], - [ - 116.008615, - -3.649166 - ], - [ - 116.118319, - -4.03611 - ] - ] - ], - [ - [ - [ - 127.770266, - -3.254444 - ], - [ - 127.759432, - -3.153055 - ], - [ - 127.63611, - -3.225832 - ], - [ - 127.770266, - -3.254444 - ] - ] - ], - [ - [ - [ - 100.524431, - -3.186167 - ], - [ - 100.500551, - -3.127222 - ], - [ - 100.490808, - -3.162777 - ], - [ - 100.524431, - -3.186167 - ] - ] - ], - [ - [ - [ - 126.993876, - -3.145 - ], - [ - 126.103045, - -3.100555 - ], - [ - 126.017488, - -3.354445 - ], - [ - 126.700823, - -3.834444 - ], - [ - 127.23665, - -3.6175 - ], - [ - 126.993876, - -3.145 - ] - ] - ], - [ - [ - [ - 127.884722, - -3.038332 - ], - [ - 127.991655, - -2.93 - ], - [ - 127.820543, - -3.021666 - ], - [ - 127.884722, - -3.038332 - ] - ] - ], - [ - [ - [ - 106.889162, - -3.024445 - ], - [ - 106.812479, - -2.893055 - ], - [ - 106.721369, - -2.966389 - ], - [ - 106.889162, - -3.024445 - ] - ] - ], - [ - [ - [ - 129.812471, - -2.919722 - ], - [ - 128.173861, - -2.855555 - ], - [ - 127.906099, - -3.5375 - ], - [ - 128.173861, - -3.068888 - ], - [ - 128.462465, - -3.458332 - ], - [ - 128.878298, - -3.207777 - ], - [ - 129.897493, - -3.335833 - ], - [ - 130.829958, - -3.872776 - ], - [ - 130.584139, - -3.133333 - ], - [ - 129.812471, - -2.919722 - ] - ] - ], - [ - [ - [ - 107.427202, - -2.938889 - ], - [ - 107.481371, - -2.823334 - ], - [ - 107.361368, - -2.871111 - ], - [ - 107.427202, - -2.938889 - ] - ] - ], - [ - [ - [ - 107.079714, - -2.911665 - ], - [ - 107.072771, - -2.82 - ], - [ - 107.037203, - -2.865 - ], - [ - 107.079714, - -2.911665 - ] - ] - ], - [ - [ - [ - 100.46277, - -3.133333 - ], - [ - 100.176378, - -2.799999 - ], - [ - 100.459429, - -3.333889 - ], - [ - 100.46277, - -3.133333 - ] - ] - ], - [ - [ - [ - 131.579683, - -2.656389 - ], - [ - 131.654421, - -2.621389 - ], - [ - 131.565248, - -2.651667 - ], - [ - 131.579683, - -2.656389 - ] - ] - ], - [ - [ - [ - 107.832766, - -2.535 - ], - [ - 107.609423, - -3.211388 - ], - [ - 108.07332, - -3.235277 - ], - [ - 108.265825, - -2.755556 - ], - [ - 107.832766, - -2.535 - ] - ] - ], - [ - [ - [ - 100.031099, - -2.841944 - ], - [ - 100.214159, - -2.718611 - ], - [ - 99.9872, - -2.489166 - ], - [ - 100.031099, - -2.841944 - ] - ] - ], - [ - [ - [ - 133.594973, - -2.525555 - ], - [ - 133.614412, - -2.477499 - ], - [ - 133.499117, - -2.425556 - ], - [ - 133.594973, - -2.525555 - ] - ] - ], - [ - [ - [ - 99.741091, - -2.376389 - ], - [ - 99.7372, - -2.350277 - ], - [ - 99.7036, - -2.342777 - ], - [ - 99.741091, - -2.376389 - ] - ] - ], - [ - [ - [ - 134.567476, - -2.453054 - ], - [ - 134.56885, - -2.292778 - ], - [ - 134.516665, - -2.396944 - ], - [ - 134.567476, - -2.453054 - ] - ] - ], - [ - [ - [ - 123.166933, - -2.194166 - ], - [ - 123.168055, - -2.176388 - ], - [ - 123.151659, - -2.194166 - ], - [ - 123.166933, - -2.194166 - ] - ] - ], - [ - [ - [ - 123.449785, - -2.125568 - ], - [ - 123.456102, - -2.115555 - ], - [ - 123.438028, - -2.111389 - ], - [ - 123.449785, - -2.125568 - ] - ] - ], - [ - [ - [ - 99.859713, - -2.370832 - ], - [ - 99.568605, - -2.029167 - ], - [ - 99.569994, - -2.222221 - ], - [ - 99.859713, - -2.370832 - ] - ] - ], - [ - [ - [ - 123.885538, - -2.075556 - ], - [ - 123.864992, - -2.00861 - ], - [ - 123.844439, - -2.053888 - ], - [ - 123.885538, - -2.075556 - ] - ] - ], - [ - [ - [ - 134.368837, - -2.158054 - ], - [ - 134.385805, - -2.003889 - ], - [ - 134.325533, - -2.08861 - ], - [ - 134.368837, - -2.158054 - ] - ] - ], - [ - [ - [ - 123.767763, - -2.047499 - ], - [ - 123.777483, - -1.998333 - ], - [ - 123.758333, - -2.020277 - ], - [ - 123.767763, - -2.047499 - ] - ] - ], - [ - [ - [ - 126.056643, - -2.4825 - ], - [ - 125.918055, - -1.972221 - ], - [ - 125.894709, - -2.213333 - ], - [ - 126.056643, - -2.4825 - ] - ] - ], - [ - [ - [ - 124.366655, - -2.011389 - ], - [ - 124.35721, - -1.96611 - ], - [ - 124.300814, - -1.976944 - ], - [ - 124.366655, - -2.011389 - ] - ] - ], - [ - [ - [ - 123.478045, - -1.94611 - ], - [ - 123.484713, - -1.935278 - ], - [ - 123.466928, - -1.943611 - ], - [ - 123.478045, - -1.94611 - ] - ] - ], - [ - [ - [ - 123.544985, - -1.927778 - ], - [ - 123.543055, - -1.913332 - ], - [ - 123.53554, - -1.924999 - ], - [ - 123.544985, - -1.927778 - ] - ] - ], - [ - [ - [ - 123.659418, - -1.963333 - ], - [ - 123.654161, - -1.901667 - ], - [ - 123.651384, - -1.953888 - ], - [ - 123.659418, - -1.963333 - ] - ] - ], - [ - [ - [ - 123.716928, - -1.955833 - ], - [ - 123.73221, - -1.899721 - ], - [ - 123.700548, - -1.936666 - ], - [ - 123.716928, - -1.955833 - ] - ] - ], - [ - [ - [ - 123.691095, - -1.914167 - ], - [ - 123.672495, - -1.884722 - ], - [ - 123.672495, - -1.899721 - ], - [ - 123.691095, - -1.914167 - ] - ] - ], - [ - [ - [ - 123.828875, - -2.010555 - ], - [ - 123.855509, - -1.954447 - ], - [ - 123.782763, - -1.878611 - ], - [ - 123.828875, - -2.010555 - ] - ] - ], - [ - [ - [ - 123.765001, - -1.877222 - ], - [ - 123.767214, - -1.862778 - ], - [ - 123.757494, - -1.873611 - ], - [ - 123.765001, - -1.877222 - ] - ] - ], - [ - [ - [ - 123.386904, - -1.883858 - ], - [ - 123.368319, - -1.856388 - ], - [ - 123.36693, - -1.875832 - ], - [ - 123.386904, - -1.883858 - ] - ] - ], - [ - [ - [ - 125.438311, - -1.806667 - ], - [ - 125.466661, - -1.939999 - ], - [ - 126.349154, - -1.823055 - ], - [ - 125.438311, - -1.806667 - ] - ] - ], - [ - [ - [ - 99.286104, - -1.826389 - ], - [ - 99.269152, - -1.789999 - ], - [ - 99.25194, - -1.820833 - ], - [ - 99.286104, - -1.826389 - ] - ] - ], - [ - [ - [ - 123.079165, - -1.906389 - ], - [ - 123.154161, - -1.8325 - ], - [ - 123.120821, - -1.754444 - ], - [ - 123.079165, - -1.906389 - ] - ] - ], - [ - [ - [ - 134.176088, - -1.945 - ], - [ - 134.233858, - -1.740833 - ], - [ - 134.160524, - -1.845556 - ], - [ - 134.176088, - -1.945 - ] - ] - ], - [ - [ - [ - 125.006655, - -1.718889 - ], - [ - 124.327478, - -1.879721 - ], - [ - 125.32332, - -1.887222 - ], - [ - 125.006655, - -1.718889 - ] - ] - ], - [ - [ - [ - 108.696932, - -1.723055 - ], - [ - 108.779711, - -1.704443 - ], - [ - 108.681932, - -1.699722 - ], - [ - 108.696932, - -1.723055 - ] - ] - ], - [ - [ - [ - 130.18857, - -2.064167 - ], - [ - 130.350557, - -1.680204 - ], - [ - 129.715792, - -1.885832 - ], - [ - 130.18857, - -2.064167 - ] - ] - ], - [ - [ - [ - 123.297762, - -1.791389 - ], - [ - 123.369715, - -1.673054 - ], - [ - 123.267488, - -1.766945 - ], - [ - 123.297762, - -1.791389 - ] - ] - ], - [ - [ - [ - 136.293581, - -1.68861 - ], - [ - 135.418032, - -1.609999 - ], - [ - 136.902193, - -1.799166 - ], - [ - 136.293581, - -1.68861 - ] - ] - ], - [ - [ - [ - 108.849154, - -1.670832 - ], - [ - 108.930544, - -1.544167 - ], - [ - 108.799715, - -1.568056 - ], - [ - 108.849154, - -1.670832 - ] - ] - ], - [ - [ - [ - 106.090822, - -1.771666 - ], - [ - 105.57361, - -1.529167 - ], - [ - 105.132204, - -2.067499 - ], - [ - 105.744715, - -2.129166 - ], - [ - 105.978319, - -2.822777 - ], - [ - 106.71776, - -3.098333 - ], - [ - 106.601931, - -2.913055 - ], - [ - 106.781664, - -2.591944 - ], - [ - 106.318331, - -2.435833 - ], - [ - 106.090822, - -1.771666 - ] - ] - ], - [ - [ - [ - 135.138308, - -1.485277 - ], - [ - 135.094423, - -1.512777 - ], - [ - 135.330812, - -1.492777 - ], - [ - 135.138308, - -1.485277 - ] - ] - ], - [ - [ - [ - 127.879435, - -1.426943 - ], - [ - 127.378313, - -1.633888 - ], - [ - 128.145266, - -1.680555 - ], - [ - 127.879435, - -1.426943 - ] - ] - ], - [ - [ - [ - 127.328325, - -1.439999 - ], - [ - 127.366655, - -1.36611 - ], - [ - 127.272776, - -1.413332 - ], - [ - 127.328325, - -1.439999 - ] - ] - ], - [ - [ - [ - 109.144991, - -1.316666 - ], - [ - 109.171892, - -1.257776 - ], - [ - 109.104715, - -1.289999 - ], - [ - 109.144991, - -1.316666 - ] - ] - ], - [ - [ - [ - 123.194979, - -1.297499 - ], - [ - 122.897493, - -1.186666 - ], - [ - 122.861101, - -1.58111 - ], - [ - 123.531374, - -1.434721 - ], - [ - 123.194979, - -1.297499 - ] - ] - ], - [ - [ - [ - 127.614702, - -1.257778 - ], - [ - 127.550539, - -1.171667 - ], - [ - 127.455835, - -1.234444 - ], - [ - 127.614702, - -1.257778 - ] - ] - ], - [ - [ - [ - 109.228594, - -1.233332 - ], - [ - 109.258043, - -1.169443 - ], - [ - 109.219713, - -1.192778 - ], - [ - 109.228594, - -1.233332 - ] - ] - ], - [ - [ - [ - 129.928865, - -1.211388 - ], - [ - 129.86664, - -1.142778 - ], - [ - 129.740511, - -1.208611 - ], - [ - 129.928865, - -1.211388 - ] - ] - ], - [ - [ - [ - 109.623789, - -0.984835 - ], - [ - 109.492479, - -0.979721 - ], - [ - 109.418589, - -1.263334 - ], - [ - 109.778872, - -1.138611 - ], - [ - 109.623789, - -0.984835 - ] - ] - ], - [ - [ - [ - 98.929155, - -0.950277 - ], - [ - 98.603045, - -1.223055 - ], - [ - 99.238878, - -1.783888 - ], - [ - 98.929155, - -0.950277 - ] - ] - ], - [ - [ - [ - 134.922487, - -1.138056 - ], - [ - 134.993013, - -1.023611 - ], - [ - 134.843019, - -0.941944 - ], - [ - 134.922487, - -1.138056 - ] - ] - ], - [ - [ - [ - 130.931368, - -0.936388 - ], - [ - 130.638887, - -0.983889 - ], - [ - 130.964418, - -1.357222 - ], - [ - 130.931368, - -0.936388 - ] - ] - ], - [ - [ - [ - 130.916384, - -0.794722 - ], - [ - 130.486635, - -0.835278 - ], - [ - 130.396944, - -0.926388 - ], - [ - 130.916384, - -0.794722 - ] - ] - ], - [ - [ - [ - 135.487734, - -0.675556 - ], - [ - 135.892214, - -1.191389 - ], - [ - 136.38611, - -1.120832 - ], - [ - 135.487734, - -0.675556 - ] - ] - ], - [ - [ - [ - 127.281099, - -0.808332 - ], - [ - 127.204439, - -0.619167 - ], - [ - 127.153589, - -0.77 - ], - [ - 127.281099, - -0.808332 - ] - ] - ], - [ - [ - [ - 98.515276, - -0.632221 - ], - [ - 98.509722, - -0.600832 - ], - [ - 98.489153, - -0.599443 - ], - [ - 98.515276, - -0.632221 - ] - ] - ], - [ - [ - [ - 130.606081, - -0.541111 - ], - [ - 130.66025, - -0.426666 - ], - [ - 130.455812, - -0.468611 - ], - [ - 130.606081, - -0.541111 - ] - ] - ], - [ - [ - [ - 121.913309, - -0.475277 - ], - [ - 121.741365, - -0.41861 - ], - [ - 121.643335, - -0.548056 - ], - [ - 121.913309, - -0.475277 - ] - ] - ], - [ - [ - [ - 104.228319, - -0.417221 - ], - [ - 104.231661, - -0.391666 - ], - [ - 104.197481, - -0.395832 - ], - [ - 104.228319, - -0.417221 - ] - ] - ], - [ - [ - [ - 141.002474, - -2.607084 - ], - [ - 137.85663, - -1.471666 - ], - [ - 137.131075, - -1.792778 - ], - [ - 137.190523, - -2.103054 - ], - [ - 136.35663, - -2.253889 - ], - [ - 135.491915, - -3.358334 - ], - [ - 135.004152, - -3.341389 - ], - [ - 134.63611, - -2.513889 - ], - [ - 134.466646, - -2.864445 - ], - [ - 134.1597, - -2.319445 - ], - [ - 134.111086, - -0.835278 - ], - [ - 133.11191, - -0.536388 - ], - [ - 132.269716, - -0.384167 - ], - [ - 131.255556, - -0.822777 - ], - [ - 130.963594, - -1.403055 - ], - [ - 131.882448, - -1.642221 - ], - [ - 132.301363, - -2.269444 - ], - [ - 133.936373, - -2.103054 - ], - [ - 133.684145, - -2.716389 - ], - [ - 133.238863, - -2.416111 - ], - [ - 132.72275, - -2.817223 - ], - [ - 131.955812, - -2.783611 - ], - [ - 132.818026, - -3.303055 - ], - [ - 132.901644, - -4.091389 - ], - [ - 133.449709, - -3.871389 - ], - [ - 133.828859, - -2.961666 - ], - [ - 133.637484, - -3.491667 - ], - [ - 134.215792, - -3.963055 - ], - [ - 134.965517, - -3.939722 - ], - [ - 134.643587, - -4.121387 - ], - [ - 138.064425, - -5.406111 - ], - [ - 138.681917, - -6.720554 - ], - [ - 139.189425, - -6.969444 - ], - [ - 138.561922, - -6.908888 - ], - [ - 139.222475, - -7.1625 - ], - [ - 138.661104, - -7.203333 - ], - [ - 139.095522, - -7.564165 - ], - [ - 138.908602, - -8.296667 - ], - [ - 140.14609, - -7.884722 - ], - [ - 139.985231, - -8.193611 - ], - [ - 141.007021, - -9.128468 - ], - [ - 141.002474, - -2.607084 - ] - ], - [ - [ - 133.619692, - -3.449444 - ], - [ - 133.610231, - -3.435833 - ], - [ - 133.623293, - -3.429474 - ], - [ - 133.619692, - -3.449444 - ] - ] - ], - [ - [ - [ - 104.496096, - -0.626944 - ], - [ - 104.531099, - -0.373888 - ], - [ - 104.288042, - -0.393888 - ], - [ - 104.496096, - -0.626944 - ] - ] - ], - [ - [ - [ - 122.011385, - -0.414444 - ], - [ - 122.044436, - -0.332777 - ], - [ - 121.854433, - -0.365833 - ], - [ - 122.011385, - -0.414444 - ] - ] - ], - [ - [ - [ - 127.574999, - -0.323332 - ], - [ - 127.303591, - -0.519167 - ], - [ - 127.817759, - -0.870832 - ], - [ - 127.574999, - -0.323332 - ] - ] - ], - [ - [ - [ - 104.444139, - -0.326111 - ], - [ - 104.488039, - -0.278055 - ], - [ - 104.402483, - -0.285555 - ], - [ - 104.444139, - -0.326111 - ] - ] - ], - [ - [ - [ - 122.08333, - -0.410278 - ], - [ - 122.140268, - -0.382221 - ], - [ - 122.086931, - -0.265556 - ], - [ - 122.08333, - -0.410278 - ] - ] - ], - [ - [ - [ - 127.183039, - -0.528889 - ], - [ - 127.233873, - -0.256111 - ], - [ - 127.104982, - -0.297222 - ], - [ - 127.183039, - -0.528889 - ] - ] - ], - [ - [ - [ - 98.501665, - -0.539722 - ], - [ - 98.430269, - -0.246389 - ], - [ - 98.326097, - -0.539722 - ], - [ - 98.501665, - -0.539722 - ] - ] - ], - [ - [ - [ - 103.619143, - -0.389721 - ], - [ - 103.759722, - -0.312222 - ], - [ - 103.533335, - -0.234167 - ], - [ - 103.454714, - -0.362221 - ], - [ - 103.619143, - -0.389721 - ] - ] - ], - [ - [ - [ - 122.363604, - -0.284166 - ], - [ - 122.328051, - -0.230833 - ], - [ - 122.223879, - -0.200556 - ], - [ - 122.363604, - -0.284166 - ] - ] - ], - [ - [ - [ - 122.225809, - -0.278055 - ], - [ - 122.188875, - -0.197222 - ], - [ - 122.140268, - -0.229443 - ], - [ - 122.225809, - -0.278055 - ] - ] - ], - [ - [ - [ - 103.553308, - -0.196388 - ], - [ - 103.534655, - -0.184233 - ], - [ - 103.50139, - -0.195 - ], - [ - 103.553308, - -0.196388 - ] - ] - ], - [ - [ - [ - 104.740252, - -0.136944 - ], - [ - 104.432482, - -0.201944 - ], - [ - 104.92943, - -0.334166 - ], - [ - 104.740252, - -0.136944 - ] - ] - ], - [ - [ - [ - 121.613878, - -0.206667 - ], - [ - 121.631929, - -0.123056 - ], - [ - 121.562479, - -0.156666 - ], - [ - 121.613878, - -0.206667 - ] - ] - ], - [ - [ - [ - 97.87665, - -0.105278 - ], - [ - 97.86693, - -0.064167 - ], - [ - 97.823885, - -0.067778 - ], - [ - 97.87665, - -0.105278 - ] - ] - ], - [ - [ - [ - 104.876635, - -0.065556 - ], - [ - 104.842196, - -0.024443 - ], - [ - 104.831919, - -0.060833 - ], - [ - 104.876635, - -0.065556 - ] - ] - ], - [ - [ - [ - 130.877443, - -0.019167 - ], - [ - 130.213289, - -0.206667 - ], - [ - 130.915804, - -0.408888 - ], - [ - 130.688295, - -0.079443 - ], - [ - 131.255556, - -0.387777 - ], - [ - 130.877443, - -0.019167 - ] - ], - [ - [ - 130.66971, - -0.328888 - ], - [ - 130.662203, - -0.325277 - ], - [ - 130.666384, - -0.315832 - ], - [ - 130.66971, - -0.328888 - ] - ] - ], - [ - [ - [ - 98.547487, - -0.370556 - ], - [ - 98.444139, - -0.061388 - ], - [ - 98.291933, - -0.012222 - ], - [ - 98.547487, - -0.370556 - ] - ] - ], - [ - [ - [ - 129.554689, - -0.21361 - ], - [ - 129.540529, - -0.138889 - ], - [ - 129.288301, - 0.041391 - ], - [ - 129.554689, - -0.21361 - ] - ] - ], - [ - [ - [ - 127.457209, - -0.012222 - ], - [ - 127.41054, - 0.144167 - ], - [ - 127.392763, - 0.006945 - ], - [ - 127.457209, - -0.012222 - ] - ] - ], - [ - [ - [ - 98.834749, - 0.107779 - ], - [ - 98.762804, - 0.171667 - ], - [ - 98.513353, - 0.133059 - ], - [ - 98.834749, - 0.107779 - ] - ] - ], - [ - [ - [ - 104.481936, - 0.023611 - ], - [ - 104.409151, - 0.171667 - ], - [ - 104.407213, - 0.090002 - ], - [ - 104.481936, - 0.023611 - ] - ] - ], - [ - [ - [ - 104.701929, - 0.023611 - ], - [ - 104.54497, - 0.221666 - ], - [ - 104.49135, - 0.237223 - ], - [ - 104.701929, - 0.023611 - ] - ] - ], - [ - [ - [ - 104.411913, - 0.292223 - ], - [ - 104.426378, - 0.32361 - ], - [ - 104.34276, - 0.370832 - ], - [ - 104.411913, - 0.292223 - ] - ] - ], - [ - [ - [ - 127.385271, - 0.270834 - ], - [ - 127.388605, - 0.378611 - ], - [ - 127.327768, - 0.336668 - ], - [ - 127.385271, - 0.270834 - ] - ] - ], - [ - [ - [ - 103.073595, - 0.571669 - ], - [ - 103.066072, - 0.646391 - ], - [ - 103.038019, - 0.654722 - ], - [ - 103.073595, - 0.571669 - ] - ] - ], - [ - [ - [ - 104.281649, - 0.623056 - ], - [ - 104.281649, - 0.665556 - ], - [ - 104.2372, - 0.689444 - ], - [ - 104.281649, - 0.623056 - ] - ] - ], - [ - [ - [ - 103.483599, - 0.616945 - ], - [ - 103.513605, - 0.699167 - ], - [ - 103.465555, - 0.630556 - ], - [ - 103.483599, - 0.616945 - ] - ] - ], - [ - [ - [ - 103.185244, - 0.508055 - ], - [ - 103.296923, - 0.553888 - ], - [ - 103.223024, - 0.703333 - ], - [ - 103.185244, - 0.508055 - ] - ] - ], - [ - [ - [ - 127.403872, - 0.619722 - ], - [ - 127.446375, - 0.712778 - ], - [ - 127.383883, - 0.751944 - ], - [ - 127.403872, - 0.619722 - ] - ] - ], - [ - [ - [ - 104.294146, - 0.706667 - ], - [ - 104.273615, - 0.79167 - ], - [ - 104.189974, - 0.775278 - ], - [ - 104.294146, - 0.706667 - ] - ] - ], - [ - [ - [ - 104.598314, - 0.758055 - ], - [ - 104.551645, - 0.795 - ], - [ - 104.508593, - 0.756113 - ], - [ - 104.598314, - 0.758055 - ] - ] - ], - [ - [ - [ - 103.094133, - 0.72389 - ], - [ - 103.105242, - 0.797777 - ], - [ - 103.077188, - 0.750555 - ], - [ - 103.094133, - 0.72389 - ] - ] - ], - [ - [ - [ - 103.715815, - 0.792501 - ], - [ - 103.662195, - 0.832224 - ], - [ - 103.704149, - 0.759443 - ], - [ - 103.715815, - 0.792501 - ] - ] - ], - [ - [ - [ - 127.322222, - 0.750002 - ], - [ - 127.374979, - 0.812223 - ], - [ - 127.32416, - 0.864168 - ], - [ - 127.322222, - 0.750002 - ] - ] - ], - [ - [ - [ - 103.525805, - 0.800001 - ], - [ - 103.489695, - 0.845835 - ], - [ - 103.41913, - 0.871111 - ], - [ - 103.525805, - 0.800001 - ] - ] - ], - [ - [ - [ - 103.936365, - 0.76639 - ], - [ - 103.889139, - 0.859446 - ], - [ - 103.819979, - 0.88611 - ], - [ - 103.936365, - 0.76639 - ] - ] - ], - [ - [ - [ - 103.832201, - 0.756113 - ], - [ - 103.819979, - 0.825834 - ], - [ - 103.734133, - 0.886946 - ], - [ - 103.832201, - 0.756113 - ] - ] - ], - [ - [ - [ - 103.436922, - 0.647223 - ], - [ - 103.507479, - 0.746389 - ], - [ - 103.379961, - 0.891668 - ], - [ - 103.436922, - 0.647223 - ] - ] - ], - [ - [ - [ - 103.478579, - 0.868334 - ], - [ - 103.461359, - 0.915834 - ], - [ - 103.405245, - 0.908892 - ], - [ - 103.478579, - 0.868334 - ] - ] - ], - [ - [ - [ - 104.242739, - 0.819723 - ], - [ - 104.094713, - 0.947222 - ], - [ - 104.175539, - 0.790834 - ], - [ - 104.242739, - 0.819723 - ] - ] - ], - [ - [ - [ - 102.624231, - 0.994139 - ], - [ - 102.406084, - 0.878057 - ], - [ - 103.041353, - 0.714167 - ], - [ - 102.624231, - 0.994139 - ] - ] - ], - [ - [ - [ - 103.934969, - 0.926111 - ], - [ - 103.93857, - 0.999166 - ], - [ - 103.836908, - 1.010279 - ], - [ - 103.934969, - 0.926111 - ] - ] - ], - [ - [ - [ - 104.84305, - 0.957502 - ], - [ - 104.839434, - 1.018614 - ], - [ - 104.793589, - 1.024721 - ], - [ - 104.84305, - 0.957502 - ] - ] - ], - [ - [ - [ - 107.556643, - 0.965834 - ], - [ - 107.596369, - 1.008055 - ], - [ - 107.550539, - 1.037779 - ], - [ - 107.556643, - 0.965834 - ] - ] - ], - [ - [ - [ - 103.037195, - 1.037779 - ], - [ - 102.657755, - 1.054167 - ], - [ - 103.146929, - 0.8375 - ], - [ - 103.037195, - 1.037779 - ] - ] - ], - [ - [ - [ - 120.677202, - 1.035555 - ], - [ - 120.638895, - 1.076113 - ], - [ - 120.616381, - 1.071943 - ], - [ - 120.677202, - 1.035555 - ] - ] - ], - [ - [ - [ - 120.388048, - 1.020002 - ], - [ - 120.38611, - 1.080835 - ], - [ - 120.366091, - 1.032225 - ], - [ - 120.388048, - 1.020002 - ] - ] - ], - [ - [ - [ - 104.666895, - 1.023829 - ], - [ - 104.230265, - 1.084169 - ], - [ - 104.583315, - 0.819166 - ], - [ - 104.666895, - 1.023829 - ] - ] - ], - [ - [ - [ - 103.439684, - 0.987501 - ], - [ - 103.341639, - 1.119722 - ], - [ - 103.319704, - 1.040277 - ], - [ - 103.439684, - 0.987501 - ] - ] - ], - [ - [ - [ - 104.033602, - 0.982222 - ], - [ - 104.119425, - 1.183611 - ], - [ - 103.901369, - 1.093889 - ], - [ - 104.033602, - 0.982222 - ] - ] - ], - [ - [ - [ - 102.39525, - 0.923891 - ], - [ - 102.476068, - 1.226667 - ], - [ - 102.21303, - 1.405001 - ], - [ - 102.39525, - 0.923891 - ] - ] - ], - [ - [ - [ - 97.526369, - 1.417223 - ], - [ - 97.114687, - 1.393335 - ], - [ - 97.810793, - 0.549723 - ], - [ - 97.936357, - 0.978056 - ], - [ - 97.526369, - 1.417223 - ] - ] - ], - [ - [ - [ - 125.214998, - 1.389166 - ], - [ - 125.299456, - 1.526079 - ], - [ - 125.166384, - 1.395281 - ], - [ - 125.214998, - 1.389166 - ] - ] - ], - [ - [ - [ - 102.49608, - 1.444723 - ], - [ - 101.994425, - 1.611113 - ], - [ - 102.491915, - 1.259722 - ], - [ - 102.49608, - 1.444723 - ] - ] - ], - [ - [ - [ - 98.599749, - 1.625555 - ], - [ - 98.555056, - 1.681665 - ], - [ - 98.427462, - 1.678888 - ], - [ - 98.599749, - 1.625555 - ] - ] - ], - [ - [ - [ - 125.141665, - 1.421389 - ], - [ - 124.971102, - 1.694723 - ], - [ - 123.839159, - 0.829447 - ], - [ - 120.950548, - 1.342501 - ], - [ - 120.573038, - 0.775278 - ], - [ - 120.287203, - 0.989721 - ], - [ - 120.032495, - 0.712778 - ], - [ - 119.833055, - -0.089722 - ], - [ - 119.622759, - -0.005278 - ], - [ - 119.863039, - -0.843889 - ], - [ - 119.718599, - -0.65361 - ], - [ - 119.517214, - -0.876389 - ], - [ - 119.353319, - -1.938889 - ], - [ - 118.759165, - -2.774166 - ], - [ - 118.922213, - -3.569721 - ], - [ - 119.506105, - -3.527222 - ], - [ - 119.464998, - -5.56361 - ], - [ - 120.46277, - -5.624165 - ], - [ - 120.200274, - -2.965 - ], - [ - 120.771929, - -2.612499 - ], - [ - 121.076105, - -2.758888 - ], - [ - 120.881365, - -3.536945 - ], - [ - 121.614702, - -4.064722 - ], - [ - 121.553041, - -4.746666 - ], - [ - 122.088884, - -4.840834 - ], - [ - 122.104715, - -4.526112 - ], - [ - 122.89554, - -4.396389 - ], - [ - 122.194979, - -3.57111 - ], - [ - 122.47748, - -3.158054 - ], - [ - 121.298029, - -1.803055 - ], - [ - 121.671656, - -1.922222 - ], - [ - 122.819994, - -0.913332 - ], - [ - 123.331385, - -1.057222 - ], - [ - 123.447748, - -0.835278 - ], - [ - 123.070833, - -0.559721 - ], - [ - 121.927759, - -0.963333 - ], - [ - 121.62221, - -0.805 - ], - [ - 121.083055, - -1.423611 - ], - [ - 120.666384, - -1.395554 - ], - [ - 120.066095, - -0.613054 - ], - [ - 120.242205, - 0.344999 - ], - [ - 124.246096, - 0.375002 - ], - [ - 125.141665, - 1.421389 - ] - ] - ], - [ - [ - [ - 97.117189, - 2.01111 - ], - [ - 97.148317, - 2.065832 - ], - [ - 97.092745, - 2.112501 - ], - [ - 97.117189, - 2.01111 - ] - ] - ], - [ - [ - [ - 101.601641, - 1.709166 - ], - [ - 101.645525, - 2.120001 - ], - [ - 101.398035, - 1.989168 - ], - [ - 101.601641, - 1.709166 - ] - ] - ], - [ - [ - [ - 96.641085, - 2.065832 - ], - [ - 96.66913, - 2.108889 - ], - [ - 96.610796, - 2.121946 - ], - [ - 96.641085, - 2.065832 - ] - ] - ], - [ - [ - [ - 96.640535, - 2.152777 - ], - [ - 96.648592, - 2.178888 - ], - [ - 96.598024, - 2.191111 - ], - [ - 96.640535, - 2.152777 - ] - ] - ], - [ - [ - [ - 127.894991, - 1.796667 - ], - [ - 128.054689, - 2.195276 - ], - [ - 127.394991, - 1.054724 - ], - [ - 127.666094, - -0.225832 - ], - [ - 128.395266, - -0.894722 - ], - [ - 127.87665, - 0.310556 - ], - [ - 128.905245, - 0.200277 - ], - [ - 128.210238, - 0.784723 - ], - [ - 128.697481, - 1.101946 - ], - [ - 128.726351, - 1.556944 - ], - [ - 128.188295, - 1.378057 - ], - [ - 127.793589, - 0.795 - ], - [ - 127.894991, - 1.796667 - ] - ] - ], - [ - [ - [ - 97.327761, - 2.032225 - ], - [ - 97.288027, - 2.224169 - ], - [ - 97.103579, - 2.219999 - ], - [ - 97.327761, - 2.032225 - ] - ] - ], - [ - [ - [ - 127.794985, - 2.205557 - ], - [ - 127.813601, - 2.261667 - ], - [ - 127.756655, - 2.270555 - ], - [ - 127.794985, - 2.205557 - ] - ] - ], - [ - [ - [ - 118.571383, - 2.316389 - ], - [ - 118.560534, - 2.264444 - ], - [ - 118.649721, - 2.176668 - ], - [ - 118.571383, - 2.316389 - ] - ] - ], - [ - [ - [ - 125.430819, - 2.313055 - ], - [ - 125.450823, - 2.379446 - ], - [ - 125.367754, - 2.369165 - ], - [ - 125.430819, - 2.313055 - ] - ] - ], - [ - [ - [ - 128.161104, - 2.282225 - ], - [ - 128.163027, - 2.404165 - ], - [ - 128.119112, - 2.338335 - ], - [ - 128.161104, - 2.282225 - ] - ] - ], - [ - [ - [ - 109.067492, - 2.485003 - ], - [ - 109.107485, - 2.530001 - ], - [ - 108.973185, - 2.540163 - ], - [ - 109.067492, - 2.485003 - ] - ] - ], - [ - [ - [ - 128.498018, - 2.050001 - ], - [ - 128.564699, - 2.632776 - ], - [ - 128.23218, - 2.306112 - ], - [ - 128.498018, - 2.050001 - ] - ] - ], - [ - [ - [ - 125.406374, - 2.626665 - ], - [ - 125.414431, - 2.807222 - ], - [ - 125.354715, - 2.724443 - ], - [ - 125.406374, - 2.626665 - ] - ] - ], - [ - [ - [ - 106.244982, - 2.736666 - ], - [ - 106.243044, - 2.786669 - ], - [ - 106.197748, - 2.812223 - ], - [ - 106.244982, - 2.736666 - ] - ] - ], - [ - [ - [ - 96.432192, - 2.343058 - ], - [ - 95.883318, - 2.91889 - ], - [ - 95.696917, - 2.818892 - ], - [ - 96.432192, - 2.343058 - ] - ] - ], - [ - [ - [ - 108.832491, - 2.844999 - ], - [ - 108.883333, - 3.001669 - ], - [ - 108.773615, - 2.89139 - ], - [ - 108.832491, - 2.844999 - ] - ] - ], - [ - [ - [ - 107.759432, - 2.974169 - ], - [ - 107.812189, - 3.001112 - ], - [ - 107.765551, - 3.021666 - ], - [ - 107.759432, - 2.974169 - ] - ] - ], - [ - [ - [ - 105.724993, - 2.833891 - ], - [ - 105.848879, - 2.979166 - ], - [ - 105.69832, - 3.060556 - ], - [ - 105.724993, - 2.833891 - ] - ] - ], - [ - [ - [ - 106.289431, - 3.159723 - ], - [ - 106.203325, - 3.226667 - ], - [ - 106.21277, - 3.121389 - ], - [ - 106.289431, - 3.159723 - ] - ] - ], - [ - [ - [ - 117.523043, - 3.285555 - ], - [ - 117.461931, - 3.343889 - ], - [ - 117.411379, - 3.302778 - ], - [ - 117.523043, - 3.285555 - ] - ] - ], - [ - [ - [ - 106.28055, - 3.230833 - ], - [ - 106.287493, - 3.373335 - ], - [ - 106.234713, - 3.256113 - ], - [ - 106.28055, - 3.230833 - ] - ] - ], - [ - [ - [ - 117.664148, - 3.284166 - ], - [ - 117.672495, - 3.419722 - ], - [ - 117.539431, - 3.426668 - ], - [ - 117.664148, - 3.284166 - ] - ] - ], - [ - [ - [ - 117.607485, - 3.477221 - ], - [ - 117.587488, - 3.524446 - ], - [ - 117.433321, - 3.559168 - ], - [ - 117.607485, - 3.477221 - ] - ] - ], - [ - [ - [ - 117.390825, - 3.561945 - ], - [ - 117.216661, - 3.545557 - ], - [ - 117.517488, - 3.474443 - ], - [ - 117.390825, - 3.561945 - ] - ] - ], - [ - [ - [ - 117.885538, - 3.456667 - ], - [ - 117.865808, - 3.548891 - ], - [ - 117.789705, - 3.57778 - ], - [ - 117.885538, - 3.456667 - ] - ] - ], - [ - [ - [ - 125.883883, - 3.362223 - ], - [ - 125.911379, - 3.491667 - ], - [ - 125.663599, - 3.718332 - ], - [ - 125.883883, - 3.362223 - ] - ] - ], - [ - [ - [ - 117.825274, - 3.740557 - ], - [ - 117.815538, - 3.755556 - ], - [ - 117.788309, - 3.750002 - ], - [ - 117.825274, - 3.740557 - ] - ] - ], - [ - [ - [ - 126.844149, - 3.738054 - ], - [ - 126.738878, - 3.842222 - ], - [ - 126.792215, - 3.733335 - ], - [ - 126.844149, - 3.738054 - ] - ] - ], - [ - [ - [ - 117.847765, - 3.797224 - ], - [ - 117.801935, - 3.85528 - ], - [ - 117.730822, - 3.863611 - ], - [ - 117.847765, - 3.797224 - ] - ] - ], - [ - [ - [ - 126.711382, - 3.798056 - ], - [ - 126.723604, - 3.911669 - ], - [ - 126.608034, - 4.041109 - ], - [ - 126.711382, - 3.798056 - ] - ] - ], - [ - [ - [ - 117.689699, - 3.974169 - ], - [ - 117.750002, - 4.068609 - ], - [ - 117.646379, - 4.14028 - ], - [ - 117.689699, - 3.974169 - ] - ] - ], - [ - [ - [ - 117.686922, - 4.168337 - ], - [ - 117.886934, - 4.026945 - ], - [ - 117.903559, - 4.174044 - ], - [ - 117.726648, - 4.169722 - ], - [ - 117.686922, - 4.168337 - ] - ] - ], - [ - [ - [ - 108.181665, - 3.647501 - ], - [ - 108.406939, - 3.875834 - ], - [ - 108.181665, - 4.196386 - ], - [ - 108.181665, - 3.647501 - ] - ] - ], - [ - [ - [ - 117.592058, - 4.169821 - ], - [ - 116.049425, - 4.279444 - ], - [ - 115.685259, - 4.171946 - ], - [ - 115.495531, - 3.040003 - ], - [ - 115.139711, - 2.906111 - ], - [ - 115.2372, - 2.522501 - ], - [ - 114.804705, - 2.248888 - ], - [ - 114.562761, - 1.433611 - ], - [ - 113.658335, - 1.224722 - ], - [ - 112.472765, - 1.568056 - ], - [ - 111.827211, - 0.998613 - ], - [ - 110.555254, - 0.853891 - ], - [ - 109.669985, - 1.613054 - ], - [ - 109.648569, - 2.073408 - ], - [ - 109.066942, - 1.532225 - ], - [ - 108.981936, - 1.211668 - ], - [ - 109.265001, - 1.393335 - ], - [ - 108.845491, - 0.810564 - ], - [ - 109.120249, - -0.502222 - ], - [ - 109.514429, - -0.726944 - ], - [ - 109.272493, - -0.855 - ], - [ - 109.729715, - -0.953611 - ], - [ - 110.057749, - -1.333889 - ], - [ - 109.903589, - -1.828333 - ], - [ - 110.23749, - -2.979443 - ], - [ - 111.550264, - -3.024445 - ], - [ - 111.749712, - -2.741943 - ], - [ - 111.889429, - -3.573889 - ], - [ - 113.064699, - -2.993889 - ], - [ - 113.671099, - -3.47611 - ], - [ - 114.481089, - -3.498611 - ], - [ - 114.706652, - -4.176945 - ], - [ - 115.983873, - -3.588888 - ], - [ - 116.604158, - -2.229721 - ], - [ - 116.22249, - -1.779167 - ], - [ - 116.755548, - -1.3675 - ], - [ - 116.743319, - -1.024166 - ], - [ - 116.923601, - -1.254444 - ], - [ - 117.622484, - -0.779722 - ], - [ - 117.467485, - 0.103613 - ], - [ - 118.03499, - 0.810278 - ], - [ - 117.894442, - 1.119722 - ], - [ - 118.343874, - 0.843058 - ], - [ - 119.008615, - 0.980833 - ], - [ - 117.87192, - 1.876669 - ], - [ - 118.096651, - 2.305555 - ], - [ - 117.273043, - 3.222776 - ], - [ - 117.444139, - 3.430555 - ], - [ - 117.030275, - 3.594168 - ], - [ - 117.828051, - 3.702223 - ], - [ - 117.392763, - 4.1075 - ], - [ - 117.592058, - 4.169821 - ] - ], - [ - [ - 117.295534, - -0.878332 - ], - [ - 117.272219, - -0.876944 - ], - [ - 117.288591, - -0.831667 - ], - [ - 117.295534, - -0.878332 - ] - ] - ], - [ - [ - [ - 126.759722, - 3.985834 - ], - [ - 126.916094, - 4.273611 - ], - [ - 126.740541, - 4.541945 - ], - [ - 126.759722, - 3.985834 - ] - ] - ], - [ - [ - [ - 125.491365, - 4.732779 - ], - [ - 125.49193, - 4.745554 - ], - [ - 125.478868, - 4.734446 - ], - [ - 125.491365, - 4.732779 - ] - ] - ], - [ - [ - [ - 107.964434, - 4.674723 - ], - [ - 108.004709, - 4.772223 - ], - [ - 107.938311, - 4.701944 - ], - [ - 107.964434, - 4.674723 - ] - ] - ], - [ - [ - [ - 95.738573, - 5.585279 - ], - [ - 95.230806, - 5.570833 - ], - [ - 95.531084, - 4.682775 - ], - [ - 96.880251, - 3.6775 - ], - [ - 97.751925, - 2.269167 - ], - [ - 98.770861, - 1.748613 - ], - [ - 99.136126, - 0.261389 - ], - [ - 99.63582, - 0.076944 - ], - [ - 100.293589, - -0.806389 - ], - [ - 101.626925, - -3.246111 - ], - [ - 104.560778, - -5.929747 - ], - [ - 104.544985, - -5.50639 - ], - [ - 105.139711, - -5.79611 - ], - [ - 105.268602, - -5.444166 - ], - [ - 105.732485, - -5.897779 - ], - [ - 106.055254, - -3.031389 - ], - [ - 105.61249, - -2.394167 - ], - [ - 104.8622, - -2.289444 - ], - [ - 104.532495, - -2.772778 - ], - [ - 104.879435, - -2.146944 - ], - [ - 104.489435, - -1.924999 - ], - [ - 104.379152, - -1.041389 - ], - [ - 103.360811, - -0.702221 - ], - [ - 103.599993, - -0.441111 - ], - [ - 103.342363, - -0.364096 - ], - [ - 103.490808, - -0.216944 - ], - [ - 103.269709, - -0.258888 - ], - [ - 103.814196, - -0.001028 - ], - [ - 103.739695, - 0.281111 - ], - [ - 103.351091, - 0.536112 - ], - [ - 102.539965, - 0.16667 - ], - [ - 103.081919, - 0.445555 - ], - [ - 102.932459, - 0.695002 - ], - [ - 102.421915, - 0.800554 - ], - [ - 101.055529, - 2.28639 - ], - [ - 100.797205, - 2.214445 - ], - [ - 100.942461, - 1.820555 - ], - [ - 100.209139, - 2.703333 - ], - [ - 100.00165, - 2.601946 - ], - [ - 99.977755, - 2.9475 - ], - [ - 98.270525, - 4.1425 - ], - [ - 97.518862, - 5.246668 - ], - [ - 96.34775, - 5.222776 - ], - [ - 95.738573, - 5.585279 - ] - ], - [ - [ - 104.213884, - -1.039444 - ], - [ - 104.200823, - -1.037222 - ], - [ - 104.243319, - -1.023611 - ], - [ - 104.213884, - -1.039444 - ] - ], - [ - [ - 102.859705, - 0.274446 - ], - [ - 102.833864, - 0.281111 - ], - [ - 102.926912, - 0.322222 - ], - [ - 102.859705, - 0.274446 - ] - ] - ], - [ - [ - [ - 95.158022, - 5.594725 - ], - [ - 95.142473, - 5.660833 - ], - [ - 95.108858, - 5.612501 - ], - [ - 95.158022, - 5.594725 - ] - ] - ], - [ - [ - [ - 95.119692, - 5.670279 - ], - [ - 95.063585, - 5.749445 - ], - [ - 95.008028, - 5.735277 - ], - [ - 95.119692, - 5.670279 - ] - ] - ], - [ - [ - [ - 95.34247, - 5.774168 - ], - [ - 95.381639, - 5.849722 - ], - [ - 95.217745, - 5.913054 - ], - [ - 95.34247, - 5.774168 - ] - ] - ] - ] - }, - "name" : "Indonesia", - "iso2" : "ID", - "iso3" : "IDN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "JL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -62.811394, - 17.888332 - ], - [ - -62.79084, - 17.912498 - ], - [ - -62.869171, - 17.929722 - ], - [ - -62.811394, - 17.888332 - ] - ] - ] - }, - "name" : "Saint Barthelemy", - "iso2" : "BL", - "iso3" : "BLM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Jb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -68.195282, - 12.221109 - ], - [ - -68.416122, - 12.256945 - ], - [ - -68.251114, - 12.020555 - ], - [ - -68.195282, - 12.221109 - ] - ] - ] - }, - "name" : "Bonaire, Sint Eustatius and Saba", - "iso2" : "BQ", - "iso3" : "BES" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Jr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 53.965271, - 24.176666 - ], - [ - 53.851105, - 24.269165 - ], - [ - 53.623886, - 24.162777 - ], - [ - 53.965271, - 24.176666 - ] - ] - ], - [ - [ - [ - 53.324165, - 24.267776 - ], - [ - 53.34111, - 24.328888 - ], - [ - 53.243607, - 24.276665 - ], - [ - 53.324165, - 24.267776 - ] - ] - ], - [ - [ - [ - 53.109718, - 24.311386 - ], - [ - 53.085831, - 24.352776 - ], - [ - 53.079437, - 24.325554 - ], - [ - 53.109718, - 24.311386 - ] - ] - ], - [ - [ - [ - 54.264717, - 24.288887 - ], - [ - 54.231384, - 24.35083 - ], - [ - 54.174438, - 24.324997 - ], - [ - 54.264717, - 24.288887 - ] - ] - ], - [ - [ - [ - 52.616104, - 24.268608 - ], - [ - 52.639717, - 24.372219 - ], - [ - 52.572777, - 24.339722 - ], - [ - 52.616104, - 24.268608 - ] - ] - ], - [ - [ - [ - 53.398048, - 24.324718 - ], - [ - 53.428329, - 24.366943 - ], - [ - 53.387497, - 24.368889 - ], - [ - 53.398048, - 24.324718 - ] - ] - ], - [ - [ - [ - 54.472496, - 24.418888 - ], - [ - 54.380272, - 24.502499 - ], - [ - 54.328331, - 24.459721 - ], - [ - 54.472496, - 24.418888 - ] - ] - ], - [ - [ - [ - 54.515549, - 24.504719 - ], - [ - 54.469719, - 24.536942 - ], - [ - 54.48555, - 24.509163 - ], - [ - 54.515549, - 24.504719 - ] - ] - ], - [ - [ - [ - 54.440826, - 24.50111 - ], - [ - 54.465553, - 24.589996 - ], - [ - 54.400833, - 24.514721 - ], - [ - 54.440826, - 24.50111 - ] - ] - ], - [ - [ - [ - 55.617493, - 25.57 - ], - [ - 55.620552, - 25.583611 - ], - [ - 55.609718, - 25.569443 - ], - [ - 55.617493, - 25.57 - ] - ] - ], - [ - [ - [ - 56.269722, - 25.636015 - ], - [ - 56.183331, - 25.654989 - ], - [ - 56.079941, - 26.065559 - ], - [ - 55.863609, - 25.723331 - ], - [ - 54.650276, - 24.746944 - ], - [ - 54.424164, - 24.281666 - ], - [ - 54.118607, - 24.139442 - ], - [ - 52.080551, - 23.955555 - ], - [ - 51.583611, - 24.25972 - ], - [ - 52.583328, - 22.93889 - ], - [ - 55.199165, - 22.699718 - ], - [ - 55.510277, - 23.972775 - ], - [ - 56.024719, - 24.076111 - ], - [ - 55.779442, - 24.563889 - ], - [ - 56.037498, - 24.938889 - ], - [ - 56.104164, - 24.734722 - ], - [ - 56.373528, - 24.979382 - ], - [ - 56.269722, - 25.636015 - ] - ] - ] - ] - }, - "name" : "United Arab Emirates", - "iso2" : "AE", - "iso3" : "ARE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "J71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 124.445727, - -9.184801 - ], - [ - 124.046161, - -9.339979 - ], - [ - 124.343093, - -9.46338 - ], - [ - 124.445727, - -9.184801 - ] - ] - ], - [ - [ - [ - 127.253052, - -8.477499 - ], - [ - 125.844147, - -8.481667 - ], - [ - 124.945449, - -8.954039 - ], - [ - 125.16405, - -9.066142 - ], - [ - 125.127989, - -9.435955 - ], - [ - 127.253052, - -8.477499 - ] - ] - ] - ] - }, - "name" : "Timor-Leste", - "iso2" : "TL", - "iso3" : "TLS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "KL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -130.076935, - -25.079723 - ], - [ - -130.065002, - -25.063335 - ], - [ - -130.107483, - -25.063335 - ], - [ - -130.076935, - -25.079723 - ] - ] - ], - [ - [ - [ - -124.780853, - -24.675835 - ], - [ - -124.772522, - -24.666946 - ], - [ - -124.795853, - -24.666115 - ], - [ - -124.780853, - -24.675835 - ] - ] - ], - [ - [ - [ - -128.289185, - -24.409721 - ], - [ - -128.303894, - -24.33028 - ], - [ - -128.336945, - -24.329166 - ], - [ - -128.289185, - -24.409721 - ] - ] - ] - ] - }, - "name" : "Pitcairn Islands", - "iso2" : "PN", - "iso3" : "PCN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Kb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 132.226624, - 5.292777 - ], - [ - 132.230255, - 5.307221 - ], - [ - 132.208313, - 5.31111 - ], - [ - 132.226624, - 5.292777 - ] - ] - ], - [ - [ - [ - 134.166077, - 6.885277 - ], - [ - 134.174988, - 6.923888 - ], - [ - 134.139435, - 6.934721 - ], - [ - 134.166077, - 6.885277 - ] - ] - ], - [ - [ - [ - 134.274994, - 7.010278 - ], - [ - 134.27832, - 7.070833 - ], - [ - 134.227753, - 6.987777 - ], - [ - 134.274994, - 7.010278 - ] - ] - ], - [ - [ - [ - 134.392761, - 7.140277 - ], - [ - 134.381897, - 7.192498 - ], - [ - 134.353851, - 7.168055 - ], - [ - 134.392761, - 7.140277 - ] - ] - ], - [ - [ - [ - 134.377747, - 7.215833 - ], - [ - 134.438873, - 7.278888 - ], - [ - 134.344116, - 7.269444 - ], - [ - 134.377747, - 7.215833 - ] - ] - ], - [ - [ - [ - 134.470795, - 7.36111 - ], - [ - 134.448303, - 7.331944 - ], - [ - 134.517487, - 7.308054 - ], - [ - 134.470795, - 7.36111 - ] - ] - ], - [ - [ - [ - 134.561371, - 7.371943 - ], - [ - 134.634155, - 7.729444 - ], - [ - 134.485229, - 7.438054 - ], - [ - 134.561371, - 7.371943 - ] - ] - ] - ] - }, - "name" : "Palau", - "iso2" : "PW", - "iso3" : "PLW" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Kr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 168.113586, - 5.600277 - ], - [ - 168.12439, - 5.641666 - ], - [ - 168.094971, - 5.613333 - ], - [ - 168.113586, - 5.600277 - ] - ] - ], - [ - [ - [ - 168.09024, - 5.630554 - ], - [ - 168.077148, - 5.650265 - ], - [ - 168.074982, - 5.631943 - ], - [ - 168.09024, - 5.630554 - ] - ] - ], - [ - [ - [ - 171.751923, - 6.080555 - ], - [ - 171.733582, - 6.096388 - ], - [ - 171.727173, - 6.08611 - ], - [ - 171.751923, - 6.080555 - ] - ] - ], - [ - [ - [ - 172.090515, - 6.219721 - ], - [ - 172.080261, - 6.229721 - ], - [ - 172.074127, - 6.222221 - ], - [ - 172.090515, - 6.219721 - ] - ] - ], - [ - [ - [ - 171.914154, - 7.092499 - ], - [ - 171.929962, - 7.133888 - ], - [ - 171.894135, - 7.101665 - ], - [ - 171.914154, - 7.092499 - ] - ] - ], - [ - [ - [ - 168.768036, - 7.298332 - ], - [ - 168.670258, - 7.328888 - ], - [ - 168.786377, - 7.288888 - ], - [ - 168.768036, - 7.298332 - ] - ] - ], - [ - [ - [ - 168.574677, - 7.398055 - ], - [ - 168.558594, - 7.471388 - ], - [ - 168.554962, - 7.423055 - ], - [ - 168.574677, - 7.398055 - ] - ] - ], - [ - [ - [ - 168.967194, - 7.574166 - ], - [ - 168.974976, - 7.60111 - ], - [ - 168.944427, - 7.615276 - ], - [ - 168.967194, - 7.574166 - ] - ] - ], - [ - [ - [ - 168.251373, - 7.749443 - ], - [ - 168.220245, - 7.766944 - ], - [ - 168.233582, - 7.74861 - ], - [ - 168.251373, - 7.749443 - ] - ] - ], - [ - [ - [ - 167.738861, - 8.725275 - ], - [ - 167.740784, - 8.747776 - ], - [ - 167.724396, - 8.729719 - ], - [ - 167.738861, - 8.725275 - ] - ] - ], - [ - [ - [ - 170.844971, - 8.886944 - ], - [ - 170.846924, - 8.916109 - ], - [ - 170.834961, - 8.893332 - ], - [ - 170.844971, - 8.886944 - ] - ] - ], - [ - [ - [ - 165.536926, - 9.19722 - ], - [ - 165.526917, - 9.218609 - ], - [ - 165.522491, - 9.207775 - ], - [ - 165.536926, - 9.19722 - ] - ] - ], - [ - [ - [ - 166.829956, - 9.32222 - ], - [ - 166.830261, - 9.335831 - ], - [ - 166.811646, - 9.336943 - ], - [ - 166.829956, - 9.32222 - ] - ] - ], - [ - [ - [ - 170.248016, - 9.544722 - ], - [ - 170.233307, - 9.558887 - ], - [ - 170.244965, - 9.533609 - ], - [ - 170.248016, - 9.544722 - ] - ] - ], - [ - [ - [ - 170.15387, - 9.639442 - ], - [ - 170.161652, - 9.645277 - ], - [ - 170.135529, - 9.633333 - ], - [ - 170.15387, - 9.639442 - ] - ] - ], - [ - [ - [ - 169.971619, - 10.436386 - ], - [ - 169.944122, - 10.451109 - ], - [ - 169.963867, - 10.433332 - ], - [ - 169.971619, - 10.436386 - ] - ] - ], - [ - [ - [ - 166.885254, - 11.144722 - ], - [ - 166.900543, - 11.16861 - ], - [ - 166.841339, - 11.153332 - ], - [ - 166.885254, - 11.144722 - ] - ] - ], - [ - [ - [ - 169.866913, - 11.232775 - ], - [ - 169.858856, - 11.241386 - ], - [ - 169.85553, - 11.231941 - ], - [ - 169.866913, - 11.232775 - ] - ] - ], - [ - [ - [ - 162.338287, - 11.351942 - ], - [ - 162.341644, - 11.362219 - ], - [ - 162.323578, - 11.354164 - ], - [ - 162.338287, - 11.351942 - ] - ] - ], - [ - [ - [ - 167.520813, - 11.377775 - ], - [ - 167.526093, - 11.386665 - ], - [ - 167.512207, - 11.393888 - ], - [ - 167.520813, - 11.377775 - ] - ] - ], - [ - [ - [ - 165.556091, - 11.615831 - ], - [ - 165.547211, - 11.634443 - ], - [ - 165.513031, - 11.638611 - ], - [ - 165.556091, - 11.615831 - ] - ] - ], - [ - [ - [ - 165.291656, - 11.700554 - ], - [ - 165.284698, - 11.714165 - ], - [ - 165.271912, - 11.706387 - ], - [ - 165.291656, - 11.700554 - ] - ] - ], - [ - [ - [ - 168.987732, - 14.580832 - ], - [ - 169.003876, - 14.598053 - ], - [ - 168.974976, - 14.58111 - ], - [ - 168.987732, - 14.580832 - ] - ] - ] - ] - }, - "name" : "Marshall Islands", - "iso2" : "MH", - "iso3" : "MHL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "K71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -56.150833, - 46.758049 - ], - [ - -56.173889, - 46.80999 - ], - [ - -56.237221, - 46.763885 - ], - [ - -56.150833, - 46.758049 - ] - ] - ], - [ - [ - [ - -56.271111, - 46.994156 - ], - [ - -56.390282, - 47.118881 - ], - [ - -56.368332, - 46.784721 - ], - [ - -56.271111, - 46.994156 - ] - ] - ] - ] - }, - "name" : "Saint Pierre and Miquelon", - "iso2" : "PM", - "iso3" : "SPM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "LL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -9.892223, - -40.390839 - ], - [ - -9.952223, - -40.306671 - ], - [ - -10.028612, - -40.309448 - ], - [ - -9.892223, - -40.390839 - ] - ] - ], - [ - [ - [ - -12.20639, - -37.112503 - ], - [ - -12.259445, - -37.05278 - ], - [ - -12.331667, - -37.107506 - ], - [ - -12.20639, - -37.112503 - ] - ] - ], - [ - [ - [ - -5.662223, - -15.987501 - ], - [ - -5.704167, - -15.903057 - ], - [ - -5.793056, - -15.994167 - ], - [ - -5.662223, - -15.987501 - ] - ] - ], - [ - [ - [ - -14.36389, - -7.979723 - ], - [ - -14.293056, - -7.945278 - ], - [ - -14.381945, - -7.883612 - ], - [ - -14.36389, - -7.979723 - ] - ] - ] - ] - }, - "name" : "Saint Helena", - "iso2" : "SH", - "iso3" : "SHN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Lb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 12.459166, - 43.896111 - ], - [ - 12.509998, - 43.986938 - ], - [ - 12.415798, - 43.957954 - ], - [ - 12.459166, - 43.896111 - ] - ] - ] - }, - "name" : "San Marino", - "iso2" : "SM", - "iso3" : "SMR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Lr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -71.140289, - 21.431942 - ], - [ - -71.135559, - 21.511108 - ], - [ - -71.150558, - 21.470833 - ], - [ - -71.140289, - 21.431942 - ] - ] - ], - [ - [ - [ - -72.460556, - 21.629719 - ], - [ - -72.433624, - 21.713333 - ], - [ - -72.45668, - 21.699718 - ], - [ - -72.460556, - 21.629719 - ] - ] - ], - [ - [ - [ - -71.468903, - 21.654999 - ], - [ - -71.462784, - 21.720833 - ], - [ - -71.53334, - 21.734444 - ], - [ - -71.468903, - 21.654999 - ] - ] - ], - [ - [ - [ - -71.657791, - 21.82333 - ], - [ - -71.850571, - 21.845833 - ], - [ - -71.65889, - 21.739719 - ], - [ - -71.657791, - 21.82333 - ] - ] - ], - [ - [ - [ - -72.262222, - 21.75111 - ], - [ - -72.247787, - 21.795555 - ], - [ - -72.327225, - 21.855831 - ], - [ - -72.262222, - 21.75111 - ] - ] - ], - [ - [ - [ - -71.884171, - 21.847221 - ], - [ - -71.912231, - 21.943333 - ], - [ - -72.03334, - 21.942776 - ], - [ - -71.884171, - 21.847221 - ] - ] - ] - ] - }, - "name" : "Turks and Caicos Islands", - "iso2" : "TC", - "iso3" : "TCA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "L71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -17.05233, - 20.764095 - ], - [ - -16.953056, - 21.338333 - ], - [ - -15.741997, - 21.338284 - ], - [ - -12.999723, - 21.338055 - ], - [ - -13.105278, - 22.893055 - ], - [ - -12.000278, - 23.454441 - ], - [ - -12.000557, - 26 - ], - [ - -8.666945, - 26.000275 - ], - [ - -8.66679, - 27.290459 - ], - [ - -8.666668, - 27.666664 - ], - [ - -13.174961, - 27.666958 - ], - [ - -13.574167, - 26.731667 - ], - [ - -14.480278, - 26.171108 - ], - [ - -14.901112, - 24.688053 - ], - [ - -15.838058, - 23.896938 - ], - [ - -16.00639, - 23.6675 - ], - [ - -15.777225, - 23.908882 - ], - [ - -15.766668, - 23.781666 - ], - [ - -16.075558, - 23.324444 - ], - [ - -16.491112, - 22.334164 - ], - [ - -16.719448, - 22.26083 - ], - [ - -16.917225, - 21.943054 - ], - [ - -17.05233, - 20.764095 - ] - ] - ] - }, - "name" : "Western Sahara", - "iso2" : "EH", - "iso3" : "ESH" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ML1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 20.295954, - 42.824291 - ], - [ - 20.071423, - 42.560913 - ], - [ - 20.589642, - 41.882187 - ], - [ - 21.630444, - 42.141091 - ], - [ - 21.576636, - 42.245224 - ], - [ - 21.54332, - 42.32025 - ], - [ - 21.66292, - 42.43922 - ], - [ - 21.77505, - 42.6827 - ], - [ - 21.63302, - 42.67717 - ], - [ - 21.43866, - 42.86255 - ], - [ - 21.27421, - 42.90959 - ], - [ - 21.143395, - 43.068685 - ], - [ - 20.95651, - 43.13094 - ], - [ - 20.81448, - 43.27205 - ], - [ - 20.63508, - 43.21671 - ], - [ - 20.49679, - 42.88469 - ], - [ - 20.295954, - 42.824291 - ] - ] - ] - }, - "name" : "Kosovo", - "iso2" : "XK", - "iso3" : "XKX" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Mb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 12.44509, - 41.903118 - ], - [ - 12.45666, - 41.901426 - ], - [ - 12.451653, - 41.907989 - ], - [ - 12.44509, - 41.903118 - ] - ] - ] - }, - "name" : "Holy See (Vatican City)", - "iso2" : "VA", - "iso3" : "VAT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Mr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -8.290895, - 70.974154 - ], - [ - -7.927002, - 71.15082 - ], - [ - -9.120058, - 70.857759 - ], - [ - -8.290895, - 70.974154 - ] - ] - ], - [ - [ - [ - 19.18194, - 74.359713 - ], - [ - 19.299723, - 74.474993 - ], - [ - 18.791945, - 74.481661 - ], - [ - 19.18194, - 74.359713 - ] - ] - ], - [ - [ - [ - 25.016111, - 76.466387 - ], - [ - 25.58222, - 76.706652 - ], - [ - 24.936384, - 76.44887 - ], - [ - 25.016111, - 76.466387 - ] - ] - ], - [ - [ - [ - 23.285555, - 77.264711 - ], - [ - 23.036386, - 77.259996 - ], - [ - 23.135275, - 77.235262 - ], - [ - 23.285555, - 77.264711 - ] - ] - ], - [ - [ - [ - 23.336111, - 78.197481 - ], - [ - 20.903051, - 78.114992 - ], - [ - 21.644999, - 77.912493 - ], - [ - 20.858889, - 77.462496 - ], - [ - 22.778334, - 77.547762 - ], - [ - 22.407499, - 77.420824 - ], - [ - 22.641108, - 77.253054 - ], - [ - 24.910276, - 77.749712 - ], - [ - 23.059721, - 78.0161 - ], - [ - 23.336111, - 78.197481 - ] - ] - ], - [ - [ - [ - 21.501665, - 78.565538 - ], - [ - 20.12472, - 78.472216 - ], - [ - 20.67111, - 78.187487 - ], - [ - 22.271944, - 78.263613 - ], - [ - 22.028887, - 78.580828 - ], - [ - 21.501665, - 78.565538 - ] - ] - ], - [ - [ - [ - 26.847498, - 78.707491 - ], - [ - 27.0175, - 78.693041 - ], - [ - 26.396387, - 78.77083 - ], - [ - 26.847498, - 78.707491 - ] - ] - ], - [ - [ - [ - 11.271944, - 78.606936 - ], - [ - 10.488611, - 78.896379 - ], - [ - 12.16361, - 78.199709 - ], - [ - 11.271944, - 78.606936 - ] - ] - ], - [ - [ - [ - 29.030554, - 78.916094 - ], - [ - 28.01972, - 78.867479 - ], - [ - 29.708052, - 78.896379 - ], - [ - 29.030554, - 78.916094 - ] - ] - ], - [ - [ - [ - 30.20944, - 78.976381 - ], - [ - 30.336111, - 78.988878 - ], - [ - 30.066942, - 79.001101 - ], - [ - 30.20944, - 78.976381 - ] - ] - ], - [ - [ - [ - 21.226107, - 79.037493 - ], - [ - 20.923609, - 79.029985 - ], - [ - 20.982496, - 79.014162 - ], - [ - 21.226107, - 79.037493 - ] - ] - ], - [ - [ - [ - 20.833055, - 79.054155 - ], - [ - 20.19972, - 79.124697 - ], - [ - 20.04611, - 79.037493 - ], - [ - 20.833055, - 79.054155 - ] - ] - ], - [ - [ - [ - 20.007502, - 79.242205 - ], - [ - 20.168886, - 79.319155 - ], - [ - 19.954718, - 79.226656 - ], - [ - 20.007502, - 79.242205 - ] - ] - ], - [ - [ - [ - 20.109442, - 79.365816 - ], - [ - 19.628332, - 79.388323 - ], - [ - 20.180277, - 79.338884 - ], - [ - 20.109442, - 79.365816 - ] - ] - ], - [ - [ - [ - 10.922777, - 79.651094 - ], - [ - 11.076109, - 79.662767 - ], - [ - 10.712221, - 79.71361 - ], - [ - 10.922777, - 79.651094 - ] - ] - ], - [ - [ - [ - 11.000555, - 79.740267 - ], - [ - 10.756109, - 79.783327 - ], - [ - 10.639166, - 79.750002 - ], - [ - 11.000555, - 79.740267 - ] - ] - ], - [ - [ - [ - 16.819166, - 79.87221 - ], - [ - 16.307775, - 80.062761 - ], - [ - 15.638056, - 79.827211 - ], - [ - 16.449999, - 78.903872 - ], - [ - 14.584997, - 79.804155 - ], - [ - 13.886946, - 79.541368 - ], - [ - 14.058889, - 79.260271 - ], - [ - 13.257223, - 79.471376 - ], - [ - 13.484442, - 79.580828 - ], - [ - 12.447779, - 79.566378 - ], - [ - 13.82472, - 79.875261 - ], - [ - 10.676943, - 79.544985 - ], - [ - 11.236387, - 79.09305 - ], - [ - 12.113054, - 79.295824 - ], - [ - 11.755278, - 79.075823 - ], - [ - 12.505556, - 78.908037 - ], - [ - 11.333334, - 78.960543 - ], - [ - 13.19861, - 78.540819 - ], - [ - 12.360556, - 78.480272 - ], - [ - 13.006666, - 78.197481 - ], - [ - 14.726389, - 78.383883 - ], - [ - 14.385557, - 78.497759 - ], - [ - 15.379999, - 78.844713 - ], - [ - 15.193331, - 78.588045 - ], - [ - 15.464167, - 78.451662 - ], - [ - 16.83111, - 78.671923 - ], - [ - 16.328886, - 78.452211 - ], - [ - 17.301664, - 78.420259 - ], - [ - 13.588888, - 78.049425 - ], - [ - 13.941942, - 77.716661 - ], - [ - 17.006109, - 77.931368 - ], - [ - 14.739164, - 77.658602 - ], - [ - 16.223051, - 77.434984 - ], - [ - 13.914167, - 77.527773 - ], - [ - 14.467222, - 77.171648 - ], - [ - 16.51972, - 76.998598 - ], - [ - 15.498053, - 76.879976 - ], - [ - 16.612776, - 76.570543 - ], - [ - 17.198332, - 76.694704 - ], - [ - 16.919165, - 76.799715 - ], - [ - 17.738329, - 77.471102 - ], - [ - 18.292776, - 77.50638 - ], - [ - 18.41083, - 78.021654 - ], - [ - 19.092222, - 78.095537 - ], - [ - 18.965551, - 78.456102 - ], - [ - 21.549166, - 78.767763 - ], - [ - 18.920553, - 79.164156 - ], - [ - 18.356943, - 79.628313 - ], - [ - 17.635553, - 79.372484 - ], - [ - 18.098333, - 79.720263 - ], - [ - 16.819166, - 79.87221 - ] - ] - ], - [ - [ - [ - 27.837778, - 80.110262 - ], - [ - 28.074442, - 80.144152 - ], - [ - 27.674166, - 80.122759 - ], - [ - 27.837778, - 80.110262 - ] - ] - ], - [ - [ - [ - 36.849161, - 80.139986 - ], - [ - 36.760279, - 80.160814 - ], - [ - 36.590548, - 80.154985 - ], - [ - 36.849161, - 80.139986 - ] - ] - ], - [ - [ - [ - 32.366388, - 80.094439 - ], - [ - 33.637499, - 80.21332 - ], - [ - 31.449442, - 80.085817 - ], - [ - 32.366388, - 80.094439 - ] - ] - ], - [ - [ - [ - 18.553331, - 80.245531 - ], - [ - 18.758612, - 80.301928 - ], - [ - 18.119444, - 80.284716 - ], - [ - 18.553331, - 80.245531 - ] - ] - ], - [ - [ - [ - 24.335833, - 80.384157 - ], - [ - 24.196943, - 80.454165 - ], - [ - 24.128611, - 80.393053 - ], - [ - 24.335833, - 80.384157 - ] - ] - ], - [ - [ - [ - 19.933332, - 80.47748 - ], - [ - 19.463331, - 80.454714 - ], - [ - 19.837778, - 80.213884 - ], - [ - 18.979998, - 80.336657 - ], - [ - 19.584166, - 80.151384 - ], - [ - 19.340555, - 80.086382 - ], - [ - 17.783056, - 80.127764 - ], - [ - 18.809443, - 79.994707 - ], - [ - 18.154165, - 79.90999 - ], - [ - 18.771387, - 79.717485 - ], - [ - 22.312498, - 79.796938 - ], - [ - 19.635553, - 79.603868 - ], - [ - 23.511667, - 79.178865 - ], - [ - 27.244997, - 79.904985 - ], - [ - 24.836386, - 80.350817 - ], - [ - 23.101389, - 80.120821 - ], - [ - 23.36083, - 80.42943 - ], - [ - 22.886942, - 80.490267 - ], - [ - 22.361109, - 80.410265 - ], - [ - 22.578611, - 80.298601 - ], - [ - 22.226385, - 79.979158 - ], - [ - 21.598608, - 80.118319 - ], - [ - 21.860556, - 80.267763 - ], - [ - 19.933332, - 80.47748 - ] - ] - ], - [ - [ - [ - 24.265001, - 80.471102 - ], - [ - 24.174997, - 80.509157 - ], - [ - 23.97444, - 80.490541 - ], - [ - 24.265001, - 80.471102 - ] - ] - ], - [ - [ - [ - 19.933332, - 80.47748 - ], - [ - 20.130278, - 80.512774 - ], - [ - 19.844721, - 80.503054 - ], - [ - 19.933332, - 80.47748 - ] - ] - ], - [ - [ - [ - 20.753611, - 80.62137 - ], - [ - 20.793333, - 80.647493 - ], - [ - 20.499163, - 80.657763 - ], - [ - 20.753611, - 80.62137 - ] - ] - ], - [ - [ - [ - 21.330278, - 80.700274 - ], - [ - 21.026388, - 80.681658 - ], - [ - 21.365, - 80.678865 - ], - [ - 21.330278, - 80.700274 - ] - ] - ], - [ - [ - [ - 20.819166, - 80.719149 - ], - [ - 21.006666, - 80.701387 - ], - [ - 20.518332, - 80.759996 - ], - [ - 20.819166, - 80.719149 - ] - ] - ] - ] - }, - "name" : "Svalbard", - "iso2" : "SJ", - "iso3" : "SJM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "M71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -63.011459, - 18.067276 - ], - [ - -63.006668, - 18.080555 - ], - [ - -63.139839, - 18.058601 - ], - [ - -63.011459, - 18.067276 - ] - ] - ] - }, - "name" : "Saint Martin", - "iso2" : "MF", - "iso3" : "MAF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "NL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -63.139839, - 18.058601 - ], - [ - -63.028336, - 18.015553 - ], - [ - -63.011459, - 18.067276 - ], - [ - -63.139839, - 18.058601 - ] - ] - ] - }, - "name" : "Sint Maarten", - "iso2" : "SX", - "iso3" : "SXM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Nb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -2.590834, - 49.422493 - ], - [ - -2.501667, - 49.507774 - ], - [ - -2.670278, - 49.434166 - ], - [ - -2.590834, - 49.422493 - ] - ] - ] - }, - "name" : "Guernsey", - "iso2" : "GG", - "iso3" : "GGY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Nr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -2.015, - 49.214165 - ], - [ - -2.247222, - 49.253052 - ], - [ - -2.205278, - 49.180832 - ], - [ - -2.015, - 49.214165 - ] - ] - ] - }, - "name" : "Jersey", - "iso2" : "JE", - "iso3" : "JEY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "N71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -27.325836, - -59.427223 - ], - [ - -27.412502, - -59.434448 - ], - [ - -27.298058, - -59.473061 - ], - [ - -27.325836, - -59.427223 - ] - ] - ], - [ - [ - [ - -26.582779, - -59.070007 - ], - [ - -26.501114, - -59.036949 - ], - [ - -26.665001, - -59.025841 - ], - [ - -26.582779, - -59.070007 - ] - ] - ], - [ - [ - [ - -26.246391, - -58.407501 - ], - [ - -26.459167, - -58.427223 - ], - [ - -26.24889, - -58.498611 - ], - [ - -26.246391, - -58.407501 - ] - ] - ], - [ - [ - [ - -26.412781, - -57.80806 - ], - [ - -26.443336, - -57.743896 - ], - [ - -26.512222, - -57.771118 - ], - [ - -26.412781, - -57.80806 - ] - ] - ], - [ - [ - [ - -26.660835, - -57.086395 - ], - [ - -26.675835, - -57.056396 - ], - [ - -26.728889, - -57.062782 - ], - [ - -26.660835, - -57.086395 - ] - ] - ], - [ - [ - [ - -27.108612, - -56.717506 - ], - [ - -27.129448, - -56.682228 - ], - [ - -27.209724, - -56.693611 - ], - [ - -27.108612, - -56.717506 - ] - ] - ], - [ - [ - [ - -27.563892, - -56.320557 - ], - [ - -27.549446, - -56.27417 - ], - [ - -27.600002, - -56.281113 - ], - [ - -27.563892, - -56.320557 - ] - ] - ], - [ - [ - [ - -37.038612, - -54.511673 - ], - [ - -37.105835, - -54.471115 - ], - [ - -37.083618, - -54.512779 - ], - [ - -37.038612, - -54.511673 - ] - ] - ], - [ - [ - [ - -37.495003, - -54.010559 - ], - [ - -38.033058, - -54.048889 - ], - [ - -37.239449, - -54.147781 - ], - [ - -37.411392, - -54.268333 - ], - [ - -36.115837, - -54.887222 - ], - [ - -35.782501, - -54.765556 - ], - [ - -36.288063, - -54.266396 - ], - [ - -37.495003, - -54.010559 - ] - ] - ] - ] - }, - "name" : "South Georgia South Sandwich Islands", - "iso2" : "GS", - "iso3" : "SGS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "OL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 121.576393, - 22.001389 - ], - [ - 121.546944, - 22.078053 - ], - [ - 121.490257, - 22.078609 - ], - [ - 121.576393, - 22.001389 - ] - ] - ], - [ - [ - [ - 119.669434, - 23.549999 - ], - [ - 119.598328, - 23.606941 - ], - [ - 119.526703, - 23.535461 - ], - [ - 119.669434, - 23.549999 - ] - ] - ], - [ - [ - [ - 118.223602, - 24.404163 - ], - [ - 118.241364, - 24.445827 - ], - [ - 118.207489, - 24.412495 - ], - [ - 118.223602, - 24.404163 - ] - ] - ], - [ - [ - [ - 118.419144, - 24.395828 - ], - [ - 118.401657, - 24.521664 - ], - [ - 118.275543, - 24.399162 - ], - [ - 118.419144, - 24.395828 - ] - ] - ], - [ - [ - [ - 121.734711, - 25.138885 - ], - [ - 121.009163, - 25.008888 - ], - [ - 120.111366, - 23.620274 - ], - [ - 120.052757, - 23.044998 - ], - [ - 120.716377, - 21.928051 - ], - [ - 121.839706, - 24.476383 - ], - [ - 122.002213, - 25.006943 - ], - [ - 121.734711, - 25.138885 - ] - ] - ], - [ - [ - [ - 119.929428, - 26.134995 - ], - [ - 119.952477, - 26.159996 - ], - [ - 119.909416, - 26.159439 - ], - [ - 119.929428, - 26.134995 - ] - ] - ], - [ - [ - [ - 119.967209, - 26.187496 - ], - [ - 120.006104, - 26.219162 - ], - [ - 119.956383, - 26.215549 - ], - [ - 119.967209, - 26.187496 - ] - ] - ] - ] - }, - "name" : "Taiwan", - "iso2" : "TW", - "iso3" : "TWN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ob1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -68.965561, - 12.198889 - ], - [ - -68.746948, - 12.040277 - ], - [ - -69.16362, - 12.366388 - ], - [ - -68.965561, - 12.198889 - ] - ] - ] - }, - "name" : "Curaçao", - "iso2" : "CW", - "iso3" : "CUW" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Or1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 34.195517, - 9.47239 - ], - [ - 34.28611, - 10.554165 - ], - [ - 34.594444, - 10.887777 - ], - [ - 34.864441, - 10.734999 - ], - [ - 35.096939, - 11.826944 - ], - [ - 35.70108, - 12.666115 - ], - [ - 36.142693, - 12.706923 - ], - [ - 36.542816, - 14.262053 - ], - [ - 36.443283, - 15.149952 - ], - [ - 36.973053, - 16.269444 - ], - [ - 36.995827, - 17.073887 - ], - [ - 37.423286, - 17.034214 - ], - [ - 38.600693, - 17.994881 - ], - [ - 37.433327, - 18.858055 - ], - [ - 37.10527, - 21.212219 - ], - [ - 37.309441, - 21.060276 - ], - [ - 36.888466, - 22.000111 - ], - [ - 31.453888, - 21.998333 - ], - [ - 31.455555, - 22.23222 - ], - [ - 31.271111, - 21.998333 - ], - [ - 25.001423, - 21.999695 - ], - [ - 25.000832, - 19.999119 - ], - [ - 24.000832, - 20.001942 - ], - [ - 24.002747, - 19.499065 - ], - [ - 23.999603, - 15.698709 - ], - [ - 22.937222, - 15.561943 - ], - [ - 22.935833, - 15.11611 - ], - [ - 22.384163, - 14.554165 - ], - [ - 22.554996, - 14.125555 - ], - [ - 22.084442, - 13.779165 - ], - [ - 22.294167, - 13.35861 - ], - [ - 21.827774, - 12.797499 - ], - [ - 22.466942, - 12.621666 - ], - [ - 22.866505, - 10.922447 - ], - [ - 23.669167, - 9.866943 - ], - [ - 23.517776, - 8.714167 - ], - [ - 24.047173, - 8.693076 - ], - [ - 24.537415, - 8.917538 - ], - [ - 24.794926, - 9.810241 - ], - [ - 25.069604, - 10.27376 - ], - [ - 25.790633, - 10.411099 - ], - [ - 25.962307, - 10.136421 - ], - [ - 26.1522, - 9.826436 - ], - [ - 26.477328, - 9.55273 - ], - [ - 26.752006, - 9.466893 - ], - [ - 27.112521, - 9.638567 - ], - [ - 27.833551, - 9.604232 - ], - [ - 27.97089, - 9.398224 - ], - [ - 28.966597, - 9.398224 - ], - [ - 29.000932, - 9.604232 - ], - [ - 29.515953, - 9.793074 - ], - [ - 29.618957, - 10.084919 - ], - [ - 29.996639, - 10.290927 - ], - [ - 30.837841, - 9.707237 - ], - [ - 31.352862, - 9.810241 - ], - [ - 31.850716, - 10.531271 - ], - [ - 32.400072, - 11.080626 - ], - [ - 32.314235, - 11.681484 - ], - [ - 32.073892, - 11.97333 - ], - [ - 32.67475, - 12.024832 - ], - [ - 32.743419, - 12.248008 - ], - [ - 33.206938, - 12.179338 - ], - [ - 33.086766, - 11.441141 - ], - [ - 33.206938, - 10.720112 - ], - [ - 33.721959, - 10.325262 - ], - [ - 33.842131, - 9.981915 - ], - [ - 33.824963, - 9.484061 - ], - [ - 33.963393, - 9.464285 - ], - [ - 34.195517, - 9.47239 - ] - ] - ], - [ - [ - [ - 37.268608, - 20.75111 - ], - [ - 37.263855, - 20.849724 - ], - [ - 37.242218, - 20.785831 - ], - [ - 37.268608, - 20.75111 - ] - ] - ] - ] - }, - "name" : "Sudan", - "iso2" : "SD", - "iso3" : "SDN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "O71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 21.630444, - 42.141091 - ], - [ - 22.365276, - 42.323883 - ], - [ - 22.442219, - 42.821663 - ], - [ - 23.004997, - 43.192772 - ], - [ - 22.367222, - 43.826942 - ], - [ - 22.681435, - 44.224701 - ], - [ - 22.457333, - 44.474358 - ], - [ - 22.764893, - 44.559006 - ], - [ - 22.479164, - 44.710274 - ], - [ - 22.146385, - 44.479164 - ], - [ - 21.400398, - 44.780823 - ], - [ - 21.513611, - 45.151108 - ], - [ - 20.261024, - 46.114853 - ], - [ - 18.81702, - 45.912964 - ], - [ - 18.980324, - 45.378624 - ], - [ - 19.423885, - 45.22583 - ], - [ - 19.039719, - 44.861382 - ], - [ - 19.371387, - 44.88916 - ], - [ - 19.104443, - 44.355827 - ], - [ - 19.620476, - 44.048454 - ], - [ - 19.237019, - 44.011009 - ], - [ - 19.51083, - 43.679718 - ], - [ - 19.228809, - 43.513214 - ], - [ - 20.348888, - 42.886383 - ], - [ - 20.295954, - 42.824291 - ], - [ - 20.49679, - 42.88469 - ], - [ - 20.63508, - 43.21671 - ], - [ - 20.81448, - 43.27205 - ], - [ - 20.95651, - 43.13094 - ], - [ - 21.143395, - 43.068685 - ], - [ - 21.27421, - 42.90959 - ], - [ - 21.43866, - 42.86255 - ], - [ - 21.63302, - 42.67717 - ], - [ - 21.77505, - 42.6827 - ], - [ - 21.66292, - 42.43922 - ], - [ - 21.54332, - 42.32025 - ], - [ - 21.576636, - 42.245224 - ], - [ - 21.630444, - 42.141091 - ] - ] - ] - }, - "name" : "Serbia", - "iso2" : "RS", - "iso3" : "SRB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "PL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -61.037224, - 16.311108 - ], - [ - -60.988617, - 16.346107 - ], - [ - -61.08667, - 16.29583 - ], - [ - -61.037224, - 16.311108 - ] - ] - ], - [ - [ - [ - -61.346115, - 16.334164 - ], - [ - -61.783615, - 16.333054 - ], - [ - -61.695007, - 15.949165 - ], - [ - -61.346115, - 16.334164 - ] - ] - ], - [ - [ - [ - -61.24556, - 15.871666 - ], - [ - -61.266945, - 16.014999 - ], - [ - -61.329445, - 15.92861 - ], - [ - -61.24556, - 15.871666 - ] - ] - ] - ] - }, - "name" : "Guadeloupe", - "iso2" : "GP", - "iso3" : "GLP" - } - } - ] - } - } - , + }, + searchResponse: search000json, }, '1.1.0': {}, }; diff --git a/x-pack/plugins/maps/server/mvt/get_tile.ts b/x-pack/plugins/maps/server/mvt/get_tile.ts index e5b242d46e7b2..764e7f93351f0 100644 --- a/x-pack/plugins/maps/server/mvt/get_tile.ts +++ b/x-pack/plugins/maps/server/mvt/get_tile.ts @@ -46,8 +46,6 @@ export async function getTile({ logger: Logger; requestBody: any; }): Promise { - logger.info(JSON.stringify({ x, y, z, requestBody, geometryFieldName })); - const geojsonBbox = tileToGeoJsonPolygon(x, y, z); let resultFeatures: Feature[]; diff --git a/x-pack/plugins/maps/server/mvt/mvt_routes.ts b/x-pack/plugins/maps/server/mvt/mvt_routes.ts index 72c499ca63606..bc901ccf63051 100644 --- a/x-pack/plugins/maps/server/mvt/mvt_routes.ts +++ b/x-pack/plugins/maps/server/mvt/mvt_routes.ts @@ -33,18 +33,7 @@ export function initMVTRoutes({ router, logger }: { logger: Logger; router: IRou const { query } = request; const callElasticsearch = async (type: string, ...args: any[]): Promise => { - logger.info('calling es'); - logger.info(type); - logger.info(JSON.stringify([...args])); - - const result = await context.core.elasticsearch.legacy.client.callAsCurrentUser( - type, - ...args - ); - - // logger.info(JSON.stringify(result)); - - return result; + return await context.core.elasticsearch.legacy.client.callAsCurrentUser(type, ...args); }; const requestBodyDSL = rison.decode(query.requestBody); From c73faef66c2786b6d5bf0eea4265ba4cedfb57c1 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Wed, 19 Aug 2020 11:42:30 -0400 Subject: [PATCH 19/51] exclude bbox-features from tooltips --- .../map/mb/tooltip_control/tooltip_control.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/maps/public/connected_components/map/mb/tooltip_control/tooltip_control.js b/x-pack/plugins/maps/public/connected_components/map/mb/tooltip_control/tooltip_control.js index 84a29db852539..f6ac27c9e7c75 100644 --- a/x-pack/plugins/maps/public/connected_components/map/mb/tooltip_control/tooltip_control.js +++ b/x-pack/plugins/maps/public/connected_components/map/mb/tooltip_control/tooltip_control.js @@ -6,7 +6,11 @@ import _ from 'lodash'; import React from 'react'; -import { FEATURE_ID_PROPERTY_NAME, LON_INDEX } from '../../../../../common/constants'; +import { + FEATURE_ID_PROPERTY_NAME, + KBN_TOO_MANY_FEATURES_PROPERTY, + LON_INDEX, +} from '../../../../../common/constants'; import { TooltipPopover } from './tooltip_popover'; function justifyAnchorLocation(mbLngLat, targetFeature) { @@ -175,7 +179,10 @@ export class TooltipControl extends React.Component { y: mbLngLatPoint.y + PADDING, }, ]; - return this.props.mbMap.queryRenderedFeatures(mbBbox, { layers: mbLayerIds }); + return this.props.mbMap.queryRenderedFeatures(mbBbox, { + layers: mbLayerIds, + filter: ['==', ['get', KBN_TOO_MANY_FEATURES_PROPERTY], false], + }); } render() { From 919024a4e623afb8e77ef2534fe61543abda0628 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Wed, 19 Aug 2020 12:20:30 -0400 Subject: [PATCH 20/51] only include required fields --- .../tiled_vector_layer/tiled_vector_layer.tsx | 2 +- .../es_search_source/es_search_source.js | 22 ++++++++++++++----- .../map/mb/tooltip_control/tooltip_control.js | 2 +- x-pack/plugins/maps/server/mvt/mvt_routes.ts | 1 - 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx index c1e660534f51c..70bf8ea3883b7 100644 --- a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx +++ b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx @@ -63,7 +63,7 @@ export class TiledVectorLayer extends VectorLayer { ); const prevDataRequest = this.getSourceDataRequest(); - const templateWithMeta = await this._source.getUrlTemplateWithMeta(dataFilters); + const templateWithMeta = await this._source.getUrlTemplateWithMeta(searchFilters); if (prevDataRequest) { const data: MVTSingleLayerVectorSourceConfig = prevDataRequest.getData() as MVTSingleLayerVectorSourceConfig; if (data) { diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js index e6d7539fc72ba..4f782ed73eac8 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.js @@ -585,20 +585,30 @@ export class ESSearchSource extends AbstractESSource { const indexPattern = await this.getIndexPattern(); const indexSettings = await loadIndexSettings(indexPattern.title); - const initialSearchContext = {}; + const { docValueFields, sourceOnlyFields } = getDocValueAndSourceFields( + indexPattern, + searchFilters.fieldNames + ); + + const initialSearchContext = { docvalue_fields: docValueFields }; // Request fields in docvalue_fields insted of _source const searchSource = await this.makeSearchSource( searchFilters, indexSettings.maxResultWindow, initialSearchContext ); - searchSource.setField('fields', searchFilters.fieldNames); + searchSource.setField('fields', searchFilters.fieldNames); // Setting "fields" filters out unused scripted fields + if (sourceOnlyFields.length === 0) { + searchSource.setField('source', false); // do not need anything from _source + } else { + searchSource.setField('source', sourceOnlyFields); + } + if (this._hasSort()) { + searchSource.setField('sort', this._buildEsSort()); + } const indexPatternTitle = indexPattern.title; const geometryFieldName = this._descriptor.geoField; - const fields = ['_id']; // todo needs to include correct fields - const fieldsParam = fields.join(','); - const dsl = await searchSource.getSearchRequestBody(); const risonDsl = rison.encode(dsl); @@ -607,7 +617,7 @@ export class ESSearchSource extends AbstractESSource { `/${GIS_API_PATH}/${MVT_GETTILE_API_PATH}` ); - const urlTemplate = `${mvtUrlServicePath}?x={x}&y={y}&z={z}&geometryFieldName=${geometryFieldName}&index=${indexPatternTitle}&fields=${fieldsParam}&requestBody=${risonDsl}`; + const urlTemplate = `${mvtUrlServicePath}?x={x}&y={y}&z={z}&geometryFieldName=${geometryFieldName}&index=${indexPatternTitle}&requestBody=${risonDsl}`; return { layerName: this.getLayerName(), minSourceZoom: this.getMinZoom(), diff --git a/x-pack/plugins/maps/public/connected_components/map/mb/tooltip_control/tooltip_control.js b/x-pack/plugins/maps/public/connected_components/map/mb/tooltip_control/tooltip_control.js index f6ac27c9e7c75..92e52a88d50ed 100644 --- a/x-pack/plugins/maps/public/connected_components/map/mb/tooltip_control/tooltip_control.js +++ b/x-pack/plugins/maps/public/connected_components/map/mb/tooltip_control/tooltip_control.js @@ -83,7 +83,7 @@ export class TooltipControl extends React.Component { // - As empty object literal // To avoid ambiguity, normalize properties to empty object literal. const mbProperties = mbFeature.properties ? mbFeature.properties : {}; - //This keeps track of first properties (assuming these will be identical for features in different tiles + //This keeps track of first properties (assuming these will be identical for features in different tiles) uniqueFeatures.push({ id: featureId, layerId: layerId, diff --git a/x-pack/plugins/maps/server/mvt/mvt_routes.ts b/x-pack/plugins/maps/server/mvt/mvt_routes.ts index bc901ccf63051..32c14a355ba2a 100644 --- a/x-pack/plugins/maps/server/mvt/mvt_routes.ts +++ b/x-pack/plugins/maps/server/mvt/mvt_routes.ts @@ -23,7 +23,6 @@ export function initMVTRoutes({ router, logger }: { logger: Logger; router: IRou y: schema.number(), z: schema.number(), geometryFieldName: schema.string(), - fields: schema.string(), requestBody: schema.string(), index: schema.string(), }), From 6e2455fd3306ba9a91106b46b17b3f4e3cabcbd9 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Thu, 20 Aug 2020 15:13:11 -0400 Subject: [PATCH 21/51] simplify test --- .../mvt/__tests__/json/0_0_0_search.json | 123958 +-------------- .../maps/server/mvt/__tests__/pbf/0_0_0.pbf | Bin 39039 -> 157 bytes .../server/mvt/__tests__/tile_searches.ts | 5 +- 3 files changed, 4 insertions(+), 123959 deletions(-) diff --git a/x-pack/plugins/maps/server/mvt/__tests__/json/0_0_0_search.json b/x-pack/plugins/maps/server/mvt/__tests__/json/0_0_0_search.json index 340fe3b86edcd..42276650788c2 100644 --- a/x-pack/plugins/maps/server/mvt/__tests__/json/0_0_0_search.json +++ b/x-pack/plugins/maps/server/mvt/__tests__/json/0_0_0_search.json @@ -1,123957 +1 @@ -{ - "took" : 13, - "timed_out" : false, - "_shards" : { - "total" : 1, - "successful" : 1, - "skipped" : 0, - "failed" : 0 - }, - "hits" : { - "total" : { - "value" : 250, - "relation" : "eq" - }, - "max_score" : 0.0, - "hits" : [ - { - "_index" : "world_countries_v1", - "_id" : "Q71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -61.686668, - 17.024441 - ], - [ - -61.794449, - 17.16333 - ], - [ - -61.887222, - 17.105274 - ], - [ - -61.686668, - 17.024441 - ] - ] - ], - [ - [ - [ - -61.729172, - 17.608608 - ], - [ - -61.873062, - 17.703888 - ], - [ - -61.853058, - 17.583054 - ], - [ - -61.729172, - 17.608608 - ] - ] - ] - ] - }, - "name" : "Antigua and Barbuda", - "iso2" : "AG", - "iso3" : "ATG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "RL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 8.62203, - 36.941368 - ], - [ - 6.398333, - 37.086388 - ], - [ - 5.328055, - 36.640274 - ], - [ - 4.785832, - 36.894722 - ], - [ - 2.96361, - 36.802216 - ], - [ - 0.95, - 36.450272 - ], - [ - -2.209445, - 35.085831 - ], - [ - -1.747222, - 34.747215 - ], - [ - -1.668056, - 33.261108 - ], - [ - -1.010278, - 32.508331 - ], - [ - -1.180556, - 32.11055 - ], - [ - -2.853889, - 32.088333 - ], - [ - -3.818334, - 31.695553 - ], - [ - -3.626667, - 30.970554 - ], - [ - -4.920556, - 30.508053 - ], - [ - -5.538334, - 29.902496 - ], - [ - -7.123889, - 29.636944 - ], - [ - -8.667223, - 28.709442 - ], - [ - -8.666668, - 27.666664 - ], - [ - -8.66679, - 27.290459 - ], - [ - -6.662778, - 26.129166 - ], - [ - -4.806111, - 25.000275 - ], - [ - 1.169662, - 21.102543 - ], - [ - 1.1675, - 20.741108 - ], - [ - 1.795833, - 20.308331 - ], - [ - 3.233055, - 19.820274 - ], - [ - 3.331944, - 18.976387 - ], - [ - 4.245277, - 19.146664 - ], - [ - 5.812499, - 19.44611 - ], - [ - 7.450807, - 20.852863 - ], - [ - 11.986475, - 23.522305 - ], - [ - 11.558887, - 24.302498 - ], - [ - 10.252222, - 24.605831 - ], - [ - 9.398333, - 26.153332 - ], - [ - 9.871666, - 26.514164 - ], - [ - 9.948332, - 27.824444 - ], - [ - 9.766388, - 29.427776 - ], - [ - 9.303888, - 30.122498 - ], - [ - 9.537113, - 30.23439 - ], - [ - 9.055277, - 32.099998 - ], - [ - 8.34861, - 32.533333 - ], - [ - 7.492499, - 33.887497 - ], - [ - 8.251665, - 34.64444 - ], - [ - 8.183611, - 36.524162 - ], - [ - 8.62203, - 36.941368 - ] - ] - ] - }, - "name" : "Algeria", - "iso2" : "DZ", - "iso3" : "DZA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Rb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 46.178247, - 38.84115 - ], - [ - 45.819986, - 39.549723 - ], - [ - 45.083323, - 39.768045 - ], - [ - 44.778864, - 39.706385 - ], - [ - 44.813044, - 39.630816 - ], - [ - 45.004435, - 39.416384 - ], - [ - 46.178247, - 38.84115 - ] - ] - ], - [ - [ - [ - 45.513052, - 40.607222 - ], - [ - 45.573053, - 40.63249 - ], - [ - 45.517492, - 40.665541 - ], - [ - 45.513052, - 40.607222 - ] - ] - ], - [ - [ - [ - 45.245272, - 40.976942 - ], - [ - 45.195822, - 40.99777 - ], - [ - 45.229162, - 40.969152 - ], - [ - 45.245272, - 40.976942 - ] - ] - ], - [ - [ - [ - 45.045271, - 41.035273 - ], - [ - 45.001112, - 41.088881 - ], - [ - 45.009993, - 41.033052 - ], - [ - 45.045271, - 41.035273 - ] - ] - ], - [ - [ - [ - 48.583956, - 41.835772 - ], - [ - 47.766932, - 41.196093 - ], - [ - 46.571383, - 41.871935 - ], - [ - 46.451754, - 41.897058 - ], - [ - 46.194429, - 41.685823 - ], - [ - 46.693872, - 41.312204 - ], - [ - 46.520823, - 41.04999 - ], - [ - 45.336657, - 41.462496 - ], - [ - 45.022943, - 41.297052 - ], - [ - 45.153872, - 41.198603 - ], - [ - 46.00194, - 40.22555 - ], - [ - 45.595819, - 39.978045 - ], - [ - 46.541384, - 39.56444 - ], - [ - 46.540377, - 38.875589 - ], - [ - 47.976664, - 39.719233 - ], - [ - 48.359789, - 39.385218 - ], - [ - 48.020823, - 38.835543 - ], - [ - 48.888285, - 38.442408 - ], - [ - 49.488047, - 40.150537 - ], - [ - 50.374994, - 40.262217 - ], - [ - 49.528048, - 40.662767 - ], - [ - 48.583956, - 41.835772 - ] - ] - ] - ] - }, - "name" : "Azerbaijan", - "iso2" : "AZ", - "iso3" : "AZE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Rr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 19.367771, - 41.848999 - ], - [ - 19.600555, - 41.796661 - ], - [ - 19.436214, - 41.021065 - ], - [ - 19.478611, - 40.350273 - ], - [ - 19.288609, - 40.417496 - ], - [ - 19.863052, - 40.039719 - ], - [ - 20.010029, - 39.6912 - ], - [ - 20.671944, - 40.098053 - ], - [ - 20.98349, - 40.855888 - ], - [ - 20.82111, - 40.908882 - ], - [ - 20.492775, - 41.331108 - ], - [ - 20.589642, - 41.882187 - ], - [ - 20.071423, - 42.560913 - ], - [ - 19.645832, - 42.61805 - ], - [ - 19.367771, - 41.848999 - ] - ] - ] - }, - "name" : "Albania", - "iso2" : "AL", - "iso3" : "ALB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "R71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 46.540377, - 38.875589 - ], - [ - 46.541384, - 39.56444 - ], - [ - 45.595819, - 39.978045 - ], - [ - 46.00194, - 40.22555 - ], - [ - 45.153872, - 41.198603 - ], - [ - 45.022943, - 41.297052 - ], - [ - 43.460772, - 41.112963 - ], - [ - 43.75194, - 40.74 - ], - [ - 43.657495, - 40.108599 - ], - [ - 44.347216, - 40.02389 - ], - [ - 44.778864, - 39.706385 - ], - [ - 45.083323, - 39.768045 - ], - [ - 45.819986, - 39.549723 - ], - [ - 46.178247, - 38.84115 - ], - [ - 46.540377, - 38.875589 - ] - ], - [ - [ - 45.045271, - 41.035273 - ], - [ - 45.009993, - 41.033052 - ], - [ - 45.001112, - 41.088881 - ], - [ - 45.045271, - 41.035273 - ] - ], - [ - [ - 45.245272, - 40.976942 - ], - [ - 45.229162, - 40.969152 - ], - [ - 45.195822, - 40.99777 - ], - [ - 45.245272, - 40.976942 - ] - ], - [ - [ - 45.513052, - 40.607222 - ], - [ - 45.517492, - 40.665541 - ], - [ - 45.573053, - 40.63249 - ], - [ - 45.513052, - 40.607222 - ] - ] - ] - }, - "name" : "Armenia", - "iso2" : "AM", - "iso3" : "ARM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "SL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 11.750834, - -16.75528 - ], - [ - 11.775, - -16.804726 - ], - [ - 11.693609, - -16.535557 - ], - [ - 11.750834, - -16.75528 - ] - ] - ], - [ - [ - [ - 23.986208, - -10.870461 - ], - [ - 22.253889, - -11.209723 - ], - [ - 22.312223, - -10.364445 - ], - [ - 21.790556, - -9.405556 - ], - [ - 21.782961, - -7.280842 - ], - [ - 20.548716, - -7.283615 - ], - [ - 20.629747, - -6.913881 - ], - [ - 19.53895, - -6.996614 - ], - [ - 19.373056, - -7.996111 - ], - [ - 17.624166, - -8.098057 - ], - [ - 16.941668, - -7.19861 - ], - [ - 16.579721, - -5.900833 - ], - [ - 13.997499, - -5.848612 - ], - [ - 13.178881, - -5.856329 - ], - [ - 12.245001, - -6.098055 - ], - [ - 13.39139, - -8.387222 - ], - [ - 12.984446, - -9.087502 - ], - [ - 13.773611, - -10.684723 - ], - [ - 13.792501, - -11.791668 - ], - [ - 12.509722, - -13.42528 - ], - [ - 11.73139, - -15.846668 - ], - [ - 11.810835, - -15.993057 - ], - [ - 11.820833, - -16.503056 - ], - [ - 11.752783, - -17.254833 - ], - [ - 13.160555, - -16.952778 - ], - [ - 13.993219, - -17.423946 - ], - [ - 18.45154, - -17.389835 - ], - [ - 18.915834, - -17.815556 - ], - [ - 20.854166, - -18.016392 - ], - [ - 23.284723, - -17.662502 - ], - [ - 23.47611, - -17.625835 - ], - [ - 22.000151, - -16.171661 - ], - [ - 21.998335, - -13.004168 - ], - [ - 24.020555, - -13.00639 - ], - [ - 23.986208, - -10.870461 - ] - ] - ], - [ - [ - [ - 12.214552, - -5.768555 - ], - [ - 12.526667, - -5.724167 - ], - [ - 12.565554, - -5.025555 - ], - [ - 13.088888, - -4.6625 - ], - [ - 13.091391, - -4.633055 - ], - [ - 12.779047, - -4.38899 - ], - [ - 12.026133, - -5.014996 - ], - [ - 12.214552, - -5.768555 - ] - ] - ] - ] - }, - "name" : "Angola", - "iso2" : "AO", - "iso3" : "AGO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Sb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -170.542511, - -14.297503 - ], - [ - -170.540039, - -14.283892 - ], - [ - -170.560822, - -14.287781 - ], - [ - -170.542511, - -14.297503 - ] - ] - ], - [ - [ - [ - -170.637268, - -14.289446 - ], - [ - -170.560028, - -14.265837 - ], - [ - -170.826111, - -14.325003 - ], - [ - -170.637268, - -14.289446 - ] - ] - ], - [ - [ - [ - -169.444489, - -14.261667 - ], - [ - -169.536133, - -14.231668 - ], - [ - -169.513062, - -14.275833 - ], - [ - -169.444489, - -14.261667 - ] - ] - ], - [ - [ - [ - -169.62558, - -14.189722 - ], - [ - -169.621948, - -14.168612 - ], - [ - -169.644745, - -14.176111 - ], - [ - -169.62558, - -14.189722 - ] - ] - ], - [ - [ - [ - -169.685577, - -14.191944 - ], - [ - -169.662231, - -14.175001 - ], - [ - -169.690857, - -14.167501 - ], - [ - -169.685577, - -14.191944 - ] - ] - ] - ] - }, - "name" : "American Samoa", - "iso2" : "AS", - "iso3" : "ASM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Sr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -68.608612, - -54.891396 - ], - [ - -68.636124, - -54.804771 - ], - [ - -68.643112, - -54.888611 - ], - [ - -68.608612, - -54.891396 - ] - ] - ], - [ - [ - [ - -63.813614, - -54.731392 - ], - [ - -64.75528, - -54.835007 - ], - [ - -64.678345, - -54.907227 - ], - [ - -63.813614, - -54.731392 - ] - ] - ], - [ - [ - [ - -68.261948, - -52.98806 - ], - [ - -68.617584, - -52.64151 - ], - [ - -68.635834, - -54.788338 - ], - [ - -66.446121, - -55.051674 - ], - [ - -65.353897, - -54.929169 - ], - [ - -65.138062, - -54.651672 - ], - [ - -67.359177, - -54.028893 - ], - [ - -68.543625, - -53.229446 - ], - [ - -68.261948, - -52.98806 - ] - ] - ], - [ - [ - [ - -61.878891, - -39.2425 - ], - [ - -61.890556, - -39.139168 - ], - [ - -62.095284, - -39.089172 - ], - [ - -61.878891, - -39.2425 - ] - ] - ], - [ - [ - [ - -61.996948, - -39.066948 - ], - [ - -61.981392, - -39.026947 - ], - [ - -62.132782, - -39.01889 - ], - [ - -61.996948, - -39.066948 - ] - ] - ], - [ - [ - [ - -62.643768, - -22.238903 - ], - [ - -62.811951, - -21.996948 - ], - [ - -63.941116, - -22.000835 - ], - [ - -64.324722, - -22.873611 - ], - [ - -64.590561, - -22.214725 - ], - [ - -65.190201, - -22.09473 - ], - [ - -65.748062, - -22.111668 - ], - [ - -66.223007, - -21.780521 - ], - [ - -67.183624, - -22.821667 - ], - [ - -67.000839, - -23.002781 - ], - [ - -67.335846, - -24.021667 - ], - [ - -68.565002, - -24.774445 - ], - [ - -68.351959, - -25.117226 - ], - [ - -68.583618, - -26.50528 - ], - [ - -68.287231, - -26.915279 - ], - [ - -68.810837, - -27.120556 - ], - [ - -69.65538, - -28.400932 - ], - [ - -70.031403, - -29.306393 - ], - [ - -69.83168, - -30.190556 - ], - [ - -70.533066, - -31.188057 - ], - [ - -70.098892, - -33.172501 - ], - [ - -69.774445, - -33.381111 - ], - [ - -69.8125, - -34.235558 - ], - [ - -70.567505, - -35.24778 - ], - [ - -70.424316, - -36.13604 - ], - [ - -71.185287, - -36.842224 - ], - [ - -70.824173, - -38.568062 - ], - [ - -71.401398, - -38.92028 - ], - [ - -71.695557, - -39.58445 - ], - [ - -71.950562, - -40.73278 - ], - [ - -71.72612, - -42.096672 - ], - [ - -72.131958, - -42.288895 - ], - [ - -72.136948, - -43.009171 - ], - [ - -71.732788, - -43.188057 - ], - [ - -71.855011, - -44.371674 - ], - [ - -71.108063, - -44.539726 - ], - [ - -71.282227, - -44.800285 - ], - [ - -72.078613, - -44.769447 - ], - [ - -71.297791, - -45.293335 - ], - [ - -71.780563, - -45.648895 - ], - [ - -71.669449, - -46.679169 - ], - [ - -71.940292, - -46.815559 - ], - [ - -71.868622, - -47.221672 - ], - [ - -72.360291, - -47.470001 - ], - [ - -72.536392, - -47.921394 - ], - [ - -72.287231, - -48.341949 - ], - [ - -72.564178, - -48.804451 - ], - [ - -73.583618, - -49.538063 - ], - [ - -73.166122, - -50.753334 - ], - [ - -72.294174, - -50.649727 - ], - [ - -72.400558, - -51.513618 - ], - [ - -71.910568, - -51.995834 - ], - [ - -69.998337, - -51.996391 - ], - [ - -68.441757, - -52.377777 - ], - [ - -68.988068, - -51.624725 - ], - [ - -69.613892, - -51.625839 - ], - [ - -68.968063, - -51.573891 - ], - [ - -69.183624, - -50.970558 - ], - [ - -69.40889, - -51.077782 - ], - [ - -68.941116, - -50.388062 - ], - [ - -68.370285, - -50.146667 - ], - [ - -69.011124, - -50.011948 - ], - [ - -67.897232, - -49.98584 - ], - [ - -67.579453, - -49.034172 - ], - [ - -65.787231, - -47.962502 - ], - [ - -66.243622, - -47.860283 - ], - [ - -65.871948, - -47.758057 - ], - [ - -65.779449, - -47.189445 - ], - [ - -66.816956, - -46.991669 - ], - [ - -67.506119, - -46.458893 - ], - [ - -67.584351, - -46.000298 - ], - [ - -66.949448, - -45.255562 - ], - [ - -65.604736, - -45.016396 - ], - [ - -65.691681, - -44.716949 - ], - [ - -65.249451, - -44.313057 - ], - [ - -65.32251, - -43.653061 - ], - [ - -64.295013, - -42.991951 - ], - [ - -64.960556, - -42.666389 - ], - [ - -64.398056, - -42.515839 - ], - [ - -64.086945, - -42.890282 - ], - [ - -63.580559, - -42.623894 - ], - [ - -63.746948, - -42.090561 - ], - [ - -64.45195, - -42.445839 - ], - [ - -65.013626, - -42.092224 - ], - [ - -65.134445, - -40.847778 - ], - [ - -63.765839, - -41.16584 - ], - [ - -62.390007, - -40.901947 - ], - [ - -62.183891, - -40.629723 - ], - [ - -62.489449, - -40.299446 - ], - [ - -62.06778, - -39.505562 - ], - [ - -62.277229, - -39.335281 - ], - [ - -62.020004, - -39.378059 - ], - [ - -62.381393, - -38.798615 - ], - [ - -61.094452, - -38.995834 - ], - [ - -58.301117, - -38.485001 - ], - [ - -57.571671, - -38.133057 - ], - [ - -56.663063, - -36.900558 - ], - [ - -56.741669, - -36.318336 - ], - [ - -57.376671, - -35.962784 - ], - [ - -57.188339, - -35.320557 - ], - [ - -58.469727, - -34.539726 - ], - [ - -58.383896, - -34.05584 - ], - [ - -58.531952, - -33.516945 - ], - [ - -58.426949, - -33.096947 - ], - [ - -58.147224, - -33.051674 - ], - [ - -58.199242, - -32.45031 - ], - [ - -57.806396, - -30.748219 - ], - [ - -57.608002, - -30.184925 - ], - [ - -55.765282, - -28.226112 - ], - [ - -53.807785, - -27.129169 - ], - [ - -53.863335, - -25.681114 - ], - [ - -54.598915, - -25.573223 - ], - [ - -54.698334, - -26.438335 - ], - [ - -55.736115, - -27.439445 - ], - [ - -58.604622, - -27.316921 - ], - [ - -57.576668, - -25.549446 - ], - [ - -57.756111, - -25.176945 - ], - [ - -61.007782, - -23.813335 - ], - [ - -62.643768, - -22.238903 - ] - ] - ] - ] - }, - "name" : "Argentina", - "iso2" : "AR", - "iso3" : "ARG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "S71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 158.882174, - -54.711388 - ], - [ - 158.95746, - -54.474716 - ], - [ - 158.833315, - -54.749725 - ], - [ - 158.882174, - -54.711388 - ] - ] - ], - [ - [ - [ - 147.362734, - -43.398056 - ], - [ - 147.291933, - -43.261948 - ], - [ - 147.123018, - -43.421944 - ], - [ - 147.362734, - -43.398056 - ] - ] - ], - [ - [ - [ - 147.429689, - -43.253616 - ], - [ - 147.359957, - -43.073616 - ], - [ - 147.291933, - -43.164444 - ], - [ - 147.429689, - -43.253616 - ] - ] - ], - [ - [ - [ - 148.170534, - -42.663887 - ], - [ - 148.02109, - -42.618057 - ], - [ - 148.014162, - -42.753059 - ], - [ - 148.170534, - -42.663887 - ] - ] - ], - [ - [ - [ - 148.333315, - -42.358894 - ], - [ - 148.319124, - -42.312775 - ], - [ - 148.231081, - -42.301941 - ], - [ - 148.333315, - -42.358894 - ] - ] - ], - [ - [ - [ - 145.107729, - -40.821671 - ], - [ - 144.701357, - -40.759171 - ], - [ - 144.682467, - -41.223328 - ], - [ - 145.551912, - -42.344162 - ], - [ - 145.205233, - -42.25695 - ], - [ - 145.49692, - -42.957779 - ], - [ - 146.236361, - -43.327225 - ], - [ - 146.038301, - -43.498055 - ], - [ - 146.916704, - -43.617844 - ], - [ - 147.317476, - -42.846664 - ], - [ - 147.995241, - -43.229721 - ], - [ - 147.843019, - -42.869446 - ], - [ - 148.18387, - -41.943054 - ], - [ - 148.365511, - -42.215004 - ], - [ - 148.223299, - -40.850838 - ], - [ - 146.586092, - -41.186661 - ], - [ - 145.107729, - -40.821671 - ] - ] - ], - [ - [ - [ - 144.926363, - -40.722496 - ], - [ - 145.016085, - -40.695549 - ], - [ - 144.924135, - -40.61528 - ], - [ - 144.926363, - -40.722496 - ] - ] - ], - [ - [ - [ - 148.200258, - -40.594162 - ], - [ - 148.215792, - -40.501944 - ], - [ - 148.0972, - -40.53389 - ], - [ - 148.200258, - -40.594162 - ] - ] - ], - [ - [ - [ - 144.755556, - -40.596664 - ], - [ - 144.779696, - -40.409439 - ], - [ - 144.71747, - -40.503891 - ], - [ - 144.755556, - -40.596664 - ] - ] - ], - [ - [ - [ - 144.941347, - -40.458893 - ], - [ - 144.949709, - -40.387222 - ], - [ - 144.832186, - -40.433609 - ], - [ - 144.941347, - -40.458893 - ] - ] - ], - [ - [ - [ - 148.354677, - -40.315552 - ], - [ - 147.993563, - -40.420555 - ], - [ - 148.475801, - -40.443886 - ], - [ - 148.354677, - -40.315552 - ] - ] - ], - [ - [ - [ - 148.177462, - -40.25695 - ], - [ - 148.279421, - -39.965836 - ], - [ - 147.881899, - -39.754173 - ], - [ - 148.177462, - -40.25695 - ] - ] - ], - [ - [ - [ - 143.957735, - -40.110001 - ], - [ - 144.147493, - -39.927223 - ], - [ - 143.973024, - -39.573334 - ], - [ - 143.957735, - -40.110001 - ] - ] - ], - [ - [ - [ - 147.353579, - -39.499443 - ], - [ - 147.344423, - -39.448051 - ], - [ - 147.307467, - -39.487503 - ], - [ - 147.353579, - -39.499443 - ] - ] - ], - [ - [ - [ - 147.29999, - -39.482216 - ], - [ - 147.315523, - -39.431946 - ], - [ - 147.28525, - -39.473885 - ], - [ - 147.29999, - -39.482216 - ] - ] - ], - [ - [ - [ - 146.65555, - -38.769722 - ], - [ - 146.467745, - -38.758057 - ], - [ - 146.54471, - -38.800278 - ], - [ - 146.65555, - -38.769722 - ] - ] - ], - [ - [ - [ - 145.311647, - -38.467773 - ], - [ - 145.113588, - -38.528885 - ], - [ - 145.361361, - -38.569168 - ], - [ - 145.311647, - -38.467773 - ] - ] - ], - [ - [ - [ - 145.492739, - -38.374443 - ], - [ - 145.305819, - -38.296951 - ], - [ - 145.27109, - -38.363335 - ], - [ - 145.492739, - -38.374443 - ] - ] - ], - [ - [ - [ - 137.584963, - -35.650833 - ], - [ - 136.534426, - -35.912498 - ], - [ - 138.112734, - -35.86972 - ], - [ - 137.584963, - -35.650833 - ] - ] - ], - [ - [ - [ - 136.495241, - -35.17556 - ], - [ - 136.466646, - -35.138611 - ], - [ - 136.43442, - -35.158051 - ], - [ - 136.495241, - -35.17556 - ] - ] - ], - [ - [ - [ - 136.202761, - -35.07695 - ], - [ - 136.195803, - -35.02639 - ], - [ - 136.086641, - -34.94722 - ], - [ - 136.202761, - -35.07695 - ] - ] - ], - [ - [ - [ - 118.471918, - -34.938332 - ], - [ - 118.476381, - -34.91806 - ], - [ - 118.4247, - -34.907776 - ], - [ - 118.471918, - -34.938332 - ] - ] - ], - [ - [ - [ - 137.358004, - -34.540283 - ], - [ - 137.365786, - -34.477776 - ], - [ - 137.334414, - -34.515556 - ], - [ - 137.358004, - -34.540283 - ] - ] - ], - [ - [ - [ - 122.246935, - -34.151665 - ], - [ - 122.255548, - -34.124443 - ], - [ - 122.229982, - -34.112221 - ], - [ - 122.246935, - -34.151665 - ] - ] - ], - [ - [ - [ - 123.207491, - -34.111946 - ], - [ - 123.215822, - -34.086113 - ], - [ - 123.167765, - -34.094444 - ], - [ - 123.207491, - -34.111946 - ] - ] - ], - [ - [ - [ - 134.486635, - -33.779999 - ], - [ - 134.540255, - -33.696663 - ], - [ - 134.480257, - -33.714165 - ], - [ - 134.486635, - -33.779999 - ] - ] - ], - [ - [ - [ - 133.589418, - -32.311668 - ], - [ - 133.67499, - -32.240555 - ], - [ - 133.533602, - -32.304443 - ], - [ - 133.589418, - -32.311668 - ] - ] - ], - [ - [ - [ - 115.680269, - -32.228333 - ], - [ - 115.648882, - -32.152222 - ], - [ - 115.660814, - -32.233612 - ], - [ - 115.680269, - -32.228333 - ] - ] - ], - [ - [ - [ - 159.070803, - -31.523613 - ], - [ - 159.070803, - -31.599998 - ], - [ - 159.1019, - -31.571114 - ], - [ - 159.070803, - -31.523613 - ] - ] - ], - [ - [ - [ - 153.451357, - -27.729164 - ], - [ - 153.538576, - -27.416664 - ], - [ - 153.433596, - -27.416111 - ], - [ - 153.451357, - -27.729164 - ] - ] - ], - [ - [ - [ - 153.41498, - -27.248055 - ], - [ - 153.425264, - -27.362778 - ], - [ - 153.454134, - -27.01778 - ], - [ - 153.41498, - -27.248055 - ] - ] - ], - [ - [ - [ - 113.209154, - -26.140835 - ], - [ - 112.951105, - -25.488609 - ], - [ - 112.953325, - -25.786945 - ], - [ - 113.209154, - -26.140835 - ] - ] - ], - [ - [ - [ - 153.003603, - -25.34 - ], - [ - 152.992464, - -25.307777 - ], - [ - 152.948854, - -25.272503 - ], - [ - 153.003603, - -25.34 - ] - ] - ], - [ - [ - [ - 113.07361, - -25.233608 - ], - [ - 113.101648, - -25.097221 - ], - [ - 113.061655, - -25.278614 - ], - [ - 113.07361, - -25.233608 - ] - ] - ], - [ - [ - [ - 113.139711, - -24.926666 - ], - [ - 113.147219, - -24.760002 - ], - [ - 113.114992, - -24.995831 - ], - [ - 113.139711, - -24.926666 - ] - ] - ], - [ - [ - [ - 153.077181, - -25.798611 - ], - [ - 153.281649, - -24.699165 - ], - [ - 152.943026, - -25.558334 - ], - [ - 153.077181, - -25.798611 - ] - ] - ], - [ - [ - [ - 151.382174, - -23.882778 - ], - [ - 151.326906, - -23.753056 - ], - [ - 151.330538, - -23.813335 - ], - [ - 151.382174, - -23.882778 - ] - ] - ], - [ - [ - [ - 151.269442, - -23.780556 - ], - [ - 151.203035, - -23.528889 - ], - [ - 151.019991, - -23.454445 - ], - [ - 151.269442, - -23.780556 - ] - ] - ], - [ - [ - [ - 150.98218, - -23.195553 - ], - [ - 150.978304, - -23.150555 - ], - [ - 150.947206, - -23.195553 - ], - [ - 150.98218, - -23.195553 - ] - ] - ], - [ - [ - [ - 149.735506, - -22.423054 - ], - [ - 149.760805, - -22.363888 - ], - [ - 149.733583, - -22.340557 - ], - [ - 149.735506, - -22.423054 - ] - ] - ], - [ - [ - [ - 150.49164, - -22.354721 - ], - [ - 150.560244, - -22.304447 - ], - [ - 150.489962, - -22.213055 - ], - [ - 150.49164, - -22.354721 - ] - ] - ], - [ - [ - [ - 149.90082, - -22.228333 - ], - [ - 149.908327, - -22.046946 - ], - [ - 149.865786, - -22.173889 - ], - [ - 149.90082, - -22.228333 - ] - ] - ], - [ - [ - [ - 150.336916, - -21.775558 - ], - [ - 150.358858, - -21.73333 - ], - [ - 150.294436, - -21.744442 - ], - [ - 150.336916, - -21.775558 - ] - ] - ], - [ - [ - [ - 150.286928, - -21.6875 - ], - [ - 150.305239, - -21.66 - ], - [ - 150.253878, - -21.638054 - ], - [ - 150.286928, - -21.6875 - ] - ] - ], - [ - [ - [ - 115.454988, - -20.782501 - ], - [ - 115.435259, - -20.667221 - ], - [ - 115.303865, - -20.872776 - ], - [ - 115.454988, - -20.782501 - ] - ] - ], - [ - [ - [ - 149.066652, - -20.526669 - ], - [ - 149.074984, - -20.486942 - ], - [ - 149.036928, - -20.501667 - ], - [ - 149.066652, - -20.526669 - ] - ] - ], - [ - [ - [ - 149.00638, - -20.318333 - ], - [ - 148.975527, - -20.154999 - ], - [ - 148.955538, - -20.291389 - ], - [ - 149.00638, - -20.318333 - ] - ] - ], - [ - [ - [ - 148.935793, - -20.171944 - ], - [ - 148.970247, - -20.048611 - ], - [ - 148.881899, - -20.13028 - ], - [ - 148.935793, - -20.171944 - ] - ] - ], - [ - [ - [ - 148.471346, - -20.046391 - ], - [ - 148.48218, - -20.006111 - ], - [ - 148.449709, - -19.970833 - ], - [ - 148.471346, - -20.046391 - ] - ] - ], - [ - [ - [ - 146.867739, - -19.165001 - ], - [ - 146.869692, - -19.106667 - ], - [ - 146.776094, - -19.131111 - ], - [ - 146.867739, - -19.165001 - ] - ] - ], - [ - [ - [ - 146.29941, - -18.489441 - ], - [ - 146.269716, - -18.308334 - ], - [ - 146.083315, - -18.256111 - ], - [ - 146.29941, - -18.489441 - ] - ] - ], - [ - [ - [ - 139.576082, - -17.095833 - ], - [ - 139.502779, - -16.996666 - ], - [ - 139.398867, - -17.091389 - ], - [ - 139.576082, - -17.095833 - ] - ] - ], - [ - [ - [ - 139.112185, - -16.862221 - ], - [ - 139.139986, - -16.810558 - ], - [ - 139.090792, - -16.826668 - ], - [ - 139.112185, - -16.862221 - ] - ] - ], - [ - [ - [ - 139.736361, - -16.497219 - ], - [ - 139.306643, - -16.462498 - ], - [ - 139.140261, - -16.755001 - ], - [ - 139.736361, - -16.497219 - ] - ] - ], - [ - [ - [ - 136.667208, - -15.776667 - ], - [ - 136.713015, - -15.697779 - ], - [ - 136.634981, - -15.676111 - ], - [ - 136.667208, - -15.776667 - ] - ] - ], - [ - [ - [ - 136.741915, - -15.752224 - ], - [ - 136.80942, - -15.650278 - ], - [ - 136.734133, - -15.648056 - ], - [ - 136.741915, - -15.752224 - ] - ] - ], - [ - [ - [ - 137.067202, - -15.829445 - ], - [ - 137.003054, - -15.591389 - ], - [ - 136.93442, - -15.698889 - ], - [ - 137.067202, - -15.829445 - ] - ] - ], - [ - [ - [ - 136.52997, - -15.645279 - ], - [ - 136.59775, - -15.61611 - ], - [ - 136.579409, - -15.511112 - ], - [ - 136.52997, - -15.645279 - ] - ] - ], - [ - [ - [ - 136.851351, - -15.634167 - ], - [ - 136.878572, - -15.501944 - ], - [ - 136.841921, - -15.549723 - ], - [ - 136.851351, - -15.634167 - ] - ] - ], - [ - [ - [ - 124.621645, - -15.412222 - ], - [ - 124.542215, - -15.261667 - ], - [ - 124.459429, - -15.366943 - ], - [ - 124.522493, - -15.445278 - ], - [ - 124.621645, - -15.412222 - ] - ] - ], - [ - [ - [ - 124.426378, - -15.315001 - ], - [ - 124.437479, - -15.249443 - ], - [ - 124.336649, - -15.296112 - ], - [ - 124.426378, - -15.315001 - ] - ] - ], - [ - [ - [ - 124.816095, - -15.281113 - ], - [ - 124.849993, - -15.247221 - ], - [ - 124.797495, - -15.239721 - ], - [ - 124.816095, - -15.281113 - ] - ] - ], - [ - [ - [ - 128.191927, - -15.188612 - ], - [ - 128.120516, - -15.043055 - ], - [ - 128.114687, - -15.131943 - ], - [ - 128.191927, - -15.188612 - ] - ] - ], - [ - [ - [ - 124.943316, - -15.030001 - ], - [ - 124.924425, - -14.945 - ], - [ - 124.874689, - -14.952223 - ], - [ - 124.943316, - -15.030001 - ] - ] - ], - [ - [ - [ - 128.441072, - -15.0375 - ], - [ - 128.356356, - -14.870277 - ], - [ - 128.35718, - -14.959999 - ], - [ - 128.441072, - -15.0375 - ] - ] - ], - [ - [ - [ - 135.764986, - -14.904167 - ], - [ - 135.728304, - -14.836666 - ], - [ - 135.699404, - -14.907778 - ], - [ - 135.764986, - -14.904167 - ] - ] - ], - [ - [ - [ - 129.629946, - -14.879444 - ], - [ - 129.6308, - -14.850832 - ], - [ - 129.580538, - -14.802778 - ], - [ - 129.629946, - -14.879444 - ] - ] - ], - [ - [ - [ - 129.589418, - -14.907778 - ], - [ - 129.501925, - -14.788612 - ], - [ - 129.59247, - -14.966665 - ], - [ - 129.589418, - -14.907778 - ] - ] - ], - [ - [ - [ - 125.138323, - -14.648611 - ], - [ - 125.159418, - -14.438334 - ], - [ - 125.084719, - -14.617222 - ], - [ - 125.138323, - -14.648611 - ] - ] - ], - [ - [ - [ - 126.606371, - -13.895554 - ], - [ - 126.502489, - -13.877777 - ], - [ - 126.511934, - -13.909445 - ], - [ - 126.606371, - -13.895554 - ] - ] - ], - [ - [ - [ - 136.711641, - -13.835833 - ], - [ - 136.378023, - -14.216389 - ], - [ - 136.941652, - -14.277779 - ], - [ - 136.699404, - -14.120832 - ], - [ - 136.912477, - -13.774445 - ], - [ - 136.711641, - -13.835833 - ] - ] - ], - [ - [ - [ - 136.288301, - -13.733332 - ], - [ - 136.198854, - -13.664722 - ], - [ - 136.105532, - -13.818056 - ], - [ - 136.288301, - -13.733332 - ] - ] - ], - [ - [ - [ - 136.15082, - -13.485832 - ], - [ - 136.098848, - -13.361111 - ], - [ - 136.161654, - -13.531113 - ], - [ - 136.15082, - -13.485832 - ] - ] - ], - [ - [ - [ - 132.404696, - -12.140835 - ], - [ - 132.402193, - -12.072222 - ], - [ - 132.340242, - -12.089722 - ], - [ - 132.404696, - -12.140835 - ] - ] - ], - [ - [ - [ - 136.820528, - -12.140556 - ], - [ - 136.826082, - -12.072222 - ], - [ - 136.800539, - -12.094166 - ], - [ - 136.820528, - -12.140556 - ] - ] - ], - [ - [ - [ - 134.909975, - -12.121111 - ], - [ - 134.927767, - -12.072777 - ], - [ - 134.866915, - -12.066666 - ], - [ - 134.909975, - -12.121111 - ] - ] - ], - [ - [ - [ - 134.985781, - -12.034166 - ], - [ - 134.911379, - -12.022223 - ], - [ - 134.944979, - -12.06139 - ], - [ - 134.985781, - -12.034166 - ] - ] - ], - [ - [ - [ - 136.281923, - -12.035557 - ], - [ - 136.306368, - -11.976944 - ], - [ - 136.158327, - -12.071388 - ], - [ - 136.281923, - -12.035557 - ] - ] - ], - [ - [ - [ - 135.115511, - -11.934444 - ], - [ - 135.064974, - -11.913612 - ], - [ - 135.047487, - -11.945555 - ], - [ - 135.115511, - -11.934444 - ] - ] - ], - [ - [ - [ - 136.473574, - -11.911112 - ], - [ - 136.494967, - -11.803055 - ], - [ - 136.469423, - -11.840555 - ], - [ - 136.473574, - -11.911112 - ] - ] - ], - [ - [ - [ - 136.589418, - -11.780556 - ], - [ - 136.624666, - -11.740276 - ], - [ - 136.516085, - -11.798611 - ], - [ - 136.589418, - -11.780556 - ] - ] - ], - [ - [ - [ - 136.012758, - -11.719166 - ], - [ - 136.053865, - -11.66 - ], - [ - 135.959963, - -11.684166 - ], - [ - 136.012758, - -11.719166 - ] - ] - ], - [ - [ - [ - 132.560244, - -11.724443 - ], - [ - 132.643038, - -11.648056 - ], - [ - 132.513887, - -11.64389 - ], - [ - 132.560244, - -11.724443 - ] - ] - ], - [ - [ - [ - 133.383883, - -11.6675 - ], - [ - 133.482454, - -11.586945 - ], - [ - 133.366915, - -11.614721 - ], - [ - 133.383883, - -11.6675 - ] - ] - ], - [ - [ - [ - 136.470522, - -11.519167 - ], - [ - 136.478853, - -11.46611 - ], - [ - 136.178316, - -11.687778 - ], - [ - 136.470522, - -11.519167 - ] - ] - ], - [ - [ - [ - 133.505556, - -11.503889 - ], - [ - 133.469423, - -11.460833 - ], - [ - 133.391359, - -11.54389 - ], - [ - 133.505556, - -11.503889 - ] - ] - ], - [ - [ - [ - 130.49106, - -11.688612 - ], - [ - 130.34247, - -11.32361 - ], - [ - 130.01639, - -11.779722 - ], - [ - 130.49106, - -11.688612 - ] - ] - ], - [ - [ - [ - 130.573305, - -11.349443 - ], - [ - 130.377443, - -11.170555 - ], - [ - 130.958864, - -11.938889 - ], - [ - 131.539156, - -11.461666 - ], - [ - 131.274996, - -11.189167 - ], - [ - 130.573305, - -11.349443 - ] - ] - ], - [ - [ - [ - 132.623842, - -11.279167 - ], - [ - 132.578859, - -11.022501 - ], - [ - 132.512484, - -11.143057 - ], - [ - 132.623842, - -11.279167 - ] - ] - ], - [ - [ - [ - 136.536104, - -11.455 - ], - [ - 136.724977, - -11.206944 - ], - [ - 136.771914, - -11.019722 - ], - [ - 136.536104, - -11.455 - ] - ] - ], - [ - [ - [ - 142.512758, - -10.866943 - ], - [ - 142.141939, - -10.956667 - ], - [ - 142.028872, - -12.062222 - ], - [ - 141.589418, - -12.546946 - ], - [ - 141.752474, - -12.467222 - ], - [ - 141.940798, - -12.875832 - ], - [ - 141.798586, - -12.685833 - ], - [ - 141.583864, - -12.989166 - ], - [ - 141.426912, - -16.079166 - ], - [ - 140.494967, - -17.640835 - ], - [ - 139.26053, - -17.342499 - ], - [ - 139.017488, - -16.903053 - ], - [ - 138.190248, - -16.704998 - ], - [ - 137.730806, - -16.246109 - ], - [ - 136.76581, - -15.904446 - ], - [ - 135.456636, - -14.941111 - ], - [ - 136.020266, - -13.762501 - ], - [ - 135.923861, - -13.281389 - ], - [ - 136.350527, - -13.0525 - ], - [ - 136.45801, - -13.252501 - ], - [ - 136.494417, - -12.779167 - ], - [ - 136.981905, - -12.356943 - ], - [ - 136.562197, - -11.934444 - ], - [ - 136.039705, - -12.471666 - ], - [ - 136.023043, - -12.111944 - ], - [ - 135.66971, - -12.196667 - ], - [ - 135.908022, - -11.763056 - ], - [ - 135.231356, - -12.294445 - ], - [ - 133.183046, - -11.716665 - ], - [ - 132.337465, - -11.129166 - ], - [ - 132.143312, - -11.133333 - ], - [ - 132.199709, - -11.412779 - ], - [ - 131.979952, - -11.125555 - ], - [ - 131.766939, - -11.316389 - ], - [ - 132.09247, - -11.52639 - ], - [ - 132.489962, - -11.476944 - ], - [ - 132.691072, - -11.655001 - ], - [ - 132.627748, - -12.041945 - ], - [ - 132.754427, - -12.132776 - ], - [ - 132.383608, - -12.379999 - ], - [ - 131.027193, - -12.145554 - ], - [ - 130.896364, - -12.640278 - ], - [ - 130.58304, - -12.395279 - ], - [ - 130.695253, - -12.702499 - ], - [ - 130.14081, - -12.924168 - ], - [ - 130.264437, - -13.325277 - ], - [ - 129.88611, - -13.445278 - ], - [ - 129.370241, - -14.333332 - ], - [ - 129.944429, - -14.767778 - ], - [ - 129.643862, - -14.837221 - ], - [ - 129.732454, - -15.197222 - ], - [ - 128.530275, - -14.759167 - ], - [ - 128.381899, - -14.8025 - ], - [ - 128.452456, - -15.046389 - ], - [ - 128.350801, - -15.044724 - ], - [ - 128.314974, - -14.907778 - ], - [ - 128.194124, - -15.056667 - ], - [ - 128.28998, - -15.405279 - ], - [ - 128.129244, - -15.212889 - ], - [ - 128.013613, - -15.5 - ], - [ - 128.169436, - -14.702778 - ], - [ - 127.420824, - -13.949722 - ], - [ - 126.862764, - -13.749165 - ], - [ - 126.287775, - -14.233055 - ], - [ - 126.019442, - -13.919167 - ], - [ - 126.037203, - -14.516666 - ], - [ - 125.718874, - -14.400278 - ], - [ - 125.637209, - -14.635 - ], - [ - 125.606936, - -14.223055 - ], - [ - 125.588884, - -14.549444 - ], - [ - 125.135538, - -14.741388 - ], - [ - 125.433321, - -15.138613 - ], - [ - 124.825548, - -15.155834 - ], - [ - 125.18181, - -15.520685 - ], - [ - 124.702211, - -15.252501 - ], - [ - 124.656374, - -15.479721 - ], - [ - 124.447748, - -15.486387 - ], - [ - 124.401384, - -15.871111 - ], - [ - 124.728319, - -15.810556 - ], - [ - 124.400545, - -16.329445 - ], - [ - 124.899431, - -16.415001 - ], - [ - 124.238588, - -16.406666 - ], - [ - 123.964434, - -16.245552 - ], - [ - 123.891375, - -16.378887 - ], - [ - 123.729433, - -16.138889 - ], - [ - 123.569719, - -16.171944 - ], - [ - 123.708879, - -16.430279 - ], - [ - 123.424425, - -16.502502 - ], - [ - 123.918322, - -17.204445 - ], - [ - 123.596651, - -16.989998 - ], - [ - 123.575274, - -17.5975 - ], - [ - 122.917765, - -16.415554 - ], - [ - 122.17499, - -17.243332 - ], - [ - 122.353319, - -18.105555 - ], - [ - 121.027483, - -19.592224 - ], - [ - 119.082491, - -19.967499 - ], - [ - 117.688028, - -20.675831 - ], - [ - 116.707491, - -20.649166 - ], - [ - 114.651094, - -21.84 - ], - [ - 114.153872, - -22.527779 - ], - [ - 114.018053, - -21.850834 - ], - [ - 113.389711, - -24.429443 - ], - [ - 114.259165, - -25.846668 - ], - [ - 114.220835, - -26.306389 - ], - [ - 114.066095, - -26.461945 - ], - [ - 113.878862, - -26.028889 - ], - [ - 113.711931, - -26.195278 - ], - [ - 113.469439, - -25.540836 - ], - [ - 113.391665, - -25.718056 - ], - [ - 113.855822, - -26.507504 - ], - [ - 113.641375, - -26.652779 - ], - [ - 113.279161, - -26.018333 - ], - [ - 113.224428, - -26.239166 - ], - [ - 114.885538, - -29.201111 - ], - [ - 115.045534, - -30.506947 - ], - [ - 115.739435, - -31.865276 - ], - [ - 115.711115, - -33.269997 - ], - [ - 115.363604, - -33.633057 - ], - [ - 114.988726, - -33.522537 - ], - [ - 115.008043, - -34.263062 - ], - [ - 116.46332, - -35.000839 - ], - [ - 117.93442, - -35.125832 - ], - [ - 120.004992, - -33.928886 - ], - [ - 123.540819, - -33.90583 - ], - [ - 124.281939, - -32.985558 - ], - [ - 125.968325, - -32.266113 - ], - [ - 127.267763, - -32.278336 - ], - [ - 128.987459, - -31.694164 - ], - [ - 131.152193, - -31.474167 - ], - [ - 132.203859, - -32.03167 - ], - [ - 132.764437, - -31.950832 - ], - [ - 133.417208, - -32.213333 - ], - [ - 133.622194, - -32.098335 - ], - [ - 133.952181, - -32.394722 - ], - [ - 133.8519, - -32.545006 - ], - [ - 134.184145, - -32.486664 - ], - [ - 134.269136, - -33.159721 - ], - [ - 134.709139, - -33.179169 - ], - [ - 135.506929, - -34.618057 - ], - [ - 135.105806, - -34.599998 - ], - [ - 135.954134, - -35.010284 - ], - [ - 135.932741, - -34.541946 - ], - [ - 137.209963, - -33.666107 - ], - [ - 137.778322, - -32.9925 - ], - [ - 137.773317, - -32.523613 - ], - [ - 137.950258, - -33.559441 - ], - [ - 137.449984, - -34.15139 - ], - [ - 137.437746, - -34.934723 - ], - [ - 137.019991, - -34.901108 - ], - [ - 136.830538, - -35.254723 - ], - [ - 137.744692, - -35.138611 - ], - [ - 138.098024, - -34.137222 - ], - [ - 138.514162, - -35.028053 - ], - [ - 138.093019, - -35.620834 - ], - [ - 139.355227, - -35.372498 - ], - [ - 139.337191, - -35.69416 - ], - [ - 139.096743, - -35.615887 - ], - [ - 139.667757, - -36.230827 - ], - [ - 139.077349, - -35.682636 - ], - [ - 139.820528, - -36.545837 - ], - [ - 139.814425, - -37.299728 - ], - [ - 140.52997, - -38.000282 - ], - [ - 141.571352, - -38.417221 - ], - [ - 142.388887, - -38.364723 - ], - [ - 143.543856, - -38.860001 - ], - [ - 144.92914, - -37.869164 - ], - [ - 145.132448, - -38.140282 - ], - [ - 144.898867, - -38.504448 - ], - [ - 145.441347, - -38.226105 - ], - [ - 145.557192, - -38.376389 - ], - [ - 145.416079, - -38.545837 - ], - [ - 146.394136, - -39.147224 - ], - [ - 146.223024, - -38.712502 - ], - [ - 146.873568, - -38.651665 - ], - [ - 147.764437, - -37.979996 - ], - [ - 149.973848, - -37.520554 - ], - [ - 150.162477, - -35.940552 - ], - [ - 150.840517, - -35.082779 - ], - [ - 151.452761, - -33.319168 - ], - [ - 152.529696, - -32.40361 - ], - [ - 153.052462, - -31.035 - ], - [ - 153.625521, - -28.666664 - ], - [ - 153.033876, - -27.179443 - ], - [ - 153.181917, - -25.949444 - ], - [ - 151.937197, - -24.221664 - ], - [ - 151.68387, - -23.988888 - ], - [ - 151.538576, - -24.089169 - ], - [ - 150.867189, - -23.505001 - ], - [ - 150.637209, - -22.343891 - ], - [ - 150.593019, - -22.586113 - ], - [ - 150.034151, - -22.149723 - ], - [ - 150.043306, - -22.650833 - ], - [ - 149.661104, - -22.496666 - ], - [ - 149.214693, - -21.080002 - ], - [ - 148.691652, - -20.624443 - ], - [ - 148.935518, - -20.53278 - ], - [ - 148.777468, - -20.232498 - ], - [ - 146.27527, - -18.883888 - ], - [ - 146.336916, - -18.536667 - ], - [ - 146.009432, - -18.238052 - ], - [ - 146.10663, - -17.683609 - ], - [ - 145.878023, - -17.062778 - ], - [ - 145.960512, - -16.895279 - ], - [ - 145.403597, - -16.462219 - ], - [ - 145.315798, - -14.945555 - ], - [ - 144.51053, - -14.168333 - ], - [ - 143.782198, - -14.413334 - ], - [ - 143.42914, - -12.614445 - ], - [ - 142.512758, - -10.866943 - ] - ] - ], - [ - [ - [ - 142.26581, - -10.683611 - ], - [ - 142.115236, - -10.660557 - ], - [ - 142.183321, - -10.770279 - ], - [ - 142.26581, - -10.683611 - ] - ] - ], - [ - [ - [ - 142.278048, - -10.643612 - ], - [ - 142.31415, - -10.584166 - ], - [ - 142.249697, - -10.5875 - ], - [ - 142.278048, - -10.643612 - ] - ] - ], - [ - [ - [ - 142.230806, - -10.56889 - ], - [ - 142.226625, - -10.525278 - ], - [ - 142.191347, - -10.565834 - ], - [ - 142.230806, - -10.56889 - ] - ] - ], - [ - [ - [ - 142.321077, - -10.548611 - ], - [ - 142.318026, - -10.513889 - ], - [ - 142.292208, - -10.53389 - ], - [ - 142.321077, - -10.548611 - ] - ] - ], - [ - [ - [ - 142.285524, - -10.264723 - ], - [ - 142.330538, - -10.171946 - ], - [ - 142.225801, - -10.146112 - ], - [ - 142.285524, - -10.264723 - ] - ] - ], - [ - [ - [ - 142.157747, - -10.189722 - ], - [ - 142.143587, - -10.051666 - ], - [ - 142.089693, - -10.13389 - ], - [ - 142.157747, - -10.189722 - ] - ] - ] - ] - }, - "name" : "Australia", - "iso2" : "AU", - "iso3" : "AUS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "TL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 50.812492, - 25.64222 - ], - [ - 50.821388, - 25.651943 - ], - [ - 50.782219, - 25.659443 - ], - [ - 50.812492, - 25.64222 - ] - ] - ], - [ - [ - [ - 50.813332, - 25.678608 - ], - [ - 50.807777, - 25.68972 - ], - [ - 50.804161, - 25.680553 - ], - [ - 50.813332, - 25.678608 - ] - ] - ], - [ - [ - [ - 50.76194, - 25.595276 - ], - [ - 50.796661, - 25.728333 - ], - [ - 50.741661, - 25.683052 - ], - [ - 50.76194, - 25.595276 - ] - ] - ], - [ - [ - [ - 50.769722, - 25.746944 - ], - [ - 50.764717, - 25.754719 - ], - [ - 50.760551, - 25.750275 - ], - [ - 50.769722, - 25.746944 - ] - ] - ], - [ - [ - [ - 50.532219, - 26.234444 - ], - [ - 50.461662, - 25.965275 - ], - [ - 50.57333, - 25.809723 - ], - [ - 50.532219, - 26.234444 - ] - ] - ], - [ - [ - [ - 50.65361, - 26.247498 - ], - [ - 50.62722, - 26.288887 - ], - [ - 50.604439, - 26.267776 - ], - [ - 50.65361, - 26.247498 - ] - ] - ] - ] - }, - "name" : "Bahrain", - "iso2" : "BH", - "iso3" : "BHR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Tb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -59.533058, - 13.050554 - ], - [ - -59.429169, - 13.164999 - ], - [ - -59.641113, - 13.331388 - ], - [ - -59.533058, - 13.050554 - ] - ] - ] - }, - "name" : "Barbados", - "iso2" : "BB", - "iso3" : "BRB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Tr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -64.855835, - 32.27861 - ], - [ - -64.838058, - 32.314163 - ], - [ - -64.874451, - 32.293053 - ], - [ - -64.855835, - 32.27861 - ] - ] - ], - [ - [ - [ - -64.643341, - 32.354439 - ], - [ - -64.655289, - 32.370827 - ], - [ - -64.685837, - 32.357216 - ], - [ - -64.643341, - 32.354439 - ] - ] - ], - [ - [ - [ - -64.78334, - 32.270554 - ], - [ - -64.671677, - 32.379997 - ], - [ - -64.858269, - 32.266796 - ], - [ - -64.78334, - 32.270554 - ] - ] - ] - ] - }, - "name" : "Bermuda", - "iso2" : "BM", - "iso3" : "BMU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "T71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -73.037231, - 21.139444 - ], - [ - -73.024445, - 21.332499 - ], - [ - -73.685837, - 20.935556 - ], - [ - -73.037231, - 21.139444 - ] - ] - ], - [ - [ - [ - -72.924728, - 21.48361 - ], - [ - -73.067505, - 21.507776 - ], - [ - -73.038071, - 21.434999 - ], - [ - -72.924728, - 21.48361 - ] - ] - ], - [ - [ - [ - -72.829178, - 22.382223 - ], - [ - -73.164734, - 22.370832 - ], - [ - -72.781403, - 22.284166 - ], - [ - -72.829178, - 22.382223 - ] - ] - ], - [ - [ - [ - -73.610291, - 22.579721 - ], - [ - -73.598343, - 22.614721 - ], - [ - -73.62056, - 22.599722 - ], - [ - -73.610291, - 22.579721 - ] - ] - ], - [ - [ - [ - -73.462784, - 22.601946 - ], - [ - -73.497787, - 22.618891 - ], - [ - -73.551392, - 22.612223 - ], - [ - -73.462784, - 22.601946 - ] - ] - ], - [ - [ - [ - -74.377792, - 22.538889 - ], - [ - -74.280014, - 22.6625 - ], - [ - -74.379456, - 22.576387 - ], - [ - -74.377792, - 22.538889 - ] - ] - ], - [ - [ - [ - -73.847229, - 22.723612 - ], - [ - -74.281403, - 22.173056 - ], - [ - -73.867508, - 22.469446 - ], - [ - -73.847229, - 22.723612 - ] - ] - ], - [ - [ - [ - -74.073624, - 22.663332 - ], - [ - -74.017792, - 22.716391 - ], - [ - -74.343903, - 22.835001 - ], - [ - -74.073624, - 22.663332 - ] - ] - ], - [ - [ - [ - -73.728897, - 23.070555 - ], - [ - -73.665009, - 23.088888 - ], - [ - -73.813614, - 23.096945 - ], - [ - -73.728897, - 23.070555 - ] - ] - ], - [ - [ - [ - -75.551117, - 23.431391 - ], - [ - -75.650848, - 23.455832 - ], - [ - -75.525009, - 23.404444 - ], - [ - -75.551117, - 23.431391 - ] - ] - ], - [ - [ - [ - -75.021393, - 23.10639 - ], - [ - -74.830566, - 22.860834 - ], - [ - -75.30751, - 23.667776 - ], - [ - -75.021393, - 23.10639 - ] - ] - ], - [ - [ - [ - -75.771957, - 23.499723 - ], - [ - -76.028624, - 23.672499 - ], - [ - -75.991119, - 23.599443 - ], - [ - -75.771957, - 23.499723 - ] - ] - ], - [ - [ - [ - -74.781952, - 23.683889 - ], - [ - -74.948624, - 23.685278 - ], - [ - -74.819733, - 23.639444 - ], - [ - -74.781952, - 23.683889 - ] - ] - ], - [ - [ - [ - -76.363892, - 24.072222 - ], - [ - -76.398346, - 24.113333 - ], - [ - -76.321671, - 23.972776 - ], - [ - -76.363892, - 24.072222 - ] - ] - ], - [ - [ - [ - -74.49028, - 23.954443 - ], - [ - -74.460846, - 24.142778 - ], - [ - -74.526947, - 24.100832 - ], - [ - -74.49028, - 23.954443 - ] - ] - ], - [ - [ - [ - -77.946671, - 24.15 - ], - [ - -77.800293, - 24.253332 - ], - [ - -77.97168, - 24.193609 - ], - [ - -77.946671, - 24.15 - ] - ] - ], - [ - [ - [ - -77.936676, - 24.225832 - ], - [ - -77.931122, - 24.279444 - ], - [ - -78.019455, - 24.250834 - ], - [ - -77.936676, - 24.225832 - ] - ] - ], - [ - [ - [ - -76.468903, - 24.210001 - ], - [ - -76.545288, - 24.290277 - ], - [ - -76.503616, - 24.217779 - ], - [ - -76.468903, - 24.210001 - ] - ] - ], - [ - [ - [ - -77.735565, - 24.028612 - ], - [ - -77.676392, - 24.29611 - ], - [ - -77.876678, - 24.073057 - ], - [ - -77.566956, - 23.739168 - ], - [ - -77.606674, - 24.213888 - ], - [ - -77.735565, - 24.028612 - ] - ] - ], - [ - [ - [ - -77.686951, - 24.337221 - ], - [ - -77.703339, - 24.369722 - ], - [ - -77.806671, - 24.319723 - ], - [ - -77.686951, - 24.337221 - ] - ] - ], - [ - [ - [ - -75.314728, - 24.213888 - ], - [ - -75.739456, - 24.695002 - ], - [ - -75.515015, - 24.139723 - ], - [ - -75.314728, - 24.213888 - ] - ] - ], - [ - [ - [ - -77.436401, - 25.008055 - ], - [ - -77.258621, - 25.049444 - ], - [ - -77.561401, - 25.027498 - ], - [ - -77.436401, - 25.008055 - ] - ] - ], - [ - [ - [ - -78.191956, - 25.203611 - ], - [ - -78.19278, - 24.597502 - ], - [ - -78.440567, - 24.613611 - ], - [ - -78.021393, - 24.272779 - ], - [ - -77.716675, - 24.506666 - ], - [ - -78.191956, - 25.203611 - ] - ] - ], - [ - [ - [ - -76.53334, - 25.398333 - ], - [ - -76.735291, - 25.559168 - ], - [ - -76.715836, - 25.441668 - ], - [ - -76.355835, - 25.318335 - ], - [ - -76.171677, - 25.140833 - ], - [ - -76.168335, - 24.690001 - ], - [ - -76.118895, - 25.131109 - ], - [ - -76.349701, - 25.343283 - ], - [ - -76.53334, - 25.398333 - ] - ] - ], - [ - [ - [ - -77.821945, - 25.702223 - ], - [ - -77.8564, - 25.775278 - ], - [ - -77.888062, - 25.785002 - ], - [ - -77.821945, - 25.702223 - ] - ] - ], - [ - [ - [ - -77.563339, - 26.268888 - ], - [ - -77.537231, - 26.306944 - ], - [ - -77.57251, - 26.336111 - ], - [ - -77.563339, - 26.268888 - ] - ] - ], - [ - [ - [ - -77.917236, - 26.745279 - ], - [ - -78.978897, - 26.695276 - ], - [ - -78.708618, - 26.489721 - ], - [ - -77.917236, - 26.745279 - ] - ] - ], - [ - [ - [ - -77.735001, - 26.914446 - ], - [ - -77.950287, - 26.897779 - ], - [ - -77.148895, - 26.548887 - ], - [ - -77.398056, - 26.026388 - ], - [ - -77.204727, - 25.880835 - ], - [ - -77.042236, - 26.50889 - ], - [ - -77.735001, - 26.914446 - ] - ] - ] - ] - }, - "name" : "Bahamas", - "iso2" : "BS", - "iso3" : "BHS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "UL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 91.897493, - 21.476664 - ], - [ - 91.98221, - 21.623888 - ], - [ - 91.88109, - 21.755278 - ], - [ - 91.897493, - 21.476664 - ] - ] - ], - [ - [ - [ - 90.490541, - 21.80361 - ], - [ - 90.492754, - 21.814444 - ], - [ - 90.467485, - 21.820555 - ], - [ - 90.490541, - 21.80361 - ] - ] - ], - [ - [ - [ - 90.432482, - 21.819998 - ], - [ - 90.452776, - 21.850275 - ], - [ - 90.412767, - 21.82361 - ], - [ - 90.432482, - 21.819998 - ] - ] - ], - [ - [ - [ - 89.12665, - 21.714163 - ], - [ - 89.146379, - 21.748884 - ], - [ - 89.050539, - 21.914721 - ], - [ - 89.12665, - 21.714163 - ] - ] - ], - [ - [ - [ - 90.753054, - 21.891943 - ], - [ - 90.762209, - 21.906385 - ], - [ - 90.744432, - 21.922499 - ], - [ - 90.753054, - 21.891943 - ] - ] - ], - [ - [ - [ - 91.832766, - 21.722219 - ], - [ - 91.886385, - 21.842775 - ], - [ - 91.863039, - 21.928053 - ], - [ - 91.832766, - 21.722219 - ] - ] - ], - [ - [ - [ - 90.643877, - 21.906107 - ], - [ - 90.665545, - 21.955553 - ], - [ - 90.633333, - 21.930552 - ], - [ - 90.643877, - 21.906107 - ] - ] - ], - [ - [ - [ - 90.699144, - 21.954718 - ], - [ - 90.690538, - 21.972773 - ], - [ - 90.675264, - 21.949999 - ], - [ - 90.699144, - 21.954718 - ] - ] - ], - [ - [ - [ - 90.522493, - 21.855833 - ], - [ - 90.58832, - 21.981386 - ], - [ - 90.519716, - 21.935553 - ], - [ - 90.522493, - 21.855833 - ] - ] - ], - [ - [ - [ - 90.410814, - 21.899443 - ], - [ - 90.484987, - 21.964998 - ], - [ - 90.430269, - 22.042223 - ], - [ - 90.410814, - 21.899443 - ] - ] - ], - [ - [ - [ - 90.374147, - 22.01 - ], - [ - 90.380266, - 22.050554 - ], - [ - 90.341661, - 21.966387 - ], - [ - 90.374147, - 22.01 - ] - ] - ], - [ - [ - [ - 90.523607, - 21.991106 - ], - [ - 90.6122, - 22.163885 - ], - [ - 90.486925, - 22.078886 - ], - [ - 90.523607, - 21.991106 - ] - ] - ], - [ - [ - [ - 90.516939, - 22.162218 - ], - [ - 90.527773, - 22.179441 - ], - [ - 90.512209, - 22.17111 - ], - [ - 90.516939, - 22.162218 - ] - ] - ], - [ - [ - [ - 90.937487, - 22.112776 - ], - [ - 90.952211, - 22.20944 - ], - [ - 90.914705, - 22.131941 - ], - [ - 90.937487, - 22.112776 - ] - ] - ], - [ - [ - [ - 90.984987, - 22.182497 - ], - [ - 90.991655, - 22.259165 - ], - [ - 90.971926, - 22.240831 - ], - [ - 90.984987, - 22.182497 - ] - ] - ], - [ - [ - [ - 90.949419, - 22.221384 - ], - [ - 90.988588, - 22.286943 - ], - [ - 90.976381, - 22.357775 - ], - [ - 90.949419, - 22.221384 - ] - ] - ], - [ - [ - [ - 91.005831, - 22.368055 - ], - [ - 90.989977, - 22.414164 - ], - [ - 90.985262, - 22.385275 - ], - [ - 91.005831, - 22.368055 - ] - ] - ], - [ - [ - [ - 90.660265, - 22.356386 - ], - [ - 90.610262, - 22.451941 - ], - [ - 90.640276, - 22.308332 - ], - [ - 90.660265, - 22.356386 - ] - ] - ], - [ - [ - [ - 91.036104, - 22.404997 - ], - [ - 91.040545, - 22.453608 - ], - [ - 91.018053, - 22.414721 - ], - [ - 91.036104, - 22.404997 - ] - ] - ], - [ - [ - [ - 91.210543, - 22.412218 - ], - [ - 91.168596, - 22.461386 - ], - [ - 91.185534, - 22.392496 - ], - [ - 91.210543, - 22.412218 - ] - ] - ], - [ - [ - [ - 91.007494, - 22.424997 - ], - [ - 91.009157, - 22.476385 - ], - [ - 90.987764, - 22.440832 - ], - [ - 91.007494, - 22.424997 - ] - ] - ], - [ - [ - [ - 90.663042, - 22.434996 - ], - [ - 90.65555, - 22.478609 - ], - [ - 90.647493, - 22.427774 - ], - [ - 90.663042, - 22.434996 - ] - ] - ], - [ - [ - [ - 91.031664, - 22.084166 - ], - [ - 91.1747, - 22.218607 - ], - [ - 91.088045, - 22.525831 - ], - [ - 91.031664, - 22.084166 - ] - ] - ], - [ - [ - [ - 91.529711, - 22.347776 - ], - [ - 91.431658, - 22.623888 - ], - [ - 91.408327, - 22.472219 - ], - [ - 91.529711, - 22.347776 - ] - ] - ], - [ - [ - [ - 91.339434, - 22.629999 - ], - [ - 91.304705, - 22.628332 - ], - [ - 91.317766, - 22.608889 - ], - [ - 91.339434, - 22.629999 - ] - ] - ], - [ - [ - [ - 90.763887, - 22.064444 - ], - [ - 90.877474, - 22.45722 - ], - [ - 90.58777, - 22.771944 - ], - [ - 90.556932, - 22.605276 - ], - [ - 90.642763, - 22.553053 - ], - [ - 90.68471, - 22.392496 - ], - [ - 90.601091, - 22.034166 - ], - [ - 90.763887, - 22.064444 - ] - ] - ], - [ - [ - [ - 90.547213, - 22.719442 - ], - [ - 90.54162, - 22.783197 - ], - [ - 90.691088, - 22.846945 - ], - [ - 90.469713, - 22.868887 - ], - [ - 90.547213, - 22.719442 - ] - ] - ], - [ - [ - [ - 90.662203, - 22.956385 - ], - [ - 90.570833, - 23.040277 - ], - [ - 90.509157, - 22.951109 - ], - [ - 90.656099, - 22.912218 - ], - [ - 90.632753, - 22.949163 - ], - [ - 90.662203, - 22.956385 - ] - ] - ], - [ - [ - [ - 90.47748, - 23.007776 - ], - [ - 90.51082, - 23.061945 - ], - [ - 90.46332, - 23.059164 - ], - [ - 90.47748, - 23.007776 - ] - ] - ], - [ - [ - [ - 90.529711, - 23.04722 - ], - [ - 90.544985, - 23.065275 - ], - [ - 90.521929, - 23.05472 - ], - [ - 90.529711, - 23.04722 - ] - ] - ], - [ - [ - [ - 90.540819, - 23.343889 - ], - [ - 90.421648, - 23.383055 - ], - [ - 90.590273, - 23.3025 - ], - [ - 90.540819, - 23.343889 - ] - ] - ], - [ - [ - [ - 90.57361, - 23.564722 - ], - [ - 90.584154, - 23.583887 - ], - [ - 90.564425, - 23.576944 - ], - [ - 90.57361, - 23.564722 - ] - ] - ], - [ - [ - [ - 92.600817, - 21.982218 - ], - [ - 92.283327, - 23.705275 - ], - [ - 91.949999, - 23.732218 - ], - [ - 91.613604, - 22.943052 - ], - [ - 91.159426, - 23.640554 - ], - [ - 91.373293, - 24.101942 - ], - [ - 92.12137, - 24.393332 - ], - [ - 92.406374, - 25.030554 - ], - [ - 89.845263, - 25.28861 - ], - [ - 89.739153, - 26.156385 - ], - [ - 89.342775, - 26.017031 - ], - [ - 88.433046, - 26.55139 - ], - [ - 88.110537, - 25.835554 - ], - [ - 89.009432, - 25.288332 - ], - [ - 88.450823, - 25.187777 - ], - [ - 88.043322, - 24.684164 - ], - [ - 88.750536, - 24.220984 - ], - [ - 88.563875, - 23.65222 - ], - [ - 88.986101, - 23.20833 - ], - [ - 89.063005, - 22.115477 - ], - [ - 89.249147, - 21.642496 - ], - [ - 89.620821, - 22.324442 - ], - [ - 89.581102, - 21.701662 - ], - [ - 90.000002, - 22.483751 - ], - [ - 89.932207, - 21.997774 - ], - [ - 90.073046, - 22.162775 - ], - [ - 90.024706, - 21.859999 - ], - [ - 90.272493, - 21.849165 - ], - [ - 90.401384, - 22.260557 - ], - [ - 90.440538, - 22.071665 - ], - [ - 90.617754, - 22.353888 - ], - [ - 90.424402, - 22.770189 - ], - [ - 90.446642, - 23.065001 - ], - [ - 90.5786, - 23.089998 - ], - [ - 90.61249, - 23.222219 - ], - [ - 90.30887, - 23.414442 - ], - [ - 90.593828, - 23.597967 - ], - [ - 90.833605, - 22.685553 - ], - [ - 91.455828, - 22.789999 - ], - [ - 91.699999, - 22.488329 - ], - [ - 92.32361, - 20.73805 - ], - [ - 92.261934, - 21.054312 - ], - [ - 92.26082, - 21.414442 - ], - [ - 92.669344, - 21.296984 - ], - [ - 92.600817, - 21.982218 - ] - ], - [ - [ - 90.237764, - 22.192774 - ], - [ - 90.216097, - 22.114443 - ], - [ - 90.061373, - 21.991774 - ], - [ - 90.237764, - 22.192774 - ] - ], - [ - [ - 90.684984, - 23.482775 - ], - [ - 90.65027, - 23.504168 - ], - [ - 90.691927, - 23.497217 - ], - [ - 90.684984, - 23.482775 - ] - ] - ] - ] - }, - "name" : "Bangladesh", - "iso2" : "BD", - "iso3" : "BGD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ub1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -87.803345, - 17.294167 - ], - [ - -87.82695, - 17.400276 - ], - [ - -87.825012, - 17.291664 - ], - [ - -87.803345, - 17.294167 - ] - ] - ], - [ - [ - [ - -87.820557, - 17.426941 - ], - [ - -87.819458, - 17.549999 - ], - [ - -87.926682, - 17.275555 - ], - [ - -87.820557, - 17.426941 - ] - ] - ], - [ - [ - [ - -88.045013, - 17.552776 - ], - [ - -88.053619, - 17.613052 - ], - [ - -88.070282, - 17.638332 - ], - [ - -88.045013, - 17.552776 - ] - ] - ], - [ - [ - [ - -88.132507, - 17.667221 - ], - [ - -88.072784, - 17.733887 - ], - [ - -88.167511, - 17.66972 - ], - [ - -88.132507, - 17.667221 - ] - ] - ], - [ - [ - [ - -87.892227, - 18.0425 - ], - [ - -87.853058, - 18.164719 - ], - [ - -88.006119, - 17.901943 - ], - [ - -87.892227, - 18.0425 - ] - ] - ], - [ - [ - [ - -88.910568, - 15.89361 - ], - [ - -88.208618, - 16.968609 - ], - [ - -88.281403, - 17.636108 - ], - [ - -88.077789, - 18.215553 - ], - [ - -88.2995, - 18.482929 - ], - [ - -88.377792, - 18.482777 - ], - [ - -89.141953, - 17.818886 - ], - [ - -89.216171, - 15.889851 - ], - [ - -88.910568, - 15.89361 - ] - ] - ] - ] - }, - "name" : "Belize", - "iso2" : "BZ", - "iso3" : "BLZ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ur1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 19.039719, - 44.861382 - ], - [ - 18.251942, - 45.138885 - ], - [ - 15.786665, - 45.171944 - ], - [ - 16.143055, - 44.19944 - ], - [ - 17.578526, - 42.943825 - ], - [ - 17.649841, - 42.889076 - ], - [ - 18.455555, - 42.565826 - ], - [ - 18.699997, - 43.255554 - ], - [ - 19.228809, - 43.513214 - ], - [ - 19.51083, - 43.679718 - ], - [ - 19.237019, - 44.011009 - ], - [ - 19.620476, - 44.048454 - ], - [ - 19.104443, - 44.355827 - ], - [ - 19.371387, - 44.88916 - ], - [ - 19.039719, - 44.861382 - ] - ] - ] - }, - "name" : "Bosnia and Herzegovina", - "iso2" : "BA", - "iso3" : "BIH" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "U71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -67.183624, - -22.821667 - ], - [ - -66.223007, - -21.780521 - ], - [ - -65.748062, - -22.111668 - ], - [ - -65.190201, - -22.09473 - ], - [ - -64.590561, - -22.214725 - ], - [ - -64.324722, - -22.873611 - ], - [ - -63.941116, - -22.000835 - ], - [ - -62.811951, - -21.996948 - ], - [ - -62.643768, - -22.238903 - ], - [ - -61.7425, - -19.645 - ], - [ - -59.09584, - -19.348892 - ], - [ - -58.15139, - -19.828056 - ], - [ - -58.15889, - -20.168056 - ], - [ - -57.848747, - -19.978794 - ], - [ - -58.121117, - -19.74139 - ], - [ - -57.521118, - -18.203892 - ], - [ - -57.743057, - -17.593056 - ], - [ - -58.397507, - -17.249168 - ], - [ - -58.327507, - -16.279167 - ], - [ - -60.160278, - -16.263058 - ], - [ - -60.571396, - -15.097502 - ], - [ - -60.258896, - -15.093613 - ], - [ - -60.47084, - -13.807222 - ], - [ - -61.038979, - -13.493118 - ], - [ - -61.833893, - -13.544724 - ], - [ - -63.075005, - -12.650002 - ], - [ - -64.39418, - -12.461668 - ], - [ - -64.991669, - -12.008057 - ], - [ - -65.392792, - -11.26639 - ], - [ - -65.381958, - -9.697779 - ], - [ - -66.634445, - -9.906946 - ], - [ - -68.58345, - -11.106138 - ], - [ - -69.568436, - -10.951092 - ], - [ - -68.673904, - -12.50115 - ], - [ - -68.974457, - -12.869722 - ], - [ - -68.853058, - -14.199167 - ], - [ - -69.366394, - -14.802502 - ], - [ - -69.136948, - -15.245834 - ], - [ - -69.421951, - -15.618057 - ], - [ - -68.82251, - -16.339725 - ], - [ - -69.618896, - -17.214725 - ], - [ - -69.499725, - -17.50528 - ], - [ - -69.483612, - -17.635559 - ], - [ - -69.071671, - -18.038891 - ], - [ - -68.907791, - -19.055279 - ], - [ - -68.4375, - -19.430279 - ], - [ - -68.756958, - -20.406948 - ], - [ - -68.188614, - -21.296947 - ], - [ - -67.876404, - -22.828056 - ], - [ - -67.183624, - -22.821667 - ] - ] - ] - }, - "name" : "Bolivia", - "iso2" : "BO", - "iso3" : "BOL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "VL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 98.035812, - 9.786386 - ], - [ - 98.060257, - 9.81361 - ], - [ - 98.024994, - 9.838331 - ], - [ - 98.035812, - 9.786386 - ] - ] - ], - [ - [ - [ - 98.29332, - 10.010277 - ], - [ - 98.178589, - 10.017776 - ], - [ - 98.116089, - 9.852497 - ], - [ - 98.29332, - 10.010277 - ] - ] - ], - [ - [ - [ - 98.186646, - 10.040276 - ], - [ - 98.238876, - 10.165833 - ], - [ - 98.198593, - 10.189999 - ], - [ - 98.186646, - 10.040276 - ] - ] - ], - [ - [ - [ - 97.907486, - 10.396944 - ], - [ - 97.942749, - 10.442776 - ], - [ - 97.903595, - 10.490831 - ], - [ - 97.907486, - 10.396944 - ] - ] - ], - [ - [ - [ - 98.216385, - 10.481386 - ], - [ - 98.238876, - 10.529999 - ], - [ - 98.18248, - 10.5075 - ], - [ - 98.216385, - 10.481386 - ] - ] - ], - [ - [ - [ - 98.523605, - 10.781666 - ], - [ - 98.550812, - 10.850275 - ], - [ - 98.486923, - 10.883053 - ], - [ - 98.523605, - 10.781666 - ] - ] - ], - [ - [ - [ - 97.919708, - 10.858332 - ], - [ - 97.916092, - 10.929443 - ], - [ - 97.885818, - 10.843609 - ], - [ - 97.919708, - 10.858332 - ] - ] - ], - [ - [ - [ - 98.212204, - 10.947777 - ], - [ - 98.075546, - 10.88611 - ], - [ - 98.264435, - 10.68972 - ], - [ - 98.212204, - 10.947777 - ] - ] - ], - [ - [ - [ - 98.437195, - 10.961943 - ], - [ - 98.452774, - 11.007776 - ], - [ - 98.429977, - 10.995831 - ], - [ - 98.437195, - 10.961943 - ] - ] - ], - [ - [ - [ - 98.533875, - 10.950554 - ], - [ - 98.524994, - 11.087219 - ], - [ - 98.470535, - 10.983887 - ], - [ - 98.533875, - 10.950554 - ] - ] - ], - [ - [ - [ - 98.256104, - 11.212498 - ], - [ - 98.277771, - 11.276388 - ], - [ - 98.231094, - 11.262499 - ], - [ - 98.256104, - 11.212498 - ] - ] - ], - [ - [ - [ - 98.207489, - 11.443609 - ], - [ - 98.280823, - 11.481665 - ], - [ - 98.289154, - 11.798609 - ], - [ - 98.207489, - 11.443609 - ] - ] - ], - [ - [ - [ - 98.498322, - 11.566109 - ], - [ - 98.548874, - 11.788332 - ], - [ - 98.371368, - 11.78611 - ], - [ - 98.498322, - 11.566109 - ] - ] - ], - [ - [ - [ - 97.487198, - 11.774443 - ], - [ - 97.461655, - 11.803053 - ], - [ - 97.437759, - 11.803331 - ], - [ - 97.487198, - 11.774443 - ] - ] - ], - [ - [ - [ - 98.089981, - 11.631109 - ], - [ - 98.007217, - 11.858332 - ], - [ - 98.033051, - 11.683054 - ], - [ - 98.089981, - 11.631109 - ] - ] - ], - [ - [ - [ - 97.66832, - 11.836943 - ], - [ - 97.664429, - 11.90111 - ], - [ - 97.633881, - 11.876108 - ], - [ - 97.66832, - 11.836943 - ] - ] - ], - [ - [ - [ - 98.271103, - 11.84972 - ], - [ - 98.28804, - 11.887499 - ], - [ - 98.260269, - 11.907221 - ], - [ - 98.271103, - 11.84972 - ] - ] - ], - [ - [ - [ - 98.256378, - 11.92111 - ], - [ - 98.251663, - 11.980276 - ], - [ - 98.226379, - 11.94972 - ], - [ - 98.256378, - 11.92111 - ] - ] - ], - [ - [ - [ - 98.5, - 11.884443 - ], - [ - 98.664993, - 11.941942 - ], - [ - 98.438583, - 12.111387 - ], - [ - 98.5, - 11.884443 - ] - ] - ], - [ - [ - [ - 98.141937, - 12.141943 - ], - [ - 98.124695, - 12.27861 - ], - [ - 98.055542, - 12.281111 - ], - [ - 98.141937, - 12.141943 - ] - ] - ], - [ - [ - [ - 98.640823, - 12.372219 - ], - [ - 98.639709, - 12.380552 - ], - [ - 98.619141, - 12.378885 - ], - [ - 98.640823, - 12.372219 - ] - ] - ], - [ - [ - [ - 98.617805, - 12.352951 - ], - [ - 98.57193, - 12.409164 - ], - [ - 98.540817, - 12.370552 - ], - [ - 98.559708, - 12.328886 - ], - [ - 98.68248, - 12.340553 - ], - [ - 98.617805, - 12.352951 - ] - ] - ], - [ - [ - [ - 98.09166, - 12.360554 - ], - [ - 97.937485, - 12.337498 - ], - [ - 98.005554, - 12.281942 - ], - [ - 98.09166, - 12.360554 - ] - ] - ], - [ - [ - [ - 98.501099, - 12.402222 - ], - [ - 98.498871, - 12.513887 - ], - [ - 98.471924, - 12.417776 - ], - [ - 98.501099, - 12.402222 - ] - ] - ], - [ - [ - [ - 98.285812, - 12.502499 - ], - [ - 98.229706, - 12.548054 - ], - [ - 98.243317, - 12.49222 - ], - [ - 98.285812, - 12.502499 - ] - ] - ], - [ - [ - [ - 97.853592, - 12.539999 - ], - [ - 97.837494, - 12.598053 - ], - [ - 97.817764, - 12.583332 - ], - [ - 97.853592, - 12.539999 - ] - ] - ], - [ - [ - [ - 98.349426, - 12.316942 - ], - [ - 98.466934, - 12.570831 - ], - [ - 98.32193, - 12.67111 - ], - [ - 98.349426, - 12.316942 - ] - ] - ], - [ - [ - [ - 97.872208, - 12.764166 - ], - [ - 97.844147, - 12.819443 - ], - [ - 97.83728, - 12.772419 - ], - [ - 97.872208, - 12.764166 - ] - ] - ], - [ - [ - [ - 98.304153, - 13.041666 - ], - [ - 98.239426, - 13.213331 - ], - [ - 98.298035, - 12.941387 - ], - [ - 98.304153, - 13.041666 - ] - ] - ], - [ - [ - [ - 97.921097, - 13.783054 - ], - [ - 97.934708, - 13.851664 - ], - [ - 97.921921, - 13.861664 - ], - [ - 97.921097, - 13.783054 - ] - ] - ], - [ - [ - [ - 97.924423, - 13.905832 - ], - [ - 97.91835, - 13.939081 - ], - [ - 97.923035, - 13.894444 - ], - [ - 97.924423, - 13.905832 - ] - ] - ], - [ - [ - [ - 93.380539, - 14.064165 - ], - [ - 93.400818, - 14.096109 - ], - [ - 93.386383, - 14.151665 - ], - [ - 93.380539, - 14.064165 - ] - ] - ], - [ - [ - [ - 97.806366, - 14.134443 - ], - [ - 97.814148, - 14.179998 - ], - [ - 97.789154, - 14.155277 - ], - [ - 97.806366, - 14.134443 - ] - ] - ], - [ - [ - [ - 93.722488, - 14.904444 - ], - [ - 93.6922, - 14.890833 - ], - [ - 93.679153, - 14.848331 - ], - [ - 93.722488, - 14.904444 - ] - ] - ], - [ - [ - [ - 97.669708, - 15.521387 - ], - [ - 97.65416, - 15.578331 - ], - [ - 97.66304, - 15.497219 - ], - [ - 97.669708, - 15.521387 - ] - ] - ], - [ - [ - [ - 94.79776, - 15.791666 - ], - [ - 94.820541, - 15.948053 - ], - [ - 94.728043, - 15.815275 - ], - [ - 94.79776, - 15.791666 - ] - ] - ], - [ - [ - [ - 94.583328, - 16.00972 - ], - [ - 94.649429, - 16.245274 - ], - [ - 94.386658, - 15.995831 - ], - [ - 94.415817, - 15.868053 - ], - [ - 94.583328, - 16.00972 - ] - ] - ], - [ - [ - [ - 97.569153, - 16.233604 - ], - [ - 97.616653, - 16.465271 - ], - [ - 97.515549, - 16.506107 - ], - [ - 97.569153, - 16.233604 - ] - ] - ], - [ - [ - [ - 93.671097, - 18.867496 - ], - [ - 93.484421, - 18.869717 - ], - [ - 93.703049, - 18.668053 - ], - [ - 93.671097, - 18.867496 - ] - ] - ], - [ - [ - [ - 93.790924, - 19.231342 - ], - [ - 93.49054, - 19.400829 - ], - [ - 93.9422, - 18.862495 - ], - [ - 93.790924, - 19.231342 - ] - ] - ], - [ - [ - [ - 93.801651, - 19.268608 - ], - [ - 93.968323, - 19.42083 - ], - [ - 93.682755, - 19.560555 - ], - [ - 93.801651, - 19.268608 - ] - ] - ], - [ - [ - [ - 93.513046, - 19.744438 - ], - [ - 93.498596, - 19.88055 - ], - [ - 93.395828, - 19.955273 - ], - [ - 93.513046, - 19.744438 - ] - ] - ], - [ - [ - [ - 93.024429, - 19.827774 - ], - [ - 92.954437, - 20.06361 - ], - [ - 92.912491, - 20.086662 - ], - [ - 93.024429, - 19.827774 - ] - ] - ], - [ - [ - [ - 101.148239, - 21.572636 - ], - [ - 101.105263, - 21.771385 - ], - [ - 100.212753, - 21.432552 - ], - [ - 99.964432, - 22.048885 - ], - [ - 99.162766, - 22.159161 - ], - [ - 99.566376, - 22.938049 - ], - [ - 98.927475, - 23.189163 - ], - [ - 98.6772, - 23.968052 - ], - [ - 98.890732, - 24.160069 - ], - [ - 97.535538, - 23.939716 - ], - [ - 97.759995, - 24.257496 - ], - [ - 97.552475, - 24.74305 - ], - [ - 98.710815, - 25.855553 - ], - [ - 98.77832, - 26.636383 - ], - [ - 98.699707, - 27.539165 - ], - [ - 98.316376, - 27.541943 - ], - [ - 97.806641, - 28.344162 - ], - [ - 97.555252, - 28.548054 - ], - [ - 97.348877, - 28.222771 - ], - [ - 96.886658, - 27.606106 - ], - [ - 97.136658, - 27.085831 - ], - [ - 96.194138, - 27.270832 - ], - [ - 95.141373, - 26.612495 - ], - [ - 95.17804, - 26.058887 - ], - [ - 94.625534, - 25.397774 - ], - [ - 94.734421, - 25.024719 - ], - [ - 94.151093, - 23.855274 - ], - [ - 93.33873, - 24.077915 - ], - [ - 93.19664, - 22.256386 - ], - [ - 92.600815, - 21.982216 - ], - [ - 92.669342, - 21.296982 - ], - [ - 92.260818, - 21.41444 - ], - [ - 92.261932, - 21.05431 - ], - [ - 92.860809, - 20.121109 - ], - [ - 93.081665, - 20.548607 - ], - [ - 93.129974, - 19.835552 - ], - [ - 93.128311, - 20.085552 - ], - [ - 93.728592, - 19.931664 - ], - [ - 93.599152, - 19.719715 - ], - [ - 93.991928, - 19.457218 - ], - [ - 94.6147, - 17.546387 - ], - [ - 94.245529, - 15.959997 - ], - [ - 94.631088, - 16.342773 - ], - [ - 94.679703, - 16.115829 - ], - [ - 94.560257, - 15.941942 - ], - [ - 94.793045, - 16.153606 - ], - [ - 94.650543, - 15.854164 - ], - [ - 94.990814, - 16.246662 - ], - [ - 94.848877, - 15.77972 - ], - [ - 95.137207, - 16.137218 - ], - [ - 95.216385, - 15.782776 - ], - [ - 95.360809, - 16.144718 - ], - [ - 95.428589, - 15.729719 - ], - [ - 96.268326, - 16.389717 - ], - [ - 96.241928, - 16.803734 - ], - [ - 96.3797, - 16.501389 - ], - [ - 96.777771, - 16.703884 - ], - [ - 96.878036, - 17.449997 - ], - [ - 97.378036, - 16.494995 - ], - [ - 97.737488, - 16.563885 - ], - [ - 97.797256, - 14.881962 - ], - [ - 98.138885, - 13.539721 - ], - [ - 98.185532, - 14.059164 - ], - [ - 98.583328, - 13.172775 - ], - [ - 98.70359, - 12.340046 - ], - [ - 98.533165, - 12.245721 - ], - [ - 98.705872, - 12.224465 - ], - [ - 98.721924, - 11.976109 - ], - [ - 98.597488, - 11.751665 - ], - [ - 98.890549, - 11.700275 - ], - [ - 98.743591, - 11.666943 - ], - [ - 98.710815, - 10.918331 - ], - [ - 98.460266, - 10.734442 - ], - [ - 98.546646, - 9.981665 - ], - [ - 98.742752, - 10.348608 - ], - [ - 99.661652, - 11.826942 - ], - [ - 99.112198, - 13.055832 - ], - [ - 99.173965, - 13.727781 - ], - [ - 98.201096, - 15.074999 - ], - [ - 98.92804, - 16.38583 - ], - [ - 98.689697, - 16.284996 - ], - [ - 97.346375, - 18.562496 - ], - [ - 97.774704, - 18.569996 - ], - [ - 98.049988, - 19.807499 - ], - [ - 98.995529, - 19.780552 - ], - [ - 99.522766, - 20.352776 - ], - [ - 100.081322, - 20.348841 - ], - [ - 100.09137, - 20.348606 - ], - [ - 101.148239, - 21.572636 - ] - ] - ] - ] - }, - "name" : "Burma", - "iso2" : "MM", - "iso3" : "MMR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Vb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 1.635404, - 6.218721 - ], - [ - 2.484418, - 6.340486 - ], - [ - 2.719606, - 6.365505 - ], - [ - 2.789444, - 9.043888 - ], - [ - 3.095, - 9.090555 - ], - [ - 3.855, - 10.584999 - ], - [ - 3.604459, - 11.693274 - ], - [ - 2.83862, - 12.396658 - ], - [ - 2.378054, - 12.240274 - ], - [ - 2.397925, - 11.896152 - ], - [ - 2.014722, - 11.422499 - ], - [ - 1.435278, - 11.458887 - ], - [ - 0.91797, - 10.996399 - ], - [ - 0.776667, - 10.376665 - ], - [ - 1.355, - 9.995277 - ], - [ - 1.398542, - 9.429901 - ], - [ - 1.635404, - 6.218721 - ] - ] - ] - }, - "name" : "Benin", - "iso2" : "BJ", - "iso3" : "BEN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Vr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 166.850527, - -11.696945 - ], - [ - 166.931917, - -11.667223 - ], - [ - 166.761385, - -11.579445 - ], - [ - 166.850527, - -11.696945 - ] - ] - ], - [ - [ - [ - 160.080812, - -11.498055 - ], - [ - 159.960787, - -11.521666 - ], - [ - 160.527468, - -11.808056 - ], - [ - 160.080812, - -11.498055 - ] - ] - ], - [ - [ - [ - 159.853304, - -11.324722 - ], - [ - 159.841646, - -11.303888 - ], - [ - 159.776644, - -11.288612 - ], - [ - 159.853304, - -11.324722 - ] - ] - ], - [ - [ - [ - 166.53525, - -11.363888 - ], - [ - 166.580538, - -11.324167 - ], - [ - 166.518038, - -11.271112 - ], - [ - 166.53525, - -11.363888 - ] - ] - ], - [ - [ - [ - 162.474977, - -10.855555 - ], - [ - 162.500551, - -10.84 - ], - [ - 162.481356, - -10.807501 - ], - [ - 162.474977, - -10.855555 - ] - ] - ], - [ - [ - [ - 166.139986, - -10.761112 - ], - [ - 165.904146, - -10.673611 - ], - [ - 165.777468, - -10.805 - ], - [ - 166.139986, - -10.761112 - ] - ] - ], - [ - [ - [ - 161.545259, - -10.276667 - ], - [ - 161.283327, - -10.331944 - ], - [ - 162.39081, - -10.841944 - ], - [ - 161.545259, - -10.276667 - ] - ] - ], - [ - [ - [ - 161.751375, - -10.294445 - ], - [ - 161.771914, - -10.254446 - ], - [ - 161.719973, - -10.214722 - ], - [ - 161.751375, - -10.294445 - ] - ] - ], - [ - [ - [ - 167.203859, - -9.963612 - ], - [ - 167.20801, - -9.950832 - ], - [ - 167.188295, - -9.942223 - ], - [ - 167.203859, - -9.963612 - ] - ] - ], - [ - [ - [ - 167.127748, - -9.880833 - ], - [ - 167.126345, - -9.867222 - ], - [ - 167.108004, - -9.869165 - ], - [ - 167.127748, - -9.880833 - ] - ] - ], - [ - [ - [ - 167.103304, - -9.851664 - ], - [ - 167.108583, - -9.840834 - ], - [ - 167.089418, - -9.8475 - ], - [ - 167.103304, - -9.851664 - ] - ] - ], - [ - [ - [ - 161.974672, - -9.853054 - ], - [ - 161.974123, - -9.689722 - ], - [ - 161.944704, - -9.690277 - ], - [ - 161.974672, - -9.853054 - ] - ] - ], - [ - [ - [ - 161.569124, - -9.724167 - ], - [ - 161.349977, - -9.338888 - ], - [ - 161.397219, - -9.669445 - ], - [ - 161.569124, - -9.724167 - ] - ], - [ - [ - 161.387484, - -9.468611 - ], - [ - 161.38135, - -9.469444 - ], - [ - 161.38553, - -9.454445 - ], - [ - 161.387484, - -9.468611 - ] - ] - ], - [ - [ - [ - 159.938295, - -9.433611 - ], - [ - 159.6019, - -9.317223 - ], - [ - 159.828035, - -9.796946 - ], - [ - 160.831087, - -9.861944 - ], - [ - 160.386385, - -9.426666 - ], - [ - 159.938295, - -9.433611 - ] - ] - ], - [ - [ - [ - 159.828585, - -9.172501 - ], - [ - 159.845797, - -9.138056 - ], - [ - 159.811373, - -9.110832 - ], - [ - 159.828585, - -9.172501 - ] - ] - ], - [ - [ - [ - 160.411104, - -9.136667 - ], - [ - 160.318575, - -9.060278 - ], - [ - 160.212465, - -9.170555 - ], - [ - 160.411104, - -9.136667 - ] - ] - ], - [ - [ - [ - 159.204409, - -9.133333 - ], - [ - 159.228304, - -9.025557 - ], - [ - 159.168032, - -9.102776 - ], - [ - 159.204409, - -9.133333 - ] - ] - ], - [ - [ - [ - 159.147493, - -9.108889 - ], - [ - 159.137209, - -8.994444 - ], - [ - 159.032473, - -9.060278 - ], - [ - 159.147493, - -9.108889 - ] - ] - ], - [ - [ - [ - 160.112185, - -8.997221 - ], - [ - 160.073305, - -8.947779 - ], - [ - 160.065798, - -9.0175 - ], - [ - 160.112185, - -8.997221 - ] - ] - ], - [ - [ - [ - 160.047213, - -8.915276 - ], - [ - 160.029421, - -8.880278 - ], - [ - 160.008333, - -8.884724 - ], - [ - 160.047213, - -8.915276 - ] - ] - ], - [ - [ - [ - 161.060793, - -8.748055 - ], - [ - 161.009432, - -8.754168 - ], - [ - 161.044436, - -8.772501 - ], - [ - 161.060793, - -8.748055 - ] - ] - ], - [ - [ - [ - 157.633883, - -8.748055 - ], - [ - 157.44385, - -8.715 - ], - [ - 157.619967, - -8.800833 - ], - [ - 157.633883, - -8.748055 - ] - ] - ], - [ - [ - [ - 158.205233, - -8.833332 - ], - [ - 158.213594, - -8.681112 - ], - [ - 158.149721, - -8.781389 - ], - [ - 158.205233, - -8.833332 - ] - ] - ], - [ - [ - [ - 158.003054, - -8.771112 - ], - [ - 158.116915, - -8.533333 - ], - [ - 157.875521, - -8.609999 - ], - [ - 158.003054, - -8.771112 - ] - ] - ], - [ - [ - [ - 157.408327, - -8.500834 - ], - [ - 157.199129, - -8.565834 - ], - [ - 157.384432, - -8.734444 - ], - [ - 157.408327, - -8.500834 - ] - ] - ], - [ - [ - [ - 159.683321, - -8.546946 - ], - [ - 159.56885, - -8.378887 - ], - [ - 159.537477, - -8.468332 - ], - [ - 159.683321, - -8.546946 - ] - ] - ], - [ - [ - [ - 162.74106, - -8.373888 - ], - [ - 162.725252, - -8.381388 - ], - [ - 162.76166, - -8.378056 - ], - [ - 162.74106, - -8.373888 - ] - ] - ], - [ - [ - [ - 160.974398, - -8.8475 - ], - [ - 160.580263, - -8.33 - ], - [ - 161.378023, - -9.635 - ], - [ - 160.974398, - -8.8475 - ] - ] - ], - [ - [ - [ - 157.124666, - -8.25528 - ], - [ - 157.023043, - -8.190834 - ], - [ - 157.151369, - -8.342777 - ], - [ - 157.124666, - -8.25528 - ] - ] - ], - [ - [ - [ - 157.20746, - -8.270279 - ], - [ - 157.180819, - -8.170555 - ], - [ - 157.09247, - -8.165834 - ], - [ - 157.20746, - -8.270279 - ] - ] - ], - [ - [ - [ - 156.844973, - -8.118332 - ], - [ - 156.782747, - -8.055279 - ], - [ - 156.783327, - -8.098055 - ], - [ - 156.844973, - -8.118332 - ] - ] - ], - [ - [ - [ - 157.631624, - -8.236387 - ], - [ - 157.497469, - -7.965555 - ], - [ - 157.214418, - -8.243055 - ], - [ - 157.811922, - -8.620832 - ], - [ - 157.631624, - -8.236387 - ] - ] - ], - [ - [ - [ - 156.598848, - -8.203054 - ], - [ - 156.542208, - -7.944721 - ], - [ - 156.531923, - -8.091944 - ], - [ - 156.598848, - -8.203054 - ] - ] - ], - [ - [ - [ - 157.156099, - -8.150278 - ], - [ - 157.027193, - -7.865276 - ], - [ - 156.967745, - -8.046389 - ], - [ - 157.156099, - -8.150278 - ] - ] - ], - [ - [ - [ - 158.571901, - -7.703611 - ], - [ - 158.54999, - -7.664165 - ], - [ - 158.532198, - -7.691387 - ], - [ - 158.571901, - -7.703611 - ] - ] - ], - [ - [ - [ - 158.530825, - -7.654167 - ], - [ - 158.312746, - -7.580833 - ], - [ - 158.359407, - -7.640556 - ], - [ - 158.530825, - -7.654167 - ] - ] - ], - [ - [ - [ - 156.706636, - -7.897223 - ], - [ - 156.808596, - -7.726665 - ], - [ - 156.554415, - -7.578611 - ], - [ - 156.706636, - -7.897223 - ] - ] - ], - [ - [ - [ - 159.852449, - -8.333889 - ], - [ - 158.487459, - -7.554167 - ], - [ - 159.886934, - -8.566389 - ], - [ - 159.852449, - -8.333889 - ] - ] - ], - [ - [ - [ - 158.429415, - -7.529722 - ], - [ - 158.262758, - -7.477499 - ], - [ - 158.370516, - -7.552776 - ], - [ - 158.429415, - -7.529722 - ] - ] - ], - [ - [ - [ - 157.781649, - -7.47611 - ], - [ - 157.749392, - -7.393888 - ], - [ - 157.683596, - -7.415556 - ], - [ - 157.781649, - -7.47611 - ] - ] - ], - [ - [ - [ - 155.587465, - -7.390556 - ], - [ - 155.584688, - -7.331944 - ], - [ - 155.510805, - -7.35111 - ], - [ - 155.587465, - -7.390556 - ] - ] - ], - [ - [ - [ - 155.858858, - -7.100277 - ], - [ - 155.740236, - -6.967499 - ], - [ - 155.66971, - -7.088055 - ], - [ - 155.858858, - -7.100277 - ] - ] - ], - [ - [ - [ - 156.110231, - -6.941111 - ], - [ - 156.074678, - -6.819166 - ], - [ - 156.084963, - -6.989443 - ], - [ - 156.110231, - -6.941111 - ] - ] - ], - [ - [ - [ - 156.019991, - -6.824722 - ], - [ - 156.045259, - -6.78861 - ], - [ - 156.000002, - -6.80361 - ], - [ - 156.019991, - -6.824722 - ] - ] - ], - [ - [ - [ - 157.428865, - -7.324444 - ], - [ - 156.43857, - -6.643612 - ], - [ - 156.936098, - -7.219166 - ], - [ - 157.428865, - -7.324444 - ] - ] - ], - [ - [ - [ - 159.71274, - -5.516666 - ], - [ - 159.723848, - -5.49 - ], - [ - 159.714144, - -5.483889 - ], - [ - 159.71274, - -5.516666 - ] - ] - ], - [ - [ - [ - 159.528597, - -5.498888 - ], - [ - 159.509981, - -5.470833 - ], - [ - 159.49634, - -5.466944 - ], - [ - 159.528597, - -5.498888 - ] - ] - ], - [ - [ - [ - 159.403872, - -5.448332 - ], - [ - 159.348848, - -5.415833 - ], - [ - 159.371614, - -5.440832 - ], - [ - 159.403872, - -5.448332 - ] - ] - ], - [ - [ - [ - 159.252199, - -5.312778 - ], - [ - 159.248842, - -5.293055 - ], - [ - 159.250277, - -5.324167 - ], - [ - 159.252199, - -5.312778 - ] - ] - ] - ] - }, - "name" : "Solomon Islands", - "iso2" : "SB", - "iso3" : "SLB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "V71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -48.55056, - -27.821392 - ], - [ - -48.418335, - -27.388889 - ], - [ - -48.517227, - -27.430836 - ], - [ - -48.55056, - -27.821392 - ] - ] - ], - [ - [ - [ - -48.581116, - -26.39167 - ], - [ - -48.537781, - -26.167225 - ], - [ - -48.707779, - -26.309723 - ], - [ - -48.581116, - -26.39167 - ] - ] - ], - [ - [ - [ - -48.282501, - -25.486115 - ], - [ - -48.256668, - -25.33889 - ], - [ - -48.333061, - -25.413059 - ], - [ - -48.282501, - -25.486115 - ] - ] - ], - [ - [ - [ - -47.877785, - -25.026947 - ], - [ - -47.606674, - -24.783611 - ], - [ - -47.816673, - -24.900002 - ], - [ - -47.877785, - -25.026947 - ] - ] - ], - [ - [ - [ - -46.282784, - -23.98917 - ], - [ - -46.323616, - -23.93 - ], - [ - -46.416389, - -23.950279 - ], - [ - -46.282784, - -23.98917 - ] - ] - ], - [ - [ - [ - -45.126396, - -23.821392 - ], - [ - -45.105003, - -23.806393 - ], - [ - -45.136391, - -23.797779 - ], - [ - -45.126396, - -23.821392 - ] - ] - ], - [ - [ - [ - -45.22084, - -23.779446 - ], - [ - -45.441391, - -23.92889 - ], - [ - -45.218338, - -23.955833 - ], - [ - -45.22084, - -23.779446 - ] - ] - ], - [ - [ - [ - -44.08889, - -23.174446 - ], - [ - -44.228615, - -23.071114 - ], - [ - -44.369171, - -23.172226 - ], - [ - -44.08889, - -23.174446 - ] - ] - ], - [ - [ - [ - -29.84, - -20.496391 - ], - [ - -29.852222, - -20.491112 - ], - [ - -29.848892, - -20.500835 - ], - [ - -29.84, - -20.496391 - ] - ] - ], - [ - [ - [ - -30.29528, - -20.505835 - ], - [ - -30.334166, - -20.482224 - ], - [ - -30.319447, - -20.52 - ], - [ - -30.29528, - -20.505835 - ] - ] - ], - [ - [ - [ - -38.911667, - -13.67528 - ], - [ - -38.912781, - -13.587502 - ], - [ - -38.991951, - -13.593056 - ], - [ - -38.911667, - -13.67528 - ] - ] - ], - [ - [ - [ - -38.936951, - -13.5625 - ], - [ - -38.908058, - -13.385557 - ], - [ - -39.038612, - -13.397779 - ], - [ - -39.041115, - -13.462223 - ], - [ - -38.964443, - -13.498844 - ], - [ - -38.984451, - -13.5625 - ], - [ - -38.936951, - -13.5625 - ] - ] - ], - [ - [ - [ - -38.754723, - -13.113056 - ], - [ - -38.591667, - -12.987501 - ], - [ - -38.643333, - -12.892223 - ], - [ - -38.754723, - -13.113056 - ] - ] - ], - [ - [ - [ - -37.132507, - -11.129446 - ], - [ - -37.036949, - -10.952501 - ], - [ - -37.146393, - -11.108612 - ], - [ - -37.132507, - -11.129446 - ] - ] - ], - [ - [ - [ - -34.873894, - -7.073334 - ], - [ - -34.866669, - -7.048611 - ], - [ - -34.888893, - -7.071945 - ], - [ - -34.873894, - -7.073334 - ] - ] - ], - [ - [ - [ - -34.854172, - -7.005278 - ], - [ - -34.859726, - -6.994444 - ], - [ - -34.86306, - -7.013889 - ], - [ - -34.854172, - -7.005278 - ] - ] - ], - [ - [ - [ - -32.450836, - -3.88361 - ], - [ - -32.386673, - -3.840277 - ], - [ - -32.424171, - -3.845833 - ], - [ - -32.450836, - -3.88361 - ] - ] - ], - [ - [ - [ - -44.610283, - -3.008055 - ], - [ - -44.611671, - -2.887222 - ], - [ - -44.656113, - -2.97361 - ], - [ - -44.610283, - -3.008055 - ] - ] - ], - [ - [ - [ - -44.586395, - -3.0525 - ], - [ - -44.483894, - -2.709999 - ], - [ - -44.577507, - -2.801945 - ], - [ - -44.586395, - -3.0525 - ] - ] - ], - [ - [ - [ - -42.050835, - -2.761667 - ], - [ - -42.06945, - -2.685833 - ], - [ - -42.184448, - -2.6775 - ], - [ - -42.050835, - -2.761667 - ] - ] - ], - [ - [ - [ - -43.693335, - -2.326944 - ], - [ - -43.61528, - -2.262499 - ], - [ - -43.739174, - -2.350277 - ], - [ - -43.693335, - -2.326944 - ] - ] - ], - [ - [ - [ - -50.863892, - -1.910833 - ], - [ - -51.148338, - -1.828611 - ], - [ - -50.98806, - -1.99361 - ], - [ - -50.863892, - -1.910833 - ] - ] - ], - [ - [ - [ - -49.02417, - -1.829166 - ], - [ - -49.055557, - -1.721111 - ], - [ - -49.156952, - -1.858055 - ], - [ - -49.02417, - -1.829166 - ] - ] - ], - [ - [ - [ - -48.961113, - -1.795832 - ], - [ - -48.902779, - -1.577221 - ], - [ - -49.046112, - -1.705278 - ], - [ - -48.961113, - -1.795832 - ] - ] - ], - [ - [ - [ - -44.652779, - -1.623888 - ], - [ - -44.713058, - -1.561111 - ], - [ - -44.78334, - -1.619167 - ], - [ - -44.778893, - -1.668055 - ], - [ - -44.662224, - -1.661945 - ], - [ - -44.652779, - -1.623888 - ] - ] - ], - [ - [ - [ - -52.024727, - -1.580278 - ], - [ - -51.914452, - -1.516388 - ], - [ - -52.029449, - -1.439722 - ], - [ - -52.200836, - -1.646666 - ], - [ - -52.024727, - -1.580278 - ] - ] - ], - [ - [ - [ - -52.418335, - -1.5275 - ], - [ - -52.168617, - -1.408333 - ], - [ - -52.431114, - -1.466389 - ], - [ - -52.418335, - -1.5275 - ] - ] - ], - [ - [ - [ - -48.633614, - -1.484722 - ], - [ - -48.657501, - -1.375834 - ], - [ - -48.696671, - -1.449167 - ], - [ - -48.633614, - -1.484722 - ] - ] - ], - [ - [ - [ - -48.525841, - -1.525 - ], - [ - -48.553337, - -1.36611 - ], - [ - -48.592506, - -1.442221 - ], - [ - -48.525841, - -1.525 - ] - ] - ], - [ - [ - [ - -44.987503, - -1.401945 - ], - [ - -44.881111, - -1.283056 - ], - [ - -44.975563, - -1.261667 - ], - [ - -44.987503, - -1.401945 - ] - ] - ], - [ - [ - [ - -45.634171, - -1.346388 - ], - [ - -45.626944, - -1.126944 - ], - [ - -45.689444, - -1.360832 - ], - [ - -45.634171, - -1.346388 - ] - ] - ], - [ - [ - [ - -48.340279, - -1.212778 - ], - [ - -48.322502, - -1.076944 - ], - [ - -48.412224, - -1.074999 - ], - [ - -48.465561, - -1.162777 - ], - [ - -48.340279, - -1.212778 - ] - ] - ], - [ - [ - [ - -46.498894, - -1.020277 - ], - [ - -46.440002, - -1.006388 - ], - [ - -46.456673, - -0.888611 - ], - [ - -46.54834, - -0.972221 - ], - [ - -46.53334, - -1.0175 - ], - [ - -46.498894, - -1.020277 - ] - ] - ], - [ - [ - [ - -50.987228, - -0.866388 - ], - [ - -51.182503, - -1.091667 - ], - [ - -51.070038, - -1.037794 - ], - [ - -51.019447, - -0.991667 - ], - [ - -51.012619, - -0.919502 - ], - [ - -50.920837, - -0.869722 - ], - [ - -50.987228, - -0.866388 - ] - ] - ], - [ - [ - [ - -51.375282, - -1.21361 - ], - [ - -51.239449, - -1.143888 - ], - [ - -51.203056, - -0.841667 - ], - [ - -51.248894, - -1.024721 - ], - [ - -51.363617, - -1.129444 - ], - [ - -51.400284, - -1.201944 - ], - [ - -51.375282, - -1.21361 - ] - ] - ], - [ - [ - [ - -50.92028, - -0.844999 - ], - [ - -50.842781, - -0.727777 - ], - [ - -50.922783, - -0.729166 - ], - [ - -50.92028, - -0.844999 - ] - ] - ], - [ - [ - [ - -47.935005, - -0.727222 - ], - [ - -47.876114, - -0.673056 - ], - [ - -47.932503, - -0.636667 - ], - [ - -47.97084, - -0.68 - ], - [ - -47.951668, - -0.731945 - ], - [ - -47.935005, - -0.727222 - ] - ] - ], - [ - [ - [ - -47.66806, - -0.709166 - ], - [ - -47.637222, - -0.620832 - ], - [ - -47.665283, - -0.57361 - ], - [ - -47.718895, - -0.640556 - ], - [ - -47.696671, - -0.714722 - ], - [ - -47.66806, - -0.709166 - ] - ] - ], - [ - [ - [ - -51.13195, - -0.959444 - ], - [ - -50.815834, - -0.572222 - ], - [ - -51.070282, - -0.694445 - ], - [ - -51.13195, - -0.959444 - ] - ] - ], - [ - [ - [ - -51.051117, - -0.659166 - ], - [ - -51.025284, - -0.560556 - ], - [ - -51.098335, - -0.633888 - ], - [ - -51.051117, - -0.659166 - ] - ] - ], - [ - [ - [ - -51.90139, - -1.476667 - ], - [ - -51.483337, - -1.240278 - ], - [ - -51.271666, - -1.014166 - ], - [ - -51.148338, - -0.669722 - ], - [ - -51.199722, - -0.529167 - ], - [ - -51.38195, - -0.541389 - ], - [ - -51.609726, - -0.733889 - ], - [ - -51.662224, - -1.083332 - ], - [ - -51.885002, - -1.178888 - ], - [ - -51.952225, - -1.430832 - ], - [ - -51.90139, - -1.476667 - ] - ] - ], - [ - [ - [ - -51.403336, - -0.540833 - ], - [ - -51.239449, - -0.454443 - ], - [ - -51.411392, - -0.499722 - ], - [ - -51.403336, - -0.540833 - ] - ] - ], - [ - [ - [ - -50.958618, - -0.567499 - ], - [ - -50.776947, - -0.383888 - ], - [ - -50.878334, - -0.385277 - ], - [ - -50.958618, - -0.567499 - ] - ] - ], - [ - [ - [ - -51.10778, - -0.539999 - ], - [ - -50.946671, - -0.353889 - ], - [ - -51.034729, - -0.283056 - ], - [ - -51.10778, - -0.539999 - ] - ] - ], - [ - [ - [ - -50.907227, - -0.335833 - ], - [ - -50.888618, - -0.291389 - ], - [ - -51.025002, - -0.248888 - ], - [ - -50.907227, - -0.335833 - ] - ] - ], - [ - [ - [ - -49.713341, - -0.227777 - ], - [ - -50.657784, - -0.279167 - ], - [ - -50.796951, - -0.971943 - ], - [ - -50.550003, - -1.069166 - ], - [ - -50.781113, - -1.151945 - ], - [ - -50.803612, - -1.440556 - ], - [ - -50.578056, - -1.800833 - ], - [ - -49.166389, - -1.613888 - ], - [ - -48.627228, - -1.064444 - ], - [ - -48.373062, - -0.289167 - ], - [ - -49.713341, - -0.227777 - ] - ] - ], - [ - [ - [ - -50.803337, - -0.358889 - ], - [ - -50.748894, - -0.226667 - ], - [ - -50.908058, - -0.358332 - ], - [ - -50.803337, - -0.358889 - ] - ] - ], - [ - [ - [ - -51.380562, - -0.484722 - ], - [ - -51.137505, - -0.285278 - ], - [ - -51.103058, - -0.121389 - ], - [ - -51.380562, - -0.484722 - ] - ] - ], - [ - [ - [ - -50.556946, - -0.0625 - ], - [ - -51.027229, - -0.224167 - ], - [ - -50.85778, - -0.283056 - ], - [ - -50.556946, - -0.0625 - ] - ] - ], - [ - [ - [ - -50.901672, - -0.047499 - ], - [ - -50.697502, - 0.02389 - ], - [ - -50.829727, - 0.060835 - ], - [ - -50.901672, - -0.047499 - ] - ] - ], - [ - [ - [ - -49.525558, - -0.134443 - ], - [ - -49.501671, - 0.070559 - ], - [ - -49.852501, - -0.064444 - ], - [ - -49.525558, - -0.134443 - ] - ] - ], - [ - [ - [ - -50.455559, - -0.022778 - ], - [ - -50.465004, - 0.146669 - ], - [ - -50.643333, - 0.17111 - ], - [ - -50.455559, - -0.022778 - ] - ] - ], - [ - [ - [ - -49.636116, - 0.227503 - ], - [ - -50.392502, - 0.109446 - ], - [ - -49.984726, - -0.072222 - ], - [ - -49.636116, - 0.227503 - ] - ] - ], - [ - [ - [ - -50.243057, - 0.229445 - ], - [ - -50.083618, - 0.320002 - ], - [ - -50.184174, - 0.324167 - ], - [ - -50.243057, - 0.229445 - ] - ] - ], - [ - [ - [ - -50.416389, - 0.210833 - ], - [ - -50.373894, - 0.621389 - ], - [ - -50.536392, - 0.22611 - ], - [ - -50.416389, - 0.210833 - ] - ] - ], - [ - [ - [ - -50.237503, - 0.350836 - ], - [ - -50.063614, - 0.646112 - ], - [ - -50.30806, - 0.506392 - ], - [ - -50.237503, - 0.350836 - ] - ] - ], - [ - [ - [ - -50.007225, - 0.881666 - ], - [ - -50.200562, - 0.879168 - ], - [ - -50.267784, - 0.751669 - ], - [ - -50.007225, - 0.881666 - ] - ] - ], - [ - [ - [ - -50.037506, - 0.884443 - ], - [ - -50.042229, - 0.918058 - ], - [ - -50.093895, - 0.920835 - ], - [ - -50.037506, - 0.884443 - ] - ] - ], - [ - [ - [ - -50.009445, - 0.935278 - ], - [ - -49.947784, - 1.054445 - ], - [ - -50.074448, - 0.981112 - ], - [ - -50.009445, - 0.935278 - ] - ] - ], - [ - [ - [ - -50.396666, - 1.881392 - ], - [ - -50.356117, - 2.116945 - ], - [ - -50.505005, - 2.025 - ], - [ - -50.396666, - 1.881392 - ] - ] - ], - [ - [ - [ - -50.475281, - 2.119722 - ], - [ - -50.405556, - 2.193613 - ], - [ - -50.517227, - 2.203054 - ], - [ - -50.475281, - 2.119722 - ] - ] - ], - [ - [ - [ - -69.956924, - -4.236874 - ], - [ - -70.765839, - -4.146389 - ], - [ - -72.851959, - -5.124722 - ], - [ - -73.123901, - -6.447222 - ], - [ - -73.744171, - -6.876944 - ], - [ - -74.010559, - -7.541389 - ], - [ - -72.964172, - -8.983334 - ], - [ - -73.205292, - -9.407223 - ], - [ - -72.366394, - -9.494446 - ], - [ - -72.14389, - -10.004723 - ], - [ - -71.298889, - -9.996389 - ], - [ - -70.514664, - -9.428001 - ], - [ - -70.631393, - -11.009167 - ], - [ - -69.568436, - -10.951092 - ], - [ - -68.58345, - -11.106138 - ], - [ - -66.634445, - -9.906946 - ], - [ - -65.381958, - -9.697779 - ], - [ - -65.392792, - -11.26639 - ], - [ - -64.991669, - -12.008057 - ], - [ - -64.39418, - -12.461668 - ], - [ - -63.075005, - -12.650002 - ], - [ - -61.833893, - -13.544724 - ], - [ - -61.038979, - -13.493118 - ], - [ - -60.47084, - -13.807222 - ], - [ - -60.258896, - -15.093613 - ], - [ - -60.571396, - -15.097502 - ], - [ - -60.160278, - -16.263058 - ], - [ - -58.327507, - -16.279167 - ], - [ - -58.397507, - -17.249168 - ], - [ - -57.743057, - -17.593056 - ], - [ - -57.521118, - -18.203892 - ], - [ - -58.121117, - -19.74139 - ], - [ - -57.848747, - -19.978794 - ], - [ - -58.15889, - -20.168055 - ], - [ - -57.814444, - -20.971947 - ], - [ - -57.985107, - -22.091827 - ], - [ - -55.849724, - -22.288891 - ], - [ - -55.411667, - -23.95639 - ], - [ - -54.407227, - -23.916668 - ], - [ - -54.330559, - -24.679449 - ], - [ - -54.598915, - -25.573223 - ], - [ - -53.863335, - -25.681114 - ], - [ - -53.807785, - -27.129169 - ], - [ - -55.765282, - -28.226112 - ], - [ - -57.608002, - -30.184925 - ], - [ - -56.811394, - -30.105278 - ], - [ - -56.008923, - -31.079794 - ], - [ - -55.581947, - -30.845837 - ], - [ - -53.879723, - -31.967781 - ], - [ - -53.093056, - -32.729729 - ], - [ - -53.522781, - -33.147781 - ], - [ - -53.374298, - -33.740669 - ], - [ - -52.636673, - -33.129448 - ], - [ - -51.965279, - -31.339447 - ], - [ - -51.271118, - -30.795559 - ], - [ - -51.28167, - -30.010002 - ], - [ - -50.928337, - -30.419445 - ], - [ - -50.608894, - -30.190556 - ], - [ - -50.567223, - -30.457226 - ], - [ - -51.251396, - -31.471668 - ], - [ - -52.086395, - -31.823612 - ], - [ - -52.072502, - -32.174171 - ], - [ - -50.749451, - -31.081112 - ], - [ - -49.752502, - -29.369724 - ], - [ - -48.774727, - -28.522224 - ], - [ - -48.485283, - -27.211391 - ], - [ - -48.802504, - -26.067223 - ], - [ - -48.581947, - -26.18 - ], - [ - -48.770561, - -25.880001 - ], - [ - -48.361389, - -25.576389 - ], - [ - -48.718613, - -25.424725 - ], - [ - -48.131393, - -25.272224 - ], - [ - -48.208618, - -25.46167 - ], - [ - -48.026115, - -25.015003 - ], - [ - -46.382782, - -23.868336 - ], - [ - -45.418335, - -23.830833 - ], - [ - -44.577225, - -23.356113 - ], - [ - -44.662506, - -23.048058 - ], - [ - -43.218338, - -22.996948 - ], - [ - -43.075836, - -22.668335 - ], - [ - -43.091949, - -22.954723 - ], - [ - -42.034447, - -22.91917 - ], - [ - -41.763062, - -22.346111 - ], - [ - -40.971672, - -21.988056 - ], - [ - -40.960556, - -21.235836 - ], - [ - -39.801392, - -19.632504 - ], - [ - -39.643616, - -18.223335 - ], - [ - -39.130835, - -17.683891 - ], - [ - -39.206673, - -17.147503 - ], - [ - -38.871948, - -15.874168 - ], - [ - -39.066948, - -14.64389 - ], - [ - -38.920563, - -13.915556 - ], - [ - -39.038895, - -14.175835 - ], - [ - -38.963058, - -13.681391 - ], - [ - -39.080284, - -13.538334 - ], - [ - -39.056395, - -13.377501 - ], - [ - -38.956673, - -13.380001 - ], - [ - -38.725281, - -12.874445 - ], - [ - -38.901115, - -12.705557 - ], - [ - -38.691673, - -12.577778 - ], - [ - -38.488617, - -13.02 - ], - [ - -38.041389, - -12.633057 - ], - [ - -37.153336, - -10.748611 - ], - [ - -37.021666, - -10.935835 - ], - [ - -36.393333, - -10.4925 - ], - [ - -35.292778, - -9.18 - ], - [ - -34.800835, - -7.631111 - ], - [ - -35.417503, - -5.214722 - ], - [ - -37.174446, - -4.918612 - ], - [ - -39.996948, - -2.846388 - ], - [ - -41.24807, - -3.023554 - ], - [ - -43.347504, - -2.365833 - ], - [ - -44.339729, - -2.830278 - ], - [ - -44.063339, - -2.405834 - ], - [ - -44.356949, - -2.526667 - ], - [ - -44.420563, - -2.93 - ], - [ - -44.786392, - -3.297499 - ], - [ - -44.58223, - -2.556944 - ], - [ - -44.360001, - -2.338888 - ], - [ - -44.656395, - -2.33111 - ], - [ - -44.490562, - -1.980833 - ], - [ - -44.538895, - -1.832222 - ], - [ - -44.695007, - -1.817778 - ], - [ - -44.799171, - -1.705 - ], - [ - -44.820557, - -1.578333 - ], - [ - -44.951393, - -1.601667 - ], - [ - -44.860283, - -1.425278 - ], - [ - -45.347504, - -1.740278 - ], - [ - -45.326668, - -1.313334 - ], - [ - -45.462227, - -1.545555 - ], - [ - -45.446945, - -1.310833 - ], - [ - -45.696114, - -1.370277 - ], - [ - -45.735558, - -1.18 - ], - [ - -45.851952, - -1.271944 - ], - [ - -45.974724, - -1.074999 - ], - [ - -46.043335, - -1.210278 - ], - [ - -46.259726, - -1.183611 - ], - [ - -46.191948, - -0.9575 - ], - [ - -46.448334, - -1.043055 - ], - [ - -46.535835, - -1.032221 - ], - [ - -46.557785, - -0.999166 - ], - [ - -46.604172, - -1.029444 - ], - [ - -46.821671, - -0.712778 - ], - [ - -46.951118, - -0.908056 - ], - [ - -46.954727, - -0.704445 - ], - [ - -47.431395, - -0.5825 - ], - [ - -47.39389, - -0.812778 - ], - [ - -47.542503, - -0.636667 - ], - [ - -47.726952, - -0.758055 - ], - [ - -47.749451, - -0.635277 - ], - [ - -47.956947, - -0.775278 - ], - [ - -48.060562, - -0.710833 - ], - [ - -48.292229, - -0.945 - ], - [ - -48.331673, - -1.308332 - ], - [ - -48.479172, - -1.301943 - ], - [ - -48.503059, - -1.458332 - ], - [ - -48.184448, - -1.471945 - ], - [ - -48.413612, - -1.499443 - ], - [ - -48.430557, - -1.661667 - ], - [ - -48.697226, - -1.469166 - ], - [ - -49.490004, - -2.564999 - ], - [ - -49.289726, - -1.708332 - ], - [ - -50.677956, - -1.810444 - ], - [ - -50.70639, - -2.220556 - ], - [ - -50.983894, - -2.066111 - ], - [ - -50.846115, - -2.50861 - ], - [ - -51.307503, - -1.763611 - ], - [ - -51.45195, - -2.273611 - ], - [ - -51.336945, - -1.646944 - ], - [ - -50.663895, - -1.767778 - ], - [ - -50.816673, - -1.439722 - ], - [ - -50.858337, - -0.91361 - ], - [ - -50.992226, - -0.925278 - ], - [ - -51.009171, - -0.949167 - ], - [ - -50.992783, - -0.998611 - ], - [ - -51.257225, - -1.218332 - ], - [ - -52.208469, - -1.692078 - ], - [ - -52.712784, - -1.603333 - ], - [ - -52.232506, - -1.345278 - ], - [ - -52.067505, - -1.42 - ], - [ - -51.928337, - -1.337778 - ], - [ - -51.920006, - -1.166389 - ], - [ - -51.712502, - -1.026667 - ], - [ - -51.700005, - -0.752499 - ], - [ - -51.258614, - -0.142778 - ], - [ - -49.903893, - 1.170279 - ], - [ - -50.121948, - 1.214167 - ], - [ - -49.93, - 1.708055 - ], - [ - -50.445282, - 1.825834 - ], - [ - -50.679726, - 2.164724 - ], - [ - -51.088615, - 3.911669 - ], - [ - -51.537506, - 4.39139 - ], - [ - -51.447784, - 3.972502 - ], - [ - -51.684067, - 4.034163 - ], - [ - -52.909729, - 2.195833 - ], - [ - -54.603783, - 2.329195 - ], - [ - -55.965836, - 2.532778 - ], - [ - -55.904167, - 1.893057 - ], - [ - -56.470634, - 1.944498 - ], - [ - -57.324722, - 1.975279 - ], - [ - -58.806946, - 1.185556 - ], - [ - -59.642784, - 1.731112 - ], - [ - -59.989449, - 2.693613 - ], - [ - -59.568611, - 3.899446 - ], - [ - -59.675835, - 4.388887 - ], - [ - -60.147507, - 4.5175 - ], - [ - -60.098335, - 5.217222 - ], - [ - -60.73037, - 5.204802 - ], - [ - -60.579727, - 4.946669 - ], - [ - -60.985001, - 4.520555 - ], - [ - -62.745834, - 4.032499 - ], - [ - -62.875, - 3.560278 - ], - [ - -63.343056, - 3.961111 - ], - [ - -64.017792, - 3.88611 - ], - [ - -64.795288, - 4.281389 - ], - [ - -64.191116, - 3.594446 - ], - [ - -64.045013, - 2.4825 - ], - [ - -63.361115, - 2.419168 - ], - [ - -63.393059, - 2.151388 - ], - [ - -65.51889, - 0.649721 - ], - [ - -65.589737, - 0.989168 - ], - [ - -66.311951, - 0.750559 - ], - [ - -66.871887, - 1.221643 - ], - [ - -67.076675, - 1.173334 - ], - [ - -67.424179, - 2.143888 - ], - [ - -67.914734, - 1.745279 - ], - [ - -68.196396, - 1.977503 - ], - [ - -68.153061, - 1.724169 - ], - [ - -69.8461, - 1.710455 - ], - [ - -69.842224, - 1.072222 - ], - [ - -69.270004, - 1.038336 - ], - [ - -69.124725, - 0.645002 - ], - [ - -70.044174, - 0.590834 - ], - [ - -70.05806, - -0.157499 - ], - [ - -69.607513, - -0.5175 - ], - [ - -69.378067, - -1.338055 - ], - [ - -69.956924, - -4.236874 - ] - ] - ] - ] - }, - "name" : "Brazil", - "iso2" : "BR", - "iso3" : "BRA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "WL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 28.013054, - 41.982216 - ], - [ - 27.44833, - 42.469994 - ], - [ - 27.879166, - 42.841103 - ], - [ - 28.583244, - 43.747765 - ], - [ - 27.036427, - 44.147339 - ], - [ - 25.430229, - 43.626778 - ], - [ - 24.179996, - 43.684715 - ], - [ - 22.875275, - 43.842499 - ], - [ - 23.044167, - 44.076111 - ], - [ - 22.681435, - 44.224701 - ], - [ - 22.367222, - 43.826942 - ], - [ - 23.004997, - 43.192772 - ], - [ - 22.442219, - 42.821663 - ], - [ - 22.365276, - 42.323883 - ], - [ - 23.014721, - 41.762215 - ], - [ - 22.935604, - 41.342125 - ], - [ - 24.263885, - 41.570549 - ], - [ - 25.285, - 41.24305 - ], - [ - 26.139996, - 41.354713 - ], - [ - 26.066109, - 41.697495 - ], - [ - 26.294167, - 41.708054 - ], - [ - 26.361095, - 41.711052 - ], - [ - 27.394997, - 42.008041 - ], - [ - 28.013054, - 41.982216 - ] - ] - ] - }, - "name" : "Bulgaria", - "iso2" : "BG", - "iso3" : "BGR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Wb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 115.223038, - 4.804998 - ], - [ - 115.145782, - 4.90324 - ], - [ - 115.029129, - 4.82021 - ], - [ - 115.343323, - 4.311943 - ], - [ - 115.223038, - 4.804998 - ] - ] - ], - [ - [ - [ - 114.981369, - 4.892499 - ], - [ - 114.095078, - 4.590538 - ], - [ - 114.641098, - 4.018888 - ], - [ - 115.018433, - 4.895795 - ], - [ - 114.981369, - 4.892499 - ] - ] - ] - ] - }, - "name" : "Brunei Darussalam", - "iso2" : "BN", - "iso3" : "BRN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Wr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -53.756367, - 48.503263 - ], - [ - -53.956108, - 48.543886 - ], - [ - -53.601944, - 48.689714 - ], - [ - -54.096106, - 48.812212 - ], - [ - -53.488609, - 49.220545 - ], - [ - -53.775002, - 49.396105 - ], - [ - -54.486946, - 49.259722 - ], - [ - -54.528885, - 49.533335 - ], - [ - -54.824448, - 49.269159 - ], - [ - -55.078056, - 49.356943 - ], - [ - -55.383331, - 49.040834 - ], - [ - -55.141113, - 49.545275 - ], - [ - -55.315277, - 49.31444 - ], - [ - -56.129166, - 49.425554 - ], - [ - -55.491699, - 50.007311 - ], - [ - -56.153885, - 50.150545 - ], - [ - -56.848885, - 49.544443 - ], - [ - -56.155273, - 50.885553 - ], - [ - -55.732498, - 51.079996 - ], - [ - -56.085556, - 51.368326 - ], - [ - -55.405273, - 51.561663 - ], - [ - -55.898056, - 51.628603 - ], - [ - -57.378609, - 50.687769 - ], - [ - -57.148056, - 50.621935 - ], - [ - -57.948334, - 49.674166 - ], - [ - -57.696388, - 49.46361 - ], - [ - -58.223328, - 49.390276 - ], - [ - -57.881668, - 48.968882 - ], - [ - -58.396111, - 49.13138 - ], - [ - -58.709442, - 48.570833 - ], - [ - -58.958611, - 48.613886 - ], - [ - -58.774719, - 48.778879 - ], - [ - -59.261116, - 48.476656 - ], - [ - -58.418335, - 48.486658 - ], - [ - -59.406944, - 47.889719 - ], - [ - -59.135559, - 47.556383 - ], - [ - -56.840836, - 47.521379 - ], - [ - -55.773613, - 47.956942 - ], - [ - -55.917503, - 47.657495 - ], - [ - -55.628334, - 47.674715 - ], - [ - -56.172501, - 47.497217 - ], - [ - -55.587776, - 47.398607 - ], - [ - -54.936111, - 47.781664 - ], - [ - -54.845833, - 47.55694 - ], - [ - -55.983055, - 46.952494 - ], - [ - -55.68972, - 46.858332 - ], - [ - -54.418335, - 47.603609 - ], - [ - -54.482773, - 47.391665 - ], - [ - -54.195274, - 47.8575 - ], - [ - -53.8675, - 47.402773 - ], - [ - -54.187775, - 46.819162 - ], - [ - -53.591385, - 47.156099 - ], - [ - -53.617775, - 46.644159 - ], - [ - -53.102501, - 46.63666 - ], - [ - -52.614449, - 47.516665 - ], - [ - -52.779442, - 47.803049 - ], - [ - -53.121941, - 47.413324 - ], - [ - -53.26722, - 47.606104 - ], - [ - -52.83139, - 48.101664 - ], - [ - -53.274445, - 48.01333 - ], - [ - -53.550552, - 47.529161 - ], - [ - -53.850555, - 47.760553 - ], - [ - -53.60778, - 48.051104 - ], - [ - -53.945274, - 48.178881 - ], - [ - -52.97805, - 48.604441 - ], - [ - -53.756367, - 48.503263 - ] - ], - [ - [ - -53.756367, - 48.503263 - ], - [ - -54.138054, - 48.359163 - ], - [ - -54.094444, - 48.425829 - ], - [ - -53.756367, - 48.503263 - ] - ], - [ - [ - -55.993889, - 51.200274 - ], - [ - -55.998055, - 51.207499 - ], - [ - -55.967773, - 51.226656 - ], - [ - -55.993889, - 51.200274 - ] - ], - [ - [ - -56.803612, - 49.76333 - ], - [ - -56.838051, - 49.767496 - ], - [ - -56.782219, - 49.786943 - ], - [ - -56.803612, - 49.76333 - ] - ], - [ - [ - -58.342224, - 49.066103 - ], - [ - -58.35611, - 49.065828 - ], - [ - -58.333611, - 49.077776 - ], - [ - -58.342224, - 49.066103 - ] - ] - ], - [ - [ - [ - -53.712776, - 48.148882 - ], - [ - -53.509726, - 48.198328 - ], - [ - -53.935829, - 48.182497 - ], - [ - -53.712776, - 48.148882 - ] - ] - ], - [ - [ - [ - -54.004448, - 49.647493 - ], - [ - -54.141945, - 49.750002 - ], - [ - -54.298889, - 49.609995 - ], - [ - -54.004448, - 49.647493 - ] - ] - ], - [ - [ - [ - -54.077499, - 47.479433 - ], - [ - -54.071388, - 47.685549 - ], - [ - -54.101944, - 47.50139 - ], - [ - -54.077499, - 47.479433 - ] - ] - ], - [ - [ - [ - -54.261391, - 47.390276 - ], - [ - -54.128883, - 47.670549 - ], - [ - -54.365555, - 47.411661 - ], - [ - -54.261391, - 47.390276 - ] - ] - ], - [ - [ - [ - -54.576668, - 49.558603 - ], - [ - -54.536118, - 49.664156 - ], - [ - -54.894447, - 49.585268 - ], - [ - -54.576668, - 49.558603 - ] - ] - ], - [ - [ - [ - -54.705275, - 49.400545 - ], - [ - -54.640839, - 49.463884 - ], - [ - -54.673058, - 49.492495 - ], - [ - -54.759171, - 49.437769 - ], - [ - -54.705275, - 49.400545 - ] - ] - ], - [ - [ - [ - -55.3675, - 51.874163 - ], - [ - -55.269997, - 52.000551 - ], - [ - -55.430557, - 51.896662 - ], - [ - -55.3675, - 51.874163 - ] - ] - ], - [ - [ - [ - -55.56472, - 50.699717 - ], - [ - -55.450554, - 50.798334 - ], - [ - -55.624718, - 50.787218 - ], - [ - -55.56472, - 50.699717 - ] - ] - ], - [ - [ - [ - -55.555557, - 50.886385 - ], - [ - -55.535278, - 50.981379 - ], - [ - -55.635277, - 50.961382 - ], - [ - -55.555557, - 50.886385 - ] - ] - ], - [ - [ - [ - -55.693054, - 49.567499 - ], - [ - -55.567505, - 49.6 - ], - [ - -55.659721, - 49.635553 - ], - [ - -55.693054, - 49.567499 - ] - ] - ], - [ - [ - [ - -134.495544, - 68.752214 - ], - [ - -134.845551, - 68.92943 - ], - [ - -134.977478, - 68.878313 - ], - [ - -135.186951, - 68.90027 - ], - [ - -135.241669, - 68.926928 - ], - [ - -135.623596, - 68.88611 - ], - [ - -135.338043, - 68.834993 - ], - [ - -135.506134, - 68.832491 - ], - [ - -135.146393, - 68.663881 - ], - [ - -135.406952, - 68.679979 - ], - [ - -138.60498, - 69.247484 - ], - [ - -139.143066, - 69.51082 - ], - [ - -141.002991, - 69.642366 - ], - [ - -140.995544, - 60.307215 - ], - [ - -139.068054, - 60.352221 - ], - [ - -139.188904, - 60.088884 - ], - [ - -137.59082, - 59.238604 - ], - [ - -137.478058, - 58.907213 - ], - [ - -135.473602, - 59.801935 - ], - [ - -133.429993, - 58.459162 - ], - [ - -131.824158, - 56.596941 - ], - [ - -130.015076, - 55.909182 - ], - [ - -130.128876, - 55.722216 - ], - [ - -129.943878, - 55.282213 - ], - [ - -130.113617, - 54.996386 - ], - [ - -129.817505, - 55.283335 - ], - [ - -129.786957, - 55.566668 - ], - [ - -129.471649, - 55.467211 - ], - [ - -129.996368, - 55.024164 - ], - [ - -129.622498, - 54.997774 - ], - [ - -130.173889, - 54.846659 - ], - [ - -129.910278, - 54.605555 - ], - [ - -130.374146, - 54.654993 - ], - [ - -129.959166, - 54.316103 - ], - [ - -130.416655, - 54.630274 - ], - [ - -130.48111, - 54.364717 - ], - [ - -129.470001, - 54.237215 - ], - [ - -130.046661, - 54.153322 - ], - [ - -130.050293, - 53.886942 - ], - [ - -129.272797, - 53.37916 - ], - [ - -129.232483, - 53.625826 - ], - [ - -128.600555, - 54.031664 - ], - [ - -128.471375, - 53.832499 - ], - [ - -128.813049, - 53.619158 - ], - [ - -127.867767, - 53.239717 - ], - [ - -128.972778, - 53.553049 - ], - [ - -128.887985, - 53.424967 - ], - [ - -128.858887, - 53.283609 - ], - [ - -128.539734, - 53.131937 - ], - [ - -128.441101, - 52.822771 - ], - [ - -128.131653, - 52.876383 - ], - [ - -128.221924, - 52.465273 - ], - [ - -128.39389, - 52.291384 - ], - [ - -127.879707, - 52.579721 - ], - [ - -128.012512, - 52.341105 - ], - [ - -127.618332, - 52.291941 - ], - [ - -127.017775, - 52.845545 - ], - [ - -127.186394, - 52.380823 - ], - [ - -126.732498, - 52.37388 - ], - [ - -126.940826, - 52.303881 - ], - [ - -126.669449, - 51.983606 - ], - [ - -127.171661, - 52.312494 - ], - [ - -127.878052, - 51.673883 - ], - [ - -127.70639, - 51.456385 - ], - [ - -127.351097, - 51.863611 - ], - [ - -127.43222, - 51.668329 - ], - [ - -126.620003, - 51.679995 - ], - [ - -127.488052, - 51.61944 - ], - [ - -127.778877, - 51.324717 - ], - [ - -127.133057, - 51.325556 - ], - [ - -127.789993, - 51.165545 - ], - [ - -126.662514, - 51.194994 - ], - [ - -127.53833, - 51.005556 - ], - [ - -126.17778, - 50.951387 - ], - [ - -126.559723, - 50.843882 - ], - [ - -126.198883, - 50.855829 - ], - [ - -126.131004, - 50.678659 - ], - [ - -125.73111, - 50.735552 - ], - [ - -125.633904, - 51.096941 - ], - [ - -125.622498, - 50.750002 - ], - [ - -126.274719, - 50.631662 - ], - [ - -125.705841, - 50.427774 - ], - [ - -125.443604, - 50.714159 - ], - [ - -125.548111, - 50.492052 - ], - [ - -125.119453, - 50.432772 - ], - [ - -124.805832, - 50.920832 - ], - [ - -125.078339, - 50.322496 - ], - [ - -124.347778, - 50.502497 - ], - [ - -124.715012, - 50.327494 - ], - [ - -124.601387, - 50.238886 - ], - [ - -124.703339, - 49.995546 - ], - [ - -124.829727, - 50.061937 - ], - [ - -124.41362, - 49.763613 - ], - [ - -123.926392, - 49.82583 - ], - [ - -123.821404, - 50.152216 - ], - [ - -123.934998, - 49.768328 - ], - [ - -123.533623, - 49.689714 - ], - [ - -124.068069, - 49.633883 - ], - [ - -123.535553, - 49.38138 - ], - [ - -123.492493, - 49.509722 - ], - [ - -123.159729, - 49.69916 - ], - [ - -123.236389, - 49.338884 - ], - [ - -122.852783, - 49.436106 - ], - [ - -123.248894, - 49.273607 - ], - [ - -123.09375, - 48.999437 - ], - [ - -123.034317, - 48.999437 - ], - [ - -122.7603, - 48.999437 - ], - [ - -95.154175, - 48.999437 - ], - [ - -95.078064, - 49.359163 - ], - [ - -94.605835, - 48.724436 - ], - [ - -92.953064, - 48.623323 - ], - [ - -91.418335, - 48.041109 - ], - [ - -90.868607, - 48.237497 - ], - [ - -89.356659, - 47.979715 - ], - [ - -88.368057, - 48.312212 - ], - [ - -84.856949, - 46.902216 - ], - [ - -84.565002, - 46.466387 - ], - [ - -84.126389, - 46.531939 - ], - [ - -83.958893, - 46.071665 - ], - [ - -83.577499, - 46.105272 - ], - [ - -83.597778, - 45.827219 - ], - [ - -82.54306, - 45.355829 - ], - [ - -82.13028, - 43.585268 - ], - [ - -82.521393, - 42.618883 - ], - [ - -83.16861, - 42.046106 - ], - [ - -82.696655, - 41.683878 - ], - [ - -78.986938, - 42.819994 - ], - [ - -79.184723, - 43.465548 - ], - [ - -78.724716, - 43.629435 - ], - [ - -76.801941, - 43.633608 - ], - [ - -74.990829, - 44.986658 - ], - [ - -70.878601, - 45.238604 - ], - [ - -69.232498, - 47.471376 - ], - [ - -67.794998, - 47.069994 - ], - [ - -67.799164, - 45.701105 - ], - [ - -67.206543, - 45.183039 - ], - [ - -66.42778, - 45.084993 - ], - [ - -66.002502, - 45.461664 - ], - [ - -65.90361, - 45.205553 - ], - [ - -64.778336, - 45.607218 - ], - [ - -64.747498, - 46.090548 - ], - [ - -64.275558, - 45.799997 - ], - [ - -64.93721, - 45.326944 - ], - [ - -63.360832, - 45.360826 - ], - [ - -64.156387, - 44.978327 - ], - [ - -64.489166, - 45.335268 - ], - [ - -66.191101, - 44.423326 - ], - [ - -65.844452, - 44.578333 - ], - [ - -66.166946, - 43.858606 - ], - [ - -65.481384, - 43.464441 - ], - [ - -64.200836, - 44.576387 - ], - [ - -63.631111, - 44.435823 - ], - [ - -63.658333, - 44.714998 - ], - [ - -60.964722, - 45.313051 - ], - [ - -61.46389, - 45.346941 - ], - [ - -61.260002, - 45.510279 - ], - [ - -61.917503, - 45.885553 - ], - [ - -62.461945, - 45.612497 - ], - [ - -64.504181, - 46.240274 - ], - [ - -64.798615, - 47.079996 - ], - [ - -65.369995, - 47.086657 - ], - [ - -64.797226, - 47.806383 - ], - [ - -65.634735, - 47.620829 - ], - [ - -66.356659, - 48.073328 - ], - [ - -66.842499, - 47.99222 - ], - [ - -65.904175, - 48.205828 - ], - [ - -65.305832, - 48.005556 - ], - [ - -64.246384, - 48.488047 - ], - [ - -64.548889, - 48.878328 - ], - [ - -64.221664, - 48.898333 - ], - [ - -64.996948, - 49.22027 - ], - [ - -66.306107, - 49.186937 - ], - [ - -68.211121, - 48.63666 - ], - [ - -71.299164, - 46.74222 - ], - [ - -69.060822, - 48.767496 - ], - [ - -67.375, - 49.327219 - ], - [ - -66.469727, - 50.261942 - ], - [ - -60.005005, - 50.24888 - ], - [ - -58.628052, - 51.275553 - ], - [ - -56.949722, - 51.424715 - ], - [ - -55.701668, - 52.082216 - ], - [ - -56.196945, - 52.439989 - ], - [ - -55.648613, - 52.439714 - ], - [ - -56.496872, - 52.594149 - ], - [ - -55.757507, - 52.614443 - ], - [ - -56.166946, - 53.029436 - ], - [ - -55.808052, - 53.340548 - ], - [ - -56.680283, - 53.67277 - ], - [ - -56.464691, - 53.782274 - ], - [ - -57.336945, - 53.440271 - ], - [ - -57.549995, - 53.591936 - ], - [ - -57.076393, - 53.823053 - ], - [ - -57.384171, - 54.150545 - ], - [ - -58.17778, - 54.23694 - ], - [ - -58.418335, - 54.139719 - ], - [ - -57.786392, - 54.071665 - ], - [ - -60.418335, - 53.269442 - ], - [ - -60.103615, - 53.500551 - ], - [ - -60.856949, - 53.792772 - ], - [ - -60.133888, - 53.52833 - ], - [ - -58.371941, - 54.228045 - ], - [ - -59.575562, - 54.04944 - ], - [ - -57.347496, - 54.579439 - ], - [ - -58.904167, - 54.844713 - ], - [ - -59.023613, - 55.156656 - ], - [ - -59.388611, - 54.976656 - ], - [ - -59.161385, - 55.23694 - ], - [ - -59.938606, - 54.746386 - ], - [ - -59.42778, - 55.135828 - ], - [ - -59.963615, - 55.110277 - ], - [ - -59.779167, - 55.329721 - ], - [ - -60.683327, - 54.994997 - ], - [ - -60.195549, - 55.431383 - ], - [ - -60.478333, - 55.34749 - ], - [ - -60.328888, - 55.781664 - ], - [ - -60.66806, - 55.589434 - ], - [ - -60.601944, - 55.814714 - ], - [ - -60.87944, - 55.732767 - ], - [ - -60.729721, - 55.829439 - ], - [ - -61.104446, - 55.845545 - ], - [ - -61.201668, - 55.884165 - ], - [ - -61.076668, - 55.906939 - ], - [ - -61.117775, - 55.966105 - ], - [ - -61.503616, - 56.006945 - ], - [ - -61.237503, - 56.042772 - ], - [ - -61.452225, - 56.05694 - ], - [ - -61.350838, - 56.222216 - ], - [ - -62.011673, - 56.235826 - ], - [ - -61.661385, - 56.270273 - ], - [ - -62.143059, - 56.44916 - ], - [ - -61.658333, - 56.5375 - ], - [ - -62.573891, - 56.792772 - ], - [ - -61.672501, - 56.619989 - ], - [ - -61.906387, - 56.795275 - ], - [ - -61.358337, - 57.087496 - ], - [ - -62.54528, - 57.501108 - ], - [ - -61.884445, - 57.62694 - ], - [ - -62.125275, - 57.80694 - ], - [ - -62.138054, - 57.835825 - ], - [ - -62.059723, - 57.897776 - ], - [ - -62.127495, - 57.96805 - ], - [ - -62.672775, - 57.929995 - ], - [ - -62.306946, - 58.031107 - ], - [ - -62.452782, - 58.175272 - ], - [ - -63.340836, - 57.97999 - ], - [ - -62.584442, - 58.214441 - ], - [ - -62.828056, - 58.252222 - ], - [ - -62.557503, - 58.482492 - ], - [ - -63.589439, - 58.300829 - ], - [ - -62.847496, - 58.690546 - ], - [ - -63.325005, - 58.855829 - ], - [ - -63.134171, - 59.058329 - ], - [ - -64.043884, - 59.015276 - ], - [ - -63.356392, - 59.204996 - ], - [ - -64.06221, - 59.382494 - ], - [ - -63.722496, - 59.513887 - ], - [ - -64.116943, - 59.517496 - ], - [ - -64.05777, - 59.625269 - ], - [ - -64.266663, - 59.779161 - ], - [ - -64.166946, - 60.024996 - ], - [ - -64.827499, - 59.986383 - ], - [ - -64.466919, - 60.278605 - ], - [ - -64.854446, - 60.361109 - ], - [ - -65.231949, - 59.885828 - ], - [ - -64.983887, - 59.762774 - ], - [ - -65.527786, - 59.716936 - ], - [ - -64.983322, - 59.376383 - ], - [ - -65.561386, - 59.486109 - ], - [ - -65.357224, - 59.277216 - ], - [ - -65.718063, - 59.153048 - ], - [ - -65.317505, - 59.041384 - ], - [ - -65.988602, - 58.903605 - ], - [ - -65.789444, - 58.86194 - ], - [ - -66.103882, - 58.773607 - ], - [ - -65.87999, - 58.627214 - ], - [ - -66.058884, - 58.320276 - ], - [ - -65.935822, - 58.60972 - ], - [ - -66.388611, - 58.85055 - ], - [ - -67.713898, - 57.923052 - ], - [ - -67.723892, - 58.458887 - ], - [ - -67.813324, - 58.416101 - ], - [ - -67.801392, - 58.296663 - ], - [ - -68.128326, - 58.07361 - ], - [ - -67.857498, - 58.320276 - ], - [ - -67.89389, - 58.49666 - ], - [ - -68.003342, - 58.576387 - ], - [ - -68.404175, - 58.039721 - ], - [ - -69.369049, - 57.765253 - ], - [ - -68.344162, - 58.127489 - ], - [ - -68.36055, - 58.781939 - ], - [ - -69.279175, - 58.888048 - ], - [ - -69.818893, - 58.588602 - ], - [ - -70.15361, - 58.777491 - ], - [ - -69.815826, - 58.823885 - ], - [ - -69.869156, - 59.053049 - ], - [ - -69.547501, - 58.808046 - ], - [ - -69.530563, - 59.182215 - ], - [ - -69.234726, - 59.233881 - ], - [ - -69.758347, - 59.320276 - ], - [ - -69.600555, - 59.833055 - ], - [ - -70.945831, - 60.063051 - ], - [ - -69.62471, - 60.067499 - ], - [ - -69.826111, - 60.525553 - ], - [ - -69.371933, - 60.804438 - ], - [ - -69.51973, - 61.073328 - ], - [ - -69.92749, - 60.807772 - ], - [ - -70.146118, - 61.084719 - ], - [ - -71.389999, - 61.137774 - ], - [ - -71.887512, - 61.428049 - ], - [ - -71.575012, - 61.608606 - ], - [ - -72.303329, - 61.567217 - ], - [ - -72.010056, - 61.675272 - ], - [ - -73.678879, - 62.47999 - ], - [ - -74.759735, - 62.206385 - ], - [ - -74.571671, - 62.103052 - ], - [ - -77.508347, - 62.561663 - ], - [ - -78.155838, - 62.27833 - ], - [ - -77.992493, - 61.714716 - ], - [ - -77.474716, - 61.541666 - ], - [ - -78.192764, - 60.790834 - ], - [ - -77.511673, - 60.836382 - ], - [ - -77.833893, - 60.639437 - ], - [ - -77.41333, - 60.544161 - ], - [ - -77.747757, - 60.408136 - ], - [ - -77.592224, - 60.064157 - ], - [ - -76.758896, - 60.159159 - ], - [ - -77.42749, - 59.914713 - ], - [ - -77.313889, - 59.564997 - ], - [ - -77.773895, - 59.709719 - ], - [ - -77.910278, - 59.40555 - ], - [ - -77.677216, - 59.399996 - ], - [ - -78.570557, - 58.961382 - ], - [ - -78.574722, - 58.635271 - ], - [ - -76.861938, - 57.719156 - ], - [ - -76.529724, - 57.105829 - ], - [ - -76.53833, - 56.297777 - ], - [ - -77.137222, - 55.654161 - ], - [ - -77.748611, - 55.300829 - ], - [ - -79.76445, - 54.652216 - ], - [ - -79.048889, - 54.183329 - ], - [ - -79.110275, - 53.502497 - ], - [ - -78.506958, - 52.46055 - ], - [ - -79.035553, - 51.770273 - ], - [ - -78.853333, - 51.165545 - ], - [ - -79.322235, - 51.662767 - ], - [ - -79.752228, - 51.184435 - ], - [ - -79.33223, - 50.723879 - ], - [ - -80.12027, - 51.296389 - ], - [ - -81.015015, - 51.02833 - ], - [ - -80.436386, - 51.464159 - ], - [ - -80.994446, - 52.011385 - ], - [ - -81.883621, - 52.187494 - ], - [ - -81.549988, - 52.441103 - ], - [ - -82.296661, - 53.018602 - ], - [ - -82.30777, - 55.148882 - ], - [ - -85.001953, - 55.296663 - ], - [ - -85.423889, - 54.990549 - ], - [ - -85.121933, - 55.33777 - ], - [ - -85.714447, - 55.631662 - ], - [ - -90.815277, - 57.255831 - ], - [ - -92.876099, - 56.907495 - ], - [ - -92.418884, - 57.337496 - ], - [ - -93.152222, - 58.737772 - ], - [ - -94.14389, - 58.763613 - ], - [ - -94.363327, - 58.218882 - ], - [ - -94.228882, - 58.784998 - ], - [ - -94.789719, - 59.092218 - ], - [ - -94.819168, - 59.636385 - ], - [ - -94.673325, - 60.522493 - ], - [ - -93.984726, - 61.456102 - ], - [ - -93.237778, - 61.777216 - ], - [ - -93.616104, - 61.939989 - ], - [ - -92.764725, - 62.219439 - ], - [ - -93.122223, - 62.334993 - ], - [ - -92.470015, - 62.146616 - ], - [ - -92.710007, - 62.46583 - ], - [ - -91.88501, - 62.599161 - ], - [ - -92.420837, - 62.831385 - ], - [ - -90.627487, - 63.059435 - ], - [ - -90.741943, - 63.360826 - ], - [ - -91.763336, - 63.713327 - ], - [ - -92.480835, - 63.527216 - ], - [ - -92.101669, - 63.696939 - ], - [ - -92.482773, - 63.811937 - ], - [ - -90.205275, - 63.612215 - ], - [ - -89.964172, - 63.811937 - ], - [ - -90.279175, - 64.003603 - ], - [ - -89.813614, - 63.937212 - ], - [ - -90.124161, - 64.128588 - ], - [ - -88.113327, - 64.13611 - ], - [ - -86.933319, - 65.138048 - ], - [ - -91.429169, - 65.951097 - ], - [ - -89.671661, - 65.939425 - ], - [ - -87.395844, - 65.321383 - ], - [ - -85.897232, - 66.168322 - ], - [ - -86.775284, - 66.526094 - ], - [ - -83.693054, - 66.190813 - ], - [ - -84.144455, - 66.681368 - ], - [ - -84.44249, - 66.710817 - ], - [ - -84.466949, - 66.787767 - ], - [ - -84.690552, - 66.839983 - ], - [ - -84.505844, - 66.827776 - ], - [ - -84.746384, - 66.897493 - ], - [ - -84.602219, - 66.935808 - ], - [ - -85.228333, - 66.878313 - ], - [ - -84.639725, - 66.978045 - ], - [ - -84.915009, - 67.060808 - ], - [ - -84.370834, - 66.971376 - ], - [ - -84.436386, - 66.818331 - ], - [ - -84.140289, - 66.701937 - ], - [ - -83.916397, - 66.88109 - ], - [ - -83.977493, - 66.582216 - ], - [ - -83.402222, - 66.34749 - ], - [ - -81.503067, - 66.999712 - ], - [ - -81.243057, - 67.474993 - ], - [ - -82.638901, - 68.49721 - ], - [ - -81.267502, - 68.633043 - ], - [ - -82.05722, - 68.873873 - ], - [ - -81.332504, - 69.182482 - ], - [ - -83.228058, - 69.538591 - ], - [ - -82.263336, - 69.638048 - ], - [ - -83.705002, - 69.7036 - ], - [ - -84.375824, - 69.857485 - ], - [ - -85.064438, - 69.769991 - ], - [ - -85.571945, - 69.856096 - ], - [ - -85.331955, - 69.779161 - ], - [ - -85.473328, - 69.271929 - ], - [ - -84.528336, - 69.017488 - ], - [ - -85.194443, - 68.867205 - ], - [ - -84.787216, - 68.733599 - ], - [ - -85.66362, - 68.726931 - ], - [ - -86.523621, - 67.352205 - ], - [ - -87.510284, - 67.1122 - ], - [ - -87.357773, - 67.262209 - ], - [ - -88.370834, - 67.959154 - ], - [ - -88.392227, - 68.287493 - ], - [ - -87.792221, - 68.334429 - ], - [ - -88.052216, - 68.823046 - ], - [ - -89.306656, - 69.25139 - ], - [ - -90.271393, - 68.238878 - ], - [ - -90.606659, - 68.446093 - ], - [ - -90.436386, - 68.874422 - ], - [ - -91.44722, - 69.35277 - ], - [ - -90.30777, - 69.450274 - ], - [ - -92.920273, - 69.66971 - ], - [ - -91.939713, - 70.020266 - ], - [ - -92.450287, - 70.071108 - ], - [ - -92.268341, - 70.208879 - ], - [ - -91.513626, - 70.167208 - ], - [ - -93.027496, - 70.85277 - ], - [ - -92.973892, - 71.340822 - ], - [ - -93.71167, - 71.761385 - ], - [ - -95.217499, - 71.944979 - ], - [ - -94.606659, - 71.863314 - ], - [ - -95.943054, - 71.553591 - ], - [ - -95.535278, - 71.290819 - ], - [ - -96.503891, - 71.277208 - ], - [ - -96.462204, - 71.255503 - ], - [ - -96.467224, - 71.16527 - ], - [ - -96.560547, - 71.126375 - ], - [ - -96.369995, - 71.089983 - ], - [ - -96.611938, - 70.794436 - ], - [ - -95.789444, - 70.536654 - ], - [ - -96.232773, - 70.562197 - ], - [ - -96.531677, - 70.13109 - ], - [ - -95.960831, - 69.778048 - ], - [ - -93.362778, - 69.371645 - ], - [ - -94.303329, - 69.304979 - ], - [ - -94.072784, - 69.12665 - ], - [ - -94.625, - 68.761385 - ], - [ - -93.666946, - 68.972216 - ], - [ - -93.553329, - 68.586382 - ], - [ - -94.722229, - 68.054979 - ], - [ - -95.472778, - 68.060534 - ], - [ - -95.709166, - 67.72777 - ], - [ - -95.16333, - 67.287203 - ], - [ - -95.22084, - 66.968325 - ], - [ - -95.902496, - 66.946642 - ], - [ - -95.326111, - 67.027208 - ], - [ - -95.833328, - 67.162767 - ], - [ - -95.565826, - 67.37665 - ], - [ - -96.114441, - 67.21332 - ], - [ - -96.097229, - 67.464708 - ], - [ - -96.464722, - 67.478045 - ], - [ - -95.980286, - 68.254717 - ], - [ - -96.708344, - 68.008608 - ], - [ - -96.404175, - 68.311373 - ], - [ - -98.714447, - 68.37221 - ], - [ - -98.326111, - 68.171373 - ], - [ - -98.587509, - 68.149431 - ], - [ - -98.078613, - 67.830278 - ], - [ - -98.029999, - 67.941927 - ], - [ - -97.68306, - 68.018602 - ], - [ - -97.119156, - 67.792482 - ], - [ - -97.509735, - 67.599154 - ], - [ - -98.094452, - 67.7661 - ], - [ - -98.615555, - 68.074709 - ], - [ - -98.354446, - 67.796099 - ], - [ - -102.251106, - 67.725267 - ], - [ - -103.421661, - 68.166658 - ], - [ - -104.5, - 68.031939 - ], - [ - -104.670273, - 68.138597 - ], - [ - -104.609734, - 68.241365 - ], - [ - -105.541107, - 68.412767 - ], - [ - -105.380829, - 68.48665 - ], - [ - -105.486938, - 68.729433 - ], - [ - -106.229172, - 68.940813 - ], - [ - -108.314163, - 68.611376 - ], - [ - -108.819168, - 68.266665 - ], - [ - -107.603058, - 68.16527 - ], - [ - -107.885277, - 68.268877 - ], - [ - -106.80278, - 68.414431 - ], - [ - -106.543327, - 68.291368 - ], - [ - -106.543877, - 68.511934 - ], - [ - -105.644997, - 68.633883 - ], - [ - -105.739723, - 68.41527 - ], - [ - -106.465012, - 68.335817 - ], - [ - -106.431953, - 68.153048 - ], - [ - -107.890556, - 68.081667 - ], - [ - -107.651108, - 67.940538 - ], - [ - -108.006958, - 67.707491 - ], - [ - -107.083618, - 66.820543 - ], - [ - -107.746658, - 66.922762 - ], - [ - -107.248047, - 66.349993 - ], - [ - -108.622772, - 67.149996 - ], - [ - -107.880547, - 67.048326 - ], - [ - -108.015289, - 67.293047 - ], - [ - -108.366943, - 67.444979 - ], - [ - -108.484161, - 67.349428 - ], - [ - -108.655273, - 67.628313 - ], - [ - -108.825012, - 67.349428 - ], - [ - -109.065826, - 67.714159 - ], - [ - -110.083893, - 68.006945 - ], - [ - -111.005835, - 67.765001 - ], - [ - -112.395844, - 67.679155 - ], - [ - -115.103607, - 67.796648 - ], - [ - -115.542503, - 67.921648 - ], - [ - -114.023331, - 68.241365 - ], - [ - -114.070557, - 68.47748 - ], - [ - -115.593063, - 68.971651 - ], - [ - -117.153877, - 68.885546 - ], - [ - -121.683884, - 69.793596 - ], - [ - -122.959166, - 69.833605 - ], - [ - -123.46611, - 69.383883 - ], - [ - -124.446663, - 69.367205 - ], - [ - -124.040833, - 69.701387 - ], - [ - -124.500557, - 69.725817 - ], - [ - -124.436111, - 70.151094 - ], - [ - -125.197487, - 70.004503 - ], - [ - -124.795273, - 70.008883 - ], - [ - -125.276398, - 69.808245 - ], - [ - -124.821953, - 69.714998 - ], - [ - -125.365547, - 69.690264 - ], - [ - -125.118057, - 69.485796 - ], - [ - -125.622498, - 69.418596 - ], - [ - -125.089447, - 69.449709 - ], - [ - -125.426392, - 69.312181 - ], - [ - -127.996658, - 70.590548 - ], - [ - -128.196655, - 70.391939 - ], - [ - -127.515007, - 70.221651 - ], - [ - -128.925018, - 69.680819 - ], - [ - -129.169464, - 69.824709 - ], - [ - -128.900848, - 69.971926 - ], - [ - -130.366089, - 69.686373 - ], - [ - -130.937225, - 69.134432 - ], - [ - -130.952789, - 69.543322 - ], - [ - -131.108887, - 69.321657 - ], - [ - -131.027802, - 69.463884 - ], - [ - -131.083069, - 69.600542 - ], - [ - -131.196106, - 69.589983 - ], - [ - -131.06395, - 69.512392 - ], - [ - -131.135834, - 69.359987 - ], - [ - -131.110535, - 69.485331 - ], - [ - -131.25386, - 69.571848 - ], - [ - -131.166504, - 69.404932 - ], - [ - -131.324707, - 69.319994 - ], - [ - -131.652222, - 69.471926 - ], - [ - -132.869446, - 69.062761 - ], - [ - -132.470276, - 68.806932 - ], - [ - -133.490814, - 68.821657 - ], - [ - -131.997223, - 69.531374 - ], - [ - -131.05307, - 69.637209 - ], - [ - -130.928619, - 69.563311 - ], - [ - -129.403351, - 70.117754 - ], - [ - -130.54306, - 70.168322 - ], - [ - -134.562225, - 69.082766 - ], - [ - -134.26059, - 68.733538 - ], - [ - -134.226929, - 68.694139 - ], - [ - -134.339996, - 68.678865 - ], - [ - -134.495544, - 68.752214 - ] - ], - [ - [ - -95.902496, - 66.946642 - ], - [ - -95.629715, - 66.675539 - ], - [ - -96.460556, - 67.062197 - ], - [ - -95.902496, - 66.946642 - ] - ], - [ - [ - -70.783066, - 48.380548 - ], - [ - -71.048615, - 48.445269 - ], - [ - -69.828339, - 48.166384 - ], - [ - -70.783066, - 48.380548 - ] - ], - [ - [ - -71.111115, - 46.85055 - ], - [ - -70.809158, - 47.015276 - ], - [ - -70.904175, - 46.913607 - ], - [ - -71.111115, - 46.85055 - ] - ], - [ - [ - -77.678329, - 58.235552 - ], - [ - -77.950836, - 58.324167 - ], - [ - -77.807495, - 58.305269 - ], - [ - -77.678329, - 58.235552 - ] - ], - [ - [ - -84.808044, - 68.763887 - ], - [ - -84.939163, - 68.793596 - ], - [ - -84.855835, - 68.810808 - ], - [ - -84.808044, - 68.763887 - ] - ], - [ - [ - -89.005569, - 65.385546 - ], - [ - -89.099991, - 65.405825 - ], - [ - -89.031952, - 65.407213 - ], - [ - -89.005569, - 65.385546 - ] - ], - [ - [ - -91.329178, - 63.559717 - ], - [ - -91.436386, - 63.551935 - ], - [ - -91.540558, - 63.606661 - ], - [ - -91.329178, - 63.559717 - ] - ], - [ - [ - -93.51973, - 63.839434 - ], - [ - -93.779724, - 64.189699 - ], - [ - -92.507507, - 63.816385 - ], - [ - -93.51973, - 63.839434 - ] - ] - ], - [ - [ - [ - -134.495544, - 68.752214 - ], - [ - -134.26059, - 68.733538 - ], - [ - -134.673615, - 69.017763 - ], - [ - -133.778351, - 69.576387 - ], - [ - -134.113312, - 69.538881 - ], - [ - -134.491089, - 69.722216 - ], - [ - -134.438324, - 69.454714 - ], - [ - -135.150848, - 69.476931 - ], - [ - -135.287231, - 69.419146 - ], - [ - -135.170563, - 69.257769 - ], - [ - -135.854155, - 69.290819 - ], - [ - -135.486938, - 69.113314 - ], - [ - -135.967224, - 69.214708 - ], - [ - -135.517792, - 69.023882 - ], - [ - -135.978333, - 69.040819 - ], - [ - -135.905853, - 68.911379 - ], - [ - -135.460815, - 68.942751 - ], - [ - -135.391968, - 68.926653 - ], - [ - -135.20166, - 68.932756 - ], - [ - -135.141968, - 68.901384 - ], - [ - -134.961121, - 68.892488 - ], - [ - -134.914734, - 68.966661 - ], - [ - -134.825836, - 68.978868 - ], - [ - -134.495544, - 68.752214 - ] - ] - ], - [ - [ - [ - -55.695549, - 49.506945 - ], - [ - -55.653053, - 49.555269 - ], - [ - -55.722771, - 49.557772 - ], - [ - -55.695549, - 49.506945 - ] - ] - ], - [ - [ - [ - -55.787506, - 53.394159 - ], - [ - -55.729164, - 53.455271 - ], - [ - -55.979164, - 53.459162 - ], - [ - -55.787506, - 53.394159 - ] - ] - ], - [ - [ - [ - -55.763062, - 53.029436 - ], - [ - -55.800552, - 53.093607 - ], - [ - -55.876389, - 53.027491 - ], - [ - -55.763062, - 53.029436 - ] - ] - ], - [ - [ - [ - -55.778053, - 53.289721 - ], - [ - -55.785004, - 53.303606 - ], - [ - -55.797226, - 53.295549 - ], - [ - -55.778053, - 53.289721 - ] - ] - ], - [ - [ - [ - -55.876106, - 47.260553 - ], - [ - -55.881111, - 47.293329 - ], - [ - -55.96833, - 47.257776 - ], - [ - -55.876106, - 47.260553 - ] - ] - ], - [ - [ - [ - -55.901939, - 47.602495 - ], - [ - -55.933884, - 47.688326 - ], - [ - -56.113617, - 47.644716 - ], - [ - -55.901939, - 47.602495 - ] - ] - ], - [ - [ - [ - -56.867218, - 53.765001 - ], - [ - -56.844444, - 53.792498 - ], - [ - -57.01445, - 53.785555 - ], - [ - -56.867218, - 53.765001 - ] - ] - ], - [ - [ - [ - -57.324722, - 54.49888 - ], - [ - -57.24028, - 54.517771 - ], - [ - -57.26722, - 54.58555 - ], - [ - -57.324722, - 54.49888 - ] - ] - ], - [ - [ - [ - -57.940834, - 54.911936 - ], - [ - -58.224716, - 54.835268 - ], - [ - -57.841667, - 54.812494 - ], - [ - -57.940834, - 54.911936 - ] - ] - ], - [ - [ - [ - -58.518333, - 54.051661 - ], - [ - -58.373886, - 54.104166 - ], - [ - -58.561386, - 54.063883 - ], - [ - -58.518333, - 54.051661 - ] - ] - ], - [ - [ - [ - -58.41333, - 51.238886 - ], - [ - -58.419449, - 51.274714 - ], - [ - -58.565002, - 51.233332 - ], - [ - -58.41333, - 51.238886 - ] - ] - ], - [ - [ - [ - -58.675278, - 54.914156 - ], - [ - -58.660278, - 55.008608 - ], - [ - -58.760559, - 54.920549 - ], - [ - -58.675278, - 54.914156 - ] - ] - ], - [ - [ - [ - -59.345833, - 50.533884 - ], - [ - -59.300278, - 50.581942 - ], - [ - -59.371941, - 50.652773 - ], - [ - -59.345833, - 50.533884 - ] - ] - ], - [ - [ - [ - -59.816948, - 43.928331 - ], - [ - -59.724716, - 43.991106 - ], - [ - -60.129997, - 43.941935 - ], - [ - -59.816948, - 43.928331 - ] - ] - ], - [ - [ - [ - -60.445274, - 46.861666 - ], - [ - -60.609169, - 47.024439 - ], - [ - -61.447777, - 46.149439 - ], - [ - -61.336945, - 45.573328 - ], - [ - -59.840553, - 45.938326 - ], - [ - -60.347778, - 46.310549 - ], - [ - -60.789726, - 45.934435 - ], - [ - -60.409164, - 45.97999 - ], - [ - -61.14917, - 45.699717 - ], - [ - -60.419998, - 46.279993 - ], - [ - -60.609169, - 46.201937 - ], - [ - -60.445274, - 46.861666 - ] - ] - ], - [ - [ - [ - -60.858612, - 55.864717 - ], - [ - -60.686386, - 55.921938 - ], - [ - -60.865004, - 55.952776 - ], - [ - -60.858612, - 55.864717 - ] - ] - ], - [ - [ - [ - -60.993889, - 45.457773 - ], - [ - -60.879997, - 45.560549 - ], - [ - -61.104446, - 45.546389 - ], - [ - -60.993889, - 45.457773 - ] - ] - ], - [ - [ - [ - -60.970833, - 55.86944 - ], - [ - -60.908333, - 55.898333 - ], - [ - -61.070557, - 55.938601 - ], - [ - -60.970833, - 55.86944 - ] - ] - ], - [ - [ - [ - -60.943329, - 56.006662 - ], - [ - -61.089165, - 56.169992 - ], - [ - -61.232773, - 56.091105 - ], - [ - -60.943329, - 56.006662 - ] - ] - ], - [ - [ - [ - -70.111938, - 83.109423 - ], - [ - -73.650558, - 82.925814 - ], - [ - -72.633896, - 82.694429 - ], - [ - -74.435822, - 83.027208 - ], - [ - -77.381378, - 82.994432 - ], - [ - -75.396118, - 82.614702 - ], - [ - -76.230835, - 82.444704 - ], - [ - -75.892227, - 82.591936 - ], - [ - -79.793335, - 82.957491 - ], - [ - -80.430283, - 82.887499 - ], - [ - -78.502792, - 82.681093 - ], - [ - -81.473053, - 82.824999 - ], - [ - -80.578064, - 82.546099 - ], - [ - -82.215286, - 82.668596 - ], - [ - -81.541672, - 82.496096 - ], - [ - -82.732224, - 82.401659 - ], - [ - -79.229172, - 81.816088 - ], - [ - -85.046951, - 82.481936 - ], - [ - -86.876099, - 82.202211 - ], - [ - -84.604996, - 81.889986 - ], - [ - -88.075562, - 82.104982 - ], - [ - -91.956665, - 81.658602 - ], - [ - -89.585007, - 81.625811 - ], - [ - -90.856659, - 81.444139 - ], - [ - -90.443054, - 81.366655 - ], - [ - -87.24472, - 81.490267 - ], - [ - -90.351944, - 81.167482 - ], - [ - -89.820847, - 81.01082 - ], - [ - -84.733887, - 81.281099 - ], - [ - -89.46611, - 80.914156 - ], - [ - -87.594727, - 80.628588 - ], - [ - -85.681671, - 81.049425 - ], - [ - -82.364441, - 81.17943 - ], - [ - -85.605835, - 80.975817 - ], - [ - -86.744995, - 80.603045 - ], - [ - -85.066956, - 80.505266 - ], - [ - -83.256958, - 80.838594 - ], - [ - -83.569458, - 80.739153 - ], - [ - -80.919449, - 80.65555 - ], - [ - -79.063614, - 81.085543 - ], - [ - -79.501678, - 81.19359 - ], - [ - -76.74527, - 81.43915 - ], - [ - -78.934998, - 80.875536 - ], - [ - -76.484726, - 80.865541 - ], - [ - -79.960556, - 80.608034 - ], - [ - -78.038055, - 80.567217 - ], - [ - -83.203888, - 80.318056 - ], - [ - -81.400284, - 79.937761 - ], - [ - -81.663055, - 79.903048 - ], - [ - -81.51973, - 79.730822 - ], - [ - -79.904724, - 79.646944 - ], - [ - -81.706665, - 79.586657 - ], - [ - -83.781952, - 80.245821 - ], - [ - -86.514725, - 80.29915 - ], - [ - -86.482773, - 80.008608 - ], - [ - -85.255005, - 79.920824 - ], - [ - -86.486389, - 79.763613 - ], - [ - -85.068893, - 79.626085 - ], - [ - -84.484726, - 79.406374 - ], - [ - -84.32695, - 79.188585 - ], - [ - -83.358612, - 79.050814 - ], - [ - -84.748047, - 79.031939 - ], - [ - -81.477219, - 79.047213 - ], - [ - -83.25473, - 78.834993 - ], - [ - -82.220551, - 78.73221 - ], - [ - -82.594452, - 78.703051 - ], - [ - -82.337784, - 78.566668 - ], - [ - -85.064163, - 78.919146 - ], - [ - -86.856949, - 78.734987 - ], - [ - -87.524719, - 78.416384 - ], - [ - -87.089447, - 78.201937 - ], - [ - -87.538605, - 78.138048 - ], - [ - -85.833069, - 78.379976 - ], - [ - -86.28833, - 78.076387 - ], - [ - -85.486115, - 78.10248 - ], - [ - -84.638611, - 78.594149 - ], - [ - -84.866943, - 78.369143 - ], - [ - -84.575562, - 78.346376 - ], - [ - -84.968613, - 78.202486 - ], - [ - -84.127777, - 78.171099 - ], - [ - -85.678879, - 77.92943 - ], - [ - -84.325012, - 77.896105 - ], - [ - -85.402496, - 77.819994 - ], - [ - -83.898346, - 77.490541 - ], - [ - -82.318619, - 78.070833 - ], - [ - -83.835556, - 77.455263 - ], - [ - -83.464722, - 77.34833 - ], - [ - -84.479446, - 77.294436 - ], - [ - -85.794449, - 77.41971 - ], - [ - -86.422226, - 77.830828 - ], - [ - -88.068069, - 77.820269 - ], - [ - -88.214722, - 77.650545 - ], - [ - -87.711945, - 77.359987 - ], - [ - -86.73999, - 77.17415 - ], - [ - -88.545837, - 77.100267 - ], - [ - -89.679443, - 76.571657 - ], - [ - -88.608046, - 76.399996 - ], - [ - -88.49472, - 76.817217 - ], - [ - -88.389999, - 76.389711 - ], - [ - -86.342224, - 76.512209 - ], - [ - -86.594162, - 76.634996 - ], - [ - -84.928329, - 76.286379 - ], - [ - -84.376099, - 76.317766 - ], - [ - -85.028336, - 76.574999 - ], - [ - -84.195541, - 76.456377 - ], - [ - -84.310822, - 76.658327 - ], - [ - -83.188324, - 76.419436 - ], - [ - -83.400833, - 76.759996 - ], - [ - -83.003616, - 76.429155 - ], - [ - -82.127213, - 76.441652 - ], - [ - -82.725006, - 76.819155 - ], - [ - -80.771666, - 76.419146 - ], - [ - -81.053329, - 76.128038 - ], - [ - -78.377487, - 76.45804 - ], - [ - -77.779449, - 76.791368 - ], - [ - -79.386948, - 76.927477 - ], - [ - -79.005005, - 77.096941 - ], - [ - -79.255005, - 77.218599 - ], - [ - -81.834166, - 77.162493 - ], - [ - -82.166107, - 77.292482 - ], - [ - -81.165833, - 77.337206 - ], - [ - -81.930283, - 77.684984 - ], - [ - -80.456116, - 77.296099 - ], - [ - -78.690552, - 77.315538 - ], - [ - -77.718613, - 77.605822 - ], - [ - -78.260834, - 77.995256 - ], - [ - -75.922775, - 77.956652 - ], - [ - -75.575562, - 78.107759 - ], - [ - -76.912216, - 78.201097 - ], - [ - -75.0625, - 78.30971 - ], - [ - -76.693604, - 78.509722 - ], - [ - -74.719727, - 78.707491 - ], - [ - -76.710556, - 79.028322 - ], - [ - -78.248047, - 78.770266 - ], - [ - -77.703339, - 79.006945 - ], - [ - -78.891388, - 79.063311 - ], - [ - -74.436661, - 79.057756 - ], - [ - -78.051392, - 79.354708 - ], - [ - -73.125824, - 79.558321 - ], - [ - -74.84639, - 79.847216 - ], - [ - -74.238892, - 79.887209 - ], - [ - -71.183884, - 79.777483 - ], - [ - -70.910278, - 79.88582 - ], - [ - -71.460556, - 79.901384 - ], - [ - -70.497498, - 80.082766 - ], - [ - -72.420837, - 80.211107 - ], - [ - -70.145554, - 80.19359 - ], - [ - -70.825287, - 80.558596 - ], - [ - -69.42749, - 80.382753 - ], - [ - -64.436386, - 81.479433 - ], - [ - -70.210007, - 81.173876 - ], - [ - -66.608612, - 81.512774 - ], - [ - -69.291382, - 81.718874 - ], - [ - -64.35527, - 81.726381 - ], - [ - -61.076393, - 82.320833 - ], - [ - -63.369995, - 82.438875 - ], - [ - -62.926109, - 82.576097 - ], - [ - -64.936935, - 82.87137 - ], - [ - -64.729721, - 82.904161 - ], - [ - -68.642502, - 82.628588 - ], - [ - -66.299438, - 82.92943 - ], - [ - -70.111938, - 83.109423 - ] - ] - ], - [ - [ - [ - -61.1875, - 56.586107 - ], - [ - -61.077782, - 56.674997 - ], - [ - -61.165833, - 56.684435 - ], - [ - -61.1875, - 56.586107 - ] - ] - ], - [ - [ - [ - -61.435829, - 56.541384 - ], - [ - -61.642227, - 56.486383 - ], - [ - -61.148888, - 56.441103 - ], - [ - -61.435829, - 56.541384 - ] - ] - ], - [ - [ - [ - -61.199997, - 45.558329 - ], - [ - -61.214165, - 45.568888 - ], - [ - -61.224167, - 45.564157 - ], - [ - -61.199997, - 45.558329 - ] - ] - ], - [ - [ - [ - -73.354675, - 68.329218 - ], - [ - -72.258347, - 67.248034 - ], - [ - -74.46611, - 66.151934 - ], - [ - -73.500565, - 65.474428 - ], - [ - -75.950287, - 65.318331 - ], - [ - -75.186935, - 65.101656 - ], - [ - -75.567505, - 64.883608 - ], - [ - -75.373047, - 64.714998 - ], - [ - -75.667496, - 64.940813 - ], - [ - -75.424438, - 65.043871 - ], - [ - -75.769165, - 65.218874 - ], - [ - -77.421661, - 65.461382 - ], - [ - -77.315826, - 65.190538 - ], - [ - -78.145279, - 64.957491 - ], - [ - -78.183319, - 64.572496 - ], - [ - -76.670546, - 64.184145 - ], - [ - -75.726944, - 64.367205 - ], - [ - -75.824173, - 64.61165 - ], - [ - -74.685822, - 64.371096 - ], - [ - -74.470001, - 64.557482 - ], - [ - -74.985275, - 64.795824 - ], - [ - -74.639999, - 64.903597 - ], - [ - -74.390289, - 64.569719 - ], - [ - -74.053879, - 64.728594 - ], - [ - -74.062775, - 64.334429 - ], - [ - -73.844727, - 64.50194 - ], - [ - -73.929443, - 64.602205 - ], - [ - -73.467224, - 64.612764 - ], - [ - -73.463333, - 64.502489 - ], - [ - -73.30278, - 64.658876 - ], - [ - -73.380554, - 64.268602 - ], - [ - -72.911667, - 64.168871 - ], - [ - -72.720001, - 63.961107 - ], - [ - -72.664719, - 64.080553 - ], - [ - -72.526398, - 63.787775 - ], - [ - -72.238892, - 63.952494 - ], - [ - -72.324173, - 63.676661 - ], - [ - -71.933884, - 63.649439 - ], - [ - -71.904449, - 63.809992 - ], - [ - -71.581116, - 63.714998 - ], - [ - -71.57695, - 63.581667 - ], - [ - -71.229721, - 63.604715 - ], - [ - -72.145554, - 63.4461 - ], - [ - -71.400558, - 63.051661 - ], - [ - -70.90889, - 63.170832 - ], - [ - -71.156662, - 62.989161 - ], - [ - -66.066101, - 61.868601 - ], - [ - -65.946655, - 61.899164 - ], - [ - -66.132492, - 62.089434 - ], - [ - -65.993057, - 62.244158 - ], - [ - -66.470001, - 62.332216 - ], - [ - -66.351669, - 62.444994 - ], - [ - -67.398056, - 62.967211 - ], - [ - -67.672775, - 62.923326 - ], - [ - -67.553055, - 63.048609 - ], - [ - -67.76973, - 62.95833 - ], - [ - -67.599991, - 63.084436 - ], - [ - -68.146118, - 63.15027 - ], - [ - -68.996948, - 63.753611 - ], - [ - -68.54277, - 63.732492 - ], - [ - -67.685272, - 63.368883 - ], - [ - -67.914719, - 63.759439 - ], - [ - -66.546661, - 62.991381 - ], - [ - -66.642775, - 63.372492 - ], - [ - -66.444443, - 63.020548 - ], - [ - -65.838333, - 63.033335 - ], - [ - -65.1875, - 62.562212 - ], - [ - -64.948883, - 62.648607 - ], - [ - -65.25473, - 62.98527 - ], - [ - -64.627213, - 62.904161 - ], - [ - -65.303879, - 63.80694 - ], - [ - -64.531113, - 63.24972 - ], - [ - -64.522507, - 63.67277 - ], - [ - -64.987503, - 63.823053 - ], - [ - -64.661118, - 64.028597 - ], - [ - -65.214172, - 64.025545 - ], - [ - -65.049438, - 64.072222 - ], - [ - -65.65834, - 64.302767 - ], - [ - -65.071671, - 64.440813 - ], - [ - -65.721664, - 64.494143 - ], - [ - -65.717773, - 64.840273 - ], - [ - -66.212219, - 64.685534 - ], - [ - -66.68866, - 65.038774 - ], - [ - -66.698044, - 64.761934 - ], - [ - -66.726105, - 65.180269 - ], - [ - -67.096115, - 65.056093 - ], - [ - -66.928879, - 65.229708 - ], - [ - -67.416107, - 65.339159 - ], - [ - -67.058334, - 65.426653 - ], - [ - -67.458893, - 65.498034 - ], - [ - -67.280563, - 65.642488 - ], - [ - -68.025833, - 65.481096 - ], - [ - -67.821121, - 65.768053 - ], - [ - -68.333618, - 65.931932 - ], - [ - -68.304443, - 66.028048 - ], - [ - -68.123886, - 65.963045 - ], - [ - -68.053604, - 65.991091 - ], - [ - -68.047226, - 66.064989 - ], - [ - -68.157501, - 66.117479 - ], - [ - -68.246948, - 66.112764 - ], - [ - -68.237778, - 66.069994 - ], - [ - -68.414719, - 66.159426 - ], - [ - -68.851395, - 66.189974 - ], - [ - -68.24472, - 66.182756 - ], - [ - -68.025833, - 66.065813 - ], - [ - -68.030563, - 65.998034 - ], - [ - -67.938599, - 65.908037 - ], - [ - -67.824173, - 65.880816 - ], - [ - -67.194443, - 65.909716 - ], - [ - -67.992767, - 66.506945 - ], - [ - -67.282227, - 66.27527 - ], - [ - -67.148621, - 66.443865 - ], - [ - -67.742767, - 66.568331 - ], - [ - -67.048889, - 66.644716 - ], - [ - -66.073624, - 66.120531 - ], - [ - -65.473618, - 66.38582 - ], - [ - -65.916107, - 65.951097 - ], - [ - -64.356384, - 66.349718 - ], - [ - -65.505569, - 65.743319 - ], - [ - -64.794998, - 65.728045 - ], - [ - -65.338608, - 65.575548 - ], - [ - -64.710007, - 65.652208 - ], - [ - -65.149994, - 65.434145 - ], - [ - -64.418335, - 65.482759 - ], - [ - -64.912216, - 65.338045 - ], - [ - -64.555557, - 65.092211 - ], - [ - -64.237213, - 65.429979 - ], - [ - -64.380829, - 65.181093 - ], - [ - -63.546951, - 64.887209 - ], - [ - -63.335556, - 65.300539 - ], - [ - -63.655556, - 65.470827 - ], - [ - -63.32, - 65.593325 - ], - [ - -63.72361, - 65.680269 - ], - [ - -62.317223, - 65.808031 - ], - [ - -62.970551, - 66.148043 - ], - [ - -61.954445, - 66.019152 - ], - [ - -62.895004, - 66.329714 - ], - [ - -61.877495, - 66.283327 - ], - [ - -61.462502, - 66.369143 - ], - [ - -62.123886, - 66.626375 - ], - [ - -61.262505, - 66.629427 - ], - [ - -62.101395, - 67.054705 - ], - [ - -62.899727, - 66.63666 - ], - [ - -62.846947, - 66.961931 - ], - [ - -63.771385, - 66.811098 - ], - [ - -63.240837, - 66.961657 - ], - [ - -63.110283, - 67.329988 - ], - [ - -63.772499, - 66.958879 - ], - [ - -63.450554, - 67.22249 - ], - [ - -64.69194, - 67.000551 - ], - [ - -63.962776, - 67.272493 - ], - [ - -64.797501, - 67.356646 - ], - [ - -63.904167, - 67.305819 - ], - [ - -64.440552, - 67.474993 - ], - [ - -64.038605, - 67.528597 - ], - [ - -64.506958, - 67.807207 - ], - [ - -65.204178, - 67.648333 - ], - [ - -64.723618, - 67.990541 - ], - [ - -65.423615, - 67.898043 - ], - [ - -65.34639, - 67.593325 - ], - [ - -65.615829, - 67.786104 - ], - [ - -65.443604, - 67.992205 - ], - [ - -65.80777, - 67.971102 - ], - [ - -66.008621, - 67.625536 - ], - [ - -65.911942, - 68.158876 - ], - [ - -66.356659, - 67.821383 - ], - [ - -66.732224, - 67.867205 - ], - [ - -66.184158, - 68.018877 - ], - [ - -66.541946, - 68.148333 - ], - [ - -66.69722, - 67.98749 - ], - [ - -66.694443, - 68.143053 - ], - [ - -66.946655, - 68.013613 - ], - [ - -66.765839, - 68.238588 - ], - [ - -67.011398, - 68.294985 - ], - [ - -67.598343, - 68.162767 - ], - [ - -67.011673, - 68.316088 - ], - [ - -67.232498, - 68.357485 - ], - [ - -67.878326, - 68.265276 - ], - [ - -66.706955, - 68.444704 - ], - [ - -67.612503, - 68.379427 - ], - [ - -69.398056, - 68.8622 - ], - [ - -67.771393, - 68.781374 - ], - [ - -68.556107, - 68.964159 - ], - [ - -67.705841, - 69.01639 - ], - [ - -68.178329, - 69.146654 - ], - [ - -69.025833, - 68.968599 - ], - [ - -68.502502, - 69.198595 - ], - [ - -68.967773, - 69.221102 - ], - [ - -68.077499, - 69.217485 - ], - [ - -69.257782, - 69.270266 - ], - [ - -69.015015, - 69.354982 - ], - [ - -66.758621, - 69.128038 - ], - [ - -66.795546, - 69.341097 - ], - [ - -70.030838, - 69.536104 - ], - [ - -68.329453, - 69.627764 - ], - [ - -67.996109, - 69.774431 - ], - [ - -67.127777, - 69.726931 - ], - [ - -67.794724, - 70.258883 - ], - [ - -69.990555, - 69.614992 - ], - [ - -68.642502, - 70.149431 - ], - [ - -70.468613, - 69.84276 - ], - [ - -68.313889, - 70.563036 - ], - [ - -69.451401, - 70.791933 - ], - [ - -70.496109, - 70.479433 - ], - [ - -69.904724, - 70.881365 - ], - [ - -70.997223, - 70.625811 - ], - [ - -71.535828, - 70.019716 - ], - [ - -71.162506, - 70.52527 - ], - [ - -71.803055, - 70.428316 - ], - [ - -70.746948, - 70.745531 - ], - [ - -70.601669, - 71.053865 - ], - [ - -72.569458, - 70.609987 - ], - [ - -72.16362, - 70.836382 - ], - [ - -72.65361, - 70.827776 - ], - [ - -71.11972, - 71.264162 - ], - [ - -72.538055, - 71.660814 - ], - [ - -73.377487, - 70.980547 - ], - [ - -73.049438, - 71.268328 - ], - [ - -73.898346, - 71.057482 - ], - [ - -73.38028, - 71.385271 - ], - [ - -73.621933, - 71.58333 - ], - [ - -74.240829, - 71.200823 - ], - [ - -73.748047, - 71.776934 - ], - [ - -75.08139, - 71.17943 - ], - [ - -74.699432, - 71.390825 - ], - [ - -75.151947, - 71.471651 - ], - [ - -74.631943, - 71.662493 - ], - [ - -75.389999, - 71.681093 - ], - [ - -74.122223, - 71.983599 - ], - [ - -75.035828, - 72.125811 - ], - [ - -76.085281, - 71.691927 - ], - [ - -75.219452, - 72.074434 - ], - [ - -76.348053, - 71.891665 - ], - [ - -74.947495, - 72.249712 - ], - [ - -75.19249, - 72.49193 - ], - [ - -77.613892, - 72.751665 - ], - [ - -78.559158, - 72.438036 - ], - [ - -76.995834, - 72.128862 - ], - [ - -78.870834, - 72.226656 - ], - [ - -77.785553, - 71.787493 - ], - [ - -78.854446, - 72.173037 - ], - [ - -78.503616, - 71.868868 - ], - [ - -79.203064, - 71.961931 - ], - [ - -79.012787, - 72.273882 - ], - [ - -79.75, - 72.215548 - ], - [ - -79.799164, - 72.50139 - ], - [ - -80.166397, - 72.322222 - ], - [ - -79.674438, - 72.12665 - ], - [ - -80.260834, - 72.294985 - ], - [ - -80.486664, - 72.189425 - ], - [ - -80.38501, - 72.048326 - ], - [ - -80.971664, - 71.881655 - ], - [ - -80.79277, - 72.027773 - ], - [ - -81.080292, - 72.051653 - ], - [ - -80.56723, - 72.072771 - ], - [ - -80.905563, - 72.180544 - ], - [ - -80.516403, - 72.503878 - ], - [ - -81.37944, - 72.241655 - ], - [ - -80.247498, - 72.730547 - ], - [ - -81.553879, - 73.717211 - ], - [ - -85.188599, - 73.228868 - ], - [ - -83.634445, - 72.982485 - ], - [ - -85.447769, - 73.120256 - ], - [ - -83.953064, - 72.752489 - ], - [ - -85.688049, - 72.893602 - ], - [ - -85.535278, - 72.469713 - ], - [ - -84.442215, - 72.383043 - ], - [ - -84.935272, - 72.289431 - ], - [ - -84.164719, - 72.021105 - ], - [ - -85.487213, - 72.260271 - ], - [ - -86.050827, - 72.01111 - ], - [ - -84.625, - 71.665819 - ], - [ - -84.798889, - 70.921648 - ], - [ - -85.146957, - 71.082766 - ], - [ - -84.96167, - 71.188585 - ], - [ - -86.820007, - 70.988588 - ], - [ - -84.833893, - 71.274157 - ], - [ - -86.420546, - 72.012774 - ], - [ - -86.240829, - 72.420259 - ], - [ - -86.732773, - 72.716097 - ], - [ - -84.837784, - 73.741655 - ], - [ - -85.069458, - 73.801928 - ], - [ - -88.409164, - 73.523607 - ], - [ - -89.228333, - 73.125811 - ], - [ - -89.956665, - 72.321657 - ], - [ - -89.574722, - 72.163607 - ], - [ - -90.048615, - 71.953875 - ], - [ - -89.830002, - 71.328875 - ], - [ - -87.002792, - 70.994143 - ], - [ - -89.549728, - 71.088594 - ], - [ - -87.92305, - 70.242754 - ], - [ - -86.37471, - 70.52527 - ], - [ - -86.551941, - 70.234987 - ], - [ - -85.823334, - 70.000277 - ], - [ - -85.236115, - 69.989153 - ], - [ - -85.878052, - 70.076937 - ], - [ - -85.666397, - 70.104708 - ], - [ - -83.066666, - 70.01082 - ], - [ - -82.143341, - 69.781374 - ], - [ - -81.710831, - 69.934145 - ], - [ - -83.006958, - 70.304705 - ], - [ - -82.101105, - 70.108034 - ], - [ - -80.952499, - 69.713884 - ], - [ - -81.763336, - 70.123034 - ], - [ - -78.791946, - 69.8911 - ], - [ - -78.921661, - 70.300814 - ], - [ - -79.588898, - 70.399431 - ], - [ - -79.009445, - 70.679705 - ], - [ - -78.718887, - 70.547762 - ], - [ - -79.070557, - 70.469713 - ], - [ - -78.401672, - 70.212496 - ], - [ - -77.678329, - 70.187761 - ], - [ - -77.626389, - 69.744982 - ], - [ - -76.98056, - 69.938036 - ], - [ - -77.310547, - 69.835817 - ], - [ - -76.793884, - 69.718599 - ], - [ - -77.200562, - 69.646105 - ], - [ - -76.187775, - 69.66527 - ], - [ - -76.641113, - 69.554155 - ], - [ - -75.591675, - 69.221651 - ], - [ - -76.625549, - 69.018328 - ], - [ - -76.660828, - 68.699419 - ], - [ - -74.820847, - 69.082216 - ], - [ - -74.91777, - 68.801378 - ], - [ - -73.99028, - 68.492754 - ], - [ - -74.094162, - 68.719988 - ], - [ - -73.761398, - 68.686373 - ], - [ - -73.851669, - 68.342211 - ], - [ - -73.354675, - 68.329218 - ] - ], - [ - [ - -73.354675, - 68.329218 - ], - [ - -73.318069, - 68.393053 - ], - [ - -73.21167, - 68.376925 - ], - [ - -73.354675, - 68.329218 - ] - ] - ], - [ - [ - [ - -61.380554, - 47.620272 - ], - [ - -61.928055, - 47.407213 - ], - [ - -62.013062, - 47.225824 - ], - [ - -61.380554, - 47.620272 - ] - ] - ], - [ - [ - [ - -61.429211, - 56.929708 - ], - [ - -61.644394, - 56.734777 - ], - [ - -61.409138, - 56.61561 - ], - [ - -61.429211, - 56.929708 - ] - ] - ], - [ - [ - [ - -61.623611, - 56.399996 - ], - [ - -61.796112, - 56.41305 - ], - [ - -61.412216, - 56.326662 - ], - [ - -61.623611, - 56.399996 - ] - ] - ], - [ - [ - [ - -61.621666, - 57.33555 - ], - [ - -61.726944, - 57.374437 - ], - [ - -61.768608, - 57.324999 - ], - [ - -61.621666, - 57.33555 - ] - ] - ], - [ - [ - [ - -61.655273, - 57.391382 - ], - [ - -61.648056, - 57.530275 - ], - [ - -61.900276, - 57.437494 - ], - [ - -61.655273, - 57.391382 - ] - ] - ], - [ - [ - [ - -62.089722, - 49.386385 - ], - [ - -64.513901, - 49.863611 - ], - [ - -63.089996, - 49.228045 - ], - [ - -61.661667, - 49.144442 - ], - [ - -62.089722, - 49.386385 - ] - ] - ], - [ - [ - [ - -61.688606, - 57.713053 - ], - [ - -61.711113, - 57.834162 - ], - [ - -61.896111, - 57.769716 - ], - [ - -61.688606, - 57.713053 - ] - ] - ], - [ - [ - [ - -61.878334, - 57.463053 - ], - [ - -61.783615, - 57.550547 - ], - [ - -62.020279, - 57.540277 - ], - [ - -61.878334, - 57.463053 - ] - ] - ], - [ - [ - [ - -61.947495, - 57.787218 - ], - [ - -61.928337, - 57.908602 - ], - [ - -62.009171, - 57.904436 - ], - [ - -62.108337, - 57.824717 - ], - [ - -61.947495, - 57.787218 - ] - ] - ], - [ - [ - [ - -64.039719, - 46.743326 - ], - [ - -64.020844, - 47.038607 - ], - [ - -64.415558, - 46.670549 - ], - [ - -63.591942, - 46.211939 - ], - [ - -62.962776, - 46.319994 - ], - [ - -62.761116, - 45.954165 - ], - [ - -61.965004, - 46.453325 - ], - [ - -63.216393, - 46.41221 - ], - [ - -63.647224, - 46.567217 - ], - [ - -63.742226, - 46.439432 - ], - [ - -64.039719, - 46.743326 - ] - ] - ], - [ - [ - [ - -62.268333, - 65.701662 - ], - [ - -62.484444, - 65.726931 - ], - [ - -62.131943, - 65.657213 - ], - [ - -62.268333, - 65.701662 - ] - ] - ], - [ - [ - [ - -62.136665, - 65.851381 - ], - [ - -62.137779, - 65.925814 - ], - [ - -62.296669, - 65.938585 - ], - [ - -62.136665, - 65.851381 - ] - ] - ], - [ - [ - [ - -62.183884, - 66.2372 - ], - [ - -62.261673, - 66.280275 - ], - [ - -62.43, - 66.229158 - ], - [ - -62.183884, - 66.2372 - ] - ] - ], - [ - [ - [ - -62.644165, - 67.057482 - ], - [ - -62.375275, - 67.165819 - ], - [ - -62.899445, - 67.058321 - ], - [ - -62.644165, - 67.057482 - ] - ] - ], - [ - [ - [ - -62.795006, - 65.519991 - ], - [ - -62.750839, - 65.551378 - ], - [ - -62.884445, - 65.605547 - ], - [ - -62.795006, - 65.519991 - ] - ] - ], - [ - [ - [ - -62.918335, - 67.009722 - ], - [ - -63.002228, - 67.069445 - ], - [ - -63.138054, - 67.065264 - ], - [ - -62.918335, - 67.009722 - ] - ] - ], - [ - [ - [ - -63.059166, - 66.957766 - ], - [ - -63, - 66.984423 - ], - [ - -63.166107, - 67.004992 - ], - [ - -63.059166, - 66.957766 - ] - ] - ], - [ - [ - [ - -63.243614, - 65.254992 - ], - [ - -63.166389, - 65.286104 - ], - [ - -63.311668, - 65.298037 - ], - [ - -63.243614, - 65.254992 - ] - ] - ], - [ - [ - [ - -63.246391, - 46.435549 - ], - [ - -63.245834, - 46.442766 - ], - [ - -63.285004, - 46.45083 - ], - [ - -63.246391, - 46.435549 - ] - ] - ], - [ - [ - [ - -63.353333, - 64.994982 - ], - [ - -63.42028, - 64.976091 - ], - [ - -63.258896, - 64.921099 - ], - [ - -63.353333, - 64.994982 - ] - ] - ], - [ - [ - [ - -63.366394, - 67.287767 - ], - [ - -63.585831, - 67.353319 - ], - [ - -63.829727, - 67.284151 - ], - [ - -63.366394, - 67.287767 - ] - ] - ], - [ - [ - [ - -63.881943, - 67.503328 - ], - [ - -63.758057, - 67.52054 - ], - [ - -63.976944, - 67.649431 - ], - [ - -64.029724, - 67.513887 - ], - [ - -63.881943, - 67.503328 - ] - ] - ], - [ - [ - [ - -63.859444, - 50.197771 - ], - [ - -63.889725, - 50.24222 - ], - [ - -63.930557, - 50.229433 - ], - [ - -63.859444, - 50.197771 - ] - ] - ], - [ - [ - [ - -64.01973, - 59.714716 - ], - [ - -64.061386, - 59.864443 - ], - [ - -64.204453, - 59.734438 - ], - [ - -64.01973, - 59.714716 - ] - ] - ], - [ - [ - [ - -64.032501, - 63.689714 - ], - [ - -64.075287, - 63.758051 - ], - [ - -64.212509, - 63.712214 - ], - [ - -64.032501, - 63.689714 - ] - ] - ], - [ - [ - [ - -64.061111, - 63.270548 - ], - [ - -64.328888, - 63.644442 - ], - [ - -64.479172, - 63.636942 - ], - [ - -64.061111, - 63.270548 - ] - ] - ], - [ - [ - [ - -64.092499, - 63.481661 - ], - [ - -64.093338, - 63.568331 - ], - [ - -64.212784, - 63.623606 - ], - [ - -64.092499, - 63.481661 - ] - ] - ], - [ - [ - [ - -64.170273, - 63.856386 - ], - [ - -64.39917, - 63.849436 - ], - [ - -64.234436, - 63.771379 - ], - [ - -64.170273, - 63.856386 - ] - ] - ], - [ - [ - [ - -64.284439, - 63.708605 - ], - [ - -64.27861, - 63.77083 - ], - [ - -64.381104, - 63.807497 - ], - [ - -64.284439, - 63.708605 - ] - ] - ], - [ - [ - [ - -64.653885, - 62.540834 - ], - [ - -64.965836, - 62.46583 - ], - [ - -64.382767, - 62.511385 - ], - [ - -64.653885, - 62.540834 - ] - ] - ], - [ - [ - [ - -64.576111, - 63.780825 - ], - [ - -64.920273, - 63.824717 - ], - [ - -64.386124, - 63.701662 - ], - [ - -64.576111, - 63.780825 - ] - ] - ], - [ - [ - [ - -64.427673, - 60.372934 - ], - [ - -64.868057, - 60.458887 - ], - [ - -64.448608, - 60.284166 - ], - [ - -64.427673, - 60.372934 - ] - ] - ], - [ - [ - [ - -64.491104, - 64.109148 - ], - [ - -64.453339, - 64.146944 - ], - [ - -64.59584, - 64.156649 - ], - [ - -64.491104, - 64.109148 - ] - ] - ], - [ - [ - [ - -64.520279, - 64.220263 - ], - [ - -64.462219, - 64.23749 - ], - [ - -64.647781, - 64.250002 - ], - [ - -64.520279, - 64.220263 - ] - ] - ], - [ - [ - [ - -64.567505, - 47.899439 - ], - [ - -64.470551, - 47.953325 - ], - [ - -64.501114, - 48.027491 - ], - [ - -64.567505, - 47.899439 - ] - ] - ], - [ - [ - [ - -64.482773, - 47.917772 - ], - [ - -64.667496, - 47.866938 - ], - [ - -64.690552, - 47.753054 - ], - [ - -64.482773, - 47.917772 - ] - ] - ], - [ - [ - [ - -64.689987, - 60.584436 - ], - [ - -64.592773, - 60.685549 - ], - [ - -64.710831, - 60.602777 - ], - [ - -64.689987, - 60.584436 - ] - ] - ], - [ - [ - [ - -64.723892, - 61.538332 - ], - [ - -65.486938, - 61.610826 - ], - [ - -64.875275, - 61.322496 - ], - [ - -64.723892, - 61.538332 - ] - ] - ], - [ - [ - [ - -64.849731, - 64.307482 - ], - [ - -64.771942, - 64.348879 - ], - [ - -64.958618, - 64.405825 - ], - [ - -64.849731, - 64.307482 - ] - ] - ], - [ - [ - [ - -64.983063, - 62.528048 - ], - [ - -64.839447, - 62.577776 - ], - [ - -65.141678, - 62.546946 - ], - [ - -64.983063, - 62.528048 - ] - ] - ], - [ - [ - [ - -64.962784, - 64.110811 - ], - [ - -65.057495, - 64.113039 - ], - [ - -64.869995, - 64.093325 - ], - [ - -64.962784, - 64.110811 - ] - ] - ], - [ - [ - [ - -64.938599, - 64.235537 - ], - [ - -64.884735, - 64.287767 - ], - [ - -65.112503, - 64.339708 - ], - [ - -64.938599, - 64.235537 - ] - ] - ], - [ - [ - [ - -64.916107, - 61.719439 - ], - [ - -64.980835, - 61.885828 - ], - [ - -65.255005, - 61.901659 - ], - [ - -64.916107, - 61.719439 - ] - ] - ], - [ - [ - [ - -65.492767, - 64.517763 - ], - [ - -65.208054, - 64.639711 - ], - [ - -65.690277, - 64.524157 - ], - [ - -65.492767, - 64.517763 - ] - ] - ], - [ - [ - [ - -65.397232, - 68.03998 - ], - [ - -65.386398, - 68.08832 - ], - [ - -65.51973, - 68.067492 - ], - [ - -65.397232, - 68.03998 - ] - ] - ], - [ - [ - [ - -65.642227, - 68.159426 - ], - [ - -65.709732, - 68.106096 - ], - [ - -65.495544, - 68.128313 - ], - [ - -65.642227, - 68.159426 - ] - ] - ], - [ - [ - [ - -65.645844, - 65.813036 - ], - [ - -65.511398, - 65.903048 - ], - [ - -65.647781, - 65.879976 - ], - [ - -65.645844, - 65.813036 - ] - ] - ], - [ - [ - [ - -65.613617, - 43.420275 - ], - [ - -65.566101, - 43.508333 - ], - [ - -65.633057, - 43.47471 - ], - [ - -65.613617, - 43.420275 - ] - ] - ], - [ - [ - [ - -65.695267, - 61.776659 - ], - [ - -65.778061, - 61.865549 - ], - [ - -65.948044, - 61.790277 - ], - [ - -65.695267, - 61.776659 - ] - ] - ], - [ - [ - [ - -65.852493, - 62.084719 - ], - [ - -65.904449, - 62.152773 - ], - [ - -66.020279, - 62.124437 - ], - [ - -65.852493, - 62.084719 - ] - ] - ], - [ - [ - [ - -66.282776, - 44.289721 - ], - [ - -66.20639, - 44.395273 - ], - [ - -66.322235, - 44.252779 - ], - [ - -66.282776, - 44.289721 - ] - ] - ], - [ - [ - [ - -66.313614, - 68.147768 - ], - [ - -66.221939, - 68.241091 - ], - [ - -66.607224, - 68.217211 - ], - [ - -66.313614, - 68.147768 - ] - ] - ], - [ - [ - [ - -66.368332, - 62.835268 - ], - [ - -66.547775, - 62.910547 - ], - [ - -66.601669, - 62.906656 - ], - [ - -66.368332, - 62.835268 - ] - ] - ], - [ - [ - [ - -66.623322, - 66.280825 - ], - [ - -66.575012, - 66.313875 - ], - [ - -66.958344, - 66.411928 - ], - [ - -66.623322, - 66.280825 - ] - ] - ], - [ - [ - [ - -66.886124, - 44.614443 - ], - [ - -66.74028, - 44.707773 - ], - [ - -66.772507, - 44.80916 - ], - [ - -66.886124, - 44.614443 - ] - ] - ], - [ - [ - [ - -66.825562, - 62.984163 - ], - [ - -66.946106, - 63.074999 - ], - [ - -67.069458, - 63.1075 - ], - [ - -66.825562, - 62.984163 - ] - ] - ], - [ - [ - [ - -66.998337, - 66.493044 - ], - [ - -67.036667, - 66.456102 - ], - [ - -66.868881, - 66.464434 - ], - [ - -66.998337, - 66.493044 - ] - ] - ], - [ - [ - [ - -66.924713, - 65.284426 - ], - [ - -66.910828, - 65.356936 - ], - [ - -67.010559, - 65.33333 - ], - [ - -66.924713, - 65.284426 - ] - ] - ], - [ - [ - [ - -67.138336, - 65.926928 - ], - [ - -67.153885, - 65.978594 - ], - [ - -67.211945, - 65.982759 - ], - [ - -67.138336, - 65.926928 - ] - ] - ], - [ - [ - [ - -67.310547, - 69.54915 - ], - [ - -67.484436, - 69.590273 - ], - [ - -67.749725, - 69.521105 - ], - [ - -67.310547, - 69.54915 - ] - ] - ], - [ - [ - [ - -67.472504, - 65.705263 - ], - [ - -67.424438, - 65.735262 - ], - [ - -67.715836, - 65.701662 - ], - [ - -67.472504, - 65.705263 - ] - ] - ], - [ - [ - [ - -67.596115, - 58.284166 - ], - [ - -67.517502, - 58.335268 - ], - [ - -67.619995, - 58.372217 - ], - [ - -67.676666, - 58.301386 - ], - [ - -67.596115, - 58.284166 - ] - ] - ], - [ - [ - [ - -68.110275, - 68.782763 - ], - [ - -68.459442, - 68.791094 - ], - [ - -67.661392, - 68.701937 - ], - [ - -68.110275, - 68.782763 - ] - ] - ], - [ - [ - [ - -67.76445, - 63.162493 - ], - [ - -67.831955, - 63.244158 - ], - [ - -67.875, - 63.223047 - ], - [ - -67.76445, - 63.162493 - ] - ] - ], - [ - [ - [ - -68.251404, - 60.230822 - ], - [ - -67.798615, - 60.457499 - ], - [ - -68.119156, - 60.577219 - ], - [ - -68.251404, - 60.230822 - ] - ] - ], - [ - [ - [ - -67.847778, - 68.851931 - ], - [ - -67.876389, - 68.949419 - ], - [ - -67.960556, - 68.929979 - ], - [ - -67.847778, - 68.851931 - ] - ] - ], - [ - [ - [ - -67.920273, - 69.521929 - ], - [ - -67.889725, - 69.70833 - ], - [ - -68.248886, - 69.596651 - ], - [ - -67.920273, - 69.521929 - ] - ] - ], - [ - [ - [ - -67.925003, - 63.183329 - ], - [ - -68.112213, - 63.313608 - ], - [ - -67.966949, - 63.183878 - ], - [ - -67.925003, - 63.183329 - ] - ] - ], - [ - [ - [ - -68.656387, - 63.626383 - ], - [ - -68.676941, - 63.671381 - ], - [ - -68.821671, - 63.652491 - ], - [ - -68.656387, - 63.626383 - ] - ] - ], - [ - [ - [ - -69.194443, - 59.064714 - ], - [ - -69.357224, - 59.139719 - ], - [ - -69.35556, - 58.949717 - ], - [ - -69.194443, - 59.064714 - ] - ] - ], - [ - [ - [ - -69.977219, - 60.933054 - ], - [ - -69.943604, - 61.031382 - ], - [ - -70.025009, - 61.00194 - ], - [ - -69.977219, - 60.933054 - ] - ] - ], - [ - [ - [ - -70.71167, - 62.814997 - ], - [ - -71.241379, - 62.88138 - ], - [ - -70.211121, - 62.579165 - ], - [ - -70.71167, - 62.814997 - ] - ] - ], - [ - [ - [ - -71.471664, - 71.012774 - ], - [ - -72.226395, - 70.930544 - ], - [ - -71.955566, - 70.818331 - ], - [ - -71.471664, - 71.012774 - ] - ] - ], - [ - [ - [ - -71.799164, - 63.615549 - ], - [ - -71.779449, - 63.688326 - ], - [ - -71.864166, - 63.669443 - ], - [ - -71.863327, - 63.61944 - ], - [ - -71.799164, - 63.615549 - ] - ] - ], - [ - [ - [ - -72.182495, - 63.519991 - ], - [ - -72.129166, - 63.558886 - ], - [ - -72.286667, - 63.58333 - ], - [ - -72.182495, - 63.519991 - ] - ] - ], - [ - [ - [ - -72.594727, - 63.642496 - ], - [ - -72.459732, - 63.679163 - ], - [ - -72.783325, - 63.664438 - ], - [ - -72.594727, - 63.642496 - ] - ] - ], - [ - [ - [ - -72.66777, - 63.695826 - ], - [ - -72.626663, - 63.73221 - ], - [ - -72.719727, - 63.763887 - ], - [ - -72.66777, - 63.695826 - ] - ] - ], - [ - [ - [ - -72.760834, - 71.531939 - ], - [ - -72.695831, - 71.651094 - ], - [ - -73.039993, - 71.579988 - ], - [ - -72.760834, - 71.531939 - ] - ] - ], - [ - [ - [ - -73.120544, - 71.479708 - ], - [ - -72.817505, - 71.444979 - ], - [ - -73.37999, - 71.519716 - ], - [ - -73.120544, - 71.479708 - ] - ] - ], - [ - [ - [ - -73.37027, - 71.55443 - ], - [ - -73.148895, - 71.679979 - ], - [ - -73.448044, - 71.594149 - ], - [ - -73.37027, - 71.55443 - ] - ] - ], - [ - [ - [ - -73.176941, - 64.200274 - ], - [ - -73.401672, - 64.165545 - ], - [ - -73.282776, - 64.143328 - ], - [ - -73.176941, - 64.200274 - ] - ] - ], - [ - [ - [ - -74.215561, - 68.117754 - ], - [ - -74.777222, - 67.973879 - ], - [ - -73.348618, - 67.828051 - ], - [ - -74.215561, - 68.117754 - ] - ] - ], - [ - [ - [ - -73.557495, - 64.312761 - ], - [ - -73.527786, - 64.566942 - ], - [ - -73.682495, - 64.509722 - ], - [ - -73.557495, - 64.312761 - ] - ] - ], - [ - [ - [ - -73.744995, - 64.426088 - ], - [ - -73.66861, - 64.464434 - ], - [ - -73.773331, - 64.503328 - ], - [ - -73.781387, - 64.431932 - ], - [ - -73.744995, - 64.426088 - ] - ] - ], - [ - [ - [ - -73.697769, - 64.269991 - ], - [ - -73.781387, - 64.40555 - ], - [ - -73.833618, - 64.331667 - ], - [ - -73.697769, - 64.269991 - ] - ] - ], - [ - [ - [ - -73.876389, - 64.301378 - ], - [ - -73.956665, - 64.368319 - ], - [ - -73.972504, - 64.30971 - ], - [ - -73.876389, - 64.301378 - ] - ] - ], - [ - [ - [ - -74.347778, - 62.679438 - ], - [ - -74.651398, - 62.716936 - ], - [ - -73.958054, - 62.612497 - ], - [ - -74.347778, - 62.679438 - ] - ] - ], - [ - [ - [ - -74.062775, - 68.151659 - ], - [ - -74.079727, - 68.232485 - ], - [ - -74.176392, - 68.204165 - ], - [ - -74.062775, - 68.151659 - ] - ] - ], - [ - [ - [ - -74.162216, - 68.246096 - ], - [ - -74.079453, - 68.338594 - ], - [ - -74.393066, - 68.445253 - ], - [ - -74.162216, - 68.246096 - ] - ] - ], - [ - [ - [ - -74.306946, - 78.676653 - ], - [ - -74.16362, - 78.716097 - ], - [ - -74.710281, - 78.731096 - ], - [ - -74.306946, - 78.676653 - ] - ] - ], - [ - [ - [ - -74.212784, - 64.483049 - ], - [ - -74.169724, - 64.523882 - ], - [ - -74.357773, - 64.551088 - ], - [ - -74.212784, - 64.483049 - ] - ] - ], - [ - [ - [ - -74.271942, - 64.413607 - ], - [ - -74.173325, - 64.43915 - ], - [ - -74.439438, - 64.453325 - ], - [ - -74.271942, - 64.413607 - ] - ] - ], - [ - [ - [ - -74.76889, - 68.673876 - ], - [ - -74.890289, - 68.624987 - ], - [ - -74.518341, - 68.558596 - ], - [ - -74.76889, - 68.673876 - ] - ] - ], - [ - [ - [ - -74.811386, - 68.320543 - ], - [ - -75, - 68.672243 - ], - [ - -75.396957, - 68.611101 - ], - [ - -74.811386, - 68.320543 - ] - ] - ], - [ - [ - [ - -75.582779, - 68.300264 - ], - [ - -76.726105, - 68.238878 - ], - [ - -77.251953, - 67.826387 - ], - [ - -77.246948, - 67.451937 - ], - [ - -76.66362, - 67.219988 - ], - [ - -75.198608, - 67.443316 - ], - [ - -75.003067, - 68.132204 - ], - [ - -75.582779, - 68.300264 - ] - ] - ], - [ - [ - [ - -75.551392, - 64.303865 - ], - [ - -75.493607, - 64.316378 - ], - [ - -75.705841, - 64.341936 - ], - [ - -75.551392, - 64.303865 - ] - ] - ], - [ - [ - [ - -80.142227, - 73.696642 - ], - [ - -80.857773, - 73.74193 - ], - [ - -80.876099, - 73.327776 - ], - [ - -79.429169, - 72.735811 - ], - [ - -76.059433, - 72.90082 - ], - [ - -77.424438, - 73.554705 - ], - [ - -80.142227, - 73.696642 - ] - ] - ], - [ - [ - [ - -76.810547, - 63.601107 - ], - [ - -77.45723, - 63.643328 - ], - [ - -76.541946, - 63.462496 - ], - [ - -76.810547, - 63.601107 - ] - ] - ], - [ - [ - [ - -76.621109, - 57.075556 - ], - [ - -76.669998, - 57.202494 - ], - [ - -76.708618, - 57.188326 - ], - [ - -76.621109, - 57.075556 - ] - ] - ], - [ - [ - [ - -76.950836, - 69.395266 - ], - [ - -77.381943, - 69.247484 - ], - [ - -76.646666, - 69.336931 - ], - [ - -76.950836, - 69.395266 - ] - ] - ], - [ - [ - [ - -76.715012, - 57.292772 - ], - [ - -76.73111, - 57.381937 - ], - [ - -76.821671, - 57.429438 - ], - [ - -76.715012, - 57.292772 - ] - ] - ], - [ - [ - [ - -77.592773, - 55.435266 - ], - [ - -77.199997, - 55.65027 - ], - [ - -77.644165, - 55.425829 - ], - [ - -77.592773, - 55.435266 - ] - ] - ], - [ - [ - [ - -78.079727, - 63.469439 - ], - [ - -78.572784, - 63.440271 - ], - [ - -77.946655, - 63.091105 - ], - [ - -77.494995, - 63.265833 - ], - [ - -78.079727, - 63.469439 - ] - ] - ], - [ - [ - [ - -77.743881, - 63.926661 - ], - [ - -77.544449, - 64.021929 - ], - [ - -77.982498, - 63.983049 - ], - [ - -77.743881, - 63.926661 - ] - ] - ], - [ - [ - [ - -77.851944, - 77.774431 - ], - [ - -77.568619, - 77.849718 - ], - [ - -77.955002, - 77.830278 - ], - [ - -77.851944, - 77.774431 - ] - ] - ], - [ - [ - [ - -77.805267, - 62.592493 - ], - [ - -77.74527, - 62.534166 - ], - [ - -77.621384, - 62.584436 - ], - [ - -77.805267, - 62.592493 - ] - ] - ], - [ - [ - [ - -78.008347, - 62.593607 - ], - [ - -78.113052, - 62.562212 - ], - [ - -77.837784, - 62.55694 - ], - [ - -78.008347, - 62.593607 - ] - ] - ], - [ - [ - [ - -77.946655, - 69.646654 - ], - [ - -78.180557, - 69.752214 - ], - [ - -78.88028, - 69.476931 - ], - [ - -77.946655, - 69.646654 - ] - ] - ], - [ - [ - [ - -78.365829, - 82.883608 - ], - [ - -78.116943, - 82.942202 - ], - [ - -78.414719, - 82.941927 - ], - [ - -78.365829, - 82.883608 - ] - ] - ], - [ - [ - [ - -78.412216, - 69.379702 - ], - [ - -79.400284, - 68.87192 - ], - [ - -78.830292, - 68.913042 - ], - [ - -78.210831, - 69.294436 - ], - [ - -78.412216, - 69.379702 - ] - ] - ], - [ - [ - [ - -78.656387, - 60.702776 - ], - [ - -78.219452, - 60.823885 - ], - [ - -78.573624, - 60.784166 - ], - [ - -78.656387, - 60.702776 - ] - ] - ], - [ - [ - [ - -78.453888, - 58.539995 - ], - [ - -78.698608, - 58.688601 - ], - [ - -78.672501, - 58.610552 - ], - [ - -78.453888, - 58.539995 - ] - ] - ], - [ - [ - [ - -78.557495, - 63.457499 - ], - [ - -78.46167, - 63.507502 - ], - [ - -78.515839, - 63.531664 - ], - [ - -78.557495, - 63.457499 - ] - ] - ], - [ - [ - [ - -78.468887, - 68.563875 - ], - [ - -78.863892, - 68.659716 - ], - [ - -78.959732, - 68.474703 - ], - [ - -78.468887, - 68.563875 - ] - ] - ], - [ - [ - [ - -78.571671, - 68.200274 - ], - [ - -78.54805, - 68.263048 - ], - [ - -78.662216, - 68.18915 - ], - [ - -78.571671, - 68.200274 - ] - ] - ], - [ - [ - [ - -78.839996, - 56.129992 - ], - [ - -78.676392, - 56.181108 - ], - [ - -78.667221, - 56.439714 - ], - [ - -78.839996, - 56.129992 - ] - ] - ], - [ - [ - [ - -78.735001, - 72.365541 - ], - [ - -79.075012, - 72.409716 - ], - [ - -78.950287, - 72.334993 - ], - [ - -78.735001, - 72.365541 - ] - ] - ], - [ - [ - [ - -79.020554, - 68.169146 - ], - [ - -78.801666, - 68.279161 - ], - [ - -79.191101, - 68.319445 - ], - [ - -79.020554, - 68.169146 - ] - ] - ], - [ - [ - [ - -78.926392, - 75.875811 - ], - [ - -79.176392, - 75.952776 - ], - [ - -78.805832, - 76.09305 - ], - [ - -79.752228, - 75.878588 - ], - [ - -78.926392, - 75.875811 - ] - ] - ], - [ - [ - [ - -79.021666, - 56.426943 - ], - [ - -79.286392, - 56.570276 - ], - [ - -79.51445, - 56.18638 - ], - [ - -79.46611, - 56.548334 - ], - [ - -79.985825, - 55.89805 - ], - [ - -79.513062, - 56.134996 - ], - [ - -79.781952, - 55.78805 - ], - [ - -79.479996, - 55.863886 - ], - [ - -79.150558, - 56.233049 - ], - [ - -79.283325, - 55.864443 - ], - [ - -78.977219, - 56.388605 - ], - [ - -79.195267, - 55.891939 - ], - [ - -78.943329, - 56.284998 - ], - [ - -78.924713, - 56.419443 - ], - [ - -79.021666, - 56.426943 - ] - ], - [ - [ - -79.626938, - 56.265276 - ], - [ - -79.492218, - 56.446939 - ], - [ - -79.561111, - 56.299166 - ], - [ - -79.626938, - 56.265276 - ] - ] - ], - [ - [ - [ - -79.123047, - 55.789995 - ], - [ - -78.939713, - 56.02527 - ], - [ - -78.957504, - 56.083605 - ], - [ - -79.123047, - 55.789995 - ] - ] - ], - [ - [ - [ - -79.125824, - 54.897219 - ], - [ - -79.015015, - 54.938326 - ], - [ - -79.776947, - 54.778048 - ], - [ - -79.125824, - 54.897219 - ] - ] - ], - [ - [ - [ - -79.141953, - 56.616663 - ], - [ - -79.208893, - 56.683878 - ], - [ - -79.280289, - 56.654993 - ], - [ - -79.141953, - 56.616663 - ] - ] - ], - [ - [ - [ - -79.252792, - 52.071383 - ], - [ - -79.654175, - 51.986658 - ], - [ - -79.376663, - 51.936106 - ], - [ - -79.252792, - 52.071383 - ] - ] - ], - [ - [ - [ - -79.540558, - 62.411104 - ], - [ - -80.017502, - 62.358606 - ], - [ - -80.275284, - 61.806658 - ], - [ - -79.656952, - 61.642496 - ], - [ - -79.261398, - 62.163607 - ], - [ - -79.540558, - 62.411104 - ] - ] - ], - [ - [ - [ - -95.659729, - 77.05887 - ], - [ - -96.810272, - 76.979158 - ], - [ - -96.305557, - 76.753878 - ], - [ - -96.964447, - 76.733324 - ], - [ - -94.800827, - 76.321657 - ], - [ - -95.376099, - 76.234423 - ], - [ - -93.083618, - 76.358034 - ], - [ - -92.108612, - 75.858873 - ], - [ - -92.005005, - 75.594988 - ], - [ - -92.490829, - 75.21361 - ], - [ - -91.539993, - 74.646379 - ], - [ - -90.772232, - 74.884996 - ], - [ - -91.024719, - 74.702776 - ], - [ - -89.489716, - 74.545534 - ], - [ - -88.547775, - 74.907763 - ], - [ - -88.496948, - 74.497759 - ], - [ - -84.285553, - 74.503603 - ], - [ - -83.474442, - 74.579714 - ], - [ - -83.511398, - 74.901659 - ], - [ - -81.810822, - 74.456942 - ], - [ - -80.231674, - 74.578051 - ], - [ - -80.321671, - 74.937761 - ], - [ - -79.333618, - 74.894442 - ], - [ - -80.440552, - 75.038042 - ], - [ - -79.571121, - 75.199144 - ], - [ - -79.574722, - 75.449999 - ], - [ - -81.536942, - 75.80942 - ], - [ - -83.878151, - 75.818964 - ], - [ - -86.544724, - 75.359148 - ], - [ - -88.738892, - 75.67943 - ], - [ - -88.950562, - 75.429705 - ], - [ - -89.765289, - 75.575548 - ], - [ - -89.172775, - 75.78055 - ], - [ - -90.015015, - 76.010271 - ], - [ - -91.12999, - 75.839159 - ], - [ - -90.190552, - 76.061098 - ], - [ - -91.613617, - 76.262209 - ], - [ - -89.292496, - 76.296099 - ], - [ - -91.566666, - 76.498873 - ], - [ - -90.468063, - 76.47304 - ], - [ - -91.410553, - 76.68915 - ], - [ - -93.54834, - 76.38611 - ], - [ - -93.179718, - 76.741091 - ], - [ - -95.659729, - 77.05887 - ] - ] - ], - [ - [ - [ - -79.469727, - 54.167498 - ], - [ - -79.413055, - 54.19166 - ], - [ - -79.475555, - 54.191378 - ], - [ - -79.469727, - 54.167498 - ] - ] - ], - [ - [ - [ - -79.42305, - 69.78499 - ], - [ - -80.809433, - 69.683046 - ], - [ - -80.011948, - 69.491655 - ], - [ - -79.42305, - 69.78499 - ] - ] - ], - [ - [ - [ - -79.508057, - 72.348604 - ], - [ - -79.429718, - 72.411654 - ], - [ - -79.683319, - 72.430544 - ], - [ - -79.508057, - 72.348604 - ] - ] - ], - [ - [ - [ - -79.560822, - 56.617769 - ], - [ - -79.474716, - 56.689157 - ], - [ - -79.567505, - 56.817774 - ], - [ - -79.560822, - 56.617769 - ] - ] - ], - [ - [ - [ - -79.619995, - 56.385271 - ], - [ - -79.543335, - 56.527773 - ], - [ - -80.109726, - 56.197771 - ], - [ - -79.619995, - 56.385271 - ] - ] - ], - [ - [ - [ - -79.667221, - 54.763887 - ], - [ - -79.587219, - 54.799166 - ], - [ - -79.726944, - 54.752497 - ], - [ - -79.667221, - 54.763887 - ] - ] - ], - [ - [ - [ - -79.709732, - 53.508051 - ], - [ - -79.761398, - 53.546106 - ], - [ - -79.773621, - 53.531664 - ], - [ - -79.709732, - 53.508051 - ] - ] - ], - [ - [ - [ - -79.797501, - 57.418886 - ], - [ - -79.727783, - 57.617212 - ], - [ - -79.82695, - 57.53805 - ], - [ - -79.797501, - 57.418886 - ] - ] - ], - [ - [ - [ - -79.750565, - 56.905825 - ], - [ - -79.897507, - 56.884996 - ], - [ - -79.823769, - 56.895006 - ], - [ - -79.757507, - 56.781939 - ], - [ - -79.750565, - 56.905825 - ] - ] - ], - [ - [ - [ - -79.909164, - 53.081942 - ], - [ - -79.787216, - 53.101938 - ], - [ - -79.897781, - 53.17444 - ], - [ - -79.909164, - 53.081942 - ] - ] - ], - [ - [ - [ - -79.881943, - 56.743608 - ], - [ - -79.819458, - 56.840273 - ], - [ - -79.958618, - 56.81138 - ], - [ - -79.881943, - 56.743608 - ] - ] - ], - [ - [ - [ - -79.864166, - 53.906382 - ], - [ - -79.926392, - 53.935266 - ], - [ - -79.906113, - 53.913881 - ], - [ - -79.864166, - 53.906382 - ] - ] - ], - [ - [ - [ - -80.089722, - 59.75194 - ], - [ - -79.878876, - 59.854715 - ], - [ - -80.184723, - 59.752779 - ], - [ - -80.089722, - 59.75194 - ] - ] - ], - [ - [ - [ - -79.993607, - 72.413317 - ], - [ - -79.916397, - 72.45804 - ], - [ - -80.133331, - 72.519442 - ], - [ - -79.993607, - 72.413317 - ] - ] - ], - [ - [ - [ - -79.942764, - 53.266939 - ], - [ - -79.944717, - 53.368052 - ], - [ - -80.085281, - 53.326944 - ], - [ - -79.942764, - 53.266939 - ] - ] - ], - [ - [ - [ - -80.277496, - 59.618601 - ], - [ - -80.145279, - 59.705553 - ], - [ - -80.343887, - 59.619158 - ], - [ - -80.277496, - 59.618601 - ] - ] - ], - [ - [ - [ - -85.48056, - 65.791933 - ], - [ - -86.097778, - 65.529161 - ], - [ - -86.401672, - 64.436647 - ], - [ - -86.189438, - 64.101656 - ], - [ - -87.188049, - 63.589991 - ], - [ - -85.717499, - 63.716105 - ], - [ - -85.589172, - 63.174715 - ], - [ - -85.266403, - 63.117495 - ], - [ - -83.072784, - 64.186647 - ], - [ - -83.098892, - 63.959162 - ], - [ - -82.361389, - 63.905268 - ], - [ - -82.472229, - 63.680277 - ], - [ - -81.076401, - 63.451387 - ], - [ - -80.171661, - 63.771105 - ], - [ - -80.890839, - 64.115541 - ], - [ - -81.986938, - 63.994158 - ], - [ - -81.602493, - 64.129976 - ], - [ - -81.763062, - 64.501101 - ], - [ - -84.440277, - 65.456652 - ], - [ - -84.924713, - 65.209719 - ], - [ - -85.311935, - 65.537767 - ], - [ - -85.156387, - 65.776659 - ], - [ - -85.48056, - 65.791933 - ] - ] - ], - [ - [ - [ - -80.534439, - 59.36944 - ], - [ - -80.475555, - 59.481104 - ], - [ - -80.549438, - 59.446939 - ], - [ - -80.534439, - 59.36944 - ] - ] - ], - [ - [ - [ - -81.10611, - 53.199717 - ], - [ - -82.063324, - 53.026659 - ], - [ - -80.699722, - 52.6961 - ], - [ - -81.10611, - 53.199717 - ] - ] - ], - [ - [ - [ - -81.327789, - 76.147219 - ], - [ - -81.201401, - 76.177767 - ], - [ - -81.462509, - 76.158876 - ], - [ - -81.327789, - 76.147219 - ] - ] - ], - [ - [ - [ - -81.47139, - 64.188875 - ], - [ - -81.375824, - 64.220827 - ], - [ - -81.538055, - 64.21805 - ], - [ - -81.47139, - 64.188875 - ] - ] - ], - [ - [ - [ - -81.476944, - 52.249163 - ], - [ - -81.551666, - 52.298052 - ], - [ - -81.710007, - 52.262499 - ], - [ - -81.476944, - 52.249163 - ] - ] - ], - [ - [ - [ - -81.871109, - 62.928331 - ], - [ - -83.310822, - 62.92444 - ], - [ - -83.945267, - 62.427217 - ], - [ - -83.703888, - 62.141665 - ], - [ - -83.087784, - 62.178881 - ], - [ - -81.871109, - 62.928331 - ] - ] - ], - [ - [ - [ - -82.059998, - 68.306093 - ], - [ - -81.997223, - 68.341372 - ], - [ - -82.345551, - 68.367754 - ], - [ - -82.059998, - 68.306093 - ] - ] - ], - [ - [ - [ - -82.429443, - 69.782213 - ], - [ - -82.517227, - 69.854158 - ], - [ - -82.688599, - 69.850817 - ], - [ - -82.429443, - 69.782213 - ] - ] - ], - [ - [ - [ - -82.507782, - 69.704988 - ], - [ - -82.460281, - 69.76166 - ], - [ - -82.87944, - 69.778597 - ], - [ - -82.507782, - 69.704988 - ] - ] - ], - [ - [ - [ - -83.06723, - 66.255556 - ], - [ - -82.902496, - 66.271654 - ], - [ - -83.29834, - 66.313875 - ], - [ - -83.06723, - 66.255556 - ] - ] - ], - [ - [ - [ - -82.964722, - 55.263613 - ], - [ - -82.980835, - 55.278879 - ], - [ - -83.035278, - 55.278879 - ], - [ - -82.964722, - 55.263613 - ] - ] - ], - [ - [ - [ - -83.921387, - 66.009722 - ], - [ - -84.470276, - 66.133333 - ], - [ - -84.123611, - 65.90027 - ], - [ - -84.143616, - 65.764162 - ], - [ - -83.68277, - 65.749422 - ], - [ - -83.842773, - 65.649157 - ], - [ - -83.210831, - 65.705828 - ], - [ - -83.727493, - 65.799715 - ], - [ - -83.694153, - 65.9247 - ], - [ - -83.921387, - 66.009722 - ] - ] - ], - [ - [ - [ - -83.28389, - 65.834154 - ], - [ - -83.586121, - 65.854158 - ], - [ - -83.485275, - 65.800814 - ], - [ - -83.28389, - 65.834154 - ] - ] - ], - [ - [ - [ - -83.57695, - 65.983049 - ], - [ - -83.493057, - 66.012774 - ], - [ - -83.604446, - 65.987764 - ], - [ - -83.57695, - 65.983049 - ] - ] - ], - [ - [ - [ - -83.674438, - 69.719988 - ], - [ - -83.708618, - 69.759432 - ], - [ - -83.529175, - 69.786654 - ], - [ - -83.917221, - 69.778597 - ], - [ - -83.674438, - 69.719988 - ] - ] - ], - [ - [ - [ - -83.608612, - 66.044146 - ], - [ - -83.570847, - 66.056368 - ], - [ - -83.607224, - 66.077486 - ], - [ - -83.65361, - 66.041368 - ], - [ - -83.608612, - 66.044146 - ] - ] - ], - [ - [ - [ - -83.649445, - 66.083605 - ], - [ - -83.587784, - 66.117205 - ], - [ - -83.685272, - 66.121096 - ], - [ - -83.649445, - 66.083605 - ] - ] - ], - [ - [ - [ - -83.882767, - 65.666933 - ], - [ - -83.872772, - 65.712206 - ], - [ - -83.942215, - 65.686922 - ], - [ - -83.882767, - 65.666933 - ] - ] - ], - [ - [ - [ - -83.962784, - 76.426378 - ], - [ - -83.908051, - 76.464998 - ], - [ - -84.13945, - 76.507219 - ], - [ - -83.962784, - 76.426378 - ] - ] - ], - [ - [ - [ - -84.265289, - 66.177767 - ], - [ - -84.273056, - 66.196642 - ], - [ - -84.363617, - 66.209429 - ], - [ - -84.265289, - 66.177767 - ] - ] - ], - [ - [ - [ - -84.579727, - 66.141375 - ], - [ - -84.678604, - 66.182482 - ], - [ - -84.639999, - 66.140551 - ], - [ - -84.579727, - 66.141375 - ] - ] - ], - [ - [ - [ - -84.722778, - 65.546099 - ], - [ - -84.58667, - 65.692202 - ], - [ - -85.17305, - 65.994707 - ], - [ - -84.722778, - 65.546099 - ] - ] - ], - [ - [ - [ - -85.285278, - 77.587496 - ], - [ - -85.53833, - 77.53998 - ], - [ - -84.813889, - 77.49721 - ], - [ - -85.285278, - 77.587496 - ] - ] - ], - [ - [ - [ - -92.727783, - 81.305544 - ], - [ - -94.268616, - 81.346102 - ], - [ - -93.091675, - 81.15999 - ], - [ - -95.534164, - 80.81888 - ], - [ - -93.786392, - 80.525545 - ], - [ - -96.681671, - 80.342211 - ], - [ - -94.083893, - 80.175539 - ], - [ - -94.748886, - 80.079988 - ], - [ - -94.383621, - 79.982485 - ], - [ - -96.80278, - 80.090822 - ], - [ - -95.853333, - 79.646105 - ], - [ - -94.282776, - 79.757494 - ], - [ - -95.779449, - 79.425814 - ], - [ - -95.087555, - 79.270754 - ], - [ - -93.090561, - 79.48221 - ], - [ - -91.119995, - 79.386385 - ], - [ - -92.694717, - 79.257219 - ], - [ - -92.238892, - 79.205553 - ], - [ - -90.363266, - 79.246813 - ], - [ - -94.288605, - 78.986376 - ], - [ - -93.037781, - 78.765825 - ], - [ - -93.813614, - 78.765825 - ], - [ - -93.271118, - 78.584154 - ], - [ - -91.635284, - 78.546099 - ], - [ - -92.987503, - 78.465548 - ], - [ - -92.058334, - 78.208879 - ], - [ - -89.452499, - 78.162493 - ], - [ - -89.98056, - 78.609713 - ], - [ - -88.81778, - 78.154436 - ], - [ - -88.535553, - 78.413042 - ], - [ - -88.804169, - 78.609713 - ], - [ - -87.90834, - 78.548601 - ], - [ - -88.162506, - 78.990541 - ], - [ - -87.724716, - 79.075823 - ], - [ - -88.003342, - 78.807207 - ], - [ - -87.615829, - 78.645266 - ], - [ - -86.983322, - 79.056643 - ], - [ - -84.904175, - 79.267763 - ], - [ - -85.681946, - 79.613314 - ], - [ - -86.070847, - 79.434145 - ], - [ - -86.046112, - 79.56888 - ], - [ - -86.334166, - 79.64554 - ], - [ - -87.462509, - 79.534716 - ], - [ - -86.957779, - 79.903597 - ], - [ - -88.065552, - 80.120821 - ], - [ - -87.562775, - 80.179155 - ], - [ - -87.683884, - 80.410265 - ], - [ - -88.61528, - 80.403872 - ], - [ - -88.145554, - 80.093874 - ], - [ - -88.776672, - 80.131365 - ], - [ - -89.244995, - 80.517214 - ], - [ - -90.766403, - 80.565538 - ], - [ - -92.727783, - 81.305544 - ] - ] - ], - [ - [ - [ - -85.019165, - 66.057207 - ], - [ - -85.099731, - 66.089708 - ], - [ - -85.14917, - 66.050539 - ], - [ - -85.019165, - 66.057207 - ] - ] - ], - [ - [ - [ - -85.119446, - 69.014711 - ], - [ - -85.061386, - 69.036654 - ], - [ - -85.170273, - 69.035814 - ], - [ - -85.119446, - 69.014711 - ] - ] - ], - [ - [ - [ - -86.319458, - 78.883608 - ], - [ - -85.167221, - 79.02083 - ], - [ - -86.484436, - 78.892763 - ], - [ - -86.319458, - 78.883608 - ] - ] - ], - [ - [ - [ - -85.265289, - 69.072496 - ], - [ - -85.241943, - 69.091372 - ], - [ - -85.398895, - 69.086107 - ], - [ - -85.265289, - 69.072496 - ] - ] - ], - [ - [ - [ - -85.341675, - 68.983599 - ], - [ - -85.369995, - 69.00194 - ], - [ - -85.453064, - 69.005831 - ], - [ - -85.341675, - 68.983599 - ] - ] - ], - [ - [ - [ - -85.847229, - 72.294146 - ], - [ - -86.110001, - 72.289705 - ], - [ - -85.889175, - 72.21805 - ], - [ - -85.847229, - 72.294146 - ] - ] - ], - [ - [ - [ - -86.426392, - 68.069155 - ], - [ - -86.675003, - 68.306093 - ], - [ - -86.992767, - 68.066668 - ], - [ - -86.583618, - 67.725267 - ], - [ - -86.426392, - 68.069155 - ] - ] - ], - [ - [ - [ - -87.091385, - 70.15027 - ], - [ - -87.378326, - 70.096102 - ], - [ - -86.456665, - 70.007494 - ], - [ - -87.091385, - 70.15027 - ] - ] - ], - [ - [ - [ - -88.287216, - 78.243319 - ], - [ - -88.043335, - 78.436647 - ], - [ - -88.409729, - 78.292208 - ], - [ - -88.287216, - 78.243319 - ] - ] - ], - [ - [ - [ - -88.430283, - 65.455263 - ], - [ - -88.394165, - 65.465822 - ], - [ - -88.512222, - 65.469713 - ], - [ - -88.430283, - 65.455263 - ] - ] - ], - [ - [ - [ - -89.398895, - 76.435534 - ], - [ - -89.533066, - 76.476656 - ], - [ - -89.625549, - 76.444979 - ], - [ - -89.398895, - 76.435534 - ] - ] - ], - [ - [ - [ - -90.603058, - 77.628313 - ], - [ - -91.208893, - 77.414995 - ], - [ - -89.636124, - 77.339159 - ], - [ - -90.603058, - 77.628313 - ] - ] - ], - [ - [ - [ - -89.934433, - 76.476656 - ], - [ - -89.673889, - 76.73749 - ], - [ - -90.599991, - 76.746645 - ], - [ - -89.934433, - 76.476656 - ] - ] - ], - [ - [ - [ - -89.944443, - 68.662203 - ], - [ - -89.781677, - 68.766665 - ], - [ - -89.944443, - 68.84749 - ], - [ - -89.944443, - 68.662203 - ] - ] - ], - [ - [ - [ - -89.808884, - 64.056368 - ], - [ - -89.867767, - 64.095827 - ], - [ - -89.861115, - 64.071657 - ], - [ - -89.808884, - 64.056368 - ] - ] - ], - [ - [ - [ - -89.988892, - 73.988314 - ], - [ - -89.901947, - 74.037767 - ], - [ - -90.285004, - 74.029711 - ], - [ - -89.988892, - 73.988314 - ] - ] - ], - [ - [ - [ - -89.90834, - 68.917757 - ], - [ - -89.920837, - 69.010271 - ], - [ - -90.070557, - 68.981936 - ], - [ - -89.90834, - 68.917757 - ] - ] - ], - [ - [ - [ - -90.12471, - 69.049425 - ], - [ - -90.147232, - 69.103594 - ], - [ - -90.276398, - 69.125811 - ], - [ - -90.12471, - 69.049425 - ] - ] - ], - [ - [ - [ - -92.638062, - 74.103045 - ], - [ - -94.732224, - 74.095263 - ], - [ - -95.327789, - 73.909151 - ], - [ - -94.618057, - 73.651384 - ], - [ - -95.67305, - 73.723314 - ], - [ - -95.612564, - 73.610979 - ], - [ - -95.700287, - 73.553865 - ], - [ - -95.683884, - 73.450274 - ], - [ - -95.575012, - 73.164995 - ], - [ - -95.683319, - 73.075823 - ], - [ - -95.673615, - 72.813875 - ], - [ - -95.133331, - 72.460268 - ], - [ - -95.171112, - 72.139162 - ], - [ - -94.752228, - 72.153322 - ], - [ - -95.213333, - 71.994432 - ], - [ - -94.063049, - 71.978319 - ], - [ - -93.463333, - 72.462206 - ], - [ - -94.315552, - 72.763048 - ], - [ - -92.09584, - 72.743044 - ], - [ - -90.194443, - 73.899721 - ], - [ - -92.638062, - 74.103045 - ] - ] - ], - [ - [ - [ - -90.329453, - 69.235811 - ], - [ - -90.200836, - 69.444429 - ], - [ - -90.51445, - 69.363878 - ], - [ - -90.329453, - 69.235811 - ] - ] - ], - [ - [ - [ - -90.512512, - 69.202486 - ], - [ - -90.582504, - 69.359713 - ], - [ - -90.775833, - 69.329988 - ], - [ - -90.512512, - 69.202486 - ] - ] - ], - [ - [ - [ - -90.653885, - 63.441103 - ], - [ - -90.598053, - 63.454439 - ], - [ - -90.757233, - 63.49444 - ], - [ - -90.653885, - 63.441103 - ] - ] - ], - [ - [ - [ - -90.79361, - 63.494158 - ], - [ - -90.674713, - 63.513887 - ], - [ - -90.968338, - 63.550272 - ], - [ - -90.79361, - 63.494158 - ] - ] - ], - [ - [ - [ - -90.93306, - 77.254442 - ], - [ - -91.299164, - 77.21776 - ], - [ - -90.713623, - 77.200823 - ], - [ - -90.93306, - 77.254442 - ] - ] - ], - [ - [ - [ - -91.110001, - 69.549425 - ], - [ - -90.919159, - 69.606096 - ], - [ - -91.108887, - 69.602205 - ], - [ - -91.110001, - 69.549425 - ] - ] - ], - [ - [ - [ - -90.979996, - 62.65777 - ], - [ - -91.080292, - 62.686937 - ], - [ - -91.271118, - 62.679995 - ], - [ - -90.979996, - 62.65777 - ] - ] - ], - [ - [ - [ - -91.520004, - 69.731371 - ], - [ - -91.409164, - 69.874987 - ], - [ - -91.73555, - 69.789156 - ], - [ - -91.520004, - 69.731371 - ] - ] - ], - [ - [ - [ - -91.572784, - 62.627489 - ], - [ - -91.685547, - 62.666941 - ], - [ - -91.66806, - 62.649164 - ], - [ - -91.572784, - 62.627489 - ] - ] - ], - [ - [ - [ - -91.718338, - 81.54915 - ], - [ - -91.58223, - 81.578051 - ], - [ - -91.960556, - 81.594988 - ], - [ - -91.718338, - 81.54915 - ] - ] - ], - [ - [ - [ - -91.819168, - 69.821657 - ], - [ - -91.639725, - 69.854982 - ], - [ - -91.864166, - 69.844149 - ], - [ - -91.819168, - 69.821657 - ] - ] - ], - [ - [ - [ - -92.223618, - 62.355555 - ], - [ - -92.139725, - 62.399721 - ], - [ - -92.372498, - 62.391939 - ], - [ - -92.223618, - 62.355555 - ] - ] - ], - [ - [ - [ - -92.411118, - 62.393885 - ], - [ - -92.531113, - 62.431383 - ], - [ - -92.600555, - 62.386942 - ], - [ - -92.411118, - 62.393885 - ] - ] - ], - [ - [ - [ - -92.954178, - 63.871103 - ], - [ - -92.978333, - 63.908327 - ], - [ - -93.094452, - 63.904993 - ], - [ - -92.954178, - 63.871103 - ] - ] - ], - [ - [ - [ - -92.963898, - 61.87916 - ], - [ - -93.226105, - 61.908327 - ], - [ - -93.070282, - 61.825274 - ], - [ - -92.963898, - 61.87916 - ] - ] - ], - [ - [ - [ - -95.405838, - 77.763887 - ], - [ - -96.328888, - 77.604982 - ], - [ - -93.570557, - 77.437761 - ], - [ - -93.101944, - 77.662493 - ], - [ - -95.405838, - 77.763887 - ] - ] - ], - [ - [ - [ - -94.363892, - 75.590822 - ], - [ - -95.749725, - 75.513323 - ], - [ - -96.616943, - 74.991091 - ], - [ - -93.467773, - 74.703051 - ], - [ - -93.487503, - 75.256655 - ], - [ - -94.363892, - 75.590822 - ] - ] - ], - [ - [ - [ - -94.366653, - 78.159151 - ], - [ - -94.481949, - 78.268328 - ], - [ - -94.694153, - 78.258608 - ], - [ - -94.366653, - 78.159151 - ] - ] - ], - [ - [ - [ - -94.405563, - 75.750826 - ], - [ - -94.481949, - 75.974428 - ], - [ - -94.904449, - 75.936922 - ], - [ - -94.405563, - 75.750826 - ] - ] - ], - [ - [ - [ - -94.843613, - 76.12221 - ], - [ - -95.147232, - 76.11693 - ], - [ - -95.006668, - 76.047487 - ], - [ - -94.843613, - 76.12221 - ] - ] - ], - [ - [ - [ - -96.768066, - 78.684145 - ], - [ - -98.144455, - 78.816668 - ], - [ - -98.371658, - 78.719988 - ], - [ - -98.022232, - 78.536379 - ], - [ - -98.411392, - 78.495256 - ], - [ - -96.870544, - 78.133333 - ], - [ - -97.775558, - 78.03499 - ], - [ - -97.096954, - 77.803316 - ], - [ - -94.886948, - 78.10277 - ], - [ - -95.39917, - 78.231096 - ], - [ - -94.877777, - 78.391375 - ], - [ - -96.768066, - 78.684145 - ] - ] - ], - [ - [ - [ - -95.030838, - 80.670259 - ], - [ - -96.14917, - 80.664705 - ], - [ - -94.970551, - 80.635271 - ], - [ - -95.030838, - 80.670259 - ] - ] - ], - [ - [ - [ - -97.397781, - 69.685534 - ], - [ - -98.012222, - 69.88582 - ], - [ - -98.367767, - 69.601091 - ], - [ - -98.003891, - 69.435808 - ], - [ - -98.556656, - 69.580828 - ], - [ - -98.393341, - 69.308031 - ], - [ - -99.59639, - 69.02054 - ], - [ - -96.530563, - 68.444979 - ], - [ - -95.206955, - 68.850267 - ], - [ - -97.397781, - 69.685534 - ] - ] - ], - [ - [ - [ - -95.224442, - 77.167208 - ], - [ - -95.35611, - 77.236376 - ], - [ - -95.639999, - 77.237764 - ], - [ - -95.224442, - 77.167208 - ] - ] - ], - [ - [ - [ - -95.339996, - 71.731371 - ], - [ - -95.265839, - 71.836657 - ], - [ - -95.488052, - 71.745531 - ], - [ - -95.339996, - 71.731371 - ] - ] - ], - [ - [ - [ - -95.361664, - 67.197756 - ], - [ - -95.30722, - 67.252489 - ], - [ - -95.55278, - 67.235262 - ], - [ - -95.361664, - 67.197756 - ] - ] - ], - [ - [ - [ - -95.311111, - 74.497759 - ], - [ - -95.517502, - 74.630266 - ], - [ - -95.866394, - 74.57416 - ], - [ - -95.311111, - 74.497759 - ] - ] - ], - [ - [ - [ - -95.488892, - 69.565538 - ], - [ - -95.919998, - 69.595263 - ], - [ - -95.990829, - 69.353319 - ], - [ - -95.815826, - 69.562761 - ], - [ - -95.669159, - 69.507494 - ], - [ - -95.736938, - 69.324434 - ], - [ - -95.515839, - 69.330828 - ], - [ - -95.488892, - 69.565538 - ] - ] - ], - [ - [ - [ - -95.669724, - 73.604982 - ], - [ - -95.655563, - 73.616655 - ], - [ - -95.71167, - 73.6122 - ], - [ - -95.669724, - 73.604982 - ] - ] - ], - [ - [ - [ - -95.756958, - 72.892488 - ], - [ - -95.702499, - 72.933596 - ], - [ - -95.786667, - 73.012499 - ], - [ - -95.756958, - 72.892488 - ] - ] - ], - [ - [ - [ - -95.733887, - 73.128862 - ], - [ - -95.893341, - 73.095827 - ], - [ - -95.745544, - 73.049425 - ], - [ - -95.733887, - 73.128862 - ] - ] - ], - [ - [ - [ - -95.735001, - 72.798876 - ], - [ - -95.769165, - 72.878038 - ], - [ - -95.854172, - 72.853594 - ], - [ - -95.735001, - 72.798876 - ] - ] - ], - [ - [ - [ - -95.79277, - 75.899721 - ], - [ - -95.735825, - 75.968325 - ], - [ - -95.899994, - 75.953875 - ], - [ - -95.79277, - 75.899721 - ] - ] - ], - [ - [ - [ - -95.910004, - 75.560259 - ], - [ - -97.053055, - 75.492205 - ], - [ - -96.851105, - 75.350267 - ], - [ - -95.910004, - 75.560259 - ] - ] - ], - [ - [ - [ - -96.170546, - 67.773043 - ], - [ - -95.997498, - 67.820833 - ], - [ - -96.077225, - 67.838884 - ], - [ - -96.170546, - 67.773043 - ] - ] - ], - [ - [ - [ - -96.663055, - 69.569719 - ], - [ - -96.233887, - 69.359713 - ], - [ - -96.096115, - 69.46805 - ], - [ - -96.663055, - 69.569719 - ] - ] - ], - [ - [ - [ - -99.804558, - 73.889101 - ], - [ - -101.120003, - 73.727205 - ], - [ - -100.430557, - 73.406939 - ], - [ - -101.621384, - 73.490267 - ], - [ - -99.771666, - 73.20804 - ], - [ - -100.580002, - 73.173037 - ], - [ - -100.031387, - 72.934984 - ], - [ - -100.45195, - 73.02054 - ], - [ - -100.412216, - 72.74193 - ], - [ - -101.297501, - 72.709993 - ], - [ - -102.137222, - 73.086931 - ], - [ - -102.741669, - 72.724154 - ], - [ - -100.634453, - 72.185534 - ], - [ - -98.729721, - 71.27054 - ], - [ - -98.037506, - 71.526659 - ], - [ - -98.493881, - 71.713884 - ], - [ - -98.267227, - 71.904161 - ], - [ - -98.218063, - 71.649721 - ], - [ - -97.505005, - 71.61165 - ], - [ - -96.493057, - 71.914156 - ], - [ - -96.866943, - 72.041094 - ], - [ - -96.483063, - 72.113039 - ], - [ - -96.871933, - 72.321108 - ], - [ - -96.29834, - 72.415819 - ], - [ - -96.517502, - 72.714708 - ], - [ - -97.196655, - 72.604433 - ], - [ - -97.225006, - 72.939974 - ], - [ - -97.846954, - 73.048601 - ], - [ - -98.450562, - 72.874987 - ], - [ - -97.171936, - 73.35277 - ], - [ - -97.668335, - 73.483324 - ], - [ - -96.962219, - 73.738588 - ], - [ - -97.761948, - 73.911928 - ], - [ - -99.235001, - 73.737764 - ], - [ - -99.804558, - 73.889101 - ] - ] - ], - [ - [ - [ - -96.384171, - 68.200823 - ], - [ - -96.317505, - 68.231936 - ], - [ - -96.462784, - 68.216097 - ], - [ - -96.384171, - 68.200823 - ] - ] - ], - [ - [ - [ - -96.579178, - 75.736925 - ], - [ - -96.455841, - 75.817766 - ], - [ - -96.717224, - 75.739702 - ], - [ - -96.579178, - 75.736925 - ] - ] - ], - [ - [ - [ - -96.563324, - 71.292208 - ], - [ - -96.638611, - 71.226091 - ], - [ - -96.480835, - 71.208879 - ], - [ - -96.472504, - 71.23221 - ], - [ - -96.563324, - 71.292208 - ] - ] - ], - [ - [ - [ - -96.808334, - 72.926378 - ], - [ - -96.575012, - 73.074999 - ], - [ - -97.141113, - 73.085543 - ], - [ - -96.808334, - 72.926378 - ] - ] - ], - [ - [ - [ - -96.754181, - 72.721376 - ], - [ - -96.713333, - 72.893328 - ], - [ - -97.011124, - 72.77582 - ], - [ - -96.754181, - 72.721376 - ] - ] - ], - [ - [ - [ - -96.954453, - 75.595537 - ], - [ - -96.715836, - 75.65999 - ], - [ - -97.005005, - 75.604433 - ], - [ - -96.954453, - 75.595537 - ] - ] - ], - [ - [ - [ - -96.760559, - 69.545534 - ], - [ - -96.902222, - 69.597765 - ], - [ - -96.883896, - 69.559145 - ], - [ - -96.760559, - 69.545534 - ] - ] - ], - [ - [ - [ - -96.958893, - 71.704439 - ], - [ - -96.844452, - 71.744143 - ], - [ - -97.050278, - 71.704165 - ], - [ - -96.958893, - 71.704439 - ] - ] - ], - [ - [ - [ - -96.905838, - 73.220827 - ], - [ - -96.967773, - 73.273317 - ], - [ - -97.117767, - 73.249147 - ], - [ - -96.905838, - 73.220827 - ] - ] - ], - [ - [ - [ - -97.045273, - 76.797762 - ], - [ - -96.997223, - 76.813311 - ], - [ - -97.200836, - 76.857485 - ], - [ - -97.045273, - 76.797762 - ] - ] - ], - [ - [ - [ - -97.256393, - 76.967485 - ], - [ - -97.092224, - 77.01082 - ], - [ - -97.473053, - 76.980547 - ], - [ - -97.256393, - 76.967485 - ] - ] - ], - [ - [ - [ - -97.175827, - 75.244143 - ], - [ - -97.153061, - 75.315264 - ], - [ - -97.275284, - 75.34749 - ], - [ - -97.175827, - 75.244143 - ] - ] - ], - [ - [ - [ - -97.325012, - 69.889162 - ], - [ - -97.226944, - 69.873598 - ], - [ - -97.488602, - 69.943865 - ], - [ - -97.325012, - 69.889162 - ] - ] - ], - [ - [ - [ - -97.652786, - 74.455828 - ], - [ - -97.256958, - 74.590548 - ], - [ - -97.792496, - 74.485811 - ], - [ - -97.652786, - 74.455828 - ] - ] - ], - [ - [ - [ - -98.41806, - 76.668322 - ], - [ - -99.079727, - 76.397219 - ], - [ - -99.684433, - 76.633333 - ], - [ - -100.982498, - 76.504992 - ], - [ - -99.414444, - 76.158327 - ], - [ - -100.152786, - 76.132479 - ], - [ - -99.439438, - 75.970537 - ], - [ - -99.888336, - 75.886385 - ], - [ - -101.885834, - 76.444979 - ], - [ - -102.165833, - 76.238314 - ], - [ - -101.387787, - 76.25194 - ], - [ - -101.907227, - 76.0786 - ], - [ - -101.18222, - 75.779711 - ], - [ - -102.883904, - 75.619143 - ], - [ - -98.950287, - 75.709993 - ], - [ - -100.778877, - 75.350542 - ], - [ - -99.987778, - 75.236101 - ], - [ - -100.546951, - 75.199419 - ], - [ - -100.145844, - 74.991091 - ], - [ - -97.582504, - 75.137499 - ], - [ - -98.165283, - 75.334154 - ], - [ - -97.744156, - 75.571108 - ], - [ - -97.280838, - 75.396944 - ], - [ - -97.386673, - 75.682756 - ], - [ - -97.938599, - 75.741365 - ], - [ - -97.509171, - 76.188875 - ], - [ - -98.41806, - 76.668322 - ] - ] - ], - [ - [ - [ - -97.502792, - 67.624422 - ], - [ - -97.337784, - 67.724154 - ], - [ - -97.560547, - 67.692751 - ], - [ - -97.502792, - 67.624422 - ] - ] - ], - [ - [ - [ - -98.91861, - 73.806093 - ], - [ - -97.637787, - 74.075548 - ], - [ - -99.4375, - 73.896944 - ], - [ - -98.91861, - 73.806093 - ] - ] - ], - [ - [ - [ - -98.657227, - 74.299425 - ], - [ - -98.511124, - 74.318331 - ], - [ - -98.864716, - 74.304705 - ], - [ - -98.657227, - 74.299425 - ] - ] - ], - [ - [ - [ - -99.471664, - 80.109713 - ], - [ - -100.17749, - 79.90999 - ], - [ - -98.644165, - 79.794146 - ], - [ - -99.471664, - 80.109713 - ] - ] - ], - [ - [ - [ - -98.650284, - 68.180269 - ], - [ - -98.693329, - 68.21361 - ], - [ - -98.704453, - 68.176088 - ], - [ - -98.650284, - 68.180269 - ] - ] - ], - [ - [ - [ - -98.895554, - 71.277773 - ], - [ - -98.955841, - 71.352205 - ], - [ - -99.008896, - 71.313875 - ], - [ - -98.895554, - 71.277773 - ] - ] - ], - [ - [ - [ - -103.593887, - 79.325823 - ], - [ - -105.628601, - 79.161379 - ], - [ - -104.681107, - 79.016665 - ], - [ - -104.988327, - 78.798326 - ], - [ - -104.203613, - 78.991655 - ], - [ - -103.821671, - 78.898333 - ], - [ - -104.198883, - 78.770266 - ], - [ - -103.316391, - 78.734423 - ], - [ - -104.042221, - 78.629976 - ], - [ - -103.523621, - 78.496096 - ], - [ - -105.051392, - 78.494432 - ], - [ - -104.467499, - 78.265276 - ], - [ - -102.806107, - 78.377764 - ], - [ - -102.618607, - 78.241365 - ], - [ - -101.035553, - 78.196093 - ], - [ - -99.906952, - 77.778597 - ], - [ - -98.945831, - 78.055819 - ], - [ - -99.793884, - 78.297213 - ], - [ - -99.529724, - 78.578051 - ], - [ - -99.952499, - 78.725542 - ], - [ - -101.648903, - 79.075823 - ], - [ - -102.560822, - 78.869707 - ], - [ - -103.593887, - 79.325823 - ] - ] - ], - [ - [ - [ - -98.951401, - 67.979982 - ], - [ - -98.975555, - 68.077211 - ], - [ - -99.078613, - 68.045595 - ], - [ - -98.951401, - 67.979982 - ] - ] - ], - [ - [ - [ - -99.045273, - 68.423876 - ], - [ - -99.159164, - 68.451097 - ], - [ - -99.054993, - 68.408327 - ], - [ - -99.045273, - 68.423876 - ] - ] - ], - [ - [ - [ - -99.155563, - 80.1747 - ], - [ - -99.41806, - 80.157213 - ], - [ - -99.113892, - 80.163881 - ], - [ - -99.155563, - 80.1747 - ] - ] - ], - [ - [ - [ - -99.996948, - 76.734423 - ], - [ - -100.128601, - 76.721926 - ], - [ - -99.430557, - 76.699419 - ], - [ - -99.996948, - 76.734423 - ] - ] - ], - [ - [ - [ - -99.999435, - 68.94359 - ], - [ - -100.053047, - 69.10248 - ], - [ - -100.258621, - 69.041933 - ], - [ - -99.999435, - 68.94359 - ] - ] - ], - [ - [ - [ - -100.074722, - 68.349718 - ], - [ - -100.230827, - 68.319719 - ], - [ - -100.099442, - 68.278597 - ], - [ - -100.074722, - 68.349718 - ] - ] - ], - [ - [ - [ - -100.172234, - 75.601381 - ], - [ - -101.039436, - 75.567217 - ], - [ - -100.454178, - 75.546373 - ], - [ - -100.172234, - 75.601381 - ] - ] - ], - [ - [ - [ - -100.175552, - 68.79471 - ], - [ - -100.599991, - 69.000551 - ], - [ - -100.623047, - 68.761934 - ], - [ - -100.175552, - 68.79471 - ] - ] - ], - [ - [ - [ - -100.230827, - 70.451662 - ], - [ - -100.651947, - 70.66971 - ], - [ - -100.670837, - 70.55887 - ], - [ - -100.230827, - 70.451662 - ] - ] - ], - [ - [ - [ - -101.380547, - 76.553591 - ], - [ - -100.248894, - 76.734713 - ], - [ - -101.688316, - 76.586382 - ], - [ - -101.380547, - 76.553591 - ] - ] - ], - [ - [ - [ - -100.710564, - 68.402483 - ], - [ - -100.793327, - 68.468874 - ], - [ - -100.889717, - 68.452776 - ], - [ - -100.710564, - 68.402483 - ] - ] - ], - [ - [ - [ - -100.740547, - 68.596376 - ], - [ - -100.813889, - 68.619143 - ], - [ - -100.882492, - 68.611376 - ], - [ - -100.740547, - 68.596376 - ] - ] - ], - [ - [ - [ - -100.765289, - 70.250002 - ], - [ - -100.748047, - 70.316942 - ], - [ - -100.851936, - 70.323885 - ], - [ - -100.765289, - 70.250002 - ] - ] - ], - [ - [ - [ - -100.849731, - 69.925539 - ], - [ - -100.806953, - 69.985811 - ], - [ - -100.858612, - 69.97777 - ], - [ - -100.849731, - 69.925539 - ] - ] - ], - [ - [ - [ - -113.997498, - 72.799425 - ], - [ - -113.96167, - 73.153048 - ], - [ - -114.561661, - 73.375536 - ], - [ - -117.353607, - 72.916384 - ], - [ - -118.536942, - 72.493868 - ], - [ - -118.108046, - 72.237764 - ], - [ - -119.134453, - 71.765276 - ], - [ - -117.696381, - 71.666094 - ], - [ - -118.309433, - 71.465822 - ], - [ - -118.112213, - 71.373598 - ], - [ - -115.057503, - 71.523043 - ], - [ - -118.419449, - 70.99193 - ], - [ - -117.559433, - 70.597216 - ], - [ - -113.938316, - 70.715273 - ], - [ - -111.487213, - 70.336931 - ], - [ - -112.564713, - 70.19832 - ], - [ - -115.167503, - 70.277773 - ], - [ - -117.436111, - 69.993044 - ], - [ - -116.525833, - 69.407488 - ], - [ - -113.521118, - 69.178591 - ], - [ - -113.676941, - 68.811098 - ], - [ - -113.03389, - 68.494982 - ], - [ - -113.269447, - 68.453875 - ], - [ - -109.104721, - 68.710543 - ], - [ - -107.342215, - 69.018877 - ], - [ - -106.602219, - 69.498873 - ], - [ - -106.406113, - 69.180544 - ], - [ - -104.915009, - 69.070543 - ], - [ - -105.14473, - 68.899157 - ], - [ - -102.89473, - 68.79999 - ], - [ - -101.75473, - 69.175814 - ], - [ - -102.313049, - 69.498323 - ], - [ - -103.194992, - 69.114428 - ], - [ - -103.023331, - 69.493868 - ], - [ - -103.476936, - 69.69359 - ], - [ - -100.870003, - 69.788317 - ], - [ - -100.999733, - 70.172762 - ], - [ - -103.556381, - 70.600817 - ], - [ - -104.585831, - 71.066668 - ], - [ - -104.35527, - 71.574434 - ], - [ - -105.326111, - 72.74637 - ], - [ - -106.761398, - 73.293047 - ], - [ - -108.291946, - 73.153597 - ], - [ - -107.778877, - 72.13666 - ], - [ - -107.252502, - 71.89554 - ], - [ - -107.828888, - 71.604433 - ], - [ - -108.242767, - 71.718599 - ], - [ - -108.621384, - 72.54999 - ], - [ - -109.043327, - 72.567492 - ], - [ - -109.227783, - 72.76166 - ], - [ - -109.75473, - 72.878588 - ], - [ - -109.659439, - 72.92499 - ], - [ - -110.756668, - 72.971376 - ], - [ - -109.770279, - 72.722216 - ], - [ - -110.291107, - 72.671099 - ], - [ - -109.782784, - 72.42943 - ], - [ - -110.701401, - 72.575548 - ], - [ - -111.663887, - 72.276384 - ], - [ - -111.905563, - 72.349718 - ], - [ - -111.220001, - 72.718325 - ], - [ - -113.028061, - 73.009432 - ], - [ - -113.657501, - 72.611376 - ], - [ - -114.604721, - 72.601656 - ], - [ - -113.997498, - 72.799425 - ] - ] - ], - [ - [ - [ - -101.711403, - 77.901659 - ], - [ - -102.529715, - 77.834154 - ], - [ - -100.925552, - 77.7372 - ], - [ - -101.711403, - 77.901659 - ] - ] - ], - [ - [ - [ - -101.053047, - 69.504442 - ], - [ - -101.387222, - 69.537767 - ], - [ - -101.230293, - 69.368593 - ], - [ - -101.053047, - 69.504442 - ] - ] - ], - [ - [ - [ - -101.664169, - 69.083605 - ], - [ - -101.495003, - 69.165545 - ], - [ - -101.695267, - 69.206942 - ], - [ - -101.664169, - 69.083605 - ] - ] - ], - [ - [ - [ - -101.831123, - 68.566942 - ], - [ - -101.693878, - 68.768053 - ], - [ - -102.316391, - 68.672213 - ], - [ - -101.831123, - 68.566942 - ] - ] - ], - [ - [ - [ - -103.137787, - 75.742754 - ], - [ - -101.983322, - 75.945818 - ], - [ - -103.382767, - 75.765551 - ], - [ - -103.137787, - 75.742754 - ] - ] - ], - [ - [ - [ - -102.145279, - 69.648607 - ], - [ - -102.134743, - 69.724703 - ], - [ - -102.241379, - 69.710268 - ], - [ - -102.145279, - 69.648607 - ] - ] - ], - [ - [ - [ - -102.389999, - 76.083605 - ], - [ - -103.971657, - 75.938311 - ], - [ - -102.319458, - 76.024706 - ], - [ - -102.389999, - 76.083605 - ] - ] - ], - [ - [ - [ - -102.530838, - 76.223314 - ], - [ - -104.482773, - 76.142214 - ], - [ - -103.342215, - 76.036654 - ], - [ - -102.530838, - 76.223314 - ] - ] - ], - [ - [ - [ - -102.60083, - 68.813311 - ], - [ - -102.612778, - 68.84305 - ], - [ - -102.70723, - 68.816668 - ], - [ - -102.60083, - 68.813311 - ] - ] - ], - [ - [ - [ - -103.056953, - 78.119707 - ], - [ - -102.782227, - 78.238588 - ], - [ - -103.282227, - 78.157763 - ], - [ - -103.056953, - 78.119707 - ] - ] - ], - [ - [ - [ - -104.053879, - 76.563036 - ], - [ - -104.665833, - 76.551653 - ], - [ - -104.335007, - 76.318605 - ], - [ - -103.004463, - 76.429979 - ], - [ - -104.053879, - 76.563036 - ] - ] - ], - [ - [ - [ - -103.17778, - 70.622484 - ], - [ - -103.210007, - 70.676653 - ], - [ - -103.281387, - 70.638048 - ], - [ - -103.17778, - 70.622484 - ] - ] - ], - [ - [ - [ - -103.35083, - 70.687197 - ], - [ - -103.34111, - 70.720263 - ], - [ - -103.462784, - 70.73221 - ], - [ - -103.35083, - 70.687197 - ] - ] - ], - [ - [ - [ - -103.917503, - 75.054979 - ], - [ - -103.583069, - 75.164705 - ], - [ - -104.18222, - 75.435534 - ], - [ - -104.857224, - 75.164705 - ], - [ - -103.917503, - 75.054979 - ] - ] - ], - [ - [ - [ - -104.252502, - 77.072771 - ], - [ - -104.001106, - 77.13582 - ], - [ - -104.431671, - 77.098879 - ], - [ - -104.252502, - 77.072771 - ] - ] - ], - [ - [ - [ - -105.010277, - 77.408037 - ], - [ - -106.094727, - 77.724154 - ], - [ - -105.246948, - 77.193865 - ], - [ - -104.365547, - 77.230272 - ], - [ - -105.010277, - 77.408037 - ] - ] - ], - [ - [ - [ - -104.453056, - 68.102205 - ], - [ - -104.377213, - 68.199709 - ], - [ - -104.553879, - 68.161654 - ], - [ - -104.453056, - 68.102205 - ] - ] - ], - [ - [ - [ - -105.089447, - 73.735262 - ], - [ - -107.035553, - 73.480822 - ], - [ - -105.275558, - 72.845537 - ], - [ - -104.483063, - 73.534426 - ], - [ - -105.089447, - 73.735262 - ] - ] - ], - [ - [ - [ - -104.545273, - 68.396105 - ], - [ - -104.682503, - 68.573885 - ], - [ - -105.08168, - 68.546373 - ], - [ - -104.545273, - 68.396105 - ] - ] - ], - [ - [ - [ - -105.139183, - 68.536379 - ], - [ - -105.292221, - 68.582216 - ], - [ - -105.058884, - 68.504168 - ], - [ - -105.139183, - 68.536379 - ] - ] - ], - [ - [ - [ - -108.651108, - 76.813601 - ], - [ - -110.393066, - 76.391939 - ], - [ - -109.313606, - 76.109148 - ], - [ - -110.055557, - 75.890551 - ], - [ - -108.82695, - 75.686647 - ], - [ - -108.899437, - 75.476381 - ], - [ - -111.247223, - 75.518053 - ], - [ - -111.45195, - 75.836657 - ], - [ - -112.225563, - 75.811098 - ], - [ - -111.727783, - 75.921648 - ], - [ - -112.453888, - 76.176378 - ], - [ - -114.899727, - 76.516939 - ], - [ - -115.925003, - 76.286654 - ], - [ - -114.662514, - 76.16054 - ], - [ - -116.296112, - 76.188585 - ], - [ - -116.734161, - 75.922487 - ], - [ - -114.817497, - 75.880816 - ], - [ - -117.251106, - 75.59749 - ], - [ - -114.999733, - 75.690813 - ], - [ - -117.683884, - 75.253054 - ], - [ - -115.050827, - 74.961107 - ], - [ - -114.065002, - 75.466097 - ], - [ - -113.340561, - 75.413317 - ], - [ - -113.917503, - 75.053591 - ], - [ - -110.912781, - 75.233873 - ], - [ - -114.447769, - 74.6747 - ], - [ - -112.753067, - 74.401384 - ], - [ - -108.832497, - 75.069994 - ], - [ - -106.011124, - 75.050814 - ], - [ - -105.391953, - 75.638887 - ], - [ - -106.33667, - 76.054705 - ], - [ - -106.896666, - 75.720263 - ], - [ - -108.020279, - 75.780825 - ], - [ - -107.632492, - 75.991091 - ], - [ - -108.396118, - 76.046099 - ], - [ - -108.077499, - 76.28055 - ], - [ - -108.558037, - 76.408602 - ], - [ - -108.651108, - 76.813601 - ] - ] - ], - [ - [ - [ - -107.388901, - 68.172213 - ], - [ - -107.291672, - 68.202776 - ], - [ - -107.445267, - 68.201662 - ], - [ - -107.388901, - 68.172213 - ] - ] - ], - [ - [ - [ - -107.407784, - 67.083055 - ], - [ - -107.626663, - 67.200274 - ], - [ - -107.527786, - 67.078051 - ], - [ - -107.407784, - 67.083055 - ] - ] - ], - [ - [ - [ - -107.473618, - 68.144716 - ], - [ - -107.468063, - 68.188585 - ], - [ - -107.554169, - 68.166094 - ], - [ - -107.473618, - 68.144716 - ] - ] - ], - [ - [ - [ - -107.895554, - 73.541368 - ], - [ - -107.582497, - 73.597765 - ], - [ - -108.083328, - 73.597216 - ], - [ - -107.895554, - 73.541368 - ] - ] - ], - [ - [ - [ - -107.662781, - 67.220263 - ], - [ - -107.660004, - 67.298876 - ], - [ - -107.725014, - 67.313036 - ], - [ - -107.662781, - 67.220263 - ] - ] - ], - [ - [ - [ - -107.92305, - 66.850542 - ], - [ - -107.823898, - 66.901094 - ], - [ - -107.794998, - 66.99721 - ], - [ - -107.92305, - 66.850542 - ] - ] - ], - [ - [ - [ - -107.910828, - 67.310534 - ], - [ - -107.89473, - 67.485537 - ], - [ - -108.073898, - 67.430819 - ], - [ - -107.910828, - 67.310534 - ] - ] - ], - [ - [ - [ - -108.059998, - 67.475267 - ], - [ - -107.921387, - 67.546648 - ], - [ - -108.113617, - 67.675264 - ], - [ - -108.059998, - 67.475267 - ] - ] - ], - [ - [ - [ - -108.01445, - 66.897768 - ], - [ - -107.938316, - 66.946932 - ], - [ - -108.106598, - 67.026003 - ], - [ - -108.01445, - 66.897768 - ] - ] - ], - [ - [ - [ - -108.138062, - 67.872484 - ], - [ - -108.054443, - 67.96332 - ], - [ - -108.255569, - 67.887209 - ], - [ - -108.138062, - 67.872484 - ] - ] - ], - [ - [ - [ - -108.138901, - 71.981661 - ], - [ - -108.064163, - 72.030275 - ], - [ - -108.199722, - 72.050539 - ], - [ - -108.138901, - 71.981661 - ] - ] - ], - [ - [ - [ - -108.141113, - 67.449999 - ], - [ - -108.219162, - 67.571108 - ], - [ - -108.271942, - 67.471376 - ], - [ - -108.141113, - 67.449999 - ] - ] - ], - [ - [ - [ - -108.36055, - 68.049715 - ], - [ - -108.294449, - 68.097216 - ], - [ - -108.408051, - 68.069719 - ], - [ - -108.36055, - 68.049715 - ] - ] - ], - [ - [ - [ - -108.368332, - 67.467211 - ], - [ - -108.297501, - 67.557207 - ], - [ - -108.491379, - 67.563036 - ], - [ - -108.368332, - 67.467211 - ] - ] - ], - [ - [ - [ - -108.322777, - 67.589983 - ], - [ - -108.390289, - 67.63109 - ], - [ - -108.483887, - 67.63666 - ], - [ - -108.322777, - 67.589983 - ] - ] - ], - [ - [ - [ - -108.646957, - 67.869432 - ], - [ - -108.359444, - 67.899996 - ], - [ - -108.544724, - 67.928316 - ], - [ - -108.646957, - 67.869432 - ] - ] - ], - [ - [ - [ - -108.506119, - 68.034716 - ], - [ - -108.447487, - 68.08777 - ], - [ - -108.540283, - 68.03998 - ], - [ - -108.506119, - 68.034716 - ] - ] - ], - [ - [ - [ - -108.510559, - 72.60277 - ], - [ - -108.496658, - 72.641375 - ], - [ - -108.613617, - 72.63666 - ], - [ - -108.510559, - 72.60277 - ] - ] - ], - [ - [ - [ - -108.590286, - 68.214434 - ], - [ - -108.559723, - 68.236101 - ], - [ - -108.67749, - 68.168871 - ], - [ - -108.590286, - 68.214434 - ] - ] - ], - [ - [ - [ - -109.195267, - 67.989977 - ], - [ - -108.866095, - 67.90027 - ], - [ - -108.951111, - 67.973314 - ], - [ - -109.195267, - 67.989977 - ] - ] - ], - [ - [ - [ - -109.112213, - 67.763323 - ], - [ - -109.039169, - 67.793322 - ], - [ - -109.207779, - 67.783876 - ], - [ - -109.112213, - 67.763323 - ] - ] - ], - [ - [ - [ - -109.066101, - 76.900545 - ], - [ - -109.179443, - 76.932482 - ], - [ - -109.30777, - 76.928041 - ], - [ - -109.066101, - 76.900545 - ] - ] - ], - [ - [ - [ - -109.648064, - 78.588045 - ], - [ - -110.637512, - 78.748598 - ], - [ - -113.334166, - 78.332766 - ], - [ - -109.260559, - 78.455828 - ], - [ - -109.648064, - 78.588045 - ] - ] - ], - [ - [ - [ - -109.321671, - 67.981096 - ], - [ - -109.44722, - 68.092211 - ], - [ - -109.54306, - 68.052202 - ], - [ - -109.321671, - 67.981096 - ] - ] - ], - [ - [ - [ - -109.78389, - 68.137499 - ], - [ - -109.568069, - 68.24721 - ], - [ - -109.856659, - 68.147768 - ], - [ - -109.78389, - 68.137499 - ] - ] - ], - [ - [ - [ - -109.588058, - 78.064699 - ], - [ - -113.319733, - 77.795534 - ], - [ - -113.198036, - 77.523882 - ], - [ - -112.031113, - 77.324709 - ], - [ - -110.203339, - 77.511385 - ], - [ - -110.090286, - 77.769152 - ], - [ - -110.904715, - 77.843874 - ], - [ - -109.588058, - 78.064699 - ] - ] - ], - [ - [ - [ - -110.213623, - 68.038042 - ], - [ - -109.877213, - 68.126925 - ], - [ - -110.258621, - 68.041933 - ], - [ - -110.213623, - 68.038042 - ] - ] - ], - [ - [ - [ - -110.30722, - 72.630816 - ], - [ - -110.280838, - 72.642214 - ], - [ - -110.410828, - 72.639437 - ], - [ - -110.30722, - 72.630816 - ] - ] - ], - [ - [ - [ - -110.334442, - 68.01166 - ], - [ - -110.317497, - 68.049715 - ], - [ - -110.420837, - 68.02083 - ], - [ - -110.334442, - 68.01166 - ] - ] - ], - [ - [ - [ - -110.355827, - 72.601931 - ], - [ - -110.345001, - 72.611925 - ], - [ - -110.49472, - 72.619143 - ], - [ - -110.355827, - 72.601931 - ] - ] - ], - [ - [ - [ - -110.469162, - 72.569155 - ], - [ - -110.593887, - 72.594149 - ], - [ - -110.544159, - 72.569155 - ], - [ - -110.469162, - 72.569155 - ] - ] - ], - [ - [ - [ - -110.586937, - 68.524157 - ], - [ - -110.518341, - 68.539156 - ], - [ - -110.761948, - 68.561647 - ], - [ - -110.586937, - 68.524157 - ] - ] - ], - [ - [ - [ - -110.862503, - 68.474154 - ], - [ - -110.696114, - 68.486376 - ], - [ - -111.097504, - 68.482759 - ], - [ - -110.862503, - 68.474154 - ] - ] - ], - [ - [ - [ - -111.114441, - 68.405825 - ], - [ - -111.082497, - 68.444704 - ], - [ - -111.14917, - 68.439974 - ], - [ - -111.114441, - 68.405825 - ] - ] - ], - [ - [ - [ - -111.710281, - 68.220537 - ], - [ - -111.499443, - 68.296938 - ], - [ - -111.777222, - 68.253054 - ], - [ - -111.710281, - 68.220537 - ] - ] - ], - [ - [ - [ - -111.799988, - 75.839159 - ], - [ - -111.578613, - 75.879976 - ], - [ - -111.922501, - 75.85277 - ], - [ - -111.799988, - 75.839159 - ] - ] - ], - [ - [ - [ - -111.833328, - 68.181932 - ], - [ - -111.754997, - 68.215822 - ], - [ - -111.865547, - 68.188036 - ], - [ - -111.833328, - 68.181932 - ] - ] - ], - [ - [ - [ - -112.655273, - 70.2661 - ], - [ - -112.6875, - 70.306368 - ], - [ - -112.761398, - 70.298601 - ], - [ - -112.655273, - 70.2661 - ] - ] - ], - [ - [ - [ - -112.780563, - 68.13109 - ], - [ - -112.751678, - 68.164705 - ], - [ - -112.922234, - 68.146654 - ], - [ - -112.780563, - 68.13109 - ] - ] - ], - [ - [ - [ - -112.930557, - 67.916658 - ], - [ - -112.887222, - 67.927202 - ], - [ - -113.147507, - 67.912203 - ], - [ - -112.930557, - 67.916658 - ] - ] - ], - [ - [ - [ - -112.969727, - 70.281374 - ], - [ - -112.945541, - 70.286654 - ], - [ - -113.203613, - 70.292482 - ], - [ - -112.969727, - 70.281374 - ] - ] - ], - [ - [ - [ - -113.390289, - 67.897768 - ], - [ - -113.246948, - 67.914431 - ], - [ - -113.603333, - 67.903048 - ], - [ - -113.390289, - 67.897768 - ] - ] - ], - [ - [ - [ - -113.328888, - 77.079988 - ], - [ - -113.344727, - 77.127764 - ], - [ - -113.497498, - 77.08832 - ], - [ - -113.328888, - 77.079988 - ] - ] - ], - [ - [ - [ - -113.46611, - 76.76639 - ], - [ - -113.885559, - 76.891665 - ], - [ - -114.875816, - 76.77083 - ], - [ - -113.46611, - 76.76639 - ] - ] - ], - [ - [ - [ - -114.073059, - 77.981661 - ], - [ - -115.116095, - 77.95833 - ], - [ - -113.576111, - 77.81415 - ], - [ - -114.073059, - 77.981661 - ] - ] - ], - [ - [ - [ - -113.77861, - 77.104158 - ], - [ - -113.657784, - 77.129152 - ], - [ - -113.931381, - 77.129702 - ], - [ - -113.77861, - 77.104158 - ] - ] - ], - [ - [ - [ - -113.720001, - 67.973314 - ], - [ - -113.772232, - 67.980272 - ], - [ - -113.993057, - 67.961107 - ], - [ - -113.720001, - 67.973314 - ] - ] - ], - [ - [ - [ - -113.786118, - 68.582766 - ], - [ - -113.761948, - 68.592211 - ], - [ - -113.96611, - 68.611101 - ], - [ - -113.786118, - 68.582766 - ] - ] - ], - [ - [ - [ - -114.115013, - 67.883883 - ], - [ - -113.921387, - 67.878038 - ], - [ - -114.296951, - 67.895266 - ], - [ - -114.115013, - 67.883883 - ] - ] - ], - [ - [ - [ - -114.047234, - 68.613604 - ], - [ - -114.141953, - 68.676928 - ], - [ - -114.189987, - 68.680269 - ], - [ - -114.047234, - 68.613604 - ] - ] - ], - [ - [ - [ - -114.219162, - 67.945253 - ], - [ - -114.121109, - 67.961931 - ], - [ - -114.31723, - 67.949709 - ], - [ - -114.219162, - 67.945253 - ] - ] - ], - [ - [ - [ - -114.35083, - 68.871645 - ], - [ - -114.323334, - 68.883043 - ], - [ - -114.471657, - 68.892488 - ], - [ - -114.35083, - 68.871645 - ] - ] - ], - [ - [ - [ - -120.149986, - 74.272493 - ], - [ - -121.564163, - 74.551088 - ], - [ - -124.770844, - 74.340273 - ], - [ - -123.774719, - 73.764437 - ], - [ - -124.868881, - 73.080553 - ], - [ - -124.47583, - 72.927202 - ], - [ - -125.026108, - 72.821093 - ], - [ - -125.997772, - 71.973604 - ], - [ - -124.948334, - 71.961107 - ], - [ - -125.253616, - 71.950258 - ], - [ - -122.781113, - 71.086107 - ], - [ - -120.543327, - 71.516665 - ], - [ - -120.251106, - 72.258608 - ], - [ - -119.311111, - 72.352205 - ], - [ - -119.137512, - 72.632479 - ], - [ - -115.315002, - 73.479708 - ], - [ - -117.422234, - 74.226931 - ], - [ - -119.167503, - 73.9872 - ], - [ - -119.148621, - 74.212206 - ], - [ - -119.744812, - 74.025515 - ], - [ - -119.609161, - 74.233324 - ], - [ - -120.149986, - 74.272493 - ] - ] - ], - [ - [ - [ - -116.351097, - 77.539156 - ], - [ - -119.153343, - 77.325823 - ], - [ - -120.401672, - 76.797213 - ], - [ - -121.212509, - 76.649721 - ], - [ - -121.533073, - 76.437197 - ], - [ - -122.598892, - 76.34833 - ], - [ - -123.037781, - 76.084719 - ], - [ - -120.999443, - 75.939699 - ], - [ - -120.857224, - 76.196642 - ], - [ - -120.454453, - 75.815813 - ], - [ - -119.870003, - 75.857485 - ], - [ - -119.48111, - 75.970827 - ], - [ - -119.804993, - 76.108873 - ], - [ - -119.654999, - 76.303041 - ], - [ - -119.075844, - 76.08333 - ], - [ - -118.567497, - 76.336657 - ], - [ - -118.968063, - 76.505266 - ], - [ - -117.842215, - 76.823885 - ], - [ - -118.059998, - 76.409151 - ], - [ - -117.095551, - 76.295259 - ], - [ - -117.053879, - 76.533052 - ], - [ - -115.896666, - 76.691652 - ], - [ - -116.36528, - 76.926378 - ], - [ - -115.731377, - 76.949709 - ], - [ - -116.280563, - 77.183596 - ], - [ - -115.390289, - 77.306368 - ], - [ - -116.351097, - 77.539156 - ] - ] - ], - [ - [ - [ - -115.920546, - 70.541368 - ], - [ - -115.808037, - 70.570543 - ], - [ - -116.061111, - 70.548326 - ], - [ - -115.920546, - 70.541368 - ] - ] - ], - [ - [ - [ - -116.287781, - 70.553316 - ], - [ - -116.495827, - 70.522768 - ], - [ - -116.127487, - 70.535814 - ], - [ - -116.287781, - 70.553316 - ] - ] - ], - [ - [ - [ - -116.563049, - 70.534426 - ], - [ - -116.509453, - 70.556093 - ], - [ - -116.774437, - 70.545259 - ], - [ - -116.563049, - 70.534426 - ] - ] - ], - [ - [ - [ - -116.805267, - 70.509432 - ], - [ - -116.719162, - 70.470263 - ], - [ - -116.568335, - 70.473879 - ], - [ - -116.805267, - 70.509432 - ] - ] - ], - [ - [ - [ - -116.87944, - 70.547487 - ], - [ - -117.199432, - 70.591661 - ], - [ - -117.301666, - 70.561922 - ], - [ - -116.87944, - 70.547487 - ] - ] - ], - [ - [ - [ - -118.316391, - 75.572496 - ], - [ - -117.463898, - 76.083055 - ], - [ - -119.408051, - 75.605822 - ], - [ - -118.316391, - 75.572496 - ] - ] - ], - [ - [ - [ - -121.093063, - 75.726091 - ], - [ - -120.877777, - 75.936098 - ], - [ - -121.28833, - 75.752779 - ], - [ - -121.093063, - 75.726091 - ] - ] - ], - [ - [ - [ - -120.883621, - 76.739702 - ], - [ - -121.184723, - 76.731096 - ], - [ - -120.970001, - 76.716661 - ], - [ - -120.883621, - 76.739702 - ] - ] - ], - [ - [ - [ - -122.340843, - 75.862764 - ], - [ - -122.353058, - 75.914431 - ], - [ - -122.695541, - 75.908037 - ], - [ - -122.340843, - 75.862764 - ] - ] - ], - [ - [ - [ - -122.819168, - 76.060534 - ], - [ - -122.892502, - 76.013613 - ], - [ - -122.630829, - 76.046648 - ], - [ - -122.819168, - 76.060534 - ] - ] - ], - [ - [ - [ - -127.226936, - 50.63611 - ], - [ - -128.416655, - 50.769159 - ], - [ - -128.051422, - 50.446695 - ], - [ - -127.411392, - 50.587496 - ], - [ - -127.446953, - 50.372766 - ], - [ - -127.923889, - 50.46277 - ], - [ - -127.895844, - 50.108889 - ], - [ - -127.15834, - 50.096384 - ], - [ - -127.241379, - 49.961939 - ], - [ - -127.121117, - 49.852289 - ], - [ - -126.804443, - 49.909159 - ], - [ - -126.679718, - 49.878878 - ], - [ - -126.585007, - 49.701105 - ], - [ - -126.087509, - 49.66221 - ], - [ - -126.542221, - 49.374437 - ], - [ - -125.904715, - 49.435823 - ], - [ - -125.483612, - 48.915827 - ], - [ - -124.80777, - 49.240549 - ], - [ - -125.113892, - 48.731104 - ], - [ - -123.289719, - 48.413324 - ], - [ - -123.850563, - 49.145548 - ], - [ - -123.699432, - 49.143885 - ], - [ - -124.789436, - 49.464159 - ], - [ - -125.449722, - 50.32361 - ], - [ - -127.226936, - 50.63611 - ] - ] - ], - [ - [ - [ - -123.37944, - 49.326944 - ], - [ - -123.31221, - 49.414995 - ], - [ - -123.420273, - 49.381662 - ], - [ - -123.37944, - 49.326944 - ] - ] - ], - [ - [ - [ - -123.322777, - 48.861109 - ], - [ - -123.702499, - 49.105555 - ], - [ - -123.540558, - 48.944994 - ], - [ - -123.322777, - 48.861109 - ] - ] - ], - [ - [ - [ - -123.332779, - 49.441103 - ], - [ - -123.355003, - 49.531939 - ], - [ - -123.436661, - 49.522219 - ], - [ - -123.459442, - 49.467211 - ], - [ - -123.332779, - 49.441103 - ] - ] - ], - [ - [ - [ - -123.474442, - 48.709162 - ], - [ - -123.37027, - 48.768328 - ], - [ - -123.596657, - 48.946939 - ], - [ - -123.474442, - 48.709162 - ] - ] - ], - [ - [ - [ - -124.129707, - 49.650827 - ], - [ - -124.016113, - 49.775553 - ], - [ - -124.199432, - 49.706102 - ], - [ - -124.129707, - 49.650827 - ] - ] - ], - [ - [ - [ - -124.307503, - 73.556368 - ], - [ - -124.113892, - 73.56415 - ], - [ - -124.358612, - 73.630266 - ], - [ - -124.307503, - 73.556368 - ] - ] - ], - [ - [ - [ - -124.446114, - 49.723322 - ], - [ - -124.656662, - 49.796946 - ], - [ - -124.122772, - 49.493608 - ], - [ - -124.446114, - 49.723322 - ] - ] - ], - [ - [ - [ - -124.179169, - 49.441103 - ], - [ - -124.24472, - 49.50139 - ], - [ - -124.381104, - 49.511942 - ], - [ - -124.179169, - 49.441103 - ] - ] - ], - [ - [ - [ - -124.430557, - 73.878588 - ], - [ - -124.420273, - 73.909151 - ], - [ - -124.55278, - 73.916933 - ], - [ - -124.430557, - 73.878588 - ] - ] - ], - [ - [ - [ - -124.679443, - 70.161654 - ], - [ - -124.50528, - 70.19832 - ], - [ - -124.761948, - 70.191927 - ], - [ - -124.679443, - 70.161654 - ] - ] - ], - [ - [ - [ - -124.584732, - 73.679155 - ], - [ - -124.564438, - 73.687197 - ], - [ - -124.733612, - 73.700548 - ], - [ - -124.584732, - 73.679155 - ] - ] - ], - [ - [ - [ - -124.730827, - 50.302217 - ], - [ - -124.794998, - 50.228876 - ], - [ - -124.695831, - 50.157495 - ], - [ - -124.659439, - 50.258333 - ], - [ - -124.730827, - 50.302217 - ] - ] - ], - [ - [ - [ - -124.689438, - 49.480272 - ], - [ - -124.83168, - 49.610552 - ], - [ - -124.823624, - 49.539438 - ], - [ - -124.689438, - 49.480272 - ] - ] - ], - [ - [ - [ - -124.8125, - 50.111383 - ], - [ - -124.756668, - 50.178331 - ], - [ - -124.918327, - 50.299723 - ], - [ - -124.8125, - 50.111383 - ] - ] - ], - [ - [ - [ - -124.924156, - 50.058603 - ], - [ - -124.983322, - 50.22555 - ], - [ - -125.066963, - 50.1075 - ], - [ - -124.924156, - 50.058603 - ] - ] - ], - [ - [ - [ - -125.056953, - 70.118319 - ], - [ - -124.955002, - 70.164156 - ], - [ - -125.123322, - 70.135469 - ], - [ - -125.056953, - 70.118319 - ] - ] - ], - [ - [ - [ - -125.165558, - 50.374437 - ], - [ - -125.400284, - 50.320833 - ], - [ - -125.213623, - 50.316668 - ], - [ - -125.156113, - 50.239161 - ], - [ - -125.140289, - 50.12166 - ], - [ - -125.165558, - 50.374437 - ] - ] - ], - [ - [ - [ - -125.16777, - 49.980822 - ], - [ - -125.167221, - 50.21361 - ], - [ - -125.25473, - 50.293612 - ], - [ - -125.339996, - 50.268885 - ], - [ - -125.16777, - 49.980822 - ] - ] - ], - [ - [ - [ - -125.426102, - 50.355555 - ], - [ - -125.331947, - 50.435549 - ], - [ - -125.528061, - 50.381662 - ], - [ - -125.426102, - 50.355555 - ] - ] - ], - [ - [ - [ - -125.543877, - 50.393885 - ], - [ - -125.523903, - 50.434435 - ], - [ - -125.763634, - 50.397493 - ], - [ - -125.543877, - 50.393885 - ] - ] - ], - [ - [ - [ - -125.80722, - 50.413607 - ], - [ - -125.738052, - 50.428049 - ], - [ - -125.951111, - 50.433878 - ], - [ - -125.80722, - 50.413607 - ] - ] - ], - [ - [ - [ - -125.816101, - 49.125826 - ], - [ - -125.799156, - 49.20833 - ], - [ - -125.93306, - 49.21805 - ], - [ - -125.816101, - 49.125826 - ] - ] - ], - [ - [ - [ - -126.131943, - 49.393328 - ], - [ - -126.239166, - 49.289721 - ], - [ - -126.064713, - 49.250834 - ], - [ - -126.131943, - 49.393328 - ] - ] - ], - [ - [ - [ - -126.22583, - 50.555269 - ], - [ - -126.286118, - 50.59833 - ], - [ - -126.623894, - 50.533884 - ], - [ - -126.22583, - 50.555269 - ] - ] - ], - [ - [ - [ - -126.273064, - 50.652773 - ], - [ - -126.266403, - 50.827776 - ], - [ - -126.617493, - 50.667772 - ], - [ - -126.273064, - 50.652773 - ] - ] - ], - [ - [ - [ - -126.4664, - 50.57583 - ], - [ - -126.361389, - 50.615831 - ], - [ - -126.554169, - 50.602777 - ], - [ - -126.4664, - 50.57583 - ] - ] - ], - [ - [ - [ - -126.64389, - 50.691935 - ], - [ - -126.536392, - 50.763613 - ], - [ - -126.685547, - 50.75889 - ], - [ - -126.64389, - 50.691935 - ] - ] - ], - [ - [ - [ - -126.731377, - 50.771936 - ], - [ - -126.563049, - 50.799997 - ], - [ - -126.905838, - 50.822771 - ], - [ - -126.731377, - 50.771936 - ] - ] - ], - [ - [ - [ - -126.676102, - 49.583605 - ], - [ - -126.613327, - 49.648333 - ], - [ - -126.678047, - 49.825274 - ], - [ - -126.777496, - 49.879717 - ], - [ - -126.940552, - 49.831385 - ], - [ - -126.676102, - 49.583605 - ] - ] - ], - [ - [ - [ - -126.873322, - 50.663324 - ], - [ - -127.14473, - 50.633883 - ], - [ - -126.831123, - 50.62916 - ], - [ - -126.873322, - 50.663324 - ] - ] - ], - [ - [ - [ - -127.724442, - 51.976938 - ], - [ - -127.234734, - 52.416941 - ], - [ - -127.789169, - 52.221933 - ], - [ - -127.724442, - 51.976938 - ] - ] - ], - [ - [ - [ - -127.654715, - 50.83777 - ], - [ - -127.726387, - 50.908602 - ], - [ - -127.838608, - 50.881662 - ], - [ - -127.654715, - 50.83777 - ] - ] - ], - [ - [ - [ - -127.962784, - 52.074717 - ], - [ - -127.881104, - 52.17222 - ], - [ - -128.120819, - 52.141939 - ], - [ - -127.962784, - 52.074717 - ] - ] - ], - [ - [ - [ - -127.914436, - 51.410822 - ], - [ - -128, - 51.720545 - ], - [ - -128.145569, - 51.653605 - ], - [ - -127.914436, - 51.410822 - ] - ] - ], - [ - [ - [ - -127.924713, - 52.174166 - ], - [ - -127.972778, - 52.295275 - ], - [ - -128.170013, - 52.24972 - ], - [ - -127.924713, - 52.174166 - ] - ] - ], - [ - [ - [ - -128.053894, - 51.753611 - ], - [ - -127.983322, - 52.061937 - ], - [ - -128.253082, - 51.872217 - ], - [ - -128.053894, - 51.753611 - ] - ] - ], - [ - [ - [ - -128.184448, - 52.278605 - ], - [ - -128.056671, - 52.328882 - ], - [ - -128.104431, - 52.421381 - ], - [ - -128.184448, - 52.278605 - ] - ] - ], - [ - [ - [ - -128.086121, - 70.605547 - ], - [ - -128.234161, - 70.656099 - ], - [ - -128.341675, - 70.542208 - ], - [ - -128.086121, - 70.605547 - ] - ] - ], - [ - [ - [ - -128.211945, - 52.015551 - ], - [ - -128.153076, - 52.195269 - ], - [ - -128.294159, - 52.113611 - ], - [ - -128.211945, - 52.015551 - ] - ] - ], - [ - [ - [ - -128.269745, - 52.596941 - ], - [ - -128.177795, - 52.826105 - ], - [ - -128.325012, - 52.776102 - ], - [ - -128.269745, - 52.596941 - ] - ] - ], - [ - [ - [ - -128.299988, - 52.133608 - ], - [ - -128.227203, - 52.218882 - ], - [ - -128.377197, - 52.223879 - ], - [ - -128.299988, - 52.133608 - ] - ] - ], - [ - [ - [ - -128.430298, - 52.368052 - ], - [ - -128.275024, - 52.489992 - ], - [ - -128.383331, - 52.797495 - ], - [ - -128.430298, - 52.368052 - ] - ] - ], - [ - [ - [ - -128.428345, - 52.137499 - ], - [ - -128.416412, - 52.226381 - ], - [ - -128.511139, - 52.169992 - ], - [ - -128.428345, - 52.137499 - ] - ] - ], - [ - [ - [ - -128.50528, - 52.641108 - ], - [ - -128.450836, - 52.805269 - ], - [ - -128.506134, - 52.873049 - ], - [ - -128.50528, - 52.641108 - ] - ] - ], - [ - [ - [ - -128.471924, - 52.492769 - ], - [ - -128.535278, - 52.647219 - ], - [ - -128.578186, - 52.593645 - ], - [ - -128.732483, - 52.590548 - ], - [ - -128.813904, - 52.524996 - ], - [ - -128.471924, - 52.492769 - ] - ] - ], - [ - [ - [ - -128.689453, - 53.164438 - ], - [ - -129.06665, - 53.300829 - ], - [ - -129.075287, - 53.103052 - ], - [ - -129.191376, - 53.01333 - ], - [ - -128.843597, - 53.044161 - ], - [ - -129.121918, - 52.863054 - ], - [ - -128.88446, - 52.64805 - ], - [ - -128.646973, - 52.963327 - ], - [ - -128.748871, - 52.597216 - ], - [ - -128.592224, - 52.613886 - ], - [ - -128.518341, - 52.911104 - ], - [ - -128.689453, - 53.164438 - ] - ] - ], - [ - [ - [ - -128.66861, - 52.26639 - ], - [ - -128.615814, - 52.453608 - ], - [ - -128.747223, - 52.471659 - ], - [ - -128.66861, - 52.26639 - ] - ] - ], - [ - [ - [ - -129.086395, - 53.4461 - ], - [ - -129.085541, - 53.504999 - ], - [ - -128.818878, - 53.709162 - ], - [ - -129.153076, - 53.638605 - ], - [ - -129.086395, - 53.4461 - ] - ] - ], - [ - [ - [ - -128.942505, - 53.317499 - ], - [ - -128.901123, - 53.38666 - ], - [ - -128.99942, - 53.539438 - ], - [ - -129.143341, - 53.349718 - ], - [ - -128.942505, - 53.317499 - ] - ] - ], - [ - [ - [ - -128.974426, - 52.453325 - ], - [ - -128.92334, - 52.606661 - ], - [ - -129.277222, - 52.823053 - ], - [ - -128.974426, - 52.453325 - ] - ] - ], - [ - [ - [ - -129.153076, - 53.09833 - ], - [ - -129.16861, - 53.296106 - ], - [ - -129.268066, - 53.331942 - ], - [ - -129.332489, - 53.137499 - ], - [ - -129.153076, - 53.09833 - ] - ] - ], - [ - [ - [ - -129.432495, - 53.151384 - ], - [ - -129.547241, - 53.133051 - ], - [ - -129.289459, - 52.971933 - ], - [ - -129.432495, - 53.151384 - ] - ] - ], - [ - [ - [ - -129.358337, - 53.304163 - ], - [ - -129.303345, - 53.33111 - ], - [ - -129.39502, - 53.410822 - ], - [ - -129.358337, - 53.304163 - ] - ] - ], - [ - [ - [ - -129.826111, - 53.724161 - ], - [ - -130.286407, - 53.837496 - ], - [ - -129.928207, - 53.639605 - ], - [ - -130.056395, - 53.603884 - ], - [ - -129.883911, - 53.579721 - ], - [ - -129.80722, - 53.384165 - ], - [ - -129.506683, - 53.216661 - ], - [ - -129.826111, - 53.724161 - ] - ] - ], - [ - [ - [ - -129.531677, - 53.010553 - ], - [ - -129.562775, - 53.053049 - ], - [ - -129.640015, - 53.044161 - ], - [ - -129.531677, - 53.010553 - ] - ] - ], - [ - [ - [ - -129.610535, - 52.954996 - ], - [ - -129.557495, - 53.006662 - ], - [ - -129.650848, - 53.018885 - ], - [ - -129.610535, - 52.954996 - ] - ] - ], - [ - [ - [ - -129.602478, - 53.057215 - ], - [ - -129.654449, - 53.132769 - ], - [ - -129.738312, - 53.127214 - ], - [ - -129.602478, - 53.057215 - ] - ] - ], - [ - [ - [ - -129.879425, - 53.392771 - ], - [ - -130.520294, - 53.624712 - ], - [ - -129.762238, - 53.158884 - ], - [ - -129.879425, - 53.392771 - ] - ] - ], - [ - [ - [ - -129.934723, - 53.484163 - ], - [ - -129.886688, - 53.542223 - ], - [ - -129.941956, - 53.551104 - ], - [ - -130.021118, - 53.505274 - ], - [ - -129.934723, - 53.484163 - ] - ] - ], - [ - [ - [ - -130.091095, - 53.569445 - ], - [ - -130.261688, - 53.796389 - ], - [ - -130.403351, - 53.682497 - ], - [ - -130.091095, - 53.569445 - ] - ] - ], - [ - [ - [ - -130.14975, - 53.989161 - ], - [ - -130.132477, - 54.049997 - ], - [ - -130.193604, - 54.079721 - ], - [ - -130.14975, - 53.989161 - ] - ] - ], - [ - [ - [ - -130.195557, - 54.118052 - ], - [ - -130.151947, - 54.154436 - ], - [ - -130.252808, - 54.185549 - ], - [ - -130.195557, - 54.118052 - ] - ] - ], - [ - [ - [ - -130.385284, - 54.769991 - ], - [ - -130.168335, - 55.019716 - ], - [ - -130.459991, - 54.828333 - ], - [ - -130.385284, - 54.769991 - ] - ] - ], - [ - [ - [ - -130.268341, - 54.714998 - ], - [ - -130.209442, - 54.807772 - ], - [ - -130.378876, - 54.695269 - ], - [ - -130.268341, - 54.714998 - ] - ] - ], - [ - [ - [ - -130.259186, - 54.004717 - ], - [ - -130.411133, - 54.100832 - ], - [ - -130.712769, - 53.861109 - ], - [ - -130.259186, - 54.004717 - ] - ] - ], - [ - [ - [ - -130.266418, - 54.260553 - ], - [ - -130.272797, - 54.329721 - ], - [ - -130.350281, - 54.305552 - ], - [ - -130.266418, - 54.260553 - ] - ] - ], - [ - [ - [ - -130.35556, - 54.257776 - ], - [ - -130.417786, - 54.326387 - ], - [ - -130.467224, - 54.308603 - ], - [ - -130.35556, - 54.257776 - ] - ] - ], - [ - [ - [ - -130.518341, - 54.702494 - ], - [ - -130.469452, - 54.807772 - ], - [ - -130.611664, - 54.758051 - ], - [ - -130.518341, - 54.702494 - ] - ] - ], - [ - [ - [ - -130.648621, - 54.114443 - ], - [ - -130.781677, - 54.211664 - ], - [ - -130.785004, - 54.149996 - ], - [ - -130.648621, - 54.114443 - ] - ] - ], - [ - [ - [ - -130.704163, - 54.356661 - ], - [ - -130.699432, - 54.406656 - ], - [ - -130.767792, - 54.384996 - ], - [ - -130.704163, - 54.356661 - ] - ] - ], - [ - [ - [ - -130.95166, - 54.454714 - ], - [ - -130.747772, - 54.626101 - ], - [ - -130.925568, - 54.61944 - ], - [ - -130.95166, - 54.454714 - ] - ] - ], - [ - [ - [ - -131.01889, - 51.9461 - ], - [ - -131.00946, - 52.102777 - ], - [ - -131.11026, - 52.151102 - ], - [ - -131.01889, - 51.9461 - ] - ] - ], - [ - [ - [ - -131.762238, - 53.196657 - ], - [ - -131.811127, - 53.253611 - ], - [ - -132.070831, - 53.153879 - ], - [ - -132.413635, - 53.127489 - ], - [ - -132.549164, - 53.151102 - ], - [ - -132.563629, - 53.139162 - ], - [ - -131.030304, - 52.173883 - ], - [ - -131.982483, - 52.879717 - ], - [ - -131.61554, - 52.920275 - ], - [ - -131.964722, - 53.046389 - ], - [ - -131.594727, - 53.035273 - ], - [ - -131.762238, - 53.196657 - ] - ] - ], - [ - [ - [ - -131.464447, - 52.627489 - ], - [ - -131.475281, - 52.736658 - ], - [ - -131.709717, - 52.705271 - ], - [ - -131.464447, - 52.627489 - ] - ] - ], - [ - [ - [ - -131.63974, - 52.828051 - ], - [ - -131.83139, - 52.841936 - ], - [ - -131.733063, - 52.808603 - ], - [ - -131.63974, - 52.828051 - ] - ] - ], - [ - [ - [ - -132.808044, - 54.120272 - ], - [ - -133.071655, - 54.168886 - ], - [ - -132.972504, - 53.555826 - ], - [ - -132.406677, - 53.339716 - ], - [ - -132.733887, - 53.337214 - ], - [ - -132.543335, - 53.330553 - ], - [ - -132.683624, - 53.256662 - ], - [ - -132.596649, - 53.247492 - ], - [ - -132.536682, - 53.178881 - ], - [ - -132.457489, - 53.145273 - ], - [ - -132.186951, - 53.160547 - ], - [ - -132.121918, - 53.189432 - ], - [ - -132.272797, - 53.210276 - ], - [ - -131.982208, - 53.251665 - ], - [ - -131.663055, - 54.152216 - ], - [ - -132.41806, - 53.606104 - ], - [ - -132.66333, - 53.679438 - ], - [ - -132.150299, - 53.992769 - ], - [ - -132.808044, - 54.120272 - ] - ] - ], - [ - [ - [ - -133.93222, - 69.560259 - ], - [ - -133.844727, - 69.600817 - ], - [ - -133.933624, - 69.616091 - ], - [ - -134.016663, - 69.576097 - ], - [ - -133.93222, - 69.560259 - ] - ] - ], - [ - [ - [ - -135.28891, - 69.30942 - ], - [ - -135.337769, - 69.388597 - ], - [ - -135.565552, - 69.390551 - ], - [ - -135.28891, - 69.30942 - ] - ] - ], - [ - [ - [ - -135.517242, - 69.569155 - ], - [ - -135.397797, - 69.646944 - ], - [ - -135.589447, - 69.596102 - ], - [ - -135.517242, - 69.569155 - ] - ] - ], - [ - [ - [ - -135.592224, - 69.48221 - ], - [ - -135.815552, - 69.502489 - ], - [ - -135.574432, - 69.446642 - ], - [ - -135.592224, - 69.48221 - ] - ] - ], - [ - [ - [ - -138.867218, - 69.58832 - ], - [ - -139.12027, - 69.649996 - ], - [ - -139.332489, - 69.566088 - ], - [ - -138.867218, - 69.58832 - ] - ] - ] - ] - }, - "name" : "Canada", - "iso2" : "CA", - "iso3" : "CAN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "W71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 103.775255, - 10.442499 - ], - [ - 103.798861, - 10.500002 - ], - [ - 103.755816, - 10.511667 - ], - [ - 103.748583, - 10.476389 - ], - [ - 103.775255, - 10.442499 - ] - ] - ], - [ - [ - [ - 103.31415, - 10.723055 - ], - [ - 103.193316, - 10.756388 - ], - [ - 103.269709, - 10.669722 - ], - [ - 103.31415, - 10.723055 - ] - ] - ], - [ - [ - [ - 107.489153, - 14.44861 - ], - [ - 107.546602, - 14.70862 - ], - [ - 106.853594, - 14.303053 - ], - [ - 106.540743, - 14.598726 - ], - [ - 106.004709, - 14.373053 - ], - [ - 106.056643, - 13.929998 - ], - [ - 105.210604, - 14.349649 - ], - [ - 103.180544, - 14.329721 - ], - [ - 102.377199, - 13.573889 - ], - [ - 102.916094, - 11.635851 - ], - [ - 103.129702, - 10.883055 - ], - [ - 103.555239, - 11.156942 - ], - [ - 103.623308, - 10.495554 - ], - [ - 103.926912, - 10.590277 - ], - [ - 104.247744, - 10.567499 - ], - [ - 104.44533, - 10.422739 - ], - [ - 105.101915, - 10.955553 - ], - [ - 106.20331, - 10.770555 - ], - [ - 105.851068, - 11.659998 - ], - [ - 106.458216, - 11.665865 - ], - [ - 106.420244, - 11.973608 - ], - [ - 107.547495, - 12.353609 - ], - [ - 107.489153, - 14.44861 - ] - ], - [ - [ - 103.032755, - 11.431944 - ], - [ - 103.009409, - 11.525 - ], - [ - 103.045519, - 11.469721 - ], - [ - 103.032755, - 11.431944 - ] - ], - [ - [ - 103.028032, - 11.246386 - ], - [ - 102.986361, - 11.42222 - ], - [ - 103.041925, - 11.375555 - ], - [ - 103.028032, - 11.246386 - ] - ] - ] - ] - }, - "name" : "Cambodia", - "iso2" : "KH", - "iso3" : "KHM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "XL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 81.714996, - 7.681388 - ], - [ - 81.712769, - 7.704999 - ], - [ - 81.70166, - 7.68111 - ], - [ - 81.708328, - 7.674166 - ], - [ - 81.714996, - 7.681388 - ] - ] - ], - [ - [ - [ - 81.806931, - 7.477777 - ], - [ - 81.804153, - 7.600554 - ], - [ - 81.723312, - 7.73861 - ], - [ - 81.806931, - 7.477777 - ] - ] - ], - [ - [ - [ - 79.912491, - 9.018055 - ], - [ - 79.693039, - 9.092497 - ], - [ - 79.85054, - 9.00111 - ], - [ - 79.912491, - 9.018055 - ] - ] - ], - [ - [ - [ - 79.716385, - 9.477221 - ], - [ - 79.657486, - 9.555832 - ], - [ - 79.658035, - 9.499165 - ], - [ - 79.716385, - 9.477221 - ] - ] - ], - [ - [ - [ - 79.974426, - 9.615274 - ], - [ - 79.854706, - 9.750832 - ], - [ - 79.871918, - 9.634443 - ], - [ - 79.974426, - 9.615274 - ] - ] - ], - [ - [ - [ - 80.274704, - 9.775 - ], - [ - 80.444138, - 9.571665 - ], - [ - 79.925812, - 9.74472 - ], - [ - 80.612198, - 9.443054 - ], - [ - 80.051926, - 9.594442 - ], - [ - 79.702484, - 8.079443 - ], - [ - 80.046097, - 6.239721 - ], - [ - 80.587204, - 5.917777 - ], - [ - 81.661102, - 6.439999 - ], - [ - 81.881653, - 7.288054 - ], - [ - 81.391937, - 8.149443 - ], - [ - 81.361374, - 8.487219 - ], - [ - 81.130539, - 8.5 - ], - [ - 81.231094, - 8.65111 - ], - [ - 80.914703, - 8.943054 - ], - [ - 80.824432, - 9.261944 - ], - [ - 80.274704, - 9.775 - ] - ] - ] - ] - }, - "name" : "Sri Lanka", - "iso2" : "LK", - "iso3" : "LKA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Xb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 13.293888, - 2.163611 - ], - [ - 13.186785, - 1.222476 - ], - [ - 14.188889, - 1.391389 - ], - [ - 14.487221, - 0.913611 - ], - [ - 13.848331, - -0.198611 - ], - [ - 14.51861, - -0.609167 - ], - [ - 14.429722, - -1.891667 - ], - [ - 14.110832, - -2.493056 - ], - [ - 13.76222, - -2.088889 - ], - [ - 13.482777, - -2.4375 - ], - [ - 13.001507, - -2.367672 - ], - [ - 12.65, - -1.8225 - ], - [ - 12.478054, - -2.327222 - ], - [ - 11.574165, - -2.333333 - ], - [ - 11.925833, - -3.636945 - ], - [ - 11.496944, - -3.506945 - ], - [ - 11.140661, - -3.925277 - ], - [ - 12.026131, - -5.014997 - ], - [ - 12.779047, - -4.388991 - ], - [ - 13.091389, - -4.633056 - ], - [ - 13.413887, - -4.882501 - ], - [ - 13.729443, - -4.445834 - ], - [ - 14.400833, - -4.2775 - ], - [ - 14.418888, - -4.887222 - ], - [ - 14.661388, - -4.909445 - ], - [ - 15.890505, - -3.943009 - ], - [ - 16.226944, - -3.328333 - ], - [ - 16.195831, - -2.175834 - ], - [ - 17.714996, - -0.537222 - ], - [ - 18.091942, - 2.224166 - ], - [ - 18.624958, - 3.479444 - ], - [ - 17.475277, - 3.713055 - ], - [ - 16.659721, - 3.533333 - ], - [ - 16.207222, - 2.220833 - ], - [ - 16.07222, - 1.654166 - ], - [ - 14.564999, - 2.169444 - ], - [ - 13.293888, - 2.163611 - ] - ] - ] - }, - "name" : "Congo", - "iso2" : "CG", - "iso3" : "COG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Xr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 23.986208, - -10.870461 - ], - [ - 24.448332, - -11.463612 - ], - [ - 25.332224, - -11.193335 - ], - [ - 25.359724, - -11.641668 - ], - [ - 26.004721, - -11.9025 - ], - [ - 26.868612, - -11.973612 - ], - [ - 27.199251, - -11.567905 - ], - [ - 27.660002, - -12.296667 - ], - [ - 28.441946, - -12.519724 - ], - [ - 29.015833, - -13.397779 - ], - [ - 29.589445, - -13.221945 - ], - [ - 29.80139, - -13.454168 - ], - [ - 29.805052, - -12.155247 - ], - [ - 29.493612, - -12.458057 - ], - [ - 29.031389, - -12.383057 - ], - [ - 28.363333, - -11.550835 - ], - [ - 28.69972, - -10.653334 - ], - [ - 28.372221, - -9.260834 - ], - [ - 28.901667, - -8.478613 - ], - [ - 30.771242, - -8.192247 - ], - [ - 29.55028, - -6.295279 - ], - [ - 29.423887, - -4.448055 - ], - [ - 29.229898, - -3.750963 - ], - [ - 29.024443, - -2.744722 - ], - [ - 28.868334, - -2.394444 - ], - [ - 29.596945, - -1.385834 - ], - [ - 29.960554, - 0.825556 - ], - [ - 31.302778, - 2.121389 - ], - [ - 30.729723, - 2.448057 - ], - [ - 30.85882, - 3.493395 - ], - [ - 29.643332, - 4.643614 - ], - [ - 28.363054, - 4.290003 - ], - [ - 27.455278, - 5.01639 - ], - [ - 25.891668, - 5.192499 - ], - [ - 25.542223, - 5.381392 - ], - [ - 24.734446, - 4.910833 - ], - [ - 24.394167, - 5.115557 - ], - [ - 23.420279, - 4.591112 - ], - [ - 22.895834, - 4.821112 - ], - [ - 22.379168, - 4.127501 - ], - [ - 20.585554, - 4.410002 - ], - [ - 19.421389, - 5.134169 - ], - [ - 18.541945, - 4.335554 - ], - [ - 18.62496, - 3.479445 - ], - [ - 18.091944, - 2.224169 - ], - [ - 17.714998, - -0.537222 - ], - [ - 16.195833, - -2.175833 - ], - [ - 16.226946, - -3.328333 - ], - [ - 15.890505, - -3.943008 - ], - [ - 14.66139, - -4.909445 - ], - [ - 14.41889, - -4.887222 - ], - [ - 14.400835, - -4.2775 - ], - [ - 13.729445, - -4.445833 - ], - [ - 13.413889, - -4.8825 - ], - [ - 13.091391, - -4.633055 - ], - [ - 13.088888, - -4.6625 - ], - [ - 12.565554, - -5.025555 - ], - [ - 12.526667, - -5.724167 - ], - [ - 12.214552, - -5.768555 - ], - [ - 12.435835, - -6.016666 - ], - [ - 13.178881, - -5.856329 - ], - [ - 13.997499, - -5.848612 - ], - [ - 16.579721, - -5.900833 - ], - [ - 16.941668, - -7.19861 - ], - [ - 17.624166, - -8.098057 - ], - [ - 19.373056, - -7.996111 - ], - [ - 19.53895, - -6.996614 - ], - [ - 20.629747, - -6.913881 - ], - [ - 20.548716, - -7.283615 - ], - [ - 21.782961, - -7.280842 - ], - [ - 21.790556, - -9.405556 - ], - [ - 22.312223, - -10.364445 - ], - [ - 22.253889, - -11.209723 - ], - [ - 23.986208, - -10.870461 - ] - ], - [ - [ - 12.953054, - -5.876112 - ], - [ - 12.737223, - -5.943611 - ], - [ - 12.844168, - -5.850555 - ], - [ - 12.953054, - -5.876112 - ] - ] - ] - }, - "name" : "Democratic Republic of the Congo", - "iso2" : "CD", - "iso3" : "COD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "X71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 29.024441, - -2.744722 - ], - [ - 29.229897, - -3.750964 - ], - [ - 29.423885, - -4.448056 - ], - [ - 30.026108, - -4.269444 - ], - [ - 30.834999, - -3.256945 - ], - [ - 30.843662, - -2.978794 - ], - [ - 30.4175, - -2.861945 - ], - [ - 30.57333, - -2.399167 - ], - [ - 29.952221, - -2.309445 - ], - [ - 29.85083, - -2.759722 - ], - [ - 29.024441, - -2.744722 - ] - ] - ] - }, - "name" : "Burundi", - "iso2" : "BI", - "iso3" : "BDI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "YL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 110.720545, - 20.063334 - ], - [ - 109.259432, - 19.901663 - ], - [ - 108.628313, - 19.280279 - ], - [ - 108.685534, - 18.505278 - ], - [ - 109.566675, - 18.168886 - ], - [ - 110.047762, - 18.380552 - ], - [ - 111.031099, - 19.639997 - ], - [ - 110.720545, - 20.063334 - ] - ], - [ - [ - 110.524149, - 19.134443 - ], - [ - 110.515001, - 19.132776 - ], - [ - 110.510271, - 19.139166 - ], - [ - 110.524149, - 19.134443 - ] - ] - ], - [ - [ - [ - 116.718874, - 20.70944 - ], - [ - 116.701929, - 20.719995 - ], - [ - 116.705263, - 20.711386 - ], - [ - 116.718874, - 20.70944 - ] - ] - ], - [ - [ - [ - 110.597216, - 20.879442 - ], - [ - 110.596651, - 20.95833 - ], - [ - 110.548029, - 20.913885 - ], - [ - 110.597216, - 20.879442 - ] - ] - ], - [ - [ - [ - 109.12192, - 21.055277 - ], - [ - 109.071932, - 21.050276 - ], - [ - 109.072771, - 21.010279 - ], - [ - 109.12192, - 21.055277 - ] - ] - ], - [ - [ - [ - 110.548868, - 21.059164 - ], - [ - 110.248873, - 20.977221 - ], - [ - 110.498034, - 20.955832 - ], - [ - 110.548868, - 21.059164 - ] - ] - ], - [ - [ - [ - 110.499422, - 21.193331 - ], - [ - 110.536654, - 21.096945 - ], - [ - 110.614153, - 21.193331 - ], - [ - 110.499422, - 21.193331 - ] - ] - ], - [ - [ - [ - 111.836115, - 21.565275 - ], - [ - 112.002489, - 21.651941 - ], - [ - 111.840555, - 21.643053 - ], - [ - 111.836115, - 21.565275 - ] - ] - ], - [ - [ - [ - 112.533869, - 21.590834 - ], - [ - 112.646944, - 21.638609 - ], - [ - 112.648043, - 21.702776 - ], - [ - 112.533869, - 21.590834 - ] - ] - ], - [ - [ - [ - 112.805819, - 21.65333 - ], - [ - 112.868876, - 21.76639 - ], - [ - 112.703325, - 21.687777 - ], - [ - 112.805819, - 21.65333 - ] - ] - ], - [ - [ - [ - 113.383333, - 22.00889 - ], - [ - 113.378038, - 22.084723 - ], - [ - 113.307482, - 22.01972 - ], - [ - 113.383333, - 22.00889 - ] - ] - ], - [ - [ - [ - 113.296656, - 22.063887 - ], - [ - 113.360262, - 22.153608 - ], - [ - 113.267763, - 22.113611 - ], - [ - 113.296656, - 22.063887 - ] - ] - ], - [ - [ - [ - 113.594995, - 22.65222 - ], - [ - 113.543589, - 22.736383 - ], - [ - 113.486101, - 22.720274 - ], - [ - 113.594995, - 22.65222 - ] - ] - ], - [ - [ - [ - 113.588045, - 22.750555 - ], - [ - 113.483873, - 22.900831 - ], - [ - 113.387209, - 22.897497 - ], - [ - 113.588045, - 22.750555 - ] - ] - ], - [ - [ - [ - 117.118044, - 23.399164 - ], - [ - 117.09804, - 23.490553 - ], - [ - 116.944704, - 23.438887 - ], - [ - 117.118044, - 23.399164 - ] - ] - ], - [ - [ - [ - 117.404711, - 23.771112 - ], - [ - 117.311655, - 23.579721 - ], - [ - 117.507494, - 23.726385 - ], - [ - 117.404711, - 23.771112 - ] - ] - ], - [ - [ - [ - 118.126925, - 24.425829 - ], - [ - 118.188875, - 24.493887 - ], - [ - 118.091089, - 24.549723 - ], - [ - 118.062189, - 24.45722 - ], - [ - 118.126925, - 24.425829 - ] - ] - ], - [ - [ - [ - 119.301653, - 25.419443 - ], - [ - 119.333879, - 25.570276 - ], - [ - 119.277483, - 25.503054 - ], - [ - 119.301653, - 25.419443 - ] - ] - ], - [ - [ - [ - 119.826662, - 25.582777 - ], - [ - 119.72304, - 25.638887 - ], - [ - 119.696375, - 25.428053 - ], - [ - 119.826662, - 25.582777 - ] - ] - ], - [ - [ - [ - 119.277773, - 26.035276 - ], - [ - 119.408335, - 25.983606 - ], - [ - 119.211329, - 26.071932 - ], - [ - 119.277773, - 26.035276 - ] - ] - ], - [ - [ - [ - 121.170824, - 28.046946 - ], - [ - 121.24193, - 28.200552 - ], - [ - 121.119143, - 28.133886 - ], - [ - 121.170824, - 28.046946 - ] - ] - ], - [ - [ - [ - 121.941095, - 29.052778 - ], - [ - 121.941362, - 29.164999 - ], - [ - 121.873598, - 29.149164 - ], - [ - 121.941095, - 29.052778 - ] - ] - ], - [ - [ - [ - 122.111925, - 29.787779 - ], - [ - 122.030825, - 29.716108 - ], - [ - 122.166094, - 29.652498 - ], - [ - 122.111925, - 29.787779 - ] - ] - ], - [ - [ - [ - 122.411379, - 29.933054 - ], - [ - 122.318605, - 29.941664 - ], - [ - 122.390825, - 29.829443 - ], - [ - 122.411379, - 29.933054 - ] - ] - ], - [ - [ - [ - 121.865808, - 29.969995 - ], - [ - 121.906649, - 30.032221 - ], - [ - 121.861101, - 30.081667 - ], - [ - 121.865808, - 29.969995 - ] - ] - ], - [ - [ - [ - 122.325274, - 30.01861 - ], - [ - 121.961649, - 30.139166 - ], - [ - 122.008043, - 30.004446 - ], - [ - 122.325274, - 30.01861 - ] - ] - ], - [ - [ - [ - 122.211115, - 30.241106 - ], - [ - 122.212198, - 30.339167 - ], - [ - 122.074709, - 30.287222 - ], - [ - 122.211115, - 30.241106 - ] - ] - ], - [ - [ - [ - 122.420259, - 30.41361 - ], - [ - 122.272776, - 30.474997 - ], - [ - 122.275545, - 30.432219 - ], - [ - 122.420259, - 30.41361 - ] - ] - ], - [ - [ - [ - 121.844995, - 31.288054 - ], - [ - 121.878862, - 31.356665 - ], - [ - 121.791933, - 31.369997 - ], - [ - 121.844995, - 31.288054 - ] - ] - ], - [ - [ - [ - 121.487764, - 31.717775 - ], - [ - 121.203859, - 31.800539 - ], - [ - 121.868319, - 31.489164 - ], - [ - 121.487764, - 31.717775 - ] - ] - ], - [ - [ - [ - 119.899431, - 32.071108 - ], - [ - 119.823885, - 32.268053 - ], - [ - 119.716089, - 32.271936 - ], - [ - 119.899431, - 32.071108 - ] - ] - ], - [ - [ - [ - 121.436098, - 39.391665 - ], - [ - 121.393053, - 39.479158 - ], - [ - 121.255831, - 39.409433 - ], - [ - 121.436098, - 39.391665 - ] - ] - ], - [ - [ - [ - 130.604372, - 42.421862 - ], - [ - 130.405245, - 42.71805 - ], - [ - 131.123293, - 42.910822 - ], - [ - 131.311373, - 43.392221 - ], - [ - 130.949984, - 44.841105 - ], - [ - 131.864687, - 45.345545 - ], - [ - 133.122194, - 45.128603 - ], - [ - 133.900179, - 46.250315 - ], - [ - 134.182467, - 47.323328 - ], - [ - 134.767214, - 47.707499 - ], - [ - 134.740755, - 48.26713 - ], - [ - 133.088564, - 48.101664 - ], - [ - 132.52109, - 47.710276 - ], - [ - 130.988558, - 47.688601 - ], - [ - 130.521639, - 48.607775 - ], - [ - 130.671633, - 48.865 - ], - [ - 127.529428, - 49.789164 - ], - [ - 127.586069, - 50.208567 - ], - [ - 126.095545, - 52.764444 - ], - [ - 123.382204, - 53.526659 - ], - [ - 120.863878, - 53.279718 - ], - [ - 120.029161, - 52.768053 - ], - [ - 120.71361, - 52.544718 - ], - [ - 120.776659, - 52.115 - ], - [ - 119.138605, - 50.394716 - ], - [ - 119.361368, - 50.336939 - ], - [ - 119.214159, - 50.015276 - ], - [ - 117.874712, - 49.520578 - ], - [ - 116.711382, - 49.830469 - ], - [ - 115.592196, - 47.919443 - ], - [ - 117.372194, - 47.653597 - ], - [ - 117.801088, - 48.010553 - ], - [ - 118.539339, - 47.994753 - ], - [ - 119.729982, - 47.164156 - ], - [ - 119.897493, - 46.675554 - ], - [ - 117.421099, - 46.578333 - ], - [ - 116.585543, - 46.295832 - ], - [ - 115.701929, - 45.458605 - ], - [ - 114.545259, - 45.389437 - ], - [ - 113.638048, - 44.745272 - ], - [ - 111.980822, - 45.091661 - ], - [ - 111.421373, - 44.382494 - ], - [ - 111.95833, - 43.692217 - ], - [ - 110.440538, - 42.777773 - ], - [ - 109.313601, - 42.429995 - ], - [ - 107.471918, - 42.466105 - ], - [ - 105.012209, - 41.581385 - ], - [ - 100.835543, - 42.678049 - ], - [ - 96.383043, - 42.731104 - ], - [ - 95.336107, - 44.02083 - ], - [ - 95.416658, - 44.293886 - ], - [ - 93.554705, - 44.957216 - ], - [ - 90.896944, - 45.253054 - ], - [ - 90.681932, - 45.579721 - ], - [ - 91.02025, - 46.600111 - ], - [ - 90.074434, - 47.886385 - ], - [ - 88.653322, - 48.182772 - ], - [ - 87.973314, - 48.576944 - ], - [ - 87.8407, - 49.172953 - ], - [ - 87.348207, - 49.092623 - ], - [ - 86.874697, - 49.110826 - ], - [ - 86.596102, - 48.536112 - ], - [ - 85.759157, - 48.387774 - ], - [ - 85.529314, - 47.060167 - ], - [ - 84.759432, - 46.826387 - ], - [ - 83.040545, - 47.212214 - ], - [ - 82.317766, - 45.570536 - ], - [ - 82.649431, - 45.430262 - ], - [ - 82.561647, - 45.129419 - ], - [ - 81.688311, - 45.350817 - ], - [ - 79.871096, - 44.904978 - ], - [ - 80.52083, - 44.732477 - ], - [ - 80.362764, - 44.125246 - ], - [ - 80.817217, - 43.156069 - ], - [ - 80.37665, - 43.02524 - ], - [ - 80.5786, - 42.891077 - ], - [ - 80.171923, - 42.660509 - ], - [ - 80.234026, - 42.196222 - ], - [ - 78.080828, - 41.040789 - ], - [ - 76.873873, - 41.014109 - ], - [ - 76.345827, - 40.350222 - ], - [ - 75.697206, - 40.299112 - ], - [ - 75.578051, - 40.647997 - ], - [ - 74.860262, - 40.519388 - ], - [ - 73.994432, - 40.046045 - ], - [ - 73.655687, - 39.454828 - ], - [ - 73.817766, - 38.607714 - ], - [ - 74.856646, - 38.470484 - ], - [ - 74.902773, - 37.647158 - ], - [ - 75.187487, - 37.406588 - ], - [ - 74.915743, - 37.237329 - ], - [ - 74.392214, - 37.175074 - ], - [ - 74.565432, - 37.027819 - ], - [ - 74.817492, - 37.021769 - ], - [ - 75.864428, - 36.659678 - ], - [ - 76.166384, - 35.819719 - ], - [ - 77.823931, - 35.501329 - ], - [ - 78.075548, - 35.445826 - ], - [ - 78.309145, - 34.642496 - ], - [ - 78.985353, - 34.350016 - ], - [ - 78.811647, - 33.525827 - ], - [ - 79.530275, - 32.754168 - ], - [ - 78.971102, - 32.350832 - ], - [ - 78.760546, - 32.635553 - ], - [ - 78.397768, - 32.548609 - ], - [ - 78.767214, - 31.309999 - ], - [ - 79.092485, - 31.437498 - ], - [ - 81.025362, - 30.204355 - ], - [ - 81.223604, - 30.010279 - ], - [ - 81.421099, - 30.385275 - ], - [ - 82.100542, - 30.342222 - ], - [ - 83.552767, - 29.185831 - ], - [ - 84.119143, - 29.26 - ], - [ - 84.481096, - 28.736662 - ], - [ - 85.189974, - 28.603331 - ], - [ - 85.106646, - 28.309443 - ], - [ - 85.721376, - 28.279165 - ], - [ - 86.014437, - 27.882776 - ], - [ - 86.183596, - 28.163885 - ], - [ - 86.444979, - 27.908052 - ], - [ - 86.686373, - 28.112219 - ], - [ - 87.192751, - 27.823053 - ], - [ - 88.142794, - 27.866056 - ], - [ - 88.831667, - 28.013334 - ], - [ - 88.917727, - 27.320326 - ], - [ - 89.590273, - 28.143332 - ], - [ - 90.017488, - 28.325277 - ], - [ - 90.466387, - 28.071665 - ], - [ - 91.301378, - 28.08111 - ], - [ - 91.657763, - 27.764723 - ], - [ - 92.544985, - 27.86194 - ], - [ - 94.647509, - 29.33346 - ], - [ - 95.387774, - 29.035276 - ], - [ - 96.077486, - 29.468607 - ], - [ - 96.395266, - 29.255278 - ], - [ - 96.169146, - 28.903608 - ], - [ - 96.470827, - 29.056665 - ], - [ - 96.615816, - 28.790277 - ], - [ - 96.401934, - 28.35111 - ], - [ - 97.348879, - 28.222773 - ], - [ - 97.555254, - 28.548056 - ], - [ - 97.806643, - 28.344164 - ], - [ - 98.316378, - 27.541945 - ], - [ - 98.699709, - 27.539167 - ], - [ - 98.778322, - 26.636385 - ], - [ - 98.710817, - 25.855555 - ], - [ - 97.552477, - 24.743052 - ], - [ - 97.759996, - 24.257498 - ], - [ - 97.53554, - 23.939718 - ], - [ - 98.890734, - 24.16007 - ], - [ - 98.677202, - 23.968054 - ], - [ - 98.927477, - 23.189165 - ], - [ - 99.566378, - 22.938051 - ], - [ - 99.162767, - 22.159163 - ], - [ - 99.964434, - 22.048887 - ], - [ - 100.212755, - 21.432554 - ], - [ - 101.105265, - 21.771387 - ], - [ - 101.148241, - 21.572638 - ], - [ - 101.281939, - 21.180277 - ], - [ - 101.787203, - 21.144163 - ], - [ - 101.574434, - 22.209162 - ], - [ - 101.738039, - 22.496943 - ], - [ - 102.140749, - 22.396288 - ], - [ - 102.479715, - 22.77389 - ], - [ - 103.03055, - 22.435553 - ], - [ - 103.336382, - 22.796389 - ], - [ - 103.964434, - 22.499113 - ], - [ - 105.353868, - 23.334723 - ], - [ - 105.577478, - 23.059164 - ], - [ - 106.707209, - 22.865 - ], - [ - 106.693316, - 22.030832 - ], - [ - 107.990023, - 21.542414 - ], - [ - 108.511385, - 21.589167 - ], - [ - 108.475809, - 21.940275 - ], - [ - 109.142763, - 21.396666 - ], - [ - 109.57332, - 21.72333 - ], - [ - 109.941095, - 21.446943 - ], - [ - 109.661928, - 20.918886 - ], - [ - 109.924425, - 20.233606 - ], - [ - 110.278872, - 20.246107 - ], - [ - 110.529161, - 20.47333 - ], - [ - 110.158045, - 20.845552 - ], - [ - 110.398249, - 21.380671 - ], - [ - 111.637209, - 21.521112 - ], - [ - 111.892488, - 21.920275 - ], - [ - 112.93915, - 21.868608 - ], - [ - 113.086382, - 22.206942 - ], - [ - 113.224154, - 22.0375 - ], - [ - 113.29915, - 22.175554 - ], - [ - 113.388048, - 22.176664 - ], - [ - 113.16527, - 22.571386 - ], - [ - 113.531664, - 22.194738 - ], - [ - 113.55443, - 22.212732 - ], - [ - 113.565813, - 22.550276 - ], - [ - 113.359156, - 22.883333 - ], - [ - 113.47748, - 23.052778 - ], - [ - 113.829714, - 23.11722 - ], - [ - 113.524431, - 23.01111 - ], - [ - 114.033331, - 22.509138 - ], - [ - 114.222597, - 22.55055 - ], - [ - 116.480822, - 22.938051 - ], - [ - 116.787493, - 23.233885 - ], - [ - 116.521379, - 23.420832 - ], - [ - 118.123308, - 24.256109 - ], - [ - 117.792025, - 24.461321 - ], - [ - 118.018053, - 24.436384 - ], - [ - 118.16054, - 24.688608 - ], - [ - 118.239702, - 24.536386 - ], - [ - 118.622759, - 24.54389 - ], - [ - 118.573885, - 24.884165 - ], - [ - 119.0161, - 24.954165 - ], - [ - 118.87192, - 25.243887 - ], - [ - 119.353045, - 25.250277 - ], - [ - 119.102205, - 25.408052 - ], - [ - 119.30887, - 25.606943 - ], - [ - 119.652208, - 25.357222 - ], - [ - 119.451105, - 25.680277 - ], - [ - 119.705553, - 25.993608 - ], - [ - 119.344995, - 25.93833 - ], - [ - 119.09276, - 26.142496 - ], - [ - 119.425264, - 25.996943 - ], - [ - 119.939425, - 26.354166 - ], - [ - 119.658045, - 26.33861 - ], - [ - 119.54915, - 26.753611 - ], - [ - 120.127199, - 26.641665 - ], - [ - 120.033869, - 26.899721 - ], - [ - 120.422213, - 27.145277 - ], - [ - 120.19359, - 27.290277 - ], - [ - 120.47748, - 27.177496 - ], - [ - 120.84305, - 27.876944 - ], - [ - 120.590822, - 28.079443 - ], - [ - 121.5786, - 28.269167 - ], - [ - 121.138605, - 28.840555 - ], - [ - 121.610262, - 28.724997 - ], - [ - 121.411928, - 29.163332 - ], - [ - 121.933596, - 29.195276 - ], - [ - 121.979715, - 29.585276 - ], - [ - 121.44832, - 29.511667 - ], - [ - 122.12665, - 29.888887 - ], - [ - 121.677759, - 29.963053 - ], - [ - 121.284418, - 30.304445 - ], - [ - 120.146105, - 30.194719 - ], - [ - 121.884722, - 30.974997 - ], - [ - 120.714434, - 31.983606 - ], - [ - 120.129152, - 31.905554 - ], - [ - 119.629702, - 32.260828 - ], - [ - 119.826662, - 32.306383 - ], - [ - 120.106089, - 31.943888 - ], - [ - 120.601931, - 32.093607 - ], - [ - 121.89554, - 31.746943 - ], - [ - 120.835825, - 32.640833 - ], - [ - 120.253885, - 34.309992 - ], - [ - 119.176088, - 34.884996 - ], - [ - 120.237764, - 35.959436 - ], - [ - 120.088854, - 36.199984 - ], - [ - 120.680819, - 36.127481 - ], - [ - 120.783335, - 36.621935 - ], - [ - 121.949144, - 37.000002 - ], - [ - 122.504709, - 36.89361 - ], - [ - 122.562189, - 37.396387 - ], - [ - 121.570543, - 37.424715 - ], - [ - 120.740541, - 37.835268 - ], - [ - 119.767214, - 37.151384 - ], - [ - 119.232759, - 37.14361 - ], - [ - 118.956652, - 37.300547 - ], - [ - 118.841928, - 38.150545 - ], - [ - 117.672213, - 38.38666 - ], - [ - 117.743876, - 39.104998 - ], - [ - 118.924425, - 39.128046 - ], - [ - 119.519709, - 39.868052 - ], - [ - 120.455263, - 40.200548 - ], - [ - 121.177469, - 40.921938 - ], - [ - 122.299715, - 40.511667 - ], - [ - 121.228868, - 39.538332 - ], - [ - 121.751101, - 39.351664 - ], - [ - 121.146944, - 38.722765 - ], - [ - 124.373598, - 40.093622 - ], - [ - 126.016939, - 40.899996 - ], - [ - 126.913042, - 41.796106 - ], - [ - 128.155825, - 41.382494 - ], - [ - 128.05887, - 42.003328 - ], - [ - 128.925814, - 42.024439 - ], - [ - 129.711916, - 42.444155 - ], - [ - 129.907534, - 43.005823 - ], - [ - 130.604372, - 42.421862 - ] - ], - [ - [ - 108.329714, - 21.654165 - ], - [ - 108.320833, - 21.665831 - ], - [ - 108.328875, - 21.67861 - ], - [ - 108.329714, - 21.654165 - ] - ] - ] - ] - }, - "name" : "China", - "iso2" : "CN", - "iso3" : "CHN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Yb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 74.915741, - 37.237328 - ], - [ - 73.307205, - 37.462753 - ], - [ - 71.6772, - 36.67601 - ], - [ - 71.429428, - 37.075829 - ], - [ - 71.591934, - 37.902618 - ], - [ - 71.252777, - 37.922035 - ], - [ - 71.363037, - 38.248497 - ], - [ - 70.967209, - 38.472115 - ], - [ - 70.161377, - 37.933372 - ], - [ - 70.155823, - 37.536232 - ], - [ - 69.515823, - 37.580826 - ], - [ - 69.315262, - 37.115273 - ], - [ - 68.887772, - 37.3386 - ], - [ - 68.058014, - 36.932526 - ], - [ - 67.779877, - 37.185822 - ], - [ - 66.537735, - 37.366379 - ], - [ - 65.708878, - 37.538605 - ], - [ - 64.798035, - 37.124992 - ], - [ - 64.503601, - 36.280548 - ], - [ - 63.119438, - 35.861938 - ], - [ - 63.10527, - 35.450829 - ], - [ - 62.722214, - 35.254715 - ], - [ - 62.309158, - 35.141663 - ], - [ - 61.276558, - 35.607246 - ], - [ - 60.721657, - 34.522217 - ], - [ - 60.878876, - 34.319717 - ], - [ - 60.508331, - 34.140274 - ], - [ - 60.527771, - 33.644157 - ], - [ - 60.943047, - 33.51944 - ], - [ - 60.582497, - 33.066101 - ], - [ - 60.84388, - 31.498329 - ], - [ - 61.713608, - 31.383331 - ], - [ - 61.851105, - 31.021111 - ], - [ - 60.868599, - 29.863884 - ], - [ - 62.484436, - 29.406105 - ], - [ - 66.256653, - 29.85194 - ], - [ - 66.395538, - 30.94083 - ], - [ - 66.723038, - 31.212215 - ], - [ - 67.778046, - 31.332218 - ], - [ - 67.575546, - 31.53194 - ], - [ - 68.166092, - 31.833054 - ], - [ - 68.833054, - 31.603886 - ], - [ - 69.328247, - 31.940365 - ], - [ - 69.505264, - 33.034164 - ], - [ - 70.326935, - 33.33194 - ], - [ - 69.906372, - 34.035271 - ], - [ - 71.08194, - 34.055824 - ], - [ - 70.987488, - 34.551102 - ], - [ - 71.649429, - 35.424995 - ], - [ - 71.243576, - 36.129715 - ], - [ - 72.556641, - 36.821266 - ], - [ - 74.56543, - 37.027817 - ], - [ - 74.392212, - 37.175072 - ], - [ - 74.915741, - 37.237328 - ] - ] - ] - }, - "name" : "Afghanistan", - "iso2" : "AF", - "iso3" : "AFG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Yr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 90.466385, - 28.071663 - ], - [ - 90.017487, - 28.325275 - ], - [ - 89.590271, - 28.14333 - ], - [ - 88.917725, - 27.320324 - ], - [ - 88.893875, - 26.975552 - ], - [ - 89.643051, - 26.715271 - ], - [ - 92.069992, - 26.861942 - ], - [ - 92.113602, - 27.297497 - ], - [ - 91.657761, - 27.764721 - ], - [ - 91.301376, - 28.081108 - ], - [ - 90.466385, - 28.071663 - ] - ] - ] - }, - "name" : "Bhutan", - "iso2" : "BT", - "iso3" : "BTN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Y71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -66.571396, - -55.284729 - ], - [ - -66.420563, - -55.194725 - ], - [ - -66.626114, - -55.199722 - ], - [ - -66.571396, - -55.284729 - ] - ] - ], - [ - [ - [ - -66.816681, - -55.118614 - ], - [ - -66.862228, - -55.02639 - ], - [ - -67.072235, - -55.002785 - ], - [ - -66.816681, - -55.118614 - ] - ] - ], - [ - [ - [ - -66.874725, - -55.33223 - ], - [ - -66.878616, - -55.228889 - ], - [ - -67.073624, - -55.276115 - ], - [ - -66.874725, - -55.33223 - ] - ] - ], - [ - [ - [ - -69.483612, - -17.635559 - ], - [ - -69.499725, - -17.50528 - ], - [ - -69.951126, - -18.242779 - ], - [ - -70.405487, - -18.348545 - ], - [ - -70.053345, - -21.425652 - ], - [ - -70.622513, - -23.492779 - ], - [ - -70.391113, - -23.561947 - ], - [ - -70.449173, - -25.364723 - ], - [ - -70.910843, - -27.621948 - ], - [ - -71.521666, - -28.970001 - ], - [ - -71.287796, - -29.896946 - ], - [ - -71.703339, - -30.761669 - ], - [ - -71.442505, - -32.640007 - ], - [ - -73.190002, - -37.138062 - ], - [ - -73.643341, - -37.208618 - ], - [ - -73.222504, - -39.414726 - ], - [ - -73.99501, - -40.970001 - ], - [ - -73.868895, - -41.482506 - ], - [ - -73.491959, - -41.520836 - ], - [ - -73.75029, - -41.754723 - ], - [ - -73.203613, - -41.792503 - ], - [ - -72.946671, - -41.483337 - ], - [ - -72.571396, - -41.707779 - ], - [ - -72.310013, - -41.435837 - ], - [ - -72.350571, - -41.652504 - ], - [ - -72.859451, - -41.906952 - ], - [ - -72.462784, - -41.971115 - ], - [ - -72.421402, - -42.453056 - ], - [ - -72.847504, - -42.280006 - ], - [ - -72.535004, - -42.559174 - ], - [ - -72.86084, - -42.574448 - ], - [ - -72.745285, - -43.04834 - ], - [ - -73.116394, - -43.439728 - ], - [ - -72.84584, - -43.776672 - ], - [ - -73.289459, - -44.143616 - ], - [ - -72.613892, - -44.472778 - ], - [ - -72.766113, - -44.753334 - ], - [ - -73.142502, - -44.94445 - ], - [ - -73.391678, - -44.98056 - ], - [ - -73.446945, - -45.285278 - ], - [ - -72.827225, - -45.422501 - ], - [ - -73.515564, - -45.455002 - ], - [ - -73.587233, - -45.779724 - ], - [ - -73.182236, - -45.667503 - ], - [ - -73.663345, - -45.973335 - ], - [ - -73.690842, - -46.319168 - ], - [ - -73.425568, - -46.074448 - ], - [ - -73.841124, - -46.58889 - ], - [ - -73.99501, - -46.561394 - ], - [ - -73.768066, - -46.30278 - ], - [ - -73.882782, - -46.141113 - ], - [ - -73.853897, - -46.347229 - ], - [ - -74.049728, - -46.195557 - ], - [ - -74.340836, - -46.266396 - ], - [ - -74.494446, - -46.190285 - ], - [ - -74.311676, - -46.249168 - ], - [ - -74.083618, - -46.186111 - ], - [ - -73.974457, - -46.094727 - ], - [ - -74.140839, - -45.80584 - ], - [ - -74.361115, - -45.791115 - ], - [ - -75.717514, - -46.725281 - ], - [ - -75.413071, - -46.933891 - ], - [ - -75.654724, - -46.765007 - ], - [ - -74.94223, - -46.440002 - ], - [ - -75.013901, - -46.750282 - ], - [ - -74.265015, - -46.785561 - ], - [ - -73.934448, - -47.036118 - ], - [ - -74.529175, - -47.437782 - ], - [ - -74.041122, - -47.618057 - ], - [ - -74.741669, - -47.715836 - ], - [ - -73.934448, - -47.846947 - ], - [ - -73.719177, - -47.528336 - ], - [ - -73.22084, - -48.001114 - ], - [ - -73.654175, - -47.903618 - ], - [ - -73.27417, - -48.087227 - ], - [ - -73.553345, - -48.245834 - ], - [ - -74.654449, - -48.023895 - ], - [ - -74.021118, - -48.413612 - ], - [ - -74.046677, - -48.547783 - ], - [ - -74.400284, - -48.614449 - ], - [ - -74.060837, - -48.741394 - ], - [ - -74.449722, - -48.812225 - ], - [ - -74.373901, - -49.427504 - ], - [ - -73.834166, - -49.029167 - ], - [ - -74.111679, - -49.480278 - ], - [ - -73.712509, - -49.757225 - ], - [ - -74.325287, - -49.627228 - ], - [ - -73.88501, - -50.06945 - ], - [ - -74.372513, - -49.991394 - ], - [ - -73.865845, - -50.293892 - ], - [ - -74.693619, - -50.203339 - ], - [ - -73.884735, - -50.538895 - ], - [ - -74.29306, - -50.482224 - ], - [ - -74.04834, - -50.827507 - ], - [ - -73.566391, - -50.401672 - ], - [ - -73.528624, - -50.714447 - ], - [ - -74.252792, - -50.940834 - ], - [ - -73.71167, - -51.159729 - ], - [ - -73.598068, - -51.61834 - ], - [ - -73.89418, - -51.370003 - ], - [ - -73.905838, - -51.622505 - ], - [ - -73.46167, - -51.687225 - ], - [ - -73.545288, - -52.056395 - ], - [ - -73.283615, - -52.155006 - ], - [ - -73.386673, - -51.655556 - ], - [ - -73.236954, - -52.090004 - ], - [ - -72.924179, - -51.863335 - ], - [ - -73.281403, - -51.610283 - ], - [ - -72.560837, - -51.78167 - ], - [ - -73.243622, - -51.462227 - ], - [ - -72.468903, - -51.789169 - ], - [ - -72.490845, - -52.318893 - ], - [ - -72.899445, - -52.458618 - ], - [ - -72.570557, - -52.315834 - ], - [ - -72.698334, - -51.983337 - ], - [ - -72.861954, - -52.264168 - ], - [ - -72.988617, - -52.068611 - ], - [ - -73.327515, - -52.223618 - ], - [ - -73.723343, - -52.024727 - ], - [ - -73.547791, - -52.538895 - ], - [ - -73.690002, - -52.725006 - ], - [ - -72.88501, - -52.515556 - ], - [ - -73.56279, - -52.793617 - ], - [ - -73.235001, - -52.889725 - ], - [ - -73.451126, - -53.006668 - ], - [ - -72.980835, - -53.066116 - ], - [ - -73.005844, - -52.854172 - ], - [ - -72.675293, - -52.65889 - ], - [ - -72.898895, - -52.625557 - ], - [ - -72.799179, - -52.539726 - ], - [ - -71.475281, - -52.633339 - ], - [ - -72.719452, - -52.746117 - ], - [ - -72.958344, - -52.857506 - ], - [ - -72.936951, - -53.106674 - ], - [ - -72.653061, - -53.14695 - ], - [ - -72.79306, - -53.178337 - ], - [ - -72.706116, - -53.29306 - ], - [ - -73.217789, - -53.231117 - ], - [ - -72.400284, - -53.540283 - ], - [ - -72.654175, - -53.323891 - ], - [ - -72.188614, - -53.183891 - ], - [ - -72.55278, - -53.074722 - ], - [ - -71.170563, - -52.80806 - ], - [ - -71.80307, - -53.516396 - ], - [ - -72.007233, - -53.563057 - ], - [ - -71.864456, - -53.221672 - ], - [ - -72.453903, - -53.40139 - ], - [ - -71.284729, - -53.886391 - ], - [ - -70.973618, - -53.755562 - ], - [ - -70.811676, - -52.732506 - ], - [ - -69.261124, - -52.20639 - ], - [ - -68.441757, - -52.377777 - ], - [ - -69.998337, - -51.996391 - ], - [ - -71.910568, - -51.995834 - ], - [ - -72.400558, - -51.513618 - ], - [ - -72.294174, - -50.649727 - ], - [ - -73.166122, - -50.753334 - ], - [ - -73.583618, - -49.538063 - ], - [ - -72.564178, - -48.804451 - ], - [ - -72.287231, - -48.341949 - ], - [ - -72.536392, - -47.921394 - ], - [ - -72.360291, - -47.470001 - ], - [ - -71.868622, - -47.221672 - ], - [ - -71.940292, - -46.815559 - ], - [ - -71.669449, - -46.679169 - ], - [ - -71.780563, - -45.648895 - ], - [ - -71.297791, - -45.293335 - ], - [ - -72.078613, - -44.769447 - ], - [ - -71.282227, - -44.800285 - ], - [ - -71.108063, - -44.539726 - ], - [ - -71.855011, - -44.371674 - ], - [ - -71.732788, - -43.188057 - ], - [ - -72.136948, - -43.009171 - ], - [ - -72.131958, - -42.288895 - ], - [ - -71.72612, - -42.096672 - ], - [ - -71.950562, - -40.73278 - ], - [ - -71.695557, - -39.58445 - ], - [ - -71.401398, - -38.92028 - ], - [ - -70.824173, - -38.568062 - ], - [ - -71.185287, - -36.842224 - ], - [ - -70.424316, - -36.13604 - ], - [ - -70.567505, - -35.24778 - ], - [ - -69.8125, - -34.235558 - ], - [ - -69.774445, - -33.381111 - ], - [ - -70.098892, - -33.172501 - ], - [ - -70.533066, - -31.188057 - ], - [ - -69.83168, - -30.190556 - ], - [ - -70.031403, - -29.306393 - ], - [ - -69.65538, - -28.400932 - ], - [ - -68.810837, - -27.120556 - ], - [ - -68.287231, - -26.915279 - ], - [ - -68.583618, - -26.50528 - ], - [ - -68.351959, - -25.117226 - ], - [ - -68.565002, - -24.774445 - ], - [ - -67.335846, - -24.021666 - ], - [ - -67.000839, - -23.002781 - ], - [ - -67.183624, - -22.821667 - ], - [ - -67.876404, - -22.828056 - ], - [ - -68.188614, - -21.296946 - ], - [ - -68.756958, - -20.406948 - ], - [ - -68.4375, - -19.430279 - ], - [ - -68.907791, - -19.055279 - ], - [ - -69.071671, - -18.038891 - ], - [ - -69.483612, - -17.635559 - ] - ], - [ - [ - -73.385284, - -52.740004 - ], - [ - -73.398056, - -52.732506 - ], - [ - -73.328064, - -52.699448 - ], - [ - -73.385284, - -52.740004 - ] - ], - [ - [ - -74.069458, - -46.006111 - ], - [ - -74.072235, - -46.097778 - ], - [ - -74.164459, - -46.136673 - ], - [ - -74.069458, - -46.006111 - ] - ] - ], - [ - [ - [ - -67.780563, - -54.919449 - ], - [ - -68.364456, - -54.94445 - ], - [ - -68.095291, - -55.236946 - ], - [ - -67.053619, - -55.136391 - ], - [ - -67.780563, - -54.919449 - ] - ] - ], - [ - [ - [ - -67.085281, - -55.917503 - ], - [ - -67.105835, - -55.801949 - ], - [ - -67.171677, - -55.874168 - ], - [ - -67.085281, - -55.917503 - ] - ] - ], - [ - [ - [ - -67.167236, - -55.786392 - ], - [ - -67.173889, - -55.759726 - ], - [ - -67.241394, - -55.790283 - ], - [ - -67.167236, - -55.786392 - ] - ] - ], - [ - [ - [ - -67.212784, - -55.893616 - ], - [ - -67.246948, - -55.828056 - ], - [ - -67.413895, - -55.83223 - ], - [ - -67.212784, - -55.893616 - ] - ] - ], - [ - [ - [ - -67.268066, - -55.72139 - ], - [ - -67.356674, - -55.574722 - ], - [ - -67.556395, - -55.712227 - ], - [ - -67.268066, - -55.72139 - ] - ] - ], - [ - [ - [ - -67.493057, - -55.82917 - ], - [ - -67.857513, - -55.849167 - ], - [ - -67.611954, - -55.902229 - ], - [ - -67.493057, - -55.82917 - ] - ] - ], - [ - [ - [ - -67.728622, - -55.624451 - ], - [ - -67.589737, - -55.540558 - ], - [ - -67.688065, - -55.501671 - ], - [ - -67.728622, - -55.624451 - ] - ] - ], - [ - [ - [ - -68.396666, - -54.95945 - ], - [ - -70.03334, - -55.156395 - ], - [ - -69.174179, - -55.512222 - ], - [ - -69.430008, - -55.161949 - ], - [ - -68.803619, - -55.188614 - ], - [ - -68.939178, - -55.459724 - ], - [ - -68.053619, - -55.712502 - ], - [ - -68.159454, - -55.398613 - ], - [ - -68.74501, - -55.271118 - ], - [ - -68.210556, - -55.265007 - ], - [ - -69.061111, - -55.057228 - ], - [ - -68.396666, - -54.95945 - ] - ] - ], - [ - [ - [ - -70.917236, - -54.708618 - ], - [ - -68.643112, - -54.888611 - ], - [ - -68.636124, - -54.804771 - ], - [ - -68.635834, - -54.788338 - ], - [ - -68.617584, - -52.64151 - ], - [ - -69.420563, - -52.458061 - ], - [ - -69.917236, - -52.825836 - ], - [ - -70.424728, - -52.773056 - ], - [ - -70.099731, - -52.904167 - ], - [ - -70.444458, - -53.012779 - ], - [ - -70.446671, - -53.368057 - ], - [ - -69.3564, - -53.351112 - ], - [ - -70.184448, - -53.813614 - ], - [ - -68.991669, - -54.431946 - ], - [ - -69.177504, - -54.580833 - ], - [ - -69.376404, - -54.686668 - ], - [ - -69.241119, - -54.446396 - ], - [ - -69.859177, - -54.283058 - ], - [ - -69.770004, - -54.557503 - ], - [ - -70.055283, - -54.249168 - ], - [ - -70.200836, - -54.316116 - ], - [ - -70.142792, - -54.428337 - ], - [ - -70.88028, - -54.133896 - ], - [ - -70.130844, - -54.548889 - ], - [ - -72.003067, - -54.463615 - ], - [ - -70.917236, - -54.708618 - ] - ], - [ - [ - -70.917236, - -54.708618 - ], - [ - -70.870285, - -54.686394 - ], - [ - -70.771393, - -54.681114 - ], - [ - -70.917236, - -54.708618 - ] - ] - ], - [ - [ - [ - -69.762222, - -55.038612 - ], - [ - -69.166397, - -54.958336 - ], - [ - -69.931946, - -54.89917 - ], - [ - -69.762222, - -55.038612 - ] - ] - ], - [ - [ - [ - -69.690567, - -55.412506 - ], - [ - -69.637512, - -55.382507 - ], - [ - -69.764725, - -55.337784 - ], - [ - -69.690567, - -55.412506 - ] - ] - ], - [ - [ - [ - -69.985291, - -55.364174 - ], - [ - -69.94223, - -55.287224 - ], - [ - -70.106125, - -55.295837 - ], - [ - -69.985291, - -55.364174 - ] - ] - ], - [ - [ - [ - -70.281403, - -54.275558 - ], - [ - -70.218903, - -54.226669 - ], - [ - -70.511124, - -54.160835 - ], - [ - -70.281403, - -54.275558 - ] - ] - ], - [ - [ - [ - -70.508759, - -54.970055 - ], - [ - -70.311676, - -54.904724 - ], - [ - -71.015839, - -54.966667 - ], - [ - -70.26445, - -55.116112 - ], - [ - -70.734177, - -55.015282 - ], - [ - -70.508759, - -54.970055 - ] - ] - ], - [ - [ - [ - -70.609177, - -54.904724 - ], - [ - -70.393616, - -54.871674 - ], - [ - -70.74556, - -54.874451 - ], - [ - -70.609177, - -54.904724 - ] - ] - ], - [ - [ - [ - -70.441956, - -53.860558 - ], - [ - -70.534454, - -53.560837 - ], - [ - -70.878616, - -54.050835 - ], - [ - -70.524445, - -54.228615 - ], - [ - -70.674454, - -53.926674 - ], - [ - -70.441956, - -53.860558 - ] - ] - ], - [ - [ - [ - -70.725845, - -52.893616 - ], - [ - -70.618895, - -52.821396 - ], - [ - -70.780838, - -52.877785 - ], - [ - -70.725845, - -52.893616 - ] - ] - ], - [ - [ - [ - -71.106949, - -54.871948 - ], - [ - -71.45668, - -54.885002 - ], - [ - -70.912231, - -54.924446 - ], - [ - -71.106949, - -54.871948 - ] - ] - ], - [ - [ - [ - -71.257507, - -54.076118 - ], - [ - -71.699448, - -54.161118 - ], - [ - -71.116394, - -54.384726 - ], - [ - -71.009735, - -54.102783 - ], - [ - -71.257507, - -54.076118 - ] - ] - ], - [ - [ - [ - -71.671112, - -53.943893 - ], - [ - -72.257507, - -53.941116 - ], - [ - -71.84668, - -54.339729 - ], - [ - -71.953613, - -54.019447 - ], - [ - -71.671112, - -53.943893 - ] - ] - ], - [ - [ - [ - -72.021118, - -54.634726 - ], - [ - -72.101395, - -54.656395 - ], - [ - -71.931122, - -54.744728 - ], - [ - -72.021118, - -54.634726 - ] - ] - ], - [ - [ - [ - -72.911118, - -53.429451 - ], - [ - -73.587784, - -53.755562 - ], - [ - -73.25, - -53.70723 - ], - [ - -73.132507, - -54.011673 - ], - [ - -72.732224, - -53.839729 - ], - [ - -72.870834, - -54.136673 - ], - [ - -72.13945, - -53.801674 - ], - [ - -72.843903, - -53.458061 - ], - [ - -72.878342, - -53.681946 - ], - [ - -72.911118, - -53.429451 - ] - ] - ], - [ - [ - [ - -72.322235, - -54.258057 - ], - [ - -72.206955, - -54.148338 - ], - [ - -72.301682, - -54.071671 - ], - [ - -72.511124, - -54.202782 - ], - [ - -72.322235, - -54.258057 - ] - ] - ], - [ - [ - [ - -72.308334, - -54.369171 - ], - [ - -72.540558, - -54.341393 - ], - [ - -72.463348, - -54.43 - ], - [ - -72.308334, - -54.369171 - ] - ] - ], - [ - [ - [ - -72.513062, - -42.152504 - ], - [ - -72.509445, - -42.060837 - ], - [ - -72.616959, - -42.097778 - ], - [ - -72.513062, - -42.152504 - ] - ] - ], - [ - [ - [ - -72.722778, - -44.549171 - ], - [ - -72.998062, - -44.367226 - ], - [ - -73.464737, - -44.644447 - ], - [ - -73.20723, - -44.798615 - ], - [ - -73.407791, - -44.820557 - ], - [ - -73.280289, - -44.940002 - ], - [ - -73.138336, - -44.913063 - ], - [ - -72.828339, - -44.690559 - ], - [ - -72.983337, - -44.606117 - ], - [ - -72.819168, - -44.640556 - ], - [ - -72.722778, - -44.549171 - ] - ] - ], - [ - [ - [ - -73.015839, - -41.864449 - ], - [ - -73.077515, - -41.740004 - ], - [ - -73.089737, - -41.84417 - ], - [ - -73.015839, - -41.864449 - ] - ] - ], - [ - [ - [ - -73.106125, - -42.311394 - ], - [ - -73.069168, - -42.260284 - ], - [ - -73.189728, - -42.251396 - ], - [ - -73.106125, - -42.311394 - ] - ] - ], - [ - [ - [ - -74.360565, - -52.948891 - ], - [ - -73.090012, - -53.354729 - ], - [ - -74.74501, - -52.756668 - ], - [ - -74.360565, - -52.948891 - ] - ] - ], - [ - [ - [ - -73.155014, - -44.022781 - ], - [ - -73.148056, - -43.888336 - ], - [ - -73.269455, - -43.920837 - ], - [ - -73.155014, - -44.022781 - ] - ] - ], - [ - [ - [ - -73.241959, - -44.388336 - ], - [ - -73.1689, - -44.370003 - ], - [ - -73.249725, - -44.310837 - ], - [ - -73.303345, - -44.363335 - ], - [ - -73.241959, - -44.388336 - ] - ] - ], - [ - [ - [ - -73.194168, - -54.128891 - ], - [ - -73.246674, - -54.035835 - ], - [ - -73.470566, - -54.072784 - ], - [ - -73.194168, - -54.128891 - ] - ] - ], - [ - [ - [ - -73.885284, - -41.815559 - ], - [ - -74.407791, - -43.243614 - ], - [ - -73.859177, - -43.400002 - ], - [ - -73.489456, - -43.114723 - ], - [ - -73.6539, - -42.933334 - ], - [ - -73.498901, - -42.800835 - ], - [ - -73.800293, - -42.617783 - ], - [ - -73.820282, - -42.507507 - ], - [ - -73.618057, - -42.517227 - ], - [ - -73.672226, - -42.361946 - ], - [ - -73.368622, - -42.250557 - ], - [ - -73.501114, - -41.843338 - ], - [ - -73.885284, - -41.815559 - ] - ] - ], - [ - [ - [ - -73.413071, - -52.878616 - ], - [ - -73.752228, - -52.893333 - ], - [ - -73.391113, - -52.953613 - ], - [ - -73.413071, - -52.878616 - ] - ] - ], - [ - [ - [ - -73.416672, - -42.556395 - ], - [ - -73.535843, - -42.385002 - ], - [ - -73.654175, - -42.387505 - ], - [ - -73.416672, - -42.556395 - ] - ] - ], - [ - [ - [ - -73.463898, - -53.475006 - ], - [ - -73.801956, - -53.429169 - ], - [ - -73.494736, - -53.574448 - ], - [ - -73.463898, - -53.475006 - ] - ] - ], - [ - [ - [ - -73.74556, - -44.743614 - ], - [ - -73.589737, - -44.709724 - ], - [ - -73.688614, - -44.544449 - ], - [ - -73.74556, - -44.743614 - ] - ] - ], - [ - [ - [ - -73.597504, - -42.618057 - ], - [ - -73.618895, - -42.570282 - ], - [ - -73.751404, - -42.617226 - ], - [ - -73.597504, - -42.618057 - ] - ] - ], - [ - [ - [ - -73.651123, - -44.844452 - ], - [ - -73.608337, - -44.741112 - ], - [ - -73.748901, - -44.756393 - ], - [ - -73.651123, - -44.844452 - ] - ] - ], - [ - [ - [ - -73.646118, - -44.131393 - ], - [ - -73.634445, - -44.010002 - ], - [ - -73.728622, - -43.938896 - ], - [ - -73.646118, - -44.131393 - ] - ] - ], - [ - [ - [ - -73.645569, - -45.759445 - ], - [ - -73.700562, - -45.443893 - ], - [ - -73.781952, - -45.67028 - ], - [ - -73.645569, - -45.759445 - ] - ] - ], - [ - [ - [ - -73.688904, - -44.439728 - ], - [ - -73.652786, - -44.352783 - ], - [ - -73.788071, - -44.38195 - ], - [ - -73.688904, - -44.439728 - ] - ] - ], - [ - [ - [ - -73.711395, - -44.304169 - ], - [ - -73.665558, - -44.251396 - ], - [ - -73.761124, - -44.253891 - ], - [ - -73.711395, - -44.304169 - ] - ] - ], - [ - [ - [ - -73.681122, - -46.028336 - ], - [ - -73.778061, - -45.905006 - ], - [ - -73.819458, - -45.998894 - ], - [ - -73.681122, - -46.028336 - ] - ] - ], - [ - [ - [ - -73.765015, - -46.211113 - ], - [ - -73.683334, - -46.076668 - ], - [ - -73.912231, - -46.020279 - ], - [ - -73.765015, - -46.211113 - ] - ] - ], - [ - [ - [ - -73.831955, - -53.590279 - ], - [ - -73.6875, - -53.521666 - ], - [ - -73.857224, - -53.453339 - ], - [ - -73.831955, - -53.590279 - ] - ] - ], - [ - [ - [ - -73.694733, - -52.241669 - ], - [ - -73.768066, - -52.068335 - ], - [ - -74.095291, - -51.922783 - ], - [ - -73.694733, - -52.241669 - ] - ] - ], - [ - [ - [ - -73.703903, - -45.842781 - ], - [ - -73.884171, - -45.858612 - ], - [ - -73.928894, - -45.975838 - ], - [ - -73.703903, - -45.842781 - ] - ] - ], - [ - [ - [ - -73.84668, - -45.002785 - ], - [ - -74.23584, - -45.160278 - ], - [ - -73.7314, - -45.284447 - ], - [ - -73.84668, - -45.002785 - ] - ] - ], - [ - [ - [ - -73.80751, - -52.698334 - ], - [ - -73.742233, - -52.403618 - ], - [ - -74.077789, - -52.606674 - ], - [ - -73.80751, - -52.698334 - ] - ] - ], - [ - [ - [ - -73.85556, - -43.765839 - ], - [ - -74.172501, - -43.877785 - ], - [ - -73.765015, - -43.893333 - ], - [ - -73.85556, - -43.765839 - ] - ] - ], - [ - [ - [ - -73.781403, - -51.371391 - ], - [ - -73.791397, - -51.261116 - ], - [ - -73.914459, - -51.300003 - ], - [ - -73.781403, - -51.371391 - ] - ] - ], - [ - [ - [ - -73.976669, - -45.267502 - ], - [ - -74.166122, - -45.250557 - ], - [ - -73.783066, - -45.335281 - ], - [ - -73.976669, - -45.267502 - ] - ] - ], - [ - [ - [ - -73.844177, - -44.464447 - ], - [ - -73.78862, - -44.422501 - ], - [ - -73.898895, - -44.371674 - ], - [ - -73.844177, - -44.464447 - ] - ] - ], - [ - [ - [ - -73.80806, - -52.397224 - ], - [ - -73.789169, - -52.264168 - ], - [ - -74.092789, - -52.161949 - ], - [ - -73.80806, - -52.397224 - ] - ] - ], - [ - [ - [ - -73.796677, - -51.819168 - ], - [ - -73.793335, - -51.728615 - ], - [ - -73.940002, - -51.663063 - ], - [ - -73.796677, - -51.819168 - ] - ] - ], - [ - [ - [ - -73.793625, - -44.965004 - ], - [ - -73.917786, - -44.78167 - ], - [ - -73.924179, - -44.892227 - ], - [ - -73.793625, - -44.965004 - ] - ] - ], - [ - [ - [ - -73.924454, - -47.886116 - ], - [ - -74.498901, - -47.923058 - ], - [ - -73.799728, - -47.887779 - ], - [ - -73.924454, - -47.886116 - ] - ] - ], - [ - [ - [ - -73.846954, - -44.338058 - ], - [ - -73.802231, - -44.270836 - ], - [ - -73.973892, - -44.281952 - ], - [ - -73.846954, - -44.338058 - ] - ] - ], - [ - [ - [ - -74.017792, - -45.43306 - ], - [ - -74.14473, - -45.576393 - ], - [ - -73.815842, - -45.475838 - ], - [ - -74.017792, - -45.43306 - ] - ] - ], - [ - [ - [ - -73.896957, - -45.434174 - ], - [ - -73.825562, - -45.373062 - ], - [ - -74.02417, - -45.400284 - ], - [ - -73.896957, - -45.434174 - ] - ] - ], - [ - [ - [ - -73.852783, - -44.195839 - ], - [ - -73.922226, - -44.098892 - ], - [ - -74.011124, - -44.141945 - ], - [ - -73.852783, - -44.195839 - ] - ] - ], - [ - [ - [ - -74.209732, - -44.784447 - ], - [ - -73.873337, - -44.686951 - ], - [ - -74.409729, - -44.634445 - ], - [ - -74.209732, - -44.784447 - ] - ] - ], - [ - [ - [ - -73.986954, - -45.724724 - ], - [ - -73.896118, - -45.62056 - ], - [ - -74.011948, - -45.537506 - ], - [ - -74.110001, - -45.592781 - ], - [ - -73.986954, - -45.724724 - ] - ] - ], - [ - [ - [ - -73.929459, - -44.448059 - ], - [ - -73.930847, - -44.35556 - ], - [ - -74.10556, - -44.322784 - ], - [ - -73.929459, - -44.448059 - ] - ] - ], - [ - [ - [ - -74.194168, - -52.136673 - ], - [ - -74.418625, - -52.139725 - ], - [ - -73.935013, - -52.337227 - ], - [ - -74.194168, - -52.136673 - ] - ] - ], - [ - [ - [ - -74.055008, - -51.553612 - ], - [ - -74.238068, - -51.701393 - ], - [ - -73.940002, - -51.785835 - ], - [ - -74.055008, - -51.553612 - ] - ] - ], - [ - [ - [ - -74.026123, - -44.856949 - ], - [ - -73.957779, - -44.783615 - ], - [ - -74.186676, - -44.8125 - ], - [ - -74.026123, - -44.856949 - ] - ] - ], - [ - [ - [ - -74.01973, - -44.556671 - ], - [ - -73.959457, - -44.48278 - ], - [ - -74.129456, - -44.448334 - ], - [ - -74.01973, - -44.556671 - ] - ] - ], - [ - [ - [ - -74.045837, - -51.379173 - ], - [ - -73.968063, - -51.244171 - ], - [ - -74.097229, - -51.225838 - ], - [ - -74.045837, - -51.379173 - ] - ] - ], - [ - [ - [ - -74.154449, - -47.172501 - ], - [ - -73.975281, - -47.047501 - ], - [ - -74.183624, - -47.025284 - ], - [ - -74.154449, - -47.172501 - ] - ] - ], - [ - [ - [ - -73.980286, - -44.984451 - ], - [ - -74.168335, - -44.866669 - ], - [ - -74.366669, - -45.010559 - ], - [ - -73.980286, - -44.984451 - ] - ] - ], - [ - [ - [ - -74.011673, - -44.284172 - ], - [ - -74.06723, - -44.151947 - ], - [ - -74.126114, - -44.207779 - ], - [ - -74.011673, - -44.284172 - ] - ] - ], - [ - [ - [ - -74.015015, - -45.917778 - ], - [ - -74.03862, - -45.736389 - ], - [ - -74.106949, - -45.788338 - ], - [ - -74.015015, - -45.917778 - ] - ] - ], - [ - [ - [ - -74.049179, - -48.446114 - ], - [ - -74.248901, - -48.376396 - ], - [ - -74.074173, - -48.491112 - ], - [ - -74.049179, - -48.446114 - ] - ] - ], - [ - [ - [ - -74.191681, - -53.331947 - ], - [ - -74.059448, - -53.243057 - ], - [ - -74.243622, - -53.299728 - ], - [ - -74.191681, - -53.331947 - ] - ] - ], - [ - [ - [ - -74.14473, - -51.951393 - ], - [ - -74.092224, - -51.875 - ], - [ - -74.50528, - -51.714172 - ], - [ - -74.14473, - -51.951393 - ] - ] - ], - [ - [ - [ - -74.117783, - -51.454445 - ], - [ - -74.171112, - -51.285835 - ], - [ - -74.261398, - -51.30056 - ], - [ - -74.117783, - -51.454445 - ] - ] - ], - [ - [ - [ - -74.295288, - -44.577225 - ], - [ - -74.139175, - -44.55056 - ], - [ - -74.368347, - -44.532784 - ], - [ - -74.295288, - -44.577225 - ] - ] - ], - [ - [ - [ - -74.263336, - -51.24778 - ], - [ - -74.191391, - -51.195557 - ], - [ - -74.322235, - -50.919724 - ], - [ - -74.263336, - -51.24778 - ] - ] - ], - [ - [ - [ - -74.363892, - -50.491394 - ], - [ - -74.670013, - -50.479446 - ], - [ - -74.423615, - -50.523613 - ], - [ - -74.515015, - -50.733063 - ], - [ - -74.193344, - -50.848335 - ], - [ - -74.363892, - -50.491394 - ] - ] - ], - [ - [ - [ - -74.293335, - -44.031952 - ], - [ - -74.204727, - -44.019173 - ], - [ - -74.319458, - -44.017227 - ], - [ - -74.293335, - -44.031952 - ] - ] - ], - [ - [ - [ - -74.458618, - -45.779167 - ], - [ - -74.210007, - -45.636116 - ], - [ - -74.390289, - -45.443893 - ], - [ - -74.458618, - -45.779167 - ] - ] - ], - [ - [ - [ - -74.412506, - -44.512779 - ], - [ - -74.217789, - -44.468056 - ], - [ - -74.547501, - -44.468056 - ], - [ - -74.412506, - -44.512779 - ] - ] - ], - [ - [ - [ - -74.320007, - -44.195007 - ], - [ - -74.259171, - -44.159447 - ], - [ - -74.385559, - -44.154449 - ], - [ - -74.320007, - -44.195007 - ] - ] - ], - [ - [ - [ - -74.26445, - -48.466949 - ], - [ - -74.306395, - -48.286667 - ], - [ - -74.491669, - -48.351112 - ], - [ - -74.26445, - -48.466949 - ] - ] - ], - [ - [ - [ - -74.308899, - -45.30584 - ], - [ - -74.270569, - -45.214172 - ], - [ - -74.39473, - -45.154449 - ], - [ - -74.308899, - -45.30584 - ] - ] - ], - [ - [ - [ - -74.291672, - -44.306395 - ], - [ - -74.327225, - -44.246391 - ], - [ - -74.421402, - -44.262779 - ], - [ - -74.291672, - -44.306395 - ] - ] - ], - [ - [ - [ - -74.294174, - -49.560562 - ], - [ - -74.435837, - -49.427504 - ], - [ - -74.419449, - -49.627785 - ], - [ - -74.294174, - -49.560562 - ] - ] - ], - [ - [ - [ - -74.411392, - -48.530006 - ], - [ - -74.301956, - -48.475838 - ], - [ - -74.497787, - -48.39917 - ], - [ - -74.411392, - -48.530006 - ] - ] - ], - [ - [ - [ - -74.455292, - -47.176949 - ], - [ - -74.313065, - -47.062782 - ], - [ - -74.484177, - -47.083336 - ], - [ - -74.455292, - -47.176949 - ] - ] - ], - [ - [ - [ - -74.3414, - -45.406113 - ], - [ - -74.387222, - -45.288063 - ], - [ - -74.527786, - -45.305283 - ], - [ - -74.3414, - -45.406113 - ] - ] - ], - [ - [ - [ - -74.360565, - -52.077225 - ], - [ - -74.354172, - -52.056114 - ], - [ - -74.405838, - -52.047226 - ], - [ - -74.360565, - -52.077225 - ] - ] - ], - [ - [ - [ - -74.376953, - -44.859451 - ], - [ - -74.429459, - -44.719452 - ], - [ - -74.526398, - -44.741951 - ], - [ - -74.376953, - -44.859451 - ] - ] - ], - [ - [ - [ - -74.396666, - -50.860558 - ], - [ - -74.964737, - -50.965836 - ], - [ - -74.720566, - -51.111946 - ], - [ - -74.482224, - -50.99778 - ], - [ - -74.405563, - -51.089729 - ], - [ - -74.396666, - -50.860558 - ] - ] - ], - [ - [ - [ - -74.411667, - -51.208336 - ], - [ - -74.466675, - -51.028336 - ], - [ - -74.603058, - -51.077507 - ], - [ - -74.411667, - -51.208336 - ] - ] - ], - [ - [ - [ - -74.608337, - -48.455833 - ], - [ - -74.735001, - -48.123062 - ], - [ - -74.708618, - -48.45417 - ], - [ - -75.028624, - -48.495003 - ], - [ - -74.611115, - -48.696671 - ], - [ - -75.051392, - -48.79834 - ], - [ - -74.827225, - -49.09584 - ], - [ - -74.91806, - -49.336113 - ], - [ - -75.471115, - -49.331673 - ], - [ - -75.017227, - -49.899445 - ], - [ - -75.005005, - -49.508057 - ], - [ - -74.646393, - -49.35556 - ], - [ - -74.920013, - -49.68306 - ], - [ - -74.771118, - -50.055 - ], - [ - -74.412781, - -49.732506 - ], - [ - -74.608337, - -48.455833 - ] - ] - ], - [ - [ - [ - -74.4189, - -48.304726 - ], - [ - -74.599731, - -48.151672 - ], - [ - -74.537231, - -48.333893 - ], - [ - -74.4189, - -48.304726 - ] - ] - ], - [ - [ - [ - -74.504456, - -45.539452 - ], - [ - -74.438065, - -45.423889 - ], - [ - -74.570007, - -45.529167 - ], - [ - -74.504456, - -45.539452 - ] - ] - ], - [ - [ - [ - -74.455566, - -44.693893 - ], - [ - -74.578339, - -44.620003 - ], - [ - -74.673615, - -44.668617 - ], - [ - -74.455566, - -44.693893 - ] - ] - ], - [ - [ - [ - -74.717224, - -52.087227 - ], - [ - -74.487793, - -51.95723 - ], - [ - -74.551956, - -51.927504 - ], - [ - -74.717224, - -52.087227 - ] - ] - ], - [ - [ - [ - -74.536118, - -51.279167 - ], - [ - -74.7939, - -51.20945 - ], - [ - -75.021118, - -51.468338 - ], - [ - -74.536118, - -51.279167 - ] - ] - ], - [ - [ - [ - -74.738342, - -50.5 - ], - [ - -74.543625, - -50.381393 - ], - [ - -74.753067, - -50.388336 - ], - [ - -74.738342, - -50.5 - ] - ] - ], - [ - [ - [ - -74.620285, - -45.75695 - ], - [ - -74.548615, - -45.577507 - ], - [ - -74.68251, - -45.636948 - ], - [ - -74.620285, - -45.75695 - ] - ] - ], - [ - [ - [ - -74.651398, - -50.588615 - ], - [ - -74.58168, - -50.532227 - ], - [ - -74.685837, - -50.521666 - ], - [ - -74.651398, - -50.588615 - ] - ] - ], - [ - [ - [ - -74.762512, - -52.188339 - ], - [ - -74.596115, - -52.073616 - ], - [ - -74.785278, - -52.121391 - ], - [ - -74.762512, - -52.188339 - ] - ] - ], - [ - [ - [ - -74.863617, - -52.139168 - ], - [ - -74.599167, - -51.840561 - ], - [ - -74.746948, - -51.833893 - ], - [ - -74.863617, - -52.139168 - ] - ] - ], - [ - [ - [ - -74.739456, - -52.316948 - ], - [ - -74.62001, - -52.207779 - ], - [ - -74.820557, - -52.229446 - ], - [ - -74.739456, - -52.316948 - ] - ] - ], - [ - [ - [ - -74.646118, - -43.612503 - ], - [ - -74.862503, - -43.5625 - ], - [ - -74.7939, - -43.647781 - ], - [ - -74.646118, - -43.612503 - ] - ] - ], - [ - [ - [ - -74.689178, - -50.890839 - ], - [ - -74.748901, - -50.70195 - ], - [ - -74.954727, - -50.731117 - ], - [ - -74.689178, - -50.890839 - ] - ] - ], - [ - [ - [ - -74.715561, - -45.851952 - ], - [ - -75.101959, - -45.874168 - ], - [ - -75.083069, - -46.088615 - ], - [ - -74.715561, - -45.851952 - ] - ] - ], - [ - [ - [ - -74.777237, - -44.6875 - ], - [ - -74.72612, - -44.597778 - ], - [ - -74.804169, - -44.549171 - ], - [ - -74.777237, - -44.6875 - ] - ] - ], - [ - [ - [ - -74.752792, - -45.707779 - ], - [ - -74.869171, - -45.605835 - ], - [ - -74.876678, - -45.649727 - ], - [ - -74.752792, - -45.707779 - ] - ] - ], - [ - [ - [ - -74.781113, - -51.821671 - ], - [ - -74.93251, - -51.643616 - ], - [ - -74.969727, - -52.118057 - ], - [ - -74.781113, - -51.821671 - ] - ] - ], - [ - [ - [ - -75.048615, - -50.166946 - ], - [ - -75.399733, - -50.036667 - ], - [ - -75.143616, - -50.246391 - ], - [ - -75.458618, - -50.364174 - ], - [ - -74.789734, - -50.149445 - ], - [ - -75.048615, - -50.166946 - ] - ] - ], - [ - [ - [ - -74.805283, - -47.898056 - ], - [ - -75.266678, - -48.031952 - ], - [ - -74.869736, - -48.069168 - ], - [ - -74.805283, - -47.898056 - ] - ] - ], - [ - [ - [ - -74.979446, - -48.7425 - ], - [ - -74.825562, - -48.661667 - ], - [ - -74.991394, - -48.648895 - ], - [ - -74.979446, - -48.7425 - ] - ] - ], - [ - [ - [ - -74.99556, - -51.177223 - ], - [ - -74.857224, - -51.135284 - ], - [ - -74.940002, - -51.098618 - ], - [ - -74.99556, - -51.177223 - ] - ] - ], - [ - [ - [ - -74.920563, - -49.295006 - ], - [ - -74.972504, - -49.031113 - ], - [ - -75.24028, - -49.150284 - ], - [ - -74.920563, - -49.295006 - ] - ] - ], - [ - [ - [ - -74.925003, - -48.155838 - ], - [ - -75.256958, - -48.073334 - ], - [ - -75.044174, - -48.443611 - ], - [ - -74.925003, - -48.155838 - ] - ] - ], - [ - [ - [ - -74.954727, - -47.783058 - ], - [ - -74.951401, - -47.70639 - ], - [ - -75.075287, - -47.69445 - ], - [ - -74.954727, - -47.783058 - ] - ] - ], - [ - [ - [ - -75.089737, - -51.901672 - ], - [ - -74.972504, - -51.723618 - ], - [ - -75.070847, - -51.74028 - ], - [ - -75.089737, - -51.901672 - ] - ] - ], - [ - [ - [ - -74.993895, - -50.813896 - ], - [ - -74.979736, - -50.664452 - ], - [ - -75.070847, - -50.652229 - ], - [ - -74.993895, - -50.813896 - ] - ] - ], - [ - [ - [ - -75.00029, - -51.395561 - ], - [ - -75.205292, - -51.299171 - ], - [ - -75.310287, - -51.634171 - ], - [ - -75.00029, - -51.395561 - ] - ] - ], - [ - [ - [ - -75.069458, - -44.92556 - ], - [ - -75.023056, - -44.84639 - ], - [ - -75.111679, - -44.778336 - ], - [ - -75.069458, - -44.92556 - ] - ] - ], - [ - [ - [ - -75.12056, - -48.833618 - ], - [ - -75.071396, - -48.634445 - ], - [ - -75.248337, - -48.771393 - ], - [ - -75.12056, - -48.833618 - ] - ] - ], - [ - [ - [ - -75.176117, - -48.999725 - ], - [ - -75.08223, - -48.889168 - ], - [ - -75.3125, - -48.800003 - ], - [ - -75.176117, - -48.999725 - ] - ] - ], - [ - [ - [ - -75.09639, - -50.516396 - ], - [ - -75.515015, - -50.663063 - ], - [ - -75.288895, - -50.785835 - ], - [ - -75.09639, - -50.516396 - ] - ] - ], - [ - [ - [ - -75.131958, - -47.848892 - ], - [ - -75.134445, - -47.698334 - ], - [ - -75.303619, - -47.773338 - ], - [ - -75.131958, - -47.848892 - ] - ] - ], - [ - [ - [ - -75.306946, - -49.671951 - ], - [ - -75.591949, - -49.78389 - ], - [ - -75.173889, - -49.903061 - ], - [ - -75.306946, - -49.671951 - ] - ] - ], - [ - [ - [ - -75.239456, - -48.270561 - ], - [ - -75.582504, - -48.08667 - ], - [ - -75.234451, - -48.711395 - ], - [ - -75.239456, - -48.270561 - ] - ] - ], - [ - [ - [ - -75.281403, - -48.890007 - ], - [ - -75.656677, - -48.938896 - ], - [ - -75.5, - -49.046394 - ], - [ - -75.32251, - -48.954445 - ], - [ - -75.257782, - -49.081947 - ], - [ - -75.281403, - -48.890007 - ] - ] - ], - [ - [ - [ - -75.281677, - -48.713341 - ], - [ - -75.348068, - -48.635559 - ], - [ - -75.654724, - -48.768059 - ], - [ - -75.281677, - -48.713341 - ] - ] - ], - [ - [ - [ - -75.285843, - -49.100281 - ], - [ - -75.358902, - -48.985558 - ], - [ - -75.656403, - -49.216949 - ], - [ - -75.285843, - -49.100281 - ] - ] - ], - [ - [ - [ - -75.32251, - -48.604172 - ], - [ - -75.650558, - -48.481949 - ], - [ - -75.60112, - -48.691948 - ], - [ - -75.32251, - -48.604172 - ] - ] - ], - [ - [ - [ - -75.48056, - -49.547226 - ], - [ - -75.484451, - -49.481117 - ], - [ - -75.578903, - -49.464729 - ], - [ - -75.48056, - -49.547226 - ] - ] - ], - [ - [ - [ - -78.772507, - -33.623611 - ], - [ - -78.888336, - -33.580559 - ], - [ - -78.991669, - -33.66806 - ], - [ - -78.772507, - -33.623611 - ] - ] - ], - [ - [ - [ - -79.882507, - -26.346947 - ], - [ - -79.869446, - -26.340836 - ], - [ - -79.906952, - -26.34639 - ], - [ - -79.882507, - -26.346947 - ] - ] - ], - [ - [ - [ - -80.07695, - -26.261669 - ], - [ - -80.080566, - -26.251392 - ], - [ - -80.099731, - -26.261391 - ], - [ - -80.07695, - -26.261669 - ] - ] - ], - [ - [ - [ - -80.737793, - -33.779449 - ], - [ - -80.735291, - -33.689444 - ], - [ - -80.774733, - -33.741951 - ], - [ - -80.737793, - -33.779449 - ] - ] - ], - [ - [ - [ - -105.45639, - -26.460556 - ], - [ - -105.474167, - -26.453056 - ], - [ - -105.459457, - -26.464724 - ], - [ - -105.45639, - -26.460556 - ] - ] - ], - [ - [ - [ - -109.241386, - -27.133057 - ], - [ - -109.390839, - -27.066669 - ], - [ - -109.449173, - -27.193058 - ], - [ - -109.241386, - -27.133057 - ] - ] - ] - ] - }, - "name" : "Chile", - "iso2" : "CL", - "iso3" : "CHL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ZL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -81.097229, - 19.308887 - ], - [ - -81.254456, - 19.353886 - ], - [ - -81.401123, - 19.28833 - ], - [ - -81.097229, - 19.308887 - ] - ] - ], - [ - [ - [ - -80.097504, - 19.654163 - ], - [ - -79.966675, - 19.707222 - ], - [ - -80.075836, - 19.697498 - ], - [ - -80.097504, - 19.654163 - ] - ] - ], - [ - [ - [ - -79.866394, - 19.686943 - ], - [ - -79.732788, - 19.748608 - ], - [ - -79.893341, - 19.693333 - ], - [ - -79.866394, - 19.686943 - ] - ] - ] - ] - }, - "name" : "Cayman Islands", - "iso2" : "KY", - "iso3" : "CYM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Zb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 9.687222, - 3.574722 - ], - [ - 9.6425, - 3.578611 - ], - [ - 9.62611, - 3.551111 - ], - [ - 9.687222, - 3.574722 - ] - ] - ], - [ - [ - [ - 15.499008, - 7.526609 - ], - [ - 15.201944, - 8.485832 - ], - [ - 13.957499, - 9.638611 - ], - [ - 14.194769, - 9.98175 - ], - [ - 15.68185, - 9.989649 - ], - [ - 15.061666, - 10.789999 - ], - [ - 15.042597, - 12.078888 - ], - [ - 14.577221, - 12.738609 - ], - [ - 14.500875, - 13.001314 - ], - [ - 14.07472, - 13.081665 - ], - [ - 14.174444, - 12.396666 - ], - [ - 14.645277, - 12.188332 - ], - [ - 14.646387, - 11.575832 - ], - [ - 13.80722, - 11.055832 - ], - [ - 12.796944, - 8.769722 - ], - [ - 12.253887, - 8.408054 - ], - [ - 11.864166, - 7.084722 - ], - [ - 11.340277, - 6.440833 - ], - [ - 10.615, - 7.06861 - ], - [ - 9.795555, - 6.801666 - ], - [ - 8.865276, - 5.841944 - ], - [ - 8.591738, - 4.810932 - ], - [ - 8.504166, - 4.527778 - ], - [ - 8.845833, - 4.638055 - ], - [ - 8.975832, - 4.096666 - ], - [ - 9.7225, - 3.865278 - ], - [ - 9.811764, - 2.343698 - ], - [ - 10.02611, - 2.168056 - ], - [ - 11.339764, - 2.168611 - ], - [ - 12.523611, - 2.283333 - ], - [ - 13.293888, - 2.163611 - ], - [ - 14.564999, - 2.169444 - ], - [ - 16.07222, - 1.654166 - ], - [ - 16.207222, - 2.220833 - ], - [ - 16.103054, - 2.898333 - ], - [ - 14.732777, - 4.623055 - ], - [ - 14.419167, - 6.035277 - ], - [ - 15.499008, - 7.526609 - ] - ] - ] - ] - }, - "name" : "Cameroon", - "iso2" : "CM", - "iso3" : "CMR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Zr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 14.07472, - 13.081665 - ], - [ - 14.500875, - 13.001314 - ], - [ - 14.577221, - 12.738609 - ], - [ - 15.042597, - 12.078888 - ], - [ - 15.061666, - 10.789999 - ], - [ - 15.68185, - 9.989649 - ], - [ - 14.194769, - 9.98175 - ], - [ - 13.957499, - 9.638611 - ], - [ - 15.201944, - 8.485832 - ], - [ - 15.499008, - 7.526609 - ], - [ - 18.588886, - 8.040277 - ], - [ - 19.058792, - 8.578382 - ], - [ - 18.988888, - 8.964167 - ], - [ - 20.371666, - 9.108332 - ], - [ - 21.715553, - 10.290554 - ], - [ - 21.719444, - 10.639444 - ], - [ - 22.866505, - 10.922447 - ], - [ - 22.466942, - 12.621666 - ], - [ - 21.827774, - 12.797499 - ], - [ - 22.294167, - 13.35861 - ], - [ - 22.084442, - 13.779165 - ], - [ - 22.554996, - 14.125555 - ], - [ - 22.384163, - 14.554165 - ], - [ - 22.935833, - 15.11611 - ], - [ - 22.937222, - 15.561943 - ], - [ - 23.999603, - 15.698709 - ], - [ - 24.002747, - 19.499065 - ], - [ - 16.000832, - 23.450554 - ], - [ - 14.997889, - 23.000591 - ], - [ - 15.202499, - 21.495831 - ], - [ - 15.996666, - 20.353054 - ], - [ - 15.489166, - 16.914165 - ], - [ - 13.468887, - 14.461111 - ], - [ - 13.62512, - 13.718338 - ], - [ - 14.07472, - 13.081665 - ] - ] - ] - }, - "name" : "Chad", - "iso2" : "TD", - "iso3" : "TCD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Z71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 43.86055, - -12.356112 - ], - [ - 43.622772, - -12.258335 - ], - [ - 43.66861, - -12.3575 - ], - [ - 43.86055, - -12.356112 - ] - ] - ], - [ - [ - [ - 44.487495, - -12.093056 - ], - [ - 44.206665, - -12.161945 - ], - [ - 44.513611, - -12.38028 - ], - [ - 44.487495, - -12.093056 - ] - ] - ], - [ - [ - [ - 43.459717, - -11.935556 - ], - [ - 43.281387, - -11.379723 - ], - [ - 43.219162, - -11.761112 - ], - [ - 43.459717, - -11.935556 - ] - ] - ] - ] - }, - "name" : "Comoros", - "iso2" : "KM", - "iso3" : "COM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "aL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -78.121399, - 2.500834 - ], - [ - -78.091675, - 2.539446 - ], - [ - -78.127792, - 2.643057 - ], - [ - -78.189178, - 2.640554 - ], - [ - -78.215561, - 2.57778 - ], - [ - -78.121399, - 2.500834 - ] - ] - ], - [ - [ - [ - -77.986389, - 2.542501 - ], - [ - -77.960281, - 2.557222 - ], - [ - -77.948334, - 2.627779 - ], - [ - -77.977509, - 2.651945 - ], - [ - -78.045563, - 2.583055 - ], - [ - -77.986389, - 2.542501 - ] - ] - ], - [ - [ - [ - -77.857513, - 2.573336 - ], - [ - -77.786957, - 2.592779 - ], - [ - -77.921112, - 2.693892 - ], - [ - -77.857513, - 2.573336 - ] - ] - ], - [ - [ - [ - -77.76973, - 2.591391 - ], - [ - -77.749725, - 2.615 - ], - [ - -77.827789, - 2.70389 - ], - [ - -77.884735, - 2.717222 - ], - [ - -77.839737, - 2.64028 - ], - [ - -77.76973, - 2.591391 - ] - ] - ], - [ - [ - [ - -77.568893, - 3.069166 - ], - [ - -77.530563, - 3.209444 - ], - [ - -77.662781, - 3.075834 - ], - [ - -77.568893, - 3.069166 - ] - ] - ], - [ - [ - [ - -77.448334, - 4.074167 - ], - [ - -77.494171, - 4.204168 - ], - [ - -77.535568, - 4.167223 - ], - [ - -77.448334, - 4.074167 - ] - ] - ], - [ - [ - [ - -77.54306, - 4.193335 - ], - [ - -77.319733, - 4.251665 - ], - [ - -77.426117, - 4.334723 - ], - [ - -77.54306, - 4.193335 - ] - ] - ], - [ - [ - [ - -71.324722, - 11.853056 - ], - [ - -71.115845, - 12.10111 - ], - [ - -71.563614, - 12.453611 - ], - [ - -73.284454, - 11.295557 - ], - [ - -74.155014, - 11.331388 - ], - [ - -74.390564, - 10.743055 - ], - [ - -74.592224, - 10.878054 - ], - [ - -74.28862, - 11.002501 - ], - [ - -74.860809, - 11.125486 - ], - [ - -75.26973, - 10.798334 - ], - [ - -75.629456, - 9.453611 - ], - [ - -76.928345, - 8.568335 - ], - [ - -76.75528, - 7.91889 - ], - [ - -77.366669, - 8.675001 - ], - [ - -77.215561, - 7.937223 - ], - [ - -77.573898, - 7.525278 - ], - [ - -77.746674, - 7.722223 - ], - [ - -77.889725, - 7.228891 - ], - [ - -77.340012, - 6.567778 - ], - [ - -77.49028, - 6.190832 - ], - [ - -77.240845, - 5.75139 - ], - [ - -77.532227, - 5.518888 - ], - [ - -77.347778, - 5.240557 - ], - [ - -77.384171, - 4.341944 - ], - [ - -77.239182, - 4.26 - ], - [ - -77.434174, - 4.028334 - ], - [ - -77.028624, - 3.91778 - ], - [ - -77.740845, - 2.604723 - ], - [ - -77.792511, - 2.567499 - ], - [ - -77.867233, - 2.560278 - ], - [ - -77.940002, - 2.655001 - ], - [ - -77.948624, - 2.559446 - ], - [ - -77.986954, - 2.522501 - ], - [ - -78.125565, - 2.486944 - ], - [ - -78.265015, - 2.519167 - ], - [ - -78.343613, - 2.436666 - ], - [ - -78.440567, - 2.509443 - ], - [ - -78.565292, - 2.429167 - ], - [ - -78.584166, - 1.768888 - ], - [ - -79.053345, - 1.628332 - ], - [ - -78.809723, - 1.43778 - ], - [ - -78.591675, - 1.243055 - ], - [ - -77.379456, - 0.384722 - ], - [ - -76.243057, - 0.395555 - ], - [ - -75.285843, - -0.119722 - ], - [ - -74.776947, - -0.204166 - ], - [ - -74.227234, - -1.027777 - ], - [ - -73.556395, - -1.370832 - ], - [ - -72.881958, - -2.506388 - ], - [ - -71.698059, - -2.146944 - ], - [ - -70.288345, - -2.504999 - ], - [ - -70.067505, - -2.755556 - ], - [ - -70.724167, - -3.779722 - ], - [ - -69.956924, - -4.236874 - ], - [ - -69.378067, - -1.338055 - ], - [ - -69.607513, - -0.5175 - ], - [ - -70.05806, - -0.157499 - ], - [ - -70.044174, - 0.590834 - ], - [ - -69.124725, - 0.645002 - ], - [ - -69.270004, - 1.038336 - ], - [ - -69.842224, - 1.072222 - ], - [ - -69.8461, - 1.710455 - ], - [ - -68.153061, - 1.724169 - ], - [ - -68.196396, - 1.977503 - ], - [ - -67.914734, - 1.745279 - ], - [ - -67.424179, - 2.143888 - ], - [ - -67.076675, - 1.173334 - ], - [ - -66.871887, - 1.221643 - ], - [ - -67.192505, - 2.3925 - ], - [ - -67.828339, - 2.825003 - ], - [ - -67.290558, - 3.397501 - ], - [ - -67.859726, - 4.558611 - ], - [ - -67.454453, - 6.193056 - ], - [ - -69.245285, - 6.081388 - ], - [ - -70.119171, - 6.975836 - ], - [ - -72, - 7.018888 - ], - [ - -72.47168, - 7.491945 - ], - [ - -72.325287, - 8.095556 - ], - [ - -72.779724, - 9.080278 - ], - [ - -73.378067, - 9.171389 - ], - [ - -72.493057, - 11.121111 - ], - [ - -72.209351, - 11.250002 - ], - [ - -71.977234, - 11.664999 - ], - [ - -71.324722, - 11.853056 - ] - ], - [ - [ - -78.545288, - 2.416113 - ], - [ - -78.553619, - 2.406668 - ], - [ - -78.550293, - 2.433332 - ], - [ - -78.544174, - 2.432501 - ], - [ - -78.545288, - 2.416113 - ] - ] - ], - [ - [ - [ - -81.710281, - 12.490835 - ], - [ - -81.688339, - 12.591112 - ], - [ - -81.719727, - 12.550001 - ], - [ - -81.710281, - 12.490835 - ] - ] - ], - [ - [ - [ - -81.36557, - 13.323057 - ], - [ - -81.353897, - 13.378611 - ], - [ - -81.38945, - 13.335001 - ], - [ - -81.36557, - 13.323057 - ] - ] - ] - ] - }, - "name" : "Colombia", - "iso2" : "CO", - "iso3" : "COL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ab1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -85.115845, - 10.07361 - ], - [ - -85.109177, - 10.105833 - ], - [ - -85.161957, - 10.122499 - ], - [ - -85.198059, - 10.110554 - ], - [ - -85.176117, - 10.077499 - ], - [ - -85.115845, - 10.07361 - ] - ] - ], - [ - [ - [ - -83.645798, - 10.924847 - ], - [ - -83.915558, - 10.708611 - ], - [ - -85.087784, - 11.009998 - ], - [ - -85.692383, - 11.076061 - ], - [ - -85.911392, - 10.891109 - ], - [ - -85.631958, - 10.626389 - ], - [ - -85.861679, - 10.368332 - ], - [ - -85.664459, - 9.908609 - ], - [ - -85.142227, - 9.589443 - ], - [ - -84.897232, - 9.807499 - ], - [ - -85.228622, - 10.088888 - ], - [ - -85.243057, - 10.204166 - ], - [ - -84.74028, - 9.966665 - ], - [ - -84.61528, - 9.575832 - ], - [ - -83.624176, - 9.035276 - ], - [ - -83.730835, - 8.583055 - ], - [ - -83.291122, - 8.370277 - ], - [ - -83.341675, - 8.726944 - ], - [ - -82.898849, - 8.025669 - ], - [ - -82.710846, - 8.93111 - ], - [ - -82.934723, - 9.471666 - ], - [ - -82.563568, - 9.562876 - ], - [ - -83.645798, - 10.924847 - ] - ] - ] - ] - }, - "name" : "Costa Rica", - "iso2" : "CR", - "iso3" : "CRI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ar1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 22.866505, - 10.922447 - ], - [ - 21.719444, - 10.639444 - ], - [ - 21.715553, - 10.290554 - ], - [ - 20.371666, - 9.108332 - ], - [ - 18.988888, - 8.964167 - ], - [ - 19.058792, - 8.578382 - ], - [ - 18.588886, - 8.040277 - ], - [ - 15.499008, - 7.526609 - ], - [ - 14.419167, - 6.035277 - ], - [ - 14.732777, - 4.623055 - ], - [ - 16.103054, - 2.898333 - ], - [ - 16.207222, - 2.220833 - ], - [ - 16.659721, - 3.533333 - ], - [ - 17.475277, - 3.713055 - ], - [ - 18.624958, - 3.479444 - ], - [ - 18.541943, - 4.335555 - ], - [ - 19.421387, - 5.134166 - ], - [ - 20.585552, - 4.41 - ], - [ - 22.379166, - 4.1275 - ], - [ - 22.895832, - 4.821111 - ], - [ - 23.420277, - 4.59111 - ], - [ - 24.394165, - 5.115555 - ], - [ - 24.734444, - 4.910832 - ], - [ - 25.542221, - 5.381389 - ], - [ - 25.891666, - 5.192499 - ], - [ - 27.455276, - 5.016388 - ], - [ - 27.142776, - 5.771944 - ], - [ - 26.437496, - 6.077777 - ], - [ - 26.404999, - 6.646388 - ], - [ - 25.206944, - 7.497499 - ], - [ - 25.25333, - 7.850555 - ], - [ - 24.192497, - 8.30361 - ], - [ - 24.201111, - 8.686943 - ], - [ - 23.517776, - 8.714167 - ], - [ - 23.669167, - 9.866943 - ], - [ - 22.866505, - 10.922447 - ] - ] - ] - }, - "name" : "Central African Republic", - "iso2" : "CF", - "iso3" : "CAF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "a71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -78.327789, - 20.513613 - ], - [ - -78.34584, - 20.569445 - ], - [ - -78.458344, - 20.605555 - ], - [ - -78.327789, - 20.513613 - ] - ] - ], - [ - [ - [ - -78.381958, - 20.637777 - ], - [ - -78.402786, - 20.675833 - ], - [ - -78.412231, - 20.647223 - ], - [ - -78.381958, - 20.637777 - ] - ] - ], - [ - [ - [ - -78.441681, - 20.710554 - ], - [ - -78.458618, - 20.731668 - ], - [ - -78.547501, - 20.703611 - ], - [ - -78.441681, - 20.710554 - ] - ] - ], - [ - [ - [ - -78.767502, - 20.70611 - ], - [ - -78.763626, - 20.730555 - ], - [ - -78.821945, - 20.756945 - ], - [ - -78.767502, - 20.70611 - ] - ] - ], - [ - [ - [ - -75.487228, - 20.728888 - ], - [ - -75.515015, - 20.791945 - ], - [ - -75.578064, - 20.781111 - ], - [ - -75.487228, - 20.728888 - ] - ] - ], - [ - [ - [ - -78.847504, - 20.771666 - ], - [ - -78.931671, - 20.834166 - ], - [ - -78.965836, - 20.809999 - ], - [ - -78.847504, - 20.771666 - ] - ] - ], - [ - [ - [ - -78.977783, - 20.839445 - ], - [ - -78.969727, - 20.874166 - ], - [ - -79.077515, - 20.893888 - ], - [ - -78.977783, - 20.839445 - ] - ] - ], - [ - [ - [ - -79.084457, - 20.898333 - ], - [ - -79.176682, - 21.008612 - ], - [ - -79.225571, - 21.000555 - ], - [ - -79.084457, - 20.898333 - ] - ] - ], - [ - [ - [ - -79.302231, - 21.064444 - ], - [ - -79.3414, - 21.121111 - ], - [ - -79.384171, - 21.119722 - ], - [ - -79.302231, - 21.064444 - ] - ] - ], - [ - [ - [ - -79.406403, - 21.104723 - ], - [ - -79.402512, - 21.121111 - ], - [ - -79.451126, - 21.122778 - ], - [ - -79.406403, - 21.104723 - ] - ] - ], - [ - [ - [ - -81.530838, - 21.600279 - ], - [ - -81.366959, - 21.711943 - ], - [ - -81.556946, - 21.622778 - ], - [ - -81.530838, - 21.600279 - ] - ] - ], - [ - [ - [ - -82.545288, - 21.571112 - ], - [ - -82.974457, - 21.942778 - ], - [ - -83.089447, - 21.785555 - ], - [ - -82.937225, - 21.58 - ], - [ - -83.193069, - 21.621389 - ], - [ - -82.897232, - 21.432779 - ], - [ - -82.545288, - 21.571112 - ] - ] - ], - [ - [ - [ - -77.915054, - 22.094698 - ], - [ - -77.638336, - 21.953054 - ], - [ - -77.653336, - 22.069723 - ], - [ - -77.915054, - 22.094698 - ] - ] - ], - [ - [ - [ - -77.84639, - 22.10639 - ], - [ - -77.997513, - 22.285276 - ], - [ - -78.044174, - 22.186666 - ], - [ - -77.84639, - 22.10639 - ] - ] - ], - [ - [ - [ - -77.777237, - 22.195002 - ], - [ - -77.850006, - 22.294722 - ], - [ - -77.771666, - 22.168055 - ], - [ - -77.777237, - 22.195002 - ] - ] - ], - [ - [ - [ - -78.118622, - 22.413889 - ], - [ - -78.311401, - 22.403891 - ], - [ - -78.019455, - 22.261946 - ], - [ - -78.118622, - 22.413889 - ] - ] - ], - [ - [ - [ - -78.3414, - 22.533888 - ], - [ - -78.696671, - 22.514723 - ], - [ - -78.425293, - 22.4125 - ], - [ - -78.3414, - 22.533888 - ] - ] - ], - [ - [ - [ - -78.976395, - 22.637499 - ], - [ - -78.968903, - 22.669168 - ], - [ - -79.054459, - 22.665277 - ], - [ - -78.976395, - 22.637499 - ] - ] - ], - [ - [ - [ - -79.323059, - 22.614721 - ], - [ - -79.576126, - 22.809999 - ], - [ - -79.632507, - 22.800001 - ], - [ - -79.323059, - 22.614721 - ] - ] - ], - [ - [ - [ - -79.891953, - 22.928335 - ], - [ - -79.883057, - 22.965277 - ], - [ - -79.958618, - 22.9475 - ], - [ - -79.891953, - 22.928335 - ] - ] - ], - [ - [ - [ - -80.232788, - 22.995001 - ], - [ - -80.349457, - 22.981668 - ], - [ - -80.234177, - 22.956388 - ], - [ - -80.232788, - 22.995001 - ] - ] - ], - [ - [ - [ - -80.049454, - 23.02611 - ], - [ - -80.076675, - 23.074446 - ], - [ - -80.077225, - 23.041945 - ], - [ - -80.049454, - 23.02611 - ] - ] - ], - [ - [ - [ - -80.146393, - 23.070276 - ], - [ - -80.199448, - 23.121946 - ], - [ - -80.224167, - 23.099443 - ], - [ - -80.146393, - 23.070276 - ] - ] - ], - [ - [ - [ - -80.927504, - 23.125555 - ], - [ - -80.973618, - 23.1075 - ], - [ - -80.797226, - 23.150557 - ], - [ - -80.927504, - 23.125555 - ] - ] - ], - [ - [ - [ - -75.085281, - 19.893042 - ], - [ - -74.141403, - 20.252222 - ], - [ - -75.736679, - 20.696943 - ], - [ - -75.70723, - 21.121946 - ], - [ - -76.896118, - 21.306391 - ], - [ - -77.54306, - 21.918612 - ], - [ - -77.341124, - 21.63611 - ], - [ - -80.03334, - 22.951113 - ], - [ - -80.278624, - 22.905279 - ], - [ - -80.544449, - 22.99111 - ], - [ - -80.633057, - 23.098333 - ], - [ - -81.134735, - 23.023054 - ], - [ - -81.285568, - 23.119722 - ], - [ - -81.226959, - 23.161665 - ], - [ - -81.500839, - 23.055555 - ], - [ - -81.580566, - 23.155554 - ], - [ - -82.003891, - 23.186388 - ], - [ - -84.07695, - 22.660555 - ], - [ - -84.338058, - 22.01222 - ], - [ - -84.953339, - 21.859999 - ], - [ - -84.026123, - 21.914999 - ], - [ - -82.763901, - 22.700556 - ], - [ - -81.88501, - 22.680834 - ], - [ - -81.648895, - 22.491388 - ], - [ - -82.163071, - 22.398333 - ], - [ - -81.823059, - 22.183611 - ], - [ - -80.491959, - 22.177221 - ], - [ - -79.987793, - 21.723612 - ], - [ - -78.75029, - 21.639166 - ], - [ - -78.050293, - 20.69972 - ], - [ - -77.236389, - 20.663057 - ], - [ - -77.115845, - 20.365 - ], - [ - -77.722504, - 19.832777 - ], - [ - -75.223724, - 19.901556 - ], - [ - -75.15918, - 19.960695 - ], - [ - -75.13974, - 19.962873 - ], - [ - -75.085281, - 19.893042 - ] - ] - ], - [ - [ - [ - -80.493057, - 23.188055 - ], - [ - -80.558624, - 23.203611 - ], - [ - -80.579727, - 23.176111 - ], - [ - -80.493057, - 23.188055 - ] - ] - ] - ] - }, - "name" : "Cuba", - "iso2" : "CU", - "iso3" : "CUB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "bL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -24.368336, - 14.812222 - ], - [ - -24.381668, - 15.047499 - ], - [ - -24.52528, - 14.92111 - ], - [ - -24.368336, - 14.812222 - ] - ] - ], - [ - [ - [ - -23.446667, - 14.982777 - ], - [ - -23.76667, - 15.253054 - ], - [ - -23.681393, - 14.935555 - ], - [ - -23.446667, - 14.982777 - ] - ] - ], - [ - [ - [ - -22.706112, - 16.036388 - ], - [ - -22.798615, - 16.235275 - ], - [ - -22.957779, - 16.089443 - ], - [ - -22.706112, - 16.036388 - ] - ] - ], - [ - [ - [ - -24.034168, - 16.594166 - ], - [ - -24.432224, - 16.644165 - ], - [ - -24.321392, - 16.482777 - ], - [ - -24.034168, - 16.594166 - ] - ] - ], - [ - [ - [ - -24.926113, - 16.799999 - ], - [ - -24.933056, - 16.921387 - ], - [ - -25.093334, - 16.83083 - ], - [ - -24.926113, - 16.799999 - ] - ] - ], - [ - [ - [ - -25.281391, - 16.91333 - ], - [ - -24.974445, - 17.112778 - ], - [ - -25.33028, - 17.096386 - ], - [ - -25.281391, - 16.91333 - ] - ] - ] - ] - }, - "name" : "Cape Verde", - "iso2" : "CV", - "iso3" : "CPV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "bb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -157.890564, - -21.938053 - ], - [ - -157.921967, - -21.880283 - ], - [ - -157.962799, - -21.904167 - ], - [ - -157.890564, - -21.938053 - ] - ] - ], - [ - [ - [ - -159.741119, - -21.254169 - ], - [ - -159.752502, - -21.193054 - ], - [ - -159.833893, - -21.195831 - ], - [ - -159.741119, - -21.254169 - ] - ] - ], - [ - [ - [ - -157.316437, - -20.188053 - ], - [ - -157.309174, - -20.147781 - ], - [ - -157.332214, - -20.13306 - ], - [ - -157.316437, - -20.188053 - ] - ] - ], - [ - [ - [ - -158.098358, - -20.016113 - ], - [ - -158.08197, - -19.986942 - ], - [ - -158.118591, - -19.973057 - ], - [ - -158.098358, - -20.016113 - ] - ] - ], - [ - [ - [ - -158.27948, - -19.817783 - ], - [ - -158.291382, - -19.833332 - ], - [ - -158.262512, - -19.836666 - ], - [ - -158.27948, - -19.817783 - ] - ] - ], - [ - [ - [ - -157.708649, - -19.853054 - ], - [ - -157.713928, - -19.770283 - ], - [ - -157.741364, - -19.814167 - ], - [ - -157.708649, - -19.853054 - ] - ] - ], - [ - [ - [ - -158.92865, - -19.270283 - ], - [ - -158.951935, - -19.242496 - ], - [ - -158.943909, - -19.27195 - ], - [ - -158.92865, - -19.270283 - ] - ] - ], - [ - [ - [ - -159.78833, - -18.890556 - ], - [ - -159.78421, - -18.841393 - ], - [ - -159.803345, - -18.861389 - ], - [ - -159.78833, - -18.890556 - ] - ] - ], - [ - [ - [ - -163.16333, - -18.089443 - ], - [ - -163.154724, - -18.056667 - ], - [ - -163.170319, - -18.079449 - ], - [ - -163.16333, - -18.089443 - ] - ] - ], - [ - [ - [ - -165.422241, - -11.548334 - ], - [ - -165.414185, - -11.537781 - ], - [ - -165.435028, - -11.5375 - ], - [ - -165.422241, - -11.548334 - ] - ] - ], - [ - [ - [ - -165.82666, - -10.888334 - ], - [ - -165.831146, - -10.876945 - ], - [ - -165.850281, - -10.884169 - ], - [ - -165.82666, - -10.888334 - ] - ] - ], - [ - [ - [ - -161.022827, - -10.431391 - ], - [ - -161.048615, - -10.392778 - ], - [ - -161.043335, - -10.419724 - ], - [ - -161.022827, - -10.431391 - ] - ] - ], - [ - [ - [ - -160.975586, - -10.395555 - ], - [ - -160.973602, - -10.378057 - ], - [ - -161.012512, - -10.352777 - ], - [ - -160.975586, - -10.395555 - ] - ] - ], - [ - [ - [ - -161.084442, - -10.041945 - ], - [ - -161.072266, - -10.008059 - ], - [ - -161.090576, - -10.018333 - ], - [ - -161.084442, - -10.041945 - ] - ] - ], - [ - [ - [ - -157.941681, - -8.982502 - ], - [ - -158.008362, - -8.951389 - ], - [ - -157.97226, - -8.981943 - ], - [ - -157.941681, - -8.982502 - ] - ] - ] - ] - }, - "name" : "Cook Islands", - "iso2" : "CK", - "iso3" : "COK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "br1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 33.652618, - 35.354103 - ], - [ - 32.274162, - 35.043884 - ], - [ - 33.030838, - 34.56255 - ], - [ - 34.083328, - 34.959442 - ], - [ - 33.921387, - 35.272774 - ], - [ - 34.590271, - 35.690277 - ], - [ - 33.652618, - 35.354103 - ] - ] - ] - }, - "name" : "Cyprus", - "iso2" : "CY", - "iso3" : "CYP" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "b71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 11.513887, - 54.82972 - ], - [ - 10.989891, - 54.790848 - ], - [ - 11.85611, - 54.683327 - ], - [ - 11.513887, - 54.82972 - ] - ] - ], - [ - [ - [ - 12.038055, - 54.892494 - ], - [ - 11.708611, - 54.936661 - ], - [ - 11.964443, - 54.561661 - ], - [ - 12.038055, - 54.892494 - ] - ] - ], - [ - [ - [ - 10.432777, - 54.84166 - ], - [ - 10.184166, - 54.97361 - ], - [ - 10.248333, - 54.90416 - ], - [ - 10.432777, - 54.84166 - ] - ] - ], - [ - [ - [ - 12.557499, - 54.964165 - ], - [ - 12.311943, - 55.035271 - ], - [ - 12.115833, - 54.90416 - ], - [ - 12.557499, - 54.964165 - ] - ] - ], - [ - [ - [ - 10.615, - 54.950272 - ], - [ - 10.631943, - 55.043327 - ], - [ - 10.49861, - 55.006386 - ], - [ - 10.615, - 54.950272 - ] - ] - ], - [ - [ - [ - 9.7925, - 55.074997 - ], - [ - 9.630554, - 55.049438 - ], - [ - 10.07111, - 54.87471 - ], - [ - 9.7925, - 55.074997 - ] - ] - ], - [ - [ - [ - 10.756943, - 54.777222 - ], - [ - 10.949165, - 55.16111 - ], - [ - 10.681944, - 54.908607 - ], - [ - 10.756943, - 54.777222 - ] - ] - ], - [ - [ - [ - 15.051666, - 54.994995 - ], - [ - 14.746387, - 55.295555 - ], - [ - 14.679722, - 55.099716 - ], - [ - 15.051666, - 54.994995 - ] - ] - ], - [ - [ - [ - 8.46361, - 55.33416 - ], - [ - 8.458332, - 55.426384 - ], - [ - 8.360277, - 55.457771 - ], - [ - 8.46361, - 55.33416 - ] - ] - ], - [ - [ - [ - 10.745277, - 55.482216 - ], - [ - 10.619165, - 55.619164 - ], - [ - 10.478611, - 55.438049 - ], - [ - 10.309721, - 55.616943 - ], - [ - 9.904999, - 55.505829 - ], - [ - 9.813055, - 55.547493 - ], - [ - 9.74861, - 55.540276 - ], - [ - 9.675554, - 55.499161 - ], - [ - 9.810833, - 55.436661 - ], - [ - 9.896944, - 55.279716 - ], - [ - 10.005833, - 55.193329 - ], - [ - 10.11861, - 55.178886 - ], - [ - 10.152777, - 55.084442 - ], - [ - 10.497776, - 55.028885 - ], - [ - 10.782776, - 55.122498 - ], - [ - 10.745277, - 55.482216 - ] - ] - ], - [ - [ - [ - 12.579443, - 55.551384 - ], - [ - 12.67861, - 55.590553 - ], - [ - 12.60611, - 55.696106 - ], - [ - 12.579443, - 55.551384 - ] - ] - ], - [ - [ - [ - 10.630554, - 55.865555 - ], - [ - 10.523611, - 55.981384 - ], - [ - 10.527498, - 55.765831 - ], - [ - 10.630554, - 55.865555 - ] - ] - ], - [ - [ - [ - 12.567221, - 55.992218 - ], - [ - 11.859444, - 55.96666 - ], - [ - 12.05722, - 55.653328 - ], - [ - 11.763887, - 55.964722 - ], - [ - 10.87361, - 55.732498 - ], - [ - 11.246666, - 55.199715 - ], - [ - 12.071943, - 54.968605 - ], - [ - 12.461666, - 55.286385 - ], - [ - 12.190832, - 55.478607 - ], - [ - 12.567221, - 55.992218 - ] - ] - ], - [ - [ - [ - 11.565832, - 56.67083 - ], - [ - 11.648054, - 56.723328 - ], - [ - 11.503332, - 56.707771 - ], - [ - 11.565832, - 56.67083 - ] - ] - ], - [ - [ - [ - 8.924721, - 56.91861 - ], - [ - 8.509722, - 56.741661 - ], - [ - 8.766943, - 56.692215 - ], - [ - 8.924721, - 56.91861 - ] - ] - ], - [ - [ - [ - 9.974274, - 57.071732 - ], - [ - 9.309444, - 57.001938 - ], - [ - 9.1782, - 56.916031 - ], - [ - 9.321665, - 56.525551 - ], - [ - 9.075567, - 56.807449 - ], - [ - 8.728333, - 56.482216 - ], - [ - 8.165277, - 56.653328 - ], - [ - 8.108332, - 56.017776 - ], - [ - 8.397221, - 55.897499 - ], - [ - 8.127222, - 55.98555 - ], - [ - 8.087221, - 55.548882 - ], - [ - 8.623888, - 55.427498 - ], - [ - 8.664545, - 54.913094 - ], - [ - 9.445358, - 54.825401 - ], - [ - 9.768055, - 54.891106 - ], - [ - 9.459166, - 55.123886 - ], - [ - 9.68861, - 55.196938 - ], - [ - 9.588333, - 55.421661 - ], - [ - 9.704166, - 55.531105 - ], - [ - 9.819166, - 55.604721 - ], - [ - 9.549999, - 55.705826 - ], - [ - 9.992777, - 55.704994 - ], - [ - 10.24679, - 56.178551 - ], - [ - 10.963055, - 56.439438 - ], - [ - 9.866388, - 56.650276 - ], - [ - 10.305277, - 56.748055 - ], - [ - 10.311891, - 56.981304 - ], - [ - 9.974274, - 57.071732 - ] - ] - ], - [ - [ - [ - 11.195833, - 57.310829 - ], - [ - 10.854443, - 57.263054 - ], - [ - 10.997499, - 57.223328 - ], - [ - 11.195833, - 57.310829 - ] - ] - ], - [ - [ - [ - 10.432499, - 57.592216 - ], - [ - 10.645953, - 57.736267 - ], - [ - 8.617222, - 57.121666 - ], - [ - 8.240276, - 56.707222 - ], - [ - 8.554998, - 56.582497 - ], - [ - 8.591389, - 56.686104 - ], - [ - 8.415797, - 56.678127 - ], - [ - 8.670832, - 56.945274 - ], - [ - 9.115549, - 57.052773 - ], - [ - 9.243889, - 56.995552 - ], - [ - 10.006666, - 57.089989 - ], - [ - 10.336616, - 56.991665 - ], - [ - 10.432499, - 57.592216 - ] - ] - ] - ] - }, - "name" : "Denmark", - "iso2" : "DK", - "iso3" : "DNK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "cL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 43.249222, - 11.469534 - ], - [ - 42.866806, - 11.585428 - ], - [ - 42.508606, - 11.567221 - ], - [ - 43.413887, - 12.056944 - ], - [ - 43.121384, - 12.708332 - ], - [ - 42.399719, - 12.469721 - ], - [ - 41.828606, - 11.74 - ], - [ - 41.789719, - 11.008055 - ], - [ - 42.944092, - 11.002438 - ], - [ - 43.249222, - 11.469534 - ] - ] - ] - }, - "name" : "Djibouti", - "iso2" : "DJ", - "iso3" : "DJI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "cb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -61.363617, - 15.198055 - ], - [ - -61.253334, - 15.461388 - ], - [ - -61.452225, - 15.631943 - ], - [ - -61.363617, - 15.198055 - ] - ] - ] - }, - "name" : "Dominica", - "iso2" : "DM", - "iso3" : "DMA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "cr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -71.532227, - 17.540276 - ], - [ - -71.463058, - 17.581944 - ], - [ - -71.522232, - 17.615276 - ], - [ - -71.532227, - 17.540276 - ] - ] - ], - [ - [ - [ - -68.574448, - 18.129444 - ], - [ - -68.78389, - 18.195 - ], - [ - -68.731949, - 18.119999 - ], - [ - -68.574448, - 18.129444 - ] - ] - ], - [ - [ - [ - -70.783615, - 19.846664 - ], - [ - -71.754181, - 19.70583 - ], - [ - -71.715836, - 18.749722 - ], - [ - -72.003067, - 18.60083 - ], - [ - -71.767868, - 18.038502 - ], - [ - -71.422501, - 17.601944 - ], - [ - -71.079727, - 18.301109 - ], - [ - -70.690002, - 18.433887 - ], - [ - -70.510834, - 18.194721 - ], - [ - -69.881668, - 18.469444 - ], - [ - -68.449722, - 18.355831 - ], - [ - -68.325562, - 18.616665 - ], - [ - -68.729172, - 18.952774 - ], - [ - -69.631668, - 19.101665 - ], - [ - -69.22168, - 19.362221 - ], - [ - -69.753616, - 19.289444 - ], - [ - -69.936401, - 19.671108 - ], - [ - -70.783615, - 19.846664 - ] - ] - ] - ] - }, - "name" : "Dominican Republic", - "iso2" : "DO", - "iso3" : "DOM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "c71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -80.193344, - -3.034721 - ], - [ - -79.903061, - -2.719721 - ], - [ - -80.20668, - -2.724167 - ], - [ - -80.193344, - -3.034721 - ] - ] - ], - [ - [ - [ - -79.838623, - -2.641945 - ], - [ - -79.856674, - -2.466667 - ], - [ - -79.886948, - -2.626944 - ], - [ - -79.838623, - -2.641945 - ] - ] - ], - [ - [ - [ - -89.621124, - -1.406666 - ], - [ - -89.648346, - -1.343889 - ], - [ - -89.751953, - -1.360832 - ], - [ - -89.621124, - -1.406666 - ] - ] - ], - [ - [ - [ - -90.434448, - -1.355278 - ], - [ - -90.365845, - -1.269167 - ], - [ - -90.481674, - -1.219166 - ], - [ - -90.434448, - -1.355278 - ] - ] - ], - [ - [ - [ - -90.043335, - -0.838888 - ], - [ - -90.039734, - -0.809444 - ], - [ - -90.08223, - -0.801111 - ], - [ - -90.043335, - -0.838888 - ] - ] - ], - [ - [ - [ - -89.443619, - -0.936666 - ], - [ - -89.258621, - -0.6875 - ], - [ - -89.629456, - -0.927221 - ], - [ - -89.443619, - -0.936666 - ] - ] - ], - [ - [ - [ - -90.260559, - -0.75111 - ], - [ - -90.190567, - -0.542778 - ], - [ - -90.535278, - -0.583889 - ], - [ - -90.260559, - -0.75111 - ] - ] - ], - [ - [ - [ - -91.498901, - -0.496111 - ], - [ - -91.471115, - -0.248056 - ], - [ - -91.663895, - -0.316111 - ], - [ - -91.498901, - -0.496111 - ] - ] - ], - [ - [ - [ - -90.547501, - -0.305 - ], - [ - -90.793335, - -0.149443 - ], - [ - -90.874451, - -0.27 - ], - [ - -90.547501, - -0.305 - ] - ] - ], - [ - [ - [ - -91.218903, - -0.01111 - ], - [ - -91.605835, - -0.004999 - ], - [ - -91.080566, - -0.587221 - ], - [ - -91.376114, - -1.026667 - ], - [ - -90.810837, - -0.7325 - ], - [ - -91.218903, - -0.01111 - ] - ] - ], - [ - [ - [ - -90.459166, - 0.26639 - ], - [ - -90.40834, - 0.326944 - ], - [ - -90.532501, - 0.346666 - ], - [ - -90.459166, - 0.26639 - ] - ] - ], - [ - [ - [ - -90.751114, - 0.547503 - ], - [ - -90.792236, - 0.651667 - ], - [ - -90.799728, - 0.563334 - ], - [ - -90.751114, - 0.547503 - ] - ] - ], - [ - [ - [ - -75.285843, - -0.119722 - ], - [ - -76.243057, - 0.395555 - ], - [ - -77.379456, - 0.384722 - ], - [ - -78.591675, - 1.243055 - ], - [ - -78.809723, - 1.43778 - ], - [ - -80.059723, - 0.828611 - ], - [ - -80.068344, - 0.06278 - ], - [ - -80.501953, - -0.3675 - ], - [ - -80.264725, - -0.627222 - ], - [ - -80.911118, - -1.031111 - ], - [ - -80.890015, - -2.320555 - ], - [ - -80.256393, - -2.736389 - ], - [ - -79.763626, - -2.009167 - ], - [ - -79.84584, - -2.376389 - ], - [ - -79.727509, - -2.602777 - ], - [ - -79.948059, - -3.198334 - ], - [ - -80.340424, - -3.380516 - ], - [ - -80.153336, - -3.884228 - ], - [ - -80.467224, - -3.986944 - ], - [ - -80.467789, - -4.43889 - ], - [ - -79.649733, - -4.432777 - ], - [ - -79.054825, - -5.009132 - ], - [ - -78.70903, - -4.584787 - ], - [ - -78.337509, - -3.422777 - ], - [ - -76.660629, - -2.572134 - ], - [ - -75.559174, - -1.534166 - ], - [ - -75.21608, - -0.965336 - ], - [ - -75.62796, - -0.108858 - ], - [ - -75.285843, - -0.119722 - ] - ], - [ - [ - -78.912231, - 1.239168 - ], - [ - -78.998901, - 1.275 - ], - [ - -78.903336, - 1.367781 - ], - [ - -78.912231, - 1.239168 - ] - ] - ] - ] - }, - "name" : "Ecuador", - "iso2" : "EC", - "iso3" : "ECU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "dL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 34.026384, - 27.498335 - ], - [ - 33.917498, - 27.526388 - ], - [ - 34.041941, - 27.442221 - ], - [ - 34.026384, - 27.498335 - ] - ] - ], - [ - [ - [ - 32.04722, - 31.143332 - ], - [ - 32.049997, - 31.153334 - ], - [ - 32.042772, - 31.158056 - ], - [ - 32.04722, - 31.143332 - ] - ] - ], - [ - [ - [ - 33.476664, - 31.137499 - ], - [ - 33.400553, - 31.181665 - ], - [ - 33.266665, - 31.215277 - ], - [ - 33.476664, - 31.137499 - ] - ] - ], - [ - [ - [ - 33.195276, - 31.232779 - ], - [ - 33.096109, - 31.2325 - ], - [ - 32.976664, - 31.168333 - ], - [ - 33.101664, - 31.227221 - ], - [ - 33.261385, - 31.214998 - ], - [ - 33.195276, - 31.232779 - ] - ] - ], - [ - [ - [ - 25.316668, - 31.501112 - ], - [ - 25.151667, - 31.646944 - ], - [ - 24.706667, - 30.168612 - ], - [ - 24.997778, - 29.248888 - ], - [ - 25.001425, - 21.999697 - ], - [ - 31.271112, - 21.998335 - ], - [ - 31.455557, - 22.232222 - ], - [ - 31.45389, - 21.998335 - ], - [ - 36.888468, - 22.000113 - ], - [ - 35.670557, - 22.965834 - ], - [ - 35.483057, - 23.938334 - ], - [ - 35.813051, - 23.916113 - ], - [ - 35.138613, - 24.5175 - ], - [ - 33.558886, - 27.883055 - ], - [ - 32.34083, - 29.596945 - ], - [ - 32.574999, - 30.005278 - ], - [ - 33.242777, - 28.554445 - ], - [ - 34.254442, - 27.728613 - ], - [ - 34.903803, - 29.486708 - ], - [ - 34.26758, - 31.216543 - ], - [ - 34.216661, - 31.323332 - ], - [ - 33.743891, - 31.133333 - ], - [ - 33.532778, - 31.116945 - ], - [ - 33.410555, - 31.154722 - ], - [ - 33.14361, - 31.058332 - ], - [ - 33.149721, - 31.101667 - ], - [ - 33.111666, - 31.193056 - ], - [ - 32.717218, - 31.032499 - ], - [ - 32.21055, - 31.288057 - ], - [ - 32.143068, - 31.074167 - ], - [ - 31.77389, - 31.271666 - ], - [ - 31.9, - 31.531111 - ], - [ - 32.204996, - 31.289999 - ], - [ - 31.92148, - 31.529886 - ], - [ - 31.027777, - 31.600557 - ], - [ - 29.069445, - 30.821665 - ], - [ - 27.33111, - 31.374998 - ], - [ - 25.316668, - 31.501112 - ] - ], - [ - [ - 34.00139, - 26.707224 - ], - [ - 33.960001, - 26.788332 - ], - [ - 33.994722, - 26.749723 - ], - [ - 34.00139, - 26.707224 - ] - ] - ] - ] - }, - "name" : "Egypt", - "iso2" : "EG", - "iso3" : "EGY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "db1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -9.656389, - 53.222223 - ], - [ - -9.660833, - 53.280001 - ], - [ - -9.724724, - 53.268053 - ], - [ - -9.656389, - 53.222223 - ] - ] - ], - [ - [ - [ - -9.964169, - 54.01861 - ], - [ - -10.268612, - 53.975 - ], - [ - -9.955002, - 53.876665 - ], - [ - -9.964169, - 54.01861 - ] - ] - ], - [ - [ - [ - -8.518612, - 54.964167 - ], - [ - -8.490557, - 54.994722 - ], - [ - -8.546946, - 55.011942 - ], - [ - -8.518612, - 54.964167 - ] - ] - ], - [ - [ - [ - -6.266975, - 54.099833 - ], - [ - -7.030834, - 54.417772 - ], - [ - -7.559444, - 54.12694 - ], - [ - -8.159445, - 54.441942 - ], - [ - -7.406389, - 54.953333 - ], - [ - -7.252506, - 55.070597 - ], - [ - -6.931667, - 55.235834 - ], - [ - -7.393888, - 55.379442 - ], - [ - -7.681389, - 54.948328 - ], - [ - -7.657499, - 55.274439 - ], - [ - -8.317501, - 55.108889 - ], - [ - -8.800835, - 54.691668 - ], - [ - -8.188334, - 54.633608 - ], - [ - -8.668335, - 54.349443 - ], - [ - -8.471668, - 54.27389 - ], - [ - -10.112223, - 54.229998 - ], - [ - -10.124445, - 54.096384 - ], - [ - -10.006111, - 54.218889 - ], - [ - -9.787779, - 53.941942 - ], - [ - -9.940556, - 53.866945 - ], - [ - -9.56139, - 53.85972 - ], - [ - -10.175835, - 53.407778 - ], - [ - -8.941113, - 53.264162 - ], - [ - -9.93639, - 52.555834 - ], - [ - -8.818335, - 52.665552 - ], - [ - -10.460835, - 52.182222 - ], - [ - -9.757778, - 52.148607 - ], - [ - -10.338593, - 51.782923 - ], - [ - -9.577501, - 51.872217 - ], - [ - -10.132502, - 51.593332 - ], - [ - -9.535557, - 51.750002 - ], - [ - -9.817501, - 51.445551 - ], - [ - -9.234167, - 51.480555 - ], - [ - -6.994722, - 52.282778 - ], - [ - -6.361111, - 52.1775 - ], - [ - -6.013056, - 52.945002 - ], - [ - -6.266975, - 54.099833 - ] - ], - [ - [ - -8.436945, - 54.944445 - ], - [ - -8.45389, - 54.954996 - ], - [ - -8.438612, - 54.955278 - ], - [ - -8.436945, - 54.944445 - ] - ] - ] - ] - }, - "name" : "Ireland", - "iso2" : "IE", - "iso3" : "IRL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "dr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 5.641388, - -1.474722 - ], - [ - 5.633888, - -1.420556 - ], - [ - 5.615277, - -1.469167 - ], - [ - 5.641388, - -1.474722 - ] - ] - ], - [ - [ - [ - 11.339764, - 2.168611 - ], - [ - 10.02611, - 2.168056 - ], - [ - 9.811764, - 2.343698 - ], - [ - 9.356943, - 1.167222 - ], - [ - 9.803976, - 1.002608 - ], - [ - 11.353888, - 1.001944 - ], - [ - 11.339764, - 2.168611 - ] - ] - ], - [ - [ - [ - 8.856667, - 3.499444 - ], - [ - 8.958887, - 3.703888 - ], - [ - 8.68611, - 3.741666 - ], - [ - 8.44611, - 3.274444 - ], - [ - 8.856667, - 3.499444 - ] - ] - ] - ] - }, - "name" : "Equatorial Guinea", - "iso2" : "GQ", - "iso3" : "GNQ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "d71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 23.990829, - 58.099998 - ], - [ - 24.022186, - 58.142746 - ], - [ - 23.947773, - 58.147217 - ], - [ - 23.990829, - 58.099998 - ] - ] - ], - [ - [ - [ - 22.990829, - 58.597771 - ], - [ - 21.83194, - 58.504997 - ], - [ - 22.201385, - 58.144714 - ], - [ - 21.99416, - 57.922768 - ], - [ - 23.332775, - 58.441658 - ], - [ - 22.990829, - 58.597771 - ] - ] - ], - [ - [ - [ - 23.364998, - 58.529991 - ], - [ - 23.247459, - 58.671051 - ], - [ - 23.057774, - 58.60833 - ], - [ - 23.364998, - 58.529991 - ] - ] - ], - [ - [ - [ - 23.277222, - 58.963051 - ], - [ - 23.391663, - 58.998047 - ], - [ - 23.110828, - 59.024712 - ], - [ - 23.277222, - 58.963051 - ] - ] - ], - [ - [ - [ - 22.749718, - 59 - ], - [ - 22.042221, - 58.939987 - ], - [ - 23.045277, - 58.83638 - ], - [ - 22.749718, - 59 - ] - ] - ], - [ - [ - [ - 27.372059, - 57.535637 - ], - [ - 27.823051, - 57.873878 - ], - [ - 27.426105, - 58.813606 - ], - [ - 28.170359, - 59.30978 - ], - [ - 28.015831, - 59.4786 - ], - [ - 25.780277, - 59.628876 - ], - [ - 23.464161, - 59.206383 - ], - [ - 23.483051, - 58.80999 - ], - [ - 23.874996, - 58.7686 - ], - [ - 23.495548, - 58.694153 - ], - [ - 23.728607, - 58.370827 - ], - [ - 24.555553, - 58.327217 - ], - [ - 24.31498, - 57.871826 - ], - [ - 25.294998, - 58.084435 - ], - [ - 26.511387, - 57.5261 - ], - [ - 27.372059, - 57.535637 - ] - ] - ] - ] - }, - "name" : "Estonia", - "iso2" : "EE", - "iso3" : "EST" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "eL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 40.087219, - 15.851665 - ], - [ - 39.977776, - 15.605 - ], - [ - 40.419441, - 15.573889 - ], - [ - 40.087219, - 15.851665 - ] - ] - ], - [ - [ - [ - 40.113327, - 16.055832 - ], - [ - 40.030273, - 16.095276 - ], - [ - 39.979721, - 16.012218 - ], - [ - 40.113327, - 16.055832 - ] - ] - ], - [ - [ - [ - 43.121384, - 12.708332 - ], - [ - 41.170555, - 14.6325 - ], - [ - 40.17083, - 14.97361 - ], - [ - 39.881386, - 15.489443 - ], - [ - 39.721107, - 15.084166 - ], - [ - 38.797775, - 17.653332 - ], - [ - 38.600693, - 17.994881 - ], - [ - 37.423286, - 17.034214 - ], - [ - 36.995827, - 17.073887 - ], - [ - 36.973053, - 16.269444 - ], - [ - 36.443283, - 15.149952 - ], - [ - 36.542816, - 14.262053 - ], - [ - 37.291664, - 14.451944 - ], - [ - 37.572212, - 14.102253 - ], - [ - 37.911385, - 14.88361 - ], - [ - 38.44944, - 14.4175 - ], - [ - 39.024021, - 14.655162 - ], - [ - 40.228058, - 14.443506 - ], - [ - 42.399719, - 12.469721 - ], - [ - 43.121384, - 12.708332 - ] - ] - ] - ] - }, - "name" : "Eritrea", - "iso2" : "ER", - "iso3" : "ERI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "eb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -87.686401, - 13.168333 - ], - [ - -87.723068, - 13.214722 - ], - [ - -87.72168, - 13.168055 - ], - [ - -87.686401, - 13.168333 - ] - ] - ], - [ - [ - [ - -87.815582, - 13.405386 - ], - [ - -87.75029, - 13.864166 - ], - [ - -88.47084, - 13.855276 - ], - [ - -89.339737, - 14.416111 - ], - [ - -89.348312, - 14.431982 - ], - [ - -90.09639, - 13.745832 - ], - [ - -88.53862, - 13.194166 - ], - [ - -87.93779, - 13.156387 - ], - [ - -87.815582, - 13.405386 - ] - ] - ] - ] - }, - "name" : "El Salvador", - "iso2" : "SV", - "iso3" : "SLV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "er1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 36.542816, - 14.262053 - ], - [ - 36.142693, - 12.706923 - ], - [ - 35.70108, - 12.666115 - ], - [ - 35.096939, - 11.826944 - ], - [ - 34.864441, - 10.734999 - ], - [ - 34.594444, - 10.887777 - ], - [ - 34.28611, - 10.554165 - ], - [ - 34.120552, - 8.577221 - ], - [ - 33.252777, - 8.458611 - ], - [ - 32.991104, - 7.924999 - ], - [ - 33.711388, - 7.660277 - ], - [ - 34.70472, - 6.677777 - ], - [ - 35.301941, - 5.378055 - ], - [ - 35.821663, - 5.32861 - ], - [ - 35.940552, - 4.622499 - ], - [ - 37.039719, - 4.375555 - ], - [ - 38.121109, - 3.611666 - ], - [ - 39.524437, - 3.406389 - ], - [ - 40.783768, - 4.287975 - ], - [ - 41.171387, - 3.9425 - ], - [ - 41.905167, - 3.980322 - ], - [ - 43.686386, - 4.891944 - ], - [ - 44.950829, - 4.902499 - ], - [ - 47.988243, - 8.004107 - ], - [ - 47.01194, - 8.00111 - ], - [ - 44.010551, - 9.007221 - ], - [ - 42.848053, - 10.22361 - ], - [ - 42.663055, - 10.6325 - ], - [ - 42.944092, - 11.002438 - ], - [ - 41.789719, - 11.008055 - ], - [ - 41.828606, - 11.74 - ], - [ - 42.399719, - 12.469721 - ], - [ - 40.228058, - 14.443506 - ], - [ - 39.024021, - 14.655162 - ], - [ - 38.44944, - 14.4175 - ], - [ - 37.911385, - 14.88361 - ], - [ - 37.572212, - 14.102253 - ], - [ - 37.291664, - 14.451944 - ], - [ - 36.542816, - 14.262053 - ] - ] - ] - }, - "name" : "Ethiopia", - "iso2" : "ET", - "iso3" : "ETH" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "e71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 13.833611, - 48.773605 - ], - [ - 12.758333, - 48.123886 - ], - [ - 13.016666, - 47.470276 - ], - [ - 12.735554, - 47.684166 - ], - [ - 11.095554, - 47.396111 - ], - [ - 10.478054, - 47.591942 - ], - [ - 10.173332, - 47.274719 - ], - [ - 9.566724, - 47.540451 - ], - [ - 9.533569, - 47.274544 - ], - [ - 9.598635, - 47.063835 - ], - [ - 10.471235, - 46.871353 - ], - [ - 12.127777, - 47.001663 - ], - [ - 12.440554, - 46.690826 - ], - [ - 13.718655, - 46.526611 - ], - [ - 14.544998, - 46.407494 - ], - [ - 16.111805, - 46.86972 - ], - [ - 16.510555, - 47.00666 - ], - [ - 16.713886, - 47.543884 - ], - [ - 16.450554, - 47.698051 - ], - [ - 17.053886, - 47.709442 - ], - [ - 17.166386, - 48.012497 - ], - [ - 16.946182, - 48.619064 - ], - [ - 15.025833, - 49.018883 - ], - [ - 14.70028, - 48.581379 - ], - [ - 13.833611, - 48.773605 - ] - ] - ] - }, - "name" : "Austria", - "iso2" : "AT", - "iso3" : "AUT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "fL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 13.833611, - 48.773605 - ], - [ - 14.70028, - 48.581379 - ], - [ - 15.025833, - 49.018883 - ], - [ - 16.946182, - 48.619064 - ], - [ - 18.851246, - 49.517357 - ], - [ - 18.577221, - 49.914444 - ], - [ - 17.657776, - 50.108055 - ], - [ - 17.722775, - 50.319717 - ], - [ - 16.890274, - 50.439438 - ], - [ - 17.00222, - 50.216942 - ], - [ - 16.641941, - 50.10833 - ], - [ - 16.20583, - 50.423882 - ], - [ - 16.341942, - 50.66111 - ], - [ - 14.828333, - 50.865829 - ], - [ - 14.309721, - 51.053604 - ], - [ - 12.093704, - 50.322533 - ], - [ - 12.674444, - 49.424995 - ], - [ - 13.833611, - 48.773605 - ] - ] - ] - }, - "name" : "Czech Republic", - "iso2" : "CZ", - "iso3" : "CZE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "fb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -54.603783, - 2.329195 - ], - [ - -52.909729, - 2.195833 - ], - [ - -51.684067, - 4.034163 - ], - [ - -51.850563, - 4.653333 - ], - [ - -52.040001, - 4.331388 - ], - [ - -52.285278, - 4.937499 - ], - [ - -53.494339, - 5.572342 - ], - [ - -53.939728, - 5.744721 - ], - [ - -54.166946, - 5.346944 - ], - [ - -54.477501, - 4.747777 - ], - [ - -54.001114, - 3.448333 - ], - [ - -54.603783, - 2.329195 - ] - ] - ] - }, - "name" : "French Guiana", - "iso2" : "GF", - "iso3" : "GUF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "fr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 22.833612, - 59.956385 - ], - [ - 22.917501, - 59.898333 - ], - [ - 23.0725, - 59.951113 - ], - [ - 22.833612, - 59.956385 - ] - ] - ], - [ - [ - [ - 22.438887, - 59.995829 - ], - [ - 22.440554, - 60.072496 - ], - [ - 22.351946, - 60.066942 - ], - [ - 22.438887, - 59.995829 - ] - ] - ], - [ - [ - [ - 21.598055, - 60.098055 - ], - [ - 21.655554, - 60.15555 - ], - [ - 21.485277, - 60.113886 - ], - [ - 21.598055, - 60.098055 - ] - ] - ], - [ - [ - [ - 21.748888, - 60.111383 - ], - [ - 21.885279, - 60.177217 - ], - [ - 21.715555, - 60.183054 - ], - [ - 21.748888, - 60.111383 - ] - ] - ], - [ - [ - [ - 21.396666, - 60.178606 - ], - [ - 21.268332, - 60.188051 - ], - [ - 21.385279, - 60.156664 - ], - [ - 21.396666, - 60.178606 - ] - ] - ], - [ - [ - [ - 22.000834, - 60.129442 - ], - [ - 22.060835, - 60.20389 - ], - [ - 21.937498, - 60.17 - ], - [ - 22.000834, - 60.129442 - ] - ] - ], - [ - [ - [ - 25.848612, - 60.195551 - ], - [ - 25.874998, - 60.211107 - ], - [ - 25.810556, - 60.204165 - ], - [ - 25.848612, - 60.195551 - ] - ] - ], - [ - [ - [ - 22.824446, - 60.227221 - ], - [ - 22.587778, - 60.202501 - ], - [ - 22.44972, - 60.218332 - ], - [ - 22.469465, - 60.000002 - ], - [ - 22.824446, - 60.227221 - ] - ] - ], - [ - [ - [ - 22.242224, - 60.181108 - ], - [ - 22.294443, - 60.248606 - ], - [ - 22.217779, - 60.218607 - ], - [ - 22.242224, - 60.181108 - ] - ] - ], - [ - [ - [ - 22.342222, - 60.283052 - ], - [ - 22.096109, - 60.307779 - ], - [ - 22.068888, - 60.26861 - ], - [ - 22.342222, - 60.283052 - ] - ] - ], - [ - [ - [ - 22.383333, - 60.288332 - ], - [ - 22.476946, - 60.32361 - ], - [ - 22.325277, - 60.334719 - ], - [ - 22.383333, - 60.288332 - ] - ] - ], - [ - [ - [ - 21.982779, - 60.324167 - ], - [ - 21.807501, - 60.465555 - ], - [ - 21.789999, - 60.372499 - ], - [ - 21.982779, - 60.324167 - ] - ] - ], - [ - [ - [ - 21.751665, - 60.498331 - ], - [ - 21.763334, - 60.522501 - ], - [ - 21.730001, - 60.520273 - ], - [ - 21.684446, - 60.452776 - ], - [ - 21.751665, - 60.498331 - ] - ] - ], - [ - [ - [ - 21.483332, - 60.520273 - ], - [ - 21.321943, - 60.543055 - ], - [ - 21.432501, - 60.469721 - ], - [ - 21.483332, - 60.520273 - ] - ] - ], - [ - [ - [ - 21.32889, - 60.481112 - ], - [ - 21.226946, - 60.5525 - ], - [ - 21.275835, - 60.478052 - ], - [ - 21.32889, - 60.481112 - ] - ] - ], - [ - [ - [ - 21.290277, - 60.612223 - ], - [ - 21.214167, - 60.619722 - ], - [ - 21.289167, - 60.561388 - ], - [ - 21.290277, - 60.612223 - ] - ] - ], - [ - [ - [ - 21.327501, - 60.877222 - ], - [ - 21.357222, - 60.921946 - ], - [ - 21.254168, - 60.958887 - ], - [ - 21.327501, - 60.877222 - ] - ] - ], - [ - [ - [ - 21.080278, - 63.281389 - ], - [ - 21.246946, - 63.144724 - ], - [ - 21.427221, - 63.196939 - ], - [ - 21.080278, - 63.281389 - ] - ] - ], - [ - [ - [ - 22.180834, - 63.265276 - ], - [ - 22.192499, - 63.321939 - ], - [ - 22.040834, - 63.30694 - ], - [ - 22.180834, - 63.265276 - ] - ] - ], - [ - [ - [ - 21.323332, - 63.289164 - ], - [ - 21.381109, - 63.341112 - ], - [ - 21.231943, - 63.325556 - ], - [ - 21.323332, - 63.289164 - ] - ] - ], - [ - [ - [ - 22.87361, - 63.799997 - ], - [ - 22.806112, - 63.87694 - ], - [ - 22.671389, - 63.794443 - ], - [ - 22.87361, - 63.799997 - ] - ] - ], - [ - [ - [ - 24.734999, - 64.944445 - ], - [ - 25.035002, - 65.036104 - ], - [ - 24.551668, - 65.024996 - ], - [ - 24.734999, - 64.944445 - ] - ] - ], - [ - [ - [ - 24.462221, - 65.763887 - ], - [ - 24.503054, - 65.78055 - ], - [ - 24.436945, - 65.769716 - ], - [ - 24.462221, - 65.763887 - ] - ] - ], - [ - [ - [ - 28.957342, - 69.051622 - ], - [ - 28.784166, - 69.160555 - ], - [ - 29.176111, - 69.635271 - ], - [ - 28.165834, - 69.912218 - ], - [ - 26.449999, - 69.927217 - ], - [ - 25.945833, - 69.673326 - ], - [ - 25.76111, - 68.989168 - ], - [ - 24.934919, - 68.580812 - ], - [ - 23.976389, - 68.832491 - ], - [ - 22.398333, - 68.711107 - ], - [ - 21.320833, - 69.326113 - ], - [ - 20.580931, - 69.060305 - ], - [ - 21.809168, - 68.570543 - ], - [ - 23.666113, - 67.941668 - ], - [ - 23.431112, - 67.465548 - ], - [ - 23.767778, - 67.416109 - ], - [ - 23.571665, - 67.156664 - ], - [ - 24.007776, - 66.800554 - ], - [ - 23.661943, - 66.312212 - ], - [ - 24.167009, - 65.814028 - ], - [ - 24.689165, - 65.896105 - ], - [ - 24.669168, - 65.654711 - ], - [ - 25.310835, - 65.51111 - ], - [ - 25.447222, - 64.954714 - ], - [ - 24.542223, - 64.802492 - ], - [ - 24.343332, - 64.523607 - ], - [ - 23.318888, - 63.896662 - ], - [ - 22.188055, - 63.463053 - ], - [ - 22.337221, - 63.273607 - ], - [ - 21.497778, - 63.210001 - ], - [ - 21.68611, - 63.024996 - ], - [ - 21.064722, - 62.612223 - ], - [ - 21.668055, - 61.546946 - ], - [ - 21.35861, - 60.653612 - ], - [ - 22.632223, - 60.391939 - ], - [ - 22.447222, - 60.24444 - ], - [ - 22.574999, - 60.21055 - ], - [ - 22.662779, - 60.222223 - ], - [ - 23.055834, - 60.353334 - ], - [ - 23.086943, - 60.346941 - ], - [ - 22.874445, - 60.145555 - ], - [ - 23.338335, - 60.019999 - ], - [ - 22.909723, - 59.804995 - ], - [ - 25.92, - 60.241663 - ], - [ - 26.659166, - 60.647501 - ], - [ - 26.497221, - 60.446939 - ], - [ - 27.807833, - 60.546404 - ], - [ - 31.58893, - 62.914415 - ], - [ - 29.993334, - 63.743608 - ], - [ - 30.578054, - 64.221376 - ], - [ - 29.636667, - 64.928057 - ], - [ - 29.818888, - 65.653322 - ], - [ - 30.134165, - 65.719164 - ], - [ - 29.074999, - 66.89583 - ], - [ - 30.028612, - 67.694719 - ], - [ - 28.693335, - 68.197496 - ], - [ - 28.457499, - 68.531939 - ], - [ - 28.820555, - 68.844439 - ], - [ - 28.431944, - 68.896944 - ], - [ - 28.957342, - 69.051622 - ] - ], - [ - [ - 25.677221, - 60.234995 - ], - [ - 25.598055, - 60.207773 - ], - [ - 25.56111, - 60.265833 - ], - [ - 25.677221, - 60.234995 - ] - ], - [ - [ - 23.705828, - 59.927217 - ], - [ - 23.370001, - 59.911386 - ], - [ - 23.538328, - 59.960276 - ], - [ - 23.705828, - 59.927217 - ] - ] - ] - ] - }, - "name" : "Finland", - "iso2" : "FI", - "iso3" : "FIN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "f71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -178.707764, - -20.674442 - ], - [ - -178.73056, - -20.646114 - ], - [ - -178.737213, - -20.666115 - ], - [ - -178.707764, - -20.674442 - ] - ] - ], - [ - [ - [ - -178.211426, - -19.852505 - ], - [ - -178.19809, - -19.835838 - ], - [ - -178.209747, - -19.826389 - ], - [ - -178.211426, - -19.852505 - ] - ] - ], - [ - [ - [ - -178.396698, - -19.185001 - ], - [ - -178.398621, - -19.129169 - ], - [ - -178.425049, - -19.177502 - ], - [ - -178.396698, - -19.185001 - ] - ] - ], - [ - [ - [ - 179.779694, - -19.195278 - ], - [ - 179.773041, - -19.123333 - ], - [ - 179.740234, - -19.188053 - ], - [ - 179.779694, - -19.195278 - ] - ] - ], - [ - [ - [ - -178.538605, - -19.181946 - ], - [ - -178.585846, - -19.113613 - ], - [ - -178.596954, - -19.155834 - ], - [ - -178.538605, - -19.181946 - ] - ] - ], - [ - [ - [ - 178.498291, - -18.989998 - ], - [ - 178.306915, - -18.935555 - ], - [ - 177.95108, - -19.13139 - ], - [ - 178.498291, - -18.989998 - ] - ] - ], - [ - [ - [ - -178.936707, - -18.989445 - ], - [ - -178.949432, - -18.925835 - ], - [ - -178.967224, - -18.978336 - ], - [ - -178.936707, - -18.989445 - ] - ] - ], - [ - [ - [ - -179.78363, - -18.946388 - ], - [ - -179.845001, - -18.922504 - ], - [ - -179.868896, - -19.005283 - ], - [ - -179.78363, - -18.946388 - ] - ] - ], - [ - [ - [ - 178.528046, - -18.910831 - ], - [ - 178.521637, - -18.859722 - ], - [ - 178.476624, - -18.883057 - ], - [ - 178.528046, - -18.910831 - ] - ] - ], - [ - [ - [ - -178.498627, - -18.674725 - ], - [ - -178.473053, - -18.650558 - ], - [ - -178.506683, - -18.635281 - ], - [ - -178.498627, - -18.674725 - ] - ] - ], - [ - [ - [ - 179.91275, - -18.641945 - ], - [ - 179.963867, - -18.540558 - ], - [ - 179.837463, - -18.576389 - ], - [ - 179.91275, - -18.641945 - ] - ] - ], - [ - [ - [ - 177.6633, - -18.590279 - ], - [ - 177.630798, - -18.491943 - ], - [ - 177.61911, - -18.538334 - ], - [ - 177.6633, - -18.590279 - ] - ] - ], - [ - [ - [ - 178.132721, - -18.4175 - ], - [ - 178.139709, - -18.351944 - ], - [ - 178.109406, - -18.407501 - ], - [ - 178.132721, - -18.4175 - ] - ] - ], - [ - [ - [ - -178.778351, - -18.249725 - ], - [ - -178.747528, - -18.201389 - ], - [ - -178.828613, - -18.190002 - ], - [ - -178.778351, - -18.249725 - ] - ] - ], - [ - [ - [ - 179.351898, - -18.121113 - ], - [ - 179.266663, - -17.936111 - ], - [ - 179.245789, - -18.036388 - ], - [ - 179.351898, - -18.121113 - ] - ] - ], - [ - [ - [ - -179.011719, - -17.995277 - ], - [ - -178.991119, - -17.950832 - ], - [ - -179.068359, - -17.932503 - ], - [ - -179.011719, - -17.995277 - ] - ] - ], - [ - [ - [ - -178.286987, - -17.96611 - ], - [ - -178.244476, - -17.917778 - ], - [ - -178.347809, - -17.894165 - ], - [ - -178.286987, - -17.96611 - ] - ] - ], - [ - [ - [ - 179.421906, - -17.848335 - ], - [ - 179.421082, - -17.797222 - ], - [ - 179.392761, - -17.786388 - ], - [ - 179.421906, - -17.848335 - ] - ] - ], - [ - [ - [ - -179.292511, - -17.783897 - ], - [ - -179.319153, - -17.727509 - ], - [ - -179.331146, - -17.771954 - ], - [ - -179.292511, - -17.783897 - ] - ] - ], - [ - [ - [ - 178.820251, - -17.742775 - ], - [ - 178.791931, - -17.621113 - ], - [ - 178.747742, - -17.719719 - ], - [ - 178.820251, - -17.742775 - ] - ] - ], - [ - [ - [ - -179.141998, - -17.476952 - ], - [ - -179.143341, - -17.431114 - ], - [ - -179.178894, - -17.433064 - ], - [ - -179.141998, - -17.476952 - ] - ] - ], - [ - [ - [ - 178.280823, - -17.403053 - ], - [ - 177.510254, - -17.509445 - ], - [ - 177.299133, - -18.078613 - ], - [ - 178.67804, - -18.078335 - ], - [ - 178.280823, - -17.403053 - ] - ] - ], - [ - [ - [ - 177.112457, - -17.314445 - ], - [ - 177.141937, - -17.247776 - ], - [ - 177.10025, - -17.271114 - ], - [ - 177.112457, - -17.314445 - ] - ] - ], - [ - [ - [ - -179.128632, - -17.283611 - ], - [ - -179.121429, - -17.258617 - ], - [ - -179.162811, - -17.250835 - ], - [ - -179.128632, - -17.283611 - ] - ] - ], - [ - [ - [ - 179.399414, - -17.394444 - ], - [ - 179.433044, - -17.242222 - ], - [ - 179.357178, - -17.259445 - ], - [ - 179.399414, - -17.394444 - ] - ] - ], - [ - [ - [ - -178.925293, - -17.257225 - ], - [ - -179.02005, - -17.153053 - ], - [ - -178.98584, - -17.318058 - ], - [ - -178.925293, - -17.257225 - ] - ] - ], - [ - [ - [ - 177.263611, - -17.123611 - ], - [ - 177.281097, - -17.051945 - ], - [ - 177.177185, - -17.163612 - ], - [ - 177.263611, - -17.123611 - ] - ] - ], - [ - [ - [ - 178.333038, - -16.835835 - ], - [ - 178.277191, - -16.789444 - ], - [ - 178.282196, - -16.833889 - ], - [ - 178.333038, - -16.835835 - ] - ] - ], - [ - [ - [ - 179.947479, - -17.002781 - ], - [ - 180, - -16.787395 - ], - [ - 179.882446, - -16.964165 - ], - [ - 179.947479, - -17.002781 - ] - ] - ], - [ - [ - [ - -179.993317, - -16.955276 - ], - [ - -179.821106, - -16.781094 - ], - [ - -179.861633, - -16.680321 - ], - [ - -179.993317, - -16.955276 - ] - ] - ], - [ - [ - [ - 177.443024, - -16.83778 - ], - [ - 177.593018, - -16.687778 - ], - [ - 177.559967, - -16.677498 - ], - [ - 177.443024, - -16.83778 - ] - ] - ], - [ - [ - [ - 179.929413, - -16.659164 - ], - [ - 179.947754, - -16.613056 - ], - [ - 179.916656, - -16.625832 - ], - [ - 179.88443, - -16.657501 - ], - [ - 179.914154, - -16.661945 - ], - [ - 179.929413, - -16.659164 - ] - ] - ], - [ - [ - [ - 180, - -16.537918 - ], - [ - 180, - -16.494274 - ], - [ - 179.981079, - -16.524445 - ], - [ - 180, - -16.537918 - ] - ] - ], - [ - [ - [ - -179.976166, - -16.535278 - ], - [ - -179.896423, - -16.43111 - ], - [ - -179.988617, - -16.476952 - ], - [ - -179.976166, - -16.535278 - ] - ] - ], - [ - [ - [ - 179.958008, - -16.197498 - ], - [ - 178.478851, - -16.78167 - ], - [ - 178.747192, - -17.011948 - ], - [ - 179.265808, - -16.690556 - ], - [ - 179.902191, - -16.769447 - ], - [ - 179.951904, - -16.741943 - ], - [ - 179.871338, - -16.665001 - ], - [ - 179.950256, - -16.513058 - ], - [ - 179.932465, - -16.460831 - ], - [ - 179.478577, - -16.701111 - ], - [ - 179.958008, - -16.197498 - ] - ] - ], - [ - [ - [ - -179.968872, - -16.16761 - ], - [ - -179.941132, - -16.128345 - ], - [ - -180, - -16.154732 - ], - [ - -179.968872, - -16.16761 - ] - ] - ], - [ - [ - [ - 177.119415, - -12.514446 - ], - [ - 177.11911, - -12.484722 - ], - [ - 177.026917, - -12.507223 - ], - [ - 177.119415, - -12.514446 - ] - ] - ] - ] - }, - "name" : "Fiji", - "iso2" : "FJ", - "iso3" : "FJI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "gL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -59.691673, - -52.242783 - ], - [ - -59.683891, - -52.172783 - ], - [ - -59.753334, - -52.170006 - ], - [ - -59.761116, - -52.273613 - ], - [ - -59.691673, - -52.242783 - ] - ] - ], - [ - [ - [ - -58.435005, - -52.093895 - ], - [ - -58.432503, - -51.99028 - ], - [ - -58.53389, - -52.024445 - ], - [ - -58.435005, - -52.093895 - ] - ] - ], - [ - [ - [ - -61.224449, - -51.864723 - ], - [ - -61.215004, - -51.797226 - ], - [ - -61.313896, - -51.824722 - ], - [ - -61.224449, - -51.864723 - ] - ] - ], - [ - [ - [ - -61.034447, - -51.869446 - ], - [ - -60.940559, - -51.800285 - ], - [ - -61.149445, - -51.848892 - ], - [ - -60.867783, - -51.903336 - ], - [ - -61.034447, - -51.869446 - ] - ] - ], - [ - [ - [ - -61.195839, - -51.699448 - ], - [ - -61.305, - -51.693062 - ], - [ - -61.315834, - -51.733612 - ], - [ - -61.195839, - -51.699448 - ] - ] - ], - [ - [ - [ - -59.210556, - -51.410561 - ], - [ - -60.019447, - -51.380005 - ], - [ - -60.132225, - -51.494728 - ], - [ - -60.642227, - -51.35556 - ], - [ - -60.163612, - -51.661392 - ], - [ - -60.638336, - -51.722229 - ], - [ - -60.180557, - -51.758896 - ], - [ - -60.980835, - -52.061951 - ], - [ - -60.368057, - -52.159172 - ], - [ - -59.210556, - -51.410561 - ] - ] - ], - [ - [ - [ - -58.696671, - -51.33667 - ], - [ - -59.718056, - -52.121117 - ], - [ - -59.348061, - -52.343056 - ], - [ - -59.449173, - -52.140839 - ], - [ - -59.035278, - -52.14389 - ], - [ - -59.289726, - -52.004173 - ], - [ - -58.64695, - -52.067223 - ], - [ - -58.940559, - -51.801949 - ], - [ - -57.731392, - -51.692223 - ], - [ - -58.142784, - -51.553894 - ], - [ - -57.761673, - -51.538338 - ], - [ - -57.911949, - -51.376396 - ], - [ - -58.279449, - -51.417503 - ], - [ - -58.226952, - -51.654449 - ], - [ - -58.696671, - -51.33667 - ] - ] - ], - [ - [ - [ - -59.935562, - -51.350838 - ], - [ - -59.906113, - -51.303062 - ], - [ - -60.025284, - -51.297783 - ], - [ - -59.935562, - -51.350838 - ] - ] - ], - [ - [ - [ - -60.110558, - -51.405281 - ], - [ - -60.068062, - -51.307503 - ], - [ - -60.300285, - -51.271393 - ], - [ - -60.110558, - -51.405281 - ] - ] - ], - [ - [ - [ - -59.508339, - -51.337502 - ], - [ - -59.479172, - -51.264725 - ], - [ - -59.811111, - -51.26973 - ], - [ - -59.508339, - -51.337502 - ] - ] - ] - ] - }, - "name" : "Falkland Islands (Malvinas)", - "iso2" : "FK", - "iso3" : "FLK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "gb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 153.674408, - 5.286943 - ], - [ - 153.711365, - 5.319721 - ], - [ - 153.659973, - 5.291666 - ], - [ - 153.674408, - 5.286943 - ] - ] - ], - [ - [ - [ - 163.007477, - 5.263055 - ], - [ - 163.016388, - 5.378332 - ], - [ - 162.904144, - 5.307221 - ], - [ - 163.007477, - 5.263055 - ] - ] - ], - [ - [ - [ - 143.063599, - 6.707222 - ], - [ - 143.063599, - 6.719443 - ], - [ - 143.054688, - 6.714722 - ], - [ - 143.063599, - 6.707222 - ] - ] - ], - [ - [ - [ - 149.320251, - 6.698332 - ], - [ - 149.324982, - 6.721944 - ], - [ - 149.313293, - 6.702499 - ], - [ - 149.320251, - 6.698332 - ] - ] - ], - [ - [ - [ - 157.9422, - 6.71861 - ], - [ - 157.952454, - 6.734444 - ], - [ - 157.931915, - 6.721944 - ], - [ - 157.9422, - 6.71861 - ] - ] - ], - [ - [ - [ - 157.973572, - 6.738332 - ], - [ - 157.992737, - 6.751944 - ], - [ - 157.964142, - 6.74111 - ], - [ - 157.973572, - 6.738332 - ] - ] - ], - [ - [ - [ - 158.29776, - 6.78611 - ], - [ - 158.318848, - 6.930277 - ], - [ - 158.120789, - 6.929721 - ], - [ - 158.29776, - 6.78611 - ] - ] - ], - [ - [ - [ - 158.253876, - 6.983333 - ], - [ - 158.259979, - 7.000278 - ], - [ - 158.241638, - 6.992777 - ], - [ - 158.253876, - 6.983333 - ] - ] - ], - [ - [ - [ - 151.860504, - 7.31861 - ], - [ - 151.866638, - 7.35861 - ], - [ - 151.839966, - 7.370276 - ], - [ - 151.860504, - 7.31861 - ] - ] - ], - [ - [ - [ - 149.20163, - 7.363333 - ], - [ - 149.203033, - 7.376388 - ], - [ - 149.194702, - 7.361388 - ], - [ - 149.20163, - 7.363333 - ] - ] - ], - [ - [ - [ - 149.191345, - 7.375554 - ], - [ - 149.188019, - 7.384444 - ], - [ - 149.177765, - 7.382499 - ], - [ - 149.191345, - 7.375554 - ] - ] - ], - [ - [ - [ - 143.920258, - 7.379721 - ], - [ - 143.914154, - 7.391388 - ], - [ - 143.911926, - 7.382499 - ], - [ - 143.920258, - 7.379721 - ] - ] - ], - [ - [ - [ - 151.63916, - 7.326666 - ], - [ - 151.608307, - 7.395277 - ], - [ - 151.5672, - 7.34111 - ], - [ - 151.63916, - 7.326666 - ] - ] - ], - [ - [ - [ - 151.911652, - 7.444999 - ], - [ - 151.866638, - 7.463888 - ], - [ - 151.85495, - 7.423888 - ], - [ - 151.911652, - 7.444999 - ] - ] - ], - [ - [ - [ - 146.193298, - 7.504167 - ], - [ - 146.187195, - 7.515555 - ], - [ - 146.179688, - 7.510833 - ], - [ - 146.193298, - 7.504167 - ] - ] - ], - [ - [ - [ - 149.674988, - 8.575554 - ], - [ - 149.688873, - 8.617496 - ], - [ - 149.659424, - 8.590275 - ], - [ - 149.674988, - 8.575554 - ] - ] - ], - [ - [ - [ - 150.378021, - 8.617496 - ], - [ - 150.366638, - 8.626387 - ], - [ - 150.373291, - 8.612776 - ], - [ - 150.378021, - 8.617496 - ] - ] - ], - [ - [ - [ - 150.130249, - 8.978331 - ], - [ - 150.128021, - 8.992496 - ], - [ - 150.118286, - 8.976387 - ], - [ - 150.130249, - 8.978331 - ] - ] - ], - [ - [ - [ - 138.209137, - 9.523888 - ], - [ - 138.133606, - 9.571943 - ], - [ - 138.060242, - 9.415276 - ], - [ - 138.209137, - 9.523888 - ] - ] - ] - ] - }, - "name" : "Micronesia, Federated States of", - "iso2" : "FM", - "iso3" : "FSM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "gr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -143.482483, - -27.914448 - ], - [ - -143.483917, - -27.900276 - ], - [ - -143.508911, - -27.890839 - ], - [ - -143.482483, - -27.914448 - ] - ] - ], - [ - [ - [ - -144.307526, - -27.642776 - ], - [ - -144.285553, - -27.577499 - ], - [ - -144.324738, - -27.553333 - ], - [ - -144.307526, - -27.642776 - ] - ] - ], - [ - [ - [ - -147.689758, - -23.881668 - ], - [ - -147.648621, - -23.853336 - ], - [ - -147.720306, - -23.865276 - ], - [ - -147.689758, - -23.881668 - ] - ] - ], - [ - [ - [ - -149.483337, - -23.401943 - ], - [ - -149.457214, - -23.361671 - ], - [ - -149.52533, - -23.373894 - ], - [ - -149.483337, - -23.401943 - ] - ] - ], - [ - [ - [ - -135.051941, - -23.163887 - ], - [ - -135.031708, - -23.143333 - ], - [ - -135.06308, - -23.156113 - ], - [ - -135.051941, - -23.163887 - ] - ] - ], - [ - [ - [ - -134.985535, - -23.139442 - ], - [ - -134.941406, - -23.085838 - ], - [ - -135.015564, - -23.12167 - ], - [ - -134.985535, - -23.139442 - ] - ] - ], - [ - [ - [ - -152.860016, - -22.656387 - ], - [ - -152.826416, - -22.634171 - ], - [ - -152.845551, - -22.605003 - ], - [ - -152.860016, - -22.656387 - ] - ] - ], - [ - [ - [ - -151.36557, - -22.518616 - ], - [ - -151.350281, - -22.464725 - ], - [ - -151.387817, - -22.425835 - ], - [ - -151.36557, - -22.518616 - ] - ] - ], - [ - [ - [ - -138.714722, - -22.271667 - ], - [ - -138.743591, - -22.204449 - ], - [ - -138.796661, - -22.22028 - ], - [ - -138.714722, - -22.271667 - ] - ] - ], - [ - [ - [ - -140.609467, - -21.71917 - ], - [ - -140.666687, - -21.655834 - ], - [ - -140.66864, - -21.708332 - ], - [ - -140.609467, - -21.71917 - ] - ] - ], - [ - [ - [ - -144.956146, - -19.923332 - ], - [ - -144.958344, - -19.895283 - ], - [ - -144.965027, - -19.929169 - ], - [ - -144.956146, - -19.923332 - ] - ] - ], - [ - [ - [ - -150.648071, - -17.662498 - ], - [ - -150.645294, - -17.642498 - ], - [ - -150.669464, - -17.645283 - ], - [ - -150.648071, - -17.662498 - ] - ] - ], - [ - [ - [ - -149.211426, - -17.733891 - ], - [ - -149.632507, - -17.549999 - ], - [ - -149.179199, - -17.870834 - ], - [ - -149.211426, - -17.733891 - ] - ] - ], - [ - [ - [ - -149.848602, - -17.573612 - ], - [ - -149.786133, - -17.46917 - ], - [ - -149.937256, - -17.484165 - ], - [ - -149.848602, - -17.573612 - ] - ] - ], - [ - [ - [ - -149.532257, - -16.974445 - ], - [ - -149.544189, - -16.964443 - ], - [ - -149.54306, - -16.974998 - ], - [ - -149.532257, - -16.974445 - ] - ] - ], - [ - [ - [ - -149.572266, - -16.969723 - ], - [ - -149.586121, - -16.956108 - ], - [ - -149.59198, - -16.980003 - ], - [ - -149.572266, - -16.969723 - ] - ] - ], - [ - [ - [ - -150.998322, - -16.824169 - ], - [ - -150.994476, - -16.762505 - ], - [ - -151.040039, - -16.786118 - ], - [ - -150.998322, - -16.824169 - ] - ] - ], - [ - [ - [ - -151.40033, - -16.888332 - ], - [ - -151.475037, - -16.740276 - ], - [ - -151.476654, - -16.895283 - ], - [ - -151.40033, - -16.888332 - ] - ] - ], - [ - [ - [ - -151.03833, - -16.769726 - ], - [ - -151.007233, - -16.74472 - ], - [ - -151.037537, - -16.693054 - ], - [ - -151.03833, - -16.769726 - ] - ] - ], - [ - [ - [ - -151.458344, - -16.673332 - ], - [ - -151.441101, - -16.599171 - ], - [ - -151.532257, - -16.589443 - ], - [ - -151.458344, - -16.673332 - ] - ] - ], - [ - [ - [ - -151.748627, - -16.534451 - ], - [ - -151.742249, - -16.490833 - ], - [ - -151.775879, - -16.473331 - ], - [ - -151.748627, - -16.534451 - ] - ] - ], - [ - [ - [ - -146.335846, - -16.164722 - ], - [ - -146.334991, - -16.113056 - ], - [ - -146.38446, - -16.110279 - ], - [ - -146.335846, - -16.164722 - ] - ] - ], - [ - [ - [ - -148.23526, - -15.848612 - ], - [ - -148.28363, - -15.800835 - ], - [ - -148.26532, - -15.846947 - ], - [ - -148.23526, - -15.848612 - ] - ] - ], - [ - [ - [ - -144.621948, - -15.74861 - ], - [ - -144.633667, - -15.708055 - ], - [ - -144.646393, - -15.73889 - ], - [ - -144.621948, - -15.74861 - ] - ] - ], - [ - [ - [ - -138.656708, - -10.549725 - ], - [ - -138.618347, - -10.465555 - ], - [ - -138.695587, - -10.431112 - ], - [ - -138.656708, - -10.549725 - ] - ] - ], - [ - [ - [ - -139.107483, - -9.978058 - ], - [ - -139.047791, - -9.914167 - ], - [ - -139.125824, - -9.906113 - ], - [ - -139.107483, - -9.978058 - ] - ] - ], - [ - [ - [ - -138.955261, - -9.743055 - ], - [ - -139.172546, - -9.780281 - ], - [ - -138.809479, - -9.744999 - ], - [ - -138.955261, - -9.743055 - ] - ] - ], - [ - [ - [ - -140.07724, - -9.450556 - ], - [ - -140.086121, - -9.324724 - ], - [ - -140.147827, - -9.380556 - ], - [ - -140.07724, - -9.450556 - ] - ] - ], - [ - [ - [ - -139.58252, - -8.87361 - ], - [ - -139.611969, - -8.95639 - ], - [ - -139.504181, - -8.917225 - ], - [ - -139.58252, - -8.87361 - ] - ] - ], - [ - [ - [ - -140.026428, - -8.901112 - ], - [ - -140.249756, - -8.802778 - ], - [ - -140.189453, - -8.954166 - ], - [ - -140.026428, - -8.901112 - ] - ] - ], - [ - [ - [ - -140.704712, - -8.044168 - ], - [ - -140.637817, - -7.959446 - ], - [ - -140.709747, - -7.965556 - ], - [ - -140.704712, - -8.044168 - ] - ] - ], - [ - [ - [ - -140.584991, - -7.92389 - ], - [ - -140.56308, - -7.888333 - ], - [ - -140.60614, - -7.913611 - ], - [ - -140.584991, - -7.92389 - ] - ] - ] - ] - }, - "name" : "French Polynesia", - "iso2" : "PF", - "iso3" : "PYF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "g71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 9.485832, - 42.615273 - ], - [ - 9.457777, - 42.643326 - ], - [ - 9.49472, - 42.603607 - ], - [ - 9.485832, - 42.615273 - ] - ] - ], - [ - [ - [ - 9.446665, - 42.678886 - ], - [ - 9.353054, - 43.003883 - ], - [ - 9.293888, - 42.675552 - ], - [ - 8.575832, - 42.383606 - ], - [ - 8.789165, - 41.558052 - ], - [ - 9.180832, - 41.364716 - ], - [ - 9.553333, - 42.115555 - ], - [ - 9.446665, - 42.678886 - ] - ] - ], - [ - [ - [ - -1.194445, - 45.822495 - ], - [ - -1.233056, - 45.964722 - ], - [ - -1.401667, - 46.050552 - ], - [ - -1.194445, - 45.822495 - ] - ] - ], - [ - [ - [ - -1.260834, - 46.156387 - ], - [ - -1.474445, - 46.255829 - ], - [ - -1.553056, - 46.244995 - ], - [ - -1.260834, - 46.156387 - ] - ] - ], - [ - [ - [ - -2.270833, - 46.693329 - ], - [ - -2.385, - 46.725555 - ], - [ - -2.363889, - 46.698051 - ], - [ - -2.270833, - 46.693329 - ] - ] - ], - [ - [ - [ - -2.196945, - 47.01722 - ], - [ - -2.284722, - 47.020554 - ], - [ - -2.145, - 46.90583 - ], - [ - -2.196945, - 47.01722 - ] - ] - ], - [ - [ - [ - -3.066667, - 47.306664 - ], - [ - -3.258611, - 47.376106 - ], - [ - -3.215834, - 47.302498 - ], - [ - -3.066667, - 47.306664 - ] - ] - ], - [ - [ - [ - -5.055, - 48.454163 - ], - [ - -5.064723, - 48.483055 - ], - [ - -5.134723, - 48.458328 - ], - [ - -5.055, - 48.454163 - ] - ] - ], - [ - [ - [ - -3.576667, - 48.803886 - ], - [ - -3.563334, - 48.808609 - ], - [ - -3.575556, - 48.812492 - ], - [ - -3.576667, - 48.803886 - ] - ] - ], - [ - [ - [ - 2.541667, - 51.09111 - ], - [ - 1.625, - 50.877777 - ], - [ - 1.461111, - 50.124161 - ], - [ - 0.074167, - 49.526665 - ], - [ - 0.424722, - 49.45166 - ], - [ - -1.113889, - 49.365273 - ], - [ - -1.264167, - 49.684166 - ], - [ - -1.941667, - 49.723885 - ], - [ - -1.368889, - 48.643608 - ], - [ - -2.685278, - 48.501663 - ], - [ - -3.220834, - 48.870552 - ], - [ - -4.777779, - 48.509438 - ], - [ - -4.186111, - 48.299995 - ], - [ - -4.726142, - 48.040581 - ], - [ - -4.366389, - 47.804161 - ], - [ - -3.106389, - 47.472221 - ], - [ - -2.698056, - 47.637215 - ], - [ - -2.361111, - 47.504166 - ], - [ - -2.540278, - 47.296661 - ], - [ - -2.289167, - 47.238884 - ], - [ - -2.003334, - 47.31916 - ], - [ - -1.728611, - 47.210831 - ], - [ - -2.134167, - 47.278053 - ], - [ - -2.170834, - 47.126663 - ], - [ - -1.984167, - 47.034439 - ], - [ - -2.130834, - 46.838333 - ], - [ - -1.114635, - 46.316582 - ], - [ - -1.067778, - 45.908882 - ], - [ - -1.240834, - 45.70166 - ], - [ - -0.776667, - 45.461105 - ], - [ - -0.536667, - 44.895554 - ], - [ - -1.083889, - 45.564438 - ], - [ - -1.250278, - 44.662498 - ], - [ - -1.036111, - 44.675278 - ], - [ - -1.780877, - 43.359924 - ], - [ - -0.562222, - 42.781387 - ], - [ - 1.445833, - 42.601944 - ], - [ - 1.78172, - 42.569962 - ], - [ - 1.723611, - 42.509438 - ], - [ - 3.177655, - 42.436806 - ], - [ - 3.081388, - 43.069443 - ], - [ - 3.964722, - 43.540833 - ], - [ - 5.031388, - 43.556664 - ], - [ - 6.165277, - 43.050552 - ], - [ - 7.391609, - 43.727547 - ], - [ - 7.387777, - 43.748604 - ], - [ - 7.416111, - 43.770554 - ], - [ - 7.439293, - 43.757523 - ], - [ - 7.528055, - 43.788605 - ], - [ - 7.662222, - 44.17083 - ], - [ - 6.976388, - 44.284164 - ], - [ - 7.031666, - 44.831383 - ], - [ - 6.61976, - 45.110138 - ], - [ - 7.127777, - 45.257774 - ], - [ - 6.79897, - 45.78067 - ], - [ - 7.038054, - 45.931938 - ], - [ - 6.791389, - 46.434166 - ], - [ - 5.966666, - 46.209442 - ], - [ - 6.990555, - 47.497215 - ], - [ - 7.588268, - 47.58448 - ], - [ - 7.578888, - 48.11972 - ], - [ - 8.226078, - 48.964417 - ], - [ - 6.36217, - 49.459389 - ], - [ - 5.80788, - 49.545044 - ], - [ - 4.873055, - 49.797218 - ], - [ - 4.832503, - 50.16861 - ], - [ - 4.149238, - 49.978371 - ], - [ - 4.165, - 50.283051 - ], - [ - 2.541667, - 51.09111 - ] - ] - ] - ] - }, - "name" : "France", - "iso2" : "FR", - "iso3" : "FRA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "hL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -16.56567, - 13.589998 - ], - [ - -16.394726, - 13.330555 - ], - [ - -16.14389, - 13.454166 - ], - [ - -15.295834, - 13.491665 - ], - [ - -16.162224, - 13.425278 - ], - [ - -16.200836, - 13.251665 - ], - [ - -16.73167, - 13.44972 - ], - [ - -16.750874, - 13.059977 - ], - [ - -15.809723, - 13.159721 - ], - [ - -15.803612, - 13.347776 - ], - [ - -15.285002, - 13.374443 - ], - [ - -15.111668, - 13.595833 - ], - [ - -14.351112, - 13.237778 - ], - [ - -13.798613, - 13.406387 - ], - [ - -15.070278, - 13.826387 - ], - [ - -16.56567, - 13.589998 - ] - ] - ] - }, - "name" : "Gambia", - "iso2" : "GM", - "iso3" : "GMB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "hb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 9.007776, - -0.767778 - ], - [ - 9.006666, - -0.598888 - ], - [ - 8.946665, - -0.658333 - ], - [ - 9.007776, - -0.767778 - ] - ] - ], - [ - [ - [ - 12.523611, - 2.283335 - ], - [ - 11.339766, - 2.168612 - ], - [ - 11.353888, - 1.001944 - ], - [ - 9.803976, - 1.002607 - ], - [ - 9.564722, - 0.983057 - ], - [ - 9.6, - 0.481112 - ], - [ - 9.30361, - 0.528334 - ], - [ - 9.92111, - 0.185278 - ], - [ - 9.347502, - 0.363058 - ], - [ - 9.298334, - -0.371666 - ], - [ - 9.013887, - -0.819166 - ], - [ - 8.710001, - -0.641111 - ], - [ - 9.513887, - -1.596666 - ], - [ - 8.983057, - -1.234167 - ], - [ - 9.615278, - -2.376667 - ], - [ - 10.130556, - -2.52 - ], - [ - 9.700834, - -2.445555 - ], - [ - 11.140661, - -3.925276 - ], - [ - 11.496946, - -3.506945 - ], - [ - 11.925833, - -3.636944 - ], - [ - 11.574167, - -2.333332 - ], - [ - 12.478056, - -2.327221 - ], - [ - 12.65, - -1.8225 - ], - [ - 13.001509, - -2.367672 - ], - [ - 13.482779, - -2.4375 - ], - [ - 13.76222, - -2.088888 - ], - [ - 14.110834, - -2.493055 - ], - [ - 14.429724, - -1.891666 - ], - [ - 14.51861, - -0.609167 - ], - [ - 13.848333, - -0.19861 - ], - [ - 14.487223, - 0.91361 - ], - [ - 14.18889, - 1.39139 - ], - [ - 13.186785, - 1.222475 - ], - [ - 13.29389, - 2.16361 - ], - [ - 12.523611, - 2.283335 - ] - ], - [ - [ - 9.554445, - 0.274446 - ], - [ - 9.538057, - 0.270834 - ], - [ - 9.544443, - 0.285002 - ], - [ - 9.554445, - 0.274446 - ] - ] - ] - ] - }, - "name" : "Gabon", - "iso2" : "GA", - "iso3" : "GAB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "hr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 43.46077, - 41.112961 - ], - [ - 45.022942, - 41.29705 - ], - [ - 45.336655, - 41.462494 - ], - [ - 46.520821, - 41.049988 - ], - [ - 46.693871, - 41.312202 - ], - [ - 46.194427, - 41.685822 - ], - [ - 46.451752, - 41.897057 - ], - [ - 44.934708, - 42.760277 - ], - [ - 43.911934, - 42.583321 - ], - [ - 42.849991, - 43.179153 - ], - [ - 40.253387, - 43.58252 - ], - [ - 40.002968, - 43.379265 - ], - [ - 41.428596, - 42.738045 - ], - [ - 41.547623, - 42.405777 - ], - [ - 41.776093, - 41.841927 - ], - [ - 41.531559, - 41.523876 - ], - [ - 42.827492, - 41.584991 - ], - [ - 43.46077, - 41.112961 - ] - ] - ] - }, - "name" : "Georgia", - "iso2" : "GE", - "iso3" : "GEO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "h71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -3.103041, - 5.085022 - ], - [ - -2.058889, - 4.730833 - ], - [ - -1.613333, - 5.020833 - ], - [ - -0.795556, - 5.208055 - ], - [ - 0.255833, - 5.757777 - ], - [ - 0.662222, - 5.754167 - ], - [ - 0.63953, - 5.845486 - ], - [ - 0.488889, - 6.043611 - ], - [ - 0.208197, - 6.089699 - ], - [ - 0.51209, - 6.055245 - ], - [ - 0.634444, - 5.948055 - ], - [ - 0.692222, - 5.748055 - ], - [ - 1.198891, - 6.100546 - ], - [ - 0.525, - 6.947778 - ], - [ - 0.727222, - 8.321388 - ], - [ - 0.382735, - 8.760756 - ], - [ - 0.550833, - 9.411388 - ], - [ - 0.2175, - 9.457222 - ], - [ - 0.368333, - 10.259443 - ], - [ - -0.149762, - 11.13854 - ], - [ - -0.618333, - 10.911665 - ], - [ - -2.834048, - 11.002007 - ], - [ - -2.685561, - 9.481817 - ], - [ - -2.487778, - 8.197777 - ], - [ - -3.249167, - 6.611388 - ], - [ - -2.764445, - 5.579166 - ], - [ - -2.928128, - 5.100222 - ], - [ - -3.102272, - 5.109545 - ], - [ - -3.103041, - 5.085022 - ] - ] - ] - }, - "name" : "Ghana", - "iso2" : "GH", - "iso3" : "GHA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "iL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -61.746948, - 11.997499 - ], - [ - -61.628616, - 12.048054 - ], - [ - -61.611946, - 12.23111 - ], - [ - -61.746948, - 11.997499 - ] - ] - ], - [ - [ - [ - -61.580002, - 12.295555 - ], - [ - -61.578896, - 12.323055 - ], - [ - -61.589172, - 12.298054 - ], - [ - -61.580002, - 12.295555 - ] - ] - ], - [ - [ - [ - -61.428337, - 12.453609 - ], - [ - -61.434448, - 12.529165 - ], - [ - -61.496948, - 12.443609 - ], - [ - -61.428337, - 12.453609 - ] - ] - ] - ] - }, - "name" : "Grenada", - "iso2" : "GD", - "iso3" : "GRD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ib1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -43.648056, - 59.84749 - ], - [ - -43.958054, - 59.979715 - ], - [ - -44.115555, - 59.829165 - ], - [ - -43.648056, - 59.84749 - ] - ] - ], - [ - [ - [ - -43.295006, - 59.920832 - ], - [ - -43.20417, - 59.968325 - ], - [ - -43.327782, - 59.997217 - ], - [ - -43.295006, - 59.920832 - ] - ] - ], - [ - [ - [ - -44.313889, - 59.871935 - ], - [ - -43.992226, - 60.008333 - ], - [ - -44.244164, - 60.011667 - ], - [ - -44.313889, - 59.871935 - ] - ] - ], - [ - [ - [ - -43.399994, - 59.926104 - ], - [ - -43.453331, - 60.03805 - ], - [ - -43.509171, - 59.912493 - ], - [ - -43.399994, - 59.926104 - ] - ] - ], - [ - [ - [ - -43.354172, - 60.084436 - ], - [ - -44.132774, - 60.140833 - ], - [ - -43.131111, - 60.055269 - ], - [ - -43.354172, - 60.084436 - ] - ] - ], - [ - [ - [ - -44.409439, - 59.947771 - ], - [ - -44.201668, - 60.046106 - ], - [ - -44.434441, - 60.141382 - ], - [ - -44.497498, - 60.008608 - ], - [ - -44.409439, - 59.947771 - ] - ] - ], - [ - [ - [ - -45.232498, - 60.143328 - ], - [ - -45.266113, - 60.187494 - ], - [ - -45.299995, - 60.14583 - ], - [ - -45.232498, - 60.143328 - ] - ] - ], - [ - [ - [ - -45.365004, - 60.185266 - ], - [ - -45.152222, - 60.376383 - ], - [ - -45.353889, - 60.382494 - ], - [ - -45.365004, - 60.185266 - ] - ] - ], - [ - [ - [ - -45.95472, - 60.615549 - ], - [ - -45.783333, - 60.660822 - ], - [ - -45.961388, - 60.683878 - ], - [ - -45.982773, - 60.67277 - ], - [ - -45.996948, - 60.626657 - ], - [ - -45.95472, - 60.615549 - ] - ] - ], - [ - [ - [ - -45.888611, - 60.695826 - ], - [ - -46.00695, - 60.706385 - ], - [ - -46.20472, - 60.67277 - ], - [ - -46.091942, - 60.635553 - ], - [ - -45.985203, - 60.692228 - ], - [ - -45.888611, - 60.695826 - ] - ] - ], - [ - [ - [ - -46.345551, - 60.668055 - ], - [ - -46.277222, - 60.772219 - ], - [ - -46.499443, - 60.69916 - ], - [ - -46.345551, - 60.668055 - ] - ] - ], - [ - [ - [ - -47.754173, - 60.804712 - ], - [ - -48.238892, - 60.795549 - ], - [ - -47.902779, - 60.676386 - ], - [ - -47.754173, - 60.804712 - ] - ] - ], - [ - [ - [ - -46.980278, - 60.772768 - ], - [ - -47.011116, - 60.808046 - ], - [ - -47.049446, - 60.805269 - ], - [ - -46.980278, - 60.772768 - ] - ] - ], - [ - [ - [ - -47.161385, - 60.798052 - ], - [ - -47.152779, - 60.816668 - ], - [ - -47.226944, - 60.818056 - ], - [ - -47.161385, - 60.798052 - ] - ] - ], - [ - [ - [ - -47.231384, - 60.841936 - ], - [ - -47.178337, - 60.871935 - ], - [ - -47.258614, - 60.855829 - ], - [ - -47.231384, - 60.841936 - ] - ] - ], - [ - [ - [ - -47.101944, - 60.822771 - ], - [ - -47.083611, - 60.874712 - ], - [ - -47.192497, - 60.835825 - ], - [ - -47.101944, - 60.822771 - ] - ] - ], - [ - [ - [ - -46.753616, - 60.750277 - ], - [ - -46.164444, - 60.922495 - ], - [ - -46.845001, - 60.760553 - ], - [ - -46.753616, - 60.750277 - ] - ] - ], - [ - [ - [ - -47.029442, - 60.897219 - ], - [ - -46.958054, - 60.925554 - ], - [ - -47.050278, - 60.895273 - ], - [ - -47.029442, - 60.897219 - ] - ] - ], - [ - [ - [ - -47.140839, - 60.87916 - ], - [ - -47.073334, - 60.926661 - ], - [ - -47.171669, - 60.883608 - ], - [ - -47.140839, - 60.87916 - ] - ] - ], - [ - [ - [ - -46.466393, - 60.92222 - ], - [ - -46.429443, - 60.975824 - ], - [ - -46.518608, - 60.993608 - ], - [ - -46.526665, - 60.988886 - ], - [ - -46.514168, - 60.930552 - ], - [ - -46.466393, - 60.92222 - ] - ] - ], - [ - [ - [ - -48.073616, - 61.053881 - ], - [ - -48.243332, - 61.098604 - ], - [ - -48.370552, - 61.078608 - ], - [ - -48.073616, - 61.053881 - ] - ] - ], - [ - [ - [ - -48.934441, - 61.249163 - ], - [ - -48.724167, - 61.291384 - ], - [ - -48.874168, - 61.301386 - ], - [ - -48.934441, - 61.249163 - ] - ] - ], - [ - [ - [ - -48.583328, - 61.312769 - ], - [ - -48.523331, - 61.361109 - ], - [ - -48.833061, - 61.334993 - ], - [ - -48.583328, - 61.312769 - ] - ] - ], - [ - [ - [ - -42.453056, - 61.441378 - ], - [ - -42.389725, - 61.488886 - ], - [ - -42.496666, - 61.454996 - ], - [ - -42.453056, - 61.441378 - ] - ] - ], - [ - [ - [ - -49.089722, - 61.633333 - ], - [ - -49.149445, - 61.700548 - ], - [ - -49.194443, - 61.66221 - ], - [ - -49.089722, - 61.633333 - ] - ] - ], - [ - [ - [ - -49.392227, - 61.706942 - ], - [ - -49.349998, - 61.743052 - ], - [ - -49.485275, - 61.75139 - ], - [ - -49.392227, - 61.706942 - ] - ] - ], - [ - [ - [ - -42.269165, - 61.750277 - ], - [ - -42.121109, - 61.772768 - ], - [ - -42.084442, - 61.874994 - ], - [ - -42.269165, - 61.750277 - ] - ] - ], - [ - [ - [ - -49.440552, - 61.874712 - ], - [ - -49.419449, - 61.930552 - ], - [ - -49.634171, - 61.930826 - ], - [ - -49.440552, - 61.874712 - ] - ] - ], - [ - [ - [ - -49.66333, - 62.180277 - ], - [ - -49.650276, - 62.237772 - ], - [ - -49.79834, - 62.213884 - ], - [ - -49.66333, - 62.180277 - ] - ] - ], - [ - [ - [ - -42.277222, - 62.577219 - ], - [ - -42.125557, - 62.496386 - ], - [ - -42.131111, - 62.564714 - ], - [ - -42.277222, - 62.577219 - ] - ] - ], - [ - [ - [ - -41.996109, - 62.774996 - ], - [ - -42.447777, - 62.75139 - ], - [ - -41.861946, - 62.73472 - ], - [ - -41.996109, - 62.774996 - ] - ] - ], - [ - [ - [ - -41.561386, - 62.873606 - ], - [ - -41.458336, - 63.01639 - ], - [ - -41.588608, - 63.002497 - ], - [ - -41.561386, - 62.873606 - ] - ] - ], - [ - [ - [ - -50.636665, - 63.073885 - ], - [ - -50.755005, - 63.061937 - ], - [ - -50.67028, - 63.02527 - ], - [ - -50.636665, - 63.073885 - ] - ] - ], - [ - [ - [ - -41.333885, - 63.050272 - ], - [ - -41.373329, - 63.109995 - ], - [ - -41.52639, - 63.081385 - ], - [ - -41.333885, - 63.050272 - ] - ] - ], - [ - [ - [ - -41.209442, - 63.15777 - ], - [ - -41.466393, - 63.171381 - ], - [ - -41.184441, - 63.122766 - ], - [ - -41.209442, - 63.15777 - ] - ] - ], - [ - [ - [ - -50.799728, - 63.081667 - ], - [ - -50.682777, - 63.116663 - ], - [ - -50.788055, - 63.186655 - ], - [ - -50.799728, - 63.081667 - ] - ] - ], - [ - [ - [ - -50.618057, - 63.114717 - ], - [ - -50.468605, - 63.153322 - ], - [ - -50.612221, - 63.201662 - ], - [ - -50.618057, - 63.114717 - ] - ] - ], - [ - [ - [ - -41.095833, - 63.221102 - ], - [ - -41.871941, - 63.466661 - ], - [ - -41.430832, - 63.231379 - ], - [ - -41.095833, - 63.221102 - ] - ] - ], - [ - [ - [ - -51.273613, - 63.476938 - ], - [ - -51.20472, - 63.499163 - ], - [ - -51.358055, - 63.483332 - ], - [ - -51.273613, - 63.476938 - ] - ] - ], - [ - [ - [ - -52.000839, - 64.127764 - ], - [ - -51.90583, - 64.188875 - ], - [ - -52.063614, - 64.163881 - ], - [ - -52.000839, - 64.127764 - ] - ] - ], - [ - [ - [ - -40.674171, - 64.291368 - ], - [ - -41.05278, - 64.232759 - ], - [ - -40.679443, - 64.208605 - ], - [ - -40.674171, - 64.291368 - ] - ] - ], - [ - [ - [ - -41.125557, - 64.288317 - ], - [ - -41.296951, - 64.317217 - ], - [ - -41.374168, - 64.28499 - ], - [ - -41.125557, - 64.288317 - ] - ] - ], - [ - [ - [ - -51.567223, - 64.256105 - ], - [ - -51.321388, - 64.326387 - ], - [ - -51.43972, - 64.36249 - ], - [ - -51.567223, - 64.256105 - ] - ] - ], - [ - [ - [ - -51.239723, - 64.214708 - ], - [ - -50.819168, - 64.541658 - ], - [ - -51.025002, - 64.549425 - ], - [ - -51.341942, - 64.253328 - ], - [ - -51.239723, - 64.214708 - ] - ] - ], - [ - [ - [ - -51.323616, - 64.373598 - ], - [ - -51.091942, - 64.566668 - ], - [ - -51.421387, - 64.413317 - ], - [ - -51.323616, - 64.373598 - ] - ] - ], - [ - [ - [ - -52.083061, - 64.591372 - ], - [ - -52.119995, - 64.629152 - ], - [ - -52.14917, - 64.627199 - ], - [ - -52.141945, - 64.597765 - ], - [ - -52.083061, - 64.591372 - ] - ] - ], - [ - [ - [ - -40.18, - 64.431093 - ], - [ - -40.542778, - 64.844149 - ], - [ - -40.864723, - 64.908602 - ], - [ - -40.18, - 64.431093 - ] - ] - ], - [ - [ - [ - -40.495834, - 65.015276 - ], - [ - -40.556389, - 65.073885 - ], - [ - -40.625275, - 65.038591 - ], - [ - -40.495834, - 65.015276 - ] - ] - ], - [ - [ - [ - -52.396666, - 65.109423 - ], - [ - -52.245003, - 65.181658 - ], - [ - -52.361389, - 65.186922 - ], - [ - -52.396666, - 65.109423 - ] - ] - ], - [ - [ - [ - -39.494446, - 65.319994 - ], - [ - -39.804443, - 65.333879 - ], - [ - -39.564444, - 65.265825 - ], - [ - -39.494446, - 65.319994 - ] - ] - ], - [ - [ - [ - -39.277779, - 65.461382 - ], - [ - -39.238892, - 65.508608 - ], - [ - -39.386948, - 65.50194 - ], - [ - -39.277779, - 65.461382 - ] - ] - ], - [ - [ - [ - -52.928337, - 65.425264 - ], - [ - -52.871941, - 65.513613 - ], - [ - -53.087776, - 65.492479 - ], - [ - -52.928337, - 65.425264 - ] - ] - ], - [ - [ - [ - -38.849167, - 65.518602 - ], - [ - -38.761116, - 65.541658 - ], - [ - -38.958611, - 65.517763 - ], - [ - -38.849167, - 65.518602 - ] - ] - ], - [ - [ - [ - -37.037506, - 65.532763 - ], - [ - -37.213333, - 65.578051 - ], - [ - -37.191536, - 65.532625 - ], - [ - -37.037506, - 65.532763 - ] - ] - ], - [ - [ - [ - -52.995003, - 65.548876 - ], - [ - -52.848053, - 65.644152 - ], - [ - -53.232498, - 65.59833 - ], - [ - -52.995003, - 65.548876 - ] - ] - ], - [ - [ - [ - -36.995552, - 65.584429 - ], - [ - -36.992226, - 65.701097 - ], - [ - -37.212502, - 65.68442 - ], - [ - -36.995552, - 65.584429 - ] - ] - ], - [ - [ - [ - -37.394165, - 65.813601 - ], - [ - -37.989166, - 65.69832 - ], - [ - -37.485001, - 65.60721 - ], - [ - -37.394165, - 65.813601 - ] - ] - ], - [ - [ - [ - -36.79834, - 65.750551 - ], - [ - -36.776947, - 65.863878 - ], - [ - -36.942772, - 65.819719 - ], - [ - -36.79834, - 65.750551 - ] - ] - ], - [ - [ - [ - -36.319725, - 65.821932 - ], - [ - -36.18306, - 65.878038 - ], - [ - -36.371109, - 65.877474 - ], - [ - -36.319725, - 65.821932 - ] - ] - ], - [ - [ - [ - -36.619995, - 65.795259 - ], - [ - -36.507225, - 65.956942 - ], - [ - -36.748337, - 65.909716 - ], - [ - -36.736664, - 65.801653 - ], - [ - -36.619995, - 65.795259 - ] - ] - ], - [ - [ - [ - -53.525276, - 66.042482 - ], - [ - -53.423058, - 66.084429 - ], - [ - -53.679726, - 66.081942 - ], - [ - -53.525276, - 66.042482 - ] - ] - ], - [ - [ - [ - -35.499725, - 66.17415 - ], - [ - -35.385002, - 66.240816 - ], - [ - -35.537506, - 66.225542 - ], - [ - -35.499725, - 66.17415 - ] - ] - ], - [ - [ - [ - -33.861946, - 66.793871 - ], - [ - -33.884445, - 66.872484 - ], - [ - -33.970551, - 66.839708 - ], - [ - -33.861946, - 66.793871 - ] - ] - ], - [ - [ - [ - -53.070839, - 66.866091 - ], - [ - -53.464165, - 66.798876 - ], - [ - -52.868233, - 66.897219 - ], - [ - -53.070839, - 66.866091 - ] - ] - ], - [ - [ - [ - -33.431114, - 67.142214 - ], - [ - -33.342224, - 67.204714 - ], - [ - -33.476105, - 67.180544 - ], - [ - -33.431114, - 67.142214 - ] - ] - ], - [ - [ - [ - -33.252228, - 67.295259 - ], - [ - -33.25695, - 67.376085 - ], - [ - -33.327782, - 67.336107 - ], - [ - -33.252228, - 67.295259 - ] - ] - ], - [ - [ - [ - -53.65889, - 67.675814 - ], - [ - -53.587776, - 67.733599 - ], - [ - -53.763062, - 67.776934 - ], - [ - -53.65889, - 67.675814 - ] - ] - ], - [ - [ - [ - -53.347221, - 68.009996 - ], - [ - -53.225273, - 68.058596 - ], - [ - -53.473053, - 68.069155 - ], - [ - -53.347221, - 68.009996 - ] - ] - ], - [ - [ - [ - -51.293335, - 68.100817 - ], - [ - -51.205275, - 68.121645 - ], - [ - -52.007507, - 68.076662 - ], - [ - -51.293335, - 68.100817 - ] - ] - ], - [ - [ - [ - -29.838055, - 68.140825 - ], - [ - -29.694721, - 68.208605 - ], - [ - -30.011669, - 68.207491 - ], - [ - -29.838055, - 68.140825 - ] - ] - ], - [ - [ - [ - -52.070839, - 68.115267 - ], - [ - -51.45417, - 68.257769 - ], - [ - -52.315834, - 68.168871 - ], - [ - -52.070839, - 68.115267 - ] - ] - ], - [ - [ - [ - -52.988892, - 68.357759 - ], - [ - -52.854172, - 68.433321 - ], - [ - -53.019722, - 68.494432 - ], - [ - -53.211945, - 68.401384 - ], - [ - -52.988892, - 68.357759 - ] - ] - ], - [ - [ - [ - -52.64167, - 68.529985 - ], - [ - -52.439438, - 68.560808 - ], - [ - -52.694717, - 68.546099 - ], - [ - -52.64167, - 68.529985 - ] - ] - ], - [ - [ - [ - -52.749725, - 68.484713 - ], - [ - -52.809441, - 68.568605 - ], - [ - -52.884171, - 68.548876 - ], - [ - -52.749725, - 68.484713 - ] - ] - ], - [ - [ - [ - -51.94194, - 68.594439 - ], - [ - -51.803329, - 68.627199 - ], - [ - -52.421387, - 68.571383 - ], - [ - -51.94194, - 68.594439 - ] - ] - ], - [ - [ - [ - -51.035278, - 68.639437 - ], - [ - -51.12944, - 68.682756 - ], - [ - -51.232773, - 68.666658 - ], - [ - -51.035278, - 68.639437 - ] - ] - ], - [ - [ - [ - -52.134726, - 68.701097 - ], - [ - -52.634171, - 68.710268 - ], - [ - -53.120552, - 68.56415 - ], - [ - -52.134726, - 68.701097 - ] - ] - ], - [ - [ - [ - -23.286667, - 69.6411 - ], - [ - -23.289444, - 69.738314 - ], - [ - -23.593056, - 69.713045 - ], - [ - -23.286667, - 69.6411 - ] - ] - ], - [ - [ - [ - -50.50528, - 69.810534 - ], - [ - -50.409721, - 69.861101 - ], - [ - -50.606392, - 69.856371 - ], - [ - -50.50528, - 69.810534 - ] - ] - ], - [ - [ - [ - -50.923332, - 69.892763 - ], - [ - -51.388054, - 69.705263 - ], - [ - -50.958336, - 69.550539 - ], - [ - -50.653885, - 69.836657 - ], - [ - -50.923332, - 69.892763 - ] - ] - ], - [ - [ - [ - -52.693054, - 69.917482 - ], - [ - -54.429169, - 70.30971 - ], - [ - -54.829727, - 70.078325 - ], - [ - -54.229439, - 69.913042 - ], - [ - -54.936111, - 69.845537 - ], - [ - -54.389442, - 69.675264 - ], - [ - -54.994446, - 69.694704 - ], - [ - -53.347496, - 69.579714 - ], - [ - -54.269165, - 69.402208 - ], - [ - -53.574722, - 69.229433 - ], - [ - -51.833328, - 69.626085 - ], - [ - -52.693054, - 69.917482 - ] - ] - ], - [ - [ - [ - -54.661385, - 70.372484 - ], - [ - -55.027779, - 70.483049 - ], - [ - -54.934723, - 70.375536 - ], - [ - -54.661385, - 70.372484 - ] - ] - ], - [ - [ - [ - -51.512779, - 70.653872 - ], - [ - -51.692497, - 70.72777 - ], - [ - -51.861671, - 70.722216 - ], - [ - -51.512779, - 70.653872 - ] - ] - ], - [ - [ - [ - -27.685276, - 70.733873 - ], - [ - -27.276112, - 70.874987 - ], - [ - -27.736942, - 70.882204 - ], - [ - -27.685276, - 70.733873 - ] - ] - ], - [ - [ - [ - -25.394722, - 70.911654 - ], - [ - -27.14959, - 70.874392 - ], - [ - -28.136665, - 70.454714 - ], - [ - -26.029724, - 70.521105 - ], - [ - -25.294445, - 70.659716 - ], - [ - -25.394722, - 70.911654 - ] - ] - ], - [ - [ - [ - -51.565834, - 70.864702 - ], - [ - -52.023056, - 70.979158 - ], - [ - -52.162216, - 70.88666 - ], - [ - -51.565834, - 70.864702 - ] - ] - ], - [ - [ - [ - -25.308891, - 71.014437 - ], - [ - -25.460556, - 71.104158 - ], - [ - -25.579166, - 71.102205 - ], - [ - -25.308891, - 71.014437 - ] - ] - ], - [ - [ - [ - -25.282501, - 71.131929 - ], - [ - -25.359722, - 71.205263 - ], - [ - -25.472775, - 71.150545 - ], - [ - -25.282501, - 71.131929 - ] - ] - ], - [ - [ - [ - -53.64917, - 71.024157 - ], - [ - -53.376389, - 71.114992 - ], - [ - -53.598053, - 71.313311 - ], - [ - -53.99028, - 71.131365 - ], - [ - -53.64917, - 71.024157 - ] - ] - ], - [ - [ - [ - -52.571388, - 71.346102 - ], - [ - -53.184441, - 71.321383 - ], - [ - -52.328339, - 71.287767 - ], - [ - -52.571388, - 71.346102 - ] - ] - ], - [ - [ - [ - -53.133614, - 71.661928 - ], - [ - -53.474442, - 71.652483 - ], - [ - -52.756111, - 71.660265 - ], - [ - -53.133614, - 71.661928 - ] - ] - ], - [ - [ - [ - -55.559166, - 71.819155 - ], - [ - -55.409996, - 71.890276 - ], - [ - -55.805557, - 71.878862 - ], - [ - -55.559166, - 71.819155 - ] - ] - ], - [ - [ - [ - -55.796112, - 72.070543 - ], - [ - -55.725273, - 72.126085 - ], - [ - -55.938606, - 72.079439 - ], - [ - -55.796112, - 72.070543 - ] - ] - ], - [ - [ - [ - -55.374168, - 72.159716 - ], - [ - -55.015282, - 72.377199 - ], - [ - -55.688889, - 72.198595 - ], - [ - -55.374168, - 72.159716 - ] - ] - ], - [ - [ - [ - -55.065002, - 72.52527 - ], - [ - -55.030556, - 72.588884 - ], - [ - -55.383331, - 72.545259 - ], - [ - -55.065002, - 72.52527 - ] - ] - ], - [ - [ - [ - -55.650276, - 72.582491 - ], - [ - -55.943054, - 72.593599 - ], - [ - -55.99472, - 72.557482 - ], - [ - -55.650276, - 72.582491 - ] - ] - ], - [ - [ - [ - -55.131943, - 72.600817 - ], - [ - -54.946663, - 72.672213 - ], - [ - -55.262222, - 72.597765 - ], - [ - -55.131943, - 72.600817 - ] - ] - ], - [ - [ - [ - -54.832504, - 72.695528 - ], - [ - -54.872498, - 72.756945 - ], - [ - -55.0625, - 72.718325 - ], - [ - -54.832504, - 72.695528 - ] - ] - ], - [ - [ - [ - -55.70417, - 72.714998 - ], - [ - -55.639442, - 72.777773 - ], - [ - -56.226105, - 72.706102 - ], - [ - -55.70417, - 72.714998 - ] - ] - ], - [ - [ - [ - -55.285561, - 72.681093 - ], - [ - -54.964722, - 72.811373 - ], - [ - -55.849442, - 72.611376 - ], - [ - -55.285561, - 72.681093 - ] - ] - ], - [ - [ - [ - -55.946663, - 72.82361 - ], - [ - -55.992226, - 72.786654 - ], - [ - -55.801666, - 72.792482 - ], - [ - -55.946663, - 72.82361 - ] - ] - ], - [ - [ - [ - -23.608612, - 72.834993 - ], - [ - -24.484444, - 72.825823 - ], - [ - -22.562778, - 72.138887 - ], - [ - -22.134167, - 72.271654 - ], - [ - -22.756947, - 72.441362 - ], - [ - -21.932499, - 72.399157 - ], - [ - -23.608612, - 72.834993 - ] - ] - ], - [ - [ - [ - -55.586388, - 72.890276 - ], - [ - -55.536667, - 72.822496 - ], - [ - -55.352501, - 72.852205 - ], - [ - -55.586388, - 72.890276 - ] - ] - ], - [ - [ - [ - -24.896666, - 72.777773 - ], - [ - -24.771389, - 72.910814 - ], - [ - -25.210831, - 72.851656 - ], - [ - -24.896666, - 72.777773 - ] - ] - ], - [ - [ - [ - -22.549168, - 73.007219 - ], - [ - -24.58889, - 72.957491 - ], - [ - -21.865833, - 72.713884 - ], - [ - -22.549168, - 73.007219 - ] - ] - ], - [ - [ - [ - -55.753334, - 73.011385 - ], - [ - -55.693886, - 73.032213 - ], - [ - -55.889725, - 73.02582 - ], - [ - -55.753334, - 73.011385 - ] - ] - ], - [ - [ - [ - -55.075562, - 72.965548 - ], - [ - -55.518608, - 73.045824 - ], - [ - -55.689163, - 72.993593 - ], - [ - -55.075562, - 72.965548 - ] - ] - ], - [ - [ - [ - -21.353333, - 73.091372 - ], - [ - -21.173054, - 73.134432 - ], - [ - -21.462776, - 73.118593 - ], - [ - -21.353333, - 73.091372 - ] - ] - ], - [ - [ - [ - -56.201942, - 73.15555 - ], - [ - -56.273331, - 73.218874 - ], - [ - -56.331673, - 73.172213 - ], - [ - -56.201942, - 73.15555 - ] - ] - ], - [ - [ - [ - -56.097778, - 73.086382 - ], - [ - -55.815552, - 73.224703 - ], - [ - -56.01722, - 73.228594 - ], - [ - -56.097778, - 73.086382 - ] - ] - ], - [ - [ - [ - -55.686386, - 73.282763 - ], - [ - -55.654167, - 73.356371 - ], - [ - -55.871666, - 73.327776 - ], - [ - -55.686386, - 73.282763 - ] - ] - ], - [ - [ - [ - -55.953888, - 73.29915 - ], - [ - -55.830833, - 73.373308 - ], - [ - -56.153328, - 73.304155 - ], - [ - -55.953888, - 73.29915 - ] - ] - ], - [ - [ - [ - -55.53167, - 73.318056 - ], - [ - -55.328339, - 73.394991 - ], - [ - -55.593887, - 73.344149 - ], - [ - -55.53167, - 73.318056 - ] - ] - ], - [ - [ - [ - -24.360001, - 73.411928 - ], - [ - -25.243053, - 73.405825 - ], - [ - -25.290836, - 73.327776 - ], - [ - -25.712776, - 73.186373 - ], - [ - -22.93861, - 73.134722 - ], - [ - -25.010281, - 73.30942 - ], - [ - -23.209999, - 73.233599 - ], - [ - -24.360001, - 73.411928 - ] - ] - ], - [ - [ - [ - -55.589722, - 73.38109 - ], - [ - -55.470833, - 73.431932 - ], - [ - -56.115837, - 73.556643 - ], - [ - -55.589722, - 73.38109 - ] - ] - ], - [ - [ - [ - -56.410278, - 73.541933 - ], - [ - -56.188606, - 73.627474 - ], - [ - -56.558609, - 73.556368 - ], - [ - -56.410278, - 73.541933 - ] - ] - ], - [ - [ - [ - -56.344162, - 73.672487 - ], - [ - -56.965553, - 73.658037 - ], - [ - -56.833328, - 73.611376 - ], - [ - -56.344162, - 73.672487 - ] - ] - ], - [ - [ - [ - -56.368607, - 73.7661 - ], - [ - -56.436943, - 73.768053 - ], - [ - -56.205559, - 73.718325 - ], - [ - -56.368607, - 73.7661 - ] - ] - ], - [ - [ - [ - -55.956665, - 73.834719 - ], - [ - -56.777222, - 73.875811 - ], - [ - -56.323334, - 73.783327 - ], - [ - -55.956665, - 73.834719 - ] - ] - ], - [ - [ - [ - -20.016113, - 73.884432 - ], - [ - -20.113613, - 73.932756 - ], - [ - -20.234722, - 73.926378 - ], - [ - -20.016113, - 73.884432 - ] - ] - ], - [ - [ - [ - -20.926945, - 74.419985 - ], - [ - -21.990833, - 74.227205 - ], - [ - -20.12389, - 74.201097 - ], - [ - -20.926945, - 74.419985 - ] - ] - ], - [ - [ - [ - -56.53083, - 74.53055 - ], - [ - -57.556664, - 74.488314 - ], - [ - -56.462776, - 74.504168 - ], - [ - -56.53083, - 74.53055 - ] - ] - ], - [ - [ - [ - -56.982773, - 74.553591 - ], - [ - -56.838608, - 74.591661 - ], - [ - -57.095551, - 74.557482 - ], - [ - -56.982773, - 74.553591 - ] - ] - ], - [ - [ - [ - -57.185272, - 74.576097 - ], - [ - -57.083061, - 74.613039 - ], - [ - -57.281944, - 74.581667 - ], - [ - -57.185272, - 74.576097 - ] - ] - ], - [ - [ - [ - -18.838612, - 74.538317 - ], - [ - -18.752781, - 74.656099 - ], - [ - -19.219997, - 74.581102 - ], - [ - -18.838612, - 74.538317 - ] - ] - ], - [ - [ - [ - -18.530003, - 74.712206 - ], - [ - -18.383057, - 74.620256 - ], - [ - -18.300556, - 74.705263 - ], - [ - -18.530003, - 74.712206 - ] - ] - ], - [ - [ - [ - -57.476387, - 74.706102 - ], - [ - -57.431114, - 74.717485 - ], - [ - -57.727219, - 74.721926 - ], - [ - -57.476387, - 74.706102 - ] - ] - ], - [ - [ - [ - -20.166943, - 74.897493 - ], - [ - -19.960556, - 74.992479 - ], - [ - -20.493053, - 75.030825 - ], - [ - -20.687778, - 74.811647 - ], - [ - -20.084446, - 74.702776 - ], - [ - -19.729164, - 74.858599 - ], - [ - -20.166943, - 74.897493 - ] - ] - ], - [ - [ - [ - -17.808334, - 75.306093 - ], - [ - -18.839169, - 75.328325 - ], - [ - -18.915554, - 75.004168 - ], - [ - -17.319721, - 75.13109 - ], - [ - -18.215275, - 75.225267 - ], - [ - -17.808334, - 75.306093 - ] - ] - ], - [ - [ - [ - -65.049438, - 76.013887 - ], - [ - -64.955566, - 76.054979 - ], - [ - -65.221115, - 76.045534 - ], - [ - -65.049438, - 76.013887 - ] - ] - ], - [ - [ - [ - -64.055557, - 76.05942 - ], - [ - -64.014725, - 76.110537 - ], - [ - -64.146118, - 76.09305 - ], - [ - -64.055557, - 76.05942 - ] - ] - ], - [ - [ - [ - -61.899445, - 76.129702 - ], - [ - -61.881668, - 76.186647 - ], - [ - -61.962219, - 76.178591 - ], - [ - -61.899445, - 76.129702 - ] - ] - ], - [ - [ - [ - -20.343056, - 76.264162 - ], - [ - -20.158611, - 76.346941 - ], - [ - -20.660831, - 76.338884 - ], - [ - -20.343056, - 76.264162 - ] - ] - ], - [ - [ - [ - -69.976105, - 76.394152 - ], - [ - -69.894455, - 76.436922 - ], - [ - -70.188324, - 76.43915 - ], - [ - -69.976105, - 76.394152 - ] - ] - ], - [ - [ - [ - -20.388054, - 76.451662 - ], - [ - -20.26778, - 76.495256 - ], - [ - -20.496109, - 76.474993 - ], - [ - -20.388054, - 76.451662 - ] - ] - ], - [ - [ - [ - -21.353054, - 76.47249 - ], - [ - -21.249443, - 76.499712 - ], - [ - -21.489719, - 76.489702 - ], - [ - -21.353054, - 76.47249 - ] - ] - ], - [ - [ - [ - -20.793335, - 76.389986 - ], - [ - -20.720833, - 76.513887 - ], - [ - -21.141109, - 76.447481 - ], - [ - -20.793335, - 76.389986 - ] - ] - ], - [ - [ - [ - -69.669449, - 76.53055 - ], - [ - -69.464722, - 76.579439 - ], - [ - -70.036392, - 76.563311 - ], - [ - -69.669449, - 76.53055 - ] - ] - ], - [ - [ - [ - -20.712776, - 76.560808 - ], - [ - -20.625557, - 76.579439 - ], - [ - -20.939442, - 76.523317 - ], - [ - -20.712776, - 76.560808 - ] - ] - ], - [ - [ - [ - -21.083057, - 76.569155 - ], - [ - -20.963886, - 76.629152 - ], - [ - -21.547501, - 76.615267 - ], - [ - -21.083057, - 76.569155 - ] - ] - ], - [ - [ - [ - -19.648056, - 76.69832 - ], - [ - -19.605555, - 76.726381 - ], - [ - -19.857224, - 76.731936 - ], - [ - -19.648056, - 76.69832 - ] - ] - ], - [ - [ - [ - -18.653053, - 76.601656 - ], - [ - -19.019169, - 76.759432 - ], - [ - -18.763058, - 76.58777 - ], - [ - -19.141945, - 76.529436 - ], - [ - -18.635277, - 75.889986 - ], - [ - -18.653053, - 76.601656 - ] - ] - ], - [ - [ - [ - -19.691944, - 76.781939 - ], - [ - -19.59, - 76.811647 - ], - [ - -19.809166, - 76.788591 - ], - [ - -19.691944, - 76.781939 - ] - ] - ], - [ - [ - [ - -20.192776, - 76.822496 - ], - [ - -20.210556, - 76.868593 - ], - [ - -20.389442, - 76.847216 - ], - [ - -20.192776, - 76.822496 - ] - ] - ], - [ - [ - [ - -71.942215, - 77.30443 - ], - [ - -71.34584, - 77.375811 - ], - [ - -72.573898, - 77.413881 - ], - [ - -71.942215, - 77.30443 - ] - ] - ], - [ - [ - [ - -70.66777, - 77.457766 - ], - [ - -71.299438, - 77.447756 - ], - [ - -70.056381, - 77.399157 - ], - [ - -70.66777, - 77.457766 - ] - ] - ], - [ - [ - [ - -66.196381, - 77.504442 - ], - [ - -66.731384, - 77.507219 - ], - [ - -66.660828, - 77.488588 - ], - [ - -66.196381, - 77.504442 - ] - ] - ], - [ - [ - [ - -19.834446, - 77.505556 - ], - [ - -19.83028, - 77.554705 - ], - [ - -20.041668, - 77.565813 - ], - [ - -19.834446, - 77.505556 - ] - ] - ], - [ - [ - [ - -66.900558, - 77.591661 - ], - [ - -66.625824, - 77.636385 - ], - [ - -66.97084, - 77.599428 - ], - [ - -66.900558, - 77.591661 - ] - ] - ], - [ - [ - [ - -18.037224, - 77.666094 - ], - [ - -17.584166, - 77.83777 - ], - [ - -18.242222, - 77.679979 - ], - [ - -18.037224, - 77.666094 - ] - ] - ], - [ - [ - [ - -19.940556, - 77.966661 - ], - [ - -20.490833, - 77.954714 - ], - [ - -19.775833, - 77.830553 - ], - [ - -19.229164, - 77.829714 - ], - [ - -19.940556, - 77.966661 - ] - ] - ], - [ - [ - [ - -19.542225, - 77.916094 - ], - [ - -19.613613, - 77.971926 - ], - [ - -19.699722, - 77.964998 - ], - [ - -19.542225, - 77.916094 - ] - ] - ], - [ - [ - [ - -21.31028, - 77.885546 - ], - [ - -21.111111, - 78.012209 - ], - [ - -21.428055, - 77.923601 - ], - [ - -21.31028, - 77.885546 - ] - ] - ], - [ - [ - [ - -20.536114, - 78.015825 - ], - [ - -20.362778, - 78.051653 - ], - [ - -20.631943, - 78.032488 - ], - [ - -20.536114, - 78.015825 - ] - ] - ], - [ - [ - [ - -19.276669, - 78.117754 - ], - [ - -19.298889, - 78.175814 - ], - [ - -19.383331, - 78.127199 - ], - [ - -19.276669, - 78.117754 - ] - ] - ], - [ - [ - [ - -19.043335, - 78.076937 - ], - [ - -18.829723, - 78.176378 - ], - [ - -19.191944, - 78.117754 - ], - [ - -19.043335, - 78.076937 - ] - ] - ], - [ - [ - [ - -20.915833, - 78.146105 - ], - [ - -20.855555, - 78.16527 - ], - [ - -21.043055, - 78.181368 - ], - [ - -20.915833, - 78.146105 - ] - ] - ], - [ - [ - [ - -20.526669, - 78.161379 - ], - [ - -20.302223, - 78.21332 - ], - [ - -20.783333, - 78.191362 - ], - [ - -20.526669, - 78.161379 - ] - ] - ], - [ - [ - [ - -19.490555, - 78.241365 - ], - [ - -19.422775, - 78.276659 - ], - [ - -19.595001, - 78.24721 - ], - [ - -19.490555, - 78.241365 - ] - ] - ], - [ - [ - [ - -19.15889, - 78.240267 - ], - [ - -18.885555, - 78.295259 - ], - [ - -19.353333, - 78.283327 - ], - [ - -19.15889, - 78.240267 - ] - ] - ], - [ - [ - [ - -19.633331, - 78.276659 - ], - [ - -19.490555, - 78.330553 - ], - [ - -19.677498, - 78.386385 - ], - [ - -19.633331, - 78.276659 - ] - ] - ], - [ - [ - [ - -19.288334, - 78.313875 - ], - [ - -19.081944, - 78.363039 - ], - [ - -19.4025, - 78.394442 - ], - [ - -19.288334, - 78.313875 - ] - ] - ], - [ - [ - [ - -18.969997, - 78.392488 - ], - [ - -18.881111, - 78.428865 - ], - [ - -19.097778, - 78.425264 - ], - [ - -18.969997, - 78.392488 - ] - ] - ], - [ - [ - [ - -19.12611, - 78.455263 - ], - [ - -18.964165, - 78.474993 - ], - [ - -19.254169, - 78.445818 - ], - [ - -19.12611, - 78.455263 - ] - ] - ], - [ - [ - [ - -18.571945, - 78.578051 - ], - [ - -18.314724, - 78.673601 - ], - [ - -18.738888, - 78.606096 - ], - [ - -18.571945, - 78.578051 - ] - ] - ], - [ - [ - [ - -18.243053, - 78.750826 - ], - [ - -18.075558, - 78.817766 - ], - [ - -18.297222, - 78.856096 - ], - [ - -18.243053, - 78.750826 - ] - ] - ], - [ - [ - [ - -19.346947, - 78.811373 - ], - [ - -19.190834, - 78.953051 - ], - [ - -19.756668, - 78.795259 - ], - [ - -19.346947, - 78.811373 - ] - ] - ], - [ - [ - [ - -18.037224, - 78.992754 - ], - [ - -17.556389, - 79.164156 - ], - [ - -17.849998, - 79.215548 - ], - [ - -18.037224, - 78.992754 - ] - ] - ], - [ - [ - [ - -19.375, - 79.126375 - ], - [ - -19.314444, - 79.231371 - ], - [ - -19.496666, - 79.195818 - ], - [ - -19.375, - 79.126375 - ] - ] - ], - [ - [ - [ - -19.908333, - 80.059145 - ], - [ - -19.01889, - 80.163607 - ], - [ - -19.756947, - 80.241365 - ], - [ - -20.014168, - 80.096651 - ], - [ - -19.908333, - 80.059145 - ] - ] - ], - [ - [ - [ - -66.595276, - 80.608599 - ], - [ - -66.531677, - 80.61693 - ], - [ - -66.896118, - 80.671099 - ], - [ - -66.595276, - 80.608599 - ] - ] - ], - [ - [ - [ - -20.597221, - 81.672487 - ], - [ - -20.164444, - 81.681932 - ], - [ - -20.971111, - 81.714434 - ], - [ - -20.597221, - 81.672487 - ] - ] - ], - [ - [ - [ - -18.585556, - 81.646654 - ], - [ - -18.304447, - 81.662203 - ], - [ - -19.245831, - 81.777773 - ], - [ - -18.585556, - 81.646654 - ] - ] - ], - [ - [ - [ - -19.777779, - 81.870256 - ], - [ - -20.306667, - 82.130541 - ], - [ - -20.781944, - 82.133883 - ], - [ - -19.777779, - 81.870256 - ] - ] - ], - [ - [ - [ - -18.858334, - 81.974428 - ], - [ - -18.792225, - 81.99193 - ], - [ - -19.413887, - 82.205553 - ], - [ - -18.858334, - 81.974428 - ] - ] - ], - [ - [ - [ - -51.468887, - 81.968325 - ], - [ - -51.19194, - 81.993593 - ], - [ - -53.357506, - 82.224993 - ], - [ - -51.468887, - 81.968325 - ] - ] - ], - [ - [ - [ - -51.888611, - 82.208879 - ], - [ - -51.79528, - 82.214159 - ], - [ - -52.293892, - 82.277483 - ], - [ - -51.888611, - 82.208879 - ] - ] - ], - [ - [ - [ - -48.212502, - 82.39583 - ], - [ - -48.034729, - 82.464434 - ], - [ - -48.864449, - 82.539156 - ], - [ - -48.212502, - 82.39583 - ] - ] - ], - [ - [ - [ - -46.003059, - 82.644442 - ], - [ - -47.749168, - 82.624987 - ], - [ - -45.076668, - 82.055819 - ], - [ - -44.737221, - 82.095827 - ], - [ - -45.067223, - 82.216661 - ], - [ - -44.418892, - 82.366091 - ], - [ - -46.003059, - 82.644442 - ] - ] - ], - [ - [ - [ - -40.174446, - 82.660265 - ], - [ - -40.289169, - 82.69803 - ], - [ - -40.472496, - 82.686373 - ], - [ - -40.174446, - 82.660265 - ] - ] - ], - [ - [ - [ - -49.95472, - 82.769991 - ], - [ - -49.723053, - 82.779985 - ], - [ - -50.067223, - 82.775545 - ], - [ - -49.95472, - 82.769991 - ] - ] - ], - [ - [ - [ - -47.568611, - 82.782488 - ], - [ - -47.442497, - 82.803865 - ], - [ - -48.41555, - 82.84804 - ], - [ - -47.568611, - 82.782488 - ] - ] - ], - [ - [ - [ - -46.443886, - 82.832491 - ], - [ - -46.407501, - 82.836107 - ], - [ - -47.262505, - 82.930819 - ], - [ - -46.443886, - 82.832491 - ] - ] - ], - [ - [ - [ - -39.570557, - 82.996645 - ], - [ - -39.277496, - 83.081377 - ], - [ - -40.546112, - 83.153322 - ], - [ - -39.570557, - 82.996645 - ] - ] - ], - [ - [ - [ - -38.318611, - 83.133608 - ], - [ - -38.009171, - 83.152483 - ], - [ - -38.659721, - 83.164705 - ], - [ - -38.318611, - 83.133608 - ] - ] - ], - [ - [ - [ - -39.904999, - 82.998873 - ], - [ - -40.836945, - 83.163607 - ], - [ - -41.482773, - 83.164995 - ], - [ - -39.904999, - 82.998873 - ] - ] - ], - [ - [ - [ - -40.157776, - 83.203325 - ], - [ - -40.086945, - 83.211657 - ], - [ - -40.57917, - 83.219713 - ], - [ - -40.157776, - 83.203325 - ] - ] - ], - [ - [ - [ - -41.037224, - 83.208605 - ], - [ - -41.001671, - 83.212206 - ], - [ - -41.606392, - 83.224428 - ], - [ - -41.037224, - 83.208605 - ] - ] - ], - [ - [ - [ - -42.097778, - 83.242205 - ], - [ - -41.959442, - 83.251665 - ], - [ - -42.41806, - 83.253878 - ], - [ - -42.097778, - 83.242205 - ] - ] - ], - [ - [ - [ - -39.646111, - 83.262209 - ], - [ - -40.673332, - 83.280275 - ], - [ - -38.639725, - 83.115816 - ], - [ - -39.646111, - 83.262209 - ] - ] - ], - [ - [ - [ - -41.244446, - 83.287767 - ], - [ - -41.45639, - 83.327211 - ], - [ - -41.684441, - 83.313601 - ], - [ - -41.244446, - 83.287767 - ] - ] - ], - [ - [ - [ - -38.902779, - 83.290545 - ], - [ - -39.223885, - 83.396944 - ], - [ - -39.621941, - 83.336931 - ], - [ - -38.902779, - 83.290545 - ] - ] - ], - [ - [ - [ - -32.300278, - 83.570269 - ], - [ - -38.856392, - 83.431658 - ], - [ - -36.877495, - 83.147219 - ], - [ - -39.150276, - 82.980272 - ], - [ - -38.574448, - 82.744143 - ], - [ - -42.695, - 83.274431 - ], - [ - -45.524719, - 83.12221 - ], - [ - -43.386665, - 82.914431 - ], - [ - -46.889999, - 82.961107 - ], - [ - -40.135277, - 82.714434 - ], - [ - -39.752785, - 82.398882 - ], - [ - -41.550278, - 82.73665 - ], - [ - -41.898056, - 82.732759 - ], - [ - -41.682777, - 82.478045 - ], - [ - -42.142775, - 82.76166 - ], - [ - -45.765839, - 82.764437 - ], - [ - -42.299171, - 82.216661 - ], - [ - -44.190552, - 82.312487 - ], - [ - -44.79528, - 82.189974 - ], - [ - -44.502502, - 82.089708 - ], - [ - -44.925278, - 81.989702 - ], - [ - -44.183327, - 81.834154 - ], - [ - -44.639999, - 81.754168 - ], - [ - -50.317505, - 82.518328 - ], - [ - -51.118889, - 82.494143 - ], - [ - -49.43222, - 81.927767 - ], - [ - -51.065552, - 81.932207 - ], - [ - -49.614723, - 81.640276 - ], - [ - -52.89917, - 82.034151 - ], - [ - -53.634445, - 81.513323 - ], - [ - -53.823616, - 81.69359 - ], - [ - -53.559723, - 82.116091 - ], - [ - -54.50528, - 82.365541 - ], - [ - -59.466942, - 81.996935 - ], - [ - -56.478333, - 81.332491 - ], - [ - -58.899445, - 81.864702 - ], - [ - -60.806664, - 81.879976 - ], - [ - -61.452225, - 81.753054 - ], - [ - -60.770836, - 81.500551 - ], - [ - -61.313332, - 81.355822 - ], - [ - -61.056664, - 81.119707 - ], - [ - -63.371666, - 81.155825 - ], - [ - -62.794449, - 80.751101 - ], - [ - -63.680557, - 81.143877 - ], - [ - -67.480835, - 80.325548 - ], - [ - -67.049728, - 80.057482 - ], - [ - -63.78447, - 80.148333 - ], - [ - -65.068893, - 80.009157 - ], - [ - -64.823334, - 79.533602 - ], - [ - -65.976669, - 79.101656 - ], - [ - -72.552216, - 78.521105 - ], - [ - -72.849442, - 78.31415 - ], - [ - -72.456665, - 78.286379 - ], - [ - -73.053604, - 78.157213 - ], - [ - -71.320007, - 77.763613 - ], - [ - -69.968613, - 77.833605 - ], - [ - -70.602783, - 77.678041 - ], - [ - -69.483612, - 77.753603 - ], - [ - -70.289993, - 77.563601 - ], - [ - -69.25029, - 77.453051 - ], - [ - -68.699432, - 77.663881 - ], - [ - -68.344727, - 77.498598 - ], - [ - -66.72583, - 77.680819 - ], - [ - -66.055557, - 77.491365 - ], - [ - -66.659164, - 77.414431 - ], - [ - -66.238327, - 77.248598 - ], - [ - -69.101669, - 77.271929 - ], - [ - -66.170837, - 77.193316 - ], - [ - -66.448608, - 77.133883 - ], - [ - -71.375275, - 77.056093 - ], - [ - -67.982224, - 76.67943 - ], - [ - -69.633331, - 76.380816 - ], - [ - -68.500565, - 76.086931 - ], - [ - -66.458618, - 75.909716 - ], - [ - -67.306107, - 76.167482 - ], - [ - -65.769455, - 76.275545 - ], - [ - -65.553329, - 76.233873 - ], - [ - -65.888336, - 76.09833 - ], - [ - -65.479721, - 76.018602 - ], - [ - -63.440834, - 76.373308 - ], - [ - -60.878609, - 76.152483 - ], - [ - -58.408051, - 75.715273 - ], - [ - -58.208893, - 75.441927 - ], - [ - -58.697777, - 75.346376 - ], - [ - -56.192497, - 74.551653 - ], - [ - -56.797226, - 74.443316 - ], - [ - -56.131111, - 74.383883 - ], - [ - -56.713333, - 74.340822 - ], - [ - -56.309166, - 74.287203 - ], - [ - -57.325005, - 74.107759 - ], - [ - -56.129166, - 74.278322 - ], - [ - -56.409721, - 74.066088 - ], - [ - -55.60778, - 73.720263 - ], - [ - -56.075836, - 73.648607 - ], - [ - -55.085831, - 73.362764 - ], - [ - -55.697777, - 73.066668 - ], - [ - -54.850555, - 73.014437 - ], - [ - -54.604721, - 72.828051 - ], - [ - -54.870552, - 72.642488 - ], - [ - -54.62722, - 72.621645 - ], - [ - -55.016396, - 72.519991 - ], - [ - -54.296394, - 72.479982 - ], - [ - -55.626389, - 72.457491 - ], - [ - -54.682777, - 72.366381 - ], - [ - -55.580002, - 71.998873 - ], - [ - -55.29834, - 71.928591 - ], - [ - -54.384445, - 72.22249 - ], - [ - -55.90583, - 71.678591 - ], - [ - -55.323616, - 71.386934 - ], - [ - -53.91555, - 71.441927 - ], - [ - -54.100281, - 71.707491 - ], - [ - -53.396666, - 71.851931 - ], - [ - -53.955002, - 72.322496 - ], - [ - -53.56028, - 72.358034 - ], - [ - -53.857506, - 72.321657 - ], - [ - -53.321945, - 71.822222 - ], - [ - -52.684441, - 72.001665 - ], - [ - -53.250557, - 71.702776 - ], - [ - -51.640556, - 71.711107 - ], - [ - -52.983612, - 71.41527 - ], - [ - -51.348053, - 71.486101 - ], - [ - -52.555557, - 71.171373 - ], - [ - -51.645554, - 71.361376 - ], - [ - -52.249443, - 71.123308 - ], - [ - -51.226662, - 71.141665 - ], - [ - -51.485275, - 71.063036 - ], - [ - -50.928886, - 70.988588 - ], - [ - -51.952499, - 71.021105 - ], - [ - -50.633057, - 70.740267 - ], - [ - -51.438606, - 70.747759 - ], - [ - -50.618889, - 70.628588 - ], - [ - -51.345001, - 70.566668 - ], - [ - -50.93972, - 70.46776 - ], - [ - -51.037224, - 70.430819 - ], - [ - -50.490555, - 70.509722 - ], - [ - -50.676392, - 70.322771 - ], - [ - -52.722221, - 70.744707 - ], - [ - -54.063332, - 70.829714 - ], - [ - -54.626389, - 70.651934 - ], - [ - -52.312775, - 70.046648 - ], - [ - -50.214165, - 70.021654 - ], - [ - -50.589165, - 69.921923 - ], - [ - -50.313614, - 69.873308 - ], - [ - -50.191666, - 69.757494 - ], - [ - -50.883057, - 69.491365 - ], - [ - -50.20472, - 69.521929 - ], - [ - -51.122772, - 69.201387 - ], - [ - -50.380829, - 69.338884 - ], - [ - -50.138611, - 69.177477 - ], - [ - -50.687775, - 69.117754 - ], - [ - -50.209442, - 68.960817 - ], - [ - -51.069725, - 69.13109 - ], - [ - -51.292503, - 68.748323 - ], - [ - -50.656387, - 68.825548 - ], - [ - -50.865837, - 68.614702 - ], - [ - -52.46167, - 68.544985 - ], - [ - -53.079727, - 68.323046 - ], - [ - -53.389168, - 68.327776 - ], - [ - -52.419167, - 68.180544 - ], - [ - -50.82, - 68.503603 - ], - [ - -51.183609, - 68.398882 - ], - [ - -50.956665, - 68.182756 - ], - [ - -51.434166, - 68.19832 - ], - [ - -50.153053, - 67.933321 - ], - [ - -50.56945, - 67.90082 - ], - [ - -51.188606, - 68.063601 - ], - [ - -51.85778, - 68.041933 - ], - [ - -52.802223, - 68.168871 - ], - [ - -52.414444, - 68.062761 - ], - [ - -53.321114, - 68.18442 - ], - [ - -52.059998, - 67.975267 - ], - [ - -53.187218, - 68.043322 - ], - [ - -52.954559, - 67.978983 - ], - [ - -53.753616, - 67.601091 - ], - [ - -51.059998, - 67.974154 - ], - [ - -51.331116, - 67.868868 - ], - [ - -50.417503, - 67.844439 - ], - [ - -51.230827, - 67.697206 - ], - [ - -50.969719, - 67.62221 - ], - [ - -50.650276, - 67.651659 - ], - [ - -50.288612, - 67.744982 - ], - [ - -49.936661, - 67.693865 - ], - [ - -50.274445, - 67.731096 - ], - [ - -50.852226, - 67.590822 - ], - [ - -50.071945, - 67.509996 - ], - [ - -50.700554, - 67.491655 - ], - [ - -51.330284, - 67.675814 - ], - [ - -51.809441, - 67.625811 - ], - [ - -52.496109, - 67.769716 - ], - [ - -53.881111, - 67.263887 - ], - [ - -53.79834, - 67.202776 - ], - [ - -53.252228, - 67.320543 - ], - [ - -51.151665, - 67.423311 - ], - [ - -51.525833, - 67.351091 - ], - [ - -50.351112, - 67.180544 - ], - [ - -51.189438, - 67.123598 - ], - [ - -51.524719, - 67.323046 - ], - [ - -52.15139, - 67.369982 - ], - [ - -53.477219, - 67.239153 - ], - [ - -53.58889, - 67.214998 - ], - [ - -53.379997, - 67.202211 - ], - [ - -53.816666, - 67.178865 - ], - [ - -53.965553, - 67.074709 - ], - [ - -52.228882, - 66.839983 - ], - [ - -53.451942, - 66.637499 - ], - [ - -52.416389, - 66.546373 - ], - [ - -53.633331, - 66.504442 - ], - [ - -53.61972, - 66.243319 - ], - [ - -53.118332, - 66.285814 - ], - [ - -53.476662, - 66.098879 - ], - [ - -51.189438, - 66.917757 - ], - [ - -50.334724, - 67.071932 - ], - [ - -50.632217, - 67.015825 - ], - [ - -49.99778, - 66.980822 - ], - [ - -50.95639, - 66.93471 - ], - [ - -50.32917, - 66.833055 - ], - [ - -51.271385, - 66.843874 - ], - [ - -53.462219, - 66.034151 - ], - [ - -51.831947, - 66.055819 - ], - [ - -53.268333, - 65.746935 - ], - [ - -52.688889, - 65.805544 - ], - [ - -52.801941, - 65.538881 - ], - [ - -52.469162, - 65.640825 - ], - [ - -52.49778, - 65.387209 - ], - [ - -51.934441, - 65.546373 - ], - [ - -51.948051, - 65.658876 - ], - [ - -51.484726, - 65.763048 - ], - [ - -51.209166, - 65.796099 - ], - [ - -50.545837, - 65.706942 - ], - [ - -51.243889, - 65.759722 - ], - [ - -51.694443, - 65.698595 - ], - [ - -51.901108, - 65.623873 - ], - [ - -51.720833, - 65.582216 - ], - [ - -52.558891, - 65.327486 - ], - [ - -52.099724, - 65.239153 - ], - [ - -52.211388, - 64.806643 - ], - [ - -51.246948, - 65.017488 - ], - [ - -52.120277, - 64.720263 - ], - [ - -52.057503, - 64.599085 - ], - [ - -52.10556, - 64.387209 - ], - [ - -52.039169, - 64.399157 - ], - [ - -52.00695, - 64.2036 - ], - [ - -51.224167, - 64.762209 - ], - [ - -50.636665, - 64.753054 - ], - [ - -50.978607, - 65.219713 - ], - [ - -50.560555, - 64.768053 - ], - [ - -49.998886, - 64.869143 - ], - [ - -50.065552, - 64.529161 - ], - [ - -49.584297, - 64.337648 - ], - [ - -50.856667, - 64.633043 - ], - [ - -50.173058, - 64.44832 - ], - [ - -50.352226, - 64.382753 - ], - [ - -50.856392, - 64.415545 - ], - [ - -51.041946, - 64.275545 - ], - [ - -50.843056, - 64.254168 - ], - [ - -50.950836, - 64.21805 - ], - [ - -51.761391, - 64.181932 - ], - [ - -50.04834, - 64.194139 - ], - [ - -51.601944, - 64.034716 - ], - [ - -51.443329, - 63.804995 - ], - [ - -50.924171, - 63.932497 - ], - [ - -51.559441, - 63.709162 - ], - [ - -50.504723, - 63.667215 - ], - [ - -51.221382, - 63.439432 - ], - [ - -50.276108, - 63.401384 - ], - [ - -51.10778, - 63.339434 - ], - [ - -50.059845, - 63.228754 - ], - [ - -50.606392, - 63.094439 - ], - [ - -50.149994, - 63.015276 - ], - [ - -50.379997, - 62.784441 - ], - [ - -50.191502, - 62.933661 - ], - [ - -49.701393, - 63.057497 - ], - [ - -50.150833, - 62.930826 - ], - [ - -50.317223, - 62.743052 - ], - [ - -50.280281, - 62.704714 - ], - [ - -49.947495, - 62.827219 - ], - [ - -50.31778, - 62.495272 - ], - [ - -49.293892, - 62.17222 - ], - [ - -49.669449, - 61.995546 - ], - [ - -48.840553, - 62.076944 - ], - [ - -49.440277, - 61.842218 - ], - [ - -48.763062, - 61.98472 - ], - [ - -49.148888, - 61.718599 - ], - [ - -48.599213, - 61.636339 - ], - [ - -49.297501, - 61.557497 - ], - [ - -48.344162, - 61.604998 - ], - [ - -49.066109, - 61.39805 - ], - [ - -48.378609, - 61.363886 - ], - [ - -48.637222, - 61.238047 - ], - [ - -48.410278, - 61.132212 - ], - [ - -47.917221, - 61.324167 - ], - [ - -48.218887, - 61.184992 - ], - [ - -47.833611, - 61.041941 - ], - [ - -48.406387, - 60.988329 - ], - [ - -47.689438, - 61.004999 - ], - [ - -48.238892, - 60.819719 - ], - [ - -47.447777, - 60.820276 - ], - [ - -47.31945, - 60.867769 - ], - [ - -47.809441, - 60.87916 - ], - [ - -47.023056, - 60.976099 - ], - [ - -46.914444, - 60.933329 - ], - [ - -46.958611, - 60.863329 - ], - [ - -46.857224, - 60.797495 - ], - [ - -46.705275, - 60.88138 - ], - [ - -46.835274, - 60.930277 - ], - [ - -46.581673, - 60.905825 - ], - [ - -46.523331, - 61.015276 - ], - [ - -46.442223, - 60.999163 - ], - [ - -46.38028, - 61.041109 - ], - [ - -46.406105, - 61.084162 - ], - [ - -46.229439, - 60.97471 - ], - [ - -45.915001, - 61.090273 - ], - [ - -45.839996, - 61.164995 - ], - [ - -46.009726, - 61.223047 - ], - [ - -45.769722, - 61.333605 - ], - [ - -45.65361, - 61.142221 - ], - [ - -46.065552, - 60.921106 - ], - [ - -45.199722, - 61.189989 - ], - [ - -46.221382, - 60.753611 - ], - [ - -45.253059, - 60.901934 - ], - [ - -45.849724, - 60.697489 - ], - [ - -45.671776, - 60.676329 - ], - [ - -45.978333, - 60.573885 - ], - [ - -45.313332, - 60.699999 - ], - [ - -45.491943, - 60.489992 - ], - [ - -45.099167, - 60.64583 - ], - [ - -45.203331, - 60.435266 - ], - [ - -44.626106, - 60.733332 - ], - [ - -45.189995, - 60.12916 - ], - [ - -44.470833, - 60.557215 - ], - [ - -45.152779, - 60.074167 - ], - [ - -44.604172, - 59.982492 - ], - [ - -44.456665, - 60.148333 - ], - [ - -44.080559, - 60.286386 - ], - [ - -44.100838, - 60.384165 - ], - [ - -43.137505, - 60.079439 - ], - [ - -43.16861, - 60.397493 - ], - [ - -44.202499, - 60.593325 - ], - [ - -42.749443, - 60.683603 - ], - [ - -43.526665, - 60.837214 - ], - [ - -42.79084, - 60.801104 - ], - [ - -43.484444, - 60.933329 - ], - [ - -42.70472, - 61.057772 - ], - [ - -43.612778, - 61.127771 - ], - [ - -42.629997, - 61.09833 - ], - [ - -43.246109, - 61.339159 - ], - [ - -42.507507, - 61.355272 - ], - [ - -43.07917, - 61.593607 - ], - [ - -42.434723, - 61.557215 - ], - [ - -42.869446, - 61.77305 - ], - [ - -42.115837, - 62.006662 - ], - [ - -42.54084, - 61.943605 - ], - [ - -42.261116, - 62.242495 - ], - [ - -42.979164, - 62.515276 - ], - [ - -42.162216, - 62.383883 - ], - [ - -43.147224, - 62.757776 - ], - [ - -41.755562, - 62.839434 - ], - [ - -41.61528, - 62.987497 - ], - [ - -42.174446, - 63.201662 - ], - [ - -41.429169, - 63.126383 - ], - [ - -41.907501, - 63.464716 - ], - [ - -41.687218, - 63.524996 - ], - [ - -41.113335, - 63.307215 - ], - [ - -41.580833, - 63.487772 - ], - [ - -41.238335, - 63.404436 - ], - [ - -41.394165, - 63.552217 - ], - [ - -41.113335, - 63.385271 - ], - [ - -40.998886, - 63.407495 - ], - [ - -41.17067, - 63.513605 - ], - [ - -40.748337, - 63.509165 - ], - [ - -41.617775, - 63.792223 - ], - [ - -40.518059, - 63.697214 - ], - [ - -40.838608, - 63.945543 - ], - [ - -40.56778, - 64.109148 - ], - [ - -41.56945, - 64.265551 - ], - [ - -41.50695, - 64.325823 - ], - [ - -41.325836, - 64.341372 - ], - [ - -41.091667, - 64.302202 - ], - [ - -40.788055, - 64.384432 - ], - [ - -40.358894, - 64.34833 - ], - [ - -41.155556, - 64.964434 - ], - [ - -39.755562, - 65.242754 - ], - [ - -40.09639, - 65.567217 - ], - [ - -38.241943, - 65.629427 - ], - [ - -38.100838, - 65.803041 - ], - [ - -38.483612, - 66.010271 - ], - [ - -38.051941, - 65.912493 - ], - [ - -37.691666, - 66.259722 - ], - [ - -38.10611, - 66.386934 - ], - [ - -37.184723, - 66.341661 - ], - [ - -37.811386, - 66.03055 - ], - [ - -37.193054, - 65.769152 - ], - [ - -37.077499, - 66.062197 - ], - [ - -36.980278, - 65.837496 - ], - [ - -36.521111, - 65.984713 - ], - [ - -36.566666, - 66.076662 - ], - [ - -36.343056, - 66.079988 - ], - [ - -36.331947, - 65.907213 - ], - [ - -35.587502, - 66.110262 - ], - [ - -35.851669, - 66.433596 - ], - [ - -34.719994, - 66.33832 - ], - [ - -34.406944, - 66.540819 - ], - [ - -34.429726, - 66.741365 - ], - [ - -34.26722, - 66.575823 - ], - [ - -33.973053, - 66.990541 - ], - [ - -33.365837, - 67.246935 - ], - [ - -33.600555, - 67.37137 - ], - [ - -33.198608, - 67.688036 - ], - [ - -32.122772, - 67.857759 - ], - [ - -31.999165, - 68.095263 - ], - [ - -32.400276, - 68.199419 - ], - [ - -32.133331, - 68.196093 - ], - [ - -32.485001, - 68.619982 - ], - [ - -32.007225, - 68.261934 - ], - [ - -31.535835, - 68.239428 - ], - [ - -31.745831, - 68.210817 - ], - [ - -31.571667, - 68.066942 - ], - [ - -30.030281, - 68.11165 - ], - [ - -30.196945, - 68.242479 - ], - [ - -29.862221, - 68.413607 - ], - [ - -29.378056, - 68.19887 - ], - [ - -26.363335, - 68.667482 - ], - [ - -24.072777, - 69.478045 - ], - [ - -24.343334, - 69.604433 - ], - [ - -23.579166, - 69.623598 - ], - [ - -23.930553, - 69.755266 - ], - [ - -22.079166, - 70.129702 - ], - [ - -25.229164, - 70.414431 - ], - [ - -27.341946, - 69.962496 - ], - [ - -28.542778, - 70.04471 - ], - [ - -26.322224, - 70.373034 - ], - [ - -29.206944, - 70.394152 - ], - [ - -27.914164, - 70.867205 - ], - [ - -28.409164, - 70.975817 - ], - [ - -26.478886, - 70.960268 - ], - [ - -25.411388, - 71.349154 - ], - [ - -28.466942, - 71.552477 - ], - [ - -27.325001, - 71.709719 - ], - [ - -28.639721, - 72.124422 - ], - [ - -24.739998, - 71.332216 - ], - [ - -23.345833, - 70.43915 - ], - [ - -22.622776, - 70.446642 - ], - [ - -22.506947, - 70.850542 - ], - [ - -22.377224, - 70.441652 - ], - [ - -21.47472, - 70.53998 - ], - [ - -21.929165, - 70.802202 - ], - [ - -21.68111, - 71.068331 - ], - [ - -22.333889, - 71.053591 - ], - [ - -21.6875, - 71.149157 - ], - [ - -21.961666, - 71.263887 - ], - [ - -21.603611, - 71.323046 - ], - [ - -21.805557, - 71.509432 - ], - [ - -22.473331, - 71.263048 - ], - [ - -22.50639, - 71.549715 - ], - [ - -21.895832, - 71.740816 - ], - [ - -23.125557, - 71.626085 - ], - [ - -22.494442, - 71.892763 - ], - [ - -24.588333, - 72.421099 - ], - [ - -25.526669, - 72.12137 - ], - [ - -25.289169, - 72.384432 - ], - [ - -25.908333, - 72.413881 - ], - [ - -24.609444, - 72.523317 - ], - [ - -24.842499, - 72.719439 - ], - [ - -26.462776, - 72.572222 - ], - [ - -26.304722, - 72.72777 - ], - [ - -27.388332, - 72.836657 - ], - [ - -25.05389, - 73.082766 - ], - [ - -26.449165, - 73.19359 - ], - [ - -27.497498, - 72.924425 - ], - [ - -27.728611, - 73.129702 - ], - [ - -26.387501, - 73.241365 - ], - [ - -27.337502, - 73.492479 - ], - [ - -26.012501, - 73.242205 - ], - [ - -25.721386, - 73.263613 - ], - [ - -25.315002, - 73.461657 - ], - [ - -24.674168, - 73.513323 - ], - [ - -25.686943, - 73.952486 - ], - [ - -24.463055, - 73.535814 - ], - [ - -24.044167, - 73.814699 - ], - [ - -22.178333, - 73.624697 - ], - [ - -24.032223, - 73.702486 - ], - [ - -22.379166, - 73.250551 - ], - [ - -20.501114, - 73.452776 - ], - [ - -20.283058, - 73.879976 - ], - [ - -21.748608, - 74.058321 - ], - [ - -21.821667, - 73.651094 - ], - [ - -21.980553, - 73.998034 - ], - [ - -22.492495, - 74.074434 - ], - [ - -22.053055, - 74.283876 - ], - [ - -22.479164, - 74.311922 - ], - [ - -21.765003, - 74.419436 - ], - [ - -22.082779, - 74.59833 - ], - [ - -19.684998, - 74.23749 - ], - [ - -18.977776, - 74.481661 - ], - [ - -21.11972, - 74.661654 - ], - [ - -20.60611, - 74.736925 - ], - [ - -20.762779, - 74.846941 - ], - [ - -20.638889, - 75.061922 - ], - [ - -22.435555, - 75.163881 - ], - [ - -20.515003, - 75.140825 - ], - [ - -22.511391, - 75.530825 - ], - [ - -21.406387, - 75.455553 - ], - [ - -22.251114, - 75.664156 - ], - [ - -19.882778, - 75.14583 - ], - [ - -19.335556, - 75.404985 - ], - [ - -19.825001, - 75.909151 - ], - [ - -21.98222, - 75.99193 - ], - [ - -19.805836, - 76.228594 - ], - [ - -21.68222, - 76.239153 - ], - [ - -21.573055, - 76.436647 - ], - [ - -22.506947, - 76.44803 - ], - [ - -21.814444, - 76.590273 - ], - [ - -22.738888, - 76.704439 - ], - [ - -21.605, - 76.644716 - ], - [ - -20.939442, - 76.842485 - ], - [ - -21.728886, - 76.883608 - ], - [ - -20.723053, - 76.988314 - ], - [ - -18.305279, - 76.806093 - ], - [ - -18.120556, - 76.94832 - ], - [ - -18.395832, - 77.34276 - ], - [ - -21.053612, - 77.543871 - ], - [ - -18.956665, - 77.628862 - ], - [ - -19.239998, - 77.763048 - ], - [ - -20.311947, - 77.870821 - ], - [ - -20.86639, - 78.015276 - ], - [ - -21.578335, - 77.56415 - ], - [ - -22.039444, - 77.688311 - ], - [ - -20.906387, - 78.624147 - ], - [ - -21.426945, - 78.644442 - ], - [ - -20.926388, - 78.689974 - ], - [ - -21.182499, - 78.809984 - ], - [ - -20.018059, - 78.877199 - ], - [ - -19.914722, - 78.964159 - ], - [ - -20.09111, - 79.063601 - ], - [ - -19.378334, - 79.274996 - ], - [ - -19.078888, - 79.200548 - ], - [ - -19.573612, - 79.331102 - ], - [ - -19.868889, - 79.153048 - ], - [ - -19.63139, - 79.661379 - ], - [ - -17.449165, - 80.055819 - ], - [ - -19.289444, - 80.103319 - ], - [ - -20.326946, - 79.760546 - ], - [ - -20.755001, - 79.864992 - ], - [ - -20.554722, - 80.105822 - ], - [ - -19.700832, - 80.285814 - ], - [ - -17.113888, - 80.236925 - ], - [ - -16.113888, - 80.502489 - ], - [ - -21.247498, - 80.575548 - ], - [ - -16.005001, - 80.728594 - ], - [ - -12.155001, - 81.603319 - ], - [ - -16.700554, - 81.931932 - ], - [ - -17.534725, - 81.853594 - ], - [ - -17.353889, - 81.701937 - ], - [ - -18.017223, - 81.46805 - ], - [ - -20.305557, - 81.451097 - ], - [ - -19.940834, - 81.683046 - ], - [ - -24.511669, - 80.540819 - ], - [ - -22.23111, - 81.465822 - ], - [ - -22.016945, - 81.933046 - ], - [ - -24.002224, - 82.009722 - ], - [ - -24.210556, - 81.70833 - ], - [ - -27.328613, - 81.380816 - ], - [ - -27.630833, - 81.486101 - ], - [ - -25.202499, - 81.989428 - ], - [ - -33.098335, - 81.773882 - ], - [ - -29.90472, - 82.093325 - ], - [ - -31.618889, - 82.207491 - ], - [ - -25.06889, - 82.152483 - ], - [ - -21.314167, - 82.608034 - ], - [ - -23.992775, - 82.911654 - ], - [ - -25.901112, - 82.777483 - ], - [ - -24.751114, - 83.000826 - ], - [ - -25.142223, - 83.162767 - ], - [ - -35.617775, - 82.901094 - ], - [ - -25.650555, - 83.291658 - ], - [ - -32.300278, - 83.570269 - ] - ], - [ - [ - -20.113335, - 77.653322 - ], - [ - -20.008335, - 77.606936 - ], - [ - -20.438332, - 77.628862 - ], - [ - -20.113335, - 77.653322 - ] - ] - ] - ] - }, - "name" : "Greenland", - "iso2" : "GL", - "iso3" : "GRL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ir1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 8.710257, - 47.69681 - ], - [ - 8.670557, - 47.711107 - ], - [ - 8.678595, - 47.693346 - ], - [ - 8.710257, - 47.69681 - ] - ] - ], - [ - [ - [ - 6.806391, - 53.602221 - ], - [ - 6.658335, - 53.586107 - ], - [ - 6.746946, - 53.560274 - ], - [ - 6.806391, - 53.602221 - ] - ] - ], - [ - [ - [ - 6.939444, - 53.669443 - ], - [ - 7.088335, - 53.684168 - ], - [ - 6.87639, - 53.670275 - ], - [ - 6.939444, - 53.669443 - ] - ] - ], - [ - [ - [ - 7.242498, - 53.704439 - ], - [ - 7.346945, - 53.721109 - ], - [ - 7.135836, - 53.70611 - ], - [ - 7.242498, - 53.704439 - ] - ] - ], - [ - [ - [ - 8.191111, - 53.724718 - ], - [ - 8.142778, - 53.733606 - ], - [ - 8.120001, - 53.713053 - ], - [ - 8.191111, - 53.724718 - ] - ] - ], - [ - [ - [ - 7.622225, - 53.754442 - ], - [ - 7.485834, - 53.757502 - ], - [ - 7.467779, - 53.733057 - ], - [ - 7.622225, - 53.754442 - ] - ] - ], - [ - [ - [ - 7.75889, - 53.760553 - ], - [ - 7.81278, - 53.775553 - ], - [ - 7.664446, - 53.761667 - ], - [ - 7.75889, - 53.760553 - ] - ] - ], - [ - [ - [ - 8.42528, - 53.928057 - ], - [ - 8.455, - 53.963053 - ], - [ - 8.411665, - 53.955553 - ], - [ - 8.42528, - 53.928057 - ] - ] - ], - [ - [ - [ - 13.940279, - 54.024996 - ], - [ - 13.934446, - 54.027773 - ], - [ - 13.925833, - 54.018328 - ], - [ - 13.940279, - 54.024996 - ] - ] - ], - [ - [ - [ - 8.695555, - 54.041109 - ], - [ - 8.693335, - 54.082499 - ], - [ - 8.671389, - 54.077776 - ], - [ - 8.695555, - 54.041109 - ] - ] - ], - [ - [ - [ - 14.001318, - 54.065363 - ], - [ - 13.759165, - 54.159998 - ], - [ - 14.056005, - 53.984865 - ], - [ - 13.823431, - 53.853746 - ], - [ - 14.218889, - 53.86902 - ], - [ - 14.225557, - 53.928606 - ], - [ - 14.001318, - 54.065363 - ] - ] - ], - [ - [ - [ - 10.979445, - 54.380556 - ], - [ - 11.003054, - 54.37694 - ], - [ - 11.017778, - 54.380274 - ], - [ - 10.979445, - 54.380556 - ] - ] - ], - [ - [ - [ - 8.893057, - 54.461939 - ], - [ - 8.960554, - 54.519167 - ], - [ - 8.815001, - 54.500834 - ], - [ - 8.893057, - 54.461939 - ] - ] - ], - [ - [ - [ - 11.312777, - 54.406946 - ], - [ - 11.184168, - 54.519999 - ], - [ - 11.006388, - 54.461664 - ], - [ - 11.312777, - 54.406946 - ] - ] - ], - [ - [ - [ - 8.662779, - 54.494165 - ], - [ - 8.710833, - 54.551668 - ], - [ - 8.591112, - 54.527773 - ], - [ - 8.662779, - 54.494165 - ] - ] - ], - [ - [ - [ - 13.07361, - 54.488611 - ], - [ - 13.151388, - 54.602777 - ], - [ - 13.096666, - 54.590555 - ], - [ - 13.07361, - 54.488611 - ] - ] - ], - [ - [ - [ - 13.383055, - 54.638887 - ], - [ - 13.244722, - 54.559168 - ], - [ - 13.503092, - 54.493097 - ], - [ - 13.146963, - 54.545607 - ], - [ - 13.2675, - 54.382502 - ], - [ - 13.118334, - 54.333887 - ], - [ - 13.730833, - 54.275835 - ], - [ - 13.383055, - 54.638887 - ] - ] - ], - [ - [ - [ - 8.364443, - 54.613329 - ], - [ - 8.353888, - 54.711664 - ], - [ - 8.294443, - 54.666666 - ], - [ - 8.364443, - 54.613329 - ] - ] - ], - [ - [ - [ - 8.567778, - 54.685274 - ], - [ - 8.551111, - 54.753885 - ], - [ - 8.396944, - 54.713884 - ], - [ - 8.567778, - 54.685274 - ] - ] - ], - [ - [ - [ - 10.979445, - 54.380556 - ], - [ - 9.870279, - 54.454439 - ], - [ - 9.972776, - 54.76111 - ], - [ - 9.44536, - 54.825403 - ], - [ - 8.664545, - 54.913095 - ], - [ - 8.393332, - 55.053057 - ], - [ - 8.281111, - 54.746943 - ], - [ - 8.580549, - 54.86788 - ], - [ - 9.016943, - 54.498331 - ], - [ - 8.599443, - 54.333887 - ], - [ - 8.883612, - 54.294168 - ], - [ - 8.899721, - 53.940828 - ], - [ - 9.832499, - 53.536386 - ], - [ - 8.665556, - 53.893885 - ], - [ - 8.503054, - 53.354166 - ], - [ - 8.008333, - 53.710001 - ], - [ - 7.295835, - 53.685274 - ], - [ - 7.015554, - 53.414721 - ], - [ - 7.208364, - 53.242807 - ], - [ - 7.051668, - 52.64361 - ], - [ - 6.68889, - 52.549166 - ], - [ - 7.065557, - 52.385828 - ], - [ - 6.82889, - 51.965555 - ], - [ - 5.9625, - 51.807779 - ], - [ - 6.222223, - 51.46583 - ], - [ - 5.864721, - 51.046106 - ], - [ - 6.011801, - 50.757273 - ], - [ - 6.398207, - 50.323175 - ], - [ - 6.134417, - 50.127848 - ], - [ - 6.524446, - 49.808611 - ], - [ - 6.362169, - 49.459391 - ], - [ - 8.22608, - 48.964418 - ], - [ - 7.57889, - 48.119722 - ], - [ - 7.58827, - 47.584482 - ], - [ - 7.697226, - 47.543329 - ], - [ - 8.576422, - 47.591372 - ], - [ - 8.566111, - 47.80694 - ], - [ - 9.566725, - 47.540453 - ], - [ - 10.173334, - 47.274721 - ], - [ - 10.478056, - 47.591944 - ], - [ - 11.095556, - 47.396112 - ], - [ - 12.735556, - 47.684168 - ], - [ - 13.016668, - 47.470278 - ], - [ - 12.758333, - 48.123888 - ], - [ - 13.833612, - 48.773607 - ], - [ - 12.674444, - 49.424997 - ], - [ - 12.093706, - 50.322535 - ], - [ - 14.309721, - 51.053606 - ], - [ - 14.828333, - 50.865831 - ], - [ - 15.03639, - 51.285555 - ], - [ - 14.599443, - 51.818605 - ], - [ - 14.640276, - 52.572496 - ], - [ - 14.149168, - 52.86278 - ], - [ - 14.275629, - 53.699068 - ], - [ - 13.813055, - 53.845278 - ], - [ - 13.718332, - 54.169718 - ], - [ - 13.455832, - 54.096109 - ], - [ - 13.02389, - 54.399721 - ], - [ - 12.369722, - 54.265001 - ], - [ - 12.924166, - 54.426943 - ], - [ - 12.526945, - 54.474161 - ], - [ - 10.818537, - 53.890055 - ], - [ - 10.979445, - 54.380556 - ] - ], - [ - [ - 11.459166, - 53.961107 - ], - [ - 11.373888, - 53.988611 - ], - [ - 11.488611, - 54.02305 - ], - [ - 11.459166, - 53.961107 - ] - ], - [ - [ - 11.544168, - 54.061388 - ], - [ - 11.51111, - 54.048609 - ], - [ - 11.612421, - 54.104586 - ], - [ - 11.544168, - 54.061388 - ] - ], - [ - [ - 12.729723, - 54.416666 - ], - [ - 12.68611, - 54.418329 - ], - [ - 12.702776, - 54.428331 - ], - [ - 12.729723, - 54.416666 - ] - ] - ] - ] - }, - "name" : "Germany", - "iso2" : "DE", - "iso3" : "DEU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "i71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 144.709412, - 13.234997 - ], - [ - 144.875244, - 13.65361 - ], - [ - 144.655243, - 13.427776 - ], - [ - 144.709412, - 13.234997 - ] - ] - ] - }, - "name" : "Guam", - "iso2" : "GU", - "iso3" : "GUM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "jL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 24.128609, - 34.856667 - ], - [ - 24.04472, - 34.849998 - ], - [ - 24.128609, - 34.808884 - ], - [ - 24.128609, - 34.856667 - ] - ] - ], - [ - [ - [ - 26.900555, - 35.358887 - ], - [ - 27.019997, - 35.430832 - ], - [ - 26.898052, - 35.419998 - ], - [ - 26.900555, - 35.358887 - ] - ] - ], - [ - [ - [ - 23.858608, - 35.52166 - ], - [ - 23.606388, - 35.613327 - ], - [ - 23.521111, - 35.288055 - ], - [ - 24.752777, - 34.942215 - ], - [ - 26.290554, - 35.131104 - ], - [ - 23.858608, - 35.52166 - ] - ] - ], - [ - [ - [ - 27.157497, - 35.445831 - ], - [ - 27.228054, - 35.826385 - ], - [ - 27.066109, - 35.604996 - ], - [ - 27.157497, - 35.445831 - ] - ] - ], - [ - [ - [ - 23.332222, - 35.825272 - ], - [ - 23.325832, - 35.872215 - ], - [ - 23.273052, - 35.899994 - ], - [ - 23.332222, - 35.825272 - ] - ] - ], - [ - [ - [ - 23.049442, - 36.13694 - ], - [ - 23.10722, - 36.243889 - ], - [ - 22.929443, - 36.37944 - ], - [ - 23.049442, - 36.13694 - ] - ] - ], - [ - [ - [ - 25.838882, - 36.348053 - ], - [ - 25.771111, - 36.401932 - ], - [ - 25.73027, - 36.369713 - ], - [ - 25.838882, - 36.348053 - ] - ] - ], - [ - [ - [ - 25.399162, - 36.39444 - ], - [ - 25.406666, - 36.410553 - ], - [ - 25.391388, - 36.408051 - ], - [ - 25.399162, - 36.39444 - ] - ] - ], - [ - [ - [ - 27.786663, - 35.890549 - ], - [ - 28.225826, - 36.453049 - ], - [ - 27.719719, - 36.1661 - ], - [ - 27.786663, - 35.890549 - ] - ] - ], - [ - [ - [ - 27.400272, - 36.372498 - ], - [ - 27.445827, - 36.4086 - ], - [ - 27.297771, - 36.464432 - ], - [ - 27.400272, - 36.372498 - ] - ] - ], - [ - [ - [ - 25.457771, - 36.333611 - ], - [ - 25.486382, - 36.408051 - ], - [ - 25.371941, - 36.472488 - ], - [ - 25.457771, - 36.333611 - ] - ] - ], - [ - [ - [ - 26.342216, - 36.506386 - ], - [ - 26.460548, - 36.598053 - ], - [ - 26.262497, - 36.59166 - ], - [ - 26.342216, - 36.506386 - ] - ] - ], - [ - [ - [ - 27.854717, - 36.527222 - ], - [ - 27.859718, - 36.650269 - ], - [ - 27.764996, - 36.574997 - ], - [ - 27.854717, - 36.527222 - ] - ] - ], - [ - [ - [ - 24.950275, - 36.590553 - ], - [ - 24.938332, - 36.632774 - ], - [ - 24.840832, - 36.658882 - ], - [ - 24.950275, - 36.590553 - ] - ] - ], - [ - [ - [ - 25.089722, - 36.633881 - ], - [ - 25.187775, - 36.71666 - ], - [ - 25.102219, - 36.693329 - ], - [ - 25.089722, - 36.633881 - ] - ] - ], - [ - [ - [ - 21.785831, - 36.736938 - ], - [ - 21.760555, - 36.754997 - ], - [ - 21.750553, - 36.712494 - ], - [ - 21.774998, - 36.697777 - ], - [ - 21.785831, - 36.736938 - ] - ] - ], - [ - [ - [ - 24.413609, - 36.660271 - ], - [ - 24.548054, - 36.759438 - ], - [ - 24.349163, - 36.746109 - ], - [ - 24.413609, - 36.660271 - ] - ] - ], - [ - [ - [ - 25.385551, - 36.651665 - ], - [ - 25.407219, - 36.717766 - ], - [ - 25.275829, - 36.78138 - ], - [ - 25.385551, - 36.651665 - ] - ] - ], - [ - [ - [ - 24.662777, - 36.747498 - ], - [ - 24.665276, - 36.776382 - ], - [ - 24.609722, - 36.778328 - ], - [ - 24.662777, - 36.747498 - ] - ] - ], - [ - [ - [ - 21.698608, - 36.739166 - ], - [ - 21.728333, - 36.79277 - ], - [ - 21.704441, - 36.796661 - ], - [ - 21.698608, - 36.739166 - ] - ] - ], - [ - [ - [ - 24.558609, - 36.775551 - ], - [ - 24.562496, - 36.84861 - ], - [ - 24.521111, - 36.823883 - ], - [ - 24.558609, - 36.775551 - ] - ] - ], - [ - [ - [ - 25.459995, - 36.82222 - ], - [ - 25.474159, - 36.869164 - ], - [ - 25.42083, - 36.83194 - ], - [ - 25.459995, - 36.82222 - ] - ] - ], - [ - [ - [ - 25.826664, - 36.779709 - ], - [ - 25.976662, - 36.874161 - ], - [ - 25.736938, - 36.784431 - ], - [ - 25.826664, - 36.779709 - ] - ] - ], - [ - [ - [ - 26.965832, - 36.681664 - ], - [ - 27.352776, - 36.872208 - ], - [ - 27.064159, - 36.838875 - ], - [ - 26.965832, - 36.681664 - ] - ] - ], - [ - [ - [ - 25.680832, - 36.878052 - ], - [ - 25.651939, - 36.906097 - ], - [ - 25.609161, - 36.886658 - ], - [ - 25.680832, - 36.878052 - ] - ] - ], - [ - [ - [ - 25.076664, - 36.951935 - ], - [ - 25.083881, - 37.04248 - ], - [ - 25.023605, - 36.999146 - ], - [ - 25.076664, - 36.951935 - ] - ] - ], - [ - [ - [ - 24.711941, - 36.903053 - ], - [ - 24.765274, - 36.958328 - ], - [ - 24.641109, - 37.042221 - ], - [ - 24.711941, - 36.903053 - ] - ] - ], - [ - [ - [ - 26.975552, - 36.924431 - ], - [ - 27.048328, - 36.993607 - ], - [ - 26.890831, - 37.076378 - ], - [ - 26.975552, - 36.924431 - ] - ] - ], - [ - [ - [ - 25.834438, - 37.09304 - ], - [ - 25.825554, - 37.125542 - ], - [ - 25.782494, - 37.119987 - ], - [ - 25.834438, - 37.09304 - ] - ] - ], - [ - [ - [ - 25.250275, - 37.008324 - ], - [ - 25.268604, - 37.138611 - ], - [ - 25.098328, - 37.027489 - ], - [ - 25.250275, - 37.008324 - ] - ] - ], - [ - [ - [ - 26.886662, - 37.096657 - ], - [ - 26.85833, - 37.181107 - ], - [ - 26.769161, - 37.176384 - ], - [ - 26.886662, - 37.096657 - ] - ] - ], - [ - [ - [ - 25.461388, - 36.919434 - ], - [ - 25.54472, - 37.198044 - ], - [ - 25.341106, - 37.074997 - ], - [ - 25.461388, - 36.919434 - ] - ] - ], - [ - [ - [ - 24.535, - 37.182495 - ], - [ - 24.414719, - 37.12722 - ], - [ - 24.509163, - 37.112778 - ], - [ - 24.535, - 37.182495 - ] - ] - ], - [ - [ - [ - 26.767494, - 37.186935 - ], - [ - 26.787495, - 37.20694 - ], - [ - 26.772221, - 37.206657 - ], - [ - 26.767494, - 37.186935 - ] - ] - ], - [ - [ - [ - 23.156666, - 37.240273 - ], - [ - 23.150555, - 37.272774 - ], - [ - 23.096943, - 37.277496 - ], - [ - 23.156666, - 37.240273 - ] - ] - ], - [ - [ - [ - 23.410831, - 37.300827 - ], - [ - 23.583332, - 37.364166 - ], - [ - 23.373886, - 37.299721 - ], - [ - 23.410831, - 37.300827 - ] - ] - ], - [ - [ - [ - 24.379444, - 37.305832 - ], - [ - 24.48333, - 37.398048 - ], - [ - 24.442776, - 37.481667 - ], - [ - 24.379444, - 37.305832 - ] - ] - ], - [ - [ - [ - 25.359161, - 37.407776 - ], - [ - 25.463608, - 37.469719 - ], - [ - 25.313889, - 37.488045 - ], - [ - 25.359161, - 37.407776 - ] - ] - ], - [ - [ - [ - 24.952499, - 37.385551 - ], - [ - 24.889721, - 37.512497 - ], - [ - 24.884441, - 37.363609 - ], - [ - 24.952499, - 37.385551 - ] - ] - ], - [ - [ - [ - 23.497776, - 37.504715 - ], - [ - 23.522499, - 37.524162 - ], - [ - 23.432777, - 37.526665 - ], - [ - 23.497776, - 37.504715 - ] - ] - ], - [ - [ - [ - 25.228333, - 37.534431 - ], - [ - 25.238888, - 37.621941 - ], - [ - 24.97583, - 37.675552 - ], - [ - 25.228333, - 37.534431 - ] - ] - ], - [ - [ - [ - 24.298611, - 37.526382 - ], - [ - 24.394165, - 37.673332 - ], - [ - 24.298332, - 37.654999 - ], - [ - 24.298611, - 37.526382 - ] - ] - ], - [ - [ - [ - 26.020828, - 37.514435 - ], - [ - 26.361111, - 37.686661 - ], - [ - 26.06805, - 37.631943 - ], - [ - 26.020828, - 37.514435 - ] - ] - ], - [ - [ - [ - 23.513054, - 37.691666 - ], - [ - 23.563889, - 37.762772 - ], - [ - 23.425552, - 37.762497 - ], - [ - 23.513054, - 37.691666 - ] - ] - ], - [ - [ - [ - 27.069443, - 37.711937 - ], - [ - 26.748608, - 37.811378 - ], - [ - 26.571663, - 37.730553 - ], - [ - 27.069443, - 37.711937 - ] - ] - ], - [ - [ - [ - 20.898052, - 37.805275 - ], - [ - 20.621944, - 37.860832 - ], - [ - 20.831108, - 37.646385 - ], - [ - 20.898052, - 37.805275 - ] - ] - ], - [ - [ - [ - 24.791664, - 37.998329 - ], - [ - 24.713333, - 37.872772 - ], - [ - 24.960278, - 37.685555 - ], - [ - 24.791664, - 37.998329 - ] - ] - ], - [ - [ - [ - 23.462498, - 37.878609 - ], - [ - 23.538887, - 37.985832 - ], - [ - 23.437496, - 37.985832 - ], - [ - 23.462498, - 37.878609 - ] - ] - ], - [ - [ - [ - 20.612499, - 38.394165 - ], - [ - 20.341389, - 38.177216 - ], - [ - 20.7925, - 38.060272 - ], - [ - 20.612499, - 38.394165 - ] - ] - ], - [ - [ - [ - 20.735554, - 38.309998 - ], - [ - 20.648888, - 38.500275 - ], - [ - 20.644722, - 38.398048 - ], - [ - 20.735554, - 38.309998 - ] - ] - ], - [ - [ - [ - 26.025555, - 38.176941 - ], - [ - 26.159443, - 38.544434 - ], - [ - 25.861664, - 38.583611 - ], - [ - 26.025555, - 38.176941 - ] - ] - ], - [ - [ - [ - 20.903053, - 38.545555 - ], - [ - 20.938889, - 38.60527 - ], - [ - 20.899166, - 38.566383 - ], - [ - 20.903053, - 38.545555 - ] - ] - ], - [ - [ - [ - 25.599995, - 38.531937 - ], - [ - 25.613331, - 38.589989 - ], - [ - 25.52916, - 38.599709 - ], - [ - 25.599995, - 38.531937 - ] - ] - ], - [ - [ - [ - 20.643608, - 38.581108 - ], - [ - 20.701385, - 38.834717 - ], - [ - 20.557777, - 38.683884 - ], - [ - 20.643608, - 38.581108 - ] - ] - ], - [ - [ - [ - 24.683052, - 38.79805 - ], - [ - 24.458332, - 38.962776 - ], - [ - 24.553333, - 38.768326 - ], - [ - 24.683052, - 38.79805 - ] - ] - ], - [ - [ - [ - 23.461941, - 38.853333 - ], - [ - 22.829998, - 38.829163 - ], - [ - 24.564163, - 37.987221 - ], - [ - 24.153889, - 38.64666 - ], - [ - 23.461941, - 38.853333 - ] - ] - ], - [ - [ - [ - 23.736664, - 39.074715 - ], - [ - 23.786663, - 39.124161 - ], - [ - 23.590832, - 39.204437 - ], - [ - 23.736664, - 39.074715 - ] - ] - ], - [ - [ - [ - 23.50861, - 39.159721 - ], - [ - 23.461388, - 39.208328 - ], - [ - 23.392498, - 39.152222 - ], - [ - 23.50861, - 39.159721 - ] - ] - ], - [ - [ - [ - 20.19833, - 39.174438 - ], - [ - 20.123608, - 39.236382 - ], - [ - 20.136665, - 39.200554 - ], - [ - 20.19833, - 39.174438 - ] - ] - ], - [ - [ - [ - 23.862499, - 39.136665 - ], - [ - 23.978054, - 39.260277 - ], - [ - 23.953609, - 39.289719 - ], - [ - 23.862499, - 39.136665 - ] - ] - ], - [ - [ - [ - 26.377216, - 39.273598 - ], - [ - 25.832222, - 39.183601 - ], - [ - 26.614441, - 39.012497 - ], - [ - 26.377216, - 39.273598 - ] - ] - ], - [ - [ - [ - 24.992496, - 39.466385 - ], - [ - 25.053608, - 39.530823 - ], - [ - 25.006386, - 39.563309 - ], - [ - 24.992496, - 39.466385 - ] - ] - ], - [ - [ - [ - 19.926109, - 39.794441 - ], - [ - 19.641388, - 39.744438 - ], - [ - 20.111664, - 39.363052 - ], - [ - 19.846664, - 39.649162 - ], - [ - 19.926109, - 39.794441 - ] - ] - ], - [ - [ - [ - 19.404163, - 39.843605 - ], - [ - 19.430553, - 39.867493 - ], - [ - 19.378887, - 39.868607 - ], - [ - 19.404163, - 39.843605 - ] - ] - ], - [ - [ - [ - 25.441666, - 40.004715 - ], - [ - 25.05444, - 39.86055 - ], - [ - 25.355827, - 39.786385 - ], - [ - 25.441666, - 40.004715 - ] - ] - ], - [ - [ - [ - 25.601662, - 40.398041 - ], - [ - 25.694717, - 40.466103 - ], - [ - 25.443886, - 40.475822 - ], - [ - 25.601662, - 40.398041 - ] - ] - ], - [ - [ - [ - 24.773331, - 40.63166 - ], - [ - 24.645275, - 40.797775 - ], - [ - 24.509441, - 40.658051 - ], - [ - 24.773331, - 40.63166 - ] - ] - ], - [ - [ - [ - 26.361095, - 41.711052 - ], - [ - 26.294167, - 41.708054 - ], - [ - 26.066109, - 41.697495 - ], - [ - 26.139996, - 41.354713 - ], - [ - 25.285, - 41.24305 - ], - [ - 24.263885, - 41.570549 - ], - [ - 22.935604, - 41.342125 - ], - [ - 20.98349, - 40.855888 - ], - [ - 20.671944, - 40.098053 - ], - [ - 20.010029, - 39.6912 - ], - [ - 20.731941, - 38.952499 - ], - [ - 21.149998, - 39.001938 - ], - [ - 20.73222, - 38.801109 - ], - [ - 20.989441, - 38.669998 - ], - [ - 21.147778, - 38.304161 - ], - [ - 22.403332, - 38.448051 - ], - [ - 23.226109, - 38.153053 - ], - [ - 22.868053, - 37.938049 - ], - [ - 21.85833, - 38.340828 - ], - [ - 21.106388, - 37.854439 - ], - [ - 21.649719, - 37.44194 - ], - [ - 21.704441, - 36.815277 - ], - [ - 22.152775, - 37.02166 - ], - [ - 22.488888, - 36.386108 - ], - [ - 22.634163, - 36.804443 - ], - [ - 23.19833, - 36.431938 - ], - [ - 22.72583, - 37.568329 - ], - [ - 23.513611, - 37.429443 - ], - [ - 22.991386, - 37.880554 - ], - [ - 23.515553, - 38.04055 - ], - [ - 24.034443, - 37.651665 - ], - [ - 24.073887, - 38.196938 - ], - [ - 22.523331, - 38.857216 - ], - [ - 23.072777, - 39.036942 - ], - [ - 22.937775, - 39.358604 - ], - [ - 23.344997, - 39.178055 - ], - [ - 22.594997, - 40.012215 - ], - [ - 22.59111, - 40.476662 - ], - [ - 22.941387, - 40.630554 - ], - [ - 23.709999, - 39.911942 - ], - [ - 23.353611, - 40.245277 - ], - [ - 23.93222, - 39.943054 - ], - [ - 23.727776, - 40.350555 - ], - [ - 24.398331, - 40.151939 - ], - [ - 23.735275, - 40.754997 - ], - [ - 25.138054, - 41.011375 - ], - [ - 26.04472, - 40.735825 - ], - [ - 26.633884, - 41.354439 - ], - [ - 26.361095, - 41.711052 - ] - ] - ] - ] - }, - "name" : "Greece", - "iso2" : "GR", - "iso3" : "GRC" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "jb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -89.141953, - 17.818886 - ], - [ - -90.982422, - 17.820652 - ], - [ - -90.983902, - 17.256107 - ], - [ - -91.4375, - 17.241108 - ], - [ - -90.406403, - 16.416386 - ], - [ - -90.441956, - 16.088333 - ], - [ - -91.729172, - 16.074997 - ], - [ - -92.24678, - 14.550547 - ], - [ - -91.384735, - 13.978888 - ], - [ - -90.627625, - 13.930555 - ], - [ - -90.09639, - 13.745832 - ], - [ - -89.348312, - 14.431982 - ], - [ - -89.150375, - 15.073481 - ], - [ - -88.214737, - 15.724443 - ], - [ - -88.910568, - 15.89361 - ], - [ - -89.216171, - 15.889851 - ], - [ - -89.141953, - 17.818886 - ] - ] - ] - }, - "name" : "Guatemala", - "iso2" : "GT", - "iso3" : "GTM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "jr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -15.016848, - 10.956451 - ], - [ - -14.693056, - 11.035276 - ], - [ - -14.664446, - 10.476665 - ], - [ - -13.602783, - 9.734441 - ], - [ - -13.29561, - 9.032143 - ], - [ - -12.456112, - 9.888332 - ], - [ - -11.214445, - 9.997499 - ], - [ - -10.571526, - 9.059532 - ], - [ - -10.695835, - 8.298611 - ], - [ - -10.266651, - 8.488377 - ], - [ - -9.48365, - 8.346931 - ], - [ - -9.485161, - 7.361989 - ], - [ - -9.106945, - 7.198889 - ], - [ - -8.660557, - 7.695 - ], - [ - -8.469749, - 7.561325 - ], - [ - -7.946838, - 8.018505 - ], - [ - -8.198057, - 8.496666 - ], - [ - -7.646536, - 8.378416 - ], - [ - -7.957778, - 8.813332 - ], - [ - -7.732779, - 9.088055 - ], - [ - -8.143612, - 9.533888 - ], - [ - -7.973984, - 10.165611 - ], - [ - -8.289722, - 11.007776 - ], - [ - -8.680557, - 10.966389 - ], - [ - -8.357779, - 11.305555 - ], - [ - -8.53388, - 11.49391 - ], - [ - -9.155556, - 12.486111 - ], - [ - -9.701946, - 12.029163 - ], - [ - -10.323893, - 12.224997 - ], - [ - -10.652748, - 11.892609 - ], - [ - -10.92889, - 12.224442 - ], - [ - -11.315556, - 12.022774 - ], - [ - -11.373058, - 12.407774 - ], - [ - -12.345404, - 12.301748 - ], - [ - -13.713139, - 12.677221 - ], - [ - -13.971035, - 12.154758 - ], - [ - -13.709167, - 11.715277 - ], - [ - -14.686945, - 11.509722 - ], - [ - -15.016848, - 10.956451 - ] - ] - ] - }, - "name" : "Guinea", - "iso2" : "GN", - "iso3" : "GIN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "j71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -58.450562, - 6.896944 - ], - [ - -58.328056, - 6.956666 - ], - [ - -58.413338, - 6.969166 - ], - [ - -58.450562, - 6.896944 - ] - ] - ], - [ - [ - [ - -57.248505, - 5.486111 - ], - [ - -57.199722, - 6.147499 - ], - [ - -58.314728, - 6.894722 - ], - [ - -58.646118, - 6.42611 - ], - [ - -58.472778, - 7.349999 - ], - [ - -59.789169, - 8.34111 - ], - [ - -59.99028, - 8.535276 - ], - [ - -59.825562, - 8.236111 - ], - [ - -60.71917, - 7.535555 - ], - [ - -60.288612, - 7.057221 - ], - [ - -61.134026, - 6.711042 - ], - [ - -61.389725, - 5.94 - ], - [ - -60.73037, - 5.204799 - ], - [ - -60.098335, - 5.217222 - ], - [ - -60.147507, - 4.5175 - ], - [ - -59.675835, - 4.388888 - ], - [ - -59.568611, - 3.899444 - ], - [ - -59.989449, - 2.693611 - ], - [ - -59.642784, - 1.731111 - ], - [ - -58.806946, - 1.185555 - ], - [ - -57.324722, - 1.975278 - ], - [ - -56.470634, - 1.944499 - ], - [ - -57.301392, - 3.3775 - ], - [ - -57.642227, - 3.356389 - ], - [ - -58.047226, - 4.008333 - ], - [ - -57.92334, - 4.821944 - ], - [ - -57.327225, - 5.026111 - ], - [ - -57.248505, - 5.486111 - ] - ] - ] - ] - }, - "name" : "Guyana", - "iso2" : "GY", - "iso3" : "GUY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "kL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -73.584732, - 18.056944 - ], - [ - -73.706116, - 18.101389 - ], - [ - -73.667511, - 18.057222 - ], - [ - -73.584732, - 18.056944 - ] - ] - ], - [ - [ - [ - -72.815567, - 18.698889 - ], - [ - -72.857224, - 18.835001 - ], - [ - -73.300003, - 18.927221 - ], - [ - -72.815567, - 18.698889 - ] - ] - ], - [ - [ - [ - -72.673615, - 19.916666 - ], - [ - -73.465286, - 19.687777 - ], - [ - -72.723343, - 19.455 - ], - [ - -72.800293, - 19.033056 - ], - [ - -72.350006, - 18.530279 - ], - [ - -74.268066, - 18.665834 - ], - [ - -74.446671, - 18.34194 - ], - [ - -73.881668, - 18.022779 - ], - [ - -73.386398, - 18.261946 - ], - [ - -71.767868, - 18.038504 - ], - [ - -72.003067, - 18.600832 - ], - [ - -71.715836, - 18.749723 - ], - [ - -71.754181, - 19.705832 - ], - [ - -72.673615, - 19.916666 - ] - ], - [ - [ - -73.739456, - 18.584166 - ], - [ - -73.798065, - 18.624723 - ], - [ - -73.715286, - 18.624445 - ], - [ - -73.739456, - 18.584166 - ] - ] - ], - [ - [ - [ - -72.628342, - 19.986944 - ], - [ - -72.811951, - 20.092222 - ], - [ - -72.95639, - 20.056665 - ], - [ - -72.628342, - 19.986944 - ] - ] - ] - ] - }, - "name" : "Haiti", - "iso2" : "HT", - "iso3" : "HTI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "kb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -87.622513, - 13.246387 - ], - [ - -87.614731, - 13.28611 - ], - [ - -87.669724, - 13.278332 - ], - [ - -87.622513, - 13.246387 - ] - ] - ], - [ - [ - [ - -87.571945, - 13.36861 - ], - [ - -87.65834, - 13.335833 - ], - [ - -87.58168, - 13.30361 - ], - [ - -87.571945, - 13.36861 - ] - ] - ], - [ - [ - [ - -83.131851, - 14.992979 - ], - [ - -84.077515, - 15.351387 - ], - [ - -84.208618, - 15.549999 - ], - [ - -83.85556, - 15.459999 - ], - [ - -84.264725, - 15.828609 - ], - [ - -85.841949, - 16.010555 - ], - [ - -88.214737, - 15.724443 - ], - [ - -89.150375, - 15.073481 - ], - [ - -89.348312, - 14.431982 - ], - [ - -89.339737, - 14.416111 - ], - [ - -88.47084, - 13.855276 - ], - [ - -87.75029, - 13.864166 - ], - [ - -87.815582, - 13.405386 - ], - [ - -87.396393, - 13.410831 - ], - [ - -87.301392, - 12.986599 - ], - [ - -86.695007, - 13.296944 - ], - [ - -86.763016, - 13.751621 - ], - [ - -86.015839, - 14.065832 - ], - [ - -85.732315, - 13.829235 - ], - [ - -84.906677, - 14.808611 - ], - [ - -84.482788, - 14.617777 - ], - [ - -83.239731, - 14.982498 - ], - [ - -83.131851, - 14.992979 - ] - ] - ], - [ - [ - [ - -86.883621, - 16.086666 - ], - [ - -86.876114, - 16.121666 - ], - [ - -86.991669, - 16.087219 - ], - [ - -86.883621, - 16.086666 - ] - ] - ], - [ - [ - [ - -86.599731, - 16.296108 - ], - [ - -86.263336, - 16.423332 - ], - [ - -86.410278, - 16.421665 - ], - [ - -86.599731, - 16.296108 - ] - ] - ], - [ - [ - [ - -85.944733, - 16.409721 - ], - [ - -85.835556, - 16.498886 - ], - [ - -85.900284, - 16.49472 - ], - [ - -85.944733, - 16.409721 - ] - ] - ], - [ - [ - [ - -83.946671, - 17.405277 - ], - [ - -83.944458, - 17.414165 - ], - [ - -83.955292, - 17.417774 - ], - [ - -83.946671, - 17.405277 - ] - ] - ], - [ - [ - [ - -83.910568, - 17.409721 - ], - [ - -83.910004, - 17.41861 - ], - [ - -83.926392, - 17.416664 - ], - [ - -83.910568, - 17.409721 - ] - ] - ] - ] - }, - "name" : "Honduras", - "iso2" : "HN", - "iso3" : "HND" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "kr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 16.903891, - 42.726107 - ], - [ - 16.939722, - 42.768328 - ], - [ - 16.81389, - 42.768053 - ], - [ - 16.903891, - 42.726107 - ] - ] - ], - [ - [ - [ - 17.745001, - 42.691942 - ], - [ - 17.399443, - 42.797777 - ], - [ - 17.321665, - 42.788057 - ], - [ - 17.745001, - 42.691942 - ] - ] - ], - [ - [ - [ - 16.820555, - 42.960001 - ], - [ - 16.633055, - 42.981112 - ], - [ - 17.183611, - 42.918612 - ], - [ - 16.820555, - 42.960001 - ] - ] - ], - [ - [ - [ - 17.298887, - 43.006945 - ], - [ - 17.004168, - 43.046663 - ], - [ - 18.503199, - 42.449442 - ], - [ - 18.455557, - 42.565828 - ], - [ - 17.649843, - 42.889078 - ], - [ - 17.298887, - 43.006945 - ] - ] - ], - [ - [ - [ - 16.208334, - 43.022219 - ], - [ - 16.251944, - 43.072496 - ], - [ - 16.050554, - 43.063051 - ], - [ - 16.208334, - 43.022219 - ] - ] - ], - [ - [ - [ - 16.562037, - 43.230852 - ], - [ - 16.373056, - 43.194162 - ], - [ - 17.190084, - 43.126055 - ], - [ - 16.562037, - 43.230852 - ] - ] - ], - [ - [ - [ - 16.851667, - 43.269167 - ], - [ - 16.753054, - 43.36278 - ], - [ - 16.404722, - 43.329721 - ], - [ - 16.851667, - 43.269167 - ] - ] - ], - [ - [ - [ - 16.390554, - 43.332773 - ], - [ - 16.326387, - 43.394167 - ], - [ - 16.198332, - 43.411661 - ], - [ - 16.390554, - 43.332773 - ] - ] - ], - [ - [ - [ - 15.687498, - 43.630831 - ], - [ - 15.662222, - 43.665834 - ], - [ - 15.606668, - 43.674997 - ], - [ - 15.687498, - 43.630831 - ] - ] - ], - [ - [ - [ - 15.346388, - 43.808886 - ], - [ - 15.225, - 43.873056 - ], - [ - 15.376669, - 43.775927 - ], - [ - 15.346388, - 43.808886 - ] - ] - ], - [ - [ - [ - 15.446665, - 43.887217 - ], - [ - 15.376944, - 43.96805 - ], - [ - 15.260832, - 44.006662 - ], - [ - 15.446665, - 43.887217 - ] - ] - ], - [ - [ - [ - 15.250555, - 44.016665 - ], - [ - 15.243055, - 44.053057 - ], - [ - 15.062498, - 44.157221 - ], - [ - 15.250555, - 44.016665 - ] - ] - ], - [ - [ - [ - 14.855276, - 44.17528 - ], - [ - 15.137499, - 43.896387 - ], - [ - 15.226389, - 43.90111 - ], - [ - 14.855276, - 44.17528 - ] - ] - ], - [ - [ - [ - 14.838655, - 44.609503 - ], - [ - 15.248888, - 44.327776 - ], - [ - 14.732779, - 44.698053 - ], - [ - 14.838655, - 44.609503 - ] - ] - ], - [ - [ - [ - 14.521944, - 44.474161 - ], - [ - 14.3375, - 44.710276 - ], - [ - 14.367498, - 44.590273 - ], - [ - 14.521944, - 44.474161 - ] - ] - ], - [ - [ - [ - 14.757311, - 44.803755 - ], - [ - 14.659254, - 44.794737 - ], - [ - 14.865278, - 44.706667 - ], - [ - 14.757311, - 44.803755 - ] - ] - ], - [ - [ - [ - 14.455076, - 44.9097 - ], - [ - 14.315279, - 45.174997 - ], - [ - 14.400278, - 44.915277 - ], - [ - 14.294138, - 44.907248 - ], - [ - 14.493334, - 44.606386 - ], - [ - 14.455076, - 44.9097 - ] - ] - ], - [ - [ - [ - 14.755835, - 44.941385 - ], - [ - 14.539167, - 45.239443 - ], - [ - 14.428888, - 45.078333 - ], - [ - 14.755835, - 44.941385 - ] - ] - ], - [ - [ - [ - 16.5725, - 46.475275 - ], - [ - 15.654722, - 46.219446 - ], - [ - 15.697779, - 45.844164 - ], - [ - 15.174459, - 45.425821 - ], - [ - 14.601389, - 45.67528 - ], - [ - 13.591742, - 45.481699 - ], - [ - 13.899168, - 44.774439 - ], - [ - 14.292776, - 45.324999 - ], - [ - 14.482779, - 45.311106 - ], - [ - 15.988333, - 43.504442 - ], - [ - 16.884443, - 43.403055 - ], - [ - 17.578527, - 42.943827 - ], - [ - 16.143057, - 44.199442 - ], - [ - 15.786665, - 45.171946 - ], - [ - 18.251944, - 45.138887 - ], - [ - 19.039721, - 44.861383 - ], - [ - 19.423887, - 45.225832 - ], - [ - 18.980326, - 45.378626 - ], - [ - 18.817022, - 45.912966 - ], - [ - 17.669443, - 45.835001 - ], - [ - 16.607874, - 46.476236 - ], - [ - 16.5725, - 46.475275 - ] - ] - ] - ] - }, - "name" : "Croatia", - "iso2" : "HR", - "iso3" : "HRV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "k71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 18.81702, - 45.912964 - ], - [ - 20.261024, - 46.114853 - ], - [ - 20.726955, - 46.17556 - ], - [ - 21.176666, - 46.295555 - ], - [ - 22.032497, - 47.530273 - ], - [ - 22.894804, - 47.95454 - ], - [ - 22.151442, - 48.411919 - ], - [ - 20.660553, - 48.563332 - ], - [ - 18.655277, - 47.758606 - ], - [ - 17.251656, - 48.024994 - ], - [ - 17.166386, - 48.012497 - ], - [ - 17.053886, - 47.709442 - ], - [ - 16.450554, - 47.698051 - ], - [ - 16.713886, - 47.543884 - ], - [ - 16.510555, - 47.00666 - ], - [ - 16.111805, - 46.86972 - ], - [ - 16.607872, - 46.476234 - ], - [ - 17.669441, - 45.834999 - ], - [ - 18.81702, - 45.912964 - ] - ] - ] - }, - "name" : "Hungary", - "iso2" : "HU", - "iso3" : "HUN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "lL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -15.070835, - 66.1436 - ], - [ - -14.710835, - 66.367218 - ], - [ - -15.381945, - 66.142776 - ], - [ - -16.527779, - 66.508041 - ], - [ - -16.594723, - 66.09111 - ], - [ - -18.299446, - 66.174713 - ], - [ - -18.069447, - 65.643326 - ], - [ - -18.784168, - 66.191101 - ], - [ - -19.453056, - 66.056381 - ], - [ - -19.451668, - 65.72583 - ], - [ - -20.179169, - 66.12944 - ], - [ - -20.424446, - 66.083054 - ], - [ - -20.446667, - 65.494995 - ], - [ - -20.927223, - 65.588882 - ], - [ - -21.084446, - 65.159164 - ], - [ - -21.777779, - 65.765823 - ], - [ - -21.33778, - 65.733322 - ], - [ - -21.603058, - 65.953323 - ], - [ - -21.399445, - 66.027222 - ], - [ - -22.9375, - 66.466385 - ], - [ - -23.188614, - 66.349716 - ], - [ - -22.43417, - 66.267776 - ], - [ - -22.972225, - 66.221375 - ], - [ - -22.424725, - 65.847488 - ], - [ - -23.473614, - 66.199158 - ], - [ - -23.665558, - 66.111099 - ], - [ - -23.371113, - 65.986664 - ], - [ - -23.81889, - 66.013321 - ], - [ - -23.213337, - 65.837494 - ], - [ - -23.873058, - 65.866653 - ], - [ - -23.226391, - 65.741653 - ], - [ - -24.105835, - 65.806656 - ], - [ - -23.805557, - 65.530548 - ], - [ - -24.542225, - 65.497772 - ], - [ - -21.698612, - 65.449158 - ], - [ - -22.56139, - 65.171097 - ], - [ - -21.835835, - 65.030273 - ], - [ - -24.059532, - 64.890884 - ], - [ - -22.407223, - 64.812485 - ], - [ - -22.170834, - 64.453888 - ], - [ - -21.508057, - 64.645554 - ], - [ - -22.102501, - 64.314438 - ], - [ - -21.36278, - 64.384987 - ], - [ - -22.703335, - 64.080826 - ], - [ - -22.689167, - 63.80555 - ], - [ - -21.053612, - 63.945 - ], - [ - -18.710003, - 63.391106 - ], - [ - -15.383335, - 64.371933 - ], - [ - -14.925001, - 64.26416 - ], - [ - -14.539167, - 64.406097 - ], - [ - -14.511112, - 64.797485 - ], - [ - -13.499445, - 65.069153 - ], - [ - -14.034723, - 65.193054 - ], - [ - -13.570278, - 65.25943 - ], - [ - -13.611389, - 65.509995 - ], - [ - -14.563612, - 65.494995 - ], - [ - -14.336668, - 65.783051 - ], - [ - -14.848333, - 65.731384 - ], - [ - -14.618891, - 65.994431 - ], - [ - -15.070835, - 66.1436 - ] - ] - ] - }, - "name" : "Iceland", - "iso2" : "IS", - "iso3" : "ISL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "lb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 93.912767, - 7.028612 - ], - [ - 93.671099, - 7.181944 - ], - [ - 93.82387, - 6.745554 - ], - [ - 93.912767, - 7.028612 - ] - ] - ], - [ - [ - [ - 93.662203, - 7.405832 - ], - [ - 93.664156, - 7.414721 - ], - [ - 93.654436, - 7.417501 - ], - [ - 93.662203, - 7.405832 - ] - ] - ], - [ - [ - [ - 93.639437, - 7.247221 - ], - [ - 93.728319, - 7.32472 - ], - [ - 93.69359, - 7.43889 - ], - [ - 93.639437, - 7.247221 - ] - ] - ], - [ - [ - [ - 93.454714, - 7.868891 - ], - [ - 93.317492, - 7.997499 - ], - [ - 93.349428, - 7.879999 - ], - [ - 93.454714, - 7.868891 - ] - ] - ], - [ - [ - [ - 93.57361, - 7.927778 - ], - [ - 93.540545, - 8.015554 - ], - [ - 93.502779, - 7.977221 - ], - [ - 93.57361, - 7.927778 - ] - ] - ], - [ - [ - [ - 93.488039, - 7.98889 - ], - [ - 93.513323, - 8.226389 - ], - [ - 93.443041, - 8.153612 - ], - [ - 93.488039, - 7.98889 - ] - ] - ], - [ - [ - [ - 73.032213, - 8.246664 - ], - [ - 73.078875, - 8.310278 - ], - [ - 73.02083, - 8.26861 - ], - [ - 73.032213, - 8.246664 - ] - ] - ], - [ - [ - [ - 93.169146, - 8.201387 - ], - [ - 93.073885, - 8.348055 - ], - [ - 93.059984, - 8.271666 - ], - [ - 93.169146, - 8.201387 - ] - ] - ], - [ - [ - [ - 93.609423, - 8.429998 - ], - [ - 93.626085, - 8.508055 - ], - [ - 93.601931, - 8.565275 - ], - [ - 93.609423, - 8.429998 - ] - ] - ], - [ - [ - [ - 92.774431, - 9.12472 - ], - [ - 92.76166, - 9.263613 - ], - [ - 92.708879, - 9.16361 - ], - [ - 92.774431, - 9.12472 - ] - ] - ], - [ - [ - [ - 73.637499, - 10.052778 - ], - [ - 73.64554, - 10.097498 - ], - [ - 73.630266, - 10.071112 - ], - [ - 73.637499, - 10.052778 - ] - ] - ], - [ - [ - [ - 72.633608, - 10.550833 - ], - [ - 72.650545, - 10.577497 - ], - [ - 72.624697, - 10.552778 - ], - [ - 72.633608, - 10.550833 - ] - ] - ], - [ - [ - [ - 73.684145, - 10.823053 - ], - [ - 73.685259, - 10.83 - ], - [ - 73.662203, - 10.827776 - ], - [ - 73.684145, - 10.823053 - ] - ] - ], - [ - [ - [ - 72.179979, - 10.817499 - ], - [ - 72.197481, - 10.872774 - ], - [ - 72.170534, - 10.809721 - ], - [ - 72.179979, - 10.817499 - ] - ] - ], - [ - [ - [ - 92.492754, - 10.518332 - ], - [ - 92.494982, - 10.90111 - ], - [ - 92.346651, - 10.694166 - ], - [ - 92.492754, - 10.518332 - ] - ] - ], - [ - [ - [ - 72.29915, - 10.938055 - ], - [ - 72.301378, - 10.954165 - ], - [ - 72.289431, - 10.942778 - ], - [ - 72.29915, - 10.938055 - ] - ] - ], - [ - [ - [ - 72.749422, - 11.108889 - ], - [ - 72.74721, - 11.120554 - ], - [ - 72.73665, - 11.107222 - ], - [ - 72.749422, - 11.108889 - ] - ] - ], - [ - [ - [ - 72.107485, - 11.202776 - ], - [ - 72.108034, - 11.215555 - ], - [ - 72.099718, - 11.201109 - ], - [ - 72.107485, - 11.202776 - ] - ] - ], - [ - [ - [ - 72.778322, - 11.188887 - ], - [ - 72.789156, - 11.256945 - ], - [ - 72.77083, - 11.201109 - ], - [ - 72.778322, - 11.188887 - ] - ] - ], - [ - [ - [ - 73.006945, - 11.476664 - ], - [ - 73.013323, - 11.502222 - ], - [ - 73.004442, - 11.507502 - ], - [ - 73.006945, - 11.476664 - ] - ] - ], - [ - [ - [ - 92.633043, - 11.354166 - ], - [ - 92.703325, - 11.385557 - ], - [ - 92.643602, - 11.514166 - ], - [ - 92.633043, - 11.354166 - ] - ] - ], - [ - [ - [ - 92.271379, - 11.524443 - ], - [ - 92.27582, - 11.58222 - ], - [ - 92.216936, - 11.594721 - ], - [ - 92.271379, - 11.524443 - ] - ] - ], - [ - [ - [ - 72.712496, - 11.688612 - ], - [ - 72.715273, - 11.699999 - ], - [ - 72.700823, - 11.686388 - ], - [ - 72.712496, - 11.688612 - ] - ] - ], - [ - [ - [ - 93.058321, - 11.888613 - ], - [ - 92.978594, - 12.033609 - ], - [ - 92.943316, - 11.982775 - ], - [ - 93.058321, - 11.888613 - ] - ] - ], - [ - [ - [ - 93.13611, - 12.131941 - ], - [ - 93.131365, - 12.149168 - ], - [ - 93.125536, - 12.13389 - ], - [ - 93.13611, - 12.131941 - ] - ] - ], - [ - [ - [ - 92.717058, - 12.182806 - ], - [ - 92.524431, - 11.854166 - ], - [ - 92.718599, - 11.49111 - ], - [ - 92.717058, - 12.182806 - ] - ] - ], - [ - [ - [ - 93.093874, - 12.088053 - ], - [ - 93.086657, - 12.20722 - ], - [ - 93.060808, - 12.143888 - ], - [ - 93.093874, - 12.088053 - ] - ] - ], - [ - [ - [ - 93.865541, - 12.259165 - ], - [ - 93.873308, - 12.277498 - ], - [ - 93.848604, - 12.275831 - ], - [ - 93.865541, - 12.259165 - ] - ] - ], - [ - [ - [ - 92.782534, - 12.28768 - ], - [ - 92.783327, - 12.29389 - ], - [ - 92.774157, - 12.290556 - ], - [ - 92.782534, - 12.28768 - ] - ] - ], - [ - [ - [ - 92.831614, - 12.316526 - ], - [ - 92.754274, - 12.071337 - ], - [ - 92.901659, - 12.265833 - ], - [ - 92.831614, - 12.316526 - ] - ] - ], - [ - [ - [ - 92.904985, - 12.380831 - ], - [ - 92.910814, - 12.404165 - ], - [ - 92.872759, - 12.405832 - ], - [ - 92.904985, - 12.380831 - ] - ] - ], - [ - [ - [ - 92.928591, - 12.909166 - ], - [ - 92.758883, - 12.304998 - ], - [ - 92.98749, - 12.508612 - ], - [ - 92.928591, - 12.909166 - ] - ] - ], - [ - [ - [ - 92.691088, - 12.79611 - ], - [ - 92.714434, - 12.99 - ], - [ - 92.668871, - 12.855276 - ], - [ - 92.691088, - 12.79611 - ] - ] - ], - [ - [ - [ - 92.875811, - 13.39139 - ], - [ - 92.876085, - 13.403887 - ], - [ - 92.866655, - 13.400557 - ], - [ - 92.875811, - 13.39139 - ] - ] - ], - [ - [ - [ - 94.276934, - 13.41361 - ], - [ - 94.284151, - 13.444166 - ], - [ - 94.263887, - 13.430277 - ], - [ - 94.276934, - 13.41361 - ] - ] - ], - [ - [ - [ - 93.064425, - 13.237497 - ], - [ - 93.003878, - 13.571112 - ], - [ - 92.813417, - 12.897921 - ], - [ - 93.064425, - 13.237497 - ] - ] - ], - [ - [ - [ - 93.049425, - 13.639444 - ], - [ - 93.036379, - 13.679998 - ], - [ - 92.993044, - 13.661665 - ], - [ - 93.049425, - 13.639444 - ] - ] - ], - [ - [ - [ - 80.94803, - 15.736666 - ], - [ - 80.99193, - 15.765833 - ], - [ - 80.878588, - 15.843332 - ], - [ - 80.94803, - 15.736666 - ] - ] - ], - [ - [ - [ - 82.370867, - 16.867777 - ], - [ - 82.368868, - 16.871111 - ], - [ - 82.370821, - 16.858332 - ], - [ - 82.370867, - 16.867777 - ] - ] - ], - [ - [ - [ - 88.897219, - 21.525 - ], - [ - 88.908602, - 21.568609 - ], - [ - 88.836382, - 21.605833 - ], - [ - 88.825548, - 21.559443 - ], - [ - 88.844988, - 21.526945 - ], - [ - 88.897219, - 21.525 - ] - ] - ], - [ - [ - [ - 72.71805, - 21.606386 - ], - [ - 72.7661, - 21.655275 - ], - [ - 72.603319, - 21.64361 - ], - [ - 72.71805, - 21.606386 - ] - ] - ], - [ - [ - [ - 88.134722, - 21.619997 - ], - [ - 88.132479, - 21.876108 - ], - [ - 88.044985, - 21.66083 - ], - [ - 88.134722, - 21.619997 - ] - ] - ], - [ - [ - [ - 88.646379, - 21.825556 - ], - [ - 88.641939, - 21.921663 - ], - [ - 88.579165, - 21.826944 - ], - [ - 88.593599, - 21.797777 - ], - [ - 88.644991, - 21.784723 - ], - [ - 88.646379, - 21.825556 - ] - ] - ], - [ - [ - [ - 88.088594, - 21.849443 - ], - [ - 88.135271, - 21.907499 - ], - [ - 88.113039, - 21.948606 - ], - [ - 88.088594, - 21.849443 - ] - ] - ], - [ - [ - [ - 81.025362, - 30.204355 - ], - [ - 79.092485, - 31.437498 - ], - [ - 78.767214, - 31.309999 - ], - [ - 78.397768, - 32.548609 - ], - [ - 78.760546, - 32.635553 - ], - [ - 78.971102, - 32.350832 - ], - [ - 79.530275, - 32.754168 - ], - [ - 78.811647, - 33.525827 - ], - [ - 78.985353, - 34.350016 - ], - [ - 78.309145, - 34.642496 - ], - [ - 78.075548, - 35.445826 - ], - [ - 77.823931, - 35.501329 - ], - [ - 77.042482, - 35.099161 - ], - [ - 76.869982, - 34.658884 - ], - [ - 73.941652, - 34.646387 - ], - [ - 73.913317, - 34.068605 - ], - [ - 74.295824, - 33.977488 - ], - [ - 73.990541, - 33.743883 - ], - [ - 74.01639, - 33.188601 - ], - [ - 75.381289, - 32.214243 - ], - [ - 74.605326, - 31.877119 - ], - [ - 74.69459, - 31.053961 - ], - [ - 73.872499, - 30.3901 - ], - [ - 73.933405, - 30.136003 - ], - [ - 73.397493, - 29.942774 - ], - [ - 71.896944, - 27.961943 - ], - [ - 70.829439, - 27.706385 - ], - [ - 70.368319, - 28.020834 - ], - [ - 69.580278, - 27.17333 - ], - [ - 69.506105, - 26.754446 - ], - [ - 70.183596, - 26.536112 - ], - [ - 70.088045, - 25.982775 - ], - [ - 70.666384, - 25.698332 - ], - [ - 71.105822, - 24.416388 - ], - [ - 70.014711, - 24.169718 - ], - [ - 68.783052, - 24.332777 - ], - [ - 68.74721, - 23.969995 - ], - [ - 68.197802, - 23.766687 - ], - [ - 68.321383, - 23.580832 - ], - [ - 68.741365, - 23.844164 - ], - [ - 68.433046, - 23.429998 - ], - [ - 69.215822, - 22.840277 - ], - [ - 70.506945, - 23.102221 - ], - [ - 70.165545, - 22.548334 - ], - [ - 68.944429, - 22.294165 - ], - [ - 70.81888, - 20.697496 - ], - [ - 72.110537, - 21.201941 - ], - [ - 72.151934, - 22.283888 - ], - [ - 72.919146, - 22.267778 - ], - [ - 72.500826, - 21.976664 - ], - [ - 72.734423, - 21.986383 - ], - [ - 72.541658, - 21.663885 - ], - [ - 73.130816, - 21.753611 - ], - [ - 72.56415, - 21.378054 - ], - [ - 72.93442, - 20.774721 - ], - [ - 72.664156, - 19.870832 - ], - [ - 73.047228, - 19.217257 - ], - [ - 72.78055, - 19.312498 - ], - [ - 72.769991, - 18.943052 - ], - [ - 73.055544, - 19.011946 - ], - [ - 72.853868, - 18.660555 - ], - [ - 73.447756, - 16.055834 - ], - [ - 74.411928, - 14.483332 - ], - [ - 74.810259, - 12.864721 - ], - [ - 75.688875, - 11.435278 - ], - [ - 76.575823, - 8.876944 - ], - [ - 77.536104, - 8.071943 - ], - [ - 78.060534, - 8.364164 - ], - [ - 78.396654, - 9.08972 - ], - [ - 79.451387, - 9.15 - ], - [ - 78.908037, - 9.479719 - ], - [ - 79.324999, - 10.280832 - ], - [ - 79.859713, - 10.288889 - ], - [ - 79.763048, - 11.64889 - ], - [ - 80.349718, - 13.334166 - ], - [ - 80.049425, - 13.617777 - ], - [ - 80.313036, - 13.439165 - ], - [ - 80.048876, - 15.048887 - ], - [ - 80.279436, - 15.699167 - ], - [ - 80.825274, - 15.751944 - ], - [ - 80.891939, - 16.02611 - ], - [ - 81.017275, - 15.775557 - ], - [ - 81.313372, - 16.363333 - ], - [ - 82.301699, - 16.583055 - ], - [ - 82.364428, - 17.100832 - ], - [ - 84.106371, - 18.292223 - ], - [ - 85.434885, - 19.887011 - ], - [ - 85.451387, - 19.660276 - ], - [ - 86.420259, - 19.982775 - ], - [ - 87.02556, - 20.674829 - ], - [ - 86.96332, - 21.381941 - ], - [ - 87.796373, - 21.698885 - ], - [ - 88.168047, - 22.091665 - ], - [ - 87.907763, - 22.421663 - ], - [ - 88.199419, - 22.155275 - ], - [ - 88.254168, - 21.548609 - ], - [ - 88.496096, - 21.950274 - ], - [ - 88.572222, - 21.559999 - ], - [ - 88.628588, - 21.749163 - ], - [ - 88.556932, - 21.813334 - ], - [ - 88.667757, - 22.202219 - ], - [ - 88.707216, - 21.566389 - ], - [ - 88.784426, - 21.556944 - ], - [ - 88.855547, - 21.632776 - ], - [ - 89.007494, - 21.6 - ], - [ - 89.088884, - 21.628054 - ], - [ - 89.005556, - 21.903608 - ], - [ - 89.063005, - 22.115477 - ], - [ - 88.986101, - 23.20833 - ], - [ - 88.563875, - 23.65222 - ], - [ - 88.750536, - 24.220984 - ], - [ - 88.043322, - 24.684164 - ], - [ - 88.450823, - 25.187777 - ], - [ - 89.009432, - 25.288332 - ], - [ - 88.110537, - 25.835554 - ], - [ - 88.433046, - 26.55139 - ], - [ - 89.342775, - 26.017031 - ], - [ - 89.739153, - 26.156385 - ], - [ - 89.845263, - 25.28861 - ], - [ - 92.406374, - 25.030554 - ], - [ - 92.12137, - 24.393332 - ], - [ - 91.373293, - 24.101942 - ], - [ - 91.159426, - 23.640554 - ], - [ - 91.613604, - 22.943052 - ], - [ - 91.949999, - 23.732218 - ], - [ - 92.283327, - 23.705275 - ], - [ - 92.600817, - 21.982218 - ], - [ - 93.196642, - 22.256388 - ], - [ - 93.338732, - 24.077917 - ], - [ - 94.151094, - 23.855276 - ], - [ - 94.734423, - 25.024721 - ], - [ - 94.625536, - 25.397776 - ], - [ - 95.178041, - 26.058889 - ], - [ - 95.141375, - 26.612497 - ], - [ - 96.194139, - 27.270834 - ], - [ - 97.13666, - 27.085833 - ], - [ - 96.88666, - 27.606108 - ], - [ - 97.348879, - 28.222773 - ], - [ - 96.401934, - 28.35111 - ], - [ - 96.615816, - 28.790277 - ], - [ - 96.470827, - 29.056665 - ], - [ - 96.169146, - 28.903608 - ], - [ - 96.395266, - 29.255278 - ], - [ - 96.077486, - 29.468607 - ], - [ - 95.387774, - 29.035276 - ], - [ - 94.647509, - 29.33346 - ], - [ - 92.544985, - 27.86194 - ], - [ - 91.657763, - 27.764723 - ], - [ - 92.113604, - 27.297499 - ], - [ - 92.069994, - 26.861944 - ], - [ - 89.643053, - 26.715273 - ], - [ - 88.893877, - 26.975554 - ], - [ - 88.917727, - 27.320326 - ], - [ - 88.831667, - 28.013334 - ], - [ - 88.142794, - 27.866056 - ], - [ - 88.014711, - 26.364721 - ], - [ - 85.855547, - 26.570276 - ], - [ - 84.147219, - 27.511389 - ], - [ - 83.291368, - 27.337778 - ], - [ - 82.066401, - 27.914156 - ], - [ - 80.055819, - 28.836111 - ], - [ - 80.376925, - 29.748606 - ], - [ - 81.025362, - 30.204355 - ] - ], - [ - [ - 86.283602, - 20.038054 - ], - [ - 86.25139, - 20.045 - ], - [ - 86.276094, - 20.050001 - ], - [ - 86.283602, - 20.038054 - ] - ] - ] - ] - }, - "name" : "India", - "iso2" : "IN", - "iso3" : "IND" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "lr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 54.034439, - 26.484718 - ], - [ - 54.018883, - 26.554165 - ], - [ - 53.903603, - 26.53611 - ], - [ - 54.034439, - 26.484718 - ] - ] - ], - [ - [ - [ - 53.318054, - 26.797775 - ], - [ - 53.151657, - 26.846386 - ], - [ - 53.203323, - 26.802498 - ], - [ - 53.318054, - 26.797775 - ] - ] - ], - [ - [ - [ - 56.346657, - 26.82222 - ], - [ - 56.4086, - 26.885551 - ], - [ - 56.34388, - 26.884163 - ], - [ - 56.346657, - 26.82222 - ] - ] - ], - [ - [ - [ - 55.734993, - 26.838051 - ], - [ - 55.688599, - 26.929161 - ], - [ - 55.632767, - 26.79472 - ], - [ - 55.734993, - 26.838051 - ] - ] - ], - [ - [ - [ - 56.24527, - 26.927494 - ], - [ - 55.75222, - 26.951939 - ], - [ - 55.769989, - 26.792774 - ], - [ - 55.283607, - 26.558609 - ], - [ - 56.24527, - 26.927494 - ] - ] - ], - [ - [ - [ - 56.470825, - 27.037777 - ], - [ - 56.509163, - 27.071663 - ], - [ - 56.469986, - 27.108608 - ], - [ - 56.434715, - 27.086941 - ], - [ - 56.470825, - 27.037777 - ] - ] - ], - [ - [ - [ - 50.32888, - 29.20805 - ], - [ - 50.338326, - 29.268887 - ], - [ - 50.291382, - 29.278053 - ], - [ - 50.32888, - 29.20805 - ] - ] - ], - [ - [ - [ - 61.276558, - 35.607246 - ], - [ - 61.157211, - 36.649994 - ], - [ - 60.333054, - 36.656097 - ], - [ - 59.338882, - 37.539162 - ], - [ - 57.450272, - 37.939156 - ], - [ - 57.212212, - 38.281937 - ], - [ - 55.442764, - 38.086105 - ], - [ - 54.681107, - 37.443604 - ], - [ - 53.90564, - 37.350853 - ], - [ - 53.943321, - 36.799995 - ], - [ - 51.101105, - 36.728874 - ], - [ - 50.191376, - 37.38916 - ], - [ - 49.102486, - 37.643044 - ], - [ - 48.888283, - 38.442406 - ], - [ - 48.020821, - 38.835541 - ], - [ - 48.359787, - 39.385216 - ], - [ - 47.976662, - 39.719231 - ], - [ - 46.540375, - 38.875587 - ], - [ - 46.178246, - 38.841148 - ], - [ - 45.004433, - 39.416382 - ], - [ - 44.813042, - 39.630814 - ], - [ - 44.60582, - 39.78054 - ], - [ - 44.4161, - 39.425262 - ], - [ - 44.034157, - 39.384995 - ], - [ - 44.484154, - 38.345543 - ], - [ - 44.223969, - 37.899151 - ], - [ - 44.61805, - 37.727768 - ], - [ - 44.787338, - 37.149712 - ], - [ - 45.405823, - 35.990829 - ], - [ - 46.346939, - 35.817215 - ], - [ - 45.979988, - 35.584717 - ], - [ - 46.171364, - 35.113411 - ], - [ - 45.797733, - 34.91404 - ], - [ - 45.401054, - 33.979568 - ], - [ - 46.181938, - 33.260277 - ], - [ - 46.107216, - 32.967491 - ], - [ - 47.434158, - 32.397774 - ], - [ - 47.864441, - 31.798607 - ], - [ - 47.693878, - 31.00111 - ], - [ - 48.036385, - 30.997494 - ], - [ - 48.032494, - 30.491383 - ], - [ - 48.545555, - 29.96303 - ], - [ - 48.920547, - 30.043053 - ], - [ - 48.984993, - 30.513054 - ], - [ - 49.551384, - 30.0075 - ], - [ - 50.048607, - 30.207222 - ], - [ - 51.430275, - 27.937775 - ], - [ - 52.440269, - 27.640831 - ], - [ - 53.747772, - 26.70916 - ], - [ - 54.794716, - 26.489994 - ], - [ - 56.132767, - 27.160275 - ], - [ - 56.690544, - 27.148331 - ], - [ - 57.318054, - 25.770832 - ], - [ - 61.611031, - 25.197647 - ], - [ - 61.858047, - 26.234718 - ], - [ - 63.176384, - 26.631107 - ], - [ - 63.341934, - 27.122498 - ], - [ - 62.782494, - 27.260555 - ], - [ - 62.78138, - 28.266941 - ], - [ - 61.905548, - 28.554996 - ], - [ - 60.868599, - 29.863884 - ], - [ - 61.851105, - 31.021111 - ], - [ - 61.713608, - 31.383331 - ], - [ - 60.84388, - 31.498329 - ], - [ - 60.582497, - 33.066101 - ], - [ - 60.943047, - 33.51944 - ], - [ - 60.527771, - 33.644157 - ], - [ - 60.508331, - 34.140274 - ], - [ - 60.878876, - 34.319717 - ], - [ - 60.721657, - 34.522217 - ], - [ - 61.276558, - 35.607246 - ] - ] - ] - ] - }, - "name" : "Iran (Islamic Republic of)", - "iso2" : "IR", - "iso3" : "IRN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "l71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 35.25972, - 31.78722 - ], - [ - 35.248886, - 31.808887 - ], - [ - 35.251663, - 31.788055 - ], - [ - 35.25972, - 31.78722 - ] - ] - ], - [ - [ - [ - 35.623634, - 33.245728 - ], - [ - 35.10083, - 33.093605 - ], - [ - 34.490547, - 31.596096 - ], - [ - 34.33416, - 31.25972 - ], - [ - 34.267578, - 31.216541 - ], - [ - 34.903801, - 29.486706 - ], - [ - 34.97998, - 29.545753 - ], - [ - 35.478195, - 31.497322 - ], - [ - 34.884995, - 31.391388 - ], - [ - 35.282494, - 32.516937 - ], - [ - 35.552567, - 32.394196 - ], - [ - 35.648888, - 32.685272 - ], - [ - 35.623634, - 33.245728 - ] - ] - ] - ] - }, - "name" : "Israel", - "iso2" : "IL", - "iso3" : "ISR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "mL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 13.718655, - 46.526611 - ], - [ - 12.440554, - 46.690826 - ], - [ - 12.127777, - 47.001663 - ], - [ - 10.471235, - 46.871353 - ], - [ - 10.465277, - 46.546387 - ], - [ - 10.050278, - 46.539993 - ], - [ - 10.129999, - 46.227219 - ], - [ - 9.281944, - 46.495827 - ], - [ - 9.036665, - 45.837776 - ], - [ - 8.436388, - 46.463333 - ], - [ - 7.855742, - 45.919052 - ], - [ - 7.038054, - 45.931938 - ], - [ - 6.79897, - 45.78067 - ], - [ - 7.127777, - 45.257774 - ], - [ - 6.61976, - 45.110138 - ], - [ - 7.031666, - 44.831383 - ], - [ - 6.976388, - 44.284164 - ], - [ - 7.662222, - 44.17083 - ], - [ - 7.528055, - 43.788605 - ], - [ - 8.748888, - 44.429161 - ], - [ - 10.107498, - 44.0075 - ], - [ - 11.098888, - 42.393051 - ], - [ - 15.666666, - 40.03083 - ], - [ - 16.2225, - 38.910828 - ], - [ - 15.631666, - 38.011665 - ], - [ - 16.062496, - 37.924164 - ], - [ - 16.594997, - 38.800827 - ], - [ - 17.169167, - 38.963333 - ], - [ - 17.151108, - 39.389999 - ], - [ - 16.486664, - 39.767494 - ], - [ - 16.913609, - 40.445549 - ], - [ - 17.859165, - 40.283607 - ], - [ - 18.349442, - 39.791939 - ], - [ - 18.512218, - 40.136665 - ], - [ - 18.011665, - 40.64444 - ], - [ - 15.932499, - 41.47805 - ], - [ - 16.141941, - 41.914162 - ], - [ - 14.739721, - 42.085548 - ], - [ - 14.016666, - 42.669998 - ], - [ - 13.621666, - 43.553886 - ], - [ - 12.368332, - 44.246666 - ], - [ - 12.245554, - 44.715828 - ], - [ - 12.539165, - 44.961105 - ], - [ - 12.16111, - 45.263885 - ], - [ - 12.281387, - 45.468048 - ], - [ - 13.193333, - 45.778053 - ], - [ - 13.716944, - 45.596107 - ], - [ - 13.919167, - 45.637497 - ], - [ - 13.48, - 46.011108 - ], - [ - 13.669167, - 46.177498 - ], - [ - 13.383055, - 46.297218 - ], - [ - 13.718655, - 46.526611 - ] - ], - [ - [ - 12.459166, - 43.896111 - ], - [ - 12.415798, - 43.957954 - ], - [ - 12.509998, - 43.986938 - ], - [ - 12.459166, - 43.896111 - ] - ], - [ - [ - 12.44509, - 41.903118 - ], - [ - 12.451653, - 41.907989 - ], - [ - 12.45666, - 41.901426 - ], - [ - 12.44509, - 41.903118 - ] - ] - ], - [ - [ - [ - 12.422777, - 45.420555 - ], - [ - 12.373333, - 45.428055 - ], - [ - 12.32361, - 45.343887 - ], - [ - 12.422777, - 45.420555 - ] - ] - ], - [ - [ - [ - 9.844166, - 43.034439 - ], - [ - 9.831665, - 43.075554 - ], - [ - 9.804165, - 43.063889 - ], - [ - 9.806944, - 43.00972 - ], - [ - 9.844166, - 43.034439 - ] - ] - ], - [ - [ - [ - 10.441111, - 42.844444 - ], - [ - 10.101944, - 42.772499 - ], - [ - 10.423054, - 42.708885 - ], - [ - 10.441111, - 42.844444 - ] - ] - ], - [ - [ - [ - 10.088333, - 42.57222 - ], - [ - 10.101665, - 42.593605 - ], - [ - 10.081944, - 42.618889 - ], - [ - 10.088333, - 42.57222 - ] - ] - ], - [ - [ - [ - 10.915833, - 42.325272 - ], - [ - 10.877777, - 42.388054 - ], - [ - 10.866388, - 42.358604 - ], - [ - 10.915833, - 42.325272 - ] - ] - ], - [ - [ - [ - 10.316666, - 42.317497 - ], - [ - 10.326111, - 42.34333 - ], - [ - 10.293055, - 42.349998 - ], - [ - 10.316666, - 42.317497 - ] - ] - ], - [ - [ - [ - 9.513332, - 41.14666 - ], - [ - 8.192499, - 40.913605 - ], - [ - 8.556665, - 39.866104 - ], - [ - 8.406944, - 38.958611 - ], - [ - 8.859165, - 38.879166 - ], - [ - 9.018332, - 39.266388 - ], - [ - 9.569166, - 39.150551 - ], - [ - 9.825832, - 40.526108 - ], - [ - 9.513332, - 41.14666 - ] - ] - ], - [ - [ - [ - 8.339167, - 41.062492 - ], - [ - 8.32111, - 41.121384 - ], - [ - 8.215277, - 40.992493 - ], - [ - 8.339167, - 41.062492 - ] - ] - ], - [ - [ - [ - 12.964167, - 40.883888 - ], - [ - 12.988054, - 40.931389 - ], - [ - 12.950277, - 40.91777 - ], - [ - 12.964167, - 40.883888 - ] - ] - ], - [ - [ - [ - 13.951387, - 40.701385 - ], - [ - 13.948055, - 40.742493 - ], - [ - 13.853888, - 40.734718 - ], - [ - 13.951387, - 40.701385 - ] - ] - ], - [ - [ - [ - 14.210554, - 40.560555 - ], - [ - 14.197222, - 40.536659 - ], - [ - 14.261944, - 40.55555 - ], - [ - 14.210554, - 40.560555 - ] - ] - ], - [ - [ - [ - 8.292221, - 39.093605 - ], - [ - 8.302776, - 39.189995 - ], - [ - 8.223888, - 39.164719 - ], - [ - 8.292221, - 39.093605 - ] - ] - ], - [ - [ - [ - 15.21361, - 38.770554 - ], - [ - 15.239166, - 38.806107 - ], - [ - 15.190277, - 38.79055 - ], - [ - 15.21361, - 38.770554 - ] - ] - ], - [ - [ - [ - 13.173332, - 38.690277 - ], - [ - 13.198332, - 38.711388 - ], - [ - 13.162222, - 38.714439 - ], - [ - 13.173332, - 38.690277 - ] - ] - ], - [ - [ - [ - 14.868332, - 38.531387 - ], - [ - 14.86861, - 38.578049 - ], - [ - 14.794722, - 38.567772 - ], - [ - 14.868332, - 38.531387 - ] - ] - ], - [ - [ - [ - 14.955276, - 38.445549 - ], - [ - 14.963888, - 38.517494 - ], - [ - 14.912222, - 38.516663 - ], - [ - 14.955276, - 38.445549 - ] - ] - ], - [ - [ - [ - 14.988888, - 38.364166 - ], - [ - 14.958887, - 38.431107 - ], - [ - 14.941111, - 38.399437 - ], - [ - 14.988888, - 38.364166 - ] - ] - ], - [ - [ - [ - 15.528889, - 38.13694 - ], - [ - 13.768888, - 37.970551 - ], - [ - 13.316666, - 38.21833 - ], - [ - 12.422222, - 37.796104 - ], - [ - 15.081388, - 36.649162 - ], - [ - 15.316666, - 37.008888 - ], - [ - 15.086666, - 37.479439 - ], - [ - 15.528889, - 38.13694 - ] - ] - ], - [ - [ - [ - 12.073889, - 37.953606 - ], - [ - 12.059166, - 37.989166 - ], - [ - 12.029999, - 37.986938 - ], - [ - 12.073889, - 37.953606 - ] - ] - ], - [ - [ - [ - 12.354166, - 37.906105 - ], - [ - 12.339167, - 37.934441 - ], - [ - 12.271387, - 37.936386 - ], - [ - 12.354166, - 37.906105 - ] - ] - ], - [ - [ - [ - 12.015833, - 36.738327 - ], - [ - 12.048332, - 36.796944 - ], - [ - 11.930832, - 36.82972 - ], - [ - 12.015833, - 36.738327 - ] - ] - ] - ] - }, - "name" : "Italy", - "iso2" : "IT", - "iso3" : "ITA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "mb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -3.102272, - 5.109545 - ], - [ - -3.168334, - 5.117222 - ], - [ - -3.103041, - 5.085022 - ], - [ - -3.102272, - 5.109545 - ] - ] - ], - [ - [ - [ - -4.787278, - 5.168312 - ], - [ - -4.004445, - 5.231667 - ], - [ - -4.146389, - 5.277222 - ], - [ - -4.787278, - 5.168312 - ] - ] - ], - [ - [ - [ - -4.787278, - 5.168312 - ], - [ - -3.807778, - 5.375555 - ], - [ - -4.004168, - 5.253611 - ], - [ - -3.297223, - 5.118055 - ], - [ - -3.1425, - 5.367777 - ], - [ - -2.928128, - 5.100222 - ], - [ - -2.764445, - 5.579166 - ], - [ - -3.249167, - 6.611388 - ], - [ - -2.487778, - 8.197777 - ], - [ - -2.685561, - 9.481817 - ], - [ - -3.633611, - 9.954443 - ], - [ - -4.704445, - 9.698055 - ], - [ - -5.51985, - 10.436272 - ], - [ - -6.111389, - 10.197777 - ], - [ - -6.243402, - 10.735256 - ], - [ - -6.988056, - 10.147499 - ], - [ - -7.635556, - 10.448332 - ], - [ - -7.973984, - 10.165611 - ], - [ - -8.143612, - 9.533888 - ], - [ - -7.732779, - 9.088055 - ], - [ - -7.957778, - 8.813332 - ], - [ - -7.646536, - 8.378416 - ], - [ - -8.198057, - 8.496666 - ], - [ - -7.946838, - 8.018505 - ], - [ - -8.469749, - 7.561325 - ], - [ - -8.308334, - 6.860833 - ], - [ - -8.606384, - 6.507815 - ], - [ - -7.423334, - 5.839444 - ], - [ - -7.525402, - 4.352806 - ], - [ - -5.002929, - 5.129237 - ], - [ - -5.319723, - 5.230833 - ], - [ - -4.787278, - 5.168312 - ] - ] - ] - ] - }, - "name" : "Cote d'Ivoire", - "iso2" : "CI", - "iso3" : "CIV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "mr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 48.545555, - 29.96303 - ], - [ - 48.032494, - 30.491383 - ], - [ - 48.036385, - 30.997494 - ], - [ - 47.693878, - 31.00111 - ], - [ - 47.864441, - 31.798607 - ], - [ - 47.434158, - 32.397774 - ], - [ - 46.107216, - 32.967491 - ], - [ - 46.181938, - 33.260277 - ], - [ - 45.401054, - 33.979568 - ], - [ - 45.797733, - 34.91404 - ], - [ - 46.171364, - 35.113411 - ], - [ - 45.979988, - 35.584717 - ], - [ - 46.346939, - 35.817215 - ], - [ - 45.405823, - 35.990829 - ], - [ - 44.787338, - 37.149712 - ], - [ - 44.317215, - 36.970543 - ], - [ - 44.116379, - 37.316376 - ], - [ - 42.790825, - 37.38472 - ], - [ - 42.355614, - 37.106926 - ], - [ - 41.290276, - 36.355553 - ], - [ - 41.003876, - 34.419434 - ], - [ - 38.794701, - 33.377594 - ], - [ - 39.196743, - 32.154942 - ], - [ - 40.41333, - 31.94833 - ], - [ - 42.084999, - 31.11166 - ], - [ - 44.721661, - 29.19833 - ], - [ - 46.546944, - 29.104198 - ], - [ - 47.169991, - 30.01527 - ], - [ - 47.931099, - 30.018887 - ], - [ - 47.943474, - 30.017555 - ], - [ - 48.158875, - 30.038052 - ], - [ - 48.443047, - 29.927498 - ], - [ - 48.54332, - 29.926662 - ], - [ - 48.545555, - 29.96303 - ] - ] - ] - }, - "name" : "Iraq", - "iso2" : "IQ", - "iso3" : "IRQ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "m71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 153.95859, - 24.295 - ], - [ - 153.952761, - 24.321386 - ], - [ - 153.939699, - 24.300833 - ], - [ - 153.95859, - 24.295 - ] - ] - ], - [ - [ - [ - 123.870821, - 24.252501 - ], - [ - 123.921923, - 24.371111 - ], - [ - 123.678865, - 24.316111 - ], - [ - 123.870821, - 24.252501 - ] - ] - ], - [ - [ - [ - 122.996935, - 24.438887 - ], - [ - 123.009432, - 24.46694 - ], - [ - 122.935259, - 24.458052 - ], - [ - 122.996935, - 24.438887 - ] - ] - ], - [ - [ - [ - 131.264162, - 24.454996 - ], - [ - 131.273592, - 24.475828 - ], - [ - 131.243013, - 24.484442 - ], - [ - 131.264162, - 24.454996 - ] - ] - ], - [ - [ - [ - 124.26166, - 24.457499 - ], - [ - 124.324434, - 24.5875 - ], - [ - 124.075823, - 24.424719 - ], - [ - 124.219149, - 24.335276 - ], - [ - 124.26166, - 24.457499 - ] - ] - ], - [ - [ - [ - 141.309145, - 24.748053 - ], - [ - 141.357454, - 24.788889 - ], - [ - 141.290255, - 24.778055 - ], - [ - 141.309145, - 24.748053 - ] - ] - ], - [ - [ - [ - 125.356371, - 24.776667 - ], - [ - 125.263323, - 24.884165 - ], - [ - 125.257219, - 24.729162 - ], - [ - 125.451105, - 24.739717 - ], - [ - 125.356371, - 24.776667 - ] - ] - ], - [ - [ - [ - 141.293581, - 25.418329 - ], - [ - 141.293581, - 25.451387 - ], - [ - 141.268312, - 25.445276 - ], - [ - 141.293581, - 25.418329 - ] - ] - ], - [ - [ - [ - 131.243837, - 25.816668 - ], - [ - 131.250826, - 25.872221 - ], - [ - 131.20801, - 25.833334 - ], - [ - 131.243837, - 25.816668 - ] - ] - ], - [ - [ - [ - 126.761934, - 26.386942 - ], - [ - 126.692202, - 26.360556 - ], - [ - 126.787203, - 26.296946 - ], - [ - 126.761934, - 26.386942 - ] - ] - ], - [ - [ - [ - 142.177767, - 26.622499 - ], - [ - 142.153048, - 26.68722 - ], - [ - 142.111361, - 26.715273 - ], - [ - 142.177767, - 26.622499 - ] - ] - ], - [ - [ - [ - 128.252779, - 26.638887 - ], - [ - 128.287203, - 26.854998 - ], - [ - 127.883883, - 26.667498 - ], - [ - 127.652773, - 26.083055 - ], - [ - 128.252779, - 26.638887 - ] - ] - ], - [ - [ - [ - 142.232454, - 27.033335 - ], - [ - 142.233309, - 27.089167 - ], - [ - 142.178316, - 27.075277 - ], - [ - 142.232454, - 27.033335 - ] - ] - ], - [ - [ - [ - 142.194704, - 27.148333 - ], - [ - 142.194124, - 27.191107 - ], - [ - 142.178591, - 27.156664 - ], - [ - 142.194704, - 27.148333 - ] - ] - ], - [ - [ - [ - 140.878023, - 27.225828 - ], - [ - 140.872194, - 27.243052 - ], - [ - 140.864138, - 27.219442 - ], - [ - 140.878023, - 27.225828 - ] - ] - ], - [ - [ - [ - 128.609133, - 27.358889 - ], - [ - 128.701906, - 27.445829 - ], - [ - 128.523592, - 27.41361 - ], - [ - 128.609133, - 27.358889 - ] - ] - ], - [ - [ - [ - 142.195528, - 27.599165 - ], - [ - 142.1933, - 27.617777 - ], - [ - 142.169985, - 27.62472 - ], - [ - 142.195528, - 27.599165 - ] - ] - ], - [ - [ - [ - 142.089144, - 27.717775 - ], - [ - 142.086916, - 27.732218 - ], - [ - 142.06885, - 27.726664 - ], - [ - 142.089144, - 27.717775 - ] - ] - ], - [ - [ - [ - 128.951082, - 27.675829 - ], - [ - 129.02997, - 27.774443 - ], - [ - 128.947481, - 27.907499 - ], - [ - 128.951082, - 27.675829 - ] - ] - ], - [ - [ - [ - 129.336092, - 28.075277 - ], - [ - 129.191072, - 28.188608 - ], - [ - 129.219118, - 28.097776 - ], - [ - 129.336092, - 28.075277 - ] - ] - ], - [ - [ - [ - 129.992189, - 28.281668 - ], - [ - 130.027468, - 28.366388 - ], - [ - 129.91498, - 28.29611 - ], - [ - 129.992189, - 28.281668 - ] - ] - ], - [ - [ - [ - 129.715517, - 28.451109 - ], - [ - 129.143587, - 28.250277 - ], - [ - 129.375521, - 28.115274 - ], - [ - 129.715517, - 28.451109 - ] - ] - ], - [ - [ - [ - 129.733034, - 29.60972 - ], - [ - 129.741335, - 29.663332 - ], - [ - 129.706087, - 29.647497 - ], - [ - 129.733034, - 29.60972 - ] - ] - ], - [ - [ - [ - 129.896364, - 29.874166 - ], - [ - 129.8519, - 29.852221 - ], - [ - 129.921907, - 29.819719 - ], - [ - 129.896364, - 29.874166 - ] - ] - ], - [ - [ - [ - 129.963015, - 29.95722 - ], - [ - 129.928591, - 30.000002 - ], - [ - 129.927462, - 29.97444 - ], - [ - 129.963015, - 29.95722 - ] - ] - ], - [ - [ - [ - 130.558596, - 30.236383 - ], - [ - 130.666384, - 30.381941 - ], - [ - 130.382723, - 30.393888 - ], - [ - 130.558596, - 30.236383 - ] - ] - ], - [ - [ - [ - 140.330263, - 30.462496 - ], - [ - 140.329134, - 30.479162 - ], - [ - 140.303041, - 30.475275 - ], - [ - 140.330263, - 30.462496 - ] - ] - ], - [ - [ - [ - 130.906099, - 30.354719 - ], - [ - 131.053591, - 30.840277 - ], - [ - 130.869417, - 30.469717 - ], - [ - 130.906099, - 30.354719 - ] - ] - ], - [ - [ - [ - 129.721346, - 31.632219 - ], - [ - 129.782747, - 31.793333 - ], - [ - 129.670534, - 31.658331 - ], - [ - 129.721346, - 31.632219 - ] - ] - ], - [ - [ - [ - 140.025545, - 31.933054 - ], - [ - 140.009706, - 31.946665 - ], - [ - 139.999392, - 31.942495 - ], - [ - 140.025545, - 31.933054 - ] - ] - ], - [ - [ - [ - 130.157747, - 32.108889 - ], - [ - 130.195528, - 32.176943 - ], - [ - 130.116365, - 32.216661 - ], - [ - 130.157747, - 32.108889 - ] - ] - ], - [ - [ - [ - 130.369417, - 32.374712 - ], - [ - 130.44803, - 32.505274 - ], - [ - 130.209414, - 32.443048 - ], - [ - 130.369417, - 32.374712 - ] - ] - ], - [ - [ - [ - 130.02997, - 32.194994 - ], - [ - 130.20859, - 32.334993 - ], - [ - 130.157198, - 32.543612 - ], - [ - 130.02997, - 32.194994 - ] - ] - ], - [ - [ - [ - 128.90082, - 32.643053 - ], - [ - 128.660799, - 32.781939 - ], - [ - 128.601076, - 32.618601 - ], - [ - 128.90082, - 32.643053 - ] - ] - ], - [ - [ - [ - 139.841646, - 33.034998 - ], - [ - 139.864138, - 33.101664 - ], - [ - 139.743563, - 33.138048 - ], - [ - 139.841646, - 33.034998 - ] - ] - ], - [ - [ - [ - 129.100527, - 32.978601 - ], - [ - 129.117739, - 33.145548 - ], - [ - 129.055544, - 32.816385 - ], - [ - 129.100527, - 32.978601 - ] - ] - ], - [ - [ - [ - 129.392214, - 33.164713 - ], - [ - 129.564699, - 33.386942 - ], - [ - 129.454134, - 33.331667 - ], - [ - 129.392214, - 33.164713 - ] - ] - ], - [ - [ - [ - 132.276094, - 33.759439 - ], - [ - 132.230532, - 33.795275 - ], - [ - 132.185518, - 33.783335 - ], - [ - 132.276094, - 33.759439 - ] - ] - ], - [ - [ - [ - 129.754702, - 33.726938 - ], - [ - 129.701632, - 33.856943 - ], - [ - 129.658876, - 33.744997 - ], - [ - 129.754702, - 33.726938 - ] - ] - ], - [ - [ - [ - 139.618288, - 33.832216 - ], - [ - 139.601076, - 33.887774 - ], - [ - 139.582735, - 33.843607 - ], - [ - 139.618288, - 33.832216 - ] - ] - ], - [ - [ - [ - 132.326082, - 33.894716 - ], - [ - 132.451632, - 33.92277 - ], - [ - 132.18442, - 33.907495 - ], - [ - 132.326082, - 33.894716 - ] - ] - ], - [ - [ - [ - 131.214144, - 33.595545 - ], - [ - 130.690798, - 33.935823 - ], - [ - 129.578859, - 33.353609 - ], - [ - 129.944124, - 32.992495 - ], - [ - 129.675539, - 33.069994 - ], - [ - 129.746065, - 32.561106 - ], - [ - 130.346071, - 32.664438 - ], - [ - 130.211092, - 33.170832 - ], - [ - 130.605532, - 32.791384 - ], - [ - 130.446077, - 32.620546 - ], - [ - 130.587465, - 32.631937 - ], - [ - 130.569704, - 32.442492 - ], - [ - 130.162477, - 32.006945 - ], - [ - 130.228029, - 31.248884 - ], - [ - 130.63553, - 31.178885 - ], - [ - 130.534426, - 31.528887 - ], - [ - 130.808596, - 31.684164 - ], - [ - 130.666384, - 30.996664 - ], - [ - 131.343019, - 31.373888 - ], - [ - 131.989412, - 32.830553 - ], - [ - 131.902773, - 33.256945 - ], - [ - 131.51639, - 33.265551 - ], - [ - 131.66971, - 33.647493 - ], - [ - 131.214144, - 33.595545 - ] - ], - [ - [ - 129.833315, - 33.341105 - ], - [ - 129.813601, - 33.397776 - ], - [ - 129.861086, - 33.375551 - ], - [ - 129.833315, - 33.341105 - ] - ] - ], - [ - [ - [ - 139.526094, - 34.032495 - ], - [ - 139.560518, - 34.106104 - ], - [ - 139.48218, - 34.069994 - ], - [ - 139.526094, - 34.032495 - ] - ] - ], - [ - [ - [ - 132.545534, - 34.111109 - ], - [ - 132.528872, - 34.182497 - ], - [ - 132.456636, - 34.086939 - ], - [ - 132.557467, - 34.061106 - ], - [ - 132.545534, - 34.111109 - ] - ] - ], - [ - [ - [ - 132.448854, - 34.115549 - ], - [ - 132.481905, - 34.279161 - ], - [ - 132.38553, - 34.243608 - ], - [ - 132.448854, - 34.115549 - ] - ] - ], - [ - [ - [ - 132.971071, - 34.185823 - ], - [ - 133.050539, - 34.209719 - ], - [ - 133.029696, - 34.291109 - ], - [ - 132.971071, - 34.185823 - ] - ] - ], - [ - [ - [ - 129.23691, - 34.082216 - ], - [ - 129.349398, - 34.279993 - ], - [ - 129.21747, - 34.321939 - ], - [ - 129.23691, - 34.082216 - ] - ] - ], - [ - [ - [ - 134.223574, - 34.344439 - ], - [ - 133.524141, - 33.961382 - ], - [ - 132.899141, - 34.107775 - ], - [ - 132.01581, - 33.337214 - ], - [ - 132.372469, - 33.466387 - ], - [ - 132.803041, - 32.735552 - ], - [ - 133.598848, - 33.50139 - ], - [ - 134.187746, - 33.238329 - ], - [ - 134.753054, - 33.826105 - ], - [ - 134.223574, - 34.344439 - ] - ] - ], - [ - [ - [ - 139.278872, - 34.321108 - ], - [ - 139.296083, - 34.419718 - ], - [ - 139.248568, - 34.350832 - ], - [ - 139.278872, - 34.321108 - ] - ] - ], - [ - [ - [ - 134.350801, - 34.434435 - ], - [ - 134.368563, - 34.550272 - ], - [ - 134.192751, - 34.509996 - ], - [ - 134.350801, - 34.434435 - ] - ] - ], - [ - [ - [ - 134.790255, - 34.193323 - ], - [ - 135.018038, - 34.592768 - ], - [ - 134.666933, - 34.296946 - ], - [ - 134.790255, - 34.193323 - ] - ] - ], - [ - [ - [ - 129.339968, - 34.294718 - ], - [ - 129.463869, - 34.689432 - ], - [ - 129.300264, - 34.55694 - ], - [ - 129.339968, - 34.294718 - ] - ] - ], - [ - [ - [ - 139.45331, - 34.672495 - ], - [ - 139.371614, - 34.781664 - ], - [ - 139.369967, - 34.692492 - ], - [ - 139.45331, - 34.672495 - ] - ] - ], - [ - [ - [ - 133.070528, - 35.990274 - ], - [ - 133.010805, - 36.014444 - ], - [ - 133.022219, - 35.991381 - ], - [ - 133.070528, - 35.990274 - ] - ] - ], - [ - [ - [ - 133.098848, - 36.029993 - ], - [ - 133.131899, - 36.1 - ], - [ - 133.074678, - 36.079996 - ], - [ - 133.098848, - 36.029993 - ] - ] - ], - [ - [ - [ - 133.002199, - 36.033052 - ], - [ - 133.086641, - 36.12388 - ], - [ - 132.953035, - 36.066385 - ], - [ - 133.002199, - 36.033052 - ] - ] - ], - [ - [ - [ - 133.291933, - 36.324999 - ], - [ - 133.252474, - 36.152491 - ], - [ - 133.378572, - 36.200548 - ], - [ - 133.291933, - 36.324999 - ] - ] - ], - [ - [ - [ - 137.057467, - 37.143053 - ], - [ - 136.911104, - 37.143328 - ], - [ - 136.954134, - 37.089434 - ], - [ - 137.057467, - 37.143053 - ] - ] - ], - [ - [ - [ - 138.435244, - 38.047495 - ], - [ - 138.51639, - 38.320276 - ], - [ - 138.218294, - 37.800829 - ], - [ - 138.435244, - 38.047495 - ] - ] - ], - [ - [ - [ - 141.270815, - 41.342493 - ], - [ - 140.918856, - 41.530275 - ], - [ - 140.763033, - 41.17277 - ], - [ - 141.228853, - 41.22999 - ], - [ - 141.149416, - 40.862215 - ], - [ - 140.724977, - 40.829165 - ], - [ - 140.348574, - 41.248049 - ], - [ - 140.268862, - 40.806658 - ], - [ - 139.852755, - 40.601107 - ], - [ - 140.02054, - 40.230822 - ], - [ - 139.702456, - 39.93194 - ], - [ - 140.038301, - 39.803049 - ], - [ - 140.022768, - 39.378603 - ], - [ - 139.42441, - 38.151659 - ], - [ - 138.580538, - 37.398607 - ], - [ - 137.302462, - 36.746386 - ], - [ - 136.863283, - 37.08777 - ], - [ - 136.921358, - 37.197214 - ], - [ - 137.037477, - 37.18194 - ], - [ - 137.355227, - 37.431383 - ], - [ - 137.356356, - 37.504717 - ], - [ - 136.786928, - 37.362215 - ], - [ - 136.712465, - 36.75139 - ], - [ - 135.959414, - 35.973322 - ], - [ - 136.072756, - 35.648607 - ], - [ - 133.088015, - 35.581667 - ], - [ - 131.40555, - 34.419443 - ], - [ - 130.946352, - 34.416384 - ], - [ - 130.893312, - 33.921663 - ], - [ - 131.74579, - 34.053606 - ], - [ - 132.050539, - 33.772493 - ], - [ - 132.367739, - 34.358606 - ], - [ - 135.33359, - 34.718325 - ], - [ - 135.063295, - 33.877771 - ], - [ - 135.772219, - 33.454996 - ], - [ - 136.343843, - 34.189714 - ], - [ - 136.899141, - 34.266939 - ], - [ - 136.519442, - 34.692492 - ], - [ - 136.846926, - 35.078333 - ], - [ - 136.877748, - 34.72027 - ], - [ - 137.347475, - 34.722216 - ], - [ - 137.036104, - 34.564714 - ], - [ - 138.214144, - 34.599161 - ], - [ - 138.744967, - 35.122766 - ], - [ - 138.847475, - 34.592493 - ], - [ - 139.171083, - 35.236109 - ], - [ - 139.676638, - 35.135271 - ], - [ - 139.968569, - 35.660822 - ], - [ - 139.770266, - 34.953325 - ], - [ - 140.334688, - 35.13138 - ], - [ - 140.837191, - 35.743326 - ], - [ - 140.565523, - 36.247492 - ], - [ - 140.975527, - 36.987772 - ], - [ - 140.953585, - 38.14805 - ], - [ - 141.52582, - 38.26639 - ], - [ - 142.069704, - 39.546663 - ], - [ - 141.270815, - 41.342493 - ] - ] - ], - [ - [ - [ - 139.563021, - 42.228601 - ], - [ - 139.433321, - 42.201937 - ], - [ - 139.428316, - 42.061663 - ], - [ - 139.563021, - 42.228601 - ] - ] - ], - [ - [ - [ - 145.290865, - 43.53866 - ], - [ - 145.361086, - 43.555552 - ], - [ - 145.220003, - 43.602552 - ], - [ - 145.290865, - 43.53866 - ] - ] - ], - [ - [ - [ - 143.970247, - 44.141108 - ], - [ - 143.811922, - 44.168055 - ], - [ - 143.877748, - 44.147776 - ], - [ - 143.970247, - 44.141108 - ] - ] - ], - [ - [ - [ - 141.259432, - 45.098047 - ], - [ - 141.308321, - 45.188883 - ], - [ - 141.134706, - 45.213884 - ], - [ - 141.259432, - 45.098047 - ] - ] - ], - [ - [ - [ - 142.048311, - 45.404711 - ], - [ - 141.578035, - 45.232492 - ], - [ - 141.797213, - 44.624994 - ], - [ - 141.407198, - 43.291384 - ], - [ - 140.467745, - 43.367212 - ], - [ - 140.528872, - 43.000551 - ], - [ - 139.836367, - 42.615274 - ], - [ - 140.069704, - 41.419161 - ], - [ - 141.199129, - 41.798334 - ], - [ - 140.284975, - 42.253054 - ], - [ - 140.461641, - 42.567774 - ], - [ - 140.986086, - 42.295 - ], - [ - 141.790529, - 42.606386 - ], - [ - 143.239962, - 41.924166 - ], - [ - 143.989687, - 42.906656 - ], - [ - 145.822206, - 43.36944 - ], - [ - 145.256105, - 43.314997 - ], - [ - 145.069979, - 43.774714 - ], - [ - 145.34247, - 44.344156 - ], - [ - 144.779421, - 43.913324 - ], - [ - 143.772219, - 44.094156 - ], - [ - 142.048311, - 45.404711 - ] - ] - ], - [ - [ - [ - 141.039431, - 45.266939 - ], - [ - 141.074404, - 45.414156 - ], - [ - 140.973574, - 45.465273 - ], - [ - 141.039431, - 45.266939 - ] - ] - ] - ] - }, - "name" : "Japan", - "iso2" : "JP", - "iso3" : "JPN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "nL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -77.131958, - 17.878887 - ], - [ - -76.221115, - 17.904163 - ], - [ - -76.945282, - 18.394444 - ], - [ - -78.339737, - 18.362499 - ], - [ - -77.733337, - 17.84861 - ], - [ - -77.131958, - 17.878887 - ] - ] - ] - }, - "name" : "Jamaica", - "iso2" : "JM", - "iso3" : "JAM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "nb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 34.97998, - 29.545753 - ], - [ - 34.961388, - 29.360832 - ], - [ - 36.07, - 29.188889 - ], - [ - 36.743607, - 29.864719 - ], - [ - 37.502777, - 30.00222 - ], - [ - 38.001389, - 30.504166 - ], - [ - 37.005272, - 31.505554 - ], - [ - 39.196743, - 32.154942 - ], - [ - 38.794701, - 33.377594 - ], - [ - 36.837776, - 32.313606 - ], - [ - 35.648888, - 32.685272 - ], - [ - 35.552567, - 32.394196 - ], - [ - 35.478195, - 31.497322 - ], - [ - 34.97998, - 29.545753 - ] - ] - ] - }, - "name" : "Jordan", - "iso2" : "JO", - "iso3" : "JOR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "nr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 41.138054, - -2.124444 - ], - [ - 41.063889, - -2.044167 - ], - [ - 40.950272, - -2.173611 - ], - [ - 41.138054, - -2.124444 - ] - ] - ], - [ - [ - [ - 35.940552, - 4.622499 - ], - [ - 34.388191, - 4.609682 - ], - [ - 33.996666, - 4.222777 - ], - [ - 34.463333, - 3.671389 - ], - [ - 35.00972, - 1.895278 - ], - [ - 33.907219, - 0.103056 - ], - [ - 33.920273, - -1.001111 - ], - [ - 37.602776, - -2.995833 - ], - [ - 37.613609, - -3.504167 - ], - [ - 39.203026, - -4.669618 - ], - [ - 40.236664, - -2.663333 - ], - [ - 40.638054, - -2.55 - ], - [ - 40.854996, - -2.236111 - ], - [ - 40.963608, - -2.298889 - ], - [ - 40.891663, - -2.019167 - ], - [ - 41.315277, - -1.958056 - ], - [ - 41.558159, - -1.674868 - ], - [ - 40.998329, - -0.866111 - ], - [ - 40.986595, - 2.829956 - ], - [ - 41.905167, - 3.980322 - ], - [ - 41.171387, - 3.9425 - ], - [ - 40.783768, - 4.287975 - ], - [ - 39.524437, - 3.406389 - ], - [ - 38.121109, - 3.611666 - ], - [ - 37.039719, - 4.375555 - ], - [ - 35.940552, - 4.622499 - ] - ] - ] - ] - }, - "name" : "Kenya", - "iso2" : "KE", - "iso3" : "KEN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "n71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 80.234024, - 42.19622 - ], - [ - 79.194702, - 42.795792 - ], - [ - 75.664429, - 42.807457 - ], - [ - 74.293594, - 43.216904 - ], - [ - 73.583878, - 43.038574 - ], - [ - 73.519714, - 42.408005 - ], - [ - 71.747208, - 42.823586 - ], - [ - 71.171097, - 42.691353 - ], - [ - 70.97081, - 42.254669 - ], - [ - 71.276382, - 42.195511 - ], - [ - 70.187195, - 41.52829 - ], - [ - 71.418045, - 41.118553 - ], - [ - 71.69136, - 41.556335 - ], - [ - 72.19548, - 41.006592 - ], - [ - 73.173035, - 40.822998 - ], - [ - 71.710541, - 40.145767 - ], - [ - 70.98204, - 40.244843 - ], - [ - 70.498032, - 39.90683 - ], - [ - 69.540817, - 40.131378 - ], - [ - 69.306091, - 39.539436 - ], - [ - 70.997757, - 39.40094 - ], - [ - 71.473038, - 39.6213 - ], - [ - 72.248596, - 39.191856 - ], - [ - 73.655685, - 39.454826 - ], - [ - 73.994431, - 40.046043 - ], - [ - 74.86026, - 40.519386 - ], - [ - 75.578049, - 40.647995 - ], - [ - 75.697205, - 40.29911 - ], - [ - 76.345825, - 40.35022 - ], - [ - 76.873871, - 41.014107 - ], - [ - 78.080826, - 41.040787 - ], - [ - 80.234024, - 42.19622 - ] - ] - ] - }, - "name" : "Kyrgyzstan", - "iso2" : "KG", - "iso3" : "KGZ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "oL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 124.8461, - 39.497215 - ], - [ - 124.934143, - 39.60833 - ], - [ - 124.88916, - 39.605553 - ], - [ - 124.8461, - 39.497215 - ] - ] - ], - [ - [ - [ - 128.363556, - 38.625244 - ], - [ - 127.393051, - 39.200829 - ], - [ - 127.506943, - 39.724709 - ], - [ - 129.709412, - 40.829994 - ], - [ - 129.699402, - 41.648605 - ], - [ - 130.697418, - 42.292206 - ], - [ - 130.638885, - 42.406937 - ], - [ - 130.60437, - 42.42186 - ], - [ - 129.907532, - 43.005821 - ], - [ - 129.711914, - 42.444153 - ], - [ - 128.925812, - 42.024437 - ], - [ - 128.058868, - 42.003326 - ], - [ - 128.155823, - 41.382492 - ], - [ - 126.91304, - 41.796104 - ], - [ - 126.016937, - 40.899994 - ], - [ - 124.373596, - 40.09362 - ], - [ - 124.624153, - 39.594994 - ], - [ - 124.744431, - 39.776939 - ], - [ - 125.123032, - 39.557213 - ], - [ - 125.448318, - 39.576385 - ], - [ - 125.139977, - 38.796387 - ], - [ - 125.65332, - 38.627213 - ], - [ - 124.993591, - 38.588326 - ], - [ - 124.664703, - 38.121101 - ], - [ - 125.268051, - 38.072769 - ], - [ - 124.980553, - 37.924438 - ], - [ - 125.512207, - 37.88694 - ], - [ - 125.342758, - 37.671379 - ], - [ - 125.724426, - 37.91082 - ], - [ - 125.589157, - 38.027214 - ], - [ - 126.688492, - 37.833908 - ], - [ - 127.106087, - 38.287498 - ], - [ - 128.079956, - 38.311935 - ], - [ - 128.363556, - 38.625244 - ] - ] - ] - ] - }, - "name" : "Korea, Democratic People's Republic of", - "iso2" : "KP", - "iso3" : "PRK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ob1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -151.78363, - -11.466391 - ], - [ - -151.814453, - -11.392502 - ], - [ - -151.808044, - -11.449722 - ], - [ - -151.78363, - -11.466391 - ] - ] - ], - [ - [ - [ - -152.391418, - -10.105278 - ], - [ - -152.395599, - -10.095835 - ], - [ - -152.406708, - -10.097221 - ], - [ - -152.391418, - -10.105278 - ] - ] - ], - [ - [ - [ - -150.224152, - -9.954166 - ], - [ - -150.220551, - -9.923891 - ], - [ - -150.233063, - -9.938614 - ], - [ - -150.224152, - -9.954166 - ] - ] - ], - [ - [ - [ - -150.225281, - -9.915834 - ], - [ - -150.219177, - -9.901392 - ], - [ - -150.228882, - -9.890835 - ], - [ - -150.225281, - -9.915834 - ] - ] - ], - [ - [ - [ - -155.878052, - -5.64 - ], - [ - -155.85614, - -5.619445 - ], - [ - -155.92807, - -5.61889 - ], - [ - -155.878052, - -5.64 - ] - ] - ], - [ - [ - [ - -172.1875, - -4.531668 - ], - [ - -172.196381, - -4.491944 - ], - [ - -172.231384, - -4.504446 - ], - [ - -172.1875, - -4.531668 - ] - ] - ], - [ - [ - [ - -171.231689, - -4.46139 - ], - [ - -171.235535, - -4.438055 - ], - [ - -171.264496, - -4.446388 - ], - [ - -171.231689, - -4.46139 - ] - ] - ], - [ - [ - [ - -154.939209, - -4.045555 - ], - [ - -155.016113, - -4.060834 - ], - [ - -154.95639, - -4.102501 - ], - [ - -154.939209, - -4.045555 - ] - ] - ], - [ - [ - [ - -171.078064, - -3.141667 - ], - [ - -171.086426, - -3.108889 - ], - [ - -171.089722, - -3.137501 - ], - [ - -171.078064, - -3.141667 - ] - ] - ], - [ - [ - [ - -171.627808, - -2.8325 - ], - [ - -171.725586, - -2.772778 - ], - [ - -171.626373, - -2.869445 - ], - [ - -171.627808, - -2.8325 - ] - ] - ], - [ - [ - [ - 176.848297, - -2.669445 - ], - [ - 176.833313, - -2.633889 - ], - [ - 176.774139, - -2.607778 - ], - [ - 176.848297, - -2.669445 - ] - ] - ], - [ - [ - [ - 175.971893, - -2.505 - ], - [ - 175.964417, - -2.481111 - ], - [ - 175.960236, - -2.505834 - ], - [ - 175.971893, - -2.505 - ] - ] - ], - [ - [ - [ - 175.58609, - -1.919722 - ], - [ - 175.592743, - -1.883333 - ], - [ - 175.54776, - -1.821667 - ], - [ - 175.58609, - -1.919722 - ] - ] - ], - [ - [ - [ - 175.531372, - -1.806111 - ], - [ - 175.519714, - -1.777778 - ], - [ - 175.493561, - -1.769722 - ], - [ - 175.531372, - -1.806111 - ] - ] - ], - [ - [ - [ - 175.041931, - -1.5525 - ], - [ - 175.046082, - -1.434722 - ], - [ - 175.001648, - -1.528611 - ], - [ - 175.041931, - -1.5525 - ] - ] - ], - [ - [ - [ - 174.873291, - -1.408056 - ], - [ - 174.853577, - -1.399167 - ], - [ - 174.857452, - -1.408611 - ], - [ - 174.873291, - -1.408056 - ] - ] - ], - [ - [ - [ - 176.464691, - -1.435278 - ], - [ - 176.421356, - -1.348333 - ], - [ - 176.390533, - -1.324445 - ], - [ - 176.464691, - -1.435278 - ] - ] - ], - [ - [ - [ - 175.954681, - -1.279167 - ], - [ - 175.934143, - -1.3025 - ], - [ - 176.018311, - -1.389444 - ], - [ - 175.954681, - -1.279167 - ] - ] - ], - [ - [ - [ - 174.767761, - -1.255833 - ], - [ - 174.767212, - -1.207222 - ], - [ - 174.71637, - -1.14 - ], - [ - 174.767761, - -1.255833 - ] - ] - ], - [ - [ - [ - 174.489685, - -0.816667 - ], - [ - 174.495789, - -0.770278 - ], - [ - 174.458008, - -0.653611 - ], - [ - 174.489685, - -0.816667 - ] - ] - ], - [ - [ - [ - 174.458862, - -0.651667 - ], - [ - 174.392487, - -0.594722 - ], - [ - 174.377167, - -0.5975 - ], - [ - 174.458862, - -0.651667 - ] - ] - ], - [ - [ - [ - 173.618011, - 0.133611 - ], - [ - 173.631622, - 0.216667 - ], - [ - 173.604126, - 0.2125 - ], - [ - 173.618011, - 0.133611 - ] - ] - ], - [ - [ - [ - 173.409698, - 0.203611 - ], - [ - 173.425537, - 0.215278 - ], - [ - 173.402191, - 0.233056 - ], - [ - 173.409698, - 0.203611 - ] - ] - ], - [ - [ - [ - 173.384979, - 0.244167 - ], - [ - 173.376617, - 0.266111 - ], - [ - 173.371338, - 0.250278 - ], - [ - 173.384979, - 0.244167 - ] - ] - ], - [ - [ - [ - 173.931915, - 0.298055 - ], - [ - 173.939423, - 0.320833 - ], - [ - 173.923584, - 0.302222 - ], - [ - 173.931915, - 0.298055 - ] - ] - ], - [ - [ - [ - 173.830536, - 0.448333 - ], - [ - 173.804962, - 0.431111 - ], - [ - 173.921631, - 0.379722 - ], - [ - 173.830536, - 0.448333 - ] - ] - ], - [ - [ - [ - 173.021912, - 1.006667 - ], - [ - 172.981354, - 0.821667 - ], - [ - 173.084137, - 0.951944 - ], - [ - 173.021912, - 1.006667 - ] - ] - ], - [ - [ - [ - 172.939697, - 1.336111 - ], - [ - 172.943573, - 1.345833 - ], - [ - 172.914154, - 1.346389 - ], - [ - 172.939697, - 1.336111 - ] - ] - ], - [ - [ - [ - 173.126617, - 1.349166 - ], - [ - 173.11911, - 1.373333 - ], - [ - 173.098572, - 1.351389 - ], - [ - 173.126617, - 1.349166 - ] - ] - ], - [ - [ - [ - 173.062195, - 1.410278 - ], - [ - 173.034698, - 1.444444 - ], - [ - 173.039703, - 1.417778 - ], - [ - 173.062195, - 1.410278 - ] - ] - ], - [ - [ - [ - 173.012756, - 1.4725 - ], - [ - 172.997192, - 1.500556 - ], - [ - 173.016388, - 1.465 - ], - [ - 173.012756, - 1.4725 - ] - ] - ], - [ - [ - [ - 172.981903, - 1.529444 - ], - [ - 172.955231, - 1.619166 - ], - [ - 172.960785, - 1.553333 - ], - [ - 172.981903, - 1.529444 - ] - ] - ], - [ - [ - [ - 172.884705, - 1.838333 - ], - [ - 172.858002, - 1.861666 - ], - [ - 172.834137, - 1.863611 - ], - [ - 172.884705, - 1.838333 - ] - ] - ], - [ - [ - [ - 173.014984, - 1.706111 - ], - [ - 173.027191, - 1.821111 - ], - [ - 172.929962, - 1.936111 - ], - [ - 173.014984, - 1.706111 - ] - ] - ], - [ - [ - [ - 172.891663, - 1.93 - ], - [ - 172.885529, - 1.943889 - ], - [ - 172.882721, - 1.932777 - ], - [ - 172.891663, - 1.93 - ] - ] - ], - [ - [ - [ - 173.328857, - 1.940278 - ], - [ - 173.349396, - 1.965833 - ], - [ - 173.311096, - 1.958055 - ], - [ - 173.328857, - 1.940278 - ] - ] - ], - [ - [ - [ - 173.343018, - 1.982777 - ], - [ - 173.325256, - 2.015833 - ], - [ - 173.313599, - 1.973889 - ], - [ - 173.343018, - 1.982777 - ] - ] - ], - [ - [ - [ - -157.431671, - 2.021388 - ], - [ - -157.571381, - 1.858888 - ], - [ - -157.179443, - 1.714444 - ], - [ - -157.431671, - 2.021388 - ] - ] - ], - [ - [ - [ - 172.870239, - 3.064444 - ], - [ - 172.749115, - 3.024166 - ], - [ - 172.774994, - 3.002222 - ], - [ - 172.870239, - 3.064444 - ] - ] - ], - [ - [ - [ - 172.968292, - 3.24861 - ], - [ - 172.976624, - 3.296389 - ], - [ - 172.957458, - 3.281388 - ], - [ - 172.968292, - 3.24861 - ] - ] - ], - [ - [ - [ - -159.340027, - 3.920833 - ], - [ - -159.40448, - 3.864166 - ], - [ - -159.271698, - 3.789722 - ], - [ - -159.340027, - 3.920833 - ] - ] - ], - [ - [ - [ - -160.394745, - 4.685554 - ], - [ - -160.37973, - 4.718332 - ], - [ - -160.405609, - 4.725276 - ], - [ - -160.394745, - 4.685554 - ] - ] - ] - ] - }, - "name" : "Kiribati", - "iso2" : "KI", - "iso3" : "KIR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "or1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 126.622208, - 33.23999 - ], - [ - 126.898041, - 33.523323 - ], - [ - 126.158333, - 33.314713 - ], - [ - 126.622208, - 33.23999 - ] - ] - ], - [ - [ - [ - 126.765549, - 34.280823 - ], - [ - 126.701393, - 34.38694 - ], - [ - 126.651382, - 34.316101 - ], - [ - 126.765549, - 34.280823 - ] - ] - ], - [ - [ - [ - 127.213608, - 34.418884 - ], - [ - 127.222717, - 34.483627 - ], - [ - 127.111366, - 34.460274 - ], - [ - 127.213608, - 34.418884 - ] - ] - ], - [ - [ - [ - 127.790817, - 34.476379 - ], - [ - 127.770828, - 34.53833 - ], - [ - 127.711929, - 34.526657 - ], - [ - 127.790817, - 34.476379 - ] - ] - ], - [ - [ - [ - 126.186653, - 34.351387 - ], - [ - 126.380257, - 34.494713 - ], - [ - 126.243317, - 34.573326 - ], - [ - 126.186653, - 34.351387 - ] - ] - ], - [ - [ - [ - 127.803864, - 34.575554 - ], - [ - 127.768051, - 34.664154 - ], - [ - 127.734421, - 34.613327 - ], - [ - 127.803864, - 34.575554 - ] - ] - ], - [ - [ - [ - 125.991364, - 34.668053 - ], - [ - 125.981369, - 34.716934 - ], - [ - 125.914993, - 34.692215 - ], - [ - 125.991364, - 34.668053 - ] - ] - ], - [ - [ - [ - 125.993042, - 34.791939 - ], - [ - 125.890549, - 34.728043 - ], - [ - 126.009163, - 34.759995 - ], - [ - 125.993042, - 34.791939 - ] - ] - ], - [ - [ - [ - 128.085785, - 34.830276 - ], - [ - 128.024139, - 34.913879 - ], - [ - 127.974152, - 34.85833 - ], - [ - 128.085785, - 34.830276 - ] - ] - ], - [ - [ - [ - 126.063599, - 34.854439 - ], - [ - 126.062759, - 34.928329 - ], - [ - 125.983597, - 34.864998 - ], - [ - 126.063599, - 34.854439 - ] - ] - ], - [ - [ - [ - 127.9561, - 34.800827 - ], - [ - 127.879967, - 34.929436 - ], - [ - 127.857208, - 34.723877 - ], - [ - 128.060791, - 34.701103 - ], - [ - 127.9561, - 34.800827 - ] - ] - ], - [ - [ - [ - 128.754425, - 34.876938 - ], - [ - 128.488556, - 34.856384 - ], - [ - 128.594116, - 34.697769 - ], - [ - 128.754425, - 34.876938 - ] - ] - ], - [ - [ - [ - 126.106087, - 35.046944 - ], - [ - 126.162201, - 35.143326 - ], - [ - 126.059982, - 35.090828 - ], - [ - 126.106087, - 35.046944 - ] - ] - ], - [ - [ - [ - 126.428307, - 36.399719 - ], - [ - 126.346939, - 36.591103 - ], - [ - 126.335823, - 36.438599 - ], - [ - 126.428307, - 36.399719 - ] - ] - ], - [ - [ - [ - 126.169434, - 36.825829 - ], - [ - 126.172447, - 36.836838 - ], - [ - 126.161102, - 36.838043 - ], - [ - 126.169434, - 36.825829 - ] - ] - ], - [ - [ - [ - 130.887482, - 37.453323 - ], - [ - 130.919434, - 37.545273 - ], - [ - 130.807465, - 37.518326 - ], - [ - 130.887482, - 37.453323 - ] - ] - ], - [ - [ - [ - 126.501389, - 37.594437 - ], - [ - 126.400543, - 37.818886 - ], - [ - 126.373032, - 37.621658 - ], - [ - 126.501389, - 37.594437 - ] - ] - ], - [ - [ - [ - 124.695534, - 37.9161 - ], - [ - 124.72554, - 37.981659 - ], - [ - 124.615257, - 37.968597 - ], - [ - 124.695534, - 37.9161 - ] - ] - ], - [ - [ - [ - 126.688492, - 37.833908 - ], - [ - 126.865807, - 37.266937 - ], - [ - 126.661102, - 37.156097 - ], - [ - 126.992203, - 36.91082 - ], - [ - 126.502487, - 37.052773 - ], - [ - 126.123596, - 36.70916 - ], - [ - 126.497208, - 36.723877 - ], - [ - 126.544418, - 36.136406 - ], - [ - 126.872993, - 36.054718 - ], - [ - 126.474701, - 35.635826 - ], - [ - 126.687759, - 35.533333 - ], - [ - 126.431374, - 35.023323 - ], - [ - 126.249153, - 35.116661 - ], - [ - 126.659714, - 34.812767 - ], - [ - 126.266937, - 34.683327 - ], - [ - 126.556374, - 34.300545 - ], - [ - 126.772491, - 34.582771 - ], - [ - 126.889427, - 34.412491 - ], - [ - 127.328598, - 34.74305 - ], - [ - 127.124687, - 34.537216 - ], - [ - 127.389427, - 34.4711 - ], - [ - 127.493874, - 34.851662 - ], - [ - 127.640823, - 34.616936 - ], - [ - 127.593323, - 34.941658 - ], - [ - 129.136932, - 35.112213 - ], - [ - 129.439423, - 35.475822 - ], - [ - 129.433594, - 37.058884 - ], - [ - 128.532471, - 38.330551 - ], - [ - 128.363556, - 38.625244 - ], - [ - 128.079956, - 38.311935 - ], - [ - 127.106087, - 38.287498 - ], - [ - 126.688492, - 37.833908 - ] - ] - ] - ] - }, - "name" : "Korea, Republic of", - "iso2" : "KR", - "iso3" : "KOR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "o71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 48.362488, - 29.450272 - ], - [ - 48.26693, - 29.441109 - ], - [ - 48.388329, - 29.395554 - ], - [ - 48.362488, - 29.450272 - ] - ] - ], - [ - [ - [ - 48.224709, - 29.594719 - ], - [ - 48.359444, - 29.744999 - ], - [ - 48.152222, - 29.99194 - ], - [ - 48.224709, - 29.594719 - ] - ] - ], - [ - [ - [ - 48.032219, - 29.968052 - ], - [ - 48.111664, - 30.023048 - ], - [ - 48.037766, - 30.011105 - ], - [ - 48.008606, - 29.973885 - ], - [ - 48.032219, - 29.968052 - ] - ] - ], - [ - [ - [ - 47.943474, - 30.017555 - ], - [ - 47.931099, - 30.018887 - ], - [ - 47.169991, - 30.01527 - ], - [ - 46.546944, - 29.104198 - ], - [ - 47.459991, - 28.999439 - ], - [ - 47.688881, - 28.538883 - ], - [ - 48.416588, - 28.545277 - ], - [ - 48.028603, - 29.344994 - ], - [ - 47.707222, - 29.375832 - ], - [ - 48.167213, - 29.553055 - ], - [ - 47.943474, - 30.017555 - ] - ] - ] - ] - }, - "name" : "Kuwait", - "iso2" : "KW", - "iso3" : "KWT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "pL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 50.116104, - 44.838043 - ], - [ - 50.11277, - 45.077492 - ], - [ - 49.978867, - 44.956383 - ], - [ - 50.116104, - 44.838043 - ] - ] - ], - [ - [ - [ - 50.291664, - 44.949997 - ], - [ - 50.342766, - 45.083054 - ], - [ - 50.265549, - 45.036659 - ], - [ - 50.291664, - 44.949997 - ] - ] - ], - [ - [ - [ - 53.024994, - 46.2286 - ], - [ - 53.097488, - 46.296661 - ], - [ - 53.046387, - 46.367493 - ], - [ - 52.960274, - 46.266388 - ], - [ - 53.024994, - 46.2286 - ] - ] - ], - [ - [ - [ - 80.234024, - 42.19622 - ], - [ - 80.171921, - 42.660507 - ], - [ - 80.578598, - 42.891075 - ], - [ - 80.376648, - 43.025238 - ], - [ - 80.817215, - 43.156067 - ], - [ - 80.362762, - 44.125244 - ], - [ - 80.520828, - 44.732475 - ], - [ - 79.871094, - 44.904976 - ], - [ - 81.688309, - 45.350815 - ], - [ - 82.561646, - 45.129417 - ], - [ - 82.649429, - 45.43026 - ], - [ - 82.317764, - 45.570534 - ], - [ - 83.040543, - 47.212212 - ], - [ - 84.75943, - 46.826385 - ], - [ - 85.529312, - 47.060165 - ], - [ - 85.759155, - 48.387772 - ], - [ - 86.5961, - 48.53611 - ], - [ - 86.874695, - 49.110825 - ], - [ - 87.348206, - 49.092621 - ], - [ - 86.616653, - 49.587212 - ], - [ - 86.774994, - 49.788887 - ], - [ - 86.191086, - 49.472488 - ], - [ - 85.258606, - 49.591377 - ], - [ - 85.014435, - 50.075829 - ], - [ - 84.363037, - 50.212212 - ], - [ - 83.456375, - 51.002495 - ], - [ - 81.468048, - 50.742218 - ], - [ - 80.687836, - 51.31472 - ], - [ - 80.077957, - 50.758087 - ], - [ - 77.908035, - 53.271103 - ], - [ - 76.521652, - 53.993881 - ], - [ - 76.811646, - 54.447769 - ], - [ - 74.429153, - 53.4786 - ], - [ - 73.437195, - 53.436104 - ], - [ - 73.238586, - 53.64444 - ], - [ - 73.763885, - 54.065544 - ], - [ - 72.613312, - 54.145271 - ], - [ - 72.468597, - 53.908882 - ], - [ - 72.051651, - 54.387772 - ], - [ - 72.196091, - 54.137497 - ], - [ - 71.185532, - 54.103325 - ], - [ - 70.996933, - 54.339157 - ], - [ - 71.27887, - 54.690269 - ], - [ - 70.843323, - 55.301933 - ], - [ - 69.185532, - 55.34388 - ], - [ - 65.483322, - 54.638046 - ], - [ - 65.216385, - 54.318886 - ], - [ - 63.172218, - 54.186378 - ], - [ - 62.547493, - 53.879433 - ], - [ - 61.01416, - 53.947487 - ], - [ - 61.226936, - 53.811935 - ], - [ - 60.905548, - 53.62027 - ], - [ - 61.577492, - 53.513329 - ], - [ - 61.184715, - 53.306656 - ], - [ - 62.118324, - 53.004166 - ], - [ - 61.099159, - 52.981659 - ], - [ - 60.694153, - 52.680824 - ], - [ - 61.061935, - 52.342491 - ], - [ - 60.00222, - 51.958328 - ], - [ - 61.685822, - 51.265831 - ], - [ - 61.381378, - 50.783607 - ], - [ - 60.04361, - 50.863327 - ], - [ - 59.542496, - 50.478325 - ], - [ - 58.337769, - 51.156097 - ], - [ - 57.481934, - 50.864716 - ], - [ - 56.510826, - 51.083328 - ], - [ - 55.69249, - 50.532494 - ], - [ - 54.647217, - 51.036942 - ], - [ - 54.523933, - 50.528839 - ], - [ - 54.506386, - 50.856941 - ], - [ - 53.428604, - 51.491661 - ], - [ - 52.603325, - 51.45694 - ], - [ - 52.338326, - 51.782211 - ], - [ - 51.303047, - 51.479713 - ], - [ - 50.7733, - 51.76918 - ], - [ - 48.697487, - 50.591934 - ], - [ - 48.796944, - 49.941933 - ], - [ - 48.251663, - 49.869713 - ], - [ - 47.520828, - 50.436378 - ], - [ - 46.929436, - 49.863609 - ], - [ - 46.79583, - 49.339714 - ], - [ - 47.062767, - 49.142769 - ], - [ - 46.499161, - 48.417496 - ], - [ - 47.122765, - 48.27166 - ], - [ - 47.383324, - 47.688881 - ], - [ - 48.20443, - 47.704987 - ], - [ - 49.027206, - 46.776093 - ], - [ - 48.560547, - 46.564995 - ], - [ - 49.222527, - 46.346306 - ], - [ - 51.189987, - 47.114716 - ], - [ - 53.194153, - 46.714996 - ], - [ - 52.996658, - 46.488045 - ], - [ - 53.164154, - 46.317215 - ], - [ - 53.085823, - 46.007217 - ], - [ - 52.733047, - 45.549438 - ], - [ - 53.228043, - 45.337769 - ], - [ - 51.405266, - 45.370544 - ], - [ - 50.953049, - 44.861938 - ], - [ - 51.570274, - 44.513885 - ], - [ - 50.239433, - 44.576385 - ], - [ - 50.839989, - 44.193047 - ], - [ - 51.265549, - 43.153046 - ], - [ - 52.738327, - 42.710274 - ], - [ - 52.440071, - 41.740936 - ], - [ - 53.014999, - 42.138885 - ], - [ - 54.17305, - 42.337212 - ], - [ - 55.45694, - 41.286659 - ], - [ - 56.000961, - 41.328453 - ], - [ - 55.99749, - 45.001106 - ], - [ - 58.569717, - 45.571106 - ], - [ - 62.025108, - 43.484787 - ], - [ - 64.931366, - 43.73777 - ], - [ - 65.82193, - 42.877213 - ], - [ - 66.123871, - 42.996941 - ], - [ - 66.02916, - 42.003052 - ], - [ - 66.526382, - 42.003052 - ], - [ - 66.719986, - 41.174995 - ], - [ - 67.935532, - 41.183327 - ], - [ - 68.455261, - 40.597771 - ], - [ - 69.056366, - 41.379433 - ], - [ - 70.97081, - 42.254669 - ], - [ - 71.171097, - 42.691353 - ], - [ - 71.747208, - 42.823586 - ], - [ - 73.519714, - 42.408005 - ], - [ - 73.583878, - 43.038574 - ], - [ - 74.293594, - 43.216904 - ], - [ - 75.664429, - 42.807457 - ], - [ - 79.194702, - 42.795792 - ], - [ - 80.234024, - 42.19622 - ] - ] - ] - ] - }, - "name" : "Kazakhstan", - "iso2" : "KZ", - "iso3" : "KAZ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "pb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 107.5466, - 14.708618 - ], - [ - 107.695251, - 15.270832 - ], - [ - 107.175537, - 15.784164 - ], - [ - 107.464706, - 16.078609 - ], - [ - 106.685532, - 16.45805 - ], - [ - 106.561096, - 16.996941 - ], - [ - 105.183319, - 18.334442 - ], - [ - 105.193863, - 18.642494 - ], - [ - 103.879433, - 19.29361 - ], - [ - 104.037247, - 19.692944 - ], - [ - 104.640266, - 19.611942 - ], - [ - 104.979156, - 20.004997 - ], - [ - 104.381927, - 20.444717 - ], - [ - 104.6436, - 20.660275 - ], - [ - 104.109154, - 20.977219 - ], - [ - 103.693588, - 20.657219 - ], - [ - 103.170532, - 20.846664 - ], - [ - 102.976089, - 21.739437 - ], - [ - 102.676651, - 21.65583 - ], - [ - 102.140747, - 22.396286 - ], - [ - 101.738037, - 22.496941 - ], - [ - 101.574432, - 22.20916 - ], - [ - 101.787201, - 21.144161 - ], - [ - 101.281937, - 21.180275 - ], - [ - 101.148239, - 21.572636 - ], - [ - 100.09137, - 20.348606 - ], - [ - 100.58046, - 20.157768 - ], - [ - 100.503601, - 19.526665 - ], - [ - 101.281097, - 19.562218 - ], - [ - 100.921371, - 17.567219 - ], - [ - 101.162773, - 17.459995 - ], - [ - 102.089394, - 18.214983 - ], - [ - 102.683594, - 17.819996 - ], - [ - 103.397217, - 18.434994 - ], - [ - 103.985527, - 18.321663 - ], - [ - 104.718323, - 17.50333 - ], - [ - 104.747208, - 16.528332 - ], - [ - 105.637772, - 15.659721 - ], - [ - 105.536102, - 14.563332 - ], - [ - 105.210602, - 14.349648 - ], - [ - 106.056641, - 13.929998 - ], - [ - 106.004707, - 14.373053 - ], - [ - 106.540741, - 14.598724 - ], - [ - 106.853592, - 14.303053 - ], - [ - 107.5466, - 14.708618 - ] - ] - ] - }, - "name" : "Lao People's Democratic Republic", - "iso2" : "LA", - "iso3" : "LAO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "pr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 35.623634, - 33.245728 - ], - [ - 36.623741, - 34.204994 - ], - [ - 36.459999, - 34.635277 - ], - [ - 35.972771, - 34.647499 - ], - [ - 35.10083, - 33.093605 - ], - [ - 35.623634, - 33.245728 - ] - ] - ] - }, - "name" : "Lebanon", - "iso2" : "LB", - "iso3" : "LBN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "p71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 24.31498, - 57.871826 - ], - [ - 24.407497, - 57.25666 - ], - [ - 23.785831, - 56.970268 - ], - [ - 22.610275, - 57.756386 - ], - [ - 21.73333, - 57.576942 - ], - [ - 21.053608, - 56.83638 - ], - [ - 21.068607, - 56.435547 - ], - [ - 21.051685, - 56.077309 - ], - [ - 22.139439, - 56.423607 - ], - [ - 25, - 56.295547 - ], - [ - 26.613209, - 55.674835 - ], - [ - 28.168011, - 56.150154 - ], - [ - 27.70166, - 56.914711 - ], - [ - 27.861107, - 57.302216 - ], - [ - 27.372059, - 57.535637 - ], - [ - 26.511387, - 57.5261 - ], - [ - 25.294998, - 58.084435 - ], - [ - 24.31498, - 57.871826 - ] - ] - ] - }, - "name" : "Latvia", - "iso2" : "LV", - "iso3" : "LVA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "qL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 26.613209, - 55.674835 - ], - [ - 26.45583, - 55.341377 - ], - [ - 26.819717, - 55.281105 - ], - [ - 25.788887, - 54.87027 - ], - [ - 25.547497, - 54.332771 - ], - [ - 25.785275, - 54.160545 - ], - [ - 23.50404, - 53.947044 - ], - [ - 23.94083, - 52.732208 - ], - [ - 23.1654, - 52.282276 - ], - [ - 23.638607, - 52.079437 - ], - [ - 23.604633, - 51.527695 - ], - [ - 24.396664, - 51.886658 - ], - [ - 25.775829, - 51.939156 - ], - [ - 30.551414, - 51.251846 - ], - [ - 30.943096, - 52.073792 - ], - [ - 31.783886, - 52.108047 - ], - [ - 31.266941, - 53.024712 - ], - [ - 32.741104, - 53.463051 - ], - [ - 31.764225, - 53.80262 - ], - [ - 31.844162, - 54.064438 - ], - [ - 30.781387, - 54.79361 - ], - [ - 31.02972, - 55.043327 - ], - [ - 30.926247, - 55.60257 - ], - [ - 28.168011, - 56.150154 - ], - [ - 26.613209, - 55.674835 - ] - ] - ] - }, - "name" : "Belarus", - "iso2" : "BY", - "iso3" : "BLR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "qb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 21.044441, - 55.326385 - ], - [ - 21.089996, - 55.719986 - ], - [ - 20.942833, - 55.287201 - ], - [ - 20.984814, - 55.27655 - ], - [ - 21.044441, - 55.326385 - ] - ] - ], - [ - [ - [ - 26.613209, - 55.674835 - ], - [ - 25, - 56.295547 - ], - [ - 22.139439, - 56.423607 - ], - [ - 21.051685, - 56.077309 - ], - [ - 21.263935, - 55.248985 - ], - [ - 21.431385, - 55.251938 - ], - [ - 22.842495, - 54.896942 - ], - [ - 22.785885, - 54.363838 - ], - [ - 23.50404, - 53.947044 - ], - [ - 25.785275, - 54.160545 - ], - [ - 25.547497, - 54.332771 - ], - [ - 25.788887, - 54.87027 - ], - [ - 26.819717, - 55.281105 - ], - [ - 26.45583, - 55.341377 - ], - [ - 26.613209, - 55.674835 - ] - ] - ] - ] - }, - "name" : "Lithuania", - "iso2" : "LT", - "iso3" : "LTU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "qr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -11.492331, - 6.927091 - ], - [ - -10.806074, - 6.403 - ], - [ - -9.142778, - 5.055555 - ], - [ - -7.525402, - 4.352806 - ], - [ - -7.423334, - 5.839444 - ], - [ - -8.606384, - 6.507815 - ], - [ - -8.308334, - 6.860833 - ], - [ - -8.469749, - 7.561325 - ], - [ - -8.660557, - 7.695 - ], - [ - -9.106945, - 7.198889 - ], - [ - -9.485161, - 7.361989 - ], - [ - -9.48365, - 8.346931 - ], - [ - -10.266651, - 8.488377 - ], - [ - -11.492331, - 6.927091 - ] - ] - ] - }, - "name" : "Liberia", - "iso2" : "LR", - "iso3" : "LBR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "q71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 17.166386, - 48.012497 - ], - [ - 17.251656, - 48.024994 - ], - [ - 18.655277, - 47.758606 - ], - [ - 20.660553, - 48.563332 - ], - [ - 22.151442, - 48.411919 - ], - [ - 22.558052, - 49.079437 - ], - [ - 21.618889, - 49.436386 - ], - [ - 20.074444, - 49.175278 - ], - [ - 19.475555, - 49.599998 - ], - [ - 18.851246, - 49.517357 - ], - [ - 16.946182, - 48.619064 - ], - [ - 17.166386, - 48.012497 - ] - ] - ] - }, - "name" : "Slovakia", - "iso2" : "SK", - "iso3" : "SVK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "rL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 9.533569, - 47.274544 - ], - [ - 9.474637, - 47.057457 - ], - [ - 9.598635, - 47.063835 - ], - [ - 9.533569, - 47.274544 - ] - ] - ] - }, - "name" : "Liechtenstein", - "iso2" : "LI", - "iso3" : "LIE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "rb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 9.537113, - 30.23439 - ], - [ - 9.303888, - 30.122498 - ], - [ - 9.766388, - 29.427776 - ], - [ - 9.948332, - 27.824444 - ], - [ - 9.871666, - 26.514164 - ], - [ - 9.398333, - 26.153332 - ], - [ - 10.252222, - 24.605831 - ], - [ - 11.558887, - 24.302498 - ], - [ - 11.986475, - 23.522305 - ], - [ - 13.543888, - 23.16861 - ], - [ - 14.234999, - 22.614166 - ], - [ - 14.997889, - 23.000591 - ], - [ - 16.000832, - 23.450554 - ], - [ - 24.002747, - 19.499065 - ], - [ - 24.000832, - 20.001942 - ], - [ - 25.000832, - 19.999119 - ], - [ - 25.001423, - 21.999695 - ], - [ - 24.997776, - 29.248886 - ], - [ - 24.706665, - 30.16861 - ], - [ - 25.151665, - 31.646942 - ], - [ - 24.973888, - 31.969997 - ], - [ - 23.247196, - 32.216225 - ], - [ - 23.112499, - 32.6325 - ], - [ - 21.621387, - 32.933609 - ], - [ - 20.084442, - 32.184715 - ], - [ - 20.060555, - 30.855274 - ], - [ - 19.001389, - 30.266941 - ], - [ - 17.370831, - 31.081665 - ], - [ - 15.761665, - 31.385555 - ], - [ - 15.165833, - 32.398605 - ], - [ - 11.526081, - 33.171135 - ], - [ - 11.567499, - 32.442215 - ], - [ - 10.287222, - 31.694164 - ], - [ - 10.21361, - 30.730831 - ], - [ - 9.537113, - 30.23439 - ] - ] - ] - }, - "name" : "Libyan Arab Jamahiriya", - "iso2" : "LY", - "iso3" : "LBY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "rr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 49.833612, - -17.089724 - ], - [ - 50.010553, - -16.725559 - ], - [ - 49.860552, - -16.913891 - ], - [ - 49.833612, - -17.089724 - ] - ] - ], - [ - [ - [ - 47.219721, - -15.436668 - ], - [ - 47.219446, - -15.420834 - ], - [ - 47.206667, - -15.420557 - ], - [ - 47.200556, - -15.427502 - ], - [ - 47.207773, - -15.434446 - ], - [ - 47.219721, - -15.436668 - ] - ] - ], - [ - [ - [ - 48.342501, - -13.418055 - ], - [ - 48.281389, - -13.196667 - ], - [ - 48.205553, - -13.39139 - ], - [ - 48.342501, - -13.418055 - ] - ] - ], - [ - [ - [ - 49.356943, - -12.090834 - ], - [ - 48.730829, - -12.434168 - ], - [ - 48.959444, - -12.822224 - ], - [ - 48.739717, - -13.427223 - ], - [ - 48.287218, - -13.808056 - ], - [ - 47.905275, - -13.59639 - ], - [ - 48.048334, - -14.155556 - ], - [ - 47.699442, - -14.420557 - ], - [ - 48.001665, - -14.765556 - ], - [ - 47.811277, - -14.603889 - ], - [ - 47.427217, - -15.110556 - ], - [ - 47.454996, - -14.665279 - ], - [ - 47.058329, - -15.185001 - ], - [ - 47.11194, - -15.305557 - ], - [ - 47.235647, - -15.41292 - ], - [ - 47.223619, - -15.448465 - ], - [ - 46.959444, - -15.558056 - ], - [ - 46.947222, - -15.198891 - ], - [ - 46.338335, - -15.624723 - ], - [ - 46.477221, - -15.966112 - ], - [ - 46.151384, - -15.703611 - ], - [ - 44.459162, - -16.184448 - ], - [ - 43.93722, - -17.479446 - ], - [ - 44.482218, - -19.97028 - ], - [ - 43.500551, - -21.333889 - ], - [ - 43.238886, - -22.282501 - ], - [ - 44.017221, - -24.985279 - ], - [ - 45.214724, - -25.588337 - ], - [ - 47.133051, - -24.928059 - ], - [ - 49.788607, - -16.83028 - ], - [ - 49.633608, - -15.557501 - ], - [ - 49.866106, - -15.432501 - ], - [ - 50.172777, - -15.979723 - ], - [ - 50.433611, - -15.580002 - ], - [ - 49.943331, - -13.039446 - ], - [ - 49.356943, - -12.090834 - ] - ], - [ - [ - 49.604441, - -12.62639 - ], - [ - 49.594446, - -12.623611 - ], - [ - 49.595835, - -12.610001 - ], - [ - 49.604441, - -12.62639 - ] - ] - ] - ] - }, - "name" : "Madagascar", - "iso2" : "MG", - "iso3" : "MDG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "r71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -60.86084, - 14.402777 - ], - [ - -60.940834, - 14.740833 - ], - [ - -61.174728, - 14.876944 - ], - [ - -60.86084, - 14.402777 - ] - ] - ] - }, - "name" : "Martinique", - "iso2" : "MQ", - "iso3" : "MTQ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "sL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 91.020248, - 46.600109 - ], - [ - 90.681931, - 45.57972 - ], - [ - 90.896942, - 45.253052 - ], - [ - 93.554703, - 44.957214 - ], - [ - 95.416656, - 44.293884 - ], - [ - 95.336105, - 44.020828 - ], - [ - 96.383041, - 42.731102 - ], - [ - 100.835541, - 42.678047 - ], - [ - 105.012207, - 41.581383 - ], - [ - 107.471916, - 42.466103 - ], - [ - 109.313599, - 42.429993 - ], - [ - 110.440536, - 42.777771 - ], - [ - 111.958328, - 43.692215 - ], - [ - 111.421371, - 44.382492 - ], - [ - 111.98082, - 45.09166 - ], - [ - 113.638046, - 44.74527 - ], - [ - 114.545258, - 45.389435 - ], - [ - 115.701927, - 45.458603 - ], - [ - 116.585541, - 46.29583 - ], - [ - 117.421097, - 46.578331 - ], - [ - 119.897491, - 46.675552 - ], - [ - 119.72998, - 47.164154 - ], - [ - 118.539337, - 47.994751 - ], - [ - 117.801086, - 48.010551 - ], - [ - 117.372192, - 47.653595 - ], - [ - 115.592194, - 47.919441 - ], - [ - 116.71138, - 49.830467 - ], - [ - 114.313026, - 50.284164 - ], - [ - 113.09082, - 49.598602 - ], - [ - 110.788589, - 49.149437 - ], - [ - 108.57222, - 49.333603 - ], - [ - 107.949142, - 49.678047 - ], - [ - 107.977127, - 49.943626 - ], - [ - 106.66304, - 50.3386 - ], - [ - 102.918587, - 50.315269 - ], - [ - 102.327766, - 50.569717 - ], - [ - 102.218872, - 51.333603 - ], - [ - 98.930267, - 52.143608 - ], - [ - 97.827774, - 51.001106 - ], - [ - 98.289703, - 50.293884 - ], - [ - 97.34082, - 49.734436 - ], - [ - 94.635269, - 50.024437 - ], - [ - 94.274994, - 50.569443 - ], - [ - 92.322769, - 50.814995 - ], - [ - 87.840698, - 49.172951 - ], - [ - 87.973312, - 48.576942 - ], - [ - 88.65332, - 48.18277 - ], - [ - 90.074432, - 47.886383 - ], - [ - 91.020248, - 46.600109 - ] - ] - ] - }, - "name" : "Mongolia", - "iso2" : "MN", - "iso3" : "MNG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "sb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -62.171394, - 16.671387 - ], - [ - -62.20195, - 16.81361 - ], - [ - -62.236671, - 16.711941 - ], - [ - -62.171394, - 16.671387 - ] - ] - ] - }, - "name" : "Montserrat", - "iso2" : "MS", - "iso3" : "MSR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "sr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 20.589642, - 41.882187 - ], - [ - 20.492775, - 41.331108 - ], - [ - 20.82111, - 40.908882 - ], - [ - 20.98349, - 40.855888 - ], - [ - 22.935604, - 41.342125 - ], - [ - 23.014721, - 41.762215 - ], - [ - 22.365276, - 42.323883 - ], - [ - 21.630444, - 42.141091 - ], - [ - 20.589642, - 41.882187 - ] - ] - ] - }, - "name" : "The former Yugoslav Republic of Macedonia", - "iso2" : "MK", - "iso3" : "MKD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "s71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -11.373058, - 12.407774 - ], - [ - -11.315556, - 12.022774 - ], - [ - -10.92889, - 12.224442 - ], - [ - -10.652748, - 11.892609 - ], - [ - -10.323893, - 12.224997 - ], - [ - -9.701946, - 12.029163 - ], - [ - -9.155556, - 12.486111 - ], - [ - -8.53388, - 11.49391 - ], - [ - -8.357779, - 11.305555 - ], - [ - -8.680557, - 10.966389 - ], - [ - -8.289722, - 11.007776 - ], - [ - -7.973984, - 10.165611 - ], - [ - -7.635556, - 10.448332 - ], - [ - -6.988056, - 10.147499 - ], - [ - -6.243402, - 10.735256 - ], - [ - -6.111389, - 10.197777 - ], - [ - -5.51985, - 10.436272 - ], - [ - -5.273056, - 11.843887 - ], - [ - -4.4175, - 12.300831 - ], - [ - -4.337223, - 13.121666 - ], - [ - -3.964253, - 13.50383 - ], - [ - -3.437675, - 13.166498 - ], - [ - -3.2575, - 13.696665 - ], - [ - -2.879167, - 13.655554 - ], - [ - -2.474722, - 14.287498 - ], - [ - -2.006945, - 14.187777 - ], - [ - -1.980834, - 14.474722 - ], - [ - -0.725278, - 15.082777 - ], - [ - 0.235048, - 14.915068 - ], - [ - 1.3125, - 15.286665 - ], - [ - 3.523981, - 15.358152 - ], - [ - 4.200833, - 16.393887 - ], - [ - 4.245, - 18.645275 - ], - [ - 4.245277, - 19.146664 - ], - [ - 3.331944, - 18.976387 - ], - [ - 3.233055, - 19.820274 - ], - [ - 1.795833, - 20.308331 - ], - [ - 1.1675, - 20.741108 - ], - [ - 1.169662, - 21.102543 - ], - [ - -4.806111, - 25.000275 - ], - [ - -6.577223, - 24.999165 - ], - [ - -5.601389, - 16.507774 - ], - [ - -5.335, - 16.328053 - ], - [ - -5.49505, - 15.498371 - ], - [ - -9.333612, - 15.499722 - ], - [ - -9.338057, - 15.704721 - ], - [ - -9.411112, - 15.443888 - ], - [ - -10.716387, - 15.438902 - ], - [ - -10.899637, - 15.106874 - ], - [ - -11.494167, - 15.646387 - ], - [ - -11.841391, - 14.863054 - ], - [ - -12.244833, - 14.764385 - ], - [ - -12.057222, - 13.664721 - ], - [ - -11.378056, - 12.988054 - ], - [ - -11.373058, - 12.407774 - ] - ] - ] - }, - "name" : "Mali", - "iso2" : "ML", - "iso3" : "MLI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "tL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -2.209445, - 35.085831 - ], - [ - -2.914722, - 35.273605 - ], - [ - -2.925278, - 35.266663 - ], - [ - -2.946945, - 35.329163 - ], - [ - -4.695834, - 35.208885 - ], - [ - -5.345834, - 35.84166 - ], - [ - -5.395557, - 35.916336 - ], - [ - -5.918744, - 35.790649 - ], - [ - -6.843056, - 34.018608 - ], - [ - -9.053169, - 32.734802 - ], - [ - -9.809168, - 31.446663 - ], - [ - -9.640278, - 30.168053 - ], - [ - -10.138056, - 29.428055 - ], - [ - -11.458057, - 28.334442 - ], - [ - -13.174961, - 27.666958 - ], - [ - -8.666668, - 27.666664 - ], - [ - -8.667223, - 28.709442 - ], - [ - -7.123889, - 29.636944 - ], - [ - -5.538334, - 29.902496 - ], - [ - -4.920556, - 30.508053 - ], - [ - -3.626667, - 30.970554 - ], - [ - -3.818334, - 31.695553 - ], - [ - -2.853889, - 32.088333 - ], - [ - -1.180556, - 32.11055 - ], - [ - -1.010278, - 32.508331 - ], - [ - -1.668056, - 33.261108 - ], - [ - -1.747222, - 34.747215 - ], - [ - -2.209445, - 35.085831 - ] - ] - ] - }, - "name" : "Morocco", - "iso2" : "MA", - "iso3" : "MAR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "tb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 57.572495, - -20.514168 - ], - [ - 57.624443, - -19.986389 - ], - [ - 57.304718, - -20.449169 - ], - [ - 57.572495, - -20.514168 - ] - ] - ], - [ - [ - [ - 63.466385, - -19.735836 - ], - [ - 63.461105, - -19.673058 - ], - [ - 63.328606, - -19.738056 - ], - [ - 63.466385, - -19.735836 - ] - ] - ], - [ - [ - [ - 56.564438, - -10.397223 - ], - [ - 56.513611, - -10.316668 - ], - [ - 56.511665, - -10.346668 - ], - [ - 56.564438, - -10.397223 - ] - ] - ] - ] - }, - "name" : "Mauritius", - "iso2" : "MU", - "iso3" : "MUS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "tr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -16.427502, - 19.603611 - ], - [ - -16.344448, - 19.866386 - ], - [ - -16.460003, - 19.699718 - ], - [ - -16.427502, - 19.603611 - ] - ] - ], - [ - [ - [ - -4.806111, - 25.000275 - ], - [ - -6.662778, - 26.129166 - ], - [ - -8.66679, - 27.290459 - ], - [ - -8.666945, - 26.000275 - ], - [ - -12.000557, - 26 - ], - [ - -12.000278, - 23.454441 - ], - [ - -13.105278, - 22.893055 - ], - [ - -12.999723, - 21.338055 - ], - [ - -15.741997, - 21.338284 - ], - [ - -16.953056, - 21.338333 - ], - [ - -17.05233, - 20.764095 - ], - [ - -16.919724, - 21.161663 - ], - [ - -16.196392, - 20.223053 - ], - [ - -16.511669, - 19.352219 - ], - [ - -16.039448, - 17.728054 - ], - [ - -16.527679, - 16.060249 - ], - [ - -16.280834, - 16.519722 - ], - [ - -14.345278, - 16.638611 - ], - [ - -12.244833, - 14.764385 - ], - [ - -11.841391, - 14.863054 - ], - [ - -11.494167, - 15.646387 - ], - [ - -10.899637, - 15.106874 - ], - [ - -10.716387, - 15.438902 - ], - [ - -9.411112, - 15.443888 - ], - [ - -9.338057, - 15.704721 - ], - [ - -9.333612, - 15.499722 - ], - [ - -5.49505, - 15.498371 - ], - [ - -5.335, - 16.328053 - ], - [ - -5.601389, - 16.507774 - ], - [ - -6.577223, - 24.999165 - ], - [ - -4.806111, - 25.000275 - ] - ] - ] - ] - }, - "name" : "Mauritania", - "iso2" : "MR", - "iso3" : "MRT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "t71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 14.562222, - 35.820274 - ], - [ - 14.326387, - 35.978882 - ], - [ - 14.374998, - 35.847496 - ], - [ - 14.562222, - 35.820274 - ] - ] - ], - [ - [ - [ - 14.2675, - 36.011383 - ], - [ - 14.34111, - 36.033882 - ], - [ - 14.18111, - 36.060829 - ], - [ - 14.2675, - 36.011383 - ] - ] - ] - ] - }, - "name" : "Malta", - "iso2" : "MT", - "iso3" : "MLT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "uL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 55.874718, - 17.490833 - ], - [ - 55.859718, - 17.516666 - ], - [ - 55.829163, - 17.49361 - ], - [ - 55.874718, - 17.490833 - ] - ] - ], - [ - [ - [ - 56.024162, - 17.484165 - ], - [ - 56.093605, - 17.514721 - ], - [ - 55.957497, - 17.519165 - ], - [ - 56.024162, - 17.484165 - ] - ] - ], - [ - [ - [ - 58.842773, - 20.441109 - ], - [ - 58.899719, - 20.693054 - ], - [ - 58.649719, - 20.168888 - ], - [ - 58.842773, - 20.441109 - ] - ] - ], - [ - [ - [ - 56.373528, - 24.979382 - ], - [ - 56.104164, - 24.734722 - ], - [ - 56.037498, - 24.938889 - ], - [ - 55.779442, - 24.563889 - ], - [ - 56.024719, - 24.076111 - ], - [ - 55.510277, - 23.972775 - ], - [ - 55.199165, - 22.699718 - ], - [ - 55.666107, - 21.999722 - ], - [ - 55, - 20 - ], - [ - 51.99929, - 18.999344 - ], - [ - 53.114441, - 16.642778 - ], - [ - 55.039993, - 17.018608 - ], - [ - 55.436943, - 17.828888 - ], - [ - 56.353333, - 17.934166 - ], - [ - 56.814484, - 18.747684 - ], - [ - 57.803886, - 18.969444 - ], - [ - 57.829437, - 20.218887 - ], - [ - 58.210831, - 20.612499 - ], - [ - 58.515831, - 20.411663 - ], - [ - 59.811386, - 22.226665 - ], - [ - 58.609444, - 23.633053 - ], - [ - 57.164993, - 23.937775 - ], - [ - 56.373528, - 24.979382 - ] - ] - ], - [ - [ - [ - 56.269722, - 25.636015 - ], - [ - 56.365368, - 26.382389 - ], - [ - 56.079941, - 26.065559 - ], - [ - 56.183331, - 25.654989 - ], - [ - 56.269722, - 25.636015 - ] - ] - ] - ] - }, - "name" : "Oman", - "iso2" : "OM", - "iso3" : "OMN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ub1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 73.176376, - -0.689722 - ], - [ - 73.171921, - -0.681667 - ], - [ - 73.156372, - -0.683889 - ], - [ - 73.176376, - -0.689722 - ] - ] - ], - [ - [ - [ - 73.201385, - -0.680833 - ], - [ - 73.201935, - -0.667222 - ], - [ - 73.188309, - -0.684722 - ], - [ - 73.201385, - -0.680833 - ] - ] - ], - [ - [ - [ - 73.12915, - -0.668889 - ], - [ - 73.121368, - -0.653333 - ], - [ - 73.125259, - -0.668889 - ], - [ - 73.12915, - -0.668889 - ] - ] - ], - [ - [ - [ - 73.23082, - -0.648056 - ], - [ - 73.242203, - -0.617778 - ], - [ - 73.226089, - -0.6325 - ], - [ - 73.23082, - -0.648056 - ] - ] - ], - [ - [ - [ - 73.116379, - -0.635833 - ], - [ - 73.09137, - -0.5825 - ], - [ - 73.09082, - -0.606667 - ], - [ - 73.116379, - -0.635833 - ] - ] - ], - [ - [ - [ - 73.248032, - -0.605278 - ], - [ - 73.249146, - -0.576111 - ], - [ - 73.235809, - -0.585556 - ], - [ - 73.248032, - -0.605278 - ] - ] - ], - [ - [ - [ - 73.44693, - -0.299444 - ], - [ - 73.442474, - -0.285278 - ], - [ - 73.428314, - -0.286389 - ], - [ - 73.44693, - -0.299444 - ] - ] - ], - [ - [ - [ - 73.106934, - 0.211944 - ], - [ - 73.103317, - 0.228889 - ], - [ - 73.095535, - 0.228056 - ], - [ - 73.106934, - 0.211944 - ] - ] - ], - [ - [ - [ - 73.214706, - 0.230833 - ], - [ - 73.220261, - 0.239167 - ], - [ - 73.209152, - 0.24 - ], - [ - 73.214706, - 0.230833 - ] - ] - ], - [ - [ - [ - 73.044983, - 0.259444 - ], - [ - 73.033051, - 0.272778 - ], - [ - 73.034424, - 0.261389 - ], - [ - 73.044983, - 0.259444 - ] - ] - ], - [ - [ - [ - 73.375809, - 0.28 - ], - [ - 73.3797, - 0.291944 - ], - [ - 73.367203, - 0.281389 - ], - [ - 73.375809, - 0.28 - ] - ] - ], - [ - [ - [ - 73.513046, - 0.378333 - ], - [ - 73.508881, - 0.3925 - ], - [ - 73.504715, - 0.383889 - ], - [ - 73.513046, - 0.378333 - ] - ] - ], - [ - [ - [ - 72.943039, - 0.488611 - ], - [ - 72.937195, - 0.499722 - ], - [ - 72.938034, - 0.485555 - ], - [ - 72.943039, - 0.488611 - ] - ] - ], - [ - [ - [ - 73.498032, - 0.499722 - ], - [ - 73.487762, - 0.508055 - ], - [ - 73.493042, - 0.496944 - ], - [ - 73.498032, - 0.499722 - ] - ] - ], - [ - [ - [ - 73.374695, - 1.781667 - ], - [ - 73.374695, - 1.795278 - ], - [ - 73.361374, - 1.788611 - ], - [ - 73.374695, - 1.781667 - ] - ] - ], - [ - [ - [ - 73.399155, - 1.793889 - ], - [ - 73.407761, - 1.805833 - ], - [ - 73.397766, - 1.806389 - ], - [ - 73.399155, - 1.793889 - ] - ] - ], - [ - [ - [ - 73.287201, - 1.831944 - ], - [ - 73.284424, - 1.823055 - ], - [ - 73.297211, - 1.819166 - ], - [ - 73.287201, - 1.831944 - ] - ] - ], - [ - [ - [ - 73.506943, - 1.826667 - ], - [ - 73.516663, - 1.847222 - ], - [ - 73.49498, - 1.823055 - ], - [ - 73.506943, - 1.826667 - ] - ] - ], - [ - [ - [ - 73.250549, - 1.889166 - ], - [ - 73.247757, - 1.898333 - ], - [ - 73.241928, - 1.886111 - ], - [ - 73.250549, - 1.889166 - ] - ] - ], - [ - [ - [ - 73.549988, - 1.896389 - ], - [ - 73.549713, - 1.937222 - ], - [ - 73.539978, - 1.891944 - ], - [ - 73.549988, - 1.896389 - ] - ] - ], - [ - [ - [ - 73.55304, - 1.965 - ], - [ - 73.547211, - 1.978333 - ], - [ - 73.548325, - 1.964166 - ], - [ - 73.55304, - 1.965 - ] - ] - ], - [ - [ - [ - 73.323044, - 1.985 - ], - [ - 73.322495, - 1.995555 - ], - [ - 73.313873, - 1.986388 - ], - [ - 73.323044, - 1.985 - ] - ] - ], - [ - [ - [ - 73.588882, - 2.1075 - ], - [ - 73.567764, - 2.11 - ], - [ - 73.559143, - 2.09611 - ], - [ - 73.588882, - 2.1075 - ] - ] - ], - [ - [ - [ - 73.123871, - 2.190555 - ], - [ - 73.121918, - 2.196944 - ], - [ - 73.11026, - 2.196944 - ], - [ - 73.123871, - 2.190555 - ] - ] - ], - [ - [ - [ - 72.930817, - 2.314444 - ], - [ - 72.92276, - 2.328888 - ], - [ - 72.919983, - 2.3225 - ], - [ - 72.930817, - 2.314444 - ] - ] - ], - [ - [ - [ - 73.366653, - 2.384444 - ], - [ - 73.368591, - 2.409721 - ], - [ - 73.350266, - 2.440833 - ], - [ - 73.366653, - 2.384444 - ] - ] - ], - [ - [ - [ - 73.319717, - 2.492499 - ], - [ - 73.311096, - 2.504722 - ], - [ - 73.313599, - 2.491944 - ], - [ - 73.319717, - 2.492499 - ] - ] - ], - [ - [ - [ - 72.876083, - 2.681388 - ], - [ - 72.866379, - 2.69611 - ], - [ - 72.866379, - 2.684999 - ], - [ - 72.876083, - 2.681388 - ] - ] - ], - [ - [ - [ - 73.025269, - 2.734444 - ], - [ - 73.034988, - 2.747499 - ], - [ - 73.018875, - 2.736944 - ], - [ - 73.025269, - 2.734444 - ] - ] - ], - [ - [ - [ - 73.356644, - 2.771666 - ], - [ - 73.349426, - 2.781944 - ], - [ - 73.348877, - 2.770833 - ], - [ - 73.356644, - 2.771666 - ] - ] - ], - [ - [ - [ - 73.017761, - 2.946944 - ], - [ - 73.012207, - 2.954722 - ], - [ - 73.005829, - 2.946944 - ], - [ - 73.017761, - 2.946944 - ] - ] - ], - [ - [ - [ - 73.579987, - 2.948888 - ], - [ - 73.585541, - 2.967499 - ], - [ - 73.574432, - 2.950555 - ], - [ - 73.579987, - 2.948888 - ] - ] - ], - [ - [ - [ - 72.982208, - 3.101944 - ], - [ - 72.982758, - 3.110833 - ], - [ - 72.973877, - 3.108055 - ], - [ - 72.982208, - 3.101944 - ] - ] - ], - [ - [ - [ - 73.587204, - 3.367777 - ], - [ - 73.59082, - 3.376944 - ], - [ - 73.581665, - 3.372221 - ], - [ - 73.587204, - 3.367777 - ] - ] - ], - [ - [ - [ - 73.753326, - 3.446388 - ], - [ - 73.751389, - 3.452499 - ], - [ - 73.747757, - 3.451111 - ], - [ - 73.753326, - 3.446388 - ] - ] - ], - [ - [ - [ - 72.802765, - 3.510278 - ], - [ - 72.798599, - 3.516944 - ], - [ - 72.78804, - 3.511111 - ], - [ - 72.802765, - 3.510278 - ] - ] - ], - [ - [ - [ - 72.92276, - 3.544167 - ], - [ - 72.9272, - 3.559721 - ], - [ - 72.908035, - 3.537777 - ], - [ - 72.92276, - 3.544167 - ] - ] - ], - [ - [ - [ - 72.697479, - 3.714166 - ], - [ - 72.699417, - 3.724166 - ], - [ - 72.687759, - 3.724721 - ], - [ - 72.697479, - 3.714166 - ] - ] - ], - [ - [ - [ - 73.473877, - 3.933055 - ], - [ - 73.48027, - 3.940555 - ], - [ - 73.465546, - 3.932222 - ], - [ - 73.473877, - 3.933055 - ] - ] - ], - [ - [ - [ - 72.709717, - 3.995555 - ], - [ - 72.707764, - 4.003611 - ], - [ - 72.697754, - 4.000833 - ], - [ - 72.709717, - 3.995555 - ] - ] - ], - [ - [ - [ - 73.512207, - 4.093611 - ], - [ - 73.503052, - 4.106943 - ], - [ - 73.501938, - 4.096388 - ], - [ - 73.512207, - 4.093611 - ] - ] - ], - [ - [ - [ - 73.503601, - 4.164165 - ], - [ - 73.505264, - 4.17861 - ], - [ - 73.491089, - 4.174999 - ], - [ - 73.503601, - 4.164165 - ] - ] - ], - [ - [ - [ - 73.5186, - 4.191387 - ], - [ - 73.511383, - 4.182221 - ], - [ - 73.51915, - 4.176388 - ], - [ - 73.5186, - 4.191387 - ] - ] - ], - [ - [ - [ - 72.959717, - 4.26861 - ], - [ - 72.962494, - 4.262221 - ], - [ - 72.977768, - 4.261666 - ], - [ - 72.959717, - 4.26861 - ] - ] - ], - [ - [ - [ - 72.969711, - 4.877776 - ], - [ - 72.98027, - 4.901111 - ], - [ - 72.970261, - 4.898055 - ], - [ - 72.969711, - 4.877776 - ] - ] - ], - [ - [ - [ - 73.589706, - 5.27361 - ], - [ - 73.589706, - 5.286943 - ], - [ - 73.56694, - 5.277499 - ], - [ - 73.589706, - 5.27361 - ] - ] - ], - [ - [ - [ - 73.320267, - 5.36111 - ], - [ - 73.333603, - 5.366666 - ], - [ - 73.314987, - 5.365276 - ], - [ - 73.320267, - 5.36111 - ] - ] - ], - [ - [ - [ - 73.635269, - 5.385555 - ], - [ - 73.637497, - 5.412777 - ], - [ - 73.620255, - 5.420833 - ], - [ - 73.635269, - 5.385555 - ] - ] - ], - [ - [ - [ - 73.384155, - 5.709722 - ], - [ - 73.392761, - 5.72861 - ], - [ - 73.387772, - 5.741943 - ], - [ - 73.384155, - 5.709722 - ] - ] - ], - [ - [ - [ - 72.991364, - 5.76111 - ], - [ - 72.981659, - 5.771666 - ], - [ - 72.981659, - 5.758888 - ], - [ - 72.991364, - 5.76111 - ] - ] - ], - [ - [ - [ - 73.436371, - 5.827222 - ], - [ - 73.451096, - 5.849166 - ], - [ - 73.429703, - 5.827222 - ], - [ - 73.436371, - 5.827222 - ] - ] - ], - [ - [ - [ - 72.968872, - 5.850832 - ], - [ - 72.961105, - 5.867777 - ], - [ - 72.964996, - 5.847499 - ], - [ - 72.968872, - 5.850832 - ] - ] - ], - [ - [ - [ - 73.433044, - 5.902222 - ], - [ - 73.422211, - 5.911666 - ], - [ - 73.423599, - 5.90361 - ], - [ - 73.433044, - 5.902222 - ] - ] - ], - [ - [ - [ - 73.398331, - 5.955277 - ], - [ - 73.393326, - 5.96861 - ], - [ - 73.379425, - 5.971388 - ], - [ - 73.398331, - 5.955277 - ] - ] - ], - [ - [ - [ - 72.933319, - 5.960833 - ], - [ - 72.926086, - 5.971944 - ], - [ - 72.928314, - 5.954999 - ], - [ - 72.933319, - 5.960833 - ] - ] - ], - [ - [ - [ - 73.270538, - 6.185276 - ], - [ - 73.269989, - 6.193054 - ], - [ - 73.2686, - 6.175277 - ], - [ - 73.270538, - 6.185276 - ] - ] - ], - [ - [ - [ - 73.248032, - 6.231943 - ], - [ - 73.234711, - 6.23611 - ], - [ - 73.2397, - 6.227499 - ], - [ - 73.248032, - 6.231943 - ] - ] - ], - [ - [ - [ - 73.204437, - 6.317499 - ], - [ - 73.20166, - 6.327499 - ], - [ - 73.190811, - 6.324721 - ], - [ - 73.204437, - 6.317499 - ] - ] - ], - [ - [ - [ - 73.050262, - 6.429166 - ], - [ - 73.041367, - 6.444165 - ], - [ - 73.040817, - 6.429999 - ], - [ - 73.050262, - 6.429166 - ] - ] - ], - [ - [ - [ - 73.06749, - 6.661388 - ], - [ - 73.068054, - 6.672776 - ], - [ - 73.059982, - 6.657499 - ], - [ - 73.06749, - 6.661388 - ] - ] - ], - [ - [ - [ - 73.101089, - 6.696943 - ], - [ - 73.102478, - 6.715555 - ], - [ - 73.093323, - 6.697221 - ], - [ - 73.101089, - 6.696943 - ] - ] - ], - [ - [ - [ - 73.136932, - 6.726388 - ], - [ - 73.161926, - 6.784165 - ], - [ - 73.12915, - 6.733888 - ], - [ - 73.136932, - 6.726388 - ] - ] - ], - [ - [ - [ - 73.181366, - 6.8325 - ], - [ - 73.184143, - 6.81861 - ], - [ - 73.20166, - 6.828888 - ], - [ - 73.181366, - 6.8325 - ] - ] - ], - [ - [ - [ - 73.205261, - 6.883611 - ], - [ - 73.209991, - 6.926388 - ], - [ - 73.195526, - 6.889443 - ], - [ - 73.205261, - 6.883611 - ] - ] - ], - [ - [ - [ - 73.198868, - 6.947498 - ], - [ - 73.193588, - 6.97861 - ], - [ - 73.19165, - 6.951111 - ], - [ - 73.198868, - 6.947498 - ] - ] - ], - [ - [ - [ - 72.985535, - 7.012221 - ], - [ - 72.974991, - 7.029444 - ], - [ - 72.97998, - 7.011666 - ], - [ - 72.985535, - 7.012221 - ] - ] - ], - [ - [ - [ - 72.916092, - 7.081666 - ], - [ - 72.911926, - 7.094999 - ], - [ - 72.902771, - 7.093055 - ], - [ - 72.916092, - 7.081666 - ] - ] - ] - ] - }, - "name" : "Maldives", - "iso2" : "MV", - "iso3" : "MDV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ur1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -114.742783, - 18.322779 - ], - [ - -114.723892, - 18.353334 - ], - [ - -114.80307, - 18.332777 - ], - [ - -114.742783, - 18.322779 - ] - ] - ], - [ - [ - [ - -87.372787, - 18.400278 - ], - [ - -87.32695, - 18.453333 - ], - [ - -87.33168, - 18.503054 - ], - [ - -87.372787, - 18.400278 - ] - ] - ], - [ - [ - [ - -87.251678, - 18.64139 - ], - [ - -87.265015, - 18.733889 - ], - [ - -87.259445, - 18.627779 - ], - [ - -87.251678, - 18.64139 - ] - ] - ], - [ - [ - [ - -91.828613, - 18.639166 - ], - [ - -91.523895, - 18.770555 - ], - [ - -91.646118, - 18.753611 - ], - [ - -91.828613, - 18.639166 - ] - ] - ], - [ - [ - [ - -110.926117, - 18.721109 - ], - [ - -111.003342, - 18.865 - ], - [ - -111.071404, - 18.768332 - ], - [ - -110.926117, - 18.721109 - ] - ] - ], - [ - [ - [ - -110.78862, - 19.308054 - ], - [ - -110.813339, - 19.341665 - ], - [ - -110.835854, - 19.271387 - ], - [ - -110.78862, - 19.308054 - ] - ] - ], - [ - [ - [ - -86.732788, - 20.585554 - ], - [ - -86.938904, - 20.539446 - ], - [ - -87, - 20.256388 - ], - [ - -86.732788, - 20.585554 - ] - ] - ], - [ - [ - [ - -86.701401, - 21.197222 - ], - [ - -86.749176, - 21.28639 - ], - [ - -86.738892, - 21.24 - ], - [ - -86.701401, - 21.197222 - ] - ] - ], - [ - [ - [ - -106.195557, - 21.255278 - ], - [ - -106.19751, - 21.33861 - ], - [ - -106.265007, - 21.336668 - ], - [ - -106.195557, - 21.255278 - ] - ] - ], - [ - [ - [ - -106.386673, - 21.420832 - ], - [ - -106.335564, - 21.498888 - ], - [ - -106.511398, - 21.450277 - ], - [ - -106.386673, - 21.420832 - ] - ] - ], - [ - [ - [ - -106.515007, - 21.513056 - ], - [ - -106.530006, - 21.690832 - ], - [ - -106.645844, - 21.688334 - ], - [ - -106.515007, - 21.513056 - ] - ] - ], - [ - [ - [ - -106.656403, - 21.752501 - ], - [ - -106.670563, - 21.816389 - ], - [ - -106.675293, - 21.741388 - ], - [ - -106.656403, - 21.752501 - ] - ] - ], - [ - [ - [ - -97.818893, - 22.682501 - ], - [ - -97.78418, - 22.774168 - ], - [ - -97.830841, - 22.697222 - ], - [ - -97.818893, - 22.682501 - ] - ] - ], - [ - [ - [ - -97.773056, - 22.791388 - ], - [ - -97.760284, - 22.834166 - ], - [ - -97.781403, - 22.804998 - ], - [ - -97.773056, - 22.791388 - ] - ] - ], - [ - [ - [ - -109.784447, - 24.135 - ], - [ - -109.915558, - 24.368891 - ], - [ - -109.871399, - 24.187498 - ], - [ - -109.784447, - 24.135 - ] - ] - ], - [ - [ - [ - -111.532501, - 24.378054 - ], - [ - -111.670288, - 24.371946 - ], - [ - -111.494743, - 24.351389 - ], - [ - -111.532501, - 24.378054 - ] - ] - ], - [ - [ - [ - -111.705841, - 24.331667 - ], - [ - -111.836937, - 24.541113 - ], - [ - -112.016678, - 24.532499 - ], - [ - -111.705841, - 24.331667 - ] - ] - ], - [ - [ - [ - -110.328056, - 24.400835 - ], - [ - -110.300003, - 24.484446 - ], - [ - -110.401947, - 24.58 - ], - [ - -110.328056, - 24.400835 - ] - ] - ], - [ - [ - [ - -110.536957, - 24.882223 - ], - [ - -110.578903, - 25.033888 - ], - [ - -110.705002, - 25.093889 - ], - [ - -110.536957, - 24.882223 - ] - ] - ], - [ - [ - [ - -112.046112, - 24.519167 - ], - [ - -112.202507, - 24.844999 - ], - [ - -112.133621, - 25.281111 - ], - [ - -112.252792, - 24.809999 - ], - [ - -112.046112, - 24.519167 - ] - ] - ], - [ - [ - [ - -108.842789, - 25.42861 - ], - [ - -109.011124, - 25.438334 - ], - [ - -108.789169, - 25.372221 - ], - [ - -108.842789, - 25.42861 - ] - ] - ], - [ - [ - [ - -110.796951, - 25.594999 - ], - [ - -110.808327, - 25.695833 - ], - [ - -110.825287, - 25.6425 - ], - [ - -110.796951, - 25.594999 - ] - ] - ], - [ - [ - [ - -111.19751, - 25.844999 - ], - [ - -111.08667, - 26.074446 - ], - [ - -111.191391, - 26.038889 - ], - [ - -111.19751, - 25.844999 - ] - ] - ], - [ - [ - [ - -110.546112, - 27.309999 - ], - [ - -110.590286, - 27.415277 - ], - [ - -110.597504, - 27.336111 - ], - [ - -110.546112, - 27.309999 - ] - ] - ], - [ - [ - [ - -114.220001, - 27.738333 - ], - [ - -114.24501, - 27.814444 - ], - [ - -114.323898, - 27.816668 - ], - [ - -114.220001, - 27.738333 - ] - ] - ], - [ - [ - [ - -115.173889, - 28.027498 - ], - [ - -115.240837, - 28.370554 - ], - [ - -115.326683, - 28.138334 - ], - [ - -115.173889, - 28.027498 - ] - ] - ], - [ - [ - [ - -112.76001, - 28.593611 - ], - [ - -112.796402, - 28.644167 - ], - [ - -112.885834, - 28.683889 - ], - [ - -112.76001, - 28.593611 - ] - ] - ], - [ - [ - [ - -112.58168, - 28.670279 - ], - [ - -112.540848, - 28.735834 - ], - [ - -112.603622, - 28.727221 - ], - [ - -112.58168, - 28.670279 - ] - ] - ], - [ - [ - [ - -118.289169, - 28.881666 - ], - [ - -118.310013, - 29.195276 - ], - [ - -118.404167, - 29.147779 - ], - [ - -118.289169, - 28.881666 - ] - ] - ], - [ - [ - [ - -112.261948, - 28.773333 - ], - [ - -112.34584, - 29.23361 - ], - [ - -112.564178, - 28.878332 - ], - [ - -112.261948, - 28.773333 - ] - ] - ], - [ - [ - [ - -113.135559, - 29.019724 - ], - [ - -113.588623, - 29.583612 - ], - [ - -113.592215, - 29.425833 - ], - [ - -113.135559, - 29.019724 - ] - ] - ], - [ - [ - [ - -114.650848, - 31.690554 - ], - [ - -114.790283, - 31.799444 - ], - [ - -114.763634, - 31.7125 - ], - [ - -114.650848, - 31.690554 - ] - ] - ], - [ - [ - [ - -97.140739, - 25.966429 - ], - [ - -99.104736, - 26.434999 - ], - [ - -99.505005, - 27.570276 - ], - [ - -101.405014, - 29.772779 - ], - [ - -102.305847, - 29.889444 - ], - [ - -103.375, - 29.023611 - ], - [ - -104.540009, - 29.67111 - ], - [ - -104.900558, - 30.572779 - ], - [ - -106.400848, - 31.750277 - ], - [ - -108.208618, - 31.783335 - ], - [ - -108.208344, - 31.333055 - ], - [ - -111.045837, - 31.333055 - ], - [ - -113.052887, - 31.971071 - ], - [ - -114.80983, - 32.50699 - ], - [ - -114.719093, - 32.718458 - ], - [ - -117.122374, - 32.535334 - ], - [ - -115.693893, - 29.768332 - ], - [ - -114.063606, - 28.527224 - ], - [ - -114.310562, - 27.865557 - ], - [ - -113.983063, - 27.702501 - ], - [ - -114.988892, - 27.721109 - ], - [ - -113.597504, - 26.736944 - ], - [ - -113.128342, - 26.958887 - ], - [ - -113.220291, - 26.705557 - ], - [ - -112.396666, - 26.272779 - ], - [ - -112.106117, - 25.518332 - ], - [ - -112.070847, - 25.613054 - ], - [ - -112.087509, - 24.756109 - ], - [ - -110.316681, - 23.567499 - ], - [ - -110.004997, - 22.88611 - ], - [ - -109.410843, - 23.468332 - ], - [ - -110.213623, - 24.351946 - ], - [ - -110.354172, - 24.115835 - ], - [ - -110.660568, - 24.337778 - ], - [ - -111.560837, - 26.723612 - ], - [ - -111.842215, - 26.903055 - ], - [ - -111.858612, - 26.661943 - ], - [ - -112.862793, - 28.433332 - ], - [ - -114.545288, - 30.001112 - ], - [ - -115.031677, - 31.968054 - ], - [ - -113.08667, - 31.227221 - ], - [ - -112.164726, - 28.972502 - ], - [ - -111.10556, - 27.938334 - ], - [ - -110.509743, - 27.866388 - ], - [ - -110.529715, - 27.371111 - ], - [ - -109.103897, - 26.283609 - ], - [ - -109.388062, - 25.756109 - ], - [ - -108.828056, - 25.798334 - ], - [ - -109.108902, - 25.52611 - ], - [ - -108.767792, - 25.542223 - ], - [ - -108.39418, - 25.141111 - ], - [ - -108.042511, - 25.07361 - ], - [ - -107.999184, - 24.652498 - ], - [ - -105.816963, - 22.660276 - ], - [ - -105.189453, - 21.437498 - ], - [ - -105.544449, - 20.785002 - ], - [ - -105.244171, - 20.574167 - ], - [ - -105.680008, - 20.386389 - ], - [ - -104.983612, - 19.339445 - ], - [ - -103.450012, - 18.313612 - ], - [ - -101.950012, - 17.977499 - ], - [ - -101.011124, - 17.265276 - ], - [ - -97.785004, - 15.968611 - ], - [ - -96.47612, - 15.64361 - ], - [ - -94.861954, - 16.4275 - ], - [ - -94.789734, - 16.257776 - ], - [ - -94.578064, - 16.318335 - ], - [ - -94.724731, - 16.196665 - ], - [ - -94.057785, - 16.040834 - ], - [ - -94.368057, - 16.294443 - ], - [ - -92.772781, - 15.174444 - ], - [ - -92.24678, - 14.550547 - ], - [ - -91.729172, - 16.074999 - ], - [ - -90.441956, - 16.088335 - ], - [ - -90.406403, - 16.416388 - ], - [ - -91.4375, - 17.24111 - ], - [ - -90.983902, - 17.256109 - ], - [ - -90.982422, - 17.820654 - ], - [ - -89.141953, - 17.818888 - ], - [ - -88.377792, - 18.482779 - ], - [ - -88.2995, - 18.482931 - ], - [ - -88.037506, - 18.869444 - ], - [ - -87.847504, - 18.190832 - ], - [ - -87.411667, - 19.57889 - ], - [ - -87.738892, - 19.674723 - ], - [ - -86.772781, - 21.151388 - ], - [ - -87.027786, - 21.590277 - ], - [ - -88.451401, - 21.568888 - ], - [ - -90.327515, - 21.031389 - ], - [ - -90.454727, - 19.975279 - ], - [ - -91.475006, - 18.439444 - ], - [ - -91.814728, - 18.383055 - ], - [ - -91.99501, - 18.727777 - ], - [ - -94.478897, - 18.146666 - ], - [ - -94.802231, - 18.522501 - ], - [ - -95.911392, - 18.825277 - ], - [ - -97.176117, - 20.684999 - ], - [ - -97.889725, - 22.600832 - ], - [ - -97.140739, - 25.966429 - ] - ], - [ - [ - -109.948898, - 27.024443 - ], - [ - -110.034447, - 27.091391 - ], - [ - -109.9814, - 27.076387 - ], - [ - -109.948898, - 27.024443 - ] - ], - [ - [ - -97.607788, - 21.736666 - ], - [ - -97.674179, - 21.790277 - ], - [ - -97.685562, - 21.859999 - ], - [ - -97.607788, - 21.736666 - ] - ] - ] - ] - }, - "name" : "Mexico", - "iso2" : "MX", - "iso3" : "MEX" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "u71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 104.120241, - 2.318892 - ], - [ - 104.101068, - 2.294168 - ], - [ - 104.15497, - 2.287779 - ], - [ - 104.120241, - 2.318892 - ] - ] - ], - [ - [ - [ - 111.370821, - 2.360277 - ], - [ - 111.413881, - 2.376112 - ], - [ - 111.376925, - 2.495279 - ], - [ - 111.383883, - 2.680002 - ], - [ - 111.327478, - 2.781389 - ], - [ - 111.303591, - 2.448057 - ], - [ - 111.370821, - 2.360277 - ] - ] - ], - [ - [ - [ - 104.171083, - 2.705278 - ], - [ - 104.221628, - 2.729723 - ], - [ - 104.171915, - 2.895002 - ], - [ - 104.171083, - 2.705278 - ] - ] - ], - [ - [ - [ - 117.903559, - 4.174044 - ], - [ - 117.726648, - 4.169722 - ], - [ - 117.686922, - 4.168337 - ], - [ - 117.903559, - 4.174044 - ] - ] - ], - [ - [ - [ - 118.681932, - 4.499723 - ], - [ - 118.689425, - 4.441111 - ], - [ - 118.762774, - 4.463614 - ], - [ - 118.681932, - 4.499723 - ] - ] - ], - [ - [ - [ - 118.509722, - 4.554445 - ], - [ - 118.499422, - 4.529165 - ], - [ - 118.517488, - 4.536112 - ], - [ - 118.509722, - 4.554445 - ] - ] - ], - [ - [ - [ - 118.570269, - 4.600832 - ], - [ - 118.478868, - 4.689165 - ], - [ - 118.343874, - 4.670553 - ], - [ - 118.570269, - 4.600832 - ] - ] - ], - [ - [ - [ - 115.233049, - 5.259722 - ], - [ - 115.24193, - 5.384722 - ], - [ - 115.158335, - 5.257776 - ], - [ - 115.233049, - 5.259722 - ] - ] - ], - [ - [ - [ - 100.288858, - 5.256109 - ], - [ - 100.320253, - 5.427778 - ], - [ - 100.183855, - 5.4625 - ], - [ - 100.288858, - 5.256109 - ] - ] - ], - [ - [ - [ - 115.672213, - 5.707224 - ], - [ - 115.654428, - 5.735834 - ], - [ - 115.627764, - 5.728334 - ], - [ - 115.672213, - 5.707224 - ] - ] - ], - [ - [ - [ - 118.171923, - 5.812223 - ], - [ - 118.233049, - 5.848333 - ], - [ - 118.178865, - 5.84889 - ], - [ - 118.171923, - 5.812223 - ] - ] - ], - [ - [ - [ - 116.05942, - 6.003057 - ], - [ - 116.056643, - 6.039999 - ], - [ - 116.016939, - 6.035833 - ], - [ - 116.05942, - 6.003057 - ] - ] - ], - [ - [ - [ - 115.609156, - 6.195276 - ], - [ - 115.607759, - 6.221109 - ], - [ - 115.592745, - 6.204721 - ], - [ - 115.609156, - 6.195276 - ] - ] - ], - [ - [ - [ - 99.873293, - 6.416109 - ], - [ - 99.640825, - 6.419722 - ], - [ - 99.813021, - 6.156668 - ], - [ - 99.873293, - 6.416109 - ] - ] - ], - [ - [ - [ - 100.65497, - 6.448332 - ], - [ - 100.214983, - 6.711111 - ], - [ - 100.127115, - 6.424948 - ], - [ - 100.697191, - 3.903891 - ], - [ - 101.29442, - 3.268888 - ], - [ - 101.284975, - 2.841112 - ], - [ - 103.51214, - 1.269529 - ], - [ - 103.959414, - 1.646944 - ], - [ - 104.275805, - 1.365557 - ], - [ - 103.435793, - 2.933889 - ], - [ - 103.409975, - 4.858053 - ], - [ - 102.095232, - 6.236139 - ], - [ - 101.833864, - 5.743334 - ], - [ - 101.569979, - 5.916666 - ], - [ - 101.139688, - 5.631945 - ], - [ - 101.115519, - 6.248888 - ], - [ - 100.65497, - 6.448332 - ] - ] - ], - [ - [ - [ - 117.493593, - 6.742498 - ], - [ - 117.337198, - 6.651388 - ], - [ - 117.466928, - 6.6425 - ], - [ - 117.493593, - 6.742498 - ] - ] - ], - [ - [ - [ - 117.592058, - 4.169821 - ], - [ - 118.552202, - 4.351667 - ], - [ - 118.140551, - 4.888334 - ], - [ - 119.27582, - 5.344999 - ], - [ - 118.373598, - 5.807501 - ], - [ - 117.960276, - 5.681391 - ], - [ - 118.008883, - 6.061666 - ], - [ - 117.503054, - 5.896112 - ], - [ - 117.738878, - 6.390001 - ], - [ - 117.290819, - 6.635836 - ], - [ - 117.178308, - 6.990278 - ], - [ - 116.789148, - 6.579168 - ], - [ - 116.762499, - 7.023611 - ], - [ - 115.848879, - 5.56389 - ], - [ - 115.378862, - 5.39889 - ], - [ - 115.546099, - 5.053057 - ], - [ - 115.145784, - 4.903242 - ], - [ - 115.22304, - 4.804998 - ], - [ - 115.343325, - 4.311945 - ], - [ - 115.029131, - 4.820211 - ], - [ - 115.018435, - 4.895796 - ], - [ - 114.6411, - 4.018888 - ], - [ - 114.095079, - 4.59054 - ], - [ - 113.010538, - 3.160555 - ], - [ - 111.444704, - 2.691668 - ], - [ - 111.450274, - 2.368612 - ], - [ - 111.368113, - 2.339094 - ], - [ - 111.223314, - 2.42111 - ], - [ - 111.168589, - 2.152224 - ], - [ - 111.372759, - 2.150835 - ], - [ - 111.000002, - 1.575556 - ], - [ - 111.376925, - 1.343889 - ], - [ - 110.33333, - 1.802221 - ], - [ - 109.928308, - 1.689165 - ], - [ - 109.648569, - 2.073408 - ], - [ - 109.669985, - 1.613054 - ], - [ - 110.555254, - 0.853891 - ], - [ - 111.827211, - 0.998613 - ], - [ - 112.472765, - 1.568056 - ], - [ - 113.658335, - 1.224722 - ], - [ - 114.562761, - 1.433611 - ], - [ - 114.804705, - 2.248888 - ], - [ - 115.2372, - 2.522501 - ], - [ - 115.139711, - 2.906111 - ], - [ - 115.495531, - 3.040003 - ], - [ - 115.685259, - 4.171946 - ], - [ - 116.049425, - 4.279444 - ], - [ - 117.592058, - 4.169821 - ] - ] - ], - [ - [ - [ - 117.283335, - 7.314722 - ], - [ - 117.07416, - 7.2875 - ], - [ - 117.066675, - 7.101942 - ], - [ - 117.283335, - 7.314722 - ] - ] - ], - [ - [ - [ - 116.872484, - 7.219999 - ], - [ - 117.018885, - 7.26639 - ], - [ - 117.003328, - 7.353334 - ], - [ - 116.872484, - 7.219999 - ] - ] - ] - ] - }, - "name" : "Malaysia", - "iso2" : "MY", - "iso3" : "MYS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "vL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 32.954437, - -26.058613 - ], - [ - 32.980553, - -25.972778 - ], - [ - 32.895271, - -26.040836 - ], - [ - 32.954437, - -26.058613 - ] - ] - ], - [ - [ - [ - 35.488327, - -21.685001 - ], - [ - 35.479439, - -21.523891 - ], - [ - 35.435555, - -21.783337 - ], - [ - 35.488327, - -21.685001 - ] - ] - ], - [ - [ - [ - 39.901382, - -16.413334 - ], - [ - 39.861382, - -16.278057 - ], - [ - 39.810829, - -16.363056 - ], - [ - 39.901382, - -16.413334 - ] - ] - ], - [ - [ - [ - 32.890427, - -26.847145 - ], - [ - 32.952499, - -26.083889 - ], - [ - 32.837494, - -26.293056 - ], - [ - 32.576111, - -25.975559 - ], - [ - 32.813889, - -25.60778 - ], - [ - 35.012215, - -24.654167 - ], - [ - 35.497215, - -24.105278 - ], - [ - 35.545273, - -22.232502 - ], - [ - 35.312492, - -22.418056 - ], - [ - 34.619164, - -19.617779 - ], - [ - 34.899162, - -19.857224 - ], - [ - 36.252777, - -18.891392 - ], - [ - 36.943886, - -18.108612 - ], - [ - 36.841385, - -17.877224 - ], - [ - 39.094444, - -16.986389 - ], - [ - 40.587776, - -15.479723 - ], - [ - 40.846107, - -14.697779 - ], - [ - 40.409996, - -12.961945 - ], - [ - 40.646942, - -12.760834 - ], - [ - 40.500832, - -11.031946 - ], - [ - 40.436813, - -10.478174 - ], - [ - 39.268051, - -11.168056 - ], - [ - 37.941383, - -11.285002 - ], - [ - 37.462044, - -11.727329 - ], - [ - 36.18972, - -11.706667 - ], - [ - 35.838333, - -11.414722 - ], - [ - 34.966728, - -11.572111 - ], - [ - 34.626106, - -11.575834 - ], - [ - 34.375275, - -12.155834 - ], - [ - 34.566383, - -13.342224 - ], - [ - 35.924164, - -14.885557 - ], - [ - 35.814438, - -16.019447 - ], - [ - 35.1353, - -16.553375 - ], - [ - 35.290054, - -17.134266 - ], - [ - 34.255554, - -15.899168 - ], - [ - 34.589722, - -15.282778 - ], - [ - 34.522217, - -14.571667 - ], - [ - 33.633331, - -14.539722 - ], - [ - 33.222229, - -14.012566 - ], - [ - 30.213017, - -14.981716 - ], - [ - 30.415756, - -15.631872 - ], - [ - 30.422775, - -16.009167 - ], - [ - 31.276665, - -16.018612 - ], - [ - 32.98114, - -16.709053 - ], - [ - 32.987808, - -17.265003 - ], - [ - 33.073051, - -18.348892 - ], - [ - 32.699165, - -18.944447 - ], - [ - 33.018883, - -19.943336 - ], - [ - 32.50222, - -20.598614 - ], - [ - 32.488876, - -21.344448 - ], - [ - 31.297504, - -22.414764 - ], - [ - 32.016106, - -24.459446 - ], - [ - 31.96851, - -25.95784 - ], - [ - 32.1334, - -26.839626 - ], - [ - 32.890427, - -26.847145 - ] - ], - [ - [ - 34.602776, - -12.011946 - ], - [ - 34.629997, - -12.012501 - ], - [ - 34.623886, - -12.036667 - ], - [ - 34.602776, - -12.011946 - ] - ], - [ - [ - 34.723885, - -12.032778 - ], - [ - 34.754715, - -12.044168 - ], - [ - 34.732216, - -12.095556 - ], - [ - 34.723885, - -12.032778 - ] - ] - ] - ] - }, - "name" : "Mozambique", - "iso2" : "MZ", - "iso3" : "MOZ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "vb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 34.723885, - -12.032778 - ], - [ - 34.732216, - -12.095556 - ], - [ - 34.754715, - -12.044168 - ], - [ - 34.723885, - -12.032778 - ] - ] - ], - [ - [ - [ - 34.602776, - -12.011946 - ], - [ - 34.623886, - -12.036667 - ], - [ - 34.629997, - -12.012501 - ], - [ - 34.602776, - -12.011946 - ] - ] - ], - [ - [ - [ - 34.966728, - -11.572111 - ], - [ - 34.325272, - -9.732779 - ], - [ - 33.13472, - -9.494167 - ], - [ - 32.940399, - -9.405077 - ], - [ - 33.702278, - -10.561857 - ], - [ - 33.250549, - -10.886667 - ], - [ - 33.273331, - -12.144445 - ], - [ - 33.54583, - -12.359446 - ], - [ - 33.046387, - -12.603889 - ], - [ - 32.678886, - -13.60639 - ], - [ - 33.222229, - -14.012566 - ], - [ - 33.633331, - -14.539722 - ], - [ - 34.522217, - -14.571667 - ], - [ - 34.589722, - -15.282778 - ], - [ - 34.255554, - -15.899168 - ], - [ - 35.290054, - -17.134266 - ], - [ - 35.1353, - -16.553375 - ], - [ - 35.814438, - -16.019447 - ], - [ - 35.924164, - -14.885557 - ], - [ - 34.566383, - -13.342224 - ], - [ - 34.375275, - -12.155834 - ], - [ - 34.626106, - -11.575834 - ], - [ - 34.966728, - -11.572111 - ] - ] - ] - ] - }, - "name" : "Malawi", - "iso2" : "MW", - "iso3" : "MWI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "vr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 167.534424, - -22.69389 - ], - [ - 167.531372, - -22.651112 - ], - [ - 167.508026, - -22.688332 - ], - [ - 167.534424, - -22.69389 - ] - ] - ], - [ - [ - [ - 167.501648, - -22.672222 - ], - [ - 167.553864, - -22.612499 - ], - [ - 167.434692, - -22.543056 - ], - [ - 167.501648, - -22.672222 - ] - ] - ], - [ - [ - [ - 166.816071, - -22.463333 - ], - [ - 166.811646, - -22.395 - ], - [ - 166.772491, - -22.456108 - ], - [ - 166.816071, - -22.463333 - ] - ] - ], - [ - [ - [ - 171.313873, - -22.33139 - ], - [ - 171.304962, - -22.327778 - ], - [ - 171.300812, - -22.334999 - ], - [ - 171.313873, - -22.33139 - ] - ] - ], - [ - [ - [ - 166.050537, - -22.079445 - ], - [ - 166.050537, - -22.036667 - ], - [ - 166.027191, - -22.054722 - ], - [ - 166.050537, - -22.079445 - ] - ] - ], - [ - [ - [ - 166.450256, - -21.704445 - ], - [ - 166.440796, - -21.68861 - ], - [ - 166.415527, - -21.691387 - ], - [ - 166.450256, - -21.704445 - ] - ] - ], - [ - [ - [ - 168.002197, - -21.451942 - ], - [ - 167.808868, - -21.385834 - ], - [ - 168.120239, - -21.631111 - ], - [ - 168.002197, - -21.451942 - ] - ] - ], - [ - [ - [ - 167.842743, - -21.14389 - ], - [ - 167.80246, - -21.100277 - ], - [ - 167.801361, - -21.119446 - ], - [ - 167.842743, - -21.14389 - ] - ] - ], - [ - [ - [ - 166.448029, - -20.734165 - ], - [ - 166.459137, - -20.719719 - ], - [ - 166.38858, - -20.72583 - ], - [ - 166.448029, - -20.734165 - ] - ] - ], - [ - [ - [ - 167.287201, - -20.75639 - ], - [ - 167.059692, - -20.988609 - ], - [ - 167.398041, - -21.177776 - ], - [ - 167.287201, - -20.75639 - ] - ] - ], - [ - [ - [ - 166.624664, - -20.406109 - ], - [ - 166.499115, - -20.717777 - ], - [ - 166.625793, - -20.601665 - ], - [ - 166.624664, - -20.406109 - ] - ] - ], - [ - [ - [ - 164.288025, - -20.255558 - ], - [ - 164.270264, - -20.219719 - ], - [ - 164.275269, - -20.248886 - ], - [ - 164.288025, - -20.255558 - ] - ] - ], - [ - [ - [ - 163.943848, - -20.170555 - ], - [ - 163.906921, - -20.14389 - ], - [ - 163.922485, - -20.16972 - ], - [ - 163.943848, - -20.170555 - ] - ] - ], - [ - [ - [ - 164.31665, - -20.327225 - ], - [ - 163.98941, - -20.087223 - ], - [ - 165.259979, - -21.558056 - ], - [ - 166.116364, - -21.946388 - ], - [ - 166.451904, - -22.316666 - ], - [ - 167.014709, - -22.321388 - ], - [ - 164.31665, - -20.327225 - ] - ] - ], - [ - [ - [ - 164.234131, - -20.161945 - ], - [ - 164.1633, - -20.065277 - ], - [ - 164.161102, - -20.113335 - ], - [ - 164.234131, - -20.161945 - ] - ] - ], - [ - [ - [ - 163.821625, - -20.082779 - ], - [ - 163.817749, - -20.040836 - ], - [ - 163.796936, - -20.040836 - ], - [ - 163.821625, - -20.082779 - ] - ] - ], - [ - [ - [ - 163.977173, - -20.081669 - ], - [ - 163.949402, - -20.002224 - ], - [ - 163.939972, - -20.068058 - ], - [ - 163.977173, - -20.081669 - ] - ] - ], - [ - [ - [ - 163.671906, - -19.785835 - ], - [ - 163.700806, - -19.766392 - ], - [ - 163.61969, - -19.625832 - ], - [ - 163.671906, - -19.785835 - ] - ] - ], - [ - [ - [ - 163.607452, - -19.604168 - ], - [ - 163.57663, - -19.549446 - ], - [ - 163.568024, - -19.573055 - ], - [ - 163.607452, - -19.604168 - ] - ] - ], - [ - [ - [ - 159.949402, - -19.343334 - ], - [ - 159.978851, - -19.171665 - ], - [ - 159.95108, - -19.114445 - ], - [ - 159.949402, - -19.343334 - ] - ] - ] - ] - }, - "name" : "New Caledonia", - "iso2" : "NC", - "iso3" : "NCL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "v71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -169.89389, - -19.145557 - ], - [ - -169.817505, - -18.96833 - ], - [ - -169.931671, - -19.016666 - ], - [ - -169.89389, - -19.145557 - ] - ] - ] - }, - "name" : "Niue", - "iso2" : "NU", - "iso3" : "NIU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "wL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 4.245277, - 19.146664 - ], - [ - 4.245, - 18.645275 - ], - [ - 4.200833, - 16.393887 - ], - [ - 3.523981, - 15.358152 - ], - [ - 1.3125, - 15.286665 - ], - [ - 0.235048, - 14.915068 - ], - [ - 0.602222, - 13.703888 - ], - [ - 1.285306, - 13.349957 - ], - [ - 0.991667, - 13.371666 - ], - [ - 0.989167, - 13.047222 - ], - [ - 1.578333, - 12.629999 - ], - [ - 2.1425, - 12.694443 - ], - [ - 2.397925, - 11.896152 - ], - [ - 2.378054, - 12.240274 - ], - [ - 2.83862, - 12.396658 - ], - [ - 3.604459, - 11.693274 - ], - [ - 4.1425, - 13.476944 - ], - [ - 5.874722, - 13.749443 - ], - [ - 6.423055, - 13.605276 - ], - [ - 6.933332, - 12.997221 - ], - [ - 7.815, - 13.352777 - ], - [ - 9.634932, - 12.802435 - ], - [ - 10.724165, - 13.386389 - ], - [ - 12.459166, - 13.066111 - ], - [ - 13.62512, - 13.718338 - ], - [ - 13.468887, - 14.461111 - ], - [ - 15.489166, - 16.914165 - ], - [ - 15.996666, - 20.353054 - ], - [ - 15.202499, - 21.495831 - ], - [ - 14.997889, - 23.000591 - ], - [ - 14.234999, - 22.614166 - ], - [ - 13.543888, - 23.16861 - ], - [ - 11.986475, - 23.522305 - ], - [ - 7.450807, - 20.852863 - ], - [ - 5.812499, - 19.44611 - ], - [ - 4.245277, - 19.146664 - ] - ] - ] - }, - "name" : "Niger", - "iso2" : "NE", - "iso3" : "NER" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "wb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -69.882233, - 12.41111 - ], - [ - -70.063065, - 12.628611 - ], - [ - -70.059448, - 12.538055 - ], - [ - -69.882233, - 12.41111 - ] - ] - ] - }, - "name" : "Aruba", - "iso2" : "AW", - "iso3" : "ABW" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "wr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -63.167778, - 18.164444 - ], - [ - -62.993057, - 18.227219 - ], - [ - -62.970001, - 18.272221 - ], - [ - -63.167778, - 18.164444 - ] - ] - ] - }, - "name" : "Anguilla", - "iso2" : "AI", - "iso3" : "AIA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "w71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 6.134414, - 50.127846 - ], - [ - 6.398204, - 50.323174 - ], - [ - 6.011798, - 50.757271 - ], - [ - 5.640833, - 50.839722 - ], - [ - 5.849171, - 51.15638 - ], - [ - 5.041389, - 51.486664 - ], - [ - 4.252368, - 51.375145 - ], - [ - 4.302375, - 51.263184 - ], - [ - 4.238898, - 51.350426 - ], - [ - 3.370866, - 51.373856 - ], - [ - 2.541667, - 51.09111 - ], - [ - 4.165, - 50.283051 - ], - [ - 4.149238, - 49.978371 - ], - [ - 4.832503, - 50.16861 - ], - [ - 4.873055, - 49.797218 - ], - [ - 5.80788, - 49.545044 - ], - [ - 6.026256, - 50.181252 - ], - [ - 6.134414, - 50.127846 - ] - ] - ] - }, - "name" : "Belgium", - "iso2" : "BE", - "iso3" : "BEL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "xL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 114.246094, - 22.203327 - ], - [ - 114.201103, - 22.290554 - ], - [ - 114.124977, - 22.279999 - ], - [ - 114.246094, - 22.203327 - ] - ] - ], - [ - [ - [ - 113.896652, - 22.195827 - ], - [ - 114.04776, - 22.339996 - ], - [ - 113.825272, - 22.232216 - ], - [ - 113.896652, - 22.195827 - ] - ] - ], - [ - [ - [ - 114.314148, - 22.342773 - ], - [ - 114.296097, - 22.368053 - ], - [ - 114.295258, - 22.345829 - ], - [ - 114.314148, - 22.342773 - ] - ] - ], - [ - [ - [ - 114.219437, - 22.474438 - ], - [ - 114.222596, - 22.550548 - ], - [ - 114.03333, - 22.509138 - ], - [ - 114.296104, - 22.260561 - ], - [ - 114.219437, - 22.474438 - ] - ] - ] - ] - }, - "name" : "Hong Kong", - "iso2" : "HK", - "iso3" : "HKG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "xb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 145.281647, - 14.158333 - ], - [ - 145.237183, - 14.194998 - ], - [ - 145.119965, - 14.122498 - ], - [ - 145.281647, - 14.158333 - ] - ] - ], - [ - [ - [ - 145.535248, - 14.828331 - ], - [ - 145.570251, - 14.844997 - ], - [ - 145.529694, - 14.848331 - ], - [ - 145.535248, - 14.828331 - ] - ] - ], - [ - [ - [ - 145.624115, - 14.908054 - ], - [ - 145.633026, - 15.083887 - ], - [ - 145.572205, - 15.009998 - ], - [ - 145.624115, - 14.908054 - ] - ] - ], - [ - [ - [ - 145.736084, - 15.13361 - ], - [ - 145.818024, - 15.265833 - ], - [ - 145.679138, - 15.105276 - ], - [ - 145.736084, - 15.13361 - ] - ] - ], - [ - [ - [ - 145.655823, - 16.334721 - ], - [ - 145.714691, - 16.355831 - ], - [ - 145.63443, - 16.376106 - ], - [ - 145.655823, - 16.334721 - ] - ] - ], - [ - [ - [ - 145.798309, - 16.680275 - ], - [ - 145.801636, - 16.70055 - ], - [ - 145.774994, - 16.705273 - ], - [ - 145.798309, - 16.680275 - ] - ] - ], - [ - [ - [ - 145.860779, - 17.28722 - ], - [ - 145.867462, - 17.304165 - ], - [ - 145.84024, - 17.317219 - ], - [ - 145.860779, - 17.28722 - ] - ] - ], - [ - [ - [ - 145.860779, - 17.567776 - ], - [ - 145.833862, - 17.604996 - ], - [ - 145.824402, - 17.577496 - ], - [ - 145.860779, - 17.567776 - ] - ] - ], - [ - [ - [ - 145.736084, - 18.043888 - ], - [ - 145.824402, - 18.163052 - ], - [ - 145.779144, - 18.17083 - ], - [ - 145.736084, - 18.043888 - ] - ] - ], - [ - [ - [ - 145.679138, - 18.721382 - ], - [ - 145.71051, - 18.76833 - ], - [ - 145.6633, - 18.810276 - ], - [ - 145.679138, - 18.721382 - ] - ] - ], - [ - [ - [ - 145.405823, - 19.652775 - ], - [ - 145.415253, - 19.677219 - ], - [ - 145.38916, - 19.688885 - ], - [ - 145.405823, - 19.652775 - ] - ] - ], - [ - [ - [ - 145.256927, - 20.01083 - ], - [ - 145.27359, - 20.036385 - ], - [ - 145.242188, - 20.052219 - ], - [ - 145.256927, - 20.01083 - ] - ] - ], - [ - [ - [ - 144.921082, - 20.51833 - ], - [ - 144.913605, - 20.556385 - ], - [ - 144.899139, - 20.526108 - ], - [ - 144.921082, - 20.51833 - ] - ] - ] - ] - }, - "name" : "Northern Mariana Islands", - "iso2" : "MP", - "iso3" : "MNP" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "xr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -6.655277, - 61.389444 - ], - [ - -6.724445, - 61.573328 - ], - [ - -6.962778, - 61.619165 - ], - [ - -6.655277, - 61.389444 - ] - ] - ], - [ - [ - [ - -6.604166, - 61.821665 - ], - [ - -6.908333, - 61.904718 - ], - [ - -6.652222, - 61.742777 - ], - [ - -6.604166, - 61.821665 - ] - ] - ], - [ - [ - [ - -7.049723, - 62.067774 - ], - [ - -7.434999, - 62.140276 - ], - [ - -7.201666, - 62.01861 - ], - [ - -7.049723, - 62.067774 - ] - ] - ], - [ - [ - [ - -6.706944, - 61.937494 - ], - [ - -7.210833, - 62.284723 - ], - [ - -7.232222, - 62.172495 - ], - [ - -6.706944, - 61.937494 - ] - ] - ], - [ - [ - [ - -6.657499, - 62.092501 - ], - [ - -6.60111, - 62.196939 - ], - [ - -7.060278, - 62.313608 - ], - [ - -6.657499, - 62.092501 - ] - ] - ], - [ - [ - [ - -6.620001, - 62.229723 - ], - [ - -6.720833, - 62.331385 - ], - [ - -6.685833, - 62.244997 - ], - [ - -6.620001, - 62.229723 - ] - ] - ], - [ - [ - [ - -6.418612, - 62.183886 - ], - [ - -6.574402, - 62.349878 - ], - [ - -6.5725, - 62.211664 - ], - [ - -6.418612, - 62.183886 - ] - ] - ], - [ - [ - [ - -6.406111, - 62.284441 - ], - [ - -6.545279, - 62.386942 - ], - [ - -6.480278, - 62.297777 - ], - [ - -6.406111, - 62.284441 - ] - ] - ] - ] - }, - "name" : "Faroe Islands", - "iso2" : "FO", - "iso3" : "FRO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "x71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 1.723611, - 42.509438 - ], - [ - 1.78172, - 42.569962 - ], - [ - 1.445833, - 42.601944 - ], - [ - 1.723611, - 42.509438 - ] - ] - ] - }, - "name" : "Andorra", - "iso2" : "AD", - "iso3" : "AND" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "yL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -5.334508, - 36.16256 - ], - [ - -5.355799, - 36.163307 - ], - [ - -5.33823, - 36.112175 - ], - [ - -5.334508, - 36.16256 - ] - ] - ] - }, - "name" : "Gibraltar", - "iso2" : "GI", - "iso3" : "GIB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "yb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -4.777779, - 54.05555 - ], - [ - -4.394444, - 54.186386 - ], - [ - -4.354167, - 54.410828 - ], - [ - -4.777779, - 54.05555 - ] - ] - ] - }, - "name" : "Isle of Man", - "iso2" : "IM", - "iso3" : "IMN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "yr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 6.134414, - 50.127846 - ], - [ - 6.026256, - 50.181252 - ], - [ - 5.80788, - 49.545044 - ], - [ - 6.36217, - 49.459389 - ], - [ - 6.524444, - 49.808609 - ], - [ - 6.134414, - 50.127846 - ] - ] - ] - }, - "name" : "Luxembourg", - "iso2" : "LU", - "iso3" : "LUX" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "y71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 113.531662, - 22.194736 - ], - [ - 113.552467, - 22.183052 - ], - [ - 113.554428, - 22.21273 - ], - [ - 113.531662, - 22.194736 - ] - ] - ] - }, - "name" : "Macau", - "iso2" : "MO", - "iso3" : "MAC" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "zL1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 7.439293, - 43.757523 - ], - [ - 7.416111, - 43.770554 - ], - [ - 7.387777, - 43.748604 - ], - [ - 7.391609, - 43.727547 - ], - [ - 7.439293, - 43.757523 - ] - ] - ] - }, - "name" : "Monaco", - "iso2" : "MC", - "iso3" : "MCO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "zb1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 34.267578, - 31.216541 - ], - [ - 34.33416, - 31.25972 - ], - [ - 34.490547, - 31.596096 - ], - [ - 34.21666, - 31.32333 - ], - [ - 34.267578, - 31.216541 - ] - ] - ], - [ - [ - [ - 35.552567, - 32.394196 - ], - [ - 35.282494, - 32.516937 - ], - [ - 34.884995, - 31.391388 - ], - [ - 35.478195, - 31.497322 - ], - [ - 35.552567, - 32.394196 - ] - ], - [ - [ - 35.25972, - 31.78722 - ], - [ - 35.251663, - 31.788055 - ], - [ - 35.248886, - 31.808887 - ], - [ - 35.25972, - 31.78722 - ] - ] - ] - ] - }, - "name" : "Palestine", - "iso2" : "PS", - "iso3" : "PSE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "zr1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 18.455555, - 42.565826 - ], - [ - 18.503197, - 42.44944 - ], - [ - 19.367771, - 41.848999 - ], - [ - 19.645832, - 42.61805 - ], - [ - 20.071423, - 42.560913 - ], - [ - 20.295954, - 42.824291 - ], - [ - 20.348888, - 42.886383 - ], - [ - 19.228809, - 43.513214 - ], - [ - 18.699997, - 43.255554 - ], - [ - 18.455555, - 42.565826 - ] - ] - ] - }, - "name" : "Montenegro", - "iso2" : "ME", - "iso3" : "MNE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "z71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 45.282494, - -12.804167 - ], - [ - 45.283051, - -12.747501 - ], - [ - 45.262497, - -12.76889 - ], - [ - 45.282494, - -12.804167 - ] - ] - ], - [ - [ - [ - 45.204994, - -12.849724 - ], - [ - 45.078888, - -12.6625 - ], - [ - 45.097496, - -12.985834 - ], - [ - 45.204994, - -12.849724 - ] - ] - ] - ] - }, - "name" : "Mayotte", - "iso2" : "YT", - "iso3" : "MYT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "0L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 20.210831, - 59.979996 - ], - [ - 20.205276, - 60.063606 - ], - [ - 19.999165, - 60.055275 - ], - [ - 20.210831, - 59.979996 - ] - ] - ], - [ - [ - [ - 20.270554, - 60.057495 - ], - [ - 20.292221, - 60.125275 - ], - [ - 20.215553, - 60.13916 - ], - [ - 20.270554, - 60.057495 - ] - ] - ], - [ - [ - [ - 19.676666, - 60.156944 - ], - [ - 19.601944, - 60.255829 - ], - [ - 19.510555, - 60.175278 - ], - [ - 19.676666, - 60.156944 - ] - ] - ], - [ - [ - [ - 20.397221, - 60.195 - ], - [ - 20.441109, - 60.253052 - ], - [ - 20.366108, - 60.265549 - ], - [ - 20.397221, - 60.195 - ] - ] - ], - [ - [ - [ - 20.084721, - 60.350273 - ], - [ - 19.648331, - 60.25666 - ], - [ - 19.943886, - 60.04277 - ], - [ - 20.277496, - 60.274162 - ], - [ - 20.084721, - 60.350273 - ] - ] - ] - ] - }, - "name" : "Åland Islands", - "iso2" : "AX", - "iso3" : "ALA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "0b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 167.964966, - -29.081112 - ], - [ - 167.997742, - -29.025002 - ], - [ - 167.912476, - -29.00528 - ], - [ - 167.964966, - -29.081112 - ] - ] - ] - }, - "name" : "Norfolk Island", - "iso2" : "NF", - "iso3" : "NFK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "0r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 96.914154, - -12.198055 - ], - [ - 96.914703, - -12.151945 - ], - [ - 96.902481, - -12.199999 - ], - [ - 96.914154, - -12.198055 - ] - ] - ], - [ - [ - [ - 96.862762, - -12.196112 - ], - [ - 96.826385, - -12.128332 - ], - [ - 96.819443, - -12.178057 - ], - [ - 96.862762, - -12.196112 - ] - ] - ] - ] - }, - "name" : "Cocos (Keeling) Islands", - "iso2" : "CC", - "iso3" : "CCK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "071E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -60.220001, - -80.285843 - ], - [ - -60.173615, - -79.71167 - ], - [ - -60.695007, - -79.610001 - ], - [ - -62.550003, - -80.258896 - ], - [ - -67.031952, - -80.166397 - ], - [ - -61.843895, - -80.836395 - ], - [ - -60.908615, - -80.748337 - ], - [ - -60.220001, - -80.285843 - ] - ] - ], - [ - [ - [ - 162.159731, - -79.061676 - ], - [ - 161.925844, - -78.981674 - ], - [ - 161.947786, - -79.030838 - ], - [ - 162.159731, - -79.061676 - ] - ] - ], - [ - [ - [ - -162.133362, - -78.741119 - ], - [ - -163.816406, - -79.207504 - ], - [ - -161.085846, - -79.835281 - ], - [ - -158.532501, - -79.713898 - ], - [ - -162.133362, - -78.741119 - ] - ] - ], - [ - [ - [ - -39.972504, - -78.554733 - ], - [ - -41.930557, - -78.591949 - ], - [ - -37.45945, - -78.640289 - ], - [ - -39.972504, - -78.554733 - ] - ] - ], - [ - [ - [ - -70.945557, - -79.650009 - ], - [ - -67.31723, - -78.503616 - ], - [ - -70.304169, - -78.805283 - ], - [ - -71.855286, - -79.420288 - ], - [ - -70.945557, - -79.650009 - ] - ] - ], - [ - [ - [ - 167.315554, - -78.253616 - ], - [ - 167.677492, - -78.117523 - ], - [ - 166.871645, - -78.208084 - ], - [ - 167.315554, - -78.253616 - ] - ] - ], - [ - [ - [ - 166.352205, - -78.313629 - ], - [ - 166.774172, - -78.221115 - ], - [ - 166.065554, - -78.114746 - ], - [ - 166.352205, - -78.313629 - ] - ] - ], - [ - [ - [ - -44.114449, - -78.698898 - ], - [ - -43.891113, - -78.361954 - ], - [ - -44.841949, - -78.101395 - ], - [ - -48.272781, - -78.056395 - ], - [ - -50.183617, - -78.650558 - ], - [ - -50.666115, - -79.588623 - ], - [ - -54.90889, - -80.718613 - ], - [ - -52.055557, - -80.902786 - ], - [ - -44.286392, - -80.339737 - ], - [ - -44.066673, - -80.257507 - ], - [ - -44.572502, - -80.092224 - ], - [ - -43.354446, - -79.779724 - ], - [ - -43.466118, - -79.470291 - ], - [ - -44.583336, - -79.333893 - ], - [ - -43.793335, - -79.003616 - ], - [ - -45.575279, - -78.851959 - ], - [ - -44.114449, - -78.698898 - ] - ] - ], - [ - [ - [ - -148.761139, - -77.44223 - ], - [ - -148.829468, - -77.401398 - ], - [ - -149.035278, - -77.416946 - ], - [ - -148.761139, - -77.44223 - ] - ] - ], - [ - [ - [ - -150.20752, - -77.37001 - ], - [ - -150.076416, - -77.340561 - ], - [ - -151.193909, - -77.271957 - ], - [ - -150.20752, - -77.37001 - ] - ] - ], - [ - [ - [ - -148.858612, - -77.354736 - ], - [ - -149.161682, - -77.258896 - ], - [ - -149.51947, - -77.290848 - ], - [ - -148.858612, - -77.354736 - ] - ] - ], - [ - [ - [ - 167.716951, - -77.405838 - ], - [ - 166.631655, - -77.172806 - ], - [ - 166.21335, - -77.538635 - ], - [ - 166.882509, - -77.671951 - ], - [ - 166.547762, - -77.70668 - ], - [ - 166.776644, - -77.857788 - ], - [ - 169.451113, - -77.496689 - ], - [ - 167.716951, - -77.405838 - ] - ] - ], - [ - [ - [ - -147.252228, - -77.165558 - ], - [ - -147.0625, - -77.173889 - ], - [ - -147.532806, - -77.151947 - ], - [ - -147.252228, - -77.165558 - ] - ] - ], - [ - [ - [ - -147.896973, - -77.429733 - ], - [ - -147.590851, - -77.33168 - ], - [ - -147.708893, - -77.189453 - ], - [ - -148.464447, - -77.070557 - ], - [ - -148.864197, - -77.270844 - ], - [ - -147.896973, - -77.429733 - ] - ] - ], - [ - [ - [ - -147.633636, - -77.103348 - ], - [ - -147.654724, - -77.040009 - ], - [ - -147.835297, - -77.034729 - ], - [ - -147.633636, - -77.103348 - ] - ] - ], - [ - [ - [ - -148.511688, - -76.907791 - ], - [ - -149.194733, - -76.950562 - ], - [ - -148.206696, - -76.978058 - ], - [ - -148.511688, - -76.907791 - ] - ] - ], - [ - [ - [ - -149.478363, - -76.898346 - ], - [ - -150.736389, - -76.951126 - ], - [ - -149.07251, - -77.100845 - ], - [ - -149.478363, - -76.898346 - ] - ] - ], - [ - [ - [ - -146.710846, - -76.979172 - ], - [ - -146.223358, - -76.897507 - ], - [ - -146.991669, - -76.851395 - ], - [ - -146.710846, - -76.979172 - ] - ] - ], - [ - [ - [ - -148.533905, - -76.722504 - ], - [ - -149.169189, - -76.732224 - ], - [ - -148.157227, - -76.765289 - ], - [ - -148.533905, - -76.722504 - ] - ] - ], - [ - [ - [ - -149.83197, - -76.664459 - ], - [ - -150.701416, - -76.719452 - ], - [ - -150.320862, - -76.781677 - ], - [ - -149.83197, - -76.664459 - ] - ] - ], - [ - [ - [ - -148.409454, - -76.689453 - ], - [ - -148.619171, - -76.618057 - ], - [ - -148.77475, - -76.652786 - ], - [ - -148.409454, - -76.689453 - ] - ] - ], - [ - [ - [ - -147.433624, - -76.688614 - ], - [ - -147.5914, - -76.593903 - ], - [ - -147.954193, - -76.591124 - ], - [ - -147.433624, - -76.688614 - ] - ] - ], - [ - [ - [ - -146.772247, - -76.714172 - ], - [ - -146.760834, - -76.570557 - ], - [ - -147.251404, - -76.57695 - ], - [ - -146.772247, - -76.714172 - ] - ] - ], - [ - [ - [ - -147.347229, - -76.613892 - ], - [ - -147.474731, - -76.55751 - ], - [ - -147.618073, - -76.556946 - ], - [ - -147.347229, - -76.613892 - ] - ] - ], - [ - [ - [ - 168.603334, - -76.232788 - ], - [ - 168.490816, - -76.158615 - ], - [ - 168.361086, - -76.162506 - ], - [ - 168.603334, - -76.232788 - ] - ] - ], - [ - [ - [ - -146.585571, - -76.305557 - ], - [ - -146.573059, - -76.220291 - ], - [ - -146.776123, - -76.087233 - ], - [ - -147.278076, - -76.113342 - ], - [ - -146.585571, - -76.305557 - ] - ] - ], - [ - [ - [ - -146.790558, - -75.855835 - ], - [ - -146.859467, - -75.805557 - ], - [ - -147.003632, - -75.819458 - ], - [ - -146.790558, - -75.855835 - ] - ] - ], - [ - [ - [ - -145.1539, - -75.736679 - ], - [ - -145.571686, - -75.55278 - ], - [ - -145.867279, - -75.604553 - ], - [ - -145.1539, - -75.736679 - ] - ] - ], - [ - [ - [ - -143.001404, - -75.526123 - ], - [ - -143.082245, - -75.465286 - ], - [ - -143.280853, - -75.491669 - ], - [ - -143.001404, - -75.526123 - ] - ] - ], - [ - [ - [ - -132.371948, - -74.464172 - ], - [ - -132.205292, - -74.392502 - ], - [ - -132.661957, - -74.419174 - ], - [ - -132.371948, - -74.464172 - ] - ] - ], - [ - [ - [ - -131.38974, - -74.346954 - ], - [ - -132.007782, - -74.429169 - ], - [ - -130.744751, - -74.415009 - ], - [ - -131.38974, - -74.346954 - ] - ] - ], - [ - [ - [ - -127.391113, - -74.580292 - ], - [ - -127.036118, - -74.392227 - ], - [ - -128.160858, - -74.254181 - ], - [ - -127.391113, - -74.580292 - ] - ] - ], - [ - [ - [ - -117.114182, - -74.334166 - ], - [ - -116.751678, - -74.247223 - ], - [ - -117.198334, - -74.328339 - ], - [ - -117.114182, - -74.334166 - ] - ] - ], - [ - [ - [ - -20.467503, - -74.330292 - ], - [ - -20.369446, - -74.121674 - ], - [ - -21.603615, - -74.450836 - ], - [ - -20.119446, - -74.850571 - ], - [ - -20.467503, - -74.330292 - ] - ] - ], - [ - [ - [ - -115.930283, - -73.961945 - ], - [ - -117.241119, - -74.1875 - ], - [ - -116.273621, - -74.153624 - ], - [ - -115.930283, - -73.961945 - ] - ] - ], - [ - [ - [ - -122.149727, - -73.614456 - ], - [ - -123.159393, - -73.734039 - ], - [ - -122.414459, - -73.87056 - ], - [ - -122.629997, - -74.320847 - ], - [ - -122.132233, - -74.368057 - ], - [ - -118.549454, - -73.928894 - ], - [ - -122.149727, - -73.614456 - ] - ] - ], - [ - [ - [ - 169.824434, - -73.595581 - ], - [ - 169.868593, - -73.289169 - ], - [ - 169.388033, - -73.533081 - ], - [ - 169.824434, - -73.595581 - ] - ] - ], - [ - [ - [ - -78.048065, - -73.44223 - ], - [ - -77.636398, - -73.300003 - ], - [ - -78.346115, - -73.252792 - ], - [ - -78.048065, - -73.44223 - ] - ] - ], - [ - [ - [ - -126.118347, - -73.247223 - ], - [ - -127.392502, - -73.417786 - ], - [ - -125.252792, - -74.063904 - ], - [ - -123.724167, - -74.100571 - ], - [ - -124.23056, - -73.689178 - ], - [ - -125.134171, - -73.718063 - ], - [ - -126.118347, - -73.247223 - ] - ] - ], - [ - [ - [ - -73.891113, - -73.425003 - ], - [ - -73.498901, - -73.153624 - ], - [ - -74.064178, - -73.325562 - ], - [ - -73.891113, - -73.425003 - ] - ] - ], - [ - [ - [ - -104.865013, - -73.238892 - ], - [ - -104.550293, - -73.186676 - ], - [ - -105.241119, - -73.054733 - ], - [ - -104.865013, - -73.238892 - ] - ] - ], - [ - [ - [ - -89.74501, - -72.875565 - ], - [ - -90.379456, - -73.047791 - ], - [ - -89.45668, - -72.91362 - ], - [ - -89.74501, - -72.875565 - ] - ] - ], - [ - [ - [ - -74.222778, - -72.97612 - ], - [ - -75.386124, - -72.818069 - ], - [ - -75.720291, - -72.945557 - ], - [ - -75.395279, - -73.060013 - ], - [ - -76.093613, - -73.209457 - ], - [ - -74.465561, - -73.648346 - ], - [ - -74.222778, - -72.97612 - ] - ] - ], - [ - [ - [ - -93.759445, - -72.911667 - ], - [ - -93.805847, - -72.815002 - ], - [ - -94.138062, - -72.839172 - ], - [ - -93.759445, - -72.911667 - ] - ] - ], - [ - [ - [ - -98.148056, - -72.730011 - ], - [ - -97.825287, - -72.663345 - ], - [ - -98.343613, - -72.699448 - ], - [ - -98.148056, - -72.730011 - ] - ] - ], - [ - [ - [ - -99.740845, - -72.623611 - ], - [ - -100.858612, - -72.665558 - ], - [ - -98.930283, - -72.673615 - ], - [ - -99.740845, - -72.623611 - ] - ] - ], - [ - [ - [ - -95.33139, - -72.671951 - ], - [ - -94.696762, - -72.614197 - ], - [ - -95.518341, - -72.649445 - ], - [ - -95.33139, - -72.671951 - ] - ] - ], - [ - [ - [ - -91.337233, - -73.156952 - ], - [ - -90.806395, - -72.592789 - ], - [ - -91.617233, - -72.604736 - ], - [ - -91.337233, - -73.156952 - ] - ] - ], - [ - [ - [ - -93.36528, - -72.654449 - ], - [ - -93.170288, - -72.575562 - ], - [ - -93.461426, - -72.584518 - ], - [ - -93.36528, - -72.654449 - ] - ] - ], - [ - [ - [ - -61.038612, - -72.559723 - ], - [ - -60.970001, - -72.527512 - ], - [ - -61.135002, - -72.545013 - ], - [ - -61.038612, - -72.559723 - ] - ] - ], - [ - [ - [ - -78.420013, - -72.56778 - ], - [ - -79.247513, - -72.402512 - ], - [ - -79.461395, - -72.566391 - ], - [ - -78.841675, - -72.771393 - ], - [ - -79.421677, - -72.960007 - ], - [ - -78.806366, - -73.181656 - ], - [ - -77.594452, - -72.910004 - ], - [ - -77.439178, - -72.588623 - ], - [ - -78.420013, - -72.56778 - ] - ] - ], - [ - [ - [ - -68.816116, - -72.474457 - ], - [ - -68.598068, - -72.385834 - ], - [ - -68.977509, - -72.460556 - ], - [ - -68.816116, - -72.474457 - ] - ] - ], - [ - [ - [ - -60.336945, - -72.257507 - ], - [ - -60.343613, - -72.194168 - ], - [ - -60.501944, - -72.199722 - ], - [ - -60.336945, - -72.257507 - ] - ] - ], - [ - [ - [ - 68.482012, - -72.277786 - ], - [ - 68.820024, - -72.165283 - ], - [ - 68.693132, - -72.088913 - ], - [ - 68.482012, - -72.277786 - ] - ] - ], - [ - [ - [ - 69.797564, - -72.033081 - ], - [ - 69.957293, - -71.91864 - ], - [ - 69.773088, - -71.92363 - ], - [ - 69.797564, - -72.033081 - ] - ] - ], - [ - [ - [ - -98.80307, - -71.886673 - ], - [ - -99.30751, - -71.943893 - ], - [ - -98.833069, - -72.131393 - ], - [ - -100.235001, - -72.130844 - ], - [ - -100.510559, - -72.023621 - ], - [ - -100.061661, - -71.935135 - ], - [ - -100.414459, - -71.881393 - ], - [ - -102.56279, - -72.124725 - ], - [ - -98.616119, - -72.568893 - ], - [ - -95.675842, - -72.360565 - ], - [ - -96.596115, - -72.286667 - ], - [ - -95.821671, - -72.189453 - ], - [ - -95.995148, - -72.080002 - ], - [ - -97.258057, - -72.222229 - ], - [ - -96.342636, - -72.002197 - ], - [ - -96.650558, - -71.873337 - ], - [ - -97.349457, - -71.862503 - ], - [ - -97.686401, - -72.181946 - ], - [ - -98.136307, - -71.892899 - ], - [ - -98.196671, - -72.199173 - ], - [ - -98.560562, - -72.131119 - ], - [ - -98.297501, - -71.871948 - ], - [ - -98.80307, - -71.886673 - ] - ] - ], - [ - [ - [ - 0.452028, - -71.100586 - ], - [ - 0.586733, - -71.064453 - ], - [ - 0.239809, - -71.033615 - ], - [ - 0.452028, - -71.100586 - ] - ] - ], - [ - [ - [ - -60.53553, - -71.056351 - ], - [ - -60.624725, - -70.88501 - ], - [ - -60.959166, - -70.945282 - ], - [ - -60.53553, - -71.056351 - ] - ] - ], - [ - [ - [ - -7.879444, - -70.733902 - ], - [ - -7.725277, - -70.710281 - ], - [ - -8.043612, - -70.700012 - ], - [ - -7.879444, - -70.733902 - ] - ] - ], - [ - [ - [ - -2.389999, - -70.751953 - ], - [ - -3.455, - -70.693069 - ], - [ - -2.796389, - -71.039734 - ], - [ - -1.982777, - -70.816391 - ], - [ - -2.389999, - -70.751953 - ] - ] - ], - [ - [ - [ - -73.685287, - -70.680283 - ], - [ - -76.63501, - -71.060287 - ], - [ - -74.306122, - -71.010284 - ], - [ - -73.685287, - -70.680283 - ] - ] - ], - [ - [ - [ - 2.050657, - -70.699722 - ], - [ - 2.216734, - -70.636398 - ], - [ - 1.895933, - -70.646118 - ], - [ - 2.050657, - -70.699722 - ] - ] - ], - [ - [ - [ - -60.81945, - -70.662231 - ], - [ - -60.631393, - -70.54834 - ], - [ - -61.159172, - -70.575836 - ], - [ - -60.81945, - -70.662231 - ] - ] - ], - [ - [ - [ - 2.957579, - -70.625 - ], - [ - 3.32733, - -70.468918 - ], - [ - 2.613157, - -70.50502 - ], - [ - 2.957579, - -70.625 - ] - ] - ], - [ - [ - [ - -6.040277, - -70.579178 - ], - [ - -5.969852, - -70.417952 - ], - [ - -6.376682, - -70.476074 - ], - [ - -6.040277, - -70.579178 - ] - ] - ], - [ - [ - [ - -3.128056, - -70.504181 - ], - [ - -2.644167, - -70.415283 - ], - [ - -3.329721, - -70.483337 - ], - [ - -3.128056, - -70.504181 - ] - ] - ], - [ - [ - [ - 163.386141, - -70.380569 - ], - [ - 163.483339, - -70.353897 - ], - [ - 163.3053, - -70.349182 - ], - [ - 163.386141, - -70.380569 - ] - ] - ], - [ - [ - [ - 72.227007, - -70.613083 - ], - [ - 71.930071, - -70.294174 - ], - [ - 71.688128, - -70.338348 - ], - [ - 72.227007, - -70.613083 - ] - ] - ], - [ - [ - [ - -1.790277, - -70.231949 - ], - [ - -1.897221, - -70.1689 - ], - [ - -1.973055, - -70.181671 - ], - [ - -1.790277, - -70.231949 - ] - ] - ], - [ - [ - [ - 13.109552, - -70.057251 - ], - [ - 12.481745, - -70.110565 - ], - [ - 13.221186, - -70.137512 - ], - [ - 13.109552, - -70.057251 - ] - ] - ], - [ - [ - [ - 15.992849, - -70.172241 - ], - [ - 16.362055, - -70.017517 - ], - [ - 15.360346, - -70.0289 - ], - [ - 15.992849, - -70.172241 - ] - ] - ], - [ - [ - [ - -61.385002, - -70.015289 - ], - [ - -61.292503, - -69.934174 - ], - [ - -61.528061, - -69.965286 - ], - [ - -61.385002, - -70.015289 - ] - ] - ], - [ - [ - [ - -74.842224, - -69.815842 - ], - [ - -75.861389, - -70.055283 - ], - [ - -74.452515, - -70.021666 - ], - [ - -74.842224, - -69.815842 - ] - ] - ], - [ - [ - [ - 38.231485, - -69.67807 - ], - [ - 38.231485, - -69.646666 - ], - [ - 38.056192, - -69.636688 - ], - [ - 38.231485, - -69.67807 - ] - ] - ], - [ - [ - [ - -72.355286, - -69.757507 - ], - [ - -72.044449, - -69.693069 - ], - [ - -72.945282, - -69.600845 - ], - [ - -72.355286, - -69.757507 - ] - ] - ], - [ - [ - [ - -62.042229, - -69.720001 - ], - [ - -61.715561, - -69.468613 - ], - [ - -62.327225, - -69.107513 - ], - [ - -62.042229, - -69.720001 - ] - ] - ], - [ - [ - [ - 155.873629, - -69.151123 - ], - [ - 155.883699, - -69.058975 - ], - [ - 155.52585, - -69.00058 - ], - [ - 155.873629, - -69.151123 - ] - ] - ], - [ - [ - [ - 155.200838, - -69.046112 - ], - [ - 155.308901, - -68.98114 - ], - [ - 154.95392, - -69.017227 - ], - [ - 155.200838, - -69.046112 - ] - ] - ], - [ - [ - [ - -70.156952, - -68.848618 - ], - [ - -72.253342, - -69.20723 - ], - [ - -71.645844, - -69.517502 - ], - [ - -71.815002, - -69.984177 - ], - [ - -71.389175, - -70.230011 - ], - [ - -72.460846, - -70.601959 - ], - [ - -71.020844, - -70.803345 - ], - [ - -70.613892, - -71.166397 - ], - [ - -72.926392, - -71.115845 - ], - [ - -73.159729, - -71.185013 - ], - [ - -72.411957, - -71.336395 - ], - [ - -73.679169, - -71.358063 - ], - [ - -73.529175, - -71.643341 - ], - [ - -74.389175, - -71.434174 - ], - [ - -74.435837, - -71.693069 - ], - [ - -75.141953, - -71.577789 - ], - [ - -75.466124, - -71.85112 - ], - [ - -74.043335, - -72.208893 - ], - [ - -73.581116, - -72.047226 - ], - [ - -73.879181, - -71.820557 - ], - [ - -72.866669, - -71.934174 - ], - [ - -72.267502, - -71.646118 - ], - [ - -70.947235, - -72.038895 - ], - [ - -72.045013, - -72.194458 - ], - [ - -70.521957, - -72.207779 - ], - [ - -73.194458, - -72.431395 - ], - [ - -72.376114, - -72.727783 - ], - [ - -69.26001, - -72.564178 - ], - [ - -68.391678, - -72.233902 - ], - [ - -68.071396, - -71.638336 - ], - [ - -68.377228, - -70.649445 - ], - [ - -70.084166, - -69.263626 - ], - [ - -70.156952, - -68.848618 - ] - ] - ], - [ - [ - [ - -90.594452, - -68.925842 - ], - [ - -90.486954, - -68.827789 - ], - [ - -90.751404, - -68.799179 - ], - [ - -90.594452, - -68.925842 - ] - ] - ], - [ - [ - [ - -63.446945, - -68.851395 - ], - [ - -63.413338, - -68.837233 - ], - [ - -63.627785, - -68.796951 - ], - [ - -63.446945, - -68.851395 - ] - ] - ], - [ - [ - [ - -60.718056, - -68.75473 - ], - [ - -60.829727, - -68.661118 - ], - [ - -61.081673, - -68.679459 - ], - [ - -60.718056, - -68.75473 - ] - ] - ], - [ - [ - [ - -67.507507, - -67.810013 - ], - [ - -67.084166, - -67.631393 - ], - [ - -67.815292, - -67.689178 - ], - [ - -67.507507, - -67.810013 - ] - ] - ], - [ - [ - [ - 47.671183, - -67.586685 - ], - [ - 47.407869, - -67.624725 - ], - [ - 47.898043, - -67.594284 - ], - [ - 47.671183, - -67.586685 - ] - ] - ], - [ - [ - [ - 59.35531, - -67.33168 - ], - [ - 59.416468, - -67.320572 - ], - [ - 59.269258, - -67.290283 - ], - [ - 59.35531, - -67.33168 - ] - ] - ], - [ - [ - [ - 164.787233, - -67.595291 - ], - [ - 164.840029, - -67.42363 - ], - [ - 164.561678, - -67.271666 - ], - [ - 164.787233, - -67.595291 - ] - ] - ], - [ - [ - [ - 58.64255, - -67.126419 - ], - [ - 58.671473, - -67.12001 - ], - [ - 58.52865, - -67.117798 - ], - [ - 58.64255, - -67.126419 - ] - ] - ], - [ - [ - [ - 58.86062, - -67.121948 - ], - [ - 58.8248, - -67.102249 - ], - [ - 58.774195, - -67.108612 - ], - [ - 58.86062, - -67.121948 - ] - ] - ], - [ - [ - [ - 50.346468, - -67.116394 - ], - [ - 50.250093, - -67.067795 - ], - [ - 50.130648, - -67.074188 - ], - [ - 50.346468, - -67.116394 - ] - ] - ], - [ - [ - [ - 48.793978, - -66.756134 - ], - [ - 48.291475, - -66.820007 - ], - [ - 48.397318, - -66.890289 - ], - [ - 48.793978, - -66.756134 - ] - ] - ], - [ - [ - [ - 86.065325, - -67.001129 - ], - [ - 86.183901, - -66.922516 - ], - [ - 85.871965, - -66.773895 - ], - [ - 85.37282, - -66.746689 - ], - [ - 86.065325, - -67.001129 - ] - ] - ], - [ - [ - [ - 86.4928, - -66.774733 - ], - [ - 86.732012, - -66.712233 - ], - [ - 86.301699, - -66.711136 - ], - [ - 86.4928, - -66.774733 - ] - ] - ], - [ - [ - [ - -67.244171, - -66.747787 - ], - [ - -67.459732, - -66.697235 - ], - [ - -67.541946, - -66.869736 - ], - [ - -67.244171, - -66.747787 - ] - ] - ], - [ - [ - [ - -68.100281, - -67.393341 - ], - [ - -67.674728, - -67.15918 - ], - [ - -67.910843, - -66.848892 - ], - [ - -67.585556, - -66.613892 - ], - [ - -69.228897, - -67.541397 - ], - [ - -68.565002, - -67.748062 - ], - [ - -68.100281, - -67.393341 - ] - ] - ], - [ - [ - [ - 99.294497, - -66.748611 - ], - [ - 99.520876, - -66.590027 - ], - [ - 99.215883, - -66.723068 - ], - [ - 99.294497, - -66.748611 - ] - ] - ], - [ - [ - [ - 163.106966, - -66.756134 - ], - [ - 163.118349, - -66.623062 - ], - [ - 162.94919, - -66.572235 - ], - [ - 163.106966, - -66.756134 - ] - ] - ], - [ - [ - [ - 85.332842, - -66.628616 - ], - [ - 85.284197, - -66.520294 - ], - [ - 85.151995, - -66.590286 - ], - [ - 85.332842, - -66.628616 - ] - ] - ], - [ - [ - [ - 98.771975, - -66.491974 - ], - [ - 98.862795, - -66.454468 - ], - [ - 98.601992, - -66.433334 - ], - [ - 98.771975, - -66.491974 - ] - ] - ], - [ - [ - [ - 97.229189, - -66.4664 - ], - [ - 97.353106, - -66.423889 - ], - [ - 97.088381, - -66.415283 - ], - [ - 97.229189, - -66.4664 - ] - ] - ], - [ - [ - [ - 162.568087, - -66.435028 - ], - [ - 162.601412, - -66.350586 - ], - [ - 162.300295, - -66.188919 - ], - [ - 162.568087, - -66.435028 - ] - ] - ], - [ - [ - [ - 100.273073, - -66.192795 - ], - [ - 100.351679, - -66.143631 - ], - [ - 100.229738, - -66.148895 - ], - [ - 100.273073, - -66.192795 - ] - ] - ], - [ - [ - [ - 96.767519, - -66.259735 - ], - [ - 96.847795, - -66.121689 - ], - [ - 96.260012, - -66.188919 - ], - [ - 96.767519, - -66.259735 - ] - ] - ], - [ - [ - [ - -66.732224, - -66.310562 - ], - [ - -66.575562, - -66.088058 - ], - [ - -66.743057, - -66.117783 - ], - [ - -66.732224, - -66.310562 - ] - ] - ], - [ - [ - [ - 100.55475, - -66.147232 - ], - [ - 100.756411, - -66.079193 - ], - [ - 100.618654, - -66.046951 - ], - [ - 100.55475, - -66.147232 - ] - ] - ], - [ - [ - [ - 100.821413, - -66.026947 - ], - [ - 100.817263, - -65.997528 - ], - [ - 100.772829, - -66.013336 - ], - [ - 100.821413, - -66.026947 - ] - ] - ], - [ - [ - [ - 100.927553, - -66.005569 - ], - [ - 100.958925, - -65.968338 - ], - [ - 100.84363, - -65.983078 - ], - [ - 100.927553, - -66.005569 - ] - ] - ], - [ - [ - [ - 100.770571, - -65.861389 - ], - [ - 100.99811, - -65.808914 - ], - [ - 100.708071, - -65.832794 - ], - [ - 100.770571, - -65.861389 - ] - ] - ], - [ - [ - [ - 92.698931, - -65.798355 - ], - [ - 92.495058, - -65.672241 - ], - [ - 92.268923, - -65.764175 - ], - [ - 92.698931, - -65.798355 - ] - ] - ], - [ - [ - [ - -65.666946, - -65.687225 - ], - [ - -65.918335, - -65.529724 - ], - [ - -66.161118, - -65.868895 - ], - [ - -65.666946, - -65.687225 - ] - ] - ], - [ - [ - [ - 100.754999, - -65.678619 - ], - [ - 101.256655, - -65.503769 - ], - [ - 100.24695, - -65.583618 - ], - [ - 100.754999, - -65.678619 - ] - ] - ], - [ - [ - [ - 103.2428, - -65.295837 - ], - [ - 102.773935, - -65.140289 - ], - [ - 103.472528, - -65.450012 - ], - [ - 103.2428, - -65.295837 - ] - ] - ], - [ - [ - [ - -59.436111, - -65.255844 - ], - [ - -59.533058, - -65.109451 - ], - [ - -59.813057, - -65.107224 - ], - [ - -59.436111, - -65.255844 - ] - ] - ], - [ - [ - [ - -63.144173, - -64.781403 - ], - [ - -63.555, - -64.893066 - ], - [ - -63.324448, - -64.911957 - ], - [ - -63.144173, - -64.781403 - ] - ] - ], - [ - [ - [ - -57.279167, - -64.552504 - ], - [ - -56.855003, - -64.338623 - ], - [ - -57.488617, - -64.496399 - ], - [ - -57.279167, - -64.552504 - ] - ] - ], - [ - [ - [ - -63.306671, - -64.428619 - ], - [ - -63.089447, - -64.296677 - ], - [ - -64.220566, - -64.67334 - ], - [ - -63.640007, - -64.833893 - ], - [ - -62.760284, - -64.560287 - ], - [ - -63.306671, - -64.428619 - ] - ] - ], - [ - [ - [ - -56.815002, - -64.316956 - ], - [ - -56.575562, - -64.219727 - ], - [ - -56.758339, - -64.237793 - ], - [ - -56.815002, - -64.316956 - ] - ] - ], - [ - [ - [ - -62.300003, - -64.434448 - ], - [ - -62.011673, - -64.214172 - ], - [ - -62.48056, - -64.043335 - ], - [ - -62.704727, - -64.466124 - ], - [ - -62.300003, - -64.434448 - ] - ] - ], - [ - [ - [ - -57.815834, - -63.961395 - ], - [ - -58.428612, - -64.113342 - ], - [ - -58.080833, - -64.084732 - ], - [ - -58.239449, - -64.325012 - ], - [ - -57.912781, - -64.445282 - ], - [ - -57.03334, - -64.172501 - ], - [ - -57.815834, - -63.961395 - ] - ] - ], - [ - [ - [ - -57.570557, - -63.787781 - ], - [ - -57.694725, - -63.816391 - ], - [ - -57.045563, - -63.822784 - ], - [ - -57.570557, - -63.787781 - ] - ] - ], - [ - [ - [ - -60.738335, - -63.86834 - ], - [ - -60.531395, - -63.651672 - ], - [ - -60.764168, - -63.660561 - ], - [ - -60.738335, - -63.86834 - ] - ] - ], - [ - [ - [ - -55.976669, - -63.58139 - ], - [ - -55.707779, - -63.452507 - ], - [ - -56.205559, - -63.452782 - ], - [ - -55.976669, - -63.58139 - ] - ] - ], - [ - [ - [ - -62.154167, - -63.324173 - ], - [ - -61.943335, - -63.28167 - ], - [ - -62.260284, - -63.253891 - ], - [ - -62.154167, - -63.324173 - ] - ] - ], - [ - [ - [ - -56.946396, - -63.450562 - ], - [ - -57.205002, - -63.205559 - ], - [ - -58.910835, - -63.533058 - ], - [ - -59.445839, - -63.893059 - ], - [ - -60.991669, - -64.035843 - ], - [ - -60.941948, - -64.277512 - ], - [ - -61.93528, - -64.690567 - ], - [ - -62.453613, - -64.589172 - ], - [ - -62.617783, - -64.755005 - ], - [ - -62.31945, - -64.858902 - ], - [ - -62.938057, - -64.797501 - ], - [ - -63.090561, - -65.133896 - ], - [ - -63.879448, - -65.018341 - ], - [ - -64.05307, - -65.421951 - ], - [ - -63.712784, - -65.502502 - ], - [ - -64.659729, - -65.74028 - ], - [ - -64.453339, - -65.981674 - ], - [ - -65.689728, - -66.125 - ], - [ - -66.497223, - -66.622513 - ], - [ - -66.404724, - -66.885559 - ], - [ - -67.48584, - -67.077225 - ], - [ - -67.623901, - -67.553619 - ], - [ - -66.427231, - -67.53334 - ], - [ - -67.157227, - -68.010559 - ], - [ - -66.589737, - -68.238068 - ], - [ - -67.165558, - -68.293335 - ], - [ - -66.932236, - -68.773895 - ], - [ - -67.494446, - -68.815567 - ], - [ - -66.657791, - -69.017792 - ], - [ - -68.838058, - -69.417236 - ], - [ - -67.703903, - -70.593063 - ], - [ - -67.400284, - -71.040009 - ], - [ - -67.537231, - -71.454727 - ], - [ - -66.859177, - -71.895569 - ], - [ - -66.797226, - -72.407791 - ], - [ - -69.428345, - -73.197235 - ], - [ - -76.962784, - -73.873062 - ], - [ - -76.618347, - -73.576675 - ], - [ - -78.789734, - -73.693069 - ], - [ - -78.958893, - -73.392502 - ], - [ - -80.695557, - -73.050568 - ], - [ - -80.51918, - -73.446396 - ], - [ - -81.275284, - -73.369446 - ], - [ - -81.041397, - -73.715561 - ], - [ - -82.134171, - -73.943344 - ], - [ - -85.599731, - -73.558334 - ], - [ - -85.47084, - -73.349731 - ], - [ - -85.966675, - -73.041397 - ], - [ - -86.840836, - -73.336395 - ], - [ - -88.709166, - -73.179459 - ], - [ - -88.335846, - -72.816116 - ], - [ - -89.261124, - -72.63945 - ], - [ - -89.537231, - -72.633621 - ], - [ - -89.321121, - -73.054169 - ], - [ - -90.861115, - -73.326675 - ], - [ - -102.099167, - -73.084732 - ], - [ - -103.176117, - -72.733337 - ], - [ - -103.603348, - -72.891953 - ], - [ - -103.036118, - -73.326401 - ], - [ - -99.175568, - -73.619171 - ], - [ - -103.013344, - -73.629181 - ], - [ - -102.901398, - -73.875839 - ], - [ - -101.65834, - -73.998901 - ], - [ - -101.331947, - -74.48056 - ], - [ - -100.248062, - -74.490845 - ], - [ - -100.515556, - -74.671112 - ], - [ - -100.151123, - -74.760834 - ], - [ - -100.851669, - -74.814728 - ], - [ - -99.510284, - -75.092514 - ], - [ - -110.383057, - -75.306122 - ], - [ - -110.96167, - -75.157791 - ], - [ - -109.928886, - -74.761398 - ], - [ - -110.154715, - -74.28418 - ], - [ - -111.503891, - -74.191681 - ], - [ - -111.385834, - -74.462233 - ], - [ - -111.724457, - -74.587233 - ], - [ - -111.343063, - -74.759445 - ], - [ - -112.654167, - -74.858612 - ], - [ - -113.555557, - -74.634445 - ], - [ - -112.930283, - -74.455002 - ], - [ - -113.433617, - -74.472229 - ], - [ - -113.186401, - -74.1689 - ], - [ - -114.003616, - -73.889175 - ], - [ - -114.810013, - -74.104736 - ], - [ - -114.697777, - -74.469177 - ], - [ - -117.396957, - -74.530838 - ], - [ - -117.743057, - -74.308624 - ], - [ - -118.531677, - -74.613617 - ], - [ - -121.478348, - -74.742508 - ], - [ - -133.262512, - -74.847229 - ], - [ - -134.303894, - -74.532791 - ], - [ - -146.295288, - -76.039734 - ], - [ - -145.479462, - -76.443344 - ], - [ - -146.491669, - -76.367508 - ], - [ - -148.101288, - -76.095657 - ], - [ - -149.506134, - -76.387512 - ], - [ - -146.932251, - -76.45195 - ], - [ - -145.45639, - -76.760284 - ], - [ - -146.102234, - -76.840012 - ], - [ - -145.298889, - -77.029175 - ], - [ - -146.301392, - -76.999176 - ], - [ - -145.842804, - -77.114182 - ], - [ - -146.227509, - -77.165009 - ], - [ - -145.878906, - -77.306395 - ], - [ - -146.268616, - -77.4664 - ], - [ - -147.032227, - -77.22084 - ], - [ - -147.071686, - -77.372787 - ], - [ - -147.493073, - -77.296951 - ], - [ - -147.5914, - -77.422226 - ], - [ - -148.581116, - -77.504456 - ], - [ - -148.585571, - -77.594452 - ], - [ - -148.732788, - -77.625565 - ], - [ - -149.414185, - -77.570847 - ], - [ - -149.08725, - -77.696121 - ], - [ - -149.662231, - -77.761124 - ], - [ - -152.061127, - -77.325287 - ], - [ - -153.106415, - -77.497223 - ], - [ - -153.083618, - -77.286667 - ], - [ - -153.790283, - -77.174728 - ], - [ - -155.861389, - -77.084457 - ], - [ - -156.483337, - -77.358612 - ], - [ - -157.753082, - -77.108063 - ], - [ - -157.69696, - -77.571396 - ], - [ - -158.175842, - -77.859726 - ], - [ - -157.910278, - -78.001953 - ], - [ - -153.750305, - -78.308334 - ], - [ - -155.906403, - -78.719727 - ], - [ - -146.811951, - -79.887512 - ], - [ - -145.52417, - -80.460556 - ], - [ - -148.413361, - -81.357513 - ], - [ - -154.921692, - -81.001953 - ], - [ - -156.960022, - -81.251678 - ], - [ - -154.205017, - -81.552231 - ], - [ - -153.989197, - -81.629181 - ], - [ - -154.891418, - -81.905014 - ], - [ - -151.794189, - -82.577789 - ], - [ - -153.007507, - -83.087509 - ], - [ - -153.05307, - -84.012787 - ], - [ - -149.294739, - -84.561951 - ], - [ - -138.589447, - -84.984726 - ], - [ - -139.661407, - -85.24501 - ], - [ - -148.138336, - -85.090836 - ], - [ - -150.239471, - -85.463623 - ], - [ - -157.483337, - -85.448624 - ], - [ - -180, - -84.305344 - ], - [ - -180, - -90 - ], - [ - 180, - -90 - ], - [ - 180, - -84.302246 - ], - [ - 171.905031, - -83.801697 - ], - [ - 172.318605, - -83.597229 - ], - [ - 169.250826, - -83.330017 - ], - [ - 167.469728, - -83.439178 - ], - [ - 168.692476, - -83.146408 - ], - [ - 163.446138, - -82.26503 - ], - [ - 163.859468, - -82.174179 - ], - [ - 162.27585, - -81.662231 - ], - [ - 160.391115, - -81.521408 - ], - [ - 162.193911, - -81.297806 - ], - [ - 160.626131, - -81.205017 - ], - [ - 160.839449, - -81.078079 - ], - [ - 160.503084, - -80.952789 - ], - [ - 160.843904, - -80.893066 - ], - [ - 160.015566, - -80.780304 - ], - [ - 161.174471, - -80.635559 - ], - [ - 159.75696, - -80.569748 - ], - [ - 160.89197, - -80.377502 - ], - [ - 158.057253, - -80.280563 - ], - [ - 160.524446, - -80.041397 - ], - [ - 159.092806, - -79.971115 - ], - [ - 160.73807, - -79.453079 - ], - [ - 160.04056, - -79.155838 - ], - [ - 160.494173, - -79.020859 - ], - [ - 164.494448, - -78.569748 - ], - [ - 167.269442, - -78.655838 - ], - [ - 165.683596, - -78.391693 - ], - [ - 165.54001, - -78.003357 - ], - [ - 164.206697, - -78.14389 - ], - [ - 164.565004, - -77.736389 - ], - [ - 163.610842, - -77.696121 - ], - [ - 163.896975, - -77.46669 - ], - [ - 163.238344, - -77.041397 - ], - [ - 162.332796, - -76.951416 - ], - [ - 163.069735, - -76.73085 - ], - [ - 162.623629, - -76.619461 - ], - [ - 162.932253, - -76.583084 - ], - [ - 162.875582, - -76.247787 - ], - [ - 162.337801, - -76.167236 - ], - [ - 163.136965, - -75.936676 - ], - [ - 162.539736, - -75.108917 - ], - [ - 163.871675, - -74.953354 - ], - [ - 163.656679, - -74.77446 - ], - [ - 164.142519, - -74.616119 - ], - [ - 165.333315, - -74.672806 - ], - [ - 164.780855, - -74.136963 - ], - [ - 166.129152, - -74.127243 - ], - [ - 165.548586, - -73.93251 - ], - [ - 167.561678, - -73.403351 - ], - [ - 169.079165, - -73.527527 - ], - [ - 169.26642, - -73.083908 - ], - [ - 170.322237, - -72.580307 - ], - [ - 170.304171, - -72.300842 - ], - [ - 169.871645, - -72.379196 - ], - [ - 170.129976, - -72.051407 - ], - [ - 170.994448, - -71.864197 - ], - [ - 170.453035, - -71.351669 - ], - [ - 170.215273, - -71.282791 - ], - [ - 170.272249, - -71.660019 - ], - [ - 167.767519, - -70.780838 - ], - [ - 166.463045, - -70.70195 - ], - [ - 166.771669, - -70.611679 - ], - [ - 163.553896, - -70.465286 - ], - [ - 163.78528, - -70.628067 - ], - [ - 163.520845, - -70.675003 - ], - [ - 162.753908, - -70.280304 - ], - [ - 160.968904, - -70.255569 - ], - [ - 157.236391, - -68.94252 - ], - [ - 156.336123, - -69.24057 - ], - [ - 154.856691, - -69.102524 - ], - [ - 154.286684, - -68.863083 - ], - [ - 154.685854, - -68.615004 - ], - [ - 153.778353, - -68.343628 - ], - [ - 153.768618, - -68.922241 - ], - [ - 151.18503, - -68.980026 - ], - [ - 150.992525, - -68.390854 - ], - [ - 148.813356, - -68.335281 - ], - [ - 148.217226, - -68.127243 - ], - [ - 148.648073, - -67.989197 - ], - [ - 148.029451, - -67.844467 - ], - [ - 146.953341, - -68.141693 - ], - [ - 147.15085, - -67.99086 - ], - [ - 146.642794, - -67.709457 - ], - [ - 145.315004, - -67.613342 - ], - [ - 145.875307, - -67.195862 - ], - [ - 145.404451, - -67.017227 - ], - [ - 144.585573, - -67.245285 - ], - [ - 143.400026, - -66.851135 - ], - [ - 142.566408, - -66.994171 - ], - [ - 134.947786, - -66.093063 - ], - [ - 135.272249, - -65.436401 - ], - [ - 134.437838, - -64.926132 - ], - [ - 134.100618, - -65.123062 - ], - [ - 134.436403, - -66.001419 - ], - [ - 134.245302, - -66.201126 - ], - [ - 130.351992, - -66.225845 - ], - [ - 128.83478, - -67.142517 - ], - [ - 126.928652, - -66.834457 - ], - [ - 126.988359, - -66.453583 - ], - [ - 126.356165, - -66.279724 - ], - [ - 125.19002, - -66.734192 - ], - [ - 122.183359, - -66.547806 - ], - [ - 117.767, - -66.989746 - ], - [ - 116.18004, - -66.366684 - ], - [ - 114.518358, - -66.472778 - ], - [ - 114.431429, - -66.179474 - ], - [ - 113.31534, - -65.713348 - ], - [ - 110.891726, - -66.063629 - ], - [ - 110.629763, - -66.486679 - ], - [ - 108.824221, - -66.831131 - ], - [ - 107.804781, - -66.398361 - ], - [ - 102.626162, - -65.901123 - ], - [ - 100.95392, - -66.080841 - ], - [ - 99.283083, - -66.880844 - ], - [ - 98.261965, - -66.516113 - ], - [ - 97.564455, - -66.74057 - ], - [ - 92.005312, - -66.533905 - ], - [ - 88.967226, - -66.761398 - ], - [ - 88.227236, - -66.036392 - ], - [ - 88.109499, - -66.652527 - ], - [ - 87.50252, - -66.894745 - ], - [ - 85.791689, - -67.17778 - ], - [ - 83.403399, - -67.156677 - ], - [ - 82.665041, - -67.39389 - ], - [ - 82.014482, - -67.251678 - ], - [ - 81.469744, - -67.505295 - ], - [ - 82.057268, - -67.672241 - ], - [ - 78.116411, - -68.459732 - ], - [ - 77.747271, - -69.116974 - ], - [ - 72.90114, - -70.021957 - ], - [ - 72.615618, - -70.203613 - ], - [ - 72.863115, - -70.432785 - ], - [ - 71.504473, - -70.953903 - ], - [ - 71.248125, - -71.38945 - ], - [ - 71.449785, - -71.546112 - ], - [ - 70.864946, - -71.930145 - ], - [ - 68.936419, - -72.425003 - ], - [ - 67.337557, - -72.063339 - ], - [ - 67.90114, - -71.64447 - ], - [ - 67.605303, - -71.583084 - ], - [ - 69.243914, - -70.670578 - ], - [ - 69.144793, - -70.33139 - ], - [ - 68.661699, - -70.367798 - ], - [ - 68.850298, - -70.532242 - ], - [ - 68.59395, - -70.770584 - ], - [ - 67.646135, - -70.386398 - ], - [ - 68.094744, - -69.879471 - ], - [ - 69.205339, - -69.863907 - ], - [ - 69.340044, - -69.638626 - ], - [ - 68.871172, - -69.379471 - ], - [ - 69.74312, - -69.363083 - ], - [ - 69.292009, - -69.102783 - ], - [ - 70.102007, - -68.523895 - ], - [ - 69.644793, - -67.753906 - ], - [ - 59.11062, - -67.412231 - ], - [ - 56.729525, - -66.901123 - ], - [ - 57.311975, - -66.563339 - ], - [ - 55.619234, - -66.006958 - ], - [ - 53.778963, - -65.840027 - ], - [ - 50.413118, - -66.441971 - ], - [ - 50.169771, - -66.743057 - ], - [ - 50.689486, - -67.181395 - ], - [ - 49.151705, - -67.088623 - ], - [ - 49.163973, - -66.862808 - ], - [ - 48.262857, - -67.167526 - ], - [ - 49.167269, - -67.383362 - ], - [ - 48.217012, - -67.634445 - ], - [ - 47.395609, - -67.722519 - ], - [ - 47.009501, - -67.550308 - ], - [ - 47.448954, - -67.417801 - ], - [ - 46.551432, - -67.277252 - ], - [ - 46.246431, - -67.357513 - ], - [ - 46.308931, - -67.641693 - ], - [ - 41.103128, - -68.523895 - ], - [ - 39.760355, - -68.954468 - ], - [ - 39.701761, - -69.648636 - ], - [ - 38.65037, - -69.988632 - ], - [ - 38.564493, - -69.50058 - ], - [ - 38.239237, - -69.992798 - ], - [ - 37.14506, - -69.664749 - ], - [ - 37.850931, - -69.533905 - ], - [ - 37.916178, - -69.251419 - ], - [ - 36.722574, - -69.728073 - ], - [ - 36.126444, - -69.533615 - ], - [ - 36.41453, - -69.314453 - ], - [ - 34.14036, - -68.482788 - ], - [ - 33.424234, - -68.651413 - ], - [ - 33.445047, - -68.957245 - ], - [ - 32.902323, - -69.276947 - ], - [ - 31.083422, - -69.773895 - ], - [ - 23.246756, - -70.546417 - ], - [ - 18.036489, - -69.969177 - ], - [ - 15.705927, - -70.278624 - ], - [ - 14.165644, - -70.158905 - ], - [ - 12.740351, - -70.281128 - ], - [ - 12.046747, - -70.717514 - ], - [ - 11.270624, - -70.710281 - ], - [ - 8.682856, - -70.074463 - ], - [ - 9.090387, - -70.318344 - ], - [ - 8.480646, - -70.477249 - ], - [ - 7.55731, - -70.16835 - ], - [ - 6.699522, - -70.586395 - ], - [ - 2.80316, - -70.846954 - ], - [ - -0.297499, - -71.65889 - ], - [ - -0.923056, - -71.589172 - ], - [ - -0.777222, - -71.389175 - ], - [ - -1.053333, - -71.276672 - ], - [ - -2.093889, - -71.486115 - ], - [ - -2.261667, - -71.170837 - ], - [ - -6.009167, - -71.4189 - ], - [ - -6.103889, - -71.144455 - ], - [ - -5.441111, - -70.882507 - ], - [ - -6.021111, - -70.699722 - ], - [ - -7.723333, - -71.429169 - ], - [ - -7.337778, - -71.691956 - ], - [ - -8.366945, - -71.825836 - ], - [ - -8.930834, - -71.233612 - ], - [ - -9.878714, - -70.90097 - ], - [ - -10.43, - -70.986954 - ], - [ - -10.048613, - -71.111389 - ], - [ - -11.019445, - -71.657227 - ], - [ - -11.592779, - -71.561951 - ], - [ - -11.556507, - -71.278824 - ], - [ - -12.276945, - -71.377502 - ], - [ - -11.325834, - -71.965012 - ], - [ - -11.657778, - -72.32695 - ], - [ - -13.406113, - -72.823059 - ], - [ - -14.469168, - -72.796677 - ], - [ - -13.731112, - -73.020844 - ], - [ - -16.023613, - -73.320282 - ], - [ - -16.898891, - -73.773056 - ], - [ - -16.069168, - -73.747513 - ], - [ - -16.91917, - -73.97612 - ], - [ - -16.326115, - -74.063904 - ], - [ - -13.704723, - -73.941956 - ], - [ - -17.147224, - -74.784729 - ], - [ - -18.25639, - -75.495834 - ], - [ - -17.758057, - -75.729736 - ], - [ - -28.305279, - -76.565292 - ], - [ - -33.886116, - -77.660568 - ], - [ - -36.30278, - -78.779175 - ], - [ - -33.001114, - -79.453903 - ], - [ - -27.085556, - -79.013336 - ], - [ - -30.210556, - -79.666672 - ], - [ - -28.0625, - -80.00473 - ], - [ - -28.319447, - -80.276947 - ], - [ - -41.488892, - -81.383347 - ], - [ - -43.08445, - -81.851395 - ], - [ - -53.725838, - -82.150284 - ], - [ - -58.210838, - -83.03334 - ], - [ - -59.079727, - -82.965836 - ], - [ - -58.783058, - -82.645004 - ], - [ - -59.648056, - -82.433899 - ], - [ - -74.693893, - -80.697235 - ], - [ - -76.089447, - -80.197235 - ], - [ - -79.849457, - -79.954453 - ], - [ - -77.321945, - -80.011398 - ], - [ - -76.083618, - -79.645844 - ], - [ - -77.029449, - -79.279449 - ], - [ - -80.202789, - -79.228897 - ], - [ - -80.635559, - -79.619171 - ], - [ - -84.107788, - -78.36084 - ], - [ - -78.957504, - -78.813339 - ], - [ - -77.487503, - -78.526672 - ], - [ - -81.470001, - -77.897232 - ], - [ - -80.60556, - -77.886398 - ], - [ - -81.496948, - -77.657791 - ], - [ - -74.853348, - -78.141113 - ], - [ - -72.839737, - -77.640015 - ], - [ - -75.632782, - -77.508621 - ], - [ - -78.476669, - -76.407227 - ], - [ - -77.771666, - -75.9189 - ], - [ - -76.380569, - -76.065002 - ], - [ - -75.444458, - -76.546402 - ], - [ - -70.476395, - -76.707779 - ], - [ - -69.385284, - -76.296112 - ], - [ - -63.429169, - -75.450562 - ], - [ - -63.094727, - -75.325562 - ], - [ - -64.447784, - -75.297791 - ], - [ - -63.09584, - -75.130844 - ], - [ - -63.989449, - -75.008057 - ], - [ - -63.051392, - -74.895279 - ], - [ - -63.245834, - -74.604172 - ], - [ - -62.531395, - -74.982513 - ], - [ - -61.887505, - -74.83223 - ], - [ - -61.75528, - -74.306395 - ], - [ - -61.036392, - -74.098343 - ], - [ - -61.762505, - -73.913895 - ], - [ - -60.587784, - -73.706116 - ], - [ - -61.609169, - -73.546112 - ], - [ - -61.83667, - -73.366394 - ], - [ - -61.436394, - -73.343613 - ], - [ - -61.919449, - -73.143066 - ], - [ - -60.599724, - -73.360291 - ], - [ - -59.849449, - -73.233063 - ], - [ - -59.77417, - -72.900284 - ], - [ - -60.617226, - -73.028624 - ], - [ - -60.616112, - -72.643341 - ], - [ - -61.270836, - -72.700287 - ], - [ - -61.549728, - -72.422791 - ], - [ - -60.852501, - -72.388901 - ], - [ - -61.074722, - -72.16362 - ], - [ - -60.865837, - -72.003067 - ], - [ - -62.552504, - -72.047501 - ], - [ - -60.904167, - -71.736389 - ], - [ - -61.929726, - -71.656403 - ], - [ - -60.942505, - -71.15834 - ], - [ - -61.38028, - -70.815292 - ], - [ - -62.128891, - -70.86557 - ], - [ - -61.484451, - -70.520279 - ], - [ - -62.490837, - -70.380569 - ], - [ - -61.940834, - -70.229172 - ], - [ - -62.635002, - -69.853348 - ], - [ - -62.475838, - -69.453064 - ], - [ - -63.638893, - -69.227234 - ], - [ - -63.368057, - -69.050003 - ], - [ - -63.706673, - -68.742508 - ], - [ - -63.210556, - -68.786957 - ], - [ - -63.974167, - -68.536392 - ], - [ - -62.72834, - -68.410004 - ], - [ - -64.390015, - -68.513336 - ], - [ - -63.85778, - -68.842789 - ], - [ - -65.313339, - -68.711395 - ], - [ - -65.091675, - -68.441956 - ], - [ - -65.59668, - -68.347504 - ], - [ - -64.768341, - -68.122787 - ], - [ - -65.723618, - -68.148056 - ], - [ - -65.329178, - -67.974731 - ], - [ - -65.617783, - -67.880005 - ], - [ - -65.290283, - -67.67334 - ], - [ - -65.613892, - -67.559174 - ], - [ - -64.770569, - -67.31723 - ], - [ - -64.837784, - -66.951401 - ], - [ - -63.743614, - -66.891678 - ], - [ - -64.196671, - -66.720291 - ], - [ - -63.67556, - -66.218338 - ], - [ - -62.608894, - -66.728348 - ], - [ - -62.443611, - -66.430283 - ], - [ - -62.885284, - -66.262787 - ], - [ - -62.181395, - -66.180283 - ], - [ - -61.71389, - -66.469177 - ], - [ - -61.416672, - -66.12529 - ], - [ - -60.936951, - -66.26001 - ], - [ - -60.557503, - -65.945282 - ], - [ - -61.87278, - -66.171951 - ], - [ - -62.459724, - -65.904724 - ], - [ - -61.68306, - -65.53862 - ], - [ - -62.089729, - -65.440292 - ], - [ - -61.95945, - -65.180283 - ], - [ - -59.918892, - -64.412231 - ], - [ - -59.50528, - -64.537231 - ], - [ - -59.493057, - -64.316116 - ], - [ - -58.778641, - -64.535812 - ], - [ - -58.600838, - -63.948891 - ], - [ - -57.380005, - -63.460556 - ], - [ - -56.72139, - -63.594727 - ], - [ - -56.946396, - -63.450562 - ] - ] - ], - [ - [ - [ - -55.470001, - -63.143333 - ], - [ - -56.543335, - -63.364449 - ], - [ - -55.002785, - -63.28389 - ], - [ - -55.470001, - -63.143333 - ] - ] - ], - [ - [ - [ - -56.265007, - -63.169449 - ], - [ - -55.97084, - -63.054451 - ], - [ - -56.584724, - -63.035004 - ], - [ - -56.265007, - -63.169449 - ] - ] - ], - [ - [ - [ - -60.47184, - -62.900898 - ], - [ - -60.742481, - -62.973991 - ], - [ - -60.580002, - -63.008057 - ], - [ - -60.47184, - -62.900898 - ] - ] - ], - [ - [ - [ - -62.691391, - -63.095001 - ], - [ - -62.260559, - -62.881668 - ], - [ - -62.489449, - -62.921112 - ], - [ - -62.691391, - -63.095001 - ] - ] - ], - [ - [ - [ - -61.358612, - -62.813614 - ], - [ - -61.150558, - -62.708618 - ], - [ - -61.479172, - -62.753891 - ], - [ - -61.358612, - -62.813614 - ] - ] - ], - [ - [ - [ - -60.51667, - -62.553894 - ], - [ - -61.172501, - -62.575005 - ], - [ - -59.816948, - -62.614174 - ], - [ - -60.51667, - -62.553894 - ] - ] - ], - [ - [ - [ - -59.665558, - -62.556946 - ], - [ - -59.542229, - -62.498611 - ], - [ - -59.979172, - -62.450836 - ], - [ - -59.665558, - -62.556946 - ] - ] - ], - [ - [ - [ - -59.439171, - -62.447226 - ], - [ - -59.327507, - -62.371391 - ], - [ - -59.678337, - -62.363892 - ], - [ - -59.439171, - -62.447226 - ] - ] - ], - [ - [ - [ - -58.9925, - -62.347778 - ], - [ - -58.816391, - -62.298058 - ], - [ - -59.208893, - -62.285561 - ], - [ - -58.9925, - -62.347778 - ] - ] - ], - [ - [ - [ - -57.621948, - -61.909729 - ], - [ - -58.400284, - -61.938614 - ], - [ - -58.986389, - -62.214447 - ], - [ - -57.621948, - -61.909729 - ] - ] - ], - [ - [ - [ - -55.092224, - -61.098061 - ], - [ - -55.494446, - -61.126671 - ], - [ - -54.646393, - -61.092781 - ], - [ - -55.092224, - -61.098061 - ] - ] - ], - [ - [ - [ - -54.046951, - -61.269447 - ], - [ - -54.032227, - -61.088058 - ], - [ - -54.200562, - -61.236115 - ], - [ - -54.046951, - -61.269447 - ] - ] - ], - [ - [ - [ - -44.428062, - -60.723335 - ], - [ - -44.531395, - -60.67556 - ], - [ - -44.784729, - -60.734451 - ], - [ - -44.428062, - -60.723335 - ] - ] - ], - [ - [ - [ - -45.00528, - -60.725281 - ], - [ - -45.025841, - -60.641945 - ], - [ - -45.071114, - -60.631111 - ], - [ - -45.00528, - -60.725281 - ] - ] - ], - [ - [ - [ - -45.550835, - -60.547226 - ], - [ - -46.023613, - -60.61084 - ], - [ - -45.145279, - -60.766113 - ], - [ - -45.550835, - -60.547226 - ] - ] - ] - ] - }, - "name" : "Antarctica", - "iso2" : "AQ", - "iso3" : "ATA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "1L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 3.361389, - -54.462784 - ], - [ - 3.483611, - -54.402229 - ], - [ - 3.366944, - -54.399727 - ], - [ - 3.361389, - -54.462784 - ] - ] - ] - }, - "name" : "Bouvet Island", - "iso2" : "BV", - "iso3" : "BVT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "1b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 69.812777, - -49.678062 - ], - [ - 69.795, - -49.647224 - ], - [ - 69.761934, - -49.65889 - ], - [ - 69.812777, - -49.678062 - ] - ] - ], - [ - [ - [ - 68.789156, - -49.361671 - ], - [ - 68.801668, - -49.328339 - ], - [ - 68.644442, - -49.343613 - ], - [ - 68.789156, - -49.361671 - ] - ] - ], - [ - [ - [ - 69.606661, - -49.207779 - ], - [ - 69.678331, - -49.153061 - ], - [ - 69.533052, - -49.196671 - ], - [ - 69.606661, - -49.207779 - ] - ] - ], - [ - [ - [ - 69.264711, - -49.091118 - ], - [ - 69.368883, - -48.886391 - ], - [ - 69.216387, - -48.967224 - ], - [ - 69.264711, - -49.091118 - ] - ] - ], - [ - [ - [ - 69.152224, - -48.98806 - ], - [ - 69.242495, - -48.892502 - ], - [ - 69.222216, - -48.856117 - ], - [ - 69.152224, - -48.98806 - ] - ] - ], - [ - [ - [ - 69.491106, - -48.882782 - ], - [ - 69.517214, - -48.860283 - ], - [ - 69.401934, - -48.83445 - ], - [ - 69.491106, - -48.882782 - ] - ] - ], - [ - [ - [ - 69.001101, - -48.797501 - ], - [ - 68.797777, - -49.721947 - ], - [ - 69.643328, - -49.501396 - ], - [ - 70.253603, - -49.691116 - ], - [ - 69.774721, - -49.394173 - ], - [ - 70.566668, - -49.245003 - ], - [ - 70.323885, - -49.050835 - ], - [ - 69.582766, - -49.304451 - ], - [ - 69.282488, - -49.186394 - ], - [ - 69.621935, - -48.978058 - ], - [ - 69.217211, - -49.125557 - ], - [ - 69.103884, - -48.995834 - ], - [ - 69.063051, - -49.119728 - ], - [ - 69.001101, - -48.797501 - ] - ], - [ - [ - 69.904436, - -49.477226 - ], - [ - 69.84305, - -49.45945 - ], - [ - 69.825274, - -49.425835 - ], - [ - 69.904436, - -49.477226 - ] - ], - [ - [ - 70.011934, - -49.571945 - ], - [ - 69.835543, - -49.508057 - ], - [ - 69.921099, - -49.513062 - ], - [ - 70.011934, - -49.571945 - ] - ] - ], - [ - [ - [ - 68.675554, - -48.64389 - ], - [ - 68.668612, - -48.628059 - ], - [ - 68.606112, - -48.639725 - ], - [ - 68.675554, - -48.64389 - ] - ] - ], - [ - [ - [ - 68.797777, - -48.615004 - ], - [ - 68.824709, - -48.570557 - ], - [ - 68.787218, - -48.577225 - ], - [ - 68.797777, - -48.615004 - ] - ] - ], - [ - [ - [ - 52.254442, - -46.457504 - ], - [ - 52.257219, - -46.378059 - ], - [ - 52.088335, - -46.411118 - ], - [ - 52.254442, - -46.457504 - ] - ] - ], - [ - [ - [ - 51.819445, - -46.453613 - ], - [ - 51.780001, - -46.341118 - ], - [ - 51.651941, - -46.374168 - ], - [ - 51.819445, - -46.453613 - ] - ] - ], - [ - [ - [ - 50.272219, - -46.131393 - ], - [ - 50.27389, - -46.050835 - ], - [ - 50.176943, - -46.0625 - ], - [ - 50.272219, - -46.131393 - ] - ] - ], - [ - [ - [ - 77.529436, - -38.737785 - ], - [ - 77.506105, - -38.703896 - ], - [ - 77.499712, - -38.731117 - ], - [ - 77.529436, - -38.737785 - ] - ] - ], - [ - [ - [ - 77.554155, - -37.902779 - ], - [ - 77.554445, - -37.822502 - ], - [ - 77.483889, - -37.835281 - ], - [ - 77.554155, - -37.902779 - ] - ] - ], - [ - [ - [ - 42.757776, - -17.075001 - ], - [ - 42.756945, - -17.059723 - ], - [ - 42.721109, - -17.055557 - ], - [ - 42.757776, - -17.075001 - ] - ] - ] - ] - }, - "name" : "French Southern and Antarctic Lands", - "iso2" : "TF", - "iso3" : "ATF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "1r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 73.77388, - -53.125031 - ], - [ - 73.234436, - -52.987785 - ], - [ - 73.474442, - -53.194168 - ], - [ - 73.77388, - -53.125031 - ] - ] - ] - }, - "name" : "Heard Island and McDonald Islands", - "iso2" : "HM", - "iso3" : "HMD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "171E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 72.487198, - -7.381944 - ], - [ - 72.448868, - -7.234445 - ], - [ - 72.359146, - -7.265278 - ], - [ - 72.487198, - -7.381944 - ] - ] - ], - [ - [ - [ - 71.348328, - -6.658889 - ], - [ - 71.365265, - -6.651667 - ], - [ - 71.343323, - -6.656667 - ], - [ - 71.348328, - -6.658889 - ] - ] - ], - [ - [ - [ - 71.266388, - -6.391945 - ], - [ - 71.266098, - -6.366666 - ], - [ - 71.258606, - -6.382222 - ], - [ - 71.266388, - -6.391945 - ] - ] - ], - [ - [ - [ - 71.347763, - -6.206944 - ], - [ - 71.360809, - -6.174167 - ], - [ - 71.338593, - -6.195833 - ], - [ - 71.347763, - -6.206944 - ] - ] - ], - [ - [ - [ - 71.782486, - -5.440277 - ], - [ - 71.766388, - -5.429722 - ], - [ - 71.759995, - -5.431389 - ], - [ - 71.782486, - -5.440277 - ] - ] - ], - [ - [ - [ - 72.216385, - -5.362222 - ], - [ - 72.208603, - -5.348056 - ], - [ - 72.207764, - -5.354445 - ], - [ - 72.216385, - -5.362222 - ] - ] - ], - [ - [ - [ - 72.232483, - -5.319722 - ], - [ - 72.228043, - -5.315833 - ], - [ - 72.2211, - -5.335556 - ], - [ - 72.232483, - -5.319722 - ] - ] - ], - [ - [ - [ - 71.742203, - -5.291111 - ], - [ - 71.748596, - -5.265556 - ], - [ - 71.74054, - -5.271111 - ], - [ - 71.742203, - -5.291111 - ] - ] - ], - [ - [ - [ - 71.869431, - -5.257778 - ], - [ - 71.882202, - -5.256111 - ], - [ - 71.870255, - -5.249722 - ], - [ - 71.869431, - -5.257778 - ] - ] - ] - ] - }, - "name" : "British Indian Ocean Territory", - "iso2" : "IO", - "iso3" : "IOT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "2L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 105.701401, - -10.51097 - ], - [ - 105.736603, - -10.38408 - ], - [ - 105.628998, - -10.43731 - ], - [ - 105.701401, - -10.51097 - ] - ] - ] - }, - "name" : "Christmas Island", - "iso2" : "CX", - "iso3" : "CXR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "2b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -160.021149, - -0.398056 - ], - [ - -160.017792, - -0.374722 - ], - [ - -160.048615, - -0.383611 - ], - [ - -160.021149, - -0.398056 - ] - ] - ], - [ - [ - [ - -176.456146, - 0.215833 - ], - [ - -176.453918, - 0.226111 - ], - [ - -176.468323, - 0.222222 - ], - [ - -176.456146, - 0.215833 - ] - ] - ], - [ - [ - [ - -176.632202, - 0.793055 - ], - [ - -176.643097, - 0.812778 - ], - [ - -176.64447, - 0.795555 - ], - [ - -176.632202, - 0.793055 - ] - ] - ], - [ - [ - [ - -169.522522, - 16.728882 - ], - [ - -169.531708, - 16.732491 - ], - [ - -169.543884, - 16.726379 - ], - [ - -169.522522, - 16.728882 - ] - ] - ], - [ - [ - [ - 166.646362, - 19.279442 - ], - [ - 166.627594, - 19.324577 - ], - [ - 166.607452, - 19.304996 - ], - [ - 166.646362, - 19.279442 - ] - ] - ], - [ - [ - [ - -177.334442, - 28.194157 - ], - [ - -177.317505, - 28.200829 - ], - [ - -177.321686, - 28.213608 - ], - [ - -177.334442, - 28.194157 - ] - ] - ], - [ - [ - [ - -177.388062, - 28.186378 - ], - [ - -177.358032, - 28.219162 - ], - [ - -177.389771, - 28.212769 - ], - [ - -177.388062, - 28.186378 - ] - ] - ] - ] - }, - "name" : "United States Minor Outlying Islands", - "iso2" : "UM", - "iso3" : "UMI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "2r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 169.846069, - -20.252224 - ], - [ - 169.886658, - -20.170555 - ], - [ - 169.745514, - -20.149445 - ], - [ - 169.846069, - -20.252224 - ] - ] - ], - [ - [ - [ - 170.217468, - -19.559444 - ], - [ - 170.232452, - -19.52417 - ], - [ - 170.205231, - -19.525002 - ], - [ - 170.217468, - -19.559444 - ] - ] - ], - [ - [ - [ - 169.498291, - -19.545002 - ], - [ - 169.232452, - -19.350277 - ], - [ - 169.349701, - -19.636944 - ], - [ - 169.498291, - -19.545002 - ] - ] - ], - [ - [ - [ - 169.594971, - -19.273613 - ], - [ - 169.594971, - -19.231388 - ], - [ - 169.578583, - -19.262501 - ], - [ - 169.594971, - -19.273613 - ] - ] - ], - [ - [ - [ - 169.305237, - -18.978886 - ], - [ - 169.018585, - -18.639999 - ], - [ - 168.989136, - -18.880833 - ], - [ - 169.305237, - -18.978886 - ] - ] - ], - [ - [ - [ - 168.574677, - -17.692776 - ], - [ - 168.311096, - -17.531391 - ], - [ - 168.148041, - -17.719719 - ], - [ - 168.574677, - -17.692776 - ] - ] - ], - [ - [ - [ - 168.399139, - -16.78278 - ], - [ - 168.148315, - -16.580555 - ], - [ - 168.168579, - -16.805279 - ], - [ - 168.399139, - -16.78278 - ] - ] - ], - [ - [ - [ - 168.231079, - -16.516113 - ], - [ - 168.242462, - -16.429165 - ], - [ - 168.201355, - -16.500557 - ], - [ - 168.231079, - -16.516113 - ] - ] - ], - [ - [ - [ - 168.21524, - -16.174168 - ], - [ - 167.917755, - -16.260281 - ], - [ - 168.304138, - -16.339443 - ], - [ - 168.21524, - -16.174168 - ] - ] - ], - [ - [ - [ - 167.416656, - -16.110001 - ], - [ - 167.177765, - -15.899168 - ], - [ - 167.41748, - -16.532223 - ], - [ - 167.772491, - -16.535 - ], - [ - 167.416656, - -16.110001 - ] - ] - ], - [ - [ - [ - 167.209137, - -15.755556 - ], - [ - 167.227173, - -15.637779 - ], - [ - 167.077454, - -15.640278 - ], - [ - 167.209137, - -15.755556 - ] - ] - ], - [ - [ - [ - 167.258606, - -15.588055 - ], - [ - 167.276917, - -15.546112 - ], - [ - 167.239136, - -15.574444 - ], - [ - 167.258606, - -15.588055 - ] - ] - ], - [ - [ - [ - 167.202454, - -15.60861 - ], - [ - 167.21051, - -15.580278 - ], - [ - 167.190521, - -15.529167 - ], - [ - 167.16275, - -15.535833 - ], - [ - 167.110229, - -15.59 - ], - [ - 167.202454, - -15.60861 - ] - ] - ], - [ - [ - [ - 168.210785, - -15.998055 - ], - [ - 168.266663, - -15.870832 - ], - [ - 168.15332, - -15.492222 - ], - [ - 168.210785, - -15.998055 - ] - ] - ], - [ - [ - [ - 167.855804, - -15.485832 - ], - [ - 168.002197, - -15.290001 - ], - [ - 167.668304, - -15.446945 - ], - [ - 167.855804, - -15.485832 - ] - ] - ], - [ - [ - [ - 167.175262, - -15.266666 - ], - [ - 167.179413, - -15.256668 - ], - [ - 167.163605, - -15.254168 - ], - [ - 167.175262, - -15.266666 - ] - ] - ], - [ - [ - [ - 167.14444, - -14.971388 - ], - [ - 167.151093, - -14.957777 - ], - [ - 167.096344, - -14.932501 - ], - [ - 167.14444, - -14.971388 - ] - ] - ], - [ - [ - [ - 168.169128, - -15.395834 - ], - [ - 168.190247, - -15.214722 - ], - [ - 168.105804, - -14.92 - ], - [ - 168.169128, - -15.395834 - ] - ] - ], - [ - [ - [ - 166.802765, - -15.157501 - ], - [ - 166.592743, - -14.624443 - ], - [ - 166.761932, - -15.642778 - ], - [ - 166.814697, - -15.663055 - ], - [ - 166.902771, - -15.582777 - ], - [ - 167.071625, - -15.598055 - ], - [ - 167.151154, - -15.520343 - ], - [ - 167.237717, - -15.524258 - ], - [ - 167.058868, - -14.945 - ], - [ - 166.802765, - -15.157501 - ] - ] - ], - [ - [ - [ - 167.527466, - -14.326666 - ], - [ - 167.588287, - -14.172777 - ], - [ - 167.413605, - -14.178888 - ], - [ - 167.527466, - -14.326666 - ] - ] - ], - [ - [ - [ - 167.479126, - -13.948334 - ], - [ - 167.577759, - -13.847221 - ], - [ - 167.476624, - -13.706667 - ], - [ - 167.479126, - -13.948334 - ] - ] - ], - [ - [ - [ - 167.705536, - -13.675001 - ], - [ - 167.687744, - -13.621666 - ], - [ - 167.623566, - -13.691944 - ], - [ - 167.705536, - -13.675001 - ] - ] - ], - [ - [ - [ - 167.347198, - -13.56139 - ], - [ - 167.322205, - -13.486944 - ], - [ - 167.293304, - -13.52639 - ], - [ - 167.347198, - -13.56139 - ] - ] - ], - [ - [ - [ - 166.67746, - -13.452499 - ], - [ - 166.694122, - -13.415834 - ], - [ - 166.650818, - -13.409723 - ], - [ - 166.67746, - -13.452499 - ] - ] - ], - [ - [ - [ - 166.631622, - -13.381388 - ], - [ - 166.641357, - -13.356943 - ], - [ - 166.596069, - -13.334166 - ], - [ - 166.631622, - -13.381388 - ] - ] - ], - [ - [ - [ - 166.620239, - -13.271389 - ], - [ - 166.638306, - -13.221666 - ], - [ - 166.587463, - -13.223055 - ], - [ - 166.620239, - -13.271389 - ] - ] - ], - [ - [ - [ - 166.559692, - -13.186388 - ], - [ - 166.564972, - -13.091944 - ], - [ - 166.521362, - -13.070555 - ], - [ - 166.559692, - -13.186388 - ] - ] - ] - ] - }, - "name" : "Vanuatu", - "iso2" : "VU", - "iso3" : "VUT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "271E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 7.466389, - 4.445277 - ], - [ - 7.411944, - 4.488055 - ], - [ - 7.335833, - 4.443055 - ], - [ - 7.466389, - 4.445277 - ] - ] - ], - [ - [ - [ - 7.20361, - 4.380555 - ], - [ - 7.316667, - 4.4725 - ], - [ - 7.22611, - 4.52 - ], - [ - 7.20361, - 4.380555 - ] - ] - ], - [ - [ - [ - 13.62512, - 13.718338 - ], - [ - 12.459166, - 13.066111 - ], - [ - 10.724165, - 13.386389 - ], - [ - 9.634932, - 12.802435 - ], - [ - 7.815, - 13.352777 - ], - [ - 6.933332, - 12.997221 - ], - [ - 6.423055, - 13.605276 - ], - [ - 5.874722, - 13.749443 - ], - [ - 4.1425, - 13.476944 - ], - [ - 3.604459, - 11.693274 - ], - [ - 3.855, - 10.584999 - ], - [ - 3.095, - 9.090555 - ], - [ - 2.789444, - 9.043888 - ], - [ - 2.719606, - 6.365505 - ], - [ - 3.807222, - 6.612778 - ], - [ - 3.388611, - 6.443333 - ], - [ - 4.525833, - 6.304999 - ], - [ - 5.175278, - 5.575555 - ], - [ - 5.501111, - 5.620555 - ], - [ - 5.257222, - 5.435555 - ], - [ - 5.639722, - 5.536111 - ], - [ - 5.345277, - 5.33 - ], - [ - 5.451944, - 4.923055 - ], - [ - 6.104166, - 4.272778 - ], - [ - 6.694166, - 4.33 - ], - [ - 6.727221, - 4.605 - ], - [ - 6.848611, - 4.348332 - ], - [ - 6.768055, - 4.774722 - ], - [ - 7.005555, - 4.369444 - ], - [ - 6.962222, - 4.725277 - ], - [ - 7.073055, - 4.434722 - ], - [ - 7.071666, - 4.753888 - ], - [ - 7.676944, - 4.496388 - ], - [ - 8.591738, - 4.810932 - ], - [ - 8.865276, - 5.841944 - ], - [ - 9.795555, - 6.801666 - ], - [ - 10.615, - 7.06861 - ], - [ - 11.340277, - 6.440833 - ], - [ - 11.864166, - 7.084722 - ], - [ - 12.253887, - 8.408054 - ], - [ - 12.796944, - 8.769722 - ], - [ - 13.80722, - 11.055832 - ], - [ - 14.646387, - 11.575832 - ], - [ - 14.645277, - 12.188332 - ], - [ - 14.174444, - 12.396666 - ], - [ - 14.07472, - 13.081665 - ], - [ - 13.62512, - 13.718338 - ] - ] - ] - ] - }, - "name" : "Nigeria", - "iso2" : "NG", - "iso3" : "NGA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "3L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 3.764166, - 51.345278 - ], - [ - 4.238897, - 51.350428 - ], - [ - 3.370867, - 51.373857 - ], - [ - 3.764166, - 51.345278 - ] - ] - ], - [ - [ - [ - 5.763887, - 52.415277 - ], - [ - 5.855558, - 52.492495 - ], - [ - 5.855558, - 52.544168 - ], - [ - 5.643614, - 52.601107 - ], - [ - 5.135557, - 52.380274 - ], - [ - 5.428614, - 52.264162 - ], - [ - 5.534166, - 52.283335 - ], - [ - 5.573057, - 52.368052 - ], - [ - 5.763887, - 52.415277 - ] - ] - ], - [ - [ - [ - 5.423334, - 52.636385 - ], - [ - 5.039495, - 52.633654 - ], - [ - 5.051794, - 52.394117 - ], - [ - 5.423334, - 52.636385 - ] - ] - ], - [ - [ - [ - 4.764723, - 52.990274 - ], - [ - 4.883333, - 53.184168 - ], - [ - 4.713888, - 53.056108 - ], - [ - 4.764723, - 52.990274 - ] - ] - ], - [ - [ - [ - 4.957224, - 53.23778 - ], - [ - 5.10639, - 53.303331 - ], - [ - 4.879999, - 53.214441 - ], - [ - 4.957224, - 53.23778 - ] - ] - ], - [ - [ - [ - 7.208364, - 53.242807 - ], - [ - 6.871668, - 53.416109 - ], - [ - 4.734167, - 52.955553 - ], - [ - 4.58, - 52.471666 - ], - [ - 5.028334, - 52.375834 - ], - [ - 5.033335, - 52.634165 - ], - [ - 5.304167, - 52.706942 - ], - [ - 5.100279, - 52.948053 - ], - [ - 5.364168, - 53.070276 - ], - [ - 5.420557, - 52.964441 - ], - [ - 5.368612, - 52.877779 - ], - [ - 5.718351, - 52.838022 - ], - [ - 5.599169, - 52.757776 - ], - [ - 5.599443, - 52.658609 - ], - [ - 5.855001, - 52.606913 - ], - [ - 5.878057, - 52.509439 - ], - [ - 5.774168, - 52.405275 - ], - [ - 5.624723, - 52.354166 - ], - [ - 5.533609, - 52.267221 - ], - [ - 5.424444, - 52.248606 - ], - [ - 4.584433, - 52.461504 - ], - [ - 3.865557, - 51.814997 - ], - [ - 4.167753, - 51.685572 - ], - [ - 3.687502, - 51.709719 - ], - [ - 4.286112, - 51.44861 - ], - [ - 3.440832, - 51.53583 - ], - [ - 4.252371, - 51.375147 - ], - [ - 5.041391, - 51.486666 - ], - [ - 5.849173, - 51.156382 - ], - [ - 5.640833, - 50.839724 - ], - [ - 6.011801, - 50.757273 - ], - [ - 5.864721, - 51.046106 - ], - [ - 6.222223, - 51.46583 - ], - [ - 5.9625, - 51.807779 - ], - [ - 6.82889, - 51.965555 - ], - [ - 7.065557, - 52.385828 - ], - [ - 6.68889, - 52.549166 - ], - [ - 7.051668, - 52.64361 - ], - [ - 7.208364, - 53.242807 - ] - ] - ], - [ - [ - [ - 5.213057, - 53.35 - ], - [ - 5.581945, - 53.447779 - ], - [ - 5.16889, - 53.373888 - ], - [ - 5.213057, - 53.35 - ] - ] - ], - [ - [ - [ - 5.699167, - 53.462778 - ], - [ - 5.633055, - 53.441668 - ], - [ - 5.956114, - 53.462778 - ], - [ - 5.699167, - 53.462778 - ] - ] - ], - [ - [ - [ - 6.135, - 53.453608 - ], - [ - 6.341112, - 53.502779 - ], - [ - 6.14889, - 53.497499 - ], - [ - 6.135, - 53.453608 - ] - ] - ] - ] - }, - "name" : "Netherlands", - "iso2" : "NL", - "iso3" : "NLD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "3b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 5.336946, - 61.592775 - ], - [ - 5.148611, - 61.59305 - ], - [ - 5.27389, - 61.557775 - ], - [ - 5.130835, - 61.526667 - ], - [ - 5.804998, - 61.452776 - ], - [ - 4.948889, - 61.412775 - ], - [ - 5.634169, - 61.360552 - ], - [ - 4.953333, - 61.258608 - ], - [ - 5.397223, - 61.068605 - ], - [ - 5.749166, - 61.152773 - ], - [ - 6.498335, - 61.130274 - ], - [ - 6.520407, - 61.246202 - ], - [ - 6.703611, - 61.401384 - ], - [ - 6.564165, - 61.218332 - ], - [ - 6.955557, - 61.109995 - ], - [ - 7.278055, - 61.158609 - ], - [ - 7.353891, - 61.189997 - ], - [ - 7.273054, - 61.278887 - ], - [ - 7.309168, - 61.362497 - ], - [ - 7.574446, - 61.479441 - ], - [ - 7.303888, - 61.294443 - ], - [ - 7.428614, - 61.181391 - ], - [ - 7.000834, - 61.096109 - ], - [ - 7.11389, - 60.860277 - ], - [ - 6.590555, - 61.151384 - ], - [ - 6.372225, - 61.061945 - ], - [ - 5.920835, - 61.123056 - ], - [ - 5.419443, - 61.025553 - ], - [ - 5.007776, - 61.037218 - ], - [ - 5.533609, - 60.872499 - ], - [ - 5.236387, - 60.77389 - ], - [ - 5.433611, - 60.627222 - ], - [ - 4.928888, - 60.798883 - ], - [ - 5.261389, - 60.553057 - ], - [ - 5.700834, - 60.694162 - ], - [ - 5.702501, - 60.454439 - ], - [ - 5.142221, - 60.346384 - ], - [ - 5.411112, - 60.129717 - ], - [ - 5.734446, - 60.386942 - ], - [ - 5.747225, - 59.986666 - ], - [ - 6.220835, - 60.4125 - ], - [ - 7.108057, - 60.494165 - ], - [ - 6.521112, - 60.076662 - ], - [ - 6.640554, - 60.410273 - ], - [ - 6.204721, - 60.295557 - ], - [ - 5.698336, - 59.832773 - ], - [ - 6.306391, - 59.843332 - ], - [ - 5.178057, - 59.508333 - ], - [ - 5.51111, - 59.274996 - ], - [ - 6.468889, - 59.555277 - ], - [ - 5.866388, - 59.072222 - ], - [ - 6.623335, - 59.051668 - ], - [ - 6.168612, - 58.832224 - ], - [ - 5.552778, - 59.032778 - ], - [ - 5.457777, - 58.74444 - ], - [ - 6.767221, - 58.238329 - ], - [ - 6.597776, - 58.070276 - ], - [ - 8.211111, - 58.115557 - ], - [ - 8.248056, - 58.201944 - ], - [ - 8.510279, - 58.270273 - ], - [ - 8.691946, - 58.377222 - ], - [ - 8.712645, - 58.441938 - ], - [ - 8.995832, - 58.59833 - ], - [ - 9.191111, - 58.658335 - ], - [ - 9.409445, - 58.841387 - ], - [ - 9.693056, - 58.983057 - ], - [ - 9.540834, - 59.114717 - ], - [ - 10.231112, - 59.038607 - ], - [ - 10.51639, - 59.310831 - ], - [ - 10.222223, - 59.727495 - ], - [ - 10.558054, - 59.543055 - ], - [ - 10.527498, - 59.875277 - ], - [ - 10.748335, - 59.886942 - ], - [ - 10.557779, - 59.728609 - ], - [ - 10.797499, - 59.186388 - ], - [ - 11.429193, - 58.987642 - ], - [ - 11.751112, - 59.090273 - ], - [ - 11.815962, - 59.846102 - ], - [ - 12.494165, - 60.111109 - ], - [ - 12.594446, - 60.516939 - ], - [ - 12.210001, - 61.002497 - ], - [ - 12.856112, - 61.362497 - ], - [ - 12.124445, - 61.728609 - ], - [ - 12.295832, - 62.261667 - ], - [ - 11.936388, - 63.272219 - ], - [ - 12.139444, - 63.584162 - ], - [ - 12.938055, - 64.053331 - ], - [ - 13.988333, - 64.018053 - ], - [ - 14.116388, - 64.470552 - ], - [ - 13.6625, - 64.582766 - ], - [ - 14.493055, - 65.313601 - ], - [ - 14.504999, - 66.132494 - ], - [ - 15.468054, - 66.283876 - ], - [ - 15.36278, - 66.479998 - ], - [ - 16.353888, - 67.017778 - ], - [ - 16.085833, - 67.411654 - ], - [ - 16.726946, - 67.899157 - ], - [ - 17.884165, - 67.945543 - ], - [ - 18.090834, - 68.507769 - ], - [ - 19.937777, - 68.337496 - ], - [ - 20.350279, - 68.786654 - ], - [ - 20.096945, - 69.042223 - ], - [ - 20.580931, - 69.060305 - ], - [ - 21.320833, - 69.326113 - ], - [ - 22.398333, - 68.711107 - ], - [ - 23.976389, - 68.832491 - ], - [ - 24.934919, - 68.580812 - ], - [ - 25.76111, - 68.989168 - ], - [ - 25.945833, - 69.673326 - ], - [ - 26.449999, - 69.927217 - ], - [ - 28.165834, - 69.912218 - ], - [ - 29.176111, - 69.635271 - ], - [ - 28.784166, - 69.160555 - ], - [ - 28.957342, - 69.051622 - ], - [ - 30.103334, - 69.663057 - ], - [ - 30.910002, - 69.548876 - ], - [ - 30.854841, - 69.792315 - ], - [ - 29.486666, - 69.65555 - ], - [ - 29.737501, - 69.905275 - ], - [ - 29.365557, - 69.855272 - ], - [ - 29.671667, - 69.967501 - ], - [ - 28.612501, - 70.107775 - ], - [ - 31.078054, - 70.289156 - ], - [ - 29.036112, - 70.874163 - ], - [ - 28.527498, - 70.726656 - ], - [ - 28.038889, - 70.061937 - ], - [ - 28.335554, - 70.505556 - ], - [ - 27.851667, - 70.478884 - ], - [ - 28.295, - 70.71277 - ], - [ - 27.647501, - 70.605272 - ], - [ - 28.550833, - 70.968325 - ], - [ - 27.651667, - 71.113054 - ], - [ - 27.13611, - 70.95833 - ], - [ - 27.565554, - 70.80472 - ], - [ - 27.029444, - 70.474154 - ], - [ - 26.504999, - 70.363054 - ], - [ - 26.570276, - 70.93889 - ], - [ - 25.234724, - 70.089724 - ], - [ - 24.942499, - 70.08777 - ], - [ - 25.273054, - 70.398882 - ], - [ - 25.07361, - 70.500002 - ], - [ - 25.907778, - 70.88666 - ], - [ - 24.591944, - 70.963045 - ], - [ - 24.245554, - 70.777224 - ], - [ - 24.729166, - 70.621935 - ], - [ - 23.660002, - 70.42 - ], - [ - 23.311945, - 69.940828 - ], - [ - 22.287779, - 70.038881 - ], - [ - 22.950556, - 70.205553 - ], - [ - 21.300001, - 70.246935 - ], - [ - 22.096666, - 70.113329 - ], - [ - 21.797224, - 70.033602 - ], - [ - 22.101667, - 69.740831 - ], - [ - 21.307222, - 70.019716 - ], - [ - 20.48139, - 69.638887 - ], - [ - 20.853056, - 69.489168 - ], - [ - 19.946943, - 69.256105 - ], - [ - 20.304167, - 69.968325 - ], - [ - 19.679167, - 69.429445 - ], - [ - 19.75889, - 69.810274 - ], - [ - 18.944166, - 69.613054 - ], - [ - 19.440554, - 69.225832 - ], - [ - 18.256945, - 69.486376 - ], - [ - 18.152224, - 69.152224 - ], - [ - 17.425833, - 68.905001 - ], - [ - 17.792501, - 68.756945 - ], - [ - 17.236113, - 68.754717 - ], - [ - 17.680277, - 68.654436 - ], - [ - 16.459444, - 68.508043 - ], - [ - 17.552778, - 68.523882 - ], - [ - 17.200834, - 68.366945 - ], - [ - 17.354723, - 68.173876 - ], - [ - 16.317221, - 68.366945 - ], - [ - 16.805834, - 68.13138 - ], - [ - 16.103334, - 68.276934 - ], - [ - 16.715277, - 68.066668 - ], - [ - 16.207499, - 68.001665 - ], - [ - 16.495832, - 67.794161 - ], - [ - 16.217222, - 67.888048 - ], - [ - 15.972223, - 68.245546 - ], - [ - 15.283056, - 68.035555 - ], - [ - 15.961111, - 68.013048 - ], - [ - 15.871111, - 67.923326 - ], - [ - 14.758055, - 67.805269 - ], - [ - 15.899168, - 67.558886 - ], - [ - 15.541113, - 67.476946 - ], - [ - 15.640001, - 67.26639 - ], - [ - 15.035833, - 67.570543 - ], - [ - 14.361666, - 67.233889 - ], - [ - 15.739721, - 67.172487 - ], - [ - 13.546946, - 66.926668 - ], - [ - 13.990835, - 66.783602 - ], - [ - 13.228056, - 66.712496 - ], - [ - 13.725557, - 66.601946 - ], - [ - 12.969999, - 66.518328 - ], - [ - 13.53639, - 66.303606 - ], - [ - 13.027224, - 66.186098 - ], - [ - 14.146666, - 66.321657 - ], - [ - 12.673887, - 66.066942 - ], - [ - 12.959444, - 66.042223 - ], - [ - 12.931944, - 65.974993 - ], - [ - 13.121946, - 65.940279 - ], - [ - 13.175001, - 65.849154 - ], - [ - 12.667501, - 65.916933 - ], - [ - 12.78861, - 65.636385 - ], - [ - 12.360834, - 65.647768 - ], - [ - 12.638056, - 65.418886 - ], - [ - 12.248888, - 65.228609 - ], - [ - 12.939722, - 65.308321 - ], - [ - 12.624723, - 65.133608 - ], - [ - 12.14889, - 65.039156 - ], - [ - 12.047499, - 65.055834 - ], - [ - 12.019445, - 65.02611 - ], - [ - 11.975, - 65.065828 - ], - [ - 11.297224, - 64.883608 - ], - [ - 12.224443, - 64.937212 - ], - [ - 11.438334, - 64.711107 - ], - [ - 11.728056, - 64.579714 - ], - [ - 11.221666, - 64.316103 - ], - [ - 10.972223, - 64.601381 - ], - [ - 10.495291, - 64.423815 - ], - [ - 9.982222, - 63.990557 - ], - [ - 10.189722, - 63.930552 - ], - [ - 9.54389, - 63.763613 - ], - [ - 10.098333, - 63.761942 - ], - [ - 9.789167, - 63.6625 - ], - [ - 10.047777, - 63.496111 - ], - [ - 10.941946, - 63.738054 - ], - [ - 11.077223, - 63.837496 - ], - [ - 10.904165, - 63.894167 - ], - [ - 10.574167, - 63.804995 - ], - [ - 11.180277, - 64.008043 - ], - [ - 11.305834, - 64.116381 - ], - [ - 11.358332, - 64.110552 - ], - [ - 11.318888, - 64.032213 - ], - [ - 11.492777, - 64.019442 - ], - [ - 11.090555, - 63.878328 - ], - [ - 11.455832, - 63.787218 - ], - [ - 10.658888, - 63.549997 - ], - [ - 10.910276, - 63.451113 - ], - [ - 10.047224, - 63.406107 - ], - [ - 10.256666, - 63.26111 - ], - [ - 9.647501, - 63.623888 - ], - [ - 9.149721, - 63.484163 - ], - [ - 9.427778, - 63.37694 - ], - [ - 9.004999, - 63.467501 - ], - [ - 8.652777, - 63.409166 - ], - [ - 8.763613, - 63.345278 - ], - [ - 8.477777, - 63.293612 - ], - [ - 8.938334, - 63.206667 - ], - [ - 8.159166, - 63.120279 - ], - [ - 8.530832, - 62.841387 - ], - [ - 7.879168, - 63.010553 - ], - [ - 8.548334, - 62.653887 - ], - [ - 7.03639, - 62.967501 - ], - [ - 6.958887, - 62.722498 - ], - [ - 8.145277, - 62.689997 - ], - [ - 6.246946, - 62.574717 - ], - [ - 6.649836, - 62.498384 - ], - [ - 6.257223, - 62.448885 - ], - [ - 6.781389, - 62.478334 - ], - [ - 7.415556, - 62.2325 - ], - [ - 7.043058, - 62.08639 - ], - [ - 6.876112, - 62.414995 - ], - [ - 6.388334, - 62.369722 - ], - [ - 6.538057, - 62.104723 - ], - [ - 6.306665, - 62.371668 - ], - [ - 5.918058, - 62.21583 - ], - [ - 6.357222, - 62.055277 - ], - [ - 5.150278, - 62.211939 - ], - [ - 5.403612, - 62.016108 - ], - [ - 5.148054, - 61.892221 - ], - [ - 6.763613, - 61.868052 - ], - [ - 4.938055, - 61.676386 - ], - [ - 5.336946, - 61.592775 - ] - ], - [ - [ - 5.336946, - 61.592775 - ], - [ - 5.345335, - 61.586332 - ], - [ - 5.276834, - 61.587999 - ], - [ - 5.336946, - 61.592775 - ] - ], - [ - [ - 5.778334, - 58.947496 - ], - [ - 5.760836, - 58.945833 - ], - [ - 5.754999, - 58.956385 - ], - [ - 5.778334, - 58.947496 - ] - ] - ], - [ - [ - [ - 30.155554, - 69.781664 - ], - [ - 30.126112, - 69.797487 - ], - [ - 30.110556, - 69.787218 - ], - [ - 30.155554, - 69.781664 - ] - ] - ], - [ - [ - [ - 29.826666, - 69.756945 - ], - [ - 30.048056, - 69.827501 - ], - [ - 29.841944, - 69.910265 - ], - [ - 29.826666, - 69.756945 - ] - ] - ], - [ - [ - [ - 25.828054, - 71.098604 - ], - [ - 25.286112, - 71.02083 - ], - [ - 26.219721, - 71.033602 - ], - [ - 25.828054, - 71.098604 - ] - ] - ], - [ - [ - [ - 24.799444, - 71.023882 - ], - [ - 24.853613, - 71.089983 - ], - [ - 24.639444, - 71.060823 - ], - [ - 24.799444, - 71.023882 - ] - ] - ], - [ - [ - [ - 24.061945, - 70.908876 - ], - [ - 24.243891, - 70.951937 - ], - [ - 23.880835, - 70.993608 - ], - [ - 24.061945, - 70.908876 - ] - ] - ], - [ - [ - [ - 23.871111, - 70.512209 - ], - [ - 24.125834, - 70.615267 - ], - [ - 23.634165, - 70.696383 - ], - [ - 23.871111, - 70.512209 - ] - ] - ], - [ - [ - [ - 23.595835, - 70.578051 - ], - [ - 22.85111, - 70.405825 - ], - [ - 23.230555, - 70.278322 - ], - [ - 23.595835, - 70.578051 - ] - ] - ], - [ - [ - [ - 23.451666, - 70.783602 - ], - [ - 21.94972, - 70.646105 - ], - [ - 22.784166, - 70.519716 - ], - [ - 23.451666, - 70.783602 - ] - ] - ], - [ - [ - [ - 22.834723, - 70.332216 - ], - [ - 22.368612, - 70.334444 - ], - [ - 23.022779, - 70.259432 - ], - [ - 22.834723, - 70.332216 - ] - ] - ], - [ - [ - [ - 21.772779, - 70.266665 - ], - [ - 21.841391, - 70.350267 - ], - [ - 21.697779, - 70.381945 - ], - [ - 21.772779, - 70.266665 - ] - ] - ], - [ - [ - [ - 21.730276, - 69.931108 - ], - [ - 21.717222, - 69.949709 - ], - [ - 21.668612, - 69.941942 - ], - [ - 21.730276, - 69.931108 - ] - ] - ], - [ - [ - [ - 20.892569, - 70.030817 - ], - [ - 20.757776, - 69.989992 - ], - [ - 21.102499, - 70.004717 - ], - [ - 20.892569, - 70.030817 - ] - ] - ], - [ - [ - [ - 21.000834, - 70.019716 - ], - [ - 21.049166, - 70.049715 - ], - [ - 20.951944, - 70.025835 - ], - [ - 21.000834, - 70.019716 - ] - ] - ], - [ - [ - [ - 20.919722, - 70.079439 - ], - [ - 20.861387, - 70.149157 - ], - [ - 20.814722, - 70.116106 - ], - [ - 20.919722, - 70.079439 - ] - ] - ], - [ - [ - [ - 20.831945, - 70.19388 - ], - [ - 20.385279, - 70.098879 - ], - [ - 20.783888, - 70.056383 - ], - [ - 20.831945, - 70.19388 - ] - ] - ], - [ - [ - [ - 20.680277, - 69.808611 - ], - [ - 20.739168, - 69.905275 - ], - [ - 20.556391, - 69.851107 - ], - [ - 20.680277, - 69.808611 - ] - ] - ], - [ - [ - [ - 20.11278, - 70.104723 - ], - [ - 19.536112, - 70.248323 - ], - [ - 19.769999, - 70.065279 - ], - [ - 20.11278, - 70.104723 - ] - ] - ], - [ - [ - [ - 19.959166, - 70.005556 - ], - [ - 19.996111, - 70.012774 - ], - [ - 19.899168, - 70.0161 - ], - [ - 19.959166, - 70.005556 - ] - ] - ], - [ - [ - [ - 19.567221, - 69.851656 - ], - [ - 19.897779, - 69.972216 - ], - [ - 19.459444, - 69.842501 - ], - [ - 19.567221, - 69.851656 - ] - ] - ], - [ - [ - [ - 19.300554, - 70.02611 - ], - [ - 18.721109, - 69.93416 - ], - [ - 19.691946, - 69.994722 - ], - [ - 19.300554, - 70.02611 - ] - ] - ], - [ - [ - [ - 19.6075, - 70.101946 - ], - [ - 19.431391, - 70.177767 - ], - [ - 19.349722, - 70.13138 - ], - [ - 19.6075, - 70.101946 - ] - ] - ], - [ - [ - [ - 19.185278, - 70.122499 - ], - [ - 19.23361, - 70.254442 - ], - [ - 19.033609, - 70.161104 - ], - [ - 19.185278, - 70.122499 - ] - ] - ], - [ - [ - [ - 18.785002, - 70.111376 - ], - [ - 18.684446, - 69.99666 - ], - [ - 19.002779, - 70.084154 - ], - [ - 18.785002, - 70.111376 - ] - ] - ], - [ - [ - [ - 18.890001, - 69.691942 - ], - [ - 18.693056, - 69.884432 - ], - [ - 18.75139, - 69.682772 - ], - [ - 17.996946, - 69.588335 - ], - [ - 18.890001, - 69.691942 - ] - ] - ], - [ - [ - [ - 17.63661, - 69.516047 - ], - [ - 16.930834, - 69.392488 - ], - [ - 17.173887, - 69.195833 - ], - [ - 16.775278, - 69.06444 - ], - [ - 18.003611, - 69.190279 - ], - [ - 18.074167, - 69.430834 - ], - [ - 17.63661, - 69.516047 - ] - ] - ], - [ - [ - [ - 17.416945, - 68.995821 - ], - [ - 17.561388, - 69.094988 - ], - [ - 17.352777, - 69.024157 - ], - [ - 17.416945, - 68.995821 - ] - ] - ], - [ - [ - [ - 17.241667, - 68.788607 - ], - [ - 17.437777, - 68.865267 - ], - [ - 17.083612, - 68.910265 - ], - [ - 17.241667, - 68.788607 - ] - ] - ], - [ - [ - [ - 17.116388, - 68.752489 - ], - [ - 17.000555, - 68.854433 - ], - [ - 16.813055, - 68.728334 - ], - [ - 17.116388, - 68.752489 - ] - ] - ], - [ - [ - [ - 16.537222, - 68.879717 - ], - [ - 16.601667, - 68.945543 - ], - [ - 16.26111, - 68.966661 - ], - [ - 16.537222, - 68.879717 - ] - ] - ], - [ - [ - [ - 15.988054, - 68.75194 - ], - [ - 15.63611, - 68.946657 - ], - [ - 15.451666, - 68.762209 - ], - [ - 15.71361, - 68.69861 - ], - [ - 14.986666, - 68.247499 - ], - [ - 16.565001, - 68.651934 - ], - [ - 16.178888, - 68.851656 - ], - [ - 15.739443, - 68.52611 - ], - [ - 15.988054, - 68.75194 - ] - ] - ], - [ - [ - [ - 16.405554, - 68.411104 - ], - [ - 16.326944, - 68.533602 - ], - [ - 16.094446, - 68.396654 - ], - [ - 16.405554, - 68.411104 - ] - ] - ], - [ - [ - [ - 15.522501, - 68.906099 - ], - [ - 16.148054, - 69.286379 - ], - [ - 15.560278, - 69.094713 - ], - [ - 15.522501, - 68.906099 - ] - ] - ], - [ - [ - [ - 15.903334, - 67.978884 - ], - [ - 15.85111, - 68.013613 - ], - [ - 15.498888, - 67.98778 - ], - [ - 15.903334, - 67.978884 - ] - ] - ], - [ - [ - [ - 15.382776, - 68.845278 - ], - [ - 15.087778, - 69.008043 - ], - [ - 15.148611, - 68.812212 - ], - [ - 14.371111, - 68.683611 - ], - [ - 15.059168, - 68.572496 - ], - [ - 15.382776, - 68.845278 - ] - ] - ], - [ - [ - [ - 15.202223, - 67.90027 - ], - [ - 15.30361, - 67.920275 - ], - [ - 14.931665, - 67.923876 - ], - [ - 15.202223, - 67.90027 - ] - ] - ], - [ - [ - [ - 15.026388, - 68.354998 - ], - [ - 15.16889, - 68.450548 - ], - [ - 14.19972, - 68.152224 - ], - [ - 15.026388, - 68.354998 - ] - ] - ], - [ - [ - [ - 14.954443, - 68.872774 - ], - [ - 14.885279, - 68.933321 - ], - [ - 14.839167, - 68.881945 - ], - [ - 14.954443, - 68.872774 - ] - ] - ], - [ - [ - [ - 14.870554, - 68.211657 - ], - [ - 14.940554, - 68.268053 - ], - [ - 14.826113, - 68.254442 - ], - [ - 14.870554, - 68.211657 - ] - ] - ], - [ - [ - [ - 14.253054, - 67.358599 - ], - [ - 14.374998, - 67.422213 - ], - [ - 14.216665, - 67.358324 - ], - [ - 14.253054, - 67.358599 - ] - ] - ], - [ - [ - [ - 14.257776, - 67.133043 - ], - [ - 13.99111, - 67.0786 - ], - [ - 14.191946, - 66.999437 - ], - [ - 14.257776, - 67.133043 - ] - ] - ], - [ - [ - [ - 14.203611, - 68.239168 - ], - [ - 14.214167, - 68.301104 - ], - [ - 14.049444, - 68.303331 - ], - [ - 14.203611, - 68.239168 - ] - ] - ], - [ - [ - [ - 13.968332, - 68.238329 - ], - [ - 13.44972, - 68.067492 - ], - [ - 14.135832, - 68.239443 - ], - [ - 13.968332, - 68.238329 - ] - ] - ], - [ - [ - [ - 13.973333, - 68.253328 - ], - [ - 13.990557, - 68.309999 - ], - [ - 13.883333, - 68.302217 - ], - [ - 13.973333, - 68.253328 - ] - ] - ], - [ - [ - [ - 13.438055, - 68.11278 - ], - [ - 13.299166, - 68.149721 - ], - [ - 13.163057, - 68.011385 - ], - [ - 13.438055, - 68.11278 - ] - ] - ], - [ - [ - [ - 12.986666, - 66.228334 - ], - [ - 13.158335, - 66.277498 - ], - [ - 12.930834, - 66.226381 - ], - [ - 12.986666, - 66.228334 - ] - ] - ], - [ - [ - [ - 12.841944, - 67.808611 - ], - [ - 13.134443, - 67.952501 - ], - [ - 13.155832, - 68.081102 - ], - [ - 12.841944, - 67.808611 - ] - ] - ], - [ - [ - [ - 12.542501, - 65.896944 - ], - [ - 12.903612, - 66.008608 - ], - [ - 12.573889, - 66.010546 - ], - [ - 12.414999, - 65.893602 - ], - [ - 12.542501, - 65.896944 - ] - ] - ], - [ - [ - [ - 12.796667, - 66.214434 - ], - [ - 12.870832, - 66.277498 - ], - [ - 12.715834, - 66.247499 - ], - [ - 12.796667, - 66.214434 - ] - ] - ], - [ - [ - [ - 12.352499, - 66.022493 - ], - [ - 12.657221, - 66.104723 - ], - [ - 12.563334, - 66.217775 - ], - [ - 12.352499, - 66.022493 - ] - ] - ], - [ - [ - [ - 12.075277, - 65.211382 - ], - [ - 12.502779, - 65.391939 - ], - [ - 12.258055, - 65.576113 - ], - [ - 12.075277, - 65.211382 - ] - ] - ], - [ - [ - [ - 12.156389, - 65.051378 - ], - [ - 12.285002, - 65.084444 - ], - [ - 12.315279, - 65.109987 - ], - [ - 12.183611, - 65.20833 - ], - [ - 11.981668, - 65.076387 - ], - [ - 12.156389, - 65.051378 - ] - ] - ], - [ - [ - [ - 11.974165, - 65.62694 - ], - [ - 11.894445, - 65.704439 - ], - [ - 11.758612, - 65.616945 - ], - [ - 11.974165, - 65.62694 - ] - ] - ], - [ - [ - [ - 11.636667, - 65.065279 - ], - [ - 11.772779, - 65.113604 - ], - [ - 11.531389, - 65.060823 - ], - [ - 11.636667, - 65.065279 - ] - ] - ], - [ - [ - [ - 11.453611, - 64.514162 - ], - [ - 11.03861, - 64.628878 - ], - [ - 11.175554, - 64.506945 - ], - [ - 11.453611, - 64.514162 - ] - ] - ], - [ - [ - [ - 11.351389, - 64.649996 - ], - [ - 11.176111, - 64.644442 - ], - [ - 11.310835, - 64.596666 - ], - [ - 11.351389, - 64.649996 - ] - ] - ], - [ - [ - [ - 11.261667, - 64.884722 - ], - [ - 11.106112, - 64.950274 - ], - [ - 10.824999, - 64.844988 - ], - [ - 11.261667, - 64.884722 - ] - ] - ], - [ - [ - [ - 11.110834, - 64.965822 - ], - [ - 10.777777, - 64.918886 - ], - [ - 10.73139, - 64.860277 - ], - [ - 11.110834, - 64.965822 - ] - ] - ], - [ - [ - [ - 8.494165, - 63.428331 - ], - [ - 9.17639, - 63.564722 - ], - [ - 8.280001, - 63.464724 - ], - [ - 8.494165, - 63.428331 - ] - ] - ], - [ - [ - [ - 8.808332, - 63.810274 - ], - [ - 8.269999, - 63.678888 - ], - [ - 8.794443, - 63.697496 - ], - [ - 8.808332, - 63.810274 - ] - ] - ], - [ - [ - [ - 8.743612, - 58.409723 - ], - [ - 8.761389, - 58.421389 - ], - [ - 8.761389, - 58.436663 - ], - [ - 8.737501, - 58.434999 - ], - [ - 8.726946, - 58.412775 - ], - [ - 8.743612, - 58.409723 - ] - ] - ], - [ - [ - [ - 8.511946, - 63.319162 - ], - [ - 8.675833, - 63.346666 - ], - [ - 8.431112, - 63.331942 - ], - [ - 8.511946, - 63.319162 - ] - ] - ], - [ - [ - [ - 8.391111, - 63.159166 - ], - [ - 8.576113, - 63.18944 - ], - [ - 8.437498, - 63.283884 - ], - [ - 8.269724, - 63.266108 - ], - [ - 8.391111, - 63.159166 - ] - ] - ], - [ - [ - [ - 8.060278, - 63.141665 - ], - [ - 8.186388, - 63.153055 - ], - [ - 7.92639, - 63.171946 - ], - [ - 8.060278, - 63.141665 - ] - ] - ], - [ - [ - [ - 8.162222, - 63.361383 - ], - [ - 8.091665, - 63.466661 - ], - [ - 7.778334, - 63.405832 - ], - [ - 8.162222, - 63.361383 - ] - ] - ], - [ - [ - [ - 7.809725, - 63.023333 - ], - [ - 7.915277, - 63.079165 - ], - [ - 7.679445, - 63.056108 - ], - [ - 7.809725, - 63.023333 - ] - ] - ], - [ - [ - [ - 7.548334, - 62.948328 - ], - [ - 7.711946, - 63.002497 - ], - [ - 7.365557, - 62.996386 - ], - [ - 7.548334, - 62.948328 - ] - ] - ], - [ - [ - [ - 6.886389, - 62.776941 - ], - [ - 6.940557, - 62.844446 - ], - [ - 6.775835, - 62.845552 - ], - [ - 6.886389, - 62.776941 - ] - ] - ], - [ - [ - [ - 6.736666, - 62.667223 - ], - [ - 6.919443, - 62.709162 - ], - [ - 6.649721, - 62.681391 - ], - [ - 6.736666, - 62.667223 - ] - ] - ], - [ - [ - [ - 6.253889, - 62.391665 - ], - [ - 6.333612, - 62.413332 - ], - [ - 6.023054, - 62.435556 - ], - [ - 6.253889, - 62.391665 - ] - ] - ], - [ - [ - [ - 5.95278, - 59.228334 - ], - [ - 6.059168, - 59.260828 - ], - [ - 5.909723, - 59.274164 - ], - [ - 5.95278, - 59.228334 - ] - ] - ], - [ - [ - [ - 5.954721, - 60.089441 - ], - [ - 6.016947, - 60.146662 - ], - [ - 5.924166, - 60.145273 - ], - [ - 5.954721, - 60.089441 - ] - ] - ], - [ - [ - [ - 5.840555, - 62.24 - ], - [ - 5.977503, - 62.411112 - ], - [ - 5.804998, - 62.366945 - ], - [ - 5.840555, - 62.24 - ] - ] - ], - [ - [ - [ - 5.961946, - 58.972223 - ], - [ - 5.958887, - 58.983889 - ], - [ - 5.945002, - 58.977495 - ], - [ - 5.961946, - 58.972223 - ] - ] - ], - [ - [ - [ - 5.647779, - 62.187494 - ], - [ - 5.808058, - 62.27305 - ], - [ - 5.506109, - 62.224443 - ], - [ - 5.647779, - 62.187494 - ] - ] - ], - [ - [ - [ - 5.726389, - 59.078051 - ], - [ - 5.68889, - 59.129168 - ], - [ - 5.548334, - 59.130556 - ], - [ - 5.726389, - 59.078051 - ] - ] - ], - [ - [ - [ - 5.550001, - 60.431391 - ], - [ - 5.675833, - 60.683054 - ], - [ - 5.360003, - 60.52389 - ], - [ - 5.550001, - 60.431391 - ] - ] - ], - [ - [ - [ - 5.525, - 59.893328 - ], - [ - 5.658056, - 60.075274 - ], - [ - 5.360834, - 59.99222 - ], - [ - 5.525, - 59.893328 - ] - ] - ], - [ - [ - [ - 5.413057, - 59.751665 - ], - [ - 5.468332, - 59.886385 - ], - [ - 5.276388, - 59.966944 - ], - [ - 5.413057, - 59.751665 - ] - ] - ], - [ - [ - [ - 5.287779, - 59.218889 - ], - [ - 5.183611, - 59.411943 - ], - [ - 5.155279, - 59.146944 - ], - [ - 5.287779, - 59.218889 - ] - ] - ], - [ - [ - [ - 5.268057, - 60.004999 - ], - [ - 5.172777, - 60.121668 - ], - [ - 5.168058, - 60.031389 - ], - [ - 5.268057, - 60.004999 - ] - ] - ], - [ - [ - [ - 5.263334, - 59.798609 - ], - [ - 5.1075, - 59.864443 - ], - [ - 5.14889, - 59.58111 - ], - [ - 5.263334, - 59.798609 - ] - ] - ], - [ - [ - [ - 5.216944, - 60.241945 - ], - [ - 5.233335, - 60.254717 - ], - [ - 5.19972, - 60.251108 - ], - [ - 5.216944, - 60.241945 - ] - ] - ], - [ - [ - [ - 4.934168, - 61.774164 - ], - [ - 5.221945, - 61.845552 - ], - [ - 4.804167, - 61.840555 - ], - [ - 4.934168, - 61.774164 - ] - ] - ], - [ - [ - [ - 5.195276, - 60.408884 - ], - [ - 5.179445, - 60.482775 - ], - [ - 5.000834, - 60.531107 - ], - [ - 5.195276, - 60.408884 - ] - ] - ], - [ - [ - [ - 5.185278, - 60.506105 - ], - [ - 5.121668, - 60.578051 - ], - [ - 4.926947, - 60.605272 - ], - [ - 5.185278, - 60.506105 - ] - ] - ], - [ - [ - [ - 5.158335, - 60.581667 - ], - [ - 4.980001, - 60.714724 - ], - [ - 4.854445, - 60.7325 - ], - [ - 5.158335, - 60.581667 - ] - ] - ], - [ - [ - [ - 5.068056, - 61.923052 - ], - [ - 5.127222, - 61.992495 - ], - [ - 5.009722, - 62.013613 - ], - [ - 5.068056, - 61.923052 - ] - ] - ], - [ - [ - [ - 5.111944, - 60.185831 - ], - [ - 4.942499, - 60.4275 - ], - [ - 4.946943, - 60.249163 - ], - [ - 5.111944, - 60.185831 - ] - ] - ], - [ - [ - [ - 4.986387, - 61.104441 - ], - [ - 4.788057, - 61.146387 - ], - [ - 4.804724, - 61.044443 - ], - [ - 4.986387, - 61.104441 - ] - ] - ], - [ - [ - [ - 4.69639, - 60.987223 - ], - [ - 4.628057, - 61.06444 - ], - [ - 4.630835, - 61.006662 - ], - [ - 4.69639, - 60.987223 - ] - ] - ] - ] - }, - "name" : "Norway", - "iso2" : "NO", - "iso3" : "NOR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "3r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 82.066399, - 27.914154 - ], - [ - 83.291367, - 27.337776 - ], - [ - 84.147217, - 27.511387 - ], - [ - 85.855545, - 26.570274 - ], - [ - 88.014709, - 26.364719 - ], - [ - 88.142792, - 27.866055 - ], - [ - 87.192749, - 27.823051 - ], - [ - 86.686371, - 28.112217 - ], - [ - 86.444977, - 27.908051 - ], - [ - 86.183594, - 28.163883 - ], - [ - 86.014435, - 27.882774 - ], - [ - 85.721375, - 28.279163 - ], - [ - 85.106644, - 28.309441 - ], - [ - 85.189972, - 28.603329 - ], - [ - 84.481094, - 28.73666 - ], - [ - 84.119141, - 29.259998 - ], - [ - 83.552765, - 29.185829 - ], - [ - 82.10054, - 30.34222 - ], - [ - 81.421097, - 30.385273 - ], - [ - 81.223602, - 30.010277 - ], - [ - 81.02536, - 30.204353 - ], - [ - 80.376923, - 29.748604 - ], - [ - 80.055817, - 28.836109 - ], - [ - 82.066399, - 27.914154 - ] - ] - ] - }, - "name" : "Nepal", - "iso2" : "NP", - "iso3" : "NPL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "371E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 166.929138, - -0.552222 - ], - [ - 166.958588, - -0.506389 - ], - [ - 166.930542, - -0.493333 - ], - [ - 166.929138, - -0.552222 - ] - ] - ] - }, - "name" : "Nauru", - "iso2" : "NR", - "iso3" : "NRU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "4L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -54.166946, - 5.346944 - ], - [ - -54.030006, - 5.821111 - ], - [ - -55.127968, - 5.822173 - ], - [ - -55.836395, - 5.956666 - ], - [ - -55.899559, - 5.671908 - ], - [ - -56.972504, - 5.996944 - ], - [ - -57.248505, - 5.486111 - ], - [ - -57.327225, - 5.026111 - ], - [ - -57.92334, - 4.821944 - ], - [ - -58.047226, - 4.008333 - ], - [ - -57.642227, - 3.356389 - ], - [ - -57.301392, - 3.3775 - ], - [ - -56.470634, - 1.944499 - ], - [ - -55.904167, - 1.893055 - ], - [ - -55.965836, - 2.532777 - ], - [ - -54.603783, - 2.329195 - ], - [ - -54.001114, - 3.448333 - ], - [ - -54.477501, - 4.747777 - ], - [ - -54.166946, - 5.346944 - ] - ] - ] - }, - "name" : "Suriname", - "iso2" : "SR", - "iso3" : "SUR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "4b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -83.712509, - 11.868332 - ], - [ - -83.714447, - 11.988054 - ], - [ - -83.731949, - 11.903332 - ], - [ - -83.712509, - 11.868332 - ] - ] - ], - [ - [ - [ - -83.048889, - 12.145555 - ], - [ - -83.021393, - 12.184166 - ], - [ - -83.05751, - 12.183611 - ], - [ - -83.048889, - 12.145555 - ] - ] - ], - [ - [ - [ - -82.964737, - 12.286943 - ], - [ - -82.97139, - 12.312498 - ], - [ - -82.983337, - 12.313055 - ], - [ - -82.964737, - 12.286943 - ] - ] - ], - [ - [ - [ - -82.750839, - 14.353888 - ], - [ - -82.733612, - 14.418888 - ], - [ - -82.789734, - 14.374998 - ], - [ - -82.750839, - 14.353888 - ] - ] - ], - [ - [ - [ - -83.131851, - 14.992979 - ], - [ - -83.239731, - 14.982498 - ], - [ - -84.482788, - 14.617777 - ], - [ - -84.906677, - 14.808611 - ], - [ - -85.732315, - 13.829235 - ], - [ - -86.015839, - 14.065832 - ], - [ - -86.763016, - 13.751621 - ], - [ - -86.695007, - 13.296944 - ], - [ - -87.301392, - 12.986599 - ], - [ - -87.692505, - 12.912222 - ], - [ - -85.692383, - 11.076061 - ], - [ - -85.087784, - 11.009998 - ], - [ - -83.915558, - 10.708611 - ], - [ - -83.645798, - 10.924847 - ], - [ - -83.83168, - 11.874722 - ], - [ - -83.604446, - 12.819443 - ], - [ - -83.482788, - 12.403889 - ], - [ - -83.551117, - 13.450554 - ], - [ - -83.186951, - 14.323889 - ], - [ - -83.421402, - 14.80611 - ], - [ - -83.131851, - 14.992979 - ] - ] - ] - ] - }, - "name" : "Nicaragua", - "iso2" : "NI", - "iso3" : "NIC" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "4r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 169.185516, - -52.57695 - ], - [ - 169.205231, - -52.441383 - ], - [ - 169.000824, - -52.507225 - ], - [ - 169.185516, - -52.57695 - ] - ] - ], - [ - [ - [ - 166.096619, - -50.923058 - ], - [ - 166.22052, - -50.887505 - ], - [ - 165.923584, - -50.856392 - ], - [ - 166.096619, - -50.923058 - ] - ] - ], - [ - [ - [ - 165.995544, - -50.603638 - ], - [ - 166.003601, - -50.595001 - ], - [ - 165.969421, - -50.605003 - ], - [ - 165.995544, - -50.603638 - ] - ] - ], - [ - [ - [ - 166.250824, - -50.82695 - ], - [ - 166.199402, - -50.527222 - ], - [ - 165.886932, - -50.804443 - ], - [ - 166.250824, - -50.82695 - ] - ] - ], - [ - [ - [ - 166.321899, - -50.50695 - ], - [ - 166.331909, - -50.49472 - ], - [ - 166.284973, - -50.50528 - ], - [ - 166.321899, - -50.50695 - ] - ] - ], - [ - [ - [ - 178.816376, - -49.723885 - ], - [ - 178.814972, - -49.613617 - ], - [ - 178.71524, - -49.685272 - ], - [ - 178.816376, - -49.723885 - ] - ] - ], - [ - [ - [ - 166.632172, - -48.04084 - ], - [ - 166.622192, - -47.995552 - ], - [ - 166.563873, - -48.039444 - ], - [ - 166.632172, - -48.04084 - ] - ] - ], - [ - [ - [ - 179.076904, - -47.680595 - ], - [ - 179.069702, - -47.661667 - ], - [ - 179.049133, - -47.67556 - ], - [ - 179.076904, - -47.680595 - ] - ] - ], - [ - [ - [ - 167.434967, - -47.248611 - ], - [ - 167.486908, - -47.214165 - ], - [ - 167.426636, - -47.222496 - ], - [ - 167.434967, - -47.248611 - ] - ] - ], - [ - [ - [ - 167.685791, - -46.796669 - ], - [ - 167.718842, - -46.771385 - ], - [ - 167.663605, - -46.760002 - ], - [ - 167.685791, - -46.796669 - ] - ] - ], - [ - [ - [ - 168.191925, - -46.905273 - ], - [ - 167.775818, - -46.700279 - ], - [ - 167.519135, - -47.27417 - ], - [ - 168.191925, - -46.905273 - ] - ] - ], - [ - [ - [ - 166.71637, - -45.741669 - ], - [ - 166.710785, - -45.61528 - ], - [ - 166.504974, - -45.719162 - ], - [ - 166.71637, - -45.741669 - ] - ] - ], - [ - [ - [ - 167.009979, - -45.31028 - ], - [ - 166.962189, - -45.153328 - ], - [ - 166.891357, - -45.250282 - ], - [ - 167.009979, - -45.31028 - ] - ] - ], - [ - [ - [ - -176.162231, - -44.324722 - ], - [ - -176.115814, - -44.263336 - ], - [ - -176.23584, - -44.234734 - ], - [ - -176.162231, - -44.324722 - ] - ] - ], - [ - [ - [ - -176.45224, - -43.736122 - ], - [ - -176.848053, - -43.812225 - ], - [ - -176.53421, - -43.870277 - ], - [ - -176.60556, - -44.119171 - ], - [ - -176.45224, - -43.736122 - ] - ] - ], - [ - [ - [ - 174.399414, - -41.115837 - ], - [ - 174.322754, - -41.1325 - ], - [ - 174.371887, - -41.148613 - ], - [ - 174.344421, - -41.18306 - ], - [ - 174.193298, - -41.232498 - ], - [ - 174.37439, - -41.203056 - ], - [ - 174.399414, - -41.115837 - ] - ] - ], - [ - [ - [ - 173.805817, - -40.92778 - ], - [ - 173.963867, - -40.710556 - ], - [ - 173.823303, - -40.762505 - ], - [ - 173.805817, - -40.92778 - ] - ] - ], - [ - [ - [ - 172.861359, - -40.507782 - ], - [ - 172.108856, - -40.885559 - ], - [ - 172.064972, - -41.40361 - ], - [ - 170.794128, - -42.90139 - ], - [ - 168.374969, - -44.037781 - ], - [ - 167.507202, - -45.001396 - ], - [ - 166.996918, - -45.145836 - ], - [ - 167.211914, - -45.475273 - ], - [ - 166.821625, - -45.320557 - ], - [ - 166.704407, - -45.574448 - ], - [ - 167.041351, - -45.501396 - ], - [ - 166.775818, - -45.662773 - ], - [ - 166.987183, - -45.709724 - ], - [ - 166.484406, - -46.01445 - ], - [ - 169.008026, - -46.680832 - ], - [ - 170.783051, - -45.878334 - ], - [ - 170.554413, - -45.888054 - ], - [ - 171.293579, - -44.343613 - ], - [ - 172.424988, - -43.733612 - ], - [ - 173.091644, - -43.856392 - ], - [ - 172.760803, - -43.239166 - ], - [ - 174.289154, - -41.748337 - ], - [ - 174.044434, - -41.442497 - ], - [ - 174.326904, - -41.222771 - ], - [ - 174.20636, - -41.269447 - ], - [ - 174.026642, - -41.236115 - ], - [ - 174.323853, - -41.003334 - ], - [ - 173.10553, - -41.313332 - ], - [ - 173.013306, - -40.796669 - ], - [ - 172.656921, - -40.653328 - ], - [ - 172.861359, - -40.507782 - ] - ] - ], - [ - [ - [ - 177.001373, - -37.870552 - ], - [ - 176.97995, - -37.848053 - ], - [ - 176.964691, - -37.863617 - ], - [ - 177.001373, - -37.870552 - ] - ] - ], - [ - [ - [ - 176.438568, - -37.650276 - ], - [ - 176.459412, - -37.622772 - ], - [ - 176.44693, - -37.604721 - ], - [ - 176.438568, - -37.650276 - ] - ] - ], - [ - [ - [ - 175.166077, - -36.833885 - ], - [ - 175.193848, - -36.727493 - ], - [ - 175.002472, - -36.792778 - ], - [ - 175.166077, - -36.833885 - ] - ] - ], - [ - [ - [ - 175.827179, - -36.630829 - ], - [ - 175.80246, - -36.576111 - ], - [ - 175.770264, - -36.580833 - ], - [ - 175.827179, - -36.630829 - ] - ] - ], - [ - [ - [ - 174.863861, - -36.459724 - ], - [ - 174.907196, - -36.451668 - ], - [ - 174.869965, - -36.388893 - ], - [ - 174.863861, - -36.459724 - ] - ] - ], - [ - [ - [ - 175.149414, - -36.213333 - ], - [ - 175.121887, - -36.170555 - ], - [ - 175.079681, - -36.200836 - ], - [ - 175.149414, - -36.213333 - ] - ] - ], - [ - [ - [ - 175.544708, - -36.347778 - ], - [ - 175.371887, - -36.070557 - ], - [ - 175.358856, - -36.229439 - ], - [ - 175.544708, - -36.347778 - ] - ] - ], - [ - [ - [ - 173.038879, - -34.436943 - ], - [ - 172.722473, - -34.495277 - ], - [ - 173.087463, - -35.211388 - ], - [ - 173.380524, - -35.528053 - ], - [ - 173.655548, - -35.313332 - ], - [ - 173.398865, - -35.573891 - ], - [ - 174.080811, - -36.409439 - ], - [ - 173.913879, - -35.86972 - ], - [ - 174.505249, - -36.231384 - ], - [ - 174.268585, - -36.342224 - ], - [ - 174.453033, - -36.651108 - ], - [ - 174.187744, - -36.496948 - ], - [ - 174.502472, - -37.037506 - ], - [ - 174.887482, - -37.059166 - ], - [ - 174.549713, - -37.073616 - ], - [ - 174.974976, - -37.75 - ], - [ - 174.594421, - -38.815834 - ], - [ - 173.751923, - -39.288612 - ], - [ - 175.155548, - -40.095833 - ], - [ - 175.127747, - -40.713615 - ], - [ - 174.591919, - -41.27861 - ], - [ - 175.323029, - -41.614449 - ], - [ - 176.834137, - -40.181671 - ], - [ - 177.054962, - -39.204445 - ], - [ - 177.909973, - -39.25695 - ], - [ - 178.565521, - -37.713333 - ], - [ - 178.018005, - -37.550831 - ], - [ - 177.159424, - -38.013336 - ], - [ - 175.994415, - -37.638893 - ], - [ - 175.84079, - -36.754173 - ], - [ - 175.353577, - -36.481941 - ], - [ - 175.579132, - -37.244446 - ], - [ - 174.854401, - -36.847778 - ], - [ - 174.319977, - -35.232773 - ], - [ - 173.450806, - -34.807777 - ], - [ - 173.269135, - -35.019722 - ], - [ - 173.038879, - -34.436943 - ] - ] - ], - [ - [ - [ - 172.157196, - -34.173889 - ], - [ - 172.18692, - -34.152496 - ], - [ - 172.133331, - -34.153328 - ], - [ - 172.157196, - -34.173889 - ] - ] - ], - [ - [ - [ - -178.605286, - -30.581116 - ], - [ - -178.612518, - -30.574448 - ], - [ - -178.613068, - -30.587223 - ], - [ - -178.605286, - -30.581116 - ] - ] - ], - [ - [ - [ - -177.84613, - -29.278614 - ], - [ - -177.952484, - -29.226112 - ], - [ - -177.923615, - -29.284725 - ], - [ - -177.84613, - -29.278614 - ] - ] - ] - ] - }, - "name" : "New Zealand", - "iso2" : "NZ", - "iso3" : "NZL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "471E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -54.598915, - -25.573223 - ], - [ - -54.330559, - -24.679449 - ], - [ - -54.407227, - -23.916668 - ], - [ - -55.411667, - -23.95639 - ], - [ - -55.849724, - -22.288891 - ], - [ - -57.985107, - -22.091827 - ], - [ - -57.814445, - -20.971947 - ], - [ - -58.15889, - -20.168056 - ], - [ - -58.15139, - -19.828056 - ], - [ - -59.09584, - -19.348892 - ], - [ - -61.7425, - -19.645 - ], - [ - -62.643768, - -22.238903 - ], - [ - -61.007782, - -23.813335 - ], - [ - -57.756111, - -25.176945 - ], - [ - -57.576668, - -25.549446 - ], - [ - -58.604622, - -27.316921 - ], - [ - -55.736115, - -27.439445 - ], - [ - -54.698334, - -26.438335 - ], - [ - -54.598915, - -25.573223 - ] - ] - ] - }, - "name" : "Paraguay", - "iso2" : "PY", - "iso3" : "PRY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "5L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -69.568436, - -10.951092 - ], - [ - -70.631393, - -11.009167 - ], - [ - -70.514664, - -9.428001 - ], - [ - -71.298889, - -9.996389 - ], - [ - -72.14389, - -10.004723 - ], - [ - -72.366394, - -9.494446 - ], - [ - -73.205292, - -9.407223 - ], - [ - -72.964172, - -8.983334 - ], - [ - -74.010559, - -7.541389 - ], - [ - -73.744171, - -6.876945 - ], - [ - -73.123901, - -6.447223 - ], - [ - -72.851959, - -5.124722 - ], - [ - -70.765839, - -4.146389 - ], - [ - -69.956924, - -4.236874 - ], - [ - -70.724167, - -3.779723 - ], - [ - -70.067505, - -2.755556 - ], - [ - -70.288345, - -2.505 - ], - [ - -71.698059, - -2.146945 - ], - [ - -72.881958, - -2.506389 - ], - [ - -73.556396, - -1.370833 - ], - [ - -74.227234, - -1.027778 - ], - [ - -74.776947, - -0.204167 - ], - [ - -75.285843, - -0.119722 - ], - [ - -75.62796, - -0.108859 - ], - [ - -75.21608, - -0.965336 - ], - [ - -75.559174, - -1.534167 - ], - [ - -76.660629, - -2.572135 - ], - [ - -78.337509, - -3.422778 - ], - [ - -78.70903, - -4.584787 - ], - [ - -79.054825, - -5.009132 - ], - [ - -79.649734, - -4.432778 - ], - [ - -80.467789, - -4.43889 - ], - [ - -80.467224, - -3.986945 - ], - [ - -80.153336, - -3.884228 - ], - [ - -80.340424, - -3.380517 - ], - [ - -81.289734, - -4.31 - ], - [ - -80.871399, - -5.652223 - ], - [ - -81.174728, - -6.086667 - ], - [ - -79.982788, - -6.764445 - ], - [ - -78.989731, - -8.226946 - ], - [ - -77.652512, - -11.292223 - ], - [ - -76.196945, - -13.418335 - ], - [ - -76.39389, - -13.898056 - ], - [ - -75.933334, - -14.658056 - ], - [ - -75.047501, - -15.469168 - ], - [ - -71.497513, - -17.296947 - ], - [ - -70.405487, - -18.348545 - ], - [ - -69.951126, - -18.242779 - ], - [ - -69.499725, - -17.50528 - ], - [ - -69.618896, - -17.214725 - ], - [ - -68.82251, - -16.339725 - ], - [ - -69.421951, - -15.618057 - ], - [ - -69.136948, - -15.245834 - ], - [ - -69.366394, - -14.802502 - ], - [ - -68.853058, - -14.199167 - ], - [ - -68.974457, - -12.869722 - ], - [ - -68.673904, - -12.50115 - ], - [ - -69.568436, - -10.951092 - ] - ] - ] - }, - "name" : "Peru", - "iso2" : "PE", - "iso3" : "PER" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "5b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 67.449417, - 24.002777 - ], - [ - 67.458878, - 24.007221 - ], - [ - 67.481659, - 24.042774 - ], - [ - 67.458878, - 24.056942 - ], - [ - 67.379425, - 24.051662 - ], - [ - 67.411926, - 24.005833 - ], - [ - 67.449417, - 24.002777 - ] - ] - ], - [ - [ - [ - 61.611031, - 25.197647 - ], - [ - 64.113876, - 25.453327 - ], - [ - 64.651932, - 25.162773 - ], - [ - 66.506378, - 25.402496 - ], - [ - 66.141602, - 25.503941 - ], - [ - 66.359421, - 25.613609 - ], - [ - 66.732758, - 25.197495 - ], - [ - 66.645538, - 24.829163 - ], - [ - 67.254166, - 24.746105 - ], - [ - 67.151657, - 24.610554 - ], - [ - 67.27388, - 24.425827 - ], - [ - 67.338043, - 24.089718 - ], - [ - 67.461197, - 24.065355 - ], - [ - 67.486649, - 24.045277 - ], - [ - 67.500671, - 23.974043 - ], - [ - 67.53804, - 23.938129 - ], - [ - 67.493591, - 23.890831 - ], - [ - 68.1978, - 23.766685 - ], - [ - 68.747208, - 23.969994 - ], - [ - 68.783051, - 24.332775 - ], - [ - 70.014709, - 24.169716 - ], - [ - 71.10582, - 24.416386 - ], - [ - 70.666382, - 25.69833 - ], - [ - 70.088043, - 25.982773 - ], - [ - 70.183594, - 26.53611 - ], - [ - 69.506104, - 26.754444 - ], - [ - 69.580276, - 27.173328 - ], - [ - 70.368317, - 28.020832 - ], - [ - 70.829437, - 27.706383 - ], - [ - 71.896942, - 27.961941 - ], - [ - 73.397491, - 29.942772 - ], - [ - 73.933403, - 30.136002 - ], - [ - 73.872498, - 30.390099 - ], - [ - 74.694588, - 31.053961 - ], - [ - 74.605324, - 31.877119 - ], - [ - 75.381287, - 32.214241 - ], - [ - 74.016388, - 33.188599 - ], - [ - 73.99054, - 33.743881 - ], - [ - 74.295822, - 33.977486 - ], - [ - 73.913315, - 34.068604 - ], - [ - 73.94165, - 34.646385 - ], - [ - 76.86998, - 34.658882 - ], - [ - 77.04248, - 35.099159 - ], - [ - 77.823929, - 35.501328 - ], - [ - 76.166382, - 35.819717 - ], - [ - 75.864426, - 36.659676 - ], - [ - 74.81749, - 37.021767 - ], - [ - 74.56543, - 37.027817 - ], - [ - 72.556641, - 36.821266 - ], - [ - 71.243576, - 36.129715 - ], - [ - 71.649429, - 35.424995 - ], - [ - 70.987488, - 34.551102 - ], - [ - 71.08194, - 34.055824 - ], - [ - 69.906372, - 34.035271 - ], - [ - 70.326935, - 33.33194 - ], - [ - 69.505264, - 33.034164 - ], - [ - 69.328247, - 31.940365 - ], - [ - 68.833054, - 31.603886 - ], - [ - 68.166092, - 31.833054 - ], - [ - 67.575546, - 31.53194 - ], - [ - 67.778046, - 31.332218 - ], - [ - 66.723038, - 31.212215 - ], - [ - 66.395538, - 30.94083 - ], - [ - 66.256653, - 29.85194 - ], - [ - 62.484436, - 29.406105 - ], - [ - 60.868599, - 29.863884 - ], - [ - 61.905548, - 28.554996 - ], - [ - 62.78138, - 28.266941 - ], - [ - 62.782494, - 27.260555 - ], - [ - 63.341934, - 27.122498 - ], - [ - 63.176384, - 26.631107 - ], - [ - 61.858047, - 26.234718 - ], - [ - 61.611031, - 25.197647 - ] - ] - ] - ] - }, - "name" : "Pakistan", - "iso2" : "PK", - "iso3" : "PAK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "5r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 18.851246, - 49.517357 - ], - [ - 19.475555, - 49.599998 - ], - [ - 20.074444, - 49.175278 - ], - [ - 21.618889, - 49.436386 - ], - [ - 22.558052, - 49.079437 - ], - [ - 22.886074, - 49.002914 - ], - [ - 22.680828, - 49.572495 - ], - [ - 24.111385, - 50.56694 - ], - [ - 23.604633, - 51.527695 - ], - [ - 23.638607, - 52.079437 - ], - [ - 23.1654, - 52.282276 - ], - [ - 23.94083, - 52.732208 - ], - [ - 23.50404, - 53.947044 - ], - [ - 22.785885, - 54.363838 - ], - [ - 19.797007, - 54.43755 - ], - [ - 19.226662, - 54.32888 - ], - [ - 19.651108, - 54.455826 - ], - [ - 19.627258, - 54.463272 - ], - [ - 18.836388, - 54.353333 - ], - [ - 18.582775, - 54.435272 - ], - [ - 18.405277, - 54.74305 - ], - [ - 18.739998, - 54.685272 - ], - [ - 18.334999, - 54.836662 - ], - [ - 17.918888, - 54.82666 - ], - [ - 14.225555, - 53.928604 - ], - [ - 14.218887, - 53.869019 - ], - [ - 14.614166, - 53.816383 - ], - [ - 14.275627, - 53.699066 - ], - [ - 14.149166, - 52.862778 - ], - [ - 14.640276, - 52.572495 - ], - [ - 14.599443, - 51.818604 - ], - [ - 15.036388, - 51.285553 - ], - [ - 14.828333, - 50.865829 - ], - [ - 16.341942, - 50.66111 - ], - [ - 16.20583, - 50.423882 - ], - [ - 16.641941, - 50.10833 - ], - [ - 17.00222, - 50.216942 - ], - [ - 16.890274, - 50.439438 - ], - [ - 17.722775, - 50.319717 - ], - [ - 17.657776, - 50.108055 - ], - [ - 18.577221, - 49.914444 - ], - [ - 18.851246, - 49.517357 - ] - ] - ] - }, - "name" : "Poland", - "iso2" : "PL", - "iso3" : "POL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "571E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -81.778624, - 7.276388 - ], - [ - -81.818619, - 7.290003 - ], - [ - -81.797501, - 7.225836 - ], - [ - -81.778624, - 7.276388 - ] - ] - ], - [ - [ - [ - -81.205841, - 7.486666 - ], - [ - -81.033615, - 7.570833 - ], - [ - -81.249725, - 7.488333 - ], - [ - -81.205841, - 7.486666 - ] - ] - ], - [ - [ - [ - -81.649445, - 7.384169 - ], - [ - -81.758621, - 7.634169 - ], - [ - -81.874176, - 7.491114 - ], - [ - -81.649445, - 7.384169 - ] - ] - ], - [ - [ - [ - -81.103897, - 7.717779 - ], - [ - -81.124176, - 7.75889 - ], - [ - -81.14917, - 7.741667 - ], - [ - -81.103897, - 7.717779 - ] - ] - ], - [ - [ - [ - -81.165283, - 7.822779 - ], - [ - -81.161392, - 7.841665 - ], - [ - -81.173615, - 7.818056 - ], - [ - -81.165283, - 7.822779 - ] - ] - ], - [ - [ - [ - -82.340561, - 8.0875 - ], - [ - -82.319733, - 8.136667 - ], - [ - -82.366394, - 8.088888 - ], - [ - -82.340561, - 8.0875 - ] - ] - ], - [ - [ - [ - -82.213348, - 8.1975 - ], - [ - -82.313339, - 8.218889 - ], - [ - -82.295288, - 8.193609 - ], - [ - -82.213348, - 8.1975 - ] - ] - ], - [ - [ - [ - -82.332504, - 8.23361 - ], - [ - -82.314178, - 8.271666 - ], - [ - -82.336121, - 8.292501 - ], - [ - -82.403624, - 8.253054 - ], - [ - -82.332504, - 8.23361 - ] - ] - ], - [ - [ - [ - -79.106949, - 8.201113 - ], - [ - -79.055847, - 8.25139 - ], - [ - -79.097504, - 8.309168 - ], - [ - -79.106949, - 8.201113 - ] - ] - ], - [ - [ - [ - -79.076401, - 8.369722 - ], - [ - -79.075836, - 8.408609 - ], - [ - -79.114456, - 8.415277 - ], - [ - -79.076401, - 8.369722 - ] - ] - ], - [ - [ - [ - -78.851395, - 8.28861 - ], - [ - -78.960281, - 8.447222 - ], - [ - -78.959166, - 8.292223 - ], - [ - -78.851395, - 8.28861 - ] - ] - ], - [ - [ - [ - -82.015015, - 9.12639 - ], - [ - -82.045837, - 9.17639 - ], - [ - -82.049179, - 9.144167 - ], - [ - -82.015015, - 9.12639 - ] - ] - ], - [ - [ - [ - -82.079178, - 9.284445 - ], - [ - -82.20639, - 9.348333 - ], - [ - -82.124451, - 9.271944 - ], - [ - -82.079178, - 9.284445 - ] - ] - ], - [ - [ - [ - -82.224457, - 9.335001 - ], - [ - -82.224731, - 9.352499 - ], - [ - -82.229446, - 9.3375 - ], - [ - -82.224457, - 9.335001 - ] - ] - ], - [ - [ - [ - -82.239182, - 9.330278 - ], - [ - -82.258347, - 9.429167 - ], - [ - -82.314453, - 9.424723 - ], - [ - -82.239182, - 9.330278 - ] - ] - ], - [ - [ - [ - -77.366669, - 8.675001 - ], - [ - -78.035568, - 9.230001 - ], - [ - -79.463058, - 9.568056 - ], - [ - -81.196121, - 8.780279 - ], - [ - -81.883896, - 9.174444 - ], - [ - -81.816391, - 8.945276 - ], - [ - -82.236954, - 8.997778 - ], - [ - -82.563568, - 9.562876 - ], - [ - -82.934723, - 9.471666 - ], - [ - -82.710846, - 8.931112 - ], - [ - -82.898848, - 8.025671 - ], - [ - -82.72168, - 8.317221 - ], - [ - -82.287231, - 8.313334 - ], - [ - -82.191956, - 8.194445 - ], - [ - -81.738617, - 8.1625 - ], - [ - -81.496948, - 7.69861 - ], - [ - -81.217789, - 7.607222 - ], - [ - -81.178864, - 7.854994 - ], - [ - -81.05806, - 7.873335 - ], - [ - -80.925293, - 7.250002 - ], - [ - -80.433334, - 7.244444 - ], - [ - -79.989731, - 7.516111 - ], - [ - -80.473618, - 8.212778 - ], - [ - -78.978622, - 9.142778 - ], - [ - -78.414169, - 8.344168 - ], - [ - -78.107513, - 8.455832 - ], - [ - -77.779175, - 8.155001 - ], - [ - -78.139175, - 8.403891 - ], - [ - -78.257233, - 8.101946 - ], - [ - -78.43306, - 8.051943 - ], - [ - -77.889725, - 7.228891 - ], - [ - -77.746674, - 7.722223 - ], - [ - -77.573898, - 7.525278 - ], - [ - -77.215561, - 7.937223 - ], - [ - -77.366669, - 8.675001 - ] - ], - [ - [ - -77.986954, - 8.242224 - ], - [ - -78.003067, - 8.251112 - ], - [ - -77.992233, - 8.250555 - ], - [ - -77.986954, - 8.242224 - ] - ] - ] - ] - }, - "name" : "Panama", - "iso2" : "PA", - "iso3" : "PAN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "6L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -17.102501, - 32.823328 - ], - [ - -16.943611, - 32.637499 - ], - [ - -16.715557, - 32.75889 - ], - [ - -17.102501, - 32.823328 - ] - ] - ], - [ - [ - [ - -16.285835, - 33.094164 - ], - [ - -16.325558, - 33.108057 - ], - [ - -16.400558, - 33.038607 - ], - [ - -16.285835, - 33.094164 - ] - ] - ], - [ - [ - [ - -25.016392, - 36.969721 - ], - [ - -25.086391, - 37.023607 - ], - [ - -25.200558, - 36.985834 - ], - [ - -25.016392, - 36.969721 - ] - ] - ], - [ - [ - [ - -25.585003, - 37.826662 - ], - [ - -25.13028, - 37.811663 - ], - [ - -25.864723, - 37.850557 - ], - [ - -25.585003, - 37.826662 - ] - ] - ], - [ - [ - [ - -28.141113, - 38.449884 - ], - [ - -28.549446, - 38.527224 - ], - [ - -28.037781, - 38.406946 - ], - [ - -28.141113, - 38.449884 - ] - ] - ], - [ - [ - [ - -27.086945, - 38.631388 - ], - [ - -27.065834, - 38.764162 - ], - [ - -27.385002, - 38.76333 - ], - [ - -27.086945, - 38.631388 - ] - ] - ], - [ - [ - [ - -31.215557, - 39.353334 - ], - [ - -31.123058, - 39.448885 - ], - [ - -31.21389, - 39.521944 - ], - [ - -31.215557, - 39.353334 - ] - ] - ], - [ - [ - [ - -7.431854, - 37.253191 - ], - [ - -7.446945, - 37.699442 - ], - [ - -6.939167, - 38.178057 - ], - [ - -7.321112, - 38.449442 - ], - [ - -6.954792, - 39.026384 - ], - [ - -7.532505, - 39.66942 - ], - [ - -7.017221, - 39.674997 - ], - [ - -6.931667, - 41.018053 - ], - [ - -6.187222, - 41.579721 - ], - [ - -6.594166, - 41.953608 - ], - [ - -8.204723, - 41.87472 - ], - [ - -8.201223, - 42.152742 - ], - [ - -8.745008, - 41.952501 - ], - [ - -8.660833, - 40.68722 - ], - [ - -9.484446, - 38.710001 - ], - [ - -8.984446, - 38.947779 - ], - [ - -9.183889, - 38.419718 - ], - [ - -8.673334, - 38.413889 - ], - [ - -8.990278, - 37.02305 - ], - [ - -7.431854, - 37.253191 - ] - ] - ] - ] - }, - "name" : "Portugal", - "iso2" : "PT", - "iso3" : "PRT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "6b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 153.770815, - -11.616388 - ], - [ - 153.19803, - -11.324167 - ], - [ - 153.37607, - -11.567223 - ], - [ - 153.770815, - -11.616388 - ] - ] - ], - [ - [ - [ - 154.297762, - -11.391945 - ], - [ - 154.153872, - -11.314167 - ], - [ - 154.003328, - -11.38389 - ], - [ - 154.297762, - -11.391945 - ] - ] - ], - [ - [ - [ - 153.24106, - -11.26889 - ], - [ - 153.091066, - -11.197222 - ], - [ - 153.210512, - -11.285833 - ], - [ - 153.24106, - -11.26889 - ] - ] - ], - [ - [ - [ - 152.873293, - -10.662222 - ], - [ - 152.540804, - -10.630554 - ], - [ - 152.744417, - -10.716665 - ], - [ - 152.873293, - -10.662222 - ] - ] - ], - [ - [ - [ - 151.069704, - -10.611111 - ], - [ - 150.909975, - -10.654722 - ], - [ - 151.042208, - -10.676945 - ], - [ - 151.069704, - -10.611111 - ] - ] - ], - [ - [ - [ - 150.892214, - -10.650833 - ], - [ - 150.90027, - -10.553055 - ], - [ - 150.790804, - -10.542223 - ], - [ - 150.892214, - -10.650833 - ] - ] - ], - [ - [ - [ - 151.11606, - -10.046667 - ], - [ - 150.759981, - -9.707777 - ], - [ - 150.95859, - -10.110277 - ], - [ - 151.229128, - -10.201111 - ], - [ - 151.281374, - -9.923334 - ], - [ - 151.11606, - -10.046667 - ] - ] - ], - [ - [ - [ - 150.666658, - -9.438334 - ], - [ - 150.421907, - -9.389444 - ], - [ - 150.921633, - -9.670834 - ], - [ - 150.666658, - -9.438334 - ] - ] - ], - [ - [ - [ - 150.339144, - -9.524723 - ], - [ - 150.18915, - -9.211111 - ], - [ - 150.108309, - -9.36861 - ], - [ - 150.339144, - -9.524723 - ] - ] - ], - [ - [ - [ - 152.814974, - -8.972776 - ], - [ - 152.497744, - -9.021666 - ], - [ - 152.997194, - -9.173056 - ], - [ - 152.814974, - -8.972776 - ] - ] - ], - [ - [ - [ - 151.124971, - -8.425556 - ], - [ - 150.99692, - -8.528612 - ], - [ - 151.144442, - -8.830555 - ], - [ - 151.124971, - -8.425556 - ] - ] - ], - [ - [ - [ - 143.638033, - -8.733055 - ], - [ - 143.467196, - -8.527779 - ], - [ - 143.183596, - -8.42 - ], - [ - 143.638033, - -8.733055 - ] - ] - ], - [ - [ - [ - 143.572756, - -8.493889 - ], - [ - 143.57831, - -8.373888 - ], - [ - 143.314425, - -8.376665 - ], - [ - 143.572756, - -8.493889 - ] - ] - ], - [ - [ - [ - 143.687197, - -8.439722 - ], - [ - 143.672213, - -8.354445 - ], - [ - 143.60718, - -8.332777 - ], - [ - 143.687197, - -8.439722 - ] - ] - ], - [ - [ - [ - 143.697481, - -8.245277 - ], - [ - 143.733309, - -8.174723 - ], - [ - 143.651644, - -8.199722 - ], - [ - 143.697481, - -8.245277 - ] - ] - ], - [ - [ - [ - 143.677767, - -8.174723 - ], - [ - 143.700258, - -8.10611 - ], - [ - 143.604952, - -8.108889 - ], - [ - 143.677767, - -8.174723 - ] - ] - ], - [ - [ - [ - 143.731081, - -8.071667 - ], - [ - 143.565248, - -8.02 - ], - [ - 143.588564, - -8.071667 - ], - [ - 143.731081, - -8.071667 - ] - ] - ], - [ - [ - [ - 145.193575, - -7.867222 - ], - [ - 145.182467, - -7.827778 - ], - [ - 145.180544, - -7.861111 - ], - [ - 145.193575, - -7.867222 - ] - ] - ], - [ - [ - [ - 143.999697, - -7.824444 - ], - [ - 143.966921, - -7.748333 - ], - [ - 143.877169, - -7.709723 - ], - [ - 143.999697, - -7.824444 - ] - ] - ], - [ - [ - [ - 154.882448, - -5.543333 - ], - [ - 154.744387, - -5.939779 - ], - [ - 155.239962, - -6.622499 - ], - [ - 155.918581, - -6.807777 - ], - [ - 154.882448, - -5.543333 - ] - ] - ], - [ - [ - [ - 148.061495, - -5.777117 - ], - [ - 147.780275, - -5.494165 - ], - [ - 147.865114, - -5.747753 - ], - [ - 148.061495, - -5.777117 - ] - ] - ], - [ - [ - [ - 148.12079, - -5.468332 - ], - [ - 148.099703, - -5.377499 - ], - [ - 148.071627, - -5.424444 - ], - [ - 148.12079, - -5.468332 - ] - ] - ], - [ - [ - [ - 147.602175, - -5.361944 - ], - [ - 147.609133, - -5.288055 - ], - [ - 147.560518, - -5.31889 - ], - [ - 147.602175, - -5.361944 - ] - ] - ], - [ - [ - [ - 147.153322, - -5.44972 - ], - [ - 147.121065, - -5.191111 - ], - [ - 147.008028, - -5.350277 - ], - [ - 147.153322, - -5.44972 - ] - ] - ], - [ - [ - [ - 154.675539, - -5.440832 - ], - [ - 154.639162, - -5.016388 - ], - [ - 154.530275, - -5.133888 - ], - [ - 154.675539, - -5.440832 - ] - ] - ], - [ - [ - [ - 149.156923, - -4.923056 - ], - [ - 149.161928, - -4.866388 - ], - [ - 149.118013, - -4.889444 - ], - [ - 149.156923, - -4.923056 - ] - ] - ], - [ - [ - [ - 146.246614, - -4.8575 - ], - [ - 146.219973, - -4.788332 - ], - [ - 146.199404, - -4.833611 - ], - [ - 146.246614, - -4.8575 - ] - ] - ], - [ - [ - [ - 149.557192, - -4.718889 - ], - [ - 149.540255, - -4.653889 - ], - [ - 149.455812, - -4.679167 - ], - [ - 149.557192, - -4.718889 - ] - ] - ], - [ - [ - [ - 159.516939, - -4.578056 - ], - [ - 159.518862, - -4.536388 - ], - [ - 159.511385, - -4.576666 - ], - [ - 159.516939, - -4.578056 - ] - ] - ], - [ - [ - [ - 145.951357, - -4.764444 - ], - [ - 145.98163, - -4.5275 - ], - [ - 145.872469, - -4.672499 - ], - [ - 145.951357, - -4.764444 - ] - ] - ], - [ - [ - [ - 154.155245, - -4.438055 - ], - [ - 154.152773, - -4.379444 - ], - [ - 154.132723, - -4.371666 - ], - [ - 154.155245, - -4.438055 - ] - ] - ], - [ - [ - [ - 152.235231, - -4.207222 - ], - [ - 151.51166, - -4.204445 - ], - [ - 151.676088, - -4.908054 - ], - [ - 150.92441, - -5.487221 - ], - [ - 150.164431, - -5.551388 - ], - [ - 150.088869, - -5.007778 - ], - [ - 149.8808, - -5.535 - ], - [ - 148.428591, - -5.451111 - ], - [ - 148.323092, - -5.675377 - ], - [ - 149.056917, - -6.164165 - ], - [ - 150.468569, - -6.276112 - ], - [ - 151.459414, - -5.535833 - ], - [ - 152.096071, - -5.457222 - ], - [ - 151.970797, - -4.993332 - ], - [ - 152.405825, - -4.688889 - ], - [ - 152.235231, - -4.207222 - ] - ], - [ - [ - 149.053591, - -6.094166 - ], - [ - 149.043856, - -6.088612 - ], - [ - 149.05414, - -6.083889 - ], - [ - 149.053591, - -6.094166 - ] - ] - ], - [ - [ - [ - 145.057741, - -4.135277 - ], - [ - 145.109957, - -4.098333 - ], - [ - 145.06885, - -4.045 - ], - [ - 145.057741, - -4.135277 - ] - ] - ], - [ - [ - [ - 153.64554, - -4.140278 - ], - [ - 153.658602, - -4.019167 - ], - [ - 153.584414, - -4.095833 - ], - [ - 153.64554, - -4.140278 - ] - ] - ], - [ - [ - [ - 153.258333, - -3.498888 - ], - [ - 153.233583, - -3.446667 - ], - [ - 153.19385, - -3.468611 - ], - [ - 153.258333, - -3.498888 - ] - ] - ], - [ - [ - [ - 154.83304, - -3.510277 - ], - [ - 154.79941, - -3.424999 - ], - [ - 154.818575, - -3.530277 - ], - [ - 154.83304, - -3.510277 - ] - ] - ], - [ - [ - [ - 153.345247, - -3.411943 - ], - [ - 153.33359, - -3.371389 - ], - [ - 153.262484, - -3.404444 - ], - [ - 153.345247, - -3.411943 - ] - ] - ], - [ - [ - [ - 152.646364, - -3.228611 - ], - [ - 152.599703, - -3.048056 - ], - [ - 152.538881, - -3.10611 - ], - [ - 152.646364, - -3.228611 - ] - ] - ], - [ - [ - [ - 150.941347, - -2.921944 - ], - [ - 150.766085, - -2.979443 - ], - [ - 151.021639, - -2.971943 - ], - [ - 150.941347, - -2.921944 - ] - ] - ], - [ - [ - [ - 152.069979, - -3.001389 - ], - [ - 152.078859, - -2.928333 - ], - [ - 151.973574, - -2.848055 - ], - [ - 152.069979, - -3.001389 - ] - ] - ], - [ - [ - [ - 152.002199, - -2.828888 - ], - [ - 151.932467, - -2.708332 - ], - [ - 151.931643, - -2.8325 - ], - [ - 152.002199, - -2.828888 - ] - ] - ], - [ - [ - [ - 150.906527, - -2.635944 - ], - [ - 150.729677, - -2.740555 - ], - [ - 152.282473, - -3.572777 - ], - [ - 152.691652, - -4.180555 - ], - [ - 152.735506, - -4.660833 - ], - [ - 152.974672, - -4.766666 - ], - [ - 152.989687, - -4.075832 - ], - [ - 152.055819, - -3.247778 - ], - [ - 150.906527, - -2.635944 - ] - ] - ], - [ - [ - [ - 141.007021, - -9.128468 - ], - [ - 142.638887, - -9.334723 - ], - [ - 143.331636, - -9.028334 - ], - [ - 143.110231, - -8.470278 - ], - [ - 142.137209, - -8.225555 - ], - [ - 143.61191, - -8.243889 - ], - [ - 143.358309, - -7.9025 - ], - [ - 143.95801, - -7.978622 - ], - [ - 143.664827, - -7.467649 - ], - [ - 144.213015, - -7.795277 - ], - [ - 144.52054, - -7.501944 - ], - [ - 146.089693, - -8.09111 - ], - [ - 146.586641, - -8.999165 - ], - [ - 146.972475, - -9.029167 - ], - [ - 147.055239, - -9.466665 - ], - [ - 147.952456, - -10.145834 - ], - [ - 149.747744, - -10.342777 - ], - [ - 150.209688, - -10.700556 - ], - [ - 150.691347, - -10.561111 - ], - [ - 150.369112, - -10.321945 - ], - [ - 150.878298, - -10.231667 - ], - [ - 149.914156, - -10.048889 - ], - [ - 149.71747, - -9.826666 - ], - [ - 150.008883, - -9.631388 - ], - [ - 149.219973, - -9.474722 - ], - [ - 149.314699, - -9.01889 - ], - [ - 148.604128, - -9.0825 - ], - [ - 148.135256, - -8.066111 - ], - [ - 147.178591, - -7.463888 - ], - [ - 146.961367, - -6.747221 - ], - [ - 147.869417, - -6.660833 - ], - [ - 147.47687, - -5.974192 - ], - [ - 145.76639, - -5.485277 - ], - [ - 145.735506, - -4.802776 - ], - [ - 144.51166, - -3.820833 - ], - [ - 141.889986, - -2.969999 - ], - [ - 141.002474, - -2.607084 - ], - [ - 141.007021, - -9.128468 - ] - ] - ], - [ - [ - [ - 152.022219, - -2.6675 - ], - [ - 151.983858, - -2.596111 - ], - [ - 151.957735, - -2.664722 - ], - [ - 152.022219, - -2.6675 - ] - ] - ], - [ - [ - [ - 150.458315, - -2.65361 - ], - [ - 150.216372, - -2.377777 - ], - [ - 149.94858, - -2.471666 - ], - [ - 150.458315, - -2.65361 - ] - ] - ], - [ - [ - [ - 147.812471, - -2.349722 - ], - [ - 147.879122, - -2.293612 - ], - [ - 147.815248, - -2.24361 - ], - [ - 147.812471, - -2.349722 - ] - ] - ], - [ - [ - [ - 147.300814, - -2.025278 - ], - [ - 146.638582, - -1.978611 - ], - [ - 146.524996, - -2.190832 - ], - [ - 147.300814, - -2.025278 - ] - ] - ], - [ - [ - [ - 142.866365, - -1.697777 - ], - [ - 142.821077, - -1.695833 - ], - [ - 142.813601, - -1.732777 - ], - [ - 142.866365, - -1.697777 - ] - ] - ], - [ - [ - [ - 149.719698, - -1.433332 - ], - [ - 149.527773, - -1.454443 - ], - [ - 149.731905, - -1.603333 - ], - [ - 149.719698, - -1.433332 - ] - ] - ], - [ - [ - [ - 144.521914, - -1.395554 - ], - [ - 144.51639, - -1.381943 - ], - [ - 144.505556, - -1.380556 - ], - [ - 144.521914, - -1.395554 - ] - ] - ], - [ - [ - [ - 144.52054, - -1.120832 - ], - [ - 144.517214, - -1.098333 - ], - [ - 144.514437, - -1.11611 - ], - [ - 144.52054, - -1.120832 - ] - ] - ] - ] - }, - "name" : "Papua New Guinea", - "iso2" : "PG", - "iso3" : "PNG" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "6r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -15.885834, - 11.052221 - ], - [ - -15.94639, - 11.195 - ], - [ - -15.981112, - 11.049444 - ], - [ - -15.885834, - 11.052221 - ] - ] - ], - [ - [ - [ - -16.005836, - 11.068333 - ], - [ - -15.980556, - 11.202499 - ], - [ - -16.06139, - 11.163055 - ], - [ - -16.005836, - 11.068333 - ] - ] - ], - [ - [ - [ - -16.088058, - 11.025555 - ], - [ - -16.0825, - 11.206944 - ], - [ - -16.244167, - 11.100555 - ], - [ - -16.088058, - 11.025555 - ] - ] - ], - [ - [ - [ - -15.862223, - 11.199999 - ], - [ - -15.830278, - 11.300833 - ], - [ - -15.906389, - 11.224998 - ], - [ - -15.862223, - 11.199999 - ] - ] - ], - [ - [ - [ - -15.740002, - 11.166943 - ], - [ - -15.667501, - 11.306389 - ], - [ - -15.77639, - 11.225832 - ], - [ - -15.740002, - 11.166943 - ] - ] - ], - [ - [ - [ - -16.17778, - 11.215277 - ], - [ - -16.160835, - 11.290277 - ], - [ - -16.264446, - 11.281666 - ], - [ - -16.17778, - 11.215277 - ] - ] - ], - [ - [ - [ - -15.679724, - 11.439444 - ], - [ - -15.665834, - 11.502222 - ], - [ - -15.743057, - 11.458332 - ], - [ - -15.679724, - 11.439444 - ] - ] - ], - [ - [ - [ - -16.21278, - 11.439722 - ], - [ - -16.164448, - 11.514999 - ], - [ - -16.300556, - 11.449444 - ], - [ - -16.21278, - 11.439722 - ] - ] - ], - [ - [ - [ - -16.250557, - 11.536665 - ], - [ - -16.39389, - 11.545832 - ], - [ - -16.419445, - 11.482777 - ], - [ - -16.250557, - 11.536665 - ] - ] - ], - [ - [ - [ - -15.952501, - 11.423054 - ], - [ - -15.958334, - 11.594166 - ], - [ - -16.065002, - 11.44972 - ], - [ - -15.952501, - 11.423054 - ] - ] - ], - [ - [ - [ - -15.553057, - 11.517221 - ], - [ - -15.472223, - 11.631109 - ], - [ - -15.633612, - 11.535276 - ], - [ - -15.553057, - 11.517221 - ] - ] - ], - [ - [ - [ - -16.031948, - 11.755833 - ], - [ - -15.978334, - 11.905832 - ], - [ - -16.162224, - 11.86861 - ], - [ - -16.031948, - 11.755833 - ] - ] - ], - [ - [ - [ - -16.236389, - 11.836943 - ], - [ - -16.184723, - 11.876665 - ], - [ - -16.30167, - 11.971666 - ], - [ - -16.236389, - 11.836943 - ] - ] - ], - [ - [ - [ - -13.713139, - 12.677221 - ], - [ - -14.516945, - 12.679722 - ], - [ - -16.71777, - 12.322426 - ], - [ - -16.110558, - 12.330832 - ], - [ - -16.334446, - 12.15111 - ], - [ - -16.333893, - 11.996664 - ], - [ - -16.128056, - 11.881943 - ], - [ - -15.852779, - 12.016666 - ], - [ - -15.704445, - 12.004444 - ], - [ - -15.963335, - 11.734165 - ], - [ - -15.003889, - 11.974165 - ], - [ - -14.931946, - 11.750832 - ], - [ - -15.556667, - 11.723331 - ], - [ - -15.027224, - 11.594166 - ], - [ - -15.509167, - 11.338055 - ], - [ - -15.26528, - 11.425913 - ], - [ - -15.407223, - 11.184999 - ], - [ - -15.022779, - 11.195276 - ], - [ - -15.016848, - 10.956451 - ], - [ - -14.686945, - 11.509722 - ], - [ - -13.709167, - 11.715277 - ], - [ - -13.971035, - 12.154758 - ], - [ - -13.713139, - 12.677221 - ] - ] - ] - ] - }, - "name" : "Guinea-Bissau", - "iso2" : "GW", - "iso3" : "GNB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "671E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 51.51759, - 25.383415 - ], - [ - 51.568054, - 25.908333 - ], - [ - 51.042496, - 26.049442 - ], - [ - 50.830956, - 24.749966 - ], - [ - 51.215164, - 24.620888 - ], - [ - 51.611664, - 25.010277 - ], - [ - 51.51759, - 25.383415 - ] - ] - ] - }, - "name" : "Qatar", - "iso2" : "QA", - "iso3" : "QAT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "7L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 55.709999, - -20.998058 - ], - [ - 55.219719, - -21.027779 - ], - [ - 55.674164, - -21.37389 - ], - [ - 55.709999, - -20.998058 - ] - ] - ] - }, - "name" : "Reunion", - "iso2" : "RE", - "iso3" : "REU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "7b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 22.894804, - 47.95454 - ], - [ - 22.032497, - 47.530273 - ], - [ - 21.176666, - 46.295555 - ], - [ - 20.726955, - 46.17556 - ], - [ - 20.261024, - 46.114853 - ], - [ - 21.513611, - 45.151108 - ], - [ - 21.400398, - 44.780823 - ], - [ - 22.146385, - 44.479164 - ], - [ - 22.479164, - 44.710274 - ], - [ - 22.764893, - 44.559006 - ], - [ - 22.457333, - 44.474358 - ], - [ - 22.681435, - 44.224701 - ], - [ - 23.044167, - 44.076111 - ], - [ - 22.875275, - 43.842499 - ], - [ - 24.179996, - 43.684715 - ], - [ - 25.430229, - 43.626778 - ], - [ - 27.036427, - 44.147339 - ], - [ - 28.583244, - 43.747765 - ], - [ - 28.868324, - 44.943047 - ], - [ - 29.549438, - 44.820267 - ], - [ - 29.664331, - 45.211803 - ], - [ - 28.21484, - 45.448647 - ], - [ - 28.119717, - 46.854404 - ], - [ - 26.634995, - 48.257164 - ], - [ - 24.919441, - 47.711662 - ], - [ - 22.894804, - 47.95454 - ] - ] - ] - }, - "name" : "Romania", - "iso2" : "RO", - "iso3" : "ROU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "7r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 26.634995, - 48.257164 - ], - [ - 28.119717, - 46.854404 - ], - [ - 28.21484, - 45.448647 - ], - [ - 28.971935, - 46.006653 - ], - [ - 28.994434, - 46.478325 - ], - [ - 30.11694, - 46.386101 - ], - [ - 29.949997, - 46.814156 - ], - [ - 29.184441, - 47.443047 - ], - [ - 29.141937, - 47.986092 - ], - [ - 27.755554, - 48.451385 - ], - [ - 26.634995, - 48.257164 - ] - ] - ] - }, - "name" : "Republic of Moldova", - "iso2" : "MD", - "iso3" : "MDA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "771E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 119.472216, - 4.648054 - ], - [ - 119.510538, - 4.763887 - ], - [ - 119.455835, - 4.908888 - ], - [ - 119.472216, - 4.648054 - ] - ] - ], - [ - [ - [ - 120.019152, - 5.030279 - ], - [ - 120.014711, - 5.030832 - ], - [ - 120.018885, - 5.028612 - ], - [ - 120.019152, - 5.030279 - ] - ] - ], - [ - [ - [ - 119.947199, - 5.076944 - ], - [ - 119.941095, - 5.083612 - ], - [ - 119.934145, - 5.075834 - ], - [ - 119.947199, - 5.076944 - ] - ] - ], - [ - [ - [ - 120.244143, - 5.300833 - ], - [ - 120.231089, - 5.325003 - ], - [ - 120.226648, - 5.306391 - ], - [ - 120.244143, - 5.300833 - ] - ] - ], - [ - [ - [ - 120.253603, - 5.233335 - ], - [ - 120.177759, - 5.343611 - ], - [ - 119.831102, - 5.059164 - ], - [ - 120.253603, - 5.233335 - ] - ] - ], - [ - [ - [ - 125.414705, - 5.361113 - ], - [ - 125.405825, - 5.430277 - ], - [ - 125.329988, - 5.38722 - ], - [ - 125.414705, - 5.361113 - ] - ] - ], - [ - [ - [ - 125.478319, - 5.388334 - ], - [ - 125.479433, - 5.491945 - ], - [ - 125.450274, - 5.421946 - ], - [ - 125.478319, - 5.388334 - ] - ] - ], - [ - [ - [ - 120.869715, - 5.491388 - ], - [ - 120.90999, - 5.536112 - ], - [ - 120.843325, - 5.585001 - ], - [ - 120.869715, - 5.491388 - ] - ] - ], - [ - [ - [ - 121.18387, - 5.7875 - ], - [ - 121.146379, - 5.84889 - ], - [ - 121.139162, - 5.785276 - ], - [ - 121.18387, - 5.7875 - ] - ] - ], - [ - [ - [ - 121.185259, - 6.039999 - ], - [ - 120.875528, - 5.92111 - ], - [ - 121.425814, - 5.952501 - ], - [ - 121.185259, - 6.039999 - ] - ] - ], - [ - [ - [ - 121.863039, - 6.01639 - ], - [ - 121.953325, - 6.051111 - ], - [ - 121.762774, - 6.090834 - ], - [ - 121.863039, - 6.01639 - ] - ] - ], - [ - [ - [ - 120.568331, - 6.244722 - ], - [ - 120.599718, - 6.396112 - ], - [ - 120.47777, - 6.264166 - ], - [ - 120.568331, - 6.244722 - ] - ] - ], - [ - [ - [ - 122.230272, - 6.660833 - ], - [ - 121.79471, - 6.593611 - ], - [ - 122.033869, - 6.411112 - ], - [ - 122.230272, - 6.660833 - ] - ] - ], - [ - [ - [ - 118.533602, - 7.035002 - ], - [ - 118.417215, - 7.022223 - ], - [ - 118.54027, - 6.965277 - ], - [ - 118.533602, - 7.035002 - ] - ] - ], - [ - [ - [ - 125.794985, - 6.932775 - ], - [ - 125.699144, - 7.191668 - ], - [ - 125.669985, - 7.075003 - ], - [ - 125.794985, - 6.932775 - ] - ] - ], - [ - [ - [ - 117.022219, - 7.808889 - ], - [ - 117.065538, - 8.078611 - ], - [ - 116.949999, - 8.032221 - ], - [ - 117.022219, - 7.808889 - ] - ] - ], - [ - [ - [ - 117.298868, - 8.182222 - ], - [ - 117.318048, - 8.33111 - ], - [ - 117.268053, - 8.306108 - ], - [ - 117.298868, - 8.182222 - ] - ] - ], - [ - [ - [ - 126.23665, - 9.008333 - ], - [ - 126.229433, - 9.013056 - ], - [ - 126.231661, - 8.998053 - ], - [ - 126.23665, - 9.008333 - ] - ] - ], - [ - [ - [ - 126.263613, - 8.997221 - ], - [ - 126.260538, - 9.006666 - ], - [ - 126.246645, - 9.013613 - ], - [ - 126.263613, - 8.997221 - ] - ] - ], - [ - [ - [ - 123.67499, - 9.226389 - ], - [ - 123.457209, - 9.190554 - ], - [ - 123.609423, - 9.092222 - ], - [ - 123.67499, - 9.226389 - ] - ] - ], - [ - [ - [ - 124.778589, - 9.075556 - ], - [ - 124.672762, - 9.253054 - ], - [ - 124.643602, - 9.155279 - ], - [ - 124.778589, - 9.075556 - ] - ] - ], - [ - [ - [ - 123.773615, - 9.544165 - ], - [ - 123.844995, - 9.63611 - ], - [ - 123.744715, - 9.595278 - ], - [ - 123.773615, - 9.544165 - ] - ] - ], - [ - [ - [ - 125.952478, - 9.557501 - ], - [ - 125.938311, - 9.756388 - ], - [ - 125.900545, - 9.616941 - ], - [ - 125.952478, - 9.557501 - ] - ] - ], - [ - [ - [ - 126.048601, - 9.231943 - ], - [ - 125.440264, - 9.809164 - ], - [ - 125.514711, - 9.006666 - ], - [ - 124.803865, - 9.001665 - ], - [ - 124.72748, - 8.486387 - ], - [ - 124.432215, - 8.615274 - ], - [ - 123.671099, - 7.95389 - ], - [ - 123.818048, - 8.476942 - ], - [ - 123.379152, - 8.727221 - ], - [ - 122.923029, - 8.150831 - ], - [ - 122.223314, - 7.962221 - ], - [ - 121.921099, - 6.994165 - ], - [ - 122.149988, - 6.905279 - ], - [ - 122.623873, - 7.773054 - ], - [ - 122.832766, - 7.275278 - ], - [ - 123.116381, - 7.729445 - ], - [ - 123.454714, - 7.367498 - ], - [ - 123.676653, - 7.812498 - ], - [ - 124.268602, - 7.374445 - ], - [ - 123.948595, - 6.823336 - ], - [ - 124.185808, - 6.210554 - ], - [ - 124.956942, - 5.851389 - ], - [ - 125.263613, - 6.091665 - ], - [ - 125.40555, - 5.563334 - ], - [ - 125.703325, - 6.027224 - ], - [ - 125.377199, - 6.719721 - ], - [ - 125.652208, - 7.236666 - ], - [ - 125.855555, - 7.349722 - ], - [ - 126.191652, - 6.272223 - ], - [ - 126.16527, - 6.881666 - ], - [ - 126.585825, - 7.285002 - ], - [ - 126.048601, - 9.231943 - ] - ] - ], - [ - [ - [ - 124.57416, - 9.854719 - ], - [ - 124.57416, - 9.863333 - ], - [ - 124.565538, - 9.861944 - ], - [ - 124.566095, - 9.849443 - ], - [ - 124.57416, - 9.854719 - ] - ] - ], - [ - [ - [ - 123.384432, - 9.878885 - ], - [ - 123.379702, - 9.888056 - ], - [ - 123.37221, - 9.880552 - ], - [ - 123.384432, - 9.878885 - ] - ] - ], - [ - [ - [ - 126.113039, - 9.744444 - ], - [ - 126.060259, - 10.054167 - ], - [ - 125.945536, - 9.830832 - ], - [ - 126.113039, - 9.744444 - ] - ] - ], - [ - [ - [ - 124.483873, - 10.050833 - ], - [ - 124.148882, - 10.146944 - ], - [ - 123.793322, - 9.729445 - ], - [ - 124.365541, - 9.626944 - ], - [ - 124.483873, - 10.050833 - ] - ] - ], - [ - [ - [ - 125.286928, - 9.909166 - ], - [ - 125.217485, - 10.122221 - ], - [ - 125.12665, - 10.155832 - ], - [ - 125.286928, - 9.909166 - ] - ] - ], - [ - [ - [ - 125.659418, - 9.82472 - ], - [ - 125.645266, - 10.468889 - ], - [ - 125.475275, - 10.131109 - ], - [ - 125.659418, - 9.82472 - ] - ] - ], - [ - [ - [ - 119.827211, - 10.439722 - ], - [ - 120.002489, - 10.591387 - ], - [ - 119.758333, - 10.556944 - ], - [ - 119.827211, - 10.439722 - ] - ] - ], - [ - [ - [ - 124.367205, - 10.607775 - ], - [ - 124.320543, - 10.706942 - ], - [ - 124.27582, - 10.587778 - ], - [ - 124.367205, - 10.607775 - ] - ] - ], - [ - [ - [ - 124.437479, - 10.624998 - ], - [ - 124.517488, - 10.659445 - ], - [ - 124.451395, - 10.714998 - ], - [ - 124.437479, - 10.624998 - ] - ] - ], - [ - [ - [ - 122.635271, - 10.443609 - ], - [ - 122.659418, - 10.748331 - ], - [ - 122.479715, - 10.487776 - ], - [ - 122.635271, - 10.443609 - ] - ] - ], - [ - [ - [ - 125.802469, - 10.688887 - ], - [ - 125.692202, - 10.82361 - ], - [ - 125.662493, - 10.750834 - ], - [ - 125.802469, - 10.688887 - ] - ] - ], - [ - [ - [ - 123.563875, - 10.794165 - ], - [ - 122.952478, - 10.894445 - ], - [ - 122.858324, - 10.097498 - ], - [ - 122.452768, - 9.973333 - ], - [ - 123.014711, - 9.033888 - ], - [ - 123.296373, - 9.229719 - ], - [ - 123.136385, - 9.836111 - ], - [ - 123.563875, - 10.794165 - ] - ] - ], - [ - [ - [ - 121.040545, - 10.791945 - ], - [ - 121.081102, - 10.905279 - ], - [ - 121.003885, - 10.836111 - ], - [ - 121.040545, - 10.791945 - ] - ] - ], - [ - [ - [ - 124.019876, - 11.118944 - ], - [ - 123.310259, - 9.411943 - ], - [ - 124.026934, - 10.381941 - ], - [ - 124.019876, - 11.118944 - ] - ] - ], - [ - [ - [ - 123.750818, - 11.147501 - ], - [ - 123.733049, - 11.300554 - ], - [ - 123.692751, - 11.221388 - ], - [ - 123.750818, - 11.147501 - ] - ] - ], - [ - [ - [ - 119.508577, - 11.335608 - ], - [ - 119.456102, - 10.723608 - ], - [ - 119.216928, - 10.959997 - ], - [ - 119.312479, - 10.582499 - ], - [ - 117.185808, - 8.325556 - ], - [ - 119.712488, - 10.497499 - ], - [ - 119.508577, - 11.335608 - ] - ] - ], - [ - [ - [ - 119.533869, - 11.362497 - ], - [ - 119.54027, - 11.373053 - ], - [ - 119.522219, - 11.366667 - ], - [ - 119.533869, - 11.362497 - ] - ] - ], - [ - [ - [ - 119.832491, - 11.376944 - ], - [ - 119.87137, - 11.506666 - ], - [ - 119.714708, - 11.47611 - ], - [ - 119.832491, - 11.376944 - ] - ] - ], - [ - [ - [ - 124.638895, - 11.293333 - ], - [ - 124.289705, - 11.541388 - ], - [ - 125.014711, - 10.027777 - ], - [ - 124.980272, - 10.379164 - ], - [ - 125.271654, - 10.297499 - ], - [ - 125.029985, - 11.195833 - ], - [ - 124.947481, - 11.425001 - ], - [ - 124.638895, - 11.293333 - ] - ] - ], - [ - [ - [ - 124.584719, - 11.472498 - ], - [ - 124.531374, - 11.67972 - ], - [ - 124.338884, - 11.680834 - ], - [ - 124.584719, - 11.472498 - ] - ] - ], - [ - [ - [ - 124.831675, - 11.528887 - ], - [ - 124.84276, - 11.591665 - ], - [ - 124.71805, - 11.727221 - ], - [ - 124.831675, - 11.528887 - ] - ] - ], - [ - [ - [ - 122.229433, - 11.797777 - ], - [ - 121.84804, - 11.76 - ], - [ - 122.098879, - 11.699999 - ], - [ - 121.943316, - 10.416388 - ], - [ - 123.128595, - 11.174444 - ], - [ - 123.153055, - 11.600275 - ], - [ - 122.880816, - 11.429167 - ], - [ - 122.229433, - 11.797777 - ] - ] - ], - [ - [ - [ - 119.965273, - 11.656942 - ], - [ - 120.070543, - 11.865 - ], - [ - 119.884989, - 11.97611 - ], - [ - 119.965273, - 11.656942 - ] - ], - [ - [ - 120.046373, - 11.823332 - ], - [ - 120.043871, - 11.824442 - ], - [ - 120.046099, - 11.826387 - ], - [ - 120.046373, - 11.823332 - ] - ] - ], - [ - [ - [ - 120.268053, - 11.826944 - ], - [ - 120.254442, - 11.982222 - ], - [ - 120.202768, - 11.946112 - ], - [ - 120.268053, - 11.826944 - ] - ] - ], - [ - [ - [ - 120.084719, - 11.958609 - ], - [ - 120.061655, - 11.992498 - ], - [ - 120.065538, - 11.964167 - ], - [ - 120.084719, - 11.958609 - ] - ] - ], - [ - [ - [ - 119.953585, - 12.021666 - ], - [ - 119.959414, - 12.036943 - ], - [ - 119.950258, - 12.030554 - ], - [ - 119.953585, - 12.021666 - ] - ] - ], - [ - [ - [ - 121.137499, - 12.157499 - ], - [ - 121.045824, - 12.290556 - ], - [ - 121.042765, - 12.229445 - ], - [ - 121.137499, - 12.157499 - ] - ] - ], - [ - [ - [ - 120.168299, - 12.11833 - ], - [ - 119.873873, - 12.314444 - ], - [ - 120.339983, - 11.992777 - ], - [ - 120.168299, - 12.11833 - ] - ] - ], - [ - [ - [ - 122.681093, - 12.308054 - ], - [ - 122.669436, - 12.48361 - ], - [ - 122.432482, - 12.461111 - ], - [ - 122.681093, - 12.308054 - ] - ] - ], - [ - [ - [ - 124.463884, - 12.520834 - ], - [ - 124.258043, - 12.555555 - ], - [ - 124.386934, - 12.190275 - ], - [ - 125.042482, - 11.747221 - ], - [ - 124.843599, - 11.466387 - ], - [ - 124.969995, - 11.4475 - ], - [ - 125.269442, - 11.128054 - ], - [ - 125.760271, - 11.011667 - ], - [ - 125.296946, - 12.457499 - ], - [ - 124.463884, - 12.520834 - ] - ], - [ - [ - 125.672495, - 11.089998 - ], - [ - 125.664705, - 11.102777 - ], - [ - 125.681932, - 11.103609 - ], - [ - 125.672495, - 11.089998 - ] - ] - ], - [ - [ - [ - 123.669436, - 12.346945 - ], - [ - 123.241655, - 12.606943 - ], - [ - 123.157763, - 11.908609 - ], - [ - 123.530275, - 12.208609 - ], - [ - 124.076395, - 11.718332 - ], - [ - 123.669436, - 12.346945 - ] - ] - ], - [ - [ - [ - 122.306932, - 12.486387 - ], - [ - 122.283052, - 12.633333 - ], - [ - 122.248034, - 12.56111 - ], - [ - 122.306932, - 12.486387 - ] - ] - ], - [ - [ - [ - 123.792215, - 12.344999 - ], - [ - 123.72777, - 12.601664 - ], - [ - 123.585543, - 12.660555 - ], - [ - 123.792215, - 12.344999 - ] - ] - ], - [ - [ - [ - 122.048601, - 12.176664 - ], - [ - 122.122759, - 12.676943 - ], - [ - 121.917482, - 12.304167 - ], - [ - 122.048601, - 12.176664 - ] - ] - ], - [ - [ - [ - 123.382479, - 12.691942 - ], - [ - 123.048601, - 13.134722 - ], - [ - 122.931932, - 13.109999 - ], - [ - 123.382479, - 12.691942 - ] - ] - ], - [ - [ - [ - 124.21805, - 13.172499 - ], - [ - 124.163309, - 13.232222 - ], - [ - 124.078325, - 13.211111 - ], - [ - 124.21805, - 13.172499 - ] - ] - ], - [ - [ - [ - 124.046099, - 13.220552 - ], - [ - 124.098879, - 13.260557 - ], - [ - 123.914995, - 13.286386 - ], - [ - 123.956102, - 13.2325 - ], - [ - 124.046099, - 13.220552 - ] - ] - ], - [ - [ - [ - 123.913042, - 13.243055 - ], - [ - 123.890482, - 13.27878 - ], - [ - 123.930819, - 13.324442 - ], - [ - 123.851091, - 13.351942 - ], - [ - 123.853868, - 13.267221 - ], - [ - 123.879152, - 13.229445 - ], - [ - 123.913042, - 13.243055 - ] - ] - ], - [ - [ - [ - 122.151384, - 13.395555 - ], - [ - 122.126085, - 13.421946 - ], - [ - 122.131655, - 13.400831 - ], - [ - 122.151384, - 13.395555 - ] - ] - ], - [ - [ - [ - 122.123438, - 13.404104 - ], - [ - 121.813311, - 13.44861 - ], - [ - 122.003328, - 13.202223 - ], - [ - 122.123438, - 13.404104 - ] - ] - ], - [ - [ - [ - 120.721651, - 13.477777 - ], - [ - 120.303308, - 13.443609 - ], - [ - 121.220545, - 12.230555 - ], - [ - 121.558321, - 12.60111 - ], - [ - 121.502214, - 13.14889 - ], - [ - 120.721651, - 13.477777 - ] - ] - ], - [ - [ - [ - 120.281939, - 13.754168 - ], - [ - 120.079988, - 13.849165 - ], - [ - 120.274698, - 13.668333 - ], - [ - 120.281939, - 13.754168 - ] - ] - ], - [ - [ - [ - 124.287363, - 13.946177 - ], - [ - 124.03055, - 13.663889 - ], - [ - 124.20804, - 13.515276 - ], - [ - 124.287363, - 13.946177 - ] - ] - ], - [ - [ - [ - 124.301088, - 13.952223 - ], - [ - 124.303041, - 13.96361 - ], - [ - 124.294146, - 13.958055 - ], - [ - 124.301088, - 13.952223 - ] - ] - ], - [ - [ - [ - 124.342211, - 13.942221 - ], - [ - 124.325274, - 13.981943 - ], - [ - 124.312761, - 13.955 - ], - [ - 124.342211, - 13.942221 - ] - ] - ], - [ - [ - [ - 122.171099, - 13.99861 - ], - [ - 122.124422, - 14.088888 - ], - [ - 121.917482, - 14.185278 - ], - [ - 122.171099, - 13.99861 - ] - ] - ], - [ - [ - [ - 122.254175, - 14.722498 - ], - [ - 122.213045, - 14.839167 - ], - [ - 122.098604, - 14.837778 - ], - [ - 122.254175, - 14.722498 - ] - ] - ], - [ - [ - [ - 122.050814, - 14.996664 - ], - [ - 121.819155, - 14.991667 - ], - [ - 121.930819, - 14.629164 - ], - [ - 122.050814, - 14.996664 - ] - ] - ], - [ - [ - [ - 120.000269, - 16.225554 - ], - [ - 120.002779, - 16.340555 - ], - [ - 119.974154, - 16.346666 - ], - [ - 119.924425, - 16.299444 - ], - [ - 120.000269, - 16.225554 - ] - ] - ], - [ - [ - [ - 121.256655, - 18.566111 - ], - [ - 120.570543, - 18.490831 - ], - [ - 120.421923, - 16.155832 - ], - [ - 120.156649, - 16.036112 - ], - [ - 119.935259, - 16.242773 - ], - [ - 119.919146, - 16.290277 - ], - [ - 119.928865, - 16.384996 - ], - [ - 119.786928, - 16.323053 - ], - [ - 120.086115, - 14.785276 - ], - [ - 120.493319, - 14.42972 - ], - [ - 120.551653, - 14.826944 - ], - [ - 120.956652, - 14.636946 - ], - [ - 120.592211, - 14.231112 - ], - [ - 120.661104, - 13.768332 - ], - [ - 121.279428, - 13.593889 - ], - [ - 121.754709, - 13.964445 - ], - [ - 122.607485, - 13.163889 - ], - [ - 122.560999, - 13.936567 - ], - [ - 123.322222, - 13.008612 - ], - [ - 124.028589, - 12.963053 - ], - [ - 123.848879, - 12.731943 - ], - [ - 124.082766, - 12.540556 - ], - [ - 124.195826, - 13.057775 - ], - [ - 123.762774, - 13.061666 - ], - [ - 123.531939, - 13.575556 - ], - [ - 123.92499, - 13.789167 - ], - [ - 123.34305, - 14.086943 - ], - [ - 123.099993, - 13.667498 - ], - [ - 122.71332, - 14.338331 - ], - [ - 122.165545, - 14.158056 - ], - [ - 122.233324, - 13.897223 - ], - [ - 121.733873, - 14.170832 - ], - [ - 121.378862, - 15.33222 - ], - [ - 122.533335, - 17.099443 - ], - [ - 122.170259, - 17.607222 - ], - [ - 122.241655, - 18.512777 - ], - [ - 121.936655, - 18.269445 - ], - [ - 121.256655, - 18.566111 - ] - ], - [ - [ - 122.735262, - 13.774168 - ], - [ - 122.72748, - 13.777224 - ], - [ - 122.744982, - 13.781668 - ], - [ - 122.735262, - 13.774168 - ] - ] - ], - [ - [ - [ - 121.400545, - 18.847219 - ], - [ - 121.484423, - 18.882776 - ], - [ - 121.279428, - 18.86611 - ], - [ - 121.400545, - 18.847219 - ] - ] - ], - [ - [ - [ - 121.882753, - 18.833334 - ], - [ - 121.946093, - 19.004446 - ], - [ - 121.833055, - 18.880552 - ], - [ - 121.882753, - 18.833334 - ] - ] - ], - [ - [ - [ - 121.25139, - 19.011946 - ], - [ - 121.220263, - 19.172773 - ], - [ - 121.201929, - 19.065275 - ], - [ - 121.25139, - 19.011946 - ] - ] - ], - [ - [ - [ - 121.539705, - 19.266668 - ], - [ - 121.53055, - 19.389719 - ], - [ - 121.372759, - 19.364443 - ], - [ - 121.539705, - 19.266668 - ] - ] - ], - [ - [ - [ - 121.974703, - 19.479998 - ], - [ - 121.993593, - 19.565275 - ], - [ - 121.903055, - 19.550276 - ], - [ - 121.974703, - 19.479998 - ] - ] - ], - [ - [ - [ - 121.886934, - 20.283335 - ], - [ - 121.846369, - 20.352777 - ], - [ - 121.841928, - 20.282499 - ], - [ - 121.886934, - 20.283335 - ] - ] - ], - [ - [ - [ - 121.954439, - 20.348608 - ], - [ - 122.026659, - 20.483332 - ], - [ - 121.923868, - 20.407221 - ], - [ - 121.954439, - 20.348608 - ] - ] - ], - [ - [ - [ - 121.812189, - 20.686663 - ], - [ - 121.883333, - 20.765276 - ], - [ - 121.870821, - 20.834723 - ], - [ - 121.812189, - 20.686663 - ] - ] - ], - [ - [ - [ - 121.956942, - 21.103609 - ], - [ - 121.949709, - 21.118055 - ], - [ - 121.949419, - 21.106108 - ], - [ - 121.956942, - 21.103609 - ] - ] - ] - ] - }, - "name" : "Philippines", - "iso2" : "PH", - "iso3" : "PHL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "8L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -67.880569, - 18.048332 - ], - [ - -67.84668, - 18.107498 - ], - [ - -67.930847, - 18.109722 - ], - [ - -67.880569, - 18.048332 - ] - ] - ], - [ - [ - [ - -65.441391, - 18.090275 - ], - [ - -65.301117, - 18.147778 - ], - [ - -65.580292, - 18.114719 - ], - [ - -65.441391, - 18.090275 - ] - ] - ], - [ - [ - [ - -65.242783, - 18.302219 - ], - [ - -65.338898, - 18.346664 - ], - [ - -65.275284, - 18.276943 - ], - [ - -65.242783, - 18.302219 - ] - ] - ], - [ - [ - [ - -66.996674, - 18.504997 - ], - [ - -67.266113, - 18.368053 - ], - [ - -67.187225, - 17.932499 - ], - [ - -65.603058, - 18.232498 - ], - [ - -66.996674, - 18.504997 - ] - ] - ] - ] - }, - "name" : "Puerto Rico", - "iso2" : "PR", - "iso3" : "PRI" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "8b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 180, - 71.53586 - ], - [ - 178.617739, - 71.03554 - ], - [ - 178.791018, - 70.796404 - ], - [ - 180, - 70.99721 - ], - [ - 180, - 71.53586 - ] - ] - ], - [ - [ - [ - 130.604372, - 42.421862 - ], - [ - 130.638887, - 42.406939 - ], - [ - 130.69742, - 42.292208 - ], - [ - 130.699984, - 42.679163 - ], - [ - 131.221346, - 42.555826 - ], - [ - 131.810518, - 43.325556 - ], - [ - 132.056368, - 43.313326 - ], - [ - 131.943026, - 43.063883 - ], - [ - 132.352175, - 43.292772 - ], - [ - 132.310518, - 42.844439 - ], - [ - 133.151369, - 42.682215 - ], - [ - 135.129671, - 43.49888 - ], - [ - 140.175814, - 48.448603 - ], - [ - 140.407473, - 49.87166 - ], - [ - 140.695803, - 50.087496 - ], - [ - 140.460512, - 50.706659 - ], - [ - 141.514162, - 52.213327 - ], - [ - 140.705538, - 53.113054 - ], - [ - 141.199984, - 52.986383 - ], - [ - 141.41913, - 53.290277 - ], - [ - 139.74634, - 54.308886 - ], - [ - 138.641939, - 54.295275 - ], - [ - 138.444124, - 53.510553 - ], - [ - 138.239412, - 53.562494 - ], - [ - 138.553865, - 53.989435 - ], - [ - 137.310793, - 53.53277 - ], - [ - 137.859133, - 53.961382 - ], - [ - 137.307985, - 54.114443 - ], - [ - 137.738863, - 54.317217 - ], - [ - 137.187166, - 54.214716 - ], - [ - 137.061892, - 54.140833 - ], - [ - 137.289125, - 54.033609 - ], - [ - 137.172487, - 53.834719 - ], - [ - 136.760805, - 53.768602 - ], - [ - 136.816072, - 54.651384 - ], - [ - 135.736635, - 54.570551 - ], - [ - 135.154421, - 54.859438 - ], - [ - 140.49634, - 57.823328 - ], - [ - 140.68857, - 58.233881 - ], - [ - 142.1597, - 59.069162 - ], - [ - 143.926363, - 59.413324 - ], - [ - 148.898043, - 59.239161 - ], - [ - 148.743013, - 59.491663 - ], - [ - 149.598574, - 59.771379 - ], - [ - 152.287752, - 59.226938 - ], - [ - 151.07358, - 59.110552 - ], - [ - 151.30942, - 58.836939 - ], - [ - 152.877169, - 58.917498 - ], - [ - 153.368563, - 59.243052 - ], - [ - 154.74164, - 59.12694 - ], - [ - 155.190523, - 59.357805 - ], - [ - 154.114138, - 59.459719 - ], - [ - 154.232729, - 59.881937 - ], - [ - 157.486635, - 61.803324 - ], - [ - 159.247469, - 61.92222 - ], - [ - 159.531099, - 61.662767 - ], - [ - 160.354952, - 61.947489 - ], - [ - 159.827181, - 61.261385 - ], - [ - 159.78055, - 60.940828 - ], - [ - 160.391359, - 61.025827 - ], - [ - 160.137758, - 60.583605 - ], - [ - 162.403322, - 61.672495 - ], - [ - 163.288027, - 61.664438 - ], - [ - 162.950258, - 61.806383 - ], - [ - 163.263613, - 62.545 - ], - [ - 164.359407, - 62.712214 - ], - [ - 165.642488, - 62.452776 - ], - [ - 164.127748, - 62.28277 - ], - [ - 163.658327, - 60.871935 - ], - [ - 161.914431, - 60.42277 - ], - [ - 158.233309, - 58.019442 - ], - [ - 156.748842, - 57.728327 - ], - [ - 156.977755, - 57.414438 - ], - [ - 155.948854, - 56.666101 - ], - [ - 155.54413, - 55.303606 - ], - [ - 156.668306, - 50.881662 - ], - [ - 158.27582, - 51.936655 - ], - [ - 158.644716, - 52.894716 - ], - [ - 158.430544, - 53.021936 - ], - [ - 160.055239, - 53.093607 - ], - [ - 159.791658, - 53.514719 - ], - [ - 160.005831, - 54.139162 - ], - [ - 162.112185, - 54.761942 - ], - [ - 161.712465, - 55.496943 - ], - [ - 162.036928, - 56.061663 - ], - [ - 162.572206, - 56.267214 - ], - [ - 162.393587, - 56.399996 - ], - [ - 163.089144, - 56.534166 - ], - [ - 162.645266, - 56.191935 - ], - [ - 163.354677, - 56.198603 - ], - [ - 163.213869, - 56.740549 - ], - [ - 162.791353, - 56.791109 - ], - [ - 162.73691, - 57.357775 - ], - [ - 163.213594, - 57.836107 - ], - [ - 162.571077, - 57.951105 - ], - [ - 162.346071, - 57.684717 - ], - [ - 161.938875, - 58.074442 - ], - [ - 163.044771, - 59.010317 - ], - [ - 162.876345, - 59.128046 - ], - [ - 163.193575, - 59.053606 - ], - [ - 163.173037, - 59.55916 - ], - [ - 163.63553, - 60.045549 - ], - [ - 164.15555, - 59.852777 - ], - [ - 164.468569, - 60.111383 - ], - [ - 164.832186, - 59.781107 - ], - [ - 165.182467, - 59.981104 - ], - [ - 164.997194, - 60.129435 - ], - [ - 166.348574, - 60.486383 - ], - [ - 166.137758, - 59.815271 - ], - [ - 167.050264, - 60.323885 - ], - [ - 169.210238, - 60.622766 - ], - [ - 170.248842, - 59.909433 - ], - [ - 170.641939, - 60.417498 - ], - [ - 172.956087, - 61.302774 - ], - [ - 172.710787, - 61.429995 - ], - [ - 177.265535, - 62.574717 - ], - [ - 176.975527, - 62.865549 - ], - [ - 179.061373, - 62.284723 - ], - [ - 179.561098, - 62.621378 - ], - [ - 179.236635, - 62.994158 - ], - [ - 179.408602, - 63.142771 - ], - [ - 178.772219, - 63.594995 - ], - [ - 178.688021, - 63.383051 - ], - [ - 178.26166, - 63.562494 - ], - [ - 178.757479, - 63.639994 - ], - [ - 178.367464, - 64.273882 - ], - [ - 177.631899, - 64.31888 - ], - [ - 177.486086, - 64.761385 - ], - [ - 174.436647, - 64.688311 - ], - [ - 177.303316, - 64.827776 - ], - [ - 176.302767, - 65.04999 - ], - [ - 176.899721, - 65.083605 - ], - [ - 177.609407, - 64.71805 - ], - [ - 178.755556, - 64.682207 - ], - [ - 178.522219, - 64.588045 - ], - [ - 180, - 65.068911 - ], - [ - 180, - 68.980104 - ], - [ - 176.11191, - 69.890551 - ], - [ - 173.191927, - 69.779711 - ], - [ - 170.471895, - 70.134157 - ], - [ - 170.567202, - 69.778048 - ], - [ - 170.123842, - 69.609987 - ], - [ - 170.609133, - 69.580278 - ], - [ - 171.031923, - 69.042208 - ], - [ - 170.61194, - 68.756334 - ], - [ - 168.283327, - 69.241655 - ], - [ - 167.786928, - 69.776094 - ], - [ - 166.860506, - 69.490541 - ], - [ - 164.014437, - 69.767488 - ], - [ - 161.446077, - 69.385546 - ], - [ - 161.579683, - 68.914995 - ], - [ - 161.319429, - 68.792482 - ], - [ - 161.127748, - 68.555254 - ], - [ - 160.846071, - 68.522768 - ], - [ - 161.066072, - 68.563311 - ], - [ - 161.411654, - 68.979708 - ], - [ - 160.963869, - 69.103594 - ], - [ - 160.995241, - 69.58832 - ], - [ - 159.729677, - 69.834719 - ], - [ - 160.038027, - 70.40555 - ], - [ - 159.053865, - 70.869143 - ], - [ - 155.937197, - 71.094439 - ], - [ - 152.538301, - 70.83777 - ], - [ - 151.663607, - 70.980822 - ], - [ - 152.141085, - 70.997484 - ], - [ - 151.45331, - 71.343325 - ], - [ - 150.023592, - 71.207491 - ], - [ - 150.667757, - 71.489428 - ], - [ - 148.82358, - 71.669985 - ], - [ - 150.075258, - 71.883883 - ], - [ - 149.185244, - 72.22249 - ], - [ - 147.139711, - 72.317217 - ], - [ - 146.088289, - 71.793871 - ], - [ - 145.31885, - 71.658037 - ], - [ - 144.913301, - 71.695818 - ], - [ - 145.216341, - 71.827211 - ], - [ - 144.956911, - 71.95833 - ], - [ - 145.802401, - 71.925539 - ], - [ - 145.614962, - 72.080553 - ], - [ - 145.749117, - 72.207216 - ], - [ - 145.608309, - 72.243593 - ], - [ - 145.711641, - 72.252214 - ], - [ - 145.898317, - 72.206102 - ], - [ - 145.985506, - 72.061373 - ], - [ - 146.339968, - 72.128038 - ], - [ - 145.988558, - 72.025545 - ], - [ - 145.964663, - 71.846941 - ], - [ - 146.930269, - 72.30942 - ], - [ - 145.086367, - 72.259157 - ], - [ - 144.391939, - 72.171923 - ], - [ - 144.138582, - 72.27083 - ], - [ - 146.848024, - 72.34749 - ], - [ - 140.748842, - 72.889437 - ], - [ - 141.024141, - 72.585817 - ], - [ - 139.085238, - 72.233324 - ], - [ - 140.198305, - 72.203325 - ], - [ - 139.336641, - 71.945528 - ], - [ - 139.932467, - 71.484987 - ], - [ - 138.066072, - 71.57361 - ], - [ - 137.824129, - 71.383883 - ], - [ - 138.221346, - 71.262209 - ], - [ - 137.854128, - 71.111376 - ], - [ - 135.864962, - 71.639711 - ], - [ - 133.67914, - 71.433321 - ], - [ - 132.728029, - 71.941927 - ], - [ - 131.946627, - 71.289156 - ], - [ - 132.184694, - 71.214708 - ], - [ - 131.130251, - 70.731096 - ], - [ - 128.847445, - 71.601381 - ], - [ - 129.539949, - 71.722216 - ], - [ - 129.072481, - 72.00194 - ], - [ - 129.179934, - 71.800264 - ], - [ - 128.711641, - 71.77054 - ], - [ - 127.658602, - 72.34749 - ], - [ - 126.719149, - 72.388887 - ], - [ - 127.326082, - 71.898043 - ], - [ - 127.220545, - 71.392488 - ], - [ - 127.129412, - 71.851091 - ], - [ - 126.372484, - 72.353319 - ], - [ - 126.117754, - 72.266939 - ], - [ - 124.729715, - 72.626375 - ], - [ - 121.865808, - 72.96805 - ], - [ - 119.817759, - 72.935808 - ], - [ - 118.392214, - 73.235811 - ], - [ - 118.993876, - 73.489153 - ], - [ - 118.634432, - 73.571657 - ], - [ - 113.475275, - 73.504168 - ], - [ - 114.033869, - 73.341936 - ], - [ - 113.546946, - 73.242205 - ], - [ - 113.530825, - 72.960268 - ], - [ - 113.151094, - 72.839434 - ], - [ - 114.04471, - 72.597216 - ], - [ - 113.178591, - 72.723604 - ], - [ - 113.104433, - 72.853594 - ], - [ - 113.486368, - 72.95833 - ], - [ - 113.499422, - 73.334154 - ], - [ - 112.887774, - 73.964998 - ], - [ - 112.248323, - 73.706942 - ], - [ - 111.201395, - 73.967485 - ], - [ - 111.543322, - 74.044985 - ], - [ - 110.200411, - 74.024446 - ], - [ - 109.529161, - 73.770266 - ], - [ - 110.914324, - 73.696688 - ], - [ - 106.333879, - 73.187197 - ], - [ - 105.211931, - 72.764711 - ], - [ - 107.142488, - 73.614702 - ], - [ - 108.189699, - 73.670259 - ], - [ - 113.717485, - 75.408602 - ], - [ - 112.337198, - 75.846651 - ], - [ - 113.509432, - 75.532488 - ], - [ - 113.892488, - 75.849993 - ], - [ - 113.242754, - 76.262209 - ], - [ - 112.566675, - 76.040545 - ], - [ - 112.742754, - 76.328325 - ], - [ - 111.103868, - 76.755266 - ], - [ - 106.401094, - 76.509722 - ], - [ - 107.503603, - 76.922213 - ], - [ - 104.117205, - 77.090822 - ], - [ - 106.291933, - 77.362764 - ], - [ - 104.267488, - 77.675814 - ], - [ - 103.105555, - 77.631929 - ], - [ - 100.849718, - 76.878588 - ], - [ - 101.234713, - 76.753054 - ], - [ - 100.878313, - 76.551378 - ], - [ - 102.233599, - 76.377199 - ], - [ - 98.813875, - 76.492754 - ], - [ - 99.877199, - 76.091661 - ], - [ - 99.171923, - 75.569994 - ], - [ - 100.186258, - 75.168535 - ], - [ - 99.094439, - 75.554979 - ], - [ - 99.768328, - 76.031099 - ], - [ - 99.276934, - 76.214159 - ], - [ - 95.743868, - 75.850542 - ], - [ - 96.197756, - 76.085268 - ], - [ - 93.15555, - 76.097765 - ], - [ - 92.865267, - 75.94832 - ], - [ - 94.161928, - 75.942751 - ], - [ - 86.994982, - 75.151384 - ], - [ - 87.785814, - 75.022219 - ], - [ - 87.181658, - 74.989977 - ], - [ - 87.38666, - 74.943041 - ], - [ - 86.913042, - 74.61249 - ], - [ - 86.029161, - 74.813036 - ], - [ - 85.789156, - 74.630816 - ], - [ - 87.132753, - 74.369143 - ], - [ - 85.951097, - 74.280825 - ], - [ - 87.664995, - 73.894716 - ], - [ - 85.84804, - 73.475267 - ], - [ - 86.783602, - 72.994081 - ], - [ - 85.778322, - 73.459719 - ], - [ - 87.086931, - 73.859423 - ], - [ - 80.509996, - 73.571657 - ], - [ - 80.248598, - 73.31415 - ], - [ - 80.572496, - 73.220537 - ], - [ - 80.231096, - 73.173601 - ], - [ - 80.817217, - 72.966097 - ], - [ - 80.721376, - 72.526094 - ], - [ - 82.192476, - 72.283052 - ], - [ - 83.628588, - 71.623873 - ], - [ - 83.148333, - 71.236101 - ], - [ - 83.745531, - 70.459993 - ], - [ - 83.531664, - 70.339159 - ], - [ - 82.951662, - 70.320543 - ], - [ - 83.130541, - 70.20804 - ], - [ - 83.19359, - 70.123308 - ], - [ - 83.106936, - 70.068605 - ], - [ - 82.639162, - 70.174425 - ], - [ - 83.118868, - 70.887499 - ], - [ - 82.160265, - 70.577486 - ], - [ - 82.346102, - 70.198595 - ], - [ - 82.081102, - 70.567766 - ], - [ - 82.414431, - 70.771105 - ], - [ - 82.257494, - 71.259722 - ], - [ - 83.261644, - 71.721087 - ], - [ - 81.653048, - 71.70804 - ], - [ - 78.538042, - 72.403597 - ], - [ - 77.369982, - 72.098879 - ], - [ - 78.104738, - 71.876146 - ], - [ - 76.09749, - 71.928591 - ], - [ - 76.27054, - 71.571657 - ], - [ - 79.112764, - 71.002489 - ], - [ - 76.915819, - 71.069719 - ], - [ - 75.24193, - 71.376085 - ], - [ - 75.715822, - 72.556643 - ], - [ - 74.829988, - 72.834154 - ], - [ - 74.95804, - 72.109423 - ], - [ - 73.532198, - 71.819155 - ], - [ - 73.015276, - 71.421648 - ], - [ - 74.314989, - 70.673601 - ], - [ - 73.51639, - 69.755556 - ], - [ - 73.894442, - 69.425814 - ], - [ - 73.749422, - 69.168047 - ], - [ - 76.037203, - 69.2372 - ], - [ - 77.634996, - 68.907763 - ], - [ - 78.1747, - 68.265001 - ], - [ - 77.558596, - 68.143877 - ], - [ - 77.462496, - 67.762209 - ], - [ - 79.044847, - 67.567156 - ], - [ - 77.091936, - 67.778597 - ], - [ - 77.324434, - 68.516939 - ], - [ - 76.591661, - 68.968325 - ], - [ - 74.640551, - 68.769152 - ], - [ - 74.332766, - 68.380266 - ], - [ - 74.731661, - 68.143053 - ], - [ - 74.739977, - 67.691652 - ], - [ - 73.908876, - 67.298037 - ], - [ - 73.847216, - 66.981096 - ], - [ - 72.000002, - 66.219439 - ], - [ - 69.38611, - 66.507494 - ], - [ - 68.96776, - 66.804155 - ], - [ - 70.730822, - 66.757219 - ], - [ - 70.291368, - 66.623873 - ], - [ - 70.694979, - 66.508043 - ], - [ - 71.558596, - 66.645266 - ], - [ - 71.410265, - 66.966936 - ], - [ - 72.231096, - 67.16054 - ], - [ - 72.040545, - 67.296938 - ], - [ - 73.040819, - 67.724154 - ], - [ - 73.09804, - 68.216936 - ], - [ - 73.648043, - 68.457766 - ], - [ - 72.553865, - 68.976656 - ], - [ - 72.686373, - 69.849718 - ], - [ - 72.4247, - 70.270266 - ], - [ - 72.778048, - 70.418047 - ], - [ - 72.840548, - 70.865267 - ], - [ - 71.802477, - 71.47249 - ], - [ - 72.881929, - 72.281374 - ], - [ - 72.83333, - 72.708605 - ], - [ - 71.560534, - 72.909716 - ], - [ - 69.333879, - 72.94887 - ], - [ - 68.465548, - 71.818895 - ], - [ - 66.623034, - 71.051653 - ], - [ - 66.891665, - 71.077486 - ], - [ - 66.688875, - 70.760546 - ], - [ - 67.339708, - 70.750277 - ], - [ - 67.088045, - 70.217211 - ], - [ - 67.327776, - 70.09749 - ], - [ - 66.873308, - 70.001101 - ], - [ - 66.79915, - 69.57416 - ], - [ - 66.950274, - 69.528872 - ], - [ - 67.000551, - 69.699709 - ], - [ - 68.101656, - 69.546648 - ], - [ - 68.459719, - 68.978045 - ], - [ - 69.220263, - 68.957216 - ], - [ - 68.436373, - 68.224993 - ], - [ - 68.265001, - 68.187487 - ], - [ - 68.159426, - 68.411379 - ], - [ - 67.193041, - 68.704714 - ], - [ - 67.039156, - 68.789705 - ], - [ - 67.116091, - 68.84276 - ], - [ - 64.787767, - 69.142763 - ], - [ - 65.002779, - 69.298037 - ], - [ - 64.150545, - 69.541933 - ], - [ - 60.874437, - 69.863604 - ], - [ - 60.140551, - 69.57416 - ], - [ - 60.914438, - 68.904711 - ], - [ - 59.811663, - 68.681932 - ], - [ - 59.836107, - 68.366655 - ], - [ - 59.073328, - 68.421373 - ], - [ - 59.427217, - 68.745256 - ], - [ - 58.898333, - 68.999712 - ], - [ - 57.276102, - 68.555819 - ], - [ - 55.324732, - 68.550005 - ], - [ - 54.791941, - 68.163042 - ], - [ - 53.209993, - 68.261385 - ], - [ - 53.945826, - 68.399996 - ], - [ - 53.719713, - 68.651934 - ], - [ - 54.019159, - 68.855257 - ], - [ - 53.598879, - 68.908037 - ], - [ - 54.560823, - 68.992479 - ], - [ - 53.783609, - 68.96805 - ], - [ - 52.288332, - 68.614153 - ], - [ - 52.733049, - 68.466387 - ], - [ - 52.268602, - 68.305819 - ], - [ - 52.074717, - 68.544436 - ], - [ - 48.591105, - 67.934984 - ], - [ - 49.101107, - 67.628038 - ], - [ - 47.994997, - 67.65027 - ], - [ - 47.699717, - 66.986376 - ], - [ - 46.385553, - 66.739702 - ], - [ - 46.600832, - 66.853319 - ], - [ - 44.911936, - 67.372759 - ], - [ - 45.382494, - 67.735537 - ], - [ - 46.706942, - 67.813036 - ], - [ - 46.52083, - 68.144152 - ], - [ - 45.903322, - 68.48221 - ], - [ - 43.311663, - 68.684984 - ], - [ - 44.245829, - 68.270266 - ], - [ - 43.75194, - 67.31888 - ], - [ - 44.496386, - 66.907488 - ], - [ - 44.17444, - 65.874697 - ], - [ - 43.858049, - 66.176928 - ], - [ - 43.354715, - 66.038591 - ], - [ - 43.697489, - 66.235811 - ], - [ - 43.299723, - 66.422213 - ], - [ - 42.168329, - 66.522768 - ], - [ - 39.75139, - 65.550814 - ], - [ - 40.505831, - 64.535265 - ], - [ - 38.046946, - 64.6411 - ], - [ - 38.408602, - 64.858873 - ], - [ - 37.032213, - 65.20833 - ], - [ - 36.439714, - 64.942751 - ], - [ - 37.144716, - 64.408876 - ], - [ - 37.978876, - 64.316668 - ], - [ - 38.077494, - 64.017214 - ], - [ - 37.414995, - 63.803881 - ], - [ - 34.787775, - 64.547762 - ], - [ - 34.936106, - 64.83832 - ], - [ - 34.377771, - 65.378313 - ], - [ - 34.681665, - 65.451097 - ], - [ - 34.690828, - 65.803865 - ], - [ - 34.96361, - 65.71776 - ], - [ - 34.84749, - 65.901094 - ], - [ - 33.312769, - 66.316088 - ], - [ - 33.732492, - 66.423876 - ], - [ - 31.854998, - 67.153872 - ], - [ - 38.607775, - 66.052202 - ], - [ - 40.073328, - 66.277773 - ], - [ - 41.219713, - 66.83777 - ], - [ - 41.390551, - 67.122759 - ], - [ - 40.99222, - 67.716097 - ], - [ - 35.974993, - 69.173037 - ], - [ - 33.719156, - 69.331377 - ], - [ - 33.022768, - 68.953325 - ], - [ - 33.521662, - 69.421923 - ], - [ - 32.809992, - 69.296099 - ], - [ - 33.029417, - 69.471865 - ], - [ - 32.026396, - 69.636538 - ], - [ - 33.093607, - 69.747484 - ], - [ - 30.854841, - 69.792315 - ], - [ - 30.910002, - 69.548876 - ], - [ - 30.103334, - 69.663057 - ], - [ - 28.957342, - 69.051622 - ], - [ - 28.431944, - 68.896944 - ], - [ - 28.820555, - 68.844439 - ], - [ - 28.457499, - 68.531939 - ], - [ - 28.693335, - 68.197496 - ], - [ - 30.028612, - 67.694719 - ], - [ - 29.074999, - 66.89583 - ], - [ - 30.134165, - 65.719164 - ], - [ - 29.818888, - 65.653322 - ], - [ - 29.636667, - 64.928057 - ], - [ - 30.578054, - 64.221376 - ], - [ - 29.993334, - 63.743608 - ], - [ - 31.58893, - 62.914415 - ], - [ - 27.807833, - 60.546404 - ], - [ - 28.686663, - 60.735826 - ], - [ - 28.601942, - 60.384439 - ], - [ - 30.245829, - 59.975267 - ], - [ - 28.080278, - 59.796389 - ], - [ - 28.015833, - 59.478601 - ], - [ - 28.170359, - 59.309782 - ], - [ - 27.426107, - 58.813608 - ], - [ - 27.823053, - 57.87388 - ], - [ - 27.372061, - 57.535639 - ], - [ - 27.861109, - 57.302217 - ], - [ - 27.701662, - 56.914713 - ], - [ - 28.168013, - 56.150156 - ], - [ - 30.926249, - 55.602571 - ], - [ - 31.029722, - 55.043329 - ], - [ - 30.781389, - 54.793612 - ], - [ - 31.844164, - 54.06444 - ], - [ - 31.764227, - 53.802622 - ], - [ - 32.741106, - 53.463053 - ], - [ - 31.266943, - 53.024714 - ], - [ - 31.783888, - 52.108049 - ], - [ - 33.417704, - 52.355402 - ], - [ - 33.838884, - 52.360552 - ], - [ - 34.419718, - 51.808886 - ], - [ - 34.098047, - 51.653879 - ], - [ - 34.382212, - 51.263613 - ], - [ - 35.371889, - 51.041437 - ], - [ - 35.606653, - 50.36944 - ], - [ - 37.458605, - 50.439714 - ], - [ - 38.024225, - 49.903086 - ], - [ - 38.307772, - 50.073885 - ], - [ - 40.139765, - 49.601053 - ], - [ - 40.166941, - 49.248606 - ], - [ - 39.696657, - 49.010828 - ], - [ - 40.076662, - 48.874994 - ], - [ - 39.656939, - 48.616663 - ], - [ - 39.99888, - 48.29722 - ], - [ - 39.796389, - 47.857218 - ], - [ - 38.853601, - 47.860826 - ], - [ - 38.303324, - 47.558596 - ], - [ - 38.235826, - 47.10943 - ], - [ - 39.29999, - 47.076937 - ], - [ - 38.410814, - 46.828051 - ], - [ - 38.581659, - 46.650827 - ], - [ - 37.734995, - 46.669161 - ], - [ - 38.574434, - 46.089708 - ], - [ - 37.940264, - 46.025827 - ], - [ - 37.591372, - 45.627481 - ], - [ - 37.737207, - 45.299166 - ], - [ - 36.830828, - 45.436647 - ], - [ - 36.960543, - 45.274996 - ], - [ - 36.575274, - 45.18471 - ], - [ - 38.760279, - 44.270266 - ], - [ - 40.00297, - 43.379267 - ], - [ - 40.253389, - 43.582521 - ], - [ - 42.849993, - 43.179155 - ], - [ - 43.911936, - 42.583323 - ], - [ - 44.93471, - 42.760279 - ], - [ - 46.451754, - 41.897058 - ], - [ - 46.571383, - 41.871935 - ], - [ - 47.766932, - 41.196093 - ], - [ - 48.583956, - 41.835772 - ], - [ - 47.462214, - 43.019152 - ], - [ - 47.69832, - 43.868876 - ], - [ - 47.407206, - 43.501101 - ], - [ - 47.350267, - 44.026651 - ], - [ - 46.679712, - 44.523043 - ], - [ - 47.569155, - 45.557489 - ], - [ - 47.380274, - 45.744715 - ], - [ - 47.637217, - 45.553041 - ], - [ - 47.552217, - 45.769442 - ], - [ - 47.830545, - 45.655825 - ], - [ - 48.565821, - 45.96583 - ], - [ - 48.713327, - 45.830271 - ], - [ - 48.627764, - 46.082766 - ], - [ - 49.222528, - 46.346308 - ], - [ - 48.560549, - 46.564997 - ], - [ - 49.027208, - 46.776094 - ], - [ - 48.204432, - 47.704988 - ], - [ - 47.383326, - 47.688883 - ], - [ - 47.122766, - 48.271662 - ], - [ - 46.499163, - 48.417498 - ], - [ - 47.062769, - 49.142771 - ], - [ - 46.795832, - 49.339716 - ], - [ - 46.929438, - 49.863611 - ], - [ - 47.52083, - 50.43638 - ], - [ - 48.251665, - 49.869715 - ], - [ - 48.796946, - 49.941935 - ], - [ - 48.697489, - 50.591936 - ], - [ - 50.773302, - 51.769182 - ], - [ - 51.303049, - 51.479715 - ], - [ - 52.338327, - 51.782213 - ], - [ - 52.603327, - 51.456942 - ], - [ - 53.428606, - 51.491663 - ], - [ - 54.506388, - 50.856943 - ], - [ - 54.523935, - 50.528841 - ], - [ - 54.647219, - 51.036943 - ], - [ - 55.692492, - 50.532495 - ], - [ - 56.510828, - 51.08333 - ], - [ - 57.481936, - 50.864717 - ], - [ - 58.33777, - 51.156099 - ], - [ - 59.542498, - 50.478327 - ], - [ - 60.043612, - 50.863329 - ], - [ - 61.38138, - 50.783609 - ], - [ - 61.685823, - 51.265833 - ], - [ - 60.002222, - 51.95833 - ], - [ - 61.061937, - 52.342493 - ], - [ - 60.694155, - 52.680826 - ], - [ - 61.099161, - 52.981661 - ], - [ - 62.118326, - 53.004168 - ], - [ - 61.184717, - 53.306658 - ], - [ - 61.577494, - 53.51333 - ], - [ - 60.90555, - 53.620272 - ], - [ - 61.226938, - 53.811937 - ], - [ - 61.014162, - 53.947489 - ], - [ - 62.547495, - 53.879435 - ], - [ - 63.17222, - 54.18638 - ], - [ - 65.216387, - 54.318888 - ], - [ - 65.483324, - 54.638048 - ], - [ - 69.185534, - 55.343882 - ], - [ - 70.843325, - 55.301935 - ], - [ - 71.278872, - 54.690271 - ], - [ - 70.996935, - 54.339159 - ], - [ - 71.185534, - 54.103327 - ], - [ - 72.196093, - 54.137499 - ], - [ - 72.051653, - 54.387774 - ], - [ - 72.468599, - 53.908884 - ], - [ - 72.613314, - 54.145273 - ], - [ - 73.763887, - 54.065546 - ], - [ - 73.238588, - 53.644442 - ], - [ - 73.437197, - 53.436106 - ], - [ - 74.429155, - 53.478601 - ], - [ - 76.811647, - 54.447771 - ], - [ - 76.521654, - 53.993883 - ], - [ - 77.908037, - 53.271105 - ], - [ - 80.077959, - 50.758089 - ], - [ - 80.687838, - 51.314722 - ], - [ - 81.46805, - 50.74222 - ], - [ - 83.456377, - 51.002497 - ], - [ - 84.363039, - 50.212214 - ], - [ - 85.014437, - 50.07583 - ], - [ - 85.258608, - 49.591379 - ], - [ - 86.191088, - 49.47249 - ], - [ - 86.774996, - 49.788889 - ], - [ - 86.616655, - 49.587214 - ], - [ - 87.348207, - 49.092623 - ], - [ - 87.8407, - 49.172953 - ], - [ - 92.322771, - 50.814997 - ], - [ - 94.274996, - 50.569445 - ], - [ - 94.635271, - 50.024439 - ], - [ - 97.340822, - 49.734438 - ], - [ - 98.289705, - 50.293886 - ], - [ - 97.827776, - 51.001108 - ], - [ - 98.930269, - 52.14361 - ], - [ - 102.218874, - 51.333605 - ], - [ - 102.327768, - 50.569719 - ], - [ - 102.918589, - 50.315271 - ], - [ - 106.663042, - 50.338602 - ], - [ - 107.977129, - 49.943628 - ], - [ - 107.949144, - 49.678049 - ], - [ - 108.572222, - 49.333605 - ], - [ - 110.788591, - 49.149439 - ], - [ - 113.090822, - 49.598604 - ], - [ - 114.313028, - 50.284166 - ], - [ - 116.711382, - 49.830469 - ], - [ - 117.874712, - 49.520578 - ], - [ - 119.214159, - 50.015276 - ], - [ - 119.361368, - 50.336939 - ], - [ - 119.138605, - 50.394716 - ], - [ - 120.776659, - 52.115 - ], - [ - 120.71361, - 52.544718 - ], - [ - 120.029161, - 52.768053 - ], - [ - 120.863878, - 53.279718 - ], - [ - 123.382204, - 53.526659 - ], - [ - 126.095545, - 52.764444 - ], - [ - 127.586069, - 50.208567 - ], - [ - 127.529428, - 49.789164 - ], - [ - 130.671633, - 48.865 - ], - [ - 130.521639, - 48.607775 - ], - [ - 130.988558, - 47.688601 - ], - [ - 132.52109, - 47.710276 - ], - [ - 133.088564, - 48.101664 - ], - [ - 134.740755, - 48.26713 - ], - [ - 134.767214, - 47.707499 - ], - [ - 134.182467, - 47.323328 - ], - [ - 133.900179, - 46.250315 - ], - [ - 133.122194, - 45.128603 - ], - [ - 131.864687, - 45.345545 - ], - [ - 130.949984, - 44.841105 - ], - [ - 131.311373, - 43.392221 - ], - [ - 131.123293, - 42.910822 - ], - [ - 130.405245, - 42.71805 - ], - [ - 130.604372, - 42.421862 - ] - ], - [ - [ - 86.902208, - 73.697481 - ], - [ - 86.73665, - 73.595263 - ], - [ - 86.394991, - 73.58832 - ], - [ - 86.902208, - 73.697481 - ] - ], - [ - [ - 40.274439, - 64.874147 - ], - [ - 40.209719, - 64.992479 - ], - [ - 40.278879, - 64.945818 - ], - [ - 40.274439, - 64.874147 - ] - ] - ], - [ - [ - [ - 170.151094, - 69.734148 - ], - [ - 170.20331, - 69.788317 - ], - [ - 169.984957, - 69.748034 - ], - [ - 170.151094, - 69.734148 - ] - ] - ], - [ - [ - [ - 169.447481, - 69.80887 - ], - [ - 167.751925, - 69.827486 - ], - [ - 168.868288, - 69.567766 - ], - [ - 169.447481, - 69.80887 - ] - ] - ], - [ - [ - [ - 167.855806, - 54.681383 - ], - [ - 167.432985, - 54.863077 - ], - [ - 168.116915, - 54.507776 - ], - [ - 167.855806, - 54.681383 - ] - ] - ], - [ - [ - [ - 166.119112, - 55.328608 - ], - [ - 165.838015, - 55.264444 - ], - [ - 166.663027, - 54.674166 - ], - [ - 166.119112, - 55.328608 - ] - ] - ], - [ - [ - [ - 164.656923, - 59.084436 - ], - [ - 163.699404, - 59.014444 - ], - [ - 163.38553, - 58.559404 - ], - [ - 164.656923, - 59.084436 - ] - ] - ], - [ - [ - [ - 162.381899, - 70.679155 - ], - [ - 162.236635, - 70.659151 - ], - [ - 162.484957, - 70.651094 - ], - [ - 162.381899, - 70.679155 - ] - ] - ], - [ - [ - [ - 161.69385, - 70.750277 - ], - [ - 161.657747, - 70.808596 - ], - [ - 161.463289, - 70.803591 - ], - [ - 161.69385, - 70.750277 - ] - ] - ], - [ - [ - [ - 161.437746, - 69.408037 - ], - [ - 161.622194, - 69.588594 - ], - [ - 161.394991, - 69.590822 - ], - [ - 161.437746, - 69.408037 - ] - ] - ], - [ - [ - [ - 161.4433, - 68.889986 - ], - [ - 161.509157, - 68.915545 - ], - [ - 161.515261, - 68.9872 - ], - [ - 161.38611, - 69.10248 - ], - [ - 161.319979, - 69.241091 - ], - [ - 161.361361, - 69.358599 - ], - [ - 161.289339, - 69.415865 - ], - [ - 161.388887, - 69.459154 - ], - [ - 161.377748, - 69.532213 - ], - [ - 161.096346, - 69.470537 - ], - [ - 161.134432, - 69.089708 - ], - [ - 161.45801, - 68.995531 - ], - [ - 161.4433, - 68.889986 - ] - ] - ], - [ - [ - [ - 160.619112, - 70.814699 - ], - [ - 160.71979, - 70.818514 - ], - [ - 160.408022, - 70.919146 - ], - [ - 160.619112, - 70.814699 - ] - ] - ], - [ - [ - [ - 156.617739, - 77.103868 - ], - [ - 156.73218, - 77.125811 - ], - [ - 156.434145, - 77.135271 - ], - [ - 156.617739, - 77.103868 - ] - ] - ], - [ - [ - [ - 156.403826, - 50.653399 - ], - [ - 156.463869, - 50.86944 - ], - [ - 156.164431, - 50.728601 - ], - [ - 156.403826, - 50.653399 - ] - ] - ], - [ - [ - [ - 155.785524, - 50.184992 - ], - [ - 156.104128, - 50.76111 - ], - [ - 155.20859, - 50.080828 - ], - [ - 155.785524, - 50.184992 - ] - ] - ], - [ - [ - [ - 155.62079, - 50.806101 - ], - [ - 155.639162, - 50.920832 - ], - [ - 155.447756, - 50.897776 - ], - [ - 155.62079, - 50.806101 - ] - ] - ], - [ - [ - [ - 155.555819, - 59.321939 - ], - [ - 155.555819, - 59.359163 - ], - [ - 155.478304, - 59.317217 - ], - [ - 155.555819, - 59.321939 - ] - ] - ], - [ - [ - [ - 154.715792, - 49.263887 - ], - [ - 154.904421, - 49.624163 - ], - [ - 154.602449, - 49.373606 - ], - [ - 154.715792, - 49.263887 - ] - ] - ], - [ - [ - [ - 154.454683, - 49.169161 - ], - [ - 154.500551, - 49.074442 - ], - [ - 154.598848, - 49.11194 - ], - [ - 154.454683, - 49.169161 - ] - ] - ], - [ - [ - [ - 154.42499, - 49.733606 - ], - [ - 154.459963, - 49.813883 - ], - [ - 154.374971, - 49.824999 - ], - [ - 154.42499, - 49.733606 - ] - ] - ], - [ - [ - [ - 154.019442, - 48.723322 - ], - [ - 154.228853, - 48.902491 - ], - [ - 154.112185, - 48.894999 - ], - [ - 154.019442, - 48.723322 - ] - ] - ], - [ - [ - [ - 153.981905, - 48.926661 - ], - [ - 154.004702, - 48.96361 - ], - [ - 153.901918, - 48.969988 - ], - [ - 153.981905, - 48.926661 - ] - ] - ], - [ - [ - [ - 153.290529, - 48.053606 - ], - [ - 153.223299, - 48.133051 - ], - [ - 153.137758, - 48.101107 - ], - [ - 153.290529, - 48.053606 - ] - ] - ], - [ - [ - [ - 153.016085, - 47.693048 - ], - [ - 153.080263, - 47.714159 - ], - [ - 153.074129, - 47.808329 - ], - [ - 153.016085, - 47.693048 - ] - ] - ], - [ - [ - [ - 152.741335, - 76.107759 - ], - [ - 152.756655, - 76.211931 - ], - [ - 152.455233, - 76.156939 - ], - [ - 152.741335, - 76.107759 - ] - ] - ], - [ - [ - [ - 152.519136, - 47.307215 - ], - [ - 152.503878, - 47.377214 - ], - [ - 152.388033, - 47.344156 - ], - [ - 152.519136, - 47.307215 - ] - ] - ], - [ - [ - [ - 152.225527, - 47.174715 - ], - [ - 151.712191, - 46.801104 - ], - [ - 152.013033, - 46.888887 - ], - [ - 152.225527, - 47.174715 - ] - ] - ], - [ - [ - [ - 147.018312, - 75.334719 - ], - [ - 146.41498, - 75.586107 - ], - [ - 146.070253, - 75.226656 - ], - [ - 148.704409, - 74.759996 - ], - [ - 150.953035, - 75.139437 - ], - [ - 147.018312, - 75.334719 - ] - ] - ], - [ - [ - [ - 150.874117, - 46.440828 - ], - [ - 150.841921, - 46.471102 - ], - [ - 150.798525, - 46.449984 - ], - [ - 150.874117, - 46.440828 - ] - ] - ], - [ - [ - [ - 150.764986, - 46.703882 - ], - [ - 150.762209, - 46.727488 - ], - [ - 150.730806, - 46.722765 - ], - [ - 150.764986, - 46.703882 - ] - ] - ], - [ - [ - [ - 150.590517, - 59.019716 - ], - [ - 150.743837, - 59.11194 - ], - [ - 150.454561, - 59.017801 - ], - [ - 150.590517, - 59.019716 - ] - ] - ], - [ - [ - [ - 150.066378, - 45.84749 - ], - [ - 150.498568, - 46.192492 - ], - [ - 149.437471, - 45.583605 - ], - [ - 150.066378, - 45.84749 - ] - ] - ], - [ - [ - [ - 149.314425, - 76.753603 - ], - [ - 148.392214, - 76.643602 - ], - [ - 149.168856, - 76.650545 - ], - [ - 149.314425, - 76.753603 - ] - ] - ], - [ - [ - [ - 149.104677, - 59.187769 - ], - [ - 149.005251, - 59.211107 - ], - [ - 148.941011, - 59.141672 - ], - [ - 149.104677, - 59.187769 - ] - ] - ], - [ - [ - [ - 148.825258, - 45.334993 - ], - [ - 147.932741, - 45.421381 - ], - [ - 146.840517, - 44.415545 - ], - [ - 148.825258, - 45.334993 - ] - ] - ], - [ - [ - [ - 146.669985, - 43.704439 - ], - [ - 146.90497, - 43.839991 - ], - [ - 146.604677, - 43.803881 - ], - [ - 146.669985, - 43.704439 - ] - ] - ], - [ - [ - [ - 146.148043, - 44.509996 - ], - [ - 145.437471, - 43.716936 - ], - [ - 146.568026, - 44.438326 - ], - [ - 146.148043, - 44.509996 - ] - ] - ], - [ - [ - [ - 146.137484, - 43.458887 - ], - [ - 146.226076, - 43.525553 - ], - [ - 146.076082, - 43.51333 - ], - [ - 146.137484, - 43.458887 - ] - ] - ], - [ - [ - [ - 139.190798, - 76.072222 - ], - [ - 137.449984, - 75.954714 - ], - [ - 137.744692, - 75.748323 - ], - [ - 136.958559, - 75.604219 - ], - [ - 137.40497, - 75.352205 - ], - [ - 136.861361, - 75.349154 - ], - [ - 139.096071, - 74.647219 - ], - [ - 139.646944, - 74.979158 - ], - [ - 143.706911, - 74.938585 - ], - [ - 142.612459, - 75.099718 - ], - [ - 142.155245, - 75.375536 - ], - [ - 142.447481, - 75.711107 - ], - [ - 143.040529, - 75.66971 - ], - [ - 142.506044, - 75.453722 - ], - [ - 142.903597, - 75.133883 - ], - [ - 143.949709, - 75.026934 - ], - [ - 145.394716, - 75.517488 - ], - [ - 141.35663, - 76.180544 - ], - [ - 141.619692, - 76.012499 - ], - [ - 140.971895, - 76.039156 - ], - [ - 141.060793, - 75.645266 - ], - [ - 140.479128, - 75.63611 - ], - [ - 139.190798, - 76.072222 - ] - ] - ], - [ - [ - [ - 143.661928, - 49.312212 - ], - [ - 144.75165, - 48.641939 - ], - [ - 143.220797, - 51.521379 - ], - [ - 143.290804, - 53.130274 - ], - [ - 142.696627, - 54.424715 - ], - [ - 142.393862, - 54.237497 - ], - [ - 142.798311, - 53.697489 - ], - [ - 141.766939, - 53.371378 - ], - [ - 141.638033, - 52.315828 - ], - [ - 142.267214, - 51.120272 - ], - [ - 141.852449, - 48.750277 - ], - [ - 142.188875, - 47.975267 - ], - [ - 141.812746, - 46.586107 - ], - [ - 142.077456, - 45.891382 - ], - [ - 142.709688, - 46.744158 - ], - [ - 143.378572, - 46.548334 - ], - [ - 143.473848, - 46.092768 - ], - [ - 143.49164, - 46.808603 - ], - [ - 143.088289, - 46.801661 - ], - [ - 142.5347, - 48.002779 - ], - [ - 143.017763, - 49.139719 - ], - [ - 143.661928, - 49.312212 - ] - ], - [ - [ - 143.661928, - 49.312212 - ], - [ - 143.320253, - 49.313608 - ], - [ - 143.246065, - 49.37916 - ], - [ - 143.661928, - 49.312212 - ] - ] - ], - [ - [ - [ - 142.15497, - 73.889986 - ], - [ - 139.653597, - 73.402208 - ], - [ - 143.505831, - 73.230272 - ], - [ - 143.431917, - 73.522493 - ], - [ - 142.15497, - 73.889986 - ] - ] - ], - [ - [ - [ - 140.910799, - 76.066942 - ], - [ - 141.079409, - 76.109423 - ], - [ - 140.8472, - 76.095537 - ], - [ - 140.910799, - 76.066942 - ] - ] - ], - [ - [ - [ - 141.02054, - 73.992754 - ], - [ - 140.874392, - 74.271105 - ], - [ - 140.072756, - 74.097765 - ], - [ - 141.02054, - 73.992754 - ] - ] - ], - [ - [ - [ - 140.745943, - 75.651857 - ], - [ - 140.769991, - 75.677202 - ], - [ - 140.519442, - 75.705828 - ], - [ - 140.745943, - 75.651857 - ] - ] - ], - [ - [ - [ - 138.516085, - 71.856096 - ], - [ - 138.362459, - 71.885546 - ], - [ - 138.273867, - 71.859987 - ], - [ - 138.516085, - 71.856096 - ] - ] - ], - [ - [ - [ - 137.991335, - 54.885553 - ], - [ - 138.204134, - 55.043886 - ], - [ - 137.57831, - 55.190546 - ], - [ - 137.221315, - 54.773722 - ], - [ - 137.707186, - 54.618326 - ], - [ - 137.991335, - 54.885553 - ] - ] - ], - [ - [ - [ - 137.961092, - 71.503054 - ], - [ - 136.991335, - 71.515551 - ], - [ - 137.676912, - 71.411654 - ], - [ - 137.961092, - 71.503054 - ] - ] - ], - [ - [ - [ - 137.77997, - 54.366388 - ], - [ - 137.913881, - 54.507776 - ], - [ - 137.708315, - 54.368601 - ], - [ - 137.77997, - 54.366388 - ] - ] - ], - [ - [ - [ - 137.632174, - 54.41305 - ], - [ - 137.618563, - 54.565271 - ], - [ - 137.548861, - 54.504999 - ], - [ - 137.632174, - 54.41305 - ] - ] - ], - [ - [ - [ - 137.188295, - 55.102221 - ], - [ - 136.667269, - 54.905062 - ], - [ - 137.046083, - 54.917498 - ], - [ - 137.188295, - 55.102221 - ] - ] - ], - [ - [ - [ - 135.649996, - 74.2036 - ], - [ - 135.353579, - 74.252779 - ], - [ - 136.272493, - 73.935808 - ], - [ - 135.649996, - 74.2036 - ] - ] - ], - [ - [ - [ - 135.653872, - 75.364992 - ], - [ - 136.177767, - 75.619143 - ], - [ - 135.70801, - 75.849993 - ], - [ - 135.444124, - 75.440813 - ], - [ - 135.653872, - 75.364992 - ] - ] - ], - [ - [ - [ - 131.873293, - 42.956942 - ], - [ - 131.917208, - 43.021105 - ], - [ - 131.77997, - 43.04944 - ], - [ - 131.873293, - 42.956942 - ] - ] - ], - [ - [ - [ - 128.143038, - 72.578875 - ], - [ - 126.65027, - 72.436098 - ], - [ - 127.549715, - 72.433321 - ], - [ - 128.763613, - 72.07416 - ], - [ - 129.561098, - 72.225267 - ], - [ - 128.143038, - 72.578875 - ] - ] - ], - [ - [ - [ - 129.355806, - 72.702776 - ], - [ - 128.301912, - 72.787767 - ], - [ - 127.31415, - 72.653322 - ], - [ - 129.355806, - 72.702776 - ] - ] - ], - [ - [ - [ - 129.230257, - 72.831942 - ], - [ - 128.290529, - 72.866091 - ], - [ - 129.298037, - 72.800264 - ], - [ - 129.230257, - 72.831942 - ] - ] - ], - [ - [ - [ - 127.296373, - 73.517214 - ], - [ - 126.659418, - 73.416933 - ], - [ - 126.771929, - 73.076387 - ], - [ - 126.333879, - 72.897219 - ], - [ - 126.449999, - 72.78554 - ], - [ - 126.302469, - 72.501101 - ], - [ - 126.526934, - 72.400545 - ], - [ - 126.589434, - 72.535814 - ], - [ - 129.118288, - 73.094713 - ], - [ - 127.296373, - 73.517214 - ] - ] - ], - [ - [ - [ - 128.838869, - 72.576662 - ], - [ - 128.9722, - 72.590822 - ], - [ - 128.100527, - 72.63196 - ], - [ - 128.838869, - 72.576662 - ] - ] - ], - [ - [ - [ - 128.055544, - 73.483049 - ], - [ - 127.707766, - 73.53554 - ], - [ - 127.388048, - 73.520266 - ], - [ - 128.055544, - 73.483049 - ] - ] - ], - [ - [ - [ - 124.604433, - 73.728594 - ], - [ - 123.376925, - 73.662493 - ], - [ - 123.219149, - 73.404711 - ], - [ - 123.658869, - 73.168047 - ], - [ - 122.428041, - 72.981936 - ], - [ - 124.765001, - 72.670824 - ], - [ - 126.125528, - 72.300539 - ], - [ - 126.34833, - 72.379976 - ], - [ - 126.244432, - 72.518877 - ], - [ - 126.38582, - 72.792757 - ], - [ - 126.278055, - 72.879976 - ], - [ - 126.714998, - 73.084429 - ], - [ - 126.156649, - 73.374422 - ], - [ - 126.30887, - 73.545824 - ], - [ - 125.560259, - 73.403048 - ], - [ - 124.604433, - 73.728594 - ] - ] - ], - [ - [ - [ - 124.545259, - 73.853319 - ], - [ - 124.65999, - 73.898043 - ], - [ - 124.287775, - 73.884432 - ], - [ - 124.545259, - 73.853319 - ] - ] - ], - [ - [ - [ - 122.955835, - 72.863314 - ], - [ - 122.302469, - 72.937487 - ], - [ - 123.605822, - 72.777773 - ], - [ - 122.955835, - 72.863314 - ] - ] - ], - [ - [ - [ - 120.213884, - 73.042482 - ], - [ - 120.086931, - 73.152483 - ], - [ - 119.629702, - 73.114702 - ], - [ - 120.213884, - 73.042482 - ] - ] - ], - [ - [ - [ - 116.06888, - 74.286928 - ], - [ - 116.067492, - 74.369143 - ], - [ - 115.88582, - 74.320269 - ], - [ - 116.06888, - 74.286928 - ] - ] - ], - [ - [ - [ - 113.439974, - 76.360537 - ], - [ - 113.258883, - 76.436373 - ], - [ - 113.118761, - 76.369997 - ], - [ - 113.439974, - 76.360537 - ] - ] - ], - [ - [ - [ - 112.71332, - 74.498873 - ], - [ - 111.455553, - 74.316668 - ], - [ - 112.787775, - 74.091936 - ], - [ - 113.433321, - 74.393877 - ], - [ - 112.71332, - 74.498873 - ] - ] - ], - [ - [ - [ - 112.521929, - 76.622484 - ], - [ - 111.956652, - 76.598604 - ], - [ - 112.713884, - 76.510546 - ], - [ - 112.521929, - 76.622484 - ] - ] - ], - [ - [ - [ - 107.561922, - 77.254992 - ], - [ - 107.666658, - 77.330828 - ], - [ - 107.200274, - 77.233873 - ], - [ - 107.561922, - 77.254992 - ] - ] - ], - [ - [ - [ - 107.635271, - 78.166094 - ], - [ - 106.493044, - 78.121645 - ], - [ - 107.438875, - 78.049425 - ], - [ - 107.635271, - 78.166094 - ] - ] - ], - [ - [ - [ - 106.646654, - 77.376085 - ], - [ - 106.90082, - 77.459154 - ], - [ - 106.504175, - 77.389986 - ], - [ - 106.646654, - 77.376085 - ] - ] - ], - [ - [ - [ - 106.761385, - 78.303591 - ], - [ - 106.458605, - 78.334719 - ], - [ - 105.992754, - 78.214159 - ], - [ - 106.761385, - 78.303591 - ] - ] - ], - [ - [ - [ - 106.402483, - 77.303591 - ], - [ - 106.45833, - 77.315264 - ], - [ - 106.331675, - 77.318056 - ], - [ - 106.402483, - 77.303591 - ] - ] - ], - [ - [ - [ - 105.884722, - 77.261385 - ], - [ - 106.007769, - 77.282488 - ], - [ - 105.78055, - 77.274157 - ], - [ - 105.884722, - 77.261385 - ] - ] - ], - [ - [ - [ - 102.972765, - 79.331377 - ], - [ - 101.550814, - 79.34833 - ], - [ - 100.988878, - 79.061098 - ], - [ - 101.624422, - 78.98221 - ], - [ - 100.893885, - 78.976656 - ], - [ - 101.168055, - 78.758333 - ], - [ - 100.378313, - 78.745256 - ], - [ - 99.341372, - 78.019991 - ], - [ - 105.414431, - 78.564699 - ], - [ - 103.946932, - 79.133333 - ], - [ - 102.393335, - 78.8286 - ], - [ - 102.972765, - 79.331377 - ] - ] - ], - [ - [ - [ - 100.01082, - 79.62221 - ], - [ - 99.903597, - 79.599993 - ], - [ - 100.306643, - 79.664705 - ], - [ - 100.01082, - 79.62221 - ] - ] - ], - [ - [ - [ - 99.945818, - 79.401384 - ], - [ - 100.017763, - 79.433046 - ], - [ - 99.850542, - 79.415545 - ], - [ - 99.945818, - 79.401384 - ] - ] - ], - [ - [ - [ - 97.614992, - 80.165545 - ], - [ - 95.580278, - 80.111376 - ], - [ - 95.269442, - 80.01639 - ], - [ - 94.936647, - 80.099428 - ], - [ - 94.222216, - 79.897768 - ], - [ - 94.616091, - 79.811922 - ], - [ - 92.850817, - 79.553865 - ], - [ - 93.878038, - 79.601381 - ], - [ - 93.69887, - 79.456102 - ], - [ - 94.332491, - 79.465548 - ], - [ - 94.777208, - 79.084429 - ], - [ - 97.304705, - 78.845263 - ], - [ - 99.938875, - 78.953325 - ], - [ - 99.035265, - 79.29027 - ], - [ - 99.659151, - 79.295824 - ], - [ - 100.015268, - 79.82416 - ], - [ - 98.528597, - 80.052477 - ], - [ - 97.193041, - 79.702211 - ], - [ - 98.034426, - 80.067492 - ], - [ - 97.614992, - 80.165545 - ] - ] - ], - [ - [ - [ - 95.958605, - 81.217211 - ], - [ - 93.068605, - 80.994432 - ], - [ - 92.48749, - 80.767488 - ], - [ - 93.325548, - 80.805819 - ], - [ - 91.889437, - 80.457766 - ], - [ - 92.623873, - 80.384996 - ], - [ - 91.421373, - 80.307756 - ], - [ - 93.246645, - 80.305544 - ], - [ - 92.061647, - 80.170259 - ], - [ - 93.753054, - 79.995821 - ], - [ - 94.80971, - 80.139986 - ], - [ - 97.158876, - 80.233599 - ], - [ - 97.426378, - 80.310808 - ], - [ - 97.129152, - 80.662767 - ], - [ - 97.969439, - 80.715548 - ], - [ - 95.958605, - 81.217211 - ] - ] - ], - [ - [ - [ - 97.869982, - 76.770266 - ], - [ - 97.919436, - 76.83832 - ], - [ - 97.729433, - 76.818331 - ], - [ - 97.869982, - 76.770266 - ] - ] - ], - [ - [ - [ - 97.546373, - 76.582216 - ], - [ - 97.440538, - 76.714998 - ], - [ - 97.316378, - 76.606646 - ], - [ - 97.546373, - 76.582216 - ] - ] - ], - [ - [ - [ - 96.766939, - 75.975267 - ], - [ - 97.337282, - 76.102083 - ], - [ - 96.695818, - 76.011385 - ], - [ - 96.766939, - 75.975267 - ] - ] - ], - [ - [ - [ - 96.997484, - 76.277208 - ], - [ - 96.834429, - 76.346941 - ], - [ - 96.711107, - 76.21361 - ], - [ - 96.997484, - 76.277208 - ] - ] - ], - [ - [ - [ - 96.756945, - 76.322771 - ], - [ - 96.383043, - 76.331942 - ], - [ - 96.664705, - 76.292482 - ], - [ - 96.756945, - 76.322771 - ] - ] - ], - [ - [ - [ - 96.366381, - 76.301088 - ], - [ - 95.263613, - 76.213045 - ], - [ - 96.649431, - 76.248873 - ], - [ - 96.366381, - 76.301088 - ] - ] - ], - [ - [ - [ - 96.575548, - 77.130266 - ], - [ - 95.229158, - 76.993319 - ], - [ - 96.166094, - 76.989153 - ], - [ - 96.575548, - 77.130266 - ] - ] - ], - [ - [ - [ - 96.464083, - 76.706011 - ], - [ - 95.889162, - 76.62137 - ], - [ - 96.242205, - 76.609713 - ], - [ - 96.464083, - 76.706011 - ] - ] - ], - [ - [ - [ - 95.598879, - 76.669985 - ], - [ - 95.831942, - 76.685534 - ], - [ - 95.412767, - 76.699709 - ], - [ - 95.598879, - 76.669985 - ] - ] - ], - [ - [ - [ - 95.133043, - 76.702776 - ], - [ - 94.813036, - 76.648882 - ], - [ - 95.326937, - 76.661104 - ], - [ - 95.133043, - 76.702776 - ] - ] - ], - [ - [ - [ - 95.199419, - 76.157763 - ], - [ - 95.084505, - 76.220797 - ], - [ - 95.002779, - 76.172487 - ], - [ - 95.199419, - 76.157763 - ] - ] - ], - [ - [ - [ - 94.997484, - 76.269152 - ], - [ - 94.408037, - 76.204988 - ], - [ - 94.840273, - 76.17943 - ], - [ - 94.997484, - 76.269152 - ] - ] - ], - [ - [ - [ - 94.35721, - 76.574434 - ], - [ - 93.951815, - 76.609819 - ], - [ - 93.869982, - 76.584993 - ], - [ - 94.35721, - 76.574434 - ] - ] - ], - [ - [ - [ - 94.307756, - 80.016939 - ], - [ - 93.988253, - 80.009783 - ], - [ - 93.927477, - 79.968325 - ], - [ - 94.307756, - 80.016939 - ] - ] - ], - [ - [ - [ - 91.176378, - 80.053041 - ], - [ - 90.864428, - 80.057207 - ], - [ - 92.349993, - 79.72777 - ], - [ - 91.921648, - 79.673311 - ], - [ - 93.808596, - 79.888323 - ], - [ - 91.176378, - 80.053041 - ] - ] - ], - [ - [ - [ - 93.750551, - 78.155825 - ], - [ - 93.640276, - 78.222765 - ], - [ - 93.519716, - 78.187761 - ], - [ - 93.750551, - 78.155825 - ] - ] - ], - [ - [ - [ - 92.805544, - 79.382479 - ], - [ - 92.987764, - 79.416933 - ], - [ - 92.582216, - 79.406939 - ], - [ - 92.805544, - 79.382479 - ] - ] - ], - [ - [ - [ - 92.702211, - 79.071383 - ], - [ - 92.725542, - 79.074999 - ], - [ - 92.182619, - 79.127184 - ], - [ - 92.702211, - 79.071383 - ] - ] - ], - [ - [ - [ - 92.467485, - 79.429979 - ], - [ - 91.804155, - 79.412493 - ], - [ - 92.243593, - 79.379976 - ], - [ - 92.467485, - 79.429979 - ] - ] - ], - [ - [ - [ - 91.966387, - 77.599993 - ], - [ - 92.037767, - 77.630816 - ], - [ - 91.739702, - 77.647219 - ], - [ - 91.966387, - 77.599993 - ] - ] - ], - [ - [ - [ - 91.651094, - 79.651094 - ], - [ - 91.858873, - 79.664705 - ], - [ - 91.124422, - 79.72249 - ], - [ - 91.651094, - 79.651094 - ] - ] - ], - [ - [ - [ - 91.250277, - 81.063036 - ], - [ - 91.577211, - 81.143053 - ], - [ - 89.893602, - 81.168596 - ], - [ - 91.250277, - 81.063036 - ] - ] - ], - [ - [ - [ - 91.468599, - 79.454714 - ], - [ - 91.166094, - 79.526934 - ], - [ - 90.781939, - 79.54915 - ], - [ - 91.468599, - 79.454714 - ] - ] - ], - [ - [ - [ - 90.180269, - 77.115816 - ], - [ - 89.829714, - 77.140825 - ], - [ - 89.967211, - 77.113039 - ], - [ - 90.180269, - 77.115816 - ] - ] - ], - [ - [ - [ - 89.681658, - 77.284426 - ], - [ - 89.13582, - 77.204988 - ], - [ - 89.485262, - 77.179979 - ], - [ - 89.681658, - 77.284426 - ] - ] - ], - [ - [ - [ - 88.664705, - 77.096376 - ], - [ - 88.783052, - 77.004992 - ], - [ - 88.957216, - 77.125811 - ], - [ - 88.664705, - 77.096376 - ] - ] - ], - [ - [ - [ - 87.049715, - 74.979158 - ], - [ - 86.211107, - 74.898607 - ], - [ - 86.835268, - 74.826387 - ], - [ - 87.049715, - 74.979158 - ] - ] - ], - [ - [ - [ - 86.4872, - 73.908876 - ], - [ - 86.301378, - 73.977205 - ], - [ - 86.223314, - 73.966387 - ], - [ - 86.4872, - 73.908876 - ] - ] - ], - [ - [ - [ - 86.212496, - 74.518328 - ], - [ - 85.82361, - 74.570269 - ], - [ - 85.659426, - 74.470537 - ], - [ - 86.212496, - 74.518328 - ] - ] - ], - [ - [ - [ - 85.534426, - 74.127474 - ], - [ - 85.73279, - 74.168627 - ], - [ - 85.408876, - 74.189699 - ], - [ - 85.534426, - 74.127474 - ] - ] - ], - [ - [ - [ - 85.65555, - 74.791658 - ], - [ - 85.095537, - 74.747759 - ], - [ - 85.700274, - 74.721651 - ], - [ - 85.65555, - 74.791658 - ] - ] - ], - [ - [ - [ - 85.439425, - 74.4536 - ], - [ - 85.653322, - 74.529436 - ], - [ - 85.144991, - 74.54027 - ], - [ - 85.439425, - 74.4536 - ] - ] - ], - [ - [ - [ - 84.945253, - 74.47777 - ], - [ - 84.373034, - 74.448595 - ], - [ - 84.744432, - 74.395266 - ], - [ - 84.945253, - 74.47777 - ] - ] - ], - [ - [ - [ - 84.419146, - 74.031939 - ], - [ - 83.879427, - 74.006655 - ], - [ - 84.389437, - 73.955553 - ], - [ - 84.419146, - 74.031939 - ] - ] - ], - [ - [ - [ - 83.550264, - 70.46361 - ], - [ - 83.624422, - 70.524157 - ], - [ - 83.412493, - 70.440264 - ], - [ - 83.379702, - 70.364992 - ], - [ - 83.533602, - 70.377199 - ], - [ - 83.612764, - 70.437761 - ], - [ - 83.550264, - 70.46361 - ] - ] - ], - [ - [ - [ - 83.615816, - 74.09305 - ], - [ - 83.202776, - 74.149721 - ], - [ - 82.815813, - 74.091097 - ], - [ - 83.615816, - 74.09305 - ] - ] - ], - [ - [ - [ - 83.37221, - 70.686098 - ], - [ - 83.214159, - 70.807207 - ], - [ - 83.069719, - 70.397768 - ], - [ - 83.37221, - 70.686098 - ] - ] - ], - [ - [ - [ - 82.97304, - 75.969149 - ], - [ - 82.257219, - 75.958605 - ], - [ - 83.302477, - 75.941362 - ], - [ - 82.97304, - 75.969149 - ] - ] - ], - [ - [ - [ - 83.096941, - 70.124987 - ], - [ - 83.113604, - 70.193316 - ], - [ - 83.082766, - 70.218599 - ], - [ - 82.863878, - 70.251665 - ], - [ - 82.768602, - 70.208879 - ], - [ - 83.096941, - 70.124987 - ] - ] - ], - [ - [ - [ - 82.609713, - 74.048601 - ], - [ - 82.736376, - 74.098879 - ], - [ - 82.314699, - 74.114428 - ], - [ - 82.609713, - 74.048601 - ] - ] - ], - [ - [ - [ - 82.560259, - 77.461931 - ], - [ - 82.443865, - 77.510271 - ], - [ - 82.120256, - 77.50638 - ], - [ - 82.560259, - 77.461931 - ] - ] - ], - [ - [ - [ - 82.105822, - 75.412203 - ], - [ - 81.493044, - 75.358324 - ], - [ - 82.011934, - 75.172213 - ], - [ - 82.291933, - 75.330553 - ], - [ - 82.105822, - 75.412203 - ] - ] - ], - [ - [ - [ - 81.600267, - 75.935259 - ], - [ - 81.550814, - 75.923601 - ], - [ - 82.256945, - 75.869432 - ], - [ - 81.600267, - 75.935259 - ] - ] - ], - [ - [ - [ - 82.151934, - 75.115541 - ], - [ - 82.107485, - 75.158327 - ], - [ - 82.027208, - 75.128313 - ], - [ - 82.151934, - 75.115541 - ] - ] - ], - [ - [ - [ - 79.977205, - 80.952486 - ], - [ - 78.972765, - 80.837496 - ], - [ - 80.437761, - 80.926378 - ], - [ - 79.977205, - 80.952486 - ] - ] - ], - [ - [ - [ - 80.360537, - 73.500277 - ], - [ - 80.403597, - 73.546099 - ], - [ - 80.056643, - 73.555819 - ], - [ - 80.360537, - 73.500277 - ] - ] - ], - [ - [ - [ - 79.38611, - 74.617205 - ], - [ - 79.149157, - 74.603045 - ], - [ - 79.6122, - 74.594988 - ], - [ - 79.38611, - 74.617205 - ] - ] - ], - [ - [ - [ - 79.570833, - 72.730272 - ], - [ - 79.194704, - 73.095827 - ], - [ - 78.5786, - 72.845537 - ], - [ - 79.570833, - 72.730272 - ] - ] - ], - [ - [ - [ - 77.762499, - 72.295259 - ], - [ - 78.393053, - 72.489153 - ], - [ - 77.620256, - 72.630541 - ], - [ - 76.854708, - 72.329988 - ], - [ - 77.762499, - 72.295259 - ] - ] - ], - [ - [ - [ - 76.232485, - 79.601381 - ], - [ - 77.619707, - 79.512209 - ], - [ - 76.041933, - 79.634722 - ], - [ - 76.232485, - 79.601381 - ] - ] - ], - [ - [ - [ - 76.390276, - 73.52083 - ], - [ - 76.07416, - 73.521379 - ], - [ - 76.7661, - 73.43387 - ], - [ - 76.390276, - 73.52083 - ] - ] - ], - [ - [ - [ - 76.452776, - 73.190538 - ], - [ - 76.122759, - 73.207216 - ], - [ - 76.73749, - 73.153597 - ], - [ - 76.452776, - 73.190538 - ] - ] - ], - [ - [ - [ - 76.077776, - 73.558031 - ], - [ - 75.621096, - 73.54999 - ], - [ - 75.306322, - 73.418337 - ], - [ - 76.077776, - 73.558031 - ] - ] - ], - [ - [ - [ - 74.862764, - 73.089708 - ], - [ - 74.089708, - 73.02054 - ], - [ - 74.654436, - 72.855822 - ], - [ - 74.862764, - 73.089708 - ] - ] - ], - [ - [ - [ - 72.993044, - 72.60248 - ], - [ - 72.984987, - 72.676088 - ], - [ - 72.840548, - 72.67499 - ], - [ - 72.993044, - 72.60248 - ] - ] - ], - [ - [ - [ - 71.046938, - 73.500002 - ], - [ - 69.974428, - 73.407213 - ], - [ - 69.866381, - 73.032763 - ], - [ - 71.676653, - 73.176928 - ], - [ - 70.999147, - 73.288881 - ], - [ - 71.265001, - 73.436373 - ], - [ - 71.046938, - 73.500002 - ] - ] - ], - [ - [ - [ - 71.341097, - 73.324999 - ], - [ - 71.262774, - 73.414156 - ], - [ - 71.139986, - 73.289705 - ], - [ - 71.341097, - 73.324999 - ] - ] - ], - [ - [ - [ - 69.252214, - 66.78998 - ], - [ - 69.12665, - 66.788591 - ], - [ - 69.419436, - 66.769716 - ], - [ - 69.841097, - 66.478319 - ], - [ - 70.104433, - 66.531099 - ], - [ - 70.055254, - 66.703325 - ], - [ - 69.252214, - 66.78998 - ] - ] - ], - [ - [ - [ - 70.033876, - 66.723879 - ], - [ - 69.9536, - 66.76111 - ], - [ - 69.789156, - 66.780275 - ], - [ - 70.033876, - 66.723879 - ] - ] - ], - [ - [ - [ - 69.334993, - 66.654436 - ], - [ - 69.33333, - 66.718874 - ], - [ - 69.243319, - 66.693316 - ], - [ - 69.334993, - 66.654436 - ] - ] - ], - [ - [ - [ - 68.2661, - 76.958605 - ], - [ - 64.109713, - 76.311373 - ], - [ - 61.066385, - 76.273882 - ], - [ - 60.750002, - 76.006105 - ], - [ - 58.00139, - 75.67415 - ], - [ - 58.194712, - 75.58832 - ], - [ - 57.503328, - 75.492479 - ], - [ - 57.737215, - 75.323046 - ], - [ - 55.797777, - 75.146379 - ], - [ - 56.678606, - 74.952211 - ], - [ - 55.829721, - 74.796099 - ], - [ - 56.984583, - 74.687151 - ], - [ - 55.571665, - 74.659716 - ], - [ - 56.290552, - 74.491365 - ], - [ - 55.073328, - 74.264437 - ], - [ - 55.866388, - 74.10248 - ], - [ - 53.630548, - 73.755266 - ], - [ - 55.176104, - 73.706102 - ], - [ - 54.220545, - 73.323046 - ], - [ - 54.971659, - 73.442202 - ], - [ - 55.977488, - 73.317492 - ], - [ - 55.90777, - 73.440264 - ], - [ - 56.75889, - 73.246935 - ], - [ - 57.253328, - 73.487764 - ], - [ - 56.723047, - 73.673601 - ], - [ - 57.613611, - 73.662203 - ], - [ - 56.555826, - 73.882204 - ], - [ - 57.715273, - 73.713045 - ], - [ - 57.911661, - 73.915545 - ], - [ - 57.257502, - 74.076097 - ], - [ - 58.135828, - 73.985262 - ], - [ - 58.742769, - 74.266939 - ], - [ - 58.183352, - 74.573534 - ], - [ - 59.147219, - 74.438585 - ], - [ - 59.169443, - 74.719713 - ], - [ - 59.773325, - 74.591097 - ], - [ - 59.509996, - 74.794985 - ], - [ - 60.318605, - 74.760546 - ], - [ - 60.680277, - 74.933321 - ], - [ - 59.925554, - 74.999147 - ], - [ - 61.287775, - 75.326097 - ], - [ - 68.861101, - 76.541933 - ], - [ - 68.931368, - 76.782763 - ], - [ - 68.2661, - 76.958605 - ] - ] - ], - [ - [ - [ - 67.383043, - 68.777483 - ], - [ - 67.338594, - 68.819155 - ], - [ - 67.148882, - 68.821932 - ], - [ - 67.383043, - 68.777483 - ] - ] - ], - [ - [ - [ - 67.252489, - 69.444704 - ], - [ - 67.33832, - 69.588884 - ], - [ - 67.021105, - 69.486101 - ], - [ - 67.252489, - 69.444704 - ] - ] - ], - [ - [ - [ - 67.13109, - 69.361376 - ], - [ - 67.210543, - 69.425814 - ], - [ - 66.938036, - 69.44359 - ], - [ - 67.13109, - 69.361376 - ] - ] - ], - [ - [ - [ - 66.171923, - 69.08777 - ], - [ - 65.951937, - 69.093874 - ], - [ - 66.537767, - 68.94359 - ], - [ - 66.171923, - 69.08777 - ] - ] - ], - [ - [ - [ - 65.452486, - 81.027773 - ], - [ - 64.483599, - 81.191088 - ], - [ - 62.504168, - 80.818331 - ], - [ - 64.303041, - 80.729982 - ], - [ - 65.452486, - 81.027773 - ] - ] - ], - [ - [ - [ - 62.793329, - 81.708605 - ], - [ - 62.104166, - 81.672487 - ], - [ - 63.802774, - 81.653322 - ], - [ - 62.793329, - 81.708605 - ] - ] - ], - [ - [ - [ - 62.218325, - 80.811098 - ], - [ - 59.220827, - 80.642763 - ], - [ - 61.066103, - 80.403597 - ], - [ - 62.218325, - 80.811098 - ] - ] - ], - [ - [ - [ - 62.080828, - 81.544146 - ], - [ - 62.203608, - 81.564989 - ], - [ - 61.654436, - 81.603045 - ], - [ - 62.080828, - 81.544146 - ] - ] - ], - [ - [ - [ - 60.98527, - 80.916094 - ], - [ - 61.654161, - 81.110811 - ], - [ - 60.024996, - 80.991655 - ], - [ - 60.98527, - 80.916094 - ] - ] - ], - [ - [ - [ - 60.638887, - 81.272219 - ], - [ - 59.722216, - 81.283327 - ], - [ - 60.377489, - 81.244143 - ], - [ - 60.638887, - 81.272219 - ] - ] - ], - [ - [ - [ - 59.461107, - 70.276659 - ], - [ - 59.033052, - 70.478868 - ], - [ - 58.408602, - 70.250277 - ], - [ - 59.601664, - 69.712496 - ], - [ - 60.546106, - 69.79915 - ], - [ - 59.461107, - 70.276659 - ] - ] - ], - [ - [ - [ - 60.47249, - 76.15999 - ], - [ - 60.041109, - 76.156939 - ], - [ - 59.866106, - 76.104158 - ], - [ - 60.47249, - 76.15999 - ] - ] - ], - [ - [ - [ - 60.261667, - 80.163317 - ], - [ - 60.289438, - 80.166933 - ], - [ - 59.897776, - 80.191652 - ], - [ - 60.261667, - 80.163317 - ] - ] - ], - [ - [ - [ - 59.76639, - 81.170259 - ], - [ - 59.844713, - 81.179979 - ], - [ - 59.010828, - 81.207216 - ], - [ - 59.76639, - 81.170259 - ] - ] - ], - [ - [ - [ - 59.42222, - 79.920259 - ], - [ - 59.844713, - 80.068331 - ], - [ - 58.759165, - 80.022768 - ], - [ - 59.42222, - 79.920259 - ] - ] - ], - [ - [ - [ - 59.2875, - 81.742754 - ], - [ - 59.437769, - 81.816668 - ], - [ - 57.888887, - 81.706942 - ], - [ - 59.2875, - 81.742754 - ] - ] - ], - [ - [ - [ - 59.053324, - 81.28499 - ], - [ - 59.381662, - 81.32416 - ], - [ - 58.461939, - 81.338594 - ], - [ - 59.053324, - 81.28499 - ] - ] - ], - [ - [ - [ - 59.192492, - 75.888048 - ], - [ - 59.27833, - 75.908327 - ], - [ - 58.993608, - 75.8911 - ], - [ - 59.192492, - 75.888048 - ] - ] - ], - [ - [ - [ - 57.968325, - 80.489428 - ], - [ - 56.946383, - 80.474428 - ], - [ - 57.718599, - 80.09833 - ], - [ - 59.276384, - 80.334154 - ], - [ - 57.968325, - 80.489428 - ] - ] - ], - [ - [ - [ - 58.754717, - 75.896944 - ], - [ - 59.266939, - 75.969439 - ], - [ - 58.694712, - 75.899431 - ], - [ - 58.754717, - 75.896944 - ] - ] - ], - [ - [ - [ - 59.239435, - 69.175814 - ], - [ - 59.19388, - 69.233873 - ], - [ - 58.760553, - 69.333605 - ], - [ - 59.239435, - 69.175814 - ] - ] - ], - [ - [ - [ - 59.033884, - 74.34276 - ], - [ - 59.08111, - 74.409151 - ], - [ - 58.934992, - 74.358324 - ], - [ - 59.033884, - 74.34276 - ] - ] - ], - [ - [ - [ - 58.68638, - 79.944704 - ], - [ - 58.279161, - 79.926653 - ], - [ - 58.988047, - 79.89554 - ], - [ - 58.68638, - 79.944704 - ] - ] - ], - [ - [ - [ - 58.986658, - 80.791658 - ], - [ - 58.756662, - 80.896105 - ], - [ - 57.816385, - 80.805819 - ], - [ - 58.986658, - 80.791658 - ] - ] - ], - [ - [ - [ - 58.855272, - 80.640276 - ], - [ - 58.537775, - 80.605822 - ], - [ - 58.806383, - 80.582766 - ], - [ - 58.855272, - 80.640276 - ] - ] - ], - [ - [ - [ - 58.758051, - 81.07332 - ], - [ - 58.808046, - 81.09749 - ], - [ - 58.515276, - 81.104433 - ], - [ - 58.758051, - 81.07332 - ] - ] - ], - [ - [ - [ - 58.490831, - 81.55887 - ], - [ - 58.719713, - 81.599718 - ], - [ - 58.226656, - 81.581377 - ], - [ - 58.490831, - 81.55887 - ] - ] - ], - [ - [ - [ - 58.533335, - 80.953051 - ], - [ - 58.698877, - 81.025545 - ], - [ - 57.834162, - 81.045259 - ], - [ - 58.533335, - 80.953051 - ] - ] - ], - [ - [ - [ - 58.445269, - 81.114153 - ], - [ - 58.648607, - 81.134996 - ], - [ - 58.149439, - 81.128862 - ], - [ - 58.445269, - 81.114153 - ] - ] - ], - [ - [ - [ - 57.796663, - 81.529985 - ], - [ - 56.741381, - 81.448595 - ], - [ - 58.572496, - 81.411928 - ], - [ - 57.796663, - 81.529985 - ] - ] - ], - [ - [ - [ - 56.242495, - 81.101091 - ], - [ - 56.096384, - 81.089159 - ], - [ - 58.278605, - 80.91971 - ], - [ - 56.242495, - 81.101091 - ] - ] - ], - [ - [ - [ - 57.564997, - 81.125261 - ], - [ - 58.080553, - 81.209719 - ], - [ - 56.994715, - 81.165545 - ], - [ - 57.564997, - 81.125261 - ] - ] - ], - [ - [ - [ - 58.010553, - 80.6411 - ], - [ - 57.213053, - 80.603594 - ], - [ - 57.870829, - 80.553316 - ], - [ - 58.010553, - 80.6411 - ] - ] - ], - [ - [ - [ - 57.920832, - 68.803316 - ], - [ - 57.199999, - 68.718874 - ], - [ - 57.864717, - 68.761934 - ], - [ - 57.920832, - 68.803316 - ] - ] - ], - [ - [ - [ - 57.458048, - 81.313601 - ], - [ - 55.431665, - 81.271654 - ], - [ - 57.902773, - 81.29027 - ], - [ - 57.458048, - 81.313601 - ] - ] - ], - [ - [ - [ - 54.749437, - 81.109713 - ], - [ - 54.418329, - 81.006105 - ], - [ - 57.720827, - 80.792482 - ], - [ - 54.749437, - 81.109713 - ] - ] - ], - [ - [ - [ - 55.331667, - 73.329988 - ], - [ - 54.914438, - 73.422213 - ], - [ - 53.153322, - 73.155825 - ], - [ - 53.381937, - 72.88109 - ], - [ - 52.376383, - 72.724703 - ], - [ - 53.219439, - 72.647219 - ], - [ - 52.74888, - 72.633043 - ], - [ - 53.09749, - 72.594713 - ], - [ - 52.397219, - 72.076097 - ], - [ - 51.574442, - 72.070833 - ], - [ - 51.416101, - 71.737764 - ], - [ - 51.79722, - 71.474993 - ], - [ - 53.355829, - 71.567217 - ], - [ - 53.480547, - 71.291658 - ], - [ - 53.929438, - 71.466936 - ], - [ - 53.453325, - 71.26111 - ], - [ - 54.244997, - 71.12665 - ], - [ - 53.508333, - 71.086107 - ], - [ - 53.743326, - 70.943041 - ], - [ - 53.46361, - 70.813875 - ], - [ - 55.186319, - 70.552065 - ], - [ - 57.639994, - 70.726381 - ], - [ - 56.228045, - 71.194139 - ], - [ - 55.221018, - 71.925615 - ], - [ - 55.57583, - 72.195818 - ], - [ - 55.118052, - 72.44803 - ], - [ - 55.945543, - 72.666658 - ], - [ - 55.429438, - 72.784151 - ], - [ - 56.262217, - 72.960817 - ], - [ - 55.615274, - 72.961382 - ], - [ - 56.588602, - 73.137499 - ], - [ - 55.331667, - 73.329988 - ] - ] - ], - [ - [ - [ - 57.204714, - 70.508883 - ], - [ - 56.841661, - 70.599154 - ], - [ - 56.96583, - 70.517488 - ], - [ - 57.204714, - 70.508883 - ] - ] - ], - [ - [ - [ - 57.096941, - 80.34305 - ], - [ - 55.71361, - 80.101091 - ], - [ - 57.050547, - 80.074999 - ], - [ - 57.096941, - 80.34305 - ] - ] - ], - [ - [ - [ - 56.778879, - 80.735811 - ], - [ - 55.432497, - 80.70833 - ], - [ - 56.948603, - 80.692751 - ], - [ - 56.778879, - 80.735811 - ] - ] - ], - [ - [ - [ - 56.308046, - 80.381365 - ], - [ - 55.873049, - 80.435259 - ], - [ - 55.786112, - 80.407213 - ], - [ - 56.308046, - 80.381365 - ] - ] - ], - [ - [ - [ - 55.449999, - 80.851381 - ], - [ - 53.97555, - 80.817492 - ], - [ - 55.982767, - 80.795824 - ], - [ - 55.449999, - 80.851381 - ] - ] - ], - [ - [ - [ - 55.151102, - 80.220263 - ], - [ - 55.543886, - 80.293871 - ], - [ - 54.8575, - 80.252489 - ], - [ - 55.151102, - 80.220263 - ] - ] - ], - [ - [ - [ - 55.472315, - 68.909044 - ], - [ - 55.508425, - 68.912111 - ], - [ - 55.224566, - 68.909868 - ], - [ - 55.472315, - 68.909044 - ] - ] - ], - [ - [ - [ - 55.366938, - 80.428865 - ], - [ - 54.977488, - 80.416933 - ], - [ - 55.167498, - 80.369432 - ], - [ - 55.366938, - 80.428865 - ] - ] - ], - [ - [ - [ - 55.015833, - 80.556932 - ], - [ - 54.641108, - 80.528048 - ], - [ - 55.16305, - 80.494707 - ], - [ - 55.015833, - 80.556932 - ] - ] - ], - [ - [ - [ - 54.637217, - 80.393602 - ], - [ - 54.863054, - 80.450274 - ], - [ - 54.370272, - 80.405825 - ], - [ - 54.637217, - 80.393602 - ] - ] - ], - [ - [ - [ - 54.654161, - 68.955828 - ], - [ - 54.694155, - 68.991365 - ], - [ - 54.567774, - 68.955828 - ], - [ - 54.654161, - 68.955828 - ] - ] - ], - [ - [ - [ - 54.301661, - 80.419146 - ], - [ - 54.458887, - 80.498034 - ], - [ - 53.779993, - 80.469439 - ], - [ - 54.301661, - 80.419146 - ] - ] - ], - [ - [ - [ - 54.221933, - 80.204165 - ], - [ - 54.439714, - 80.298601 - ], - [ - 54.151384, - 80.299425 - ], - [ - 54.221933, - 80.204165 - ] - ] - ], - [ - [ - [ - 54.293612, - 81.33333 - ], - [ - 54.114717, - 81.347216 - ], - [ - 54.421938, - 81.270266 - ], - [ - 54.293612, - 81.33333 - ] - ] - ], - [ - [ - [ - 54.211939, - 68.249712 - ], - [ - 54.336939, - 68.303865 - ], - [ - 54.283052, - 68.336657 - ], - [ - 54.211939, - 68.249712 - ] - ] - ], - [ - [ - [ - 53.949717, - 68.292757 - ], - [ - 54.01333, - 68.3622 - ], - [ - 53.868883, - 68.346102 - ], - [ - 53.949717, - 68.292757 - ] - ] - ], - [ - [ - [ - 53.621103, - 80.294985 - ], - [ - 52.181383, - 80.271929 - ], - [ - 53.87166, - 80.256655 - ], - [ - 53.621103, - 80.294985 - ] - ] - ], - [ - [ - [ - 53.59527, - 71.110262 - ], - [ - 53.542498, - 71.18387 - ], - [ - 53.432497, - 71.136934 - ], - [ - 53.59527, - 71.110262 - ] - ] - ], - [ - [ - [ - 53.442217, - 80.484987 - ], - [ - 53.398607, - 80.62665 - ], - [ - 53.105272, - 80.619982 - ], - [ - 53.442217, - 80.484987 - ] - ] - ], - [ - [ - [ - 53.360552, - 71.292208 - ], - [ - 53.12916, - 71.358599 - ], - [ - 53.204165, - 71.311098 - ], - [ - 53.360552, - 71.292208 - ] - ] - ], - [ - [ - [ - 52.858606, - 71.378313 - ], - [ - 52.208887, - 71.305544 - ], - [ - 53.141939, - 70.978319 - ], - [ - 53.207499, - 71.251101 - ], - [ - 52.858606, - 71.378313 - ] - ] - ], - [ - [ - [ - 52.452494, - 80.321108 - ], - [ - 52.521379, - 80.330828 - ], - [ - 52.166666, - 80.350267 - ], - [ - 52.452494, - 80.321108 - ] - ] - ], - [ - [ - [ - 50.133051, - 80.846651 - ], - [ - 50.441378, - 80.903872 - ], - [ - 48.954165, - 80.731371 - ], - [ - 49.681383, - 80.717485 - ], - [ - 49.192217, - 80.521379 - ], - [ - 47.380274, - 80.450548 - ], - [ - 48.183878, - 80.331377 - ], - [ - 46.616388, - 80.290819 - ], - [ - 48.374163, - 80.087206 - ], - [ - 49.113054, - 80.182756 - ], - [ - 48.622766, - 80.300264 - ], - [ - 48.809717, - 80.376375 - ], - [ - 51.746943, - 80.712206 - ], - [ - 50.133051, - 80.846651 - ] - ] - ], - [ - [ - [ - 51.204996, - 80.038042 - ], - [ - 50.043886, - 79.97304 - ], - [ - 51.50194, - 79.931658 - ], - [ - 51.204996, - 80.038042 - ] - ] - ], - [ - [ - [ - 50.814157, - 68.37221 - ], - [ - 51.456659, - 68.476931 - ], - [ - 51.163881, - 68.495256 - ], - [ - 50.814157, - 68.37221 - ] - ] - ], - [ - [ - [ - 50.597216, - 81.046099 - ], - [ - 50.983332, - 81.100542 - ], - [ - 50.34749, - 81.090273 - ], - [ - 50.597216, - 81.046099 - ] - ] - ], - [ - [ - [ - 50.305269, - 69.161928 - ], - [ - 48.943323, - 69.506945 - ], - [ - 48.312769, - 69.279161 - ], - [ - 48.216105, - 68.894991 - ], - [ - 48.912767, - 68.736101 - ], - [ - 50.305269, - 69.161928 - ] - ] - ], - [ - [ - [ - 50.252779, - 80.146379 - ], - [ - 49.532213, - 80.152208 - ], - [ - 49.97249, - 80.054155 - ], - [ - 50.252779, - 80.146379 - ] - ] - ], - [ - [ - [ - 49.596102, - 80.072771 - ], - [ - 49.330278, - 80.061922 - ], - [ - 49.683054, - 80.036379 - ], - [ - 49.596102, - 80.072771 - ] - ] - ], - [ - [ - [ - 49.37916, - 79.989153 - ], - [ - 49.435266, - 80.002489 - ], - [ - 49.193605, - 80.032213 - ], - [ - 49.37916, - 79.989153 - ] - ] - ], - [ - [ - [ - 47.897776, - 80.803316 - ], - [ - 44.8575, - 80.616381 - ], - [ - 46.036386, - 80.572222 - ], - [ - 46.084162, - 80.436922 - ], - [ - 47.423609, - 80.588884 - ], - [ - 47.303324, - 80.657488 - ], - [ - 47.751665, - 80.76639 - ], - [ - 48.76639, - 80.646379 - ], - [ - 47.897776, - 80.803316 - ] - ] - ], - [ - [ - [ - 48.723314, - 45.69832 - ], - [ - 48.495829, - 45.882212 - ], - [ - 48.591928, - 45.747492 - ], - [ - 48.723314, - 45.69832 - ] - ] - ], - [ - [ - [ - 48.468882, - 45.673883 - ], - [ - 48.404428, - 45.794992 - ], - [ - 48.33777, - 45.797213 - ], - [ - 48.468882, - 45.673883 - ] - ] - ], - [ - [ - [ - 47.962496, - 45.504992 - ], - [ - 47.993876, - 45.536654 - ], - [ - 47.960276, - 45.653048 - ], - [ - 47.962496, - 45.504992 - ] - ] - ], - [ - [ - [ - 47.739717, - 43.932215 - ], - [ - 47.785555, - 43.958879 - ], - [ - 47.628038, - 43.974436 - ], - [ - 47.739717, - 43.932215 - ] - ] - ], - [ - [ - [ - 42.706659, - 66.686373 - ], - [ - 42.622766, - 66.782213 - ], - [ - 42.432497, - 66.758608 - ], - [ - 42.706659, - 66.686373 - ] - ] - ], - [ - [ - [ - 40.412493, - 64.653597 - ], - [ - 39.97471, - 64.682756 - ], - [ - 40.471376, - 64.566088 - ], - [ - 40.412493, - 64.653597 - ] - ] - ], - [ - [ - [ - 36.061663, - 65.190264 - ], - [ - 35.943323, - 65.181932 - ], - [ - 36.300829, - 65.201097 - ], - [ - 36.061663, - 65.190264 - ] - ] - ], - [ - [ - [ - 35.991106, - 64.325823 - ], - [ - 36.047495, - 64.355547 - ], - [ - 35.854441, - 64.405825 - ], - [ - 35.991106, - 64.325823 - ] - ] - ], - [ - [ - [ - 35.790834, - 64.973314 - ], - [ - 35.834436, - 65.168322 - ], - [ - 35.524698, - 65.158876 - ], - [ - 35.790834, - 64.973314 - ] - ] - ], - [ - [ - [ - 34.404711, - 69.339434 - ], - [ - 34.213373, - 69.402727 - ], - [ - 33.973047, - 69.366091 - ], - [ - 34.404711, - 69.339434 - ] - ] - ], - [ - [ - [ - 28.693052, - 60.267771 - ], - [ - 28.714998, - 60.31138 - ], - [ - 28.551111, - 60.349436 - ], - [ - 28.693052, - 60.267771 - ] - ] - ], - [ - [ - [ - 21.431387, - 55.25194 - ], - [ - 21.263937, - 55.248987 - ], - [ - 21.222498, - 54.93194 - ], - [ - 20.538054, - 54.949434 - ], - [ - 20.984816, - 55.276552 - ], - [ - 20.942835, - 55.287203 - ], - [ - 19.969442, - 54.957499 - ], - [ - 19.872713, - 54.640551 - ], - [ - 20.405001, - 54.679163 - ], - [ - 19.797007, - 54.437551 - ], - [ - 22.785887, - 54.36384 - ], - [ - 22.842497, - 54.896944 - ], - [ - 21.431387, - 55.25194 - ] - ] - ], - [ - [ - [ - 19.697779, - 54.479441 - ], - [ - 19.898203, - 54.625959 - ], - [ - 19.62726, - 54.463274 - ], - [ - 19.65111, - 54.455828 - ], - [ - 19.697779, - 54.479441 - ] - ] - ], - [ - [ - [ - -169.053345, - 65.749147 - ], - [ - -168.989746, - 65.808855 - ], - [ - -169.075012, - 65.815523 - ], - [ - -169.053345, - 65.749147 - ] - ] - ], - [ - [ - [ - -179.626129, - 68.906359 - ], - [ - -180, - 68.980104 - ], - [ - -180, - 65.068911 - ], - [ - -179.315002, - 65.536089 - ], - [ - -179.79837, - 65.870516 - ], - [ - -179.695587, - 66.183031 - ], - [ - -178.516998, - 66.402773 - ], - [ - -178.909454, - 65.993868 - ], - [ - -178.460541, - 65.736376 - ], - [ - -178.56308, - 65.51639 - ], - [ - -176.078064, - 65.470263 - ], - [ - -175.448883, - 64.784426 - ], - [ - -173.681671, - 64.347216 - ], - [ - -173.41333, - 64.619982 - ], - [ - -173.191406, - 64.254427 - ], - [ - -172.355835, - 64.458315 - ], - [ - -173.200867, - 64.786089 - ], - [ - -172.126129, - 65.086367 - ], - [ - -172.693359, - 65.232759 - ], - [ - -172.190552, - 65.446627 - ], - [ - -172.800293, - 65.681658 - ], - [ - -171.11557, - 65.476366 - ], - [ - -171.544189, - 65.833605 - ], - [ - -170.63559, - 65.610537 - ], - [ - -170.587799, - 65.863604 - ], - [ - -169.691101, - 66.072496 - ], - [ - -170.64447, - 66.2372 - ], - [ - -171.726105, - 66.955248 - ], - [ - -173.352509, - 66.838869 - ], - [ - -173.176697, - 67.063311 - ], - [ - -173.666962, - 67.131655 - ], - [ - -174.652527, - 67.063601 - ], - [ - -174.125275, - 66.989138 - ], - [ - -173.99585, - 66.691347 - ], - [ - -174.30307, - 66.577761 - ], - [ - -173.758667, - 66.44803 - ], - [ - -174.461945, - 66.301073 - ], - [ - -175.000336, - 66.671099 - ], - [ - -174.742798, - 66.773043 - ], - [ - -174.830292, - 67.382738 - ], - [ - -175.38031, - 67.344988 - ], - [ - -175.191101, - 67.510805 - ], - [ - -175.463623, - 67.707476 - ], - [ - -179.626129, - 68.906359 - ] - ] - ], - [ - [ - [ - -172.590576, - 64.70331 - ], - [ - -172.171112, - 64.795259 - ], - [ - -172.531158, - 64.843035 - ], - [ - -172.590576, - 64.70331 - ] - ] - ], - [ - [ - [ - -172.544464, - 64.613314 - ], - [ - -172.488312, - 64.633608 - ], - [ - -172.758087, - 64.660799 - ], - [ - -172.544464, - 64.613314 - ] - ] - ], - [ - [ - [ - -175.62085, - 71.377764 - ], - [ - -175.764191, - 71.42441 - ], - [ - -175.923615, - 71.425814 - ], - [ - -175.62085, - 71.377764 - ] - ] - ], - [ - [ - [ - -178.568604, - 71.56415 - ], - [ - -180, - 71.535845 - ], - [ - -180, - 70.99721 - ], - [ - -177.439453, - 71.226931 - ], - [ - -178.568604, - 71.56415 - ] - ] - ] - ] - }, - "name" : "Russia", - "iso2" : "RU", - "iso3" : "RUS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "8r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 29.024441, - -2.744722 - ], - [ - 29.85083, - -2.759722 - ], - [ - 29.952221, - -2.309445 - ], - [ - 30.57333, - -2.399167 - ], - [ - 30.894165, - -2.076111 - ], - [ - 30.48222, - -1.063334 - ], - [ - 29.974998, - -1.464445 - ], - [ - 29.596943, - -1.385834 - ], - [ - 28.868332, - -2.394444 - ], - [ - 29.024441, - -2.744722 - ] - ] - ] - }, - "name" : "Rwanda", - "iso2" : "RW", - "iso3" : "RWA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "871E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 41.957773, - 16.708887 - ], - [ - 42.179995, - 16.566946 - ], - [ - 41.753611, - 16.876112 - ], - [ - 41.957773, - 16.708887 - ] - ] - ], - [ - [ - [ - 41.986666, - 16.753332 - ], - [ - 41.845552, - 17.009165 - ], - [ - 41.837221, - 16.868612 - ], - [ - 41.986666, - 16.753332 - ] - ] - ], - [ - [ - [ - 37.080553, - 24.959166 - ], - [ - 37.041666, - 24.996946 - ], - [ - 37.03583, - 24.963057 - ], - [ - 37.080553, - 24.959166 - ] - ] - ], - [ - [ - [ - 35.754717, - 27.094721 - ], - [ - 35.726389, - 27.128611 - ], - [ - 35.757776, - 27.076944 - ], - [ - 35.754717, - 27.094721 - ] - ] - ], - [ - [ - [ - 49.53721, - 27.363607 - ], - [ - 49.452211, - 27.28583 - ], - [ - 49.638613, - 27.316385 - ], - [ - 49.53721, - 27.363607 - ] - ] - ], - [ - [ - [ - 34.593607, - 27.909166 - ], - [ - 34.546663, - 27.99861 - ], - [ - 34.49222, - 27.996111 - ], - [ - 34.593607, - 27.909166 - ] - ] - ], - [ - [ - [ - 44.721663, - 29.198332 - ], - [ - 42.085001, - 31.111662 - ], - [ - 40.413332, - 31.948332 - ], - [ - 39.196745, - 32.154943 - ], - [ - 37.005274, - 31.505556 - ], - [ - 38.00139, - 30.504168 - ], - [ - 37.502779, - 30.002222 - ], - [ - 36.743608, - 29.864721 - ], - [ - 36.070002, - 29.18889 - ], - [ - 34.96139, - 29.360834 - ], - [ - 34.571665, - 28.088888 - ], - [ - 35.160555, - 28.056665 - ], - [ - 37.235552, - 25.182501 - ], - [ - 37.441668, - 24.371389 - ], - [ - 38.452776, - 23.782499 - ], - [ - 39.062777, - 22.583334 - ], - [ - 39.176943, - 21.099165 - ], - [ - 40.759996, - 19.760279 - ], - [ - 42.789682, - 16.377504 - ], - [ - 43.20611, - 16.672224 - ], - [ - 43.309443, - 17.457224 - ], - [ - 44.467501, - 17.411943 - ], - [ - 46.33333, - 16.666666 - ], - [ - 46.333055, - 15.616945 - ], - [ - 48.76639, - 18.26639 - ], - [ - 51.999292, - 18.999346 - ], - [ - 55.000002, - 20.000002 - ], - [ - 55.666109, - 21.999723 - ], - [ - 55.199167, - 22.69972 - ], - [ - 52.58333, - 22.93889 - ], - [ - 51.583612, - 24.259722 - ], - [ - 51.215166, - 24.62089 - ], - [ - 50.830957, - 24.749968 - ], - [ - 49.993891, - 26.019999 - ], - [ - 50.159166, - 26.656668 - ], - [ - 48.838877, - 27.619719 - ], - [ - 48.41659, - 28.545279 - ], - [ - 47.688883, - 28.538885 - ], - [ - 47.459993, - 28.999441 - ], - [ - 46.546946, - 29.1042 - ], - [ - 44.721663, - 29.198332 - ] - ] - ] - ] - }, - "name" : "Saudi Arabia", - "iso2" : "SA", - "iso3" : "SAU" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "9L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -62.55278, - 17.094166 - ], - [ - -62.599724, - 17.19722 - ], - [ - -62.621948, - 17.111385 - ], - [ - -62.55278, - 17.094166 - ] - ] - ], - [ - [ - [ - -62.701668, - 17.336941 - ], - [ - -62.863892, - 17.370831 - ], - [ - -62.625282, - 17.220833 - ], - [ - -62.701668, - 17.336941 - ] - ] - ] - ] - }, - "name" : "Saint Kitts and Nevis", - "iso2" : "KN", - "iso3" : "KNA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "9b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 46.491386, - -9.754446 - ], - [ - 46.508331, - -9.717779 - ], - [ - 46.476105, - -9.744167 - ], - [ - 46.491386, - -9.754446 - ] - ] - ], - [ - [ - [ - 46.510551, - -9.396946 - ], - [ - 46.204163, - -9.389446 - ], - [ - 46.269165, - -9.463057 - ], - [ - 46.510551, - -9.396946 - ] - ] - ], - [ - [ - [ - 46.413887, - -9.358891 - ], - [ - 46.426941, - -9.342779 - ], - [ - 46.276665, - -9.346111 - ], - [ - 46.413887, - -9.358891 - ] - ] - ], - [ - [ - [ - 56.282219, - -7.134167 - ], - [ - 56.27861, - -7.110834 - ], - [ - 56.247215, - -7.194445 - ], - [ - 56.282219, - -7.134167 - ] - ] - ], - [ - [ - [ - 55.535271, - -4.763056 - ], - [ - 55.45916, - -4.55139 - ], - [ - 55.376106, - -4.627223 - ], - [ - 55.535271, - -4.763056 - ] - ] - ], - [ - [ - [ - 55.246109, - -4.506945 - ], - [ - 55.26722, - -4.481668 - ], - [ - 55.231667, - -4.448056 - ], - [ - 55.246109, - -4.506945 - ] - ] - ], - [ - [ - [ - 55.775833, - -4.348333 - ], - [ - 55.77166, - -4.315556 - ], - [ - 55.687218, - -4.2875 - ], - [ - 55.775833, - -4.348333 - ] - ] - ] - ] - }, - "name" : "Seychelles", - "iso2" : "SC", - "iso3" : "SYC" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "9r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 37.85083, - -46.956947 - ], - [ - 37.781944, - -46.83223 - ], - [ - 37.576385, - -46.909447 - ], - [ - 37.85083, - -46.956947 - ] - ] - ], - [ - [ - [ - 37.959442, - -46.658615 - ], - [ - 37.942772, - -46.60334 - ], - [ - 37.856941, - -46.626945 - ], - [ - 37.959442, - -46.658615 - ] - ] - ], - [ - [ - [ - 31.297504, - -22.414764 - ], - [ - 29.893887, - -22.194447 - ], - [ - 29.373623, - -22.19241 - ], - [ - 28.298332, - -22.609447 - ], - [ - 26.95919, - -23.752075 - ], - [ - 26.845276, - -24.264446 - ], - [ - 25.871387, - -24.744446 - ], - [ - 25.50972, - -25.67778 - ], - [ - 24.6772, - -25.827824 - ], - [ - 23.014832, - -25.299725 - ], - [ - 22.624809, - -26.111565 - ], - [ - 21.667221, - -26.864445 - ], - [ - 20.642498, - -26.828056 - ], - [ - 20.811386, - -25.883335 - ], - [ - 20.000942, - -24.765408 - ], - [ - 19.99612, - -28.421448 - ], - [ - 19.123055, - -28.962223 - ], - [ - 18.175831, - -28.908611 - ], - [ - 17.40472, - -28.713612 - ], - [ - 17.06361, - -28.028614 - ], - [ - 16.48959, - -28.578178 - ], - [ - 18.27861, - -31.89278 - ], - [ - 18.292221, - -32.624451 - ], - [ - 17.8475, - -32.830833 - ], - [ - 18.441109, - -33.706673 - ], - [ - 18.40472, - -34.30278 - ], - [ - 18.793331, - -34.08667 - ], - [ - 18.817776, - -34.377785 - ], - [ - 20, - -34.822002 - ], - [ - 22.544998, - -34.005005 - ], - [ - 25.701942, - -34.031952 - ], - [ - 25.724998, - -33.767227 - ], - [ - 26.530552, - -33.753334 - ], - [ - 27.899998, - -33.040558 - ], - [ - 30.023888, - -31.281113 - ], - [ - 31.325832, - -29.390835 - ], - [ - 32.390274, - -28.537781 - ], - [ - 32.890427, - -26.847145 - ], - [ - 32.1334, - -26.839626 - ], - [ - 31.987499, - -27.316113 - ], - [ - 31.161663, - -27.203056 - ], - [ - 30.818886, - -26.810558 - ], - [ - 30.902048, - -26.305254 - ], - [ - 31.33083, - -25.751392 - ], - [ - 31.96851, - -25.95784 - ], - [ - 32.016106, - -24.459446 - ], - [ - 31.297504, - -22.414764 - ] - ], - [ - [ - 28.565552, - -28.610001 - ], - [ - 29.430832, - -29.278614 - ], - [ - 29.168888, - -29.913891 - ], - [ - 28.377777, - -30.16028 - ], - [ - 28.079937, - -30.650528 - ], - [ - 27.564617, - -30.404911 - ], - [ - 27.011108, - -29.625278 - ], - [ - 28.565552, - -28.610001 - ] - ] - ] - ] - }, - "name" : "South Africa", - "iso2" : "ZA", - "iso3" : "ZAF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "971E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 28.565552, - -28.610001 - ], - [ - 27.011108, - -29.625278 - ], - [ - 27.564617, - -30.404911 - ], - [ - 28.079937, - -30.650528 - ], - [ - 28.377777, - -30.16028 - ], - [ - 29.168888, - -29.913891 - ], - [ - 29.430832, - -29.278614 - ], - [ - 28.565552, - -28.610001 - ] - ] - ] - }, - "name" : "Lesotho", - "iso2" : "LS", - "iso3" : "LSO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "-L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 20.000942, - -24.765408 - ], - [ - 20.811386, - -25.883335 - ], - [ - 20.642498, - -26.828056 - ], - [ - 21.667221, - -26.864445 - ], - [ - 22.624809, - -26.111565 - ], - [ - 23.014832, - -25.299725 - ], - [ - 24.6772, - -25.827824 - ], - [ - 25.50972, - -25.67778 - ], - [ - 25.871387, - -24.744446 - ], - [ - 26.845276, - -24.264446 - ], - [ - 26.95919, - -23.752075 - ], - [ - 28.298332, - -22.609447 - ], - [ - 29.373623, - -22.19241 - ], - [ - 29.060555, - -21.798058 - ], - [ - 28.015831, - -21.566113 - ], - [ - 27.713165, - -20.506432 - ], - [ - 27.287453, - -20.494965 - ], - [ - 27.219997, - -20.091667 - ], - [ - 26.166111, - -19.527779 - ], - [ - 25.264431, - -17.80225 - ], - [ - 24.362499, - -17.948612 - ], - [ - 23.615578, - -18.485069 - ], - [ - 23.297108, - -17.995949 - ], - [ - 20.993286, - -18.318417 - ], - [ - 20.991943, - -21.996948 - ], - [ - 19.996666, - -22.005001 - ], - [ - 20.000942, - -24.765408 - ] - ] - ] - }, - "name" : "Botswana", - "iso2" : "BW", - "iso3" : "BWA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "-b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -16.527679, - 16.060249 - ], - [ - -16.878334, - 15.224998 - ], - [ - -17.537224, - 14.756109 - ], - [ - -17.148308, - 14.61392 - ], - [ - -16.775837, - 14.012499 - ], - [ - -16.363056, - 14.166111 - ], - [ - -16.747223, - 13.951944 - ], - [ - -16.490837, - 13.958055 - ], - [ - -16.56567, - 13.589998 - ], - [ - -15.070278, - 13.826387 - ], - [ - -13.798613, - 13.406387 - ], - [ - -14.351112, - 13.237778 - ], - [ - -15.111668, - 13.595833 - ], - [ - -15.285002, - 13.374443 - ], - [ - -15.803612, - 13.347776 - ], - [ - -15.809723, - 13.159721 - ], - [ - -16.750874, - 13.059977 - ], - [ - -16.756111, - 12.564999 - ], - [ - -16.598057, - 12.791666 - ], - [ - -15.650002, - 12.555555 - ], - [ - -15.390001, - 12.831944 - ], - [ - -15.626945, - 12.531111 - ], - [ - -16.586945, - 12.632776 - ], - [ - -16.71777, - 12.322426 - ], - [ - -14.516945, - 12.679722 - ], - [ - -13.713139, - 12.677221 - ], - [ - -12.345404, - 12.301748 - ], - [ - -11.373058, - 12.407774 - ], - [ - -11.378056, - 12.988054 - ], - [ - -12.057222, - 13.664721 - ], - [ - -12.244833, - 14.764385 - ], - [ - -14.345278, - 16.638611 - ], - [ - -16.280834, - 16.519722 - ], - [ - -16.527679, - 16.060249 - ] - ] - ] - }, - "name" : "Senegal", - "iso2" : "SN", - "iso3" : "SEN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "-r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 13.718655, - 46.526611 - ], - [ - 13.383055, - 46.297218 - ], - [ - 13.669167, - 46.177498 - ], - [ - 13.48, - 46.011108 - ], - [ - 13.919167, - 45.637497 - ], - [ - 13.716944, - 45.596107 - ], - [ - 13.59174, - 45.481697 - ], - [ - 14.601387, - 45.675278 - ], - [ - 15.174458, - 45.425819 - ], - [ - 15.697777, - 45.844162 - ], - [ - 15.654722, - 46.219444 - ], - [ - 16.572498, - 46.475273 - ], - [ - 16.607872, - 46.476234 - ], - [ - 16.111805, - 46.86972 - ], - [ - 14.544998, - 46.407494 - ], - [ - 13.718655, - 46.526611 - ] - ] - ] - }, - "name" : "Slovenia", - "iso2" : "SI", - "iso3" : "SVN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "-71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -12.525278, - 7.431389 - ], - [ - -12.591112, - 7.634444 - ], - [ - -12.952778, - 7.568333 - ], - [ - -12.525278, - 7.431389 - ] - ] - ], - [ - [ - [ - -10.266651, - 8.488377 - ], - [ - -10.695835, - 8.298611 - ], - [ - -10.571526, - 9.059532 - ], - [ - -11.214445, - 9.997499 - ], - [ - -12.456112, - 9.888332 - ], - [ - -13.29561, - 9.032143 - ], - [ - -13.132223, - 8.861944 - ], - [ - -13.2425, - 8.8025 - ], - [ - -13.165279, - 8.51861 - ], - [ - -12.897501, - 8.567778 - ], - [ - -13.120279, - 8.461666 - ], - [ - -13.05139, - 8.36861 - ], - [ - -13.288057, - 8.496111 - ], - [ - -12.958612, - 7.9 - ], - [ - -11.492331, - 6.927091 - ], - [ - -10.266651, - 8.488377 - ] - ] - ] - ] - }, - "name" : "Sierra Leone", - "iso2" : "SL", - "iso3" : "SLE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "_L1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 103.99054, - 1.383291 - ], - [ - 103.713593, - 1.429444 - ], - [ - 103.640808, - 1.315555 - ], - [ - 103.99054, - 1.383291 - ] - ] - ] - }, - "name" : "Singapore", - "iso2" : "SG", - "iso3" : "SGP" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "_b1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 42.944092, - 11.002438 - ], - [ - 42.663055, - 10.6325 - ], - [ - 42.848053, - 10.22361 - ], - [ - 44.010551, - 9.007221 - ], - [ - 47.01194, - 8.00111 - ], - [ - 47.988243, - 8.004107 - ], - [ - 44.950829, - 4.902499 - ], - [ - 43.686386, - 4.891944 - ], - [ - 41.905167, - 3.980322 - ], - [ - 40.986595, - 2.829956 - ], - [ - 40.998329, - -0.866111 - ], - [ - 41.558159, - -1.674868 - ], - [ - 43.488609, - 0.649999 - ], - [ - 46.014717, - 2.427778 - ], - [ - 47.954437, - 4.463888 - ], - [ - 50.83625, - 9.432688 - ], - [ - 50.896942, - 10.319721 - ], - [ - 51.412636, - 10.451515 - ], - [ - 51.01416, - 10.442778 - ], - [ - 51.277222, - 11.836666 - ], - [ - 50.76944, - 11.979166 - ], - [ - 50.085548, - 11.511944 - ], - [ - 47.398888, - 11.179998 - ], - [ - 46.448051, - 10.688889 - ], - [ - 45.759995, - 10.875277 - ], - [ - 44.898331, - 10.420555 - ], - [ - 44.278328, - 10.447777 - ], - [ - 43.249222, - 11.469534 - ], - [ - 42.944092, - 11.002438 - ] - ] - ] - }, - "name" : "Somalia", - "iso2" : "SO", - "iso3" : "SOM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "_r1E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -17.912781, - 27.771666 - ], - [ - -18.170559, - 27.737223 - ], - [ - -17.98278, - 27.637499 - ], - [ - -17.912781, - 27.771666 - ] - ] - ], - [ - [ - [ - -15.554167, - 27.755835 - ], - [ - -15.365557, - 28.010279 - ], - [ - -15.702501, - 28.156111 - ], - [ - -15.554167, - 27.755835 - ] - ] - ], - [ - [ - [ - -17.175003, - 28.016943 - ], - [ - -17.101948, - 28.134722 - ], - [ - -17.316948, - 28.172224 - ], - [ - -17.175003, - 28.016943 - ] - ] - ], - [ - [ - [ - -16.341114, - 28.370279 - ], - [ - -16.156948, - 28.572222 - ], - [ - -16.912781, - 28.341391 - ], - [ - -16.671391, - 27.984167 - ], - [ - -16.341114, - 28.370279 - ] - ] - ], - [ - [ - [ - -14.327223, - 28.046389 - ], - [ - -13.923056, - 28.249166 - ], - [ - -13.869722, - 28.75139 - ], - [ - -14.327223, - 28.046389 - ] - ] - ], - [ - [ - [ - -17.831947, - 28.45389 - ], - [ - -17.716393, - 28.746111 - ], - [ - -17.904446, - 28.849443 - ], - [ - -17.831947, - 28.45389 - ] - ] - ], - [ - [ - [ - -13.609724, - 28.92639 - ], - [ - -13.442501, - 29.231668 - ], - [ - -13.852222, - 28.906389 - ], - [ - -13.609724, - 28.92639 - ] - ] - ], - [ - [ - [ - -2.925278, - 35.266665 - ], - [ - -2.914722, - 35.273607 - ], - [ - -2.946945, - 35.329165 - ], - [ - -2.925278, - 35.266665 - ] - ] - ], - [ - [ - [ - -5.319445, - 35.87694 - ], - [ - -5.395557, - 35.916338 - ], - [ - -5.345833, - 35.841661 - ], - [ - -5.319445, - 35.87694 - ] - ] - ], - [ - [ - [ - -3.03611, - 35.912775 - ], - [ - -3.027222, - 35.92444 - ], - [ - -3.051111, - 35.915834 - ], - [ - -3.03611, - 35.912775 - ] - ] - ], - [ - [ - [ - 1.57778, - 38.687777 - ], - [ - 1.383055, - 38.720552 - ], - [ - 1.39028, - 38.643328 - ], - [ - 1.57778, - 38.687777 - ] - ] - ], - [ - [ - [ - 1.531668, - 38.951944 - ], - [ - 1.519724, - 39.118334 - ], - [ - 1.211946, - 38.898333 - ], - [ - 1.531668, - 38.951944 - ] - ] - ], - [ - [ - [ - 3.247778, - 39.73472 - ], - [ - 2.98778, - 39.911112 - ], - [ - 2.364168, - 39.555834 - ], - [ - 3.063612, - 39.263613 - ], - [ - 3.479723, - 39.711107 - ], - [ - 3.247778, - 39.73472 - ] - ] - ], - [ - [ - [ - 4.273333, - 39.96139 - ], - [ - 3.796946, - 40.017221 - ], - [ - 4.276388, - 39.806391 - ], - [ - 4.273333, - 39.96139 - ] - ] - ], - [ - [ - [ - -7.431854, - 37.253191 - ], - [ - -6.355555, - 36.860834 - ], - [ - -6.0375, - 36.180277 - ], - [ - -5.355799, - 36.163309 - ], - [ - -5.334507, - 36.162561 - ], - [ - -4.398333, - 36.722223 - ], - [ - -2.129166, - 36.731386 - ], - [ - -1.64361, - 37.372774 - ], - [ - -0.715555, - 37.606943 - ], - [ - -0.511667, - 38.324999 - ], - [ - 0.207224, - 38.73221 - ], - [ - -0.338055, - 39.435556 - ], - [ - 0.048891, - 40.036104 - ], - [ - 0.964445, - 41.032778 - ], - [ - 3.17528, - 41.867495 - ], - [ - 3.177656, - 42.436808 - ], - [ - 1.723612, - 42.509439 - ], - [ - 1.445833, - 42.601946 - ], - [ - -0.562222, - 42.781389 - ], - [ - -1.780876, - 43.359926 - ], - [ - -7.044819, - 43.490404 - ], - [ - -7.855555, - 43.759996 - ], - [ - -9.209446, - 43.152773 - ], - [ - -9.041389, - 42.528887 - ], - [ - -8.719446, - 42.695833 - ], - [ - -8.869167, - 42.25139 - ], - [ - -8.579723, - 42.351664 - ], - [ - -8.898613, - 42.108057 - ], - [ - -8.745008, - 41.952501 - ], - [ - -8.201223, - 42.152742 - ], - [ - -8.204723, - 41.87472 - ], - [ - -6.594166, - 41.953608 - ], - [ - -6.187222, - 41.579721 - ], - [ - -6.931667, - 41.018053 - ], - [ - -7.017221, - 39.674997 - ], - [ - -7.532505, - 39.66942 - ], - [ - -6.954792, - 39.026384 - ], - [ - -7.321112, - 38.449442 - ], - [ - -6.939167, - 38.178057 - ], - [ - -7.446945, - 37.699442 - ], - [ - -7.431854, - 37.253191 - ] - ], - [ - [ - -6.924999, - 37.170832 - ], - [ - -6.954166, - 37.180277 - ], - [ - -6.973055, - 37.210276 - ], - [ - -6.924999, - 37.170832 - ] - ] - ] - ] - }, - "name" : "Spain", - "iso2" : "ES", - "iso3" : "ESP" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "_71E6XMBz91lfVjVLNnV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -60.954727, - 13.709444 - ], - [ - -60.930283, - 14.109444 - ], - [ - -61.079445, - 13.879999 - ], - [ - -60.954727, - 13.709444 - ] - ] - ] - }, - "name" : "Saint Lucia", - "iso2" : "LC", - "iso3" : "LCA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "AL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 24.047173, - 8.693076 - ], - [ - 24.201111, - 8.686943 - ], - [ - 24.192497, - 8.30361 - ], - [ - 25.25333, - 7.850555 - ], - [ - 25.206944, - 7.497499 - ], - [ - 26.404999, - 6.646388 - ], - [ - 26.437496, - 6.077777 - ], - [ - 27.142776, - 5.771944 - ], - [ - 27.455276, - 5.016388 - ], - [ - 28.363052, - 4.29 - ], - [ - 29.64333, - 4.643611 - ], - [ - 30.858818, - 3.493394 - ], - [ - 31.176666, - 3.795278 - ], - [ - 32.193329, - 3.511389 - ], - [ - 33.016663, - 3.888611 - ], - [ - 33.516937, - 3.752222 - ], - [ - 33.996666, - 4.222777 - ], - [ - 34.388191, - 4.609682 - ], - [ - 35.940552, - 4.622499 - ], - [ - 35.821663, - 5.32861 - ], - [ - 35.301941, - 5.378055 - ], - [ - 34.70472, - 6.677777 - ], - [ - 33.711388, - 7.660277 - ], - [ - 32.991104, - 7.924999 - ], - [ - 33.252777, - 8.458611 - ], - [ - 34.120552, - 8.577221 - ], - [ - 34.195517, - 9.47239 - ], - [ - 33.963393, - 9.464285 - ], - [ - 33.824963, - 9.484061 - ], - [ - 33.842131, - 9.981915 - ], - [ - 33.721959, - 10.325262 - ], - [ - 33.206938, - 10.720112 - ], - [ - 33.086766, - 11.441141 - ], - [ - 33.206938, - 12.179338 - ], - [ - 32.743419, - 12.248008 - ], - [ - 32.67475, - 12.024832 - ], - [ - 32.073892, - 11.97333 - ], - [ - 32.314235, - 11.681484 - ], - [ - 32.400072, - 11.080626 - ], - [ - 31.850716, - 10.531271 - ], - [ - 31.352862, - 9.810241 - ], - [ - 30.837841, - 9.707237 - ], - [ - 29.996639, - 10.290927 - ], - [ - 29.618957, - 10.084919 - ], - [ - 29.515953, - 9.793074 - ], - [ - 29.000932, - 9.604232 - ], - [ - 28.966597, - 9.398224 - ], - [ - 27.97089, - 9.398224 - ], - [ - 27.833551, - 9.604232 - ], - [ - 27.112521, - 9.638567 - ], - [ - 26.752006, - 9.466893 - ], - [ - 26.477328, - 9.55273 - ], - [ - 26.1522, - 9.826436 - ], - [ - 25.962307, - 10.136421 - ], - [ - 25.790633, - 10.411099 - ], - [ - 25.069604, - 10.27376 - ], - [ - 24.794926, - 9.810241 - ], - [ - 24.537415, - 8.917538 - ], - [ - 24.047173, - 8.693076 - ] - ] - ] - }, - "name" : "South Sudan", - "iso2" : "SS", - "iso3" : "SSD" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ab1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 16.836666, - 56.826942 - ], - [ - 17.105553, - 57.348328 - ], - [ - 16.42083, - 56.211105 - ], - [ - 16.836666, - 56.826942 - ] - ] - ], - [ - [ - [ - 18.206108, - 56.911942 - ], - [ - 19.004719, - 57.908607 - ], - [ - 18.119164, - 57.531105 - ], - [ - 18.206108, - 56.911942 - ] - ] - ], - [ - [ - [ - 19.334442, - 57.955826 - ], - [ - 19.034443, - 57.901108 - ], - [ - 19.12611, - 57.839722 - ], - [ - 19.334442, - 57.955826 - ] - ] - ], - [ - [ - [ - 11.594444, - 57.932495 - ], - [ - 11.735884, - 58.041714 - ], - [ - 11.501944, - 58.036659 - ], - [ - 11.594444, - 57.932495 - ] - ] - ], - [ - [ - [ - 16.816666, - 58.116104 - ], - [ - 16.801109, - 58.123329 - ], - [ - 16.77861, - 58.100555 - ], - [ - 16.816666, - 58.116104 - ] - ] - ], - [ - [ - [ - 11.806389, - 58.120552 - ], - [ - 11.6775, - 58.286659 - ], - [ - 11.40111, - 58.130272 - ], - [ - 11.806389, - 58.120552 - ] - ] - ], - [ - [ - [ - 19.236942, - 58.337219 - ], - [ - 19.331108, - 58.366104 - ], - [ - 19.186665, - 58.391388 - ], - [ - 19.236942, - 58.337219 - ] - ] - ], - [ - [ - [ - 17.691387, - 58.916939 - ], - [ - 17.675831, - 59.054718 - ], - [ - 17.639164, - 58.971107 - ], - [ - 17.691387, - 58.916939 - ] - ] - ], - [ - [ - [ - 18.40583, - 59.023888 - ], - [ - 18.479164, - 59.119995 - ], - [ - 18.35722, - 59.034996 - ], - [ - 18.40583, - 59.023888 - ] - ] - ], - [ - [ - [ - 18.53722, - 59.223885 - ], - [ - 18.610275, - 59.254166 - ], - [ - 18.389442, - 59.284721 - ], - [ - 18.53722, - 59.223885 - ] - ] - ], - [ - [ - [ - 17.786942, - 59.310555 - ], - [ - 17.773888, - 59.372772 - ], - [ - 17.605553, - 59.416664 - ], - [ - 17.786942, - 59.310555 - ] - ] - ], - [ - [ - [ - 17.734722, - 59.296104 - ], - [ - 17.520275, - 59.418327 - ], - [ - 17.622776, - 59.305275 - ], - [ - 17.817497, - 59.277771 - ], - [ - 17.734722, - 59.296104 - ] - ] - ], - [ - [ - [ - 17.266388, - 59.374443 - ], - [ - 17.266941, - 59.44416 - ], - [ - 17.07, - 59.459442 - ], - [ - 17.266388, - 59.374443 - ] - ] - ], - [ - [ - [ - 18.575554, - 59.448326 - ], - [ - 18.746944, - 59.544998 - ], - [ - 18.570274, - 59.526382 - ], - [ - 18.575554, - 59.448326 - ] - ] - ], - [ - [ - [ - 18.57, - 60.307777 - ], - [ - 18.374165, - 60.499718 - ], - [ - 18.401108, - 60.365273 - ], - [ - 18.57, - 60.307777 - ] - ] - ], - [ - [ - [ - 17.509163, - 62.363327 - ], - [ - 17.472221, - 62.458328 - ], - [ - 17.367222, - 62.471664 - ], - [ - 17.509163, - 62.363327 - ] - ] - ], - [ - [ - [ - 18.060833, - 62.67083 - ], - [ - 18.153053, - 62.728882 - ], - [ - 18.039165, - 62.73555 - ], - [ - 18.060833, - 62.67083 - ] - ] - ], - [ - [ - [ - 20.885555, - 63.751663 - ], - [ - 20.928608, - 63.773331 - ], - [ - 20.838055, - 63.773331 - ], - [ - 20.885555, - 63.751663 - ] - ] - ], - [ - [ - [ - 21.809166, - 68.570541 - ], - [ - 20.580929, - 69.060303 - ], - [ - 20.096943, - 69.042221 - ], - [ - 20.350277, - 68.786652 - ], - [ - 19.937775, - 68.337494 - ], - [ - 18.090832, - 68.507767 - ], - [ - 17.884163, - 67.945541 - ], - [ - 16.726944, - 67.899155 - ], - [ - 16.085831, - 67.411652 - ], - [ - 16.353886, - 67.017776 - ], - [ - 15.362778, - 66.479996 - ], - [ - 15.468054, - 66.283875 - ], - [ - 14.504999, - 66.132492 - ], - [ - 14.493055, - 65.313599 - ], - [ - 13.662498, - 64.582764 - ], - [ - 14.116388, - 64.470551 - ], - [ - 13.988333, - 64.018051 - ], - [ - 12.938055, - 64.053329 - ], - [ - 12.139444, - 63.58416 - ], - [ - 11.936388, - 63.272217 - ], - [ - 12.295832, - 62.261665 - ], - [ - 12.124443, - 61.728607 - ], - [ - 12.85611, - 61.362495 - ], - [ - 12.209999, - 61.002495 - ], - [ - 12.594444, - 60.516937 - ], - [ - 12.494165, - 60.111107 - ], - [ - 11.81596, - 59.8461 - ], - [ - 11.75111, - 59.090271 - ], - [ - 11.429192, - 58.98764 - ], - [ - 11.113333, - 59.003609 - ], - [ - 11.201387, - 58.399437 - ], - [ - 11.798054, - 58.318329 - ], - [ - 11.88611, - 58.211937 - ], - [ - 11.698889, - 57.69722 - ], - [ - 12.887499, - 56.638329 - ], - [ - 12.622221, - 56.411942 - ], - [ - 12.813332, - 56.232773 - ], - [ - 12.451666, - 56.297775 - ], - [ - 13.059721, - 55.693054 - ], - [ - 12.982222, - 55.400551 - ], - [ - 14.193546, - 55.386147 - ], - [ - 14.217222, - 55.830276 - ], - [ - 14.696665, - 56.16111 - ], - [ - 15.865555, - 56.092216 - ], - [ - 16.693333, - 57.469162 - ], - [ - 16.41861, - 57.893326 - ], - [ - 16.700706, - 57.74015 - ], - [ - 16.495552, - 57.98555 - ], - [ - 16.770554, - 57.884438 - ], - [ - 16.613888, - 57.986938 - ], - [ - 16.824718, - 58.19944 - ], - [ - 16.41333, - 58.474716 - ], - [ - 16.93861, - 58.484161 - ], - [ - 16.193607, - 58.627495 - ], - [ - 17.349998, - 58.75222 - ], - [ - 17.663887, - 59.168327 - ], - [ - 17.894722, - 58.858887 - ], - [ - 18.311386, - 59.1325 - ], - [ - 18.277222, - 59.310829 - ], - [ - 18.640274, - 59.338882 - ], - [ - 18.434444, - 59.433609 - ], - [ - 18.466663, - 59.330276 - ], - [ - 18.289444, - 59.368607 - ], - [ - 17.847221, - 59.264442 - ], - [ - 17.35083, - 59.32444 - ], - [ - 17.375832, - 59.247498 - ], - [ - 16.840275, - 59.489441 - ], - [ - 16.692776, - 59.471382 - ], - [ - 16.889999, - 59.383331 - ], - [ - 16.020275, - 59.494995 - ], - [ - 17.38361, - 59.654999 - ], - [ - 17.73111, - 59.442772 - ], - [ - 17.786663, - 59.535828 - ], - [ - 17.561171, - 59.668449 - ], - [ - 17.618332, - 59.731384 - ], - [ - 17.513054, - 59.706383 - ], - [ - 17.543152, - 59.573006 - ], - [ - 17.444721, - 59.676109 - ], - [ - 17.594166, - 59.806938 - ], - [ - 17.654163, - 59.718048 - ], - [ - 17.648331, - 59.665833 - ], - [ - 17.59222, - 59.656105 - ], - [ - 17.71722, - 59.66333 - ], - [ - 17.845276, - 59.533051 - ], - [ - 17.764442, - 59.400551 - ], - [ - 17.941109, - 59.335548 - ], - [ - 19.081944, - 59.75972 - ], - [ - 17.150555, - 60.945 - ], - [ - 17.140274, - 61.719719 - ], - [ - 17.498886, - 61.635826 - ], - [ - 17.34972, - 61.945274 - ], - [ - 17.65472, - 62.23111 - ], - [ - 17.328888, - 62.486938 - ], - [ - 18.048054, - 62.601387 - ], - [ - 17.696663, - 62.991943 - ], - [ - 18.208611, - 62.77861 - ], - [ - 19.428055, - 63.549438 - ], - [ - 20.777775, - 63.869164 - ], - [ - 21.584999, - 64.439713 - ], - [ - 21.03611, - 64.824432 - ], - [ - 21.621387, - 65.142212 - ], - [ - 21.260555, - 65.337494 - ], - [ - 22.199165, - 65.545273 - ], - [ - 21.766941, - 65.722488 - ], - [ - 22.40583, - 65.535263 - ], - [ - 22.329166, - 65.829712 - ], - [ - 22.644722, - 65.905548 - ], - [ - 24.167007, - 65.814026 - ], - [ - 23.661942, - 66.31221 - ], - [ - 24.007774, - 66.800552 - ], - [ - 23.571663, - 67.156662 - ], - [ - 23.767776, - 67.416107 - ], - [ - 23.43111, - 67.465546 - ], - [ - 23.666111, - 67.941666 - ], - [ - 21.809166, - 68.570541 - ] - ] - ] - ] - }, - "name" : "Sweden", - "iso2" : "SE", - "iso3" : "SWE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ar1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 42.355614, - 37.106926 - ], - [ - 40.770821, - 37.11805 - ], - [ - 39.229996, - 36.665276 - ], - [ - 36.659943, - 36.83371 - ], - [ - 36.690269, - 36.236107 - ], - [ - 35.92244, - 35.926994 - ], - [ - 35.733887, - 35.581665 - ], - [ - 35.972771, - 34.647499 - ], - [ - 36.459999, - 34.635277 - ], - [ - 36.623741, - 34.204994 - ], - [ - 35.623634, - 33.245728 - ], - [ - 35.648888, - 32.685272 - ], - [ - 36.837776, - 32.313606 - ], - [ - 38.794701, - 33.377594 - ], - [ - 41.003876, - 34.419434 - ], - [ - 41.290276, - 36.355553 - ], - [ - 42.355614, - 37.106926 - ] - ] - ] - }, - "name" : "Syrian Arab Republic", - "iso2" : "SY", - "iso3" : "SYR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "A71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 9.566724, - 47.540451 - ], - [ - 8.566111, - 47.806938 - ], - [ - 8.57642, - 47.59137 - ], - [ - 7.697223, - 47.543327 - ], - [ - 7.588268, - 47.58448 - ], - [ - 6.990555, - 47.497215 - ], - [ - 5.966666, - 46.209442 - ], - [ - 6.791389, - 46.434166 - ], - [ - 7.038054, - 45.931938 - ], - [ - 7.855742, - 45.919052 - ], - [ - 8.436388, - 46.463333 - ], - [ - 9.036665, - 45.837776 - ], - [ - 9.281944, - 46.495827 - ], - [ - 10.129999, - 46.227219 - ], - [ - 10.050278, - 46.539993 - ], - [ - 10.465277, - 46.546387 - ], - [ - 10.471235, - 46.871353 - ], - [ - 9.598635, - 47.063835 - ], - [ - 9.474637, - 47.057457 - ], - [ - 9.533569, - 47.274544 - ], - [ - 9.566724, - 47.540451 - ] - ], - [ - [ - 8.710255, - 47.696808 - ], - [ - 8.678595, - 47.693344 - ], - [ - 8.670555, - 47.711105 - ], - [ - 8.710255, - 47.696808 - ] - ] - ] - }, - "name" : "Switzerland", - "iso2" : "CH", - "iso3" : "CHE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "BL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -60.923058, - 10.797222 - ], - [ - -61.662224, - 10.709166 - ], - [ - -61.458336, - 10.278332 - ], - [ - -61.91806, - 10.042776 - ], - [ - -61.008057, - 10.140554 - ], - [ - -60.923058, - 10.797222 - ] - ] - ], - [ - [ - [ - -60.63945, - 11.203054 - ], - [ - -60.526672, - 11.346109 - ], - [ - -60.847504, - 11.158333 - ], - [ - -60.63945, - 11.203054 - ] - ] - ] - ] - }, - "name" : "Trinidad and Tobago", - "iso2" : "TT", - "iso3" : "TTO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Bb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 99.219162, - 6.532499 - ], - [ - 99.256119, - 6.571944 - ], - [ - 99.159988, - 6.548888 - ], - [ - 99.219162, - 6.532499 - ] - ] - ], - [ - [ - [ - 99.668045, - 6.496387 - ], - [ - 99.662811, - 6.702995 - ], - [ - 99.594986, - 6.593888 - ], - [ - 99.668045, - 6.496387 - ] - ] - ], - [ - [ - [ - 100.536087, - 7.15611 - ], - [ - 100.534973, - 7.174166 - ], - [ - 100.520813, - 7.154999 - ], - [ - 100.536087, - 7.15611 - ] - ] - ], - [ - [ - [ - 99.38916, - 7.194721 - ], - [ - 99.419144, - 7.234165 - ], - [ - 99.3936, - 7.270555 - ], - [ - 99.38916, - 7.194721 - ] - ] - ], - [ - [ - [ - 99.110809, - 7.468055 - ], - [ - 99.024155, - 7.636666 - ], - [ - 99.04248, - 7.525832 - ], - [ - 99.110809, - 7.468055 - ] - ] - ], - [ - [ - [ - 99.119705, - 7.591944 - ], - [ - 99.121918, - 7.665277 - ], - [ - 99.045822, - 7.669443 - ], - [ - 99.119705, - 7.591944 - ] - ] - ], - [ - [ - [ - 98.434708, - 7.930554 - ], - [ - 98.43692, - 7.94361 - ], - [ - 98.418045, - 7.93611 - ], - [ - 98.434708, - 7.930554 - ] - ] - ], - [ - [ - [ - 98.603592, - 7.901111 - ], - [ - 98.611923, - 8.048609 - ], - [ - 98.526093, - 8.121386 - ], - [ - 98.603592, - 7.901111 - ] - ] - ], - [ - [ - [ - 98.399841, - 7.941753 - ], - [ - 98.282486, - 8.186386 - ], - [ - 98.305252, - 7.757222 - ], - [ - 98.399841, - 7.941753 - ] - ] - ], - [ - [ - [ - 98.616653, - 8.084442 - ], - [ - 98.628311, - 8.189165 - ], - [ - 98.568329, - 8.11722 - ], - [ - 98.616653, - 8.084442 - ] - ] - ], - [ - [ - [ - 98.266663, - 9.030554 - ], - [ - 98.324432, - 9.084164 - ], - [ - 98.280823, - 9.158054 - ], - [ - 98.266663, - 9.030554 - ] - ] - ], - [ - [ - [ - 97.87915, - 9.381941 - ], - [ - 97.847214, - 9.43222 - ], - [ - 97.835266, - 9.402777 - ], - [ - 97.87915, - 9.381941 - ] - ] - ], - [ - [ - [ - 97.89888, - 9.437498 - ], - [ - 97.883881, - 9.475554 - ], - [ - 97.847488, - 9.458609 - ], - [ - 97.89888, - 9.437498 - ] - ] - ], - [ - [ - [ - 99.681366, - 9.506109 - ], - [ - 99.708603, - 9.53861 - ], - [ - 99.664993, - 9.524443 - ], - [ - 99.681366, - 9.506109 - ] - ] - ], - [ - [ - [ - 98.467484, - 9.574999 - ], - [ - 98.464432, - 9.585554 - ], - [ - 98.457764, - 9.573887 - ], - [ - 98.467484, - 9.574999 - ] - ] - ], - [ - [ - [ - 99.976089, - 9.41361 - ], - [ - 100.080833, - 9.58861 - ], - [ - 99.932205, - 9.546944 - ], - [ - 99.976089, - 9.41361 - ] - ] - ], - [ - [ - [ - 99.685532, - 9.606665 - ], - [ - 99.673599, - 9.629164 - ], - [ - 99.676651, - 9.607498 - ], - [ - 99.685532, - 9.606665 - ] - ] - ], - [ - [ - [ - 98.407211, - 9.714165 - ], - [ - 98.408325, - 9.770832 - ], - [ - 98.380814, - 9.732775 - ], - [ - 98.407211, - 9.714165 - ] - ] - ], - [ - [ - [ - 100.081673, - 9.686665 - ], - [ - 99.987488, - 9.796387 - ], - [ - 99.99054, - 9.711388 - ], - [ - 100.081673, - 9.686665 - ] - ] - ], - [ - [ - [ - 102.59552, - 11.56361 - ], - [ - 102.560226, - 11.754396 - ], - [ - 102.531357, - 11.601387 - ], - [ - 102.59552, - 11.56361 - ] - ] - ], - [ - [ - [ - 102.435791, - 11.954165 - ], - [ - 102.250549, - 12.15 - ], - [ - 102.291351, - 11.974442 - ], - [ - 102.435791, - 11.954165 - ] - ] - ], - [ - [ - [ - 102.241089, - 12.283888 - ], - [ - 102.2397, - 12.299442 - ], - [ - 102.235527, - 12.285276 - ], - [ - 102.241089, - 12.283888 - ] - ] - ], - [ - [ - [ - 100.688873, - 12.923609 - ], - [ - 100.676376, - 12.952776 - ], - [ - 100.671654, - 12.938332 - ], - [ - 100.688873, - 12.923609 - ] - ] - ], - [ - [ - [ - 100.816673, - 13.129442 - ], - [ - 100.821381, - 13.150555 - ], - [ - 100.807213, - 13.180277 - ], - [ - 100.816673, - 13.129442 - ] - ] - ], - [ - [ - [ - 100.09137, - 20.348606 - ], - [ - 100.081322, - 20.348841 - ], - [ - 99.522766, - 20.352776 - ], - [ - 98.995529, - 19.780552 - ], - [ - 98.049988, - 19.807499 - ], - [ - 97.774704, - 18.569996 - ], - [ - 97.346375, - 18.562496 - ], - [ - 98.689697, - 16.284996 - ], - [ - 98.92804, - 16.38583 - ], - [ - 98.201096, - 15.074999 - ], - [ - 99.173965, - 13.727781 - ], - [ - 99.112198, - 13.055832 - ], - [ - 99.661652, - 11.826942 - ], - [ - 98.742752, - 10.348608 - ], - [ - 98.274155, - 8.274443 - ], - [ - 98.656372, - 8.38361 - ], - [ - 100.127113, - 6.424947 - ], - [ - 100.214981, - 6.71111 - ], - [ - 100.654968, - 6.448332 - ], - [ - 101.115517, - 6.248888 - ], - [ - 101.139687, - 5.631943 - ], - [ - 101.569977, - 5.916666 - ], - [ - 101.833862, - 5.743332 - ], - [ - 102.09523, - 6.236138 - ], - [ - 101.541367, - 6.851388 - ], - [ - 100.421082, - 7.159444 - ], - [ - 99.847763, - 9.300831 - ], - [ - 99.237488, - 9.254166 - ], - [ - 99.149155, - 10.365553 - ], - [ - 100.021378, - 12.194164 - ], - [ - 100.066673, - 13.419998 - ], - [ - 100.976349, - 13.462809 - ], - [ - 100.853867, - 12.682775 - ], - [ - 102.060257, - 12.567497 - ], - [ - 102.916092, - 11.635851 - ], - [ - 102.377197, - 13.573887 - ], - [ - 103.180542, - 14.32972 - ], - [ - 105.210602, - 14.349648 - ], - [ - 105.536102, - 14.563332 - ], - [ - 105.637772, - 15.659721 - ], - [ - 104.747208, - 16.528332 - ], - [ - 104.718323, - 17.50333 - ], - [ - 103.985527, - 18.321663 - ], - [ - 103.397217, - 18.434994 - ], - [ - 102.683594, - 17.819996 - ], - [ - 102.089394, - 18.214983 - ], - [ - 101.162773, - 17.459995 - ], - [ - 100.921371, - 17.567219 - ], - [ - 101.281097, - 19.562218 - ], - [ - 100.503601, - 19.526665 - ], - [ - 100.58046, - 20.157768 - ], - [ - 100.09137, - 20.348606 - ] - ] - ] - ] - }, - "name" : "Thailand", - "iso2" : "TH", - "iso3" : "THA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Br1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 74.915741, - 37.237328 - ], - [ - 75.187485, - 37.406586 - ], - [ - 74.902771, - 37.647156 - ], - [ - 74.856644, - 38.470482 - ], - [ - 73.817764, - 38.607712 - ], - [ - 73.655685, - 39.454826 - ], - [ - 72.248596, - 39.191856 - ], - [ - 71.473038, - 39.6213 - ], - [ - 70.997757, - 39.40094 - ], - [ - 69.306091, - 39.539436 - ], - [ - 69.540817, - 40.131378 - ], - [ - 70.498032, - 39.90683 - ], - [ - 70.98204, - 40.244843 - ], - [ - 70.375534, - 40.376404 - ], - [ - 70.796799, - 40.725594 - ], - [ - 70.423874, - 41.049118 - ], - [ - 69.732483, - 40.638603 - ], - [ - 69.356094, - 40.772491 - ], - [ - 69.308029, - 40.201385 - ], - [ - 68.600815, - 40.178329 - ], - [ - 69.009995, - 40.089714 - ], - [ - 68.540268, - 39.55471 - ], - [ - 67.441956, - 39.483582 - ], - [ - 67.376373, - 39.212494 - ], - [ - 68.123871, - 38.98555 - ], - [ - 68.384155, - 38.195541 - ], - [ - 67.779877, - 37.185822 - ], - [ - 68.058014, - 36.932526 - ], - [ - 68.887772, - 37.3386 - ], - [ - 69.315262, - 37.115273 - ], - [ - 69.515823, - 37.580826 - ], - [ - 70.155823, - 37.536232 - ], - [ - 70.161377, - 37.933372 - ], - [ - 70.967209, - 38.472115 - ], - [ - 71.363037, - 38.248497 - ], - [ - 71.252777, - 37.922035 - ], - [ - 71.591934, - 37.902618 - ], - [ - 71.429428, - 37.075829 - ], - [ - 71.6772, - 36.67601 - ], - [ - 73.307205, - 37.462753 - ], - [ - 74.915741, - 37.237328 - ] - ] - ] - }, - "name" : "Tajikistan", - "iso2" : "TJ", - "iso3" : "TJK" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "B71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -171.214722, - -9.377499 - ], - [ - -171.224701, - -9.345556 - ], - [ - -171.223907, - -9.378889 - ], - [ - -171.214722, - -9.377499 - ] - ] - ], - [ - [ - [ - -171.843079, - -9.207502 - ], - [ - -171.853882, - -9.168058 - ], - [ - -171.860535, - -9.206667 - ], - [ - -171.843079, - -9.207502 - ] - ] - ], - [ - [ - [ - -172.483917, - -8.587221 - ], - [ - -172.483612, - -8.566666 - ], - [ - -172.496979, - -8.553888 - ], - [ - -172.483917, - -8.587221 - ] - ] - ] - ] - }, - "name" : "Tokelau", - "iso2" : "TK", - "iso3" : "TKL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "CL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -174.910858, - -21.426666 - ], - [ - -174.911438, - -21.30611 - ], - [ - -174.974701, - -21.365833 - ], - [ - -174.910858, - -21.426666 - ] - ] - ], - [ - [ - [ - -175.145844, - -21.178059 - ], - [ - -175.047241, - -21.139442 - ], - [ - -175.359467, - -21.099171 - ], - [ - -175.145844, - -21.178059 - ] - ] - ], - [ - [ - [ - -174.760834, - -20.27639 - ], - [ - -174.76004, - -20.237225 - ], - [ - -174.791962, - -20.234722 - ], - [ - -174.760834, - -20.27639 - ] - ] - ], - [ - [ - [ - -174.41394, - -19.926666 - ], - [ - -174.390869, - -19.881668 - ], - [ - -174.422546, - -19.910004 - ], - [ - -174.41394, - -19.926666 - ] - ] - ], - [ - [ - [ - -174.318604, - -19.821945 - ], - [ - -174.315857, - -19.764172 - ], - [ - -174.35498, - -19.811951 - ], - [ - -174.318604, - -19.821945 - ] - ] - ], - [ - [ - [ - -175.056671, - -19.800838 - ], - [ - -175.081696, - -19.70639 - ], - [ - -175.098602, - -19.749725 - ], - [ - -175.056671, - -19.800838 - ] - ] - ], - [ - [ - [ - -174.272522, - -19.752785 - ], - [ - -174.256134, - -19.688053 - ], - [ - -174.30722, - -19.740833 - ], - [ - -174.272522, - -19.752785 - ] - ] - ], - [ - [ - [ - -175.018341, - -19.691387 - ], - [ - -175.005585, - -19.6525 - ], - [ - -175.035858, - -19.676666 - ], - [ - -175.018341, - -19.691387 - ] - ] - ], - [ - [ - [ - -174.244476, - -19.656113 - ], - [ - -174.291962, - -19.594444 - ], - [ - -174.281952, - -19.634445 - ], - [ - -174.244476, - -19.656113 - ] - ] - ], - [ - [ - [ - -174.646973, - -18.83028 - ], - [ - -174.623077, - -18.809444 - ], - [ - -174.64978, - -18.783058 - ], - [ - -174.675049, - -18.804447 - ], - [ - -174.646973, - -18.83028 - ] - ] - ], - [ - [ - [ - -174.061401, - -18.704723 - ], - [ - -174.073639, - -18.68111 - ], - [ - -174.097809, - -18.696388 - ], - [ - -174.061401, - -18.704723 - ] - ] - ], - [ - [ - [ - -174.019745, - -18.71722 - ], - [ - -174.019196, - -18.694447 - ], - [ - -174.043335, - -18.680836 - ], - [ - -174.019745, - -18.71722 - ] - ] - ], - [ - [ - [ - -174.089722, - -18.674171 - ], - [ - -174.115814, - -18.671391 - ], - [ - -174.128052, - -18.703335 - ], - [ - -174.089722, - -18.674171 - ] - ] - ], - [ - [ - [ - -173.910553, - -18.638058 - ], - [ - -173.939209, - -18.568893 - ], - [ - -174.070587, - -18.632504 - ], - [ - -173.910553, - -18.638058 - ] - ] - ], - [ - [ - [ - -175.644745, - -15.629168 - ], - [ - -175.621399, - -15.560835 - ], - [ - -175.683929, - -15.589724 - ], - [ - -175.644745, - -15.629168 - ] - ] - ] - ] - }, - "name" : "Tonga", - "iso2" : "TO", - "iso3" : "TON" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Cb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 1.635404, - 6.218721 - ], - [ - 1.398542, - 9.429901 - ], - [ - 1.355, - 9.995277 - ], - [ - 0.776667, - 10.376665 - ], - [ - 0.91797, - 10.996399 - ], - [ - -0.149762, - 11.13854 - ], - [ - 0.368333, - 10.259443 - ], - [ - 0.2175, - 9.457222 - ], - [ - 0.550833, - 9.411388 - ], - [ - 0.382735, - 8.760756 - ], - [ - 0.727222, - 8.321388 - ], - [ - 0.525, - 6.947778 - ], - [ - 1.198891, - 6.100546 - ], - [ - 1.635404, - 6.218721 - ] - ] - ] - }, - "name" : "Togo", - "iso2" : "TG", - "iso3" : "TGO" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Cr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 6.523889, - 0.018333 - ], - [ - 6.687778, - 0.402222 - ], - [ - 6.467222, - 0.259722 - ], - [ - 6.523889, - 0.018333 - ] - ] - ], - [ - [ - [ - 7.423055, - 1.556111 - ], - [ - 7.406666, - 1.701944 - ], - [ - 7.327222, - 1.607222 - ], - [ - 7.423055, - 1.556111 - ] - ] - ] - ] - }, - "name" : "Sao Tome and Principe", - "iso2" : "ST", - "iso3" : "STP" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "C71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 10.99361, - 33.75 - ], - [ - 10.72611, - 33.880829 - ], - [ - 10.865, - 33.638611 - ], - [ - 10.99361, - 33.75 - ] - ] - ], - [ - [ - [ - 11.064722, - 34.640549 - ], - [ - 10.961111, - 34.655273 - ], - [ - 11.035, - 34.617493 - ], - [ - 11.064722, - 34.640549 - ] - ] - ], - [ - [ - [ - 11.13722, - 34.675278 - ], - [ - 11.302221, - 34.803329 - ], - [ - 11.230833, - 34.821106 - ], - [ - 11.13722, - 34.675278 - ] - ] - ], - [ - [ - [ - 10.808611, - 37.119438 - ], - [ - 10.814722, - 37.125275 - ], - [ - 10.791943, - 37.126389 - ], - [ - 10.808611, - 37.119438 - ] - ] - ], - [ - [ - [ - 11.526081, - 33.171135 - ], - [ - 11.17111, - 33.210831 - ], - [ - 11.048611, - 33.616943 - ], - [ - 10.331944, - 33.700272 - ], - [ - 10.005833, - 34.166939 - ], - [ - 11.128887, - 35.235832 - ], - [ - 10.455276, - 36.123329 - ], - [ - 11.067778, - 37.051384 - ], - [ - 10.381943, - 36.723328 - ], - [ - 10.252499, - 37.186386 - ], - [ - 9.845247, - 37.139351 - ], - [ - 9.672499, - 37.338051 - ], - [ - 8.62203, - 36.941368 - ], - [ - 8.183611, - 36.524162 - ], - [ - 8.251665, - 34.64444 - ], - [ - 7.492499, - 33.887497 - ], - [ - 8.34861, - 32.533333 - ], - [ - 9.055277, - 32.099998 - ], - [ - 9.537113, - 30.23439 - ], - [ - 10.21361, - 30.730831 - ], - [ - 10.287222, - 31.694164 - ], - [ - 11.567499, - 32.442215 - ], - [ - 11.526081, - 33.171135 - ] - ] - ], - [ - [ - [ - 8.917776, - 37.510826 - ], - [ - 8.944721, - 37.538055 - ], - [ - 8.896111, - 37.525833 - ], - [ - 8.917776, - 37.510826 - ] - ] - ] - ] - }, - "name" : "Tunisia", - "iso2" : "TN", - "iso3" : "TUN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "DL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 26.078053, - 39.7836 - ], - [ - 26.075829, - 39.839722 - ], - [ - 25.974995, - 39.829987 - ], - [ - 26.078053, - 39.7836 - ] - ] - ], - [ - [ - [ - 25.824444, - 40.100266 - ], - [ - 26.013611, - 40.157494 - ], - [ - 25.663883, - 40.126389 - ], - [ - 25.824444, - 40.100266 - ] - ] - ], - [ - [ - [ - 27.60722, - 40.57222 - ], - [ - 27.735271, - 40.634438 - ], - [ - 27.531109, - 40.648331 - ], - [ - 27.60722, - 40.57222 - ] - ] - ], - [ - [ - [ - 41.531559, - 41.523876 - ], - [ - 40.149994, - 40.920273 - ], - [ - 38.361382, - 40.909431 - ], - [ - 36.429153, - 41.242775 - ], - [ - 36.051102, - 41.691933 - ], - [ - 35.506386, - 41.638054 - ], - [ - 35.096931, - 41.961655 - ], - [ - 33.333878, - 42.020264 - ], - [ - 31.23111, - 41.088875 - ], - [ - 29.166111, - 41.226662 - ], - [ - 29.12944, - 40.914444 - ], - [ - 29.938049, - 40.723885 - ], - [ - 28.795277, - 40.551384 - ], - [ - 28.985271, - 40.356934 - ], - [ - 26.707222, - 40.384995 - ], - [ - 26.067219, - 39.483047 - ], - [ - 26.951664, - 39.552773 - ], - [ - 26.644722, - 39.263054 - ], - [ - 27.064442, - 38.874435 - ], - [ - 26.730827, - 38.645821 - ], - [ - 27.161942, - 38.443886 - ], - [ - 26.682217, - 38.307487 - ], - [ - 26.369999, - 38.661942 - ], - [ - 26.275829, - 38.264435 - ], - [ - 27.267773, - 37.955544 - ], - [ - 27.193886, - 37.350822 - ], - [ - 27.595276, - 37.232491 - ], - [ - 27.252499, - 36.967499 - ], - [ - 28.328606, - 37.039719 - ], - [ - 27.37944, - 36.680832 - ], - [ - 28.118332, - 36.800278 - ], - [ - 27.983887, - 36.552773 - ], - [ - 28.454163, - 36.881386 - ], - [ - 29.677216, - 36.118332 - ], - [ - 30.40694, - 36.203606 - ], - [ - 30.623333, - 36.850822 - ], - [ - 31.046661, - 36.849152 - ], - [ - 32.808884, - 36.025551 - ], - [ - 33.988602, - 36.277771 - ], - [ - 34.659431, - 36.805275 - ], - [ - 35.339989, - 36.539162 - ], - [ - 36.021935, - 36.926384 - ], - [ - 36.217766, - 36.654999 - ], - [ - 35.783875, - 36.312485 - ], - [ - 35.92244, - 35.926994 - ], - [ - 36.690269, - 36.236107 - ], - [ - 36.659943, - 36.83371 - ], - [ - 39.229996, - 36.665276 - ], - [ - 40.770821, - 37.11805 - ], - [ - 42.355614, - 37.106926 - ], - [ - 42.790825, - 37.38472 - ], - [ - 44.116379, - 37.316376 - ], - [ - 44.317215, - 36.970543 - ], - [ - 44.787338, - 37.149712 - ], - [ - 44.61805, - 37.727768 - ], - [ - 44.223969, - 37.899151 - ], - [ - 44.484154, - 38.345543 - ], - [ - 44.034157, - 39.384995 - ], - [ - 44.4161, - 39.425262 - ], - [ - 44.60582, - 39.78054 - ], - [ - 44.813042, - 39.630814 - ], - [ - 44.778862, - 39.706383 - ], - [ - 44.347214, - 40.023888 - ], - [ - 43.657494, - 40.108597 - ], - [ - 43.751938, - 40.739998 - ], - [ - 43.46077, - 41.112961 - ], - [ - 42.827492, - 41.584991 - ], - [ - 41.531559, - 41.523876 - ] - ] - ], - [ - [ - [ - 28.013054, - 41.982216 - ], - [ - 27.394997, - 42.008041 - ], - [ - 26.361095, - 41.711052 - ], - [ - 26.633884, - 41.354439 - ], - [ - 26.04472, - 40.735825 - ], - [ - 26.826939, - 40.594437 - ], - [ - 26.181107, - 40.045273 - ], - [ - 27.50972, - 40.983597 - ], - [ - 29.039162, - 41.057213 - ], - [ - 28.090549, - 41.631386 - ], - [ - 28.013054, - 41.982216 - ] - ] - ] - ] - }, - "name" : "Turkey", - "iso2" : "TR", - "iso3" : "TUR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Db1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 179.222366, - -8.554146 - ], - [ - 179.231094, - -8.50492 - ], - [ - 179.203705, - -8.462443 - ], - [ - 179.222366, - -8.554146 - ] - ] - ], - [ - [ - [ - 178.366913, - -8.062778 - ], - [ - 178.36969, - -8.0275 - ], - [ - 178.355804, - -8.06139 - ], - [ - 178.366913, - -8.062778 - ] - ] - ], - [ - [ - [ - 178.397766, - -8.015278 - ], - [ - 178.403046, - -7.991388 - ], - [ - 178.39151, - -8 - ], - [ - 178.397766, - -8.015278 - ] - ] - ], - [ - [ - [ - 178.700531, - -7.482223 - ], - [ - 178.690796, - -7.464445 - ], - [ - 178.687469, - -7.478889 - ], - [ - 178.700531, - -7.482223 - ] - ] - ], - [ - [ - [ - 177.158875, - -7.187778 - ], - [ - 177.142212, - -7.173611 - ], - [ - 177.146362, - -7.188611 - ], - [ - 177.158875, - -7.187778 - ] - ] - ], - [ - [ - [ - 176.310242, - -6.285556 - ], - [ - 176.308868, - -6.257501 - ], - [ - 176.295258, - -6.278056 - ], - [ - 176.310242, - -6.285556 - ] - ] - ], - [ - [ - [ - 177.295807, - -6.113889 - ], - [ - 177.308868, - -6.098889 - ], - [ - 177.281372, - -6.089444 - ], - [ - 177.295807, - -6.113889 - ] - ] - ], - [ - [ - [ - 176.139709, - -5.690556 - ], - [ - 176.129395, - -5.675 - ], - [ - 176.130249, - -5.693333 - ], - [ - 176.139709, - -5.690556 - ] - ] - ], - [ - [ - [ - 176.08136, - -5.665277 - ], - [ - 176.079407, - -5.657778 - ], - [ - 176.066376, - -5.665277 - ], - [ - 176.08136, - -5.665277 - ] - ] - ] - ] - }, - "name" : "Tuvalu", - "iso2" : "TV", - "iso3" : "TUV" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Dr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 53.069719, - 38.899721 - ], - [ - 53.1, - 38.751108 - ], - [ - 53.078608, - 39.093882 - ], - [ - 53.069719, - 38.899721 - ] - ] - ], - [ - [ - [ - 58.78055, - 42.658045 - ], - [ - 58.164438, - 42.651934 - ], - [ - 58.515551, - 42.304438 - ], - [ - 58.026606, - 42.504641 - ], - [ - 56.98694, - 41.893053 - ], - [ - 57.044718, - 41.260279 - ], - [ - 56.000963, - 41.328455 - ], - [ - 55.456942, - 41.286661 - ], - [ - 54.173052, - 42.337214 - ], - [ - 53.015001, - 42.138887 - ], - [ - 52.440073, - 41.740938 - ], - [ - 52.881937, - 41.04722 - ], - [ - 52.815828, - 41.695826 - ], - [ - 52.946657, - 41.973047 - ], - [ - 53.803881, - 42.12388 - ], - [ - 54.072771, - 41.47555 - ], - [ - 54.733881, - 41.102221 - ], - [ - 54.244715, - 40.880274 - ], - [ - 54.417772, - 40.703608 - ], - [ - 53.746386, - 40.615274 - ], - [ - 52.918604, - 41.081667 - ], - [ - 52.721933, - 40.4461 - ], - [ - 53.004717, - 39.762217 - ], - [ - 52.934717, - 39.990549 - ], - [ - 53.57583, - 39.966105 - ], - [ - 53.408327, - 39.665827 - ], - [ - 53.734438, - 39.523882 - ], - [ - 53.264162, - 39.655268 - ], - [ - 53.162493, - 39.175554 - ], - [ - 53.541384, - 39.335825 - ], - [ - 53.983881, - 38.915827 - ], - [ - 53.905642, - 37.350855 - ], - [ - 54.681108, - 37.443605 - ], - [ - 55.442766, - 38.086107 - ], - [ - 57.212214, - 38.281939 - ], - [ - 57.450274, - 37.939157 - ], - [ - 59.338884, - 37.539164 - ], - [ - 60.333055, - 36.656099 - ], - [ - 61.157213, - 36.649996 - ], - [ - 61.27656, - 35.607248 - ], - [ - 62.30916, - 35.141665 - ], - [ - 62.722216, - 35.254717 - ], - [ - 63.105272, - 35.45083 - ], - [ - 63.11944, - 35.86194 - ], - [ - 64.503603, - 36.28055 - ], - [ - 64.798037, - 37.124994 - ], - [ - 65.708879, - 37.538607 - ], - [ - 66.537737, - 37.366381 - ], - [ - 66.643877, - 38.003054 - ], - [ - 64.383028, - 38.953127 - ], - [ - 62.551104, - 39.93416 - ], - [ - 61.874163, - 41.125551 - ], - [ - 60.140276, - 41.381105 - ], - [ - 60.014444, - 42.217493 - ], - [ - 58.78055, - 42.658045 - ] - ] - ] - ] - }, - "name" : "Turkmenistan", - "iso2" : "TM", - "iso3" : "TKM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "D71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 39.682495, - -7.993334 - ], - [ - 39.901108, - -7.638889 - ], - [ - 39.591385, - -7.945834 - ], - [ - 39.682495, - -7.993334 - ] - ] - ], - [ - [ - [ - 39.446663, - -6.210556 - ], - [ - 39.304161, - -5.723889 - ], - [ - 39.201385, - -6.226945 - ], - [ - 39.516106, - -6.468612 - ], - [ - 39.446663, - -6.210556 - ] - ] - ], - [ - [ - [ - 39.736107, - -5.462778 - ], - [ - 39.857216, - -4.908611 - ], - [ - 39.676941, - -4.941389 - ], - [ - 39.736107, - -5.462778 - ] - ] - ], - [ - [ - [ - 33.920273, - -1.001111 - ], - [ - 31.677219, - -0.999722 - ], - [ - 30.48222, - -1.063334 - ], - [ - 30.894165, - -2.076111 - ], - [ - 30.57333, - -2.399167 - ], - [ - 30.4175, - -2.861945 - ], - [ - 30.843662, - -2.978794 - ], - [ - 30.834999, - -3.256945 - ], - [ - 30.026108, - -4.269444 - ], - [ - 29.423885, - -4.448056 - ], - [ - 29.550278, - -6.295279 - ], - [ - 30.77124, - -8.192247 - ], - [ - 31.041111, - -8.590279 - ], - [ - 32.940399, - -9.405077 - ], - [ - 33.13472, - -9.494167 - ], - [ - 34.325272, - -9.732779 - ], - [ - 34.966728, - -11.572111 - ], - [ - 35.838333, - -11.414722 - ], - [ - 36.18972, - -11.706667 - ], - [ - 37.462044, - -11.727329 - ], - [ - 37.941383, - -11.285002 - ], - [ - 39.268051, - -11.168056 - ], - [ - 40.436813, - -10.478174 - ], - [ - 39.826385, - -9.993057 - ], - [ - 39.387772, - -8.9025 - ], - [ - 39.274437, - -7.579167 - ], - [ - 39.547882, - -6.994313 - ], - [ - 38.776382, - -6.045556 - ], - [ - 39.203026, - -4.669618 - ], - [ - 37.613609, - -3.504167 - ], - [ - 37.602776, - -2.995833 - ], - [ - 33.920273, - -1.001111 - ] - ] - ] - ] - }, - "name" : "United Republic of Tanzania", - "iso2" : "TZ", - "iso3" : "TZA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "EL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 33.996666, - 4.222777 - ], - [ - 33.516937, - 3.752222 - ], - [ - 33.016663, - 3.888611 - ], - [ - 32.193329, - 3.511389 - ], - [ - 31.176666, - 3.795278 - ], - [ - 30.858818, - 3.493394 - ], - [ - 30.729721, - 2.448055 - ], - [ - 31.302776, - 2.121388 - ], - [ - 29.960552, - 0.825555 - ], - [ - 29.596943, - -1.385834 - ], - [ - 29.974998, - -1.464445 - ], - [ - 30.48222, - -1.063334 - ], - [ - 31.677219, - -0.999722 - ], - [ - 33.920273, - -1.001111 - ], - [ - 33.907219, - 0.103056 - ], - [ - 35.00972, - 1.895278 - ], - [ - 34.463333, - 3.671389 - ], - [ - 33.996666, - 4.222777 - ] - ] - ] - }, - "name" : "Uganda", - "iso2" : "UG", - "iso3" : "UGA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Eb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -6.290833, - 49.912218 - ], - [ - -6.295, - 49.933886 - ], - [ - -6.317499, - 49.915277 - ], - [ - -6.290833, - 49.912218 - ] - ] - ], - [ - [ - [ - -1.059721, - 50.687494 - ], - [ - -1.296944, - 50.771944 - ], - [ - -1.57, - 50.660555 - ], - [ - -1.059721, - 50.687494 - ] - ] - ], - [ - [ - [ - -0.938332, - 50.777498 - ], - [ - -0.970833, - 50.830828 - ], - [ - -1.022499, - 50.78583 - ], - [ - -0.938332, - 50.777498 - ] - ] - ], - [ - [ - [ - -4.651667, - 51.159441 - ], - [ - -4.665556, - 51.195002 - ], - [ - -4.673334, - 51.161386 - ], - [ - -4.651667, - 51.159441 - ] - ] - ], - [ - [ - [ - -4.571388, - 53.238611 - ], - [ - -4.621666, - 53.32139 - ], - [ - -4.69389, - 53.301386 - ], - [ - -4.571388, - 53.238611 - ] - ] - ], - [ - [ - [ - -4.153334, - 53.225557 - ], - [ - -4.569166, - 53.388056 - ], - [ - -4.402222, - 53.125834 - ], - [ - -4.153334, - 53.225557 - ] - ] - ], - [ - [ - [ - -6.266975, - 54.099833 - ], - [ - -5.429722, - 54.483606 - ], - [ - -5.908333, - 54.604723 - ], - [ - -5.688055, - 54.806108 - ], - [ - -6.353333, - 55.23778 - ], - [ - -7.252506, - 55.070597 - ], - [ - -7.406389, - 54.953333 - ], - [ - -8.159445, - 54.441942 - ], - [ - -7.559444, - 54.12694 - ], - [ - -7.030834, - 54.417772 - ], - [ - -6.266975, - 54.099833 - ] - ] - ], - [ - [ - [ - -6.172777, - 55.293055 - ], - [ - -6.282499, - 55.292223 - ], - [ - -6.188334, - 55.259722 - ], - [ - -6.172777, - 55.293055 - ] - ] - ], - [ - [ - [ - -5.103611, - 55.438608 - ], - [ - -5.160278, - 55.679163 - ], - [ - -5.381111, - 55.668612 - ], - [ - -5.103611, - 55.438608 - ] - ] - ], - [ - [ - [ - -6.121666, - 55.878885 - ], - [ - -6.509167, - 55.682222 - ], - [ - -6.076666, - 55.649996 - ], - [ - -6.121666, - 55.878885 - ] - ] - ], - [ - [ - [ - -5.016388, - 55.721941 - ], - [ - -5.036388, - 55.837778 - ], - [ - -5.206388, - 55.899439 - ], - [ - -5.016388, - 55.721941 - ] - ] - ], - [ - [ - [ - -6.19389, - 56.029161 - ], - [ - -6.130833, - 56.120829 - ], - [ - -6.263056, - 56.036112 - ], - [ - -6.19389, - 56.029161 - ] - ] - ], - [ - [ - [ - -5.946945, - 55.829996 - ], - [ - -5.694445, - 56.147219 - ], - [ - -6.078888, - 55.90555 - ], - [ - -5.946945, - 55.829996 - ] - ] - ], - [ - [ - [ - -5.735001, - 56.158052 - ], - [ - -5.675833, - 56.169443 - ], - [ - -5.675278, - 56.191942 - ], - [ - -5.735001, - 56.158052 - ] - ] - ], - [ - [ - [ - -5.629999, - 56.196939 - ], - [ - -5.606388, - 56.254442 - ], - [ - -5.641945, - 56.260279 - ], - [ - -5.629999, - 56.196939 - ] - ] - ], - [ - [ - [ - -5.616667, - 56.268885 - ], - [ - -5.583889, - 56.319719 - ], - [ - -5.645555, - 56.301111 - ], - [ - -5.616667, - 56.268885 - ] - ] - ], - [ - [ - [ - -6.404722, - 56.303606 - ], - [ - -6.381945, - 56.34083 - ], - [ - -6.436388, - 56.310556 - ], - [ - -6.404722, - 56.303606 - ] - ] - ], - [ - [ - [ - -5.543612, - 56.382776 - ], - [ - -5.51, - 56.411112 - ], - [ - -5.587778, - 56.389162 - ], - [ - -5.543612, - 56.382776 - ] - ] - ], - [ - [ - [ - -6.165833, - 56.464724 - ], - [ - -6.215555, - 56.497774 - ], - [ - -6.26, - 56.481943 - ], - [ - -6.165833, - 56.464724 - ] - ] - ], - [ - [ - [ - -6.739166, - 56.515833 - ], - [ - -6.990833, - 56.49444 - ], - [ - -6.892778, - 56.438608 - ], - [ - -6.739166, - 56.515833 - ] - ] - ], - [ - [ - [ - -5.783611, - 56.50889 - ], - [ - -6.32, - 56.603052 - ], - [ - -6.002777, - 56.494165 - ], - [ - -6.193611, - 56.361383 - ], - [ - -6.017778, - 56.37472 - ], - [ - -6.366112, - 56.308886 - ], - [ - -5.808611, - 56.317499 - ], - [ - -5.648333, - 56.435831 - ], - [ - -5.783611, - 56.50889 - ] - ] - ], - [ - [ - [ - -6.589167, - 56.579996 - ], - [ - -6.454445, - 56.686106 - ], - [ - -6.698889, - 56.579996 - ], - [ - -6.589167, - 56.579996 - ] - ] - ], - [ - [ - [ - -6.144722, - 56.869997 - ], - [ - -6.113611, - 56.932497 - ], - [ - -6.213055, - 56.906946 - ], - [ - -6.144722, - 56.869997 - ] - ] - ], - [ - [ - [ - -6.317499, - 56.934168 - ], - [ - -6.261667, - 57.037775 - ], - [ - -6.451666, - 57.006105 - ], - [ - -6.317499, - 56.934168 - ] - ] - ], - [ - [ - [ - -7.466944, - 56.940828 - ], - [ - -7.439722, - 57.054445 - ], - [ - -7.559999, - 56.960276 - ], - [ - -7.466944, - 56.940828 - ] - ] - ], - [ - [ - [ - -6.499166, - 57.052217 - ], - [ - -6.549444, - 57.068056 - ], - [ - -6.602501, - 57.046389 - ], - [ - -6.499166, - 57.052217 - ] - ] - ], - [ - [ - [ - -5.939167, - 57.278055 - ], - [ - -5.933889, - 57.311663 - ], - [ - -6.017778, - 57.311663 - ], - [ - -5.939167, - 57.278055 - ] - ] - ], - [ - [ - [ - -7.223055, - 57.337496 - ], - [ - -7.424999, - 57.382219 - ], - [ - -7.38139, - 57.108606 - ], - [ - -7.223055, - 57.337496 - ] - ] - ], - [ - [ - [ - -7.268888, - 57.39889 - ], - [ - -7.204721, - 57.460833 - ], - [ - -7.406389, - 57.464167 - ], - [ - -7.268888, - 57.39889 - ] - ] - ], - [ - [ - [ - -6.026945, - 57.328608 - ], - [ - -5.98, - 57.495829 - ], - [ - -6.078333, - 57.394167 - ], - [ - -6.026945, - 57.328608 - ] - ] - ], - [ - [ - [ - -6.143888, - 57.568056 - ], - [ - -6.785833, - 57.446108 - ], - [ - -6.011944, - 57.022219 - ], - [ - -5.663889, - 57.204996 - ], - [ - -6.127222, - 57.306108 - ], - [ - -6.143888, - 57.568056 - ] - ] - ], - [ - [ - [ - -5.967777, - 57.522776 - ], - [ - -5.961666, - 57.574999 - ], - [ - -5.990833, - 57.540834 - ], - [ - -5.967777, - 57.522776 - ] - ] - ], - [ - [ - [ - -7.188612, - 57.68722 - ], - [ - -7.543333, - 57.59083 - ], - [ - -7.153889, - 57.509439 - ], - [ - -7.188612, - 57.68722 - ] - ] - ], - [ - [ - [ - -7.196667, - 57.702219 - ], - [ - -7.144722, - 57.723612 - ], - [ - -7.219166, - 57.707773 - ], - [ - -7.196667, - 57.702219 - ] - ] - ], - [ - [ - [ - -8.555279, - 57.810831 - ], - [ - -8.621389, - 57.822779 - ], - [ - -8.5825, - 57.798883 - ], - [ - -8.555279, - 57.810831 - ] - ] - ], - [ - [ - [ - -7.00639, - 57.881388 - ], - [ - -6.99361, - 57.918612 - ], - [ - -7.077778, - 57.879999 - ], - [ - -7.00639, - 57.881388 - ] - ] - ], - [ - [ - [ - -6.204166, - 58.356112 - ], - [ - -7.040556, - 58.233332 - ], - [ - -6.830278, - 57.900835 - ], - [ - -7.123056, - 57.817499 - ], - [ - -6.473888, - 57.940279 - ], - [ - -6.204166, - 58.356112 - ] - ], - [ - [ - -6.802221, - 58.203051 - ], - [ - -6.869167, - 58.20389 - ], - [ - -6.889723, - 58.252497 - ], - [ - -6.802221, - 58.203051 - ] - ] - ], - [ - [ - [ - -4.153334, - 53.225557 - ], - [ - -4.760862, - 52.788973 - ], - [ - -4.133612, - 52.914446 - ], - [ - -4.130833, - 52.334719 - ], - [ - -5.246944, - 51.730272 - ], - [ - -3.346111, - 51.378611 - ], - [ - -2.379999, - 51.755556 - ], - [ - -3.028334, - 51.20611 - ], - [ - -4.226389, - 51.189165 - ], - [ - -5.7125, - 50.053606 - ], - [ - -5.193056, - 49.955278 - ], - [ - -4.379999, - 50.363886 - ], - [ - -3.716667, - 50.206667 - ], - [ - -2.924723, - 50.731943 - ], - [ - -2.43445, - 50.541792 - ], - [ - -1.154722, - 50.844164 - ], - [ - -0.926943, - 50.839441 - ], - [ - -0.796389, - 50.725275 - ], - [ - -0.254999, - 50.826387 - ], - [ - 0.242224, - 50.738054 - ], - [ - 0.975, - 50.93194 - ], - [ - 1.385557, - 51.387774 - ], - [ - 0.38278, - 51.450556 - ], - [ - 0.950556, - 51.606386 - ], - [ - 0.699724, - 51.719446 - ], - [ - 1.223612, - 51.808886 - ], - [ - 1.749445, - 52.455828 - ], - [ - 1.282225, - 52.9275 - ], - [ - 3.6E-5, - 52.879549 - ], - [ - 0.341669, - 53.095835 - ], - [ - 0.235556, - 53.399439 - ], - [ - -0.718889, - 53.699717 - ], - [ - 0.118055, - 53.56444 - ], - [ - -0.074999, - 54.11194 - ], - [ - -1.297499, - 54.763613 - ], - [ - -1.633888, - 55.580828 - ], - [ - -2.631111, - 56.05472 - ], - [ - -3.725277, - 56.027498 - ], - [ - -2.582777, - 56.268053 - ], - [ - -3.278055, - 56.3575 - ], - [ - -2.527222, - 56.578608 - ], - [ - -1.773333, - 57.458055 - ], - [ - -2.075556, - 57.699442 - ], - [ - -4.435833, - 57.574999 - ], - [ - -3.773056, - 57.851107 - ], - [ - -4.392221, - 57.905275 - ], - [ - -3.208611, - 58.304445 - ], - [ - -3.025555, - 58.647501 - ], - [ - -5.004723, - 58.623331 - ], - [ - -5.455278, - 58.076387 - ], - [ - -5.102777, - 57.850832 - ], - [ - -5.816668, - 57.821665 - ], - [ - -5.508612, - 57.534723 - ], - [ - -5.819166, - 57.363886 - ], - [ - -5.450277, - 57.420275 - ], - [ - -5.649611, - 57.161612 - ], - [ - -5.399723, - 57.105829 - ], - [ - -6.235001, - 56.719164 - ], - [ - -5.546944, - 56.691942 - ], - [ - -6.008333, - 56.637499 - ], - [ - -5.676945, - 56.493891 - ], - [ - -5.120001, - 56.816668 - ], - [ - -5.398666, - 56.478666 - ], - [ - -5.107779, - 56.507776 - ], - [ - -5.57361, - 56.324717 - ], - [ - -5.7775, - 55.296663 - ], - [ - -5.032223, - 56.2325 - ], - [ - -5.303333, - 55.850557 - ], - [ - -4.828606, - 56.113165 - ], - [ - -4.481668, - 55.921106 - ], - [ - -4.879723, - 55.936106 - ], - [ - -4.613333, - 55.494997 - ], - [ - -5.174166, - 55.000551 - ], - [ - -4.941111, - 54.64889 - ], - [ - -4.852222, - 54.868608 - ], - [ - -4.387222, - 54.675554 - ], - [ - -4.393055, - 54.908052 - ], - [ - -3.023056, - 54.970552 - ], - [ - -3.634167, - 54.511942 - ], - [ - -3.22611, - 54.098612 - ], - [ - -2.813612, - 54.222773 - ], - [ - -3.1075, - 53.551668 - ], - [ - -2.702499, - 53.346384 - ], - [ - -4.153334, - 53.225557 - ] - ], - [ - [ - 0.904722, - 51.358057 - ], - [ - 0.735003, - 51.408335 - ], - [ - 0.908892, - 51.416941 - ], - [ - 0.904722, - 51.358057 - ] - ] - ], - [ - [ - [ - -2.918333, - 58.731943 - ], - [ - -2.886389, - 58.831942 - ], - [ - -3.036945, - 58.818056 - ], - [ - -2.918333, - 58.731943 - ] - ] - ], - [ - [ - [ - -3.231388, - 58.775553 - ], - [ - -3.134722, - 58.800829 - ], - [ - -3.418055, - 58.904161 - ], - [ - -3.231388, - 58.775553 - ] - ] - ], - [ - [ - [ - -2.793055, - 58.951387 - ], - [ - -3.351389, - 59.106386 - ], - [ - -3.195, - 58.911112 - ], - [ - -2.793055, - 58.951387 - ] - ] - ], - [ - [ - [ - -2.681389, - 59.195833 - ], - [ - -2.390278, - 59.283052 - ], - [ - -2.555555, - 59.303057 - ], - [ - -2.681389, - 59.195833 - ] - ] - ], - [ - [ - [ - -2.889999, - 59.295275 - ], - [ - -3.076389, - 59.331385 - ], - [ - -2.877499, - 59.228609 - ], - [ - -2.889999, - 59.295275 - ] - ] - ], - [ - [ - [ - -1.29611, - 60.491106 - ], - [ - -1.693056, - 60.279718 - ], - [ - -1.291389, - 60.241388 - ], - [ - -1.26861, - 59.851107 - ], - [ - -1.037222, - 60.444162 - ], - [ - -1.29611, - 60.491106 - ] - ] - ], - [ - [ - [ - -1.029444, - 60.495829 - ], - [ - -1.09861, - 60.729998 - ], - [ - -1.170277, - 60.527224 - ], - [ - -1.029444, - 60.495829 - ] - ] - ], - [ - [ - [ - -0.819721, - 60.68889 - ], - [ - -0.758055, - 60.817774 - ], - [ - -0.878332, - 60.844446 - ], - [ - -0.965555, - 60.688051 - ], - [ - -0.819721, - 60.68889 - ] - ] - ] - ] - }, - "name" : "United Kingdom", - "iso2" : "GB", - "iso3" : "GBR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Er1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 33.040276, - 46.011375 - ], - [ - 32.965271, - 46.049431 - ], - [ - 32.759438, - 46.03611 - ], - [ - 33.040276, - 46.011375 - ] - ] - ], - [ - [ - [ - 34.227486, - 46.061928 - ], - [ - 34.229149, - 46.187759 - ], - [ - 34.158043, - 46.100548 - ], - [ - 34.227486, - 46.061928 - ] - ] - ], - [ - [ - [ - 32.167763, - 46.145821 - ], - [ - 31.501106, - 46.366653 - ], - [ - 31.584164, - 46.253319 - ], - [ - 32.167763, - 46.145821 - ] - ] - ], - [ - [ - [ - 29.664331, - 45.211803 - ], - [ - 29.633606, - 45.821106 - ], - [ - 29.746941, - 45.619431 - ], - [ - 30.251659, - 45.876656 - ], - [ - 30.832771, - 46.548325 - ], - [ - 31.907494, - 46.648872 - ], - [ - 31.749435, - 47.253319 - ], - [ - 32.019707, - 46.629433 - ], - [ - 32.647217, - 46.641106 - ], - [ - 31.507771, - 46.57972 - ], - [ - 32.059151, - 46.395821 - ], - [ - 31.791943, - 46.283051 - ], - [ - 33.611382, - 46.147217 - ], - [ - 33.771935, - 45.92054 - ], - [ - 32.480537, - 45.395821 - ], - [ - 33.541939, - 45.111931 - ], - [ - 33.366936, - 44.579163 - ], - [ - 33.955544, - 44.381104 - ], - [ - 35.515266, - 45.116096 - ], - [ - 36.439713, - 45.065536 - ], - [ - 36.637215, - 45.376099 - ], - [ - 35.475266, - 45.2911 - ], - [ - 35.311661, - 45.383041 - ], - [ - 35.053879, - 45.65387 - ], - [ - 34.827209, - 46.069443 - ], - [ - 34.666939, - 46.093597 - ], - [ - 34.763054, - 46.015549 - ], - [ - 35.050262, - 45.613884 - ], - [ - 35.34304, - 45.332497 - ], - [ - 35.126656, - 45.326096 - ], - [ - 34.460541, - 45.767212 - ], - [ - 34.633324, - 45.94165 - ], - [ - 33.671928, - 46.220818 - ], - [ - 34.542496, - 46.187485 - ], - [ - 34.401649, - 46.013878 - ], - [ - 34.561661, - 45.984993 - ], - [ - 34.702492, - 46.175819 - ], - [ - 35.05304, - 46.258041 - ], - [ - 35.198044, - 46.443314 - ], - [ - 34.985268, - 46.075829 - ], - [ - 35.907204, - 46.651093 - ], - [ - 38.235825, - 47.109428 - ], - [ - 38.303322, - 47.558594 - ], - [ - 38.8536, - 47.860825 - ], - [ - 39.796387, - 47.857216 - ], - [ - 39.998878, - 48.297218 - ], - [ - 39.656937, - 48.616661 - ], - [ - 40.07666, - 48.874992 - ], - [ - 39.696655, - 49.010826 - ], - [ - 40.166939, - 49.248604 - ], - [ - 40.139763, - 49.601051 - ], - [ - 38.30777, - 50.073883 - ], - [ - 38.024223, - 49.903084 - ], - [ - 37.458603, - 50.439713 - ], - [ - 35.606651, - 50.369438 - ], - [ - 35.371887, - 51.041435 - ], - [ - 34.38221, - 51.263611 - ], - [ - 34.098045, - 51.653877 - ], - [ - 34.419716, - 51.808884 - ], - [ - 33.838882, - 52.36055 - ], - [ - 33.417702, - 52.3554 - ], - [ - 31.783886, - 52.108047 - ], - [ - 30.943096, - 52.073792 - ], - [ - 30.551414, - 51.251846 - ], - [ - 25.775829, - 51.939156 - ], - [ - 24.396664, - 51.886658 - ], - [ - 23.604633, - 51.527695 - ], - [ - 24.111385, - 50.56694 - ], - [ - 22.680828, - 49.572495 - ], - [ - 22.886074, - 49.002914 - ], - [ - 22.558052, - 49.079437 - ], - [ - 22.151442, - 48.411919 - ], - [ - 22.894804, - 47.95454 - ], - [ - 24.919441, - 47.711662 - ], - [ - 26.634995, - 48.257164 - ], - [ - 27.755554, - 48.451385 - ], - [ - 29.141937, - 47.986092 - ], - [ - 29.184441, - 47.443047 - ], - [ - 29.949997, - 46.814156 - ], - [ - 30.11694, - 46.386101 - ], - [ - 28.994434, - 46.478325 - ], - [ - 28.971935, - 46.006653 - ], - [ - 28.21484, - 45.448647 - ], - [ - 29.664331, - 45.211803 - ] - ] - ] - ] - }, - "name" : "Ukraine", - "iso2" : "UA", - "iso3" : "UKR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "E71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -75.223724, - 19.901556 - ], - [ - -75.170288, - 19.931391 - ], - [ - -75.15918, - 19.960695 - ], - [ - -75.223724, - 19.901556 - ] - ] - ], - [ - [ - [ - -75.13974, - 19.962873 - ], - [ - -75.121399, - 19.887499 - ], - [ - -75.085281, - 19.893042 - ], - [ - -75.13974, - 19.962873 - ] - ] - ], - [ - [ - [ - -155.005585, - 19.328882 - ], - [ - -154.792816, - 19.53861 - ], - [ - -155.15863, - 19.962496 - ], - [ - -155.864441, - 20.269163 - ], - [ - -155.859467, - 19.032778 - ], - [ - -155.005585, - 19.328882 - ] - ] - ], - [ - [ - [ - -156.547241, - 20.525274 - ], - [ - -156.585297, - 20.607222 - ], - [ - -156.698639, - 20.534719 - ], - [ - -156.547241, - 20.525274 - ] - ] - ], - [ - [ - [ - -156.891998, - 20.744162 - ], - [ - -156.812256, - 20.843611 - ], - [ - -157.04837, - 20.918055 - ], - [ - -156.891998, - 20.744162 - ] - ] - ], - [ - [ - [ - -156.473358, - 20.89805 - ], - [ - -156.70224, - 20.924437 - ], - [ - -156.420013, - 20.58861 - ], - [ - -155.988617, - 20.748053 - ], - [ - -156.473358, - 20.89805 - ] - ] - ], - [ - [ - [ - -156.89447, - 21.161104 - ], - [ - -157.304749, - 21.100554 - ], - [ - -156.703918, - 21.158052 - ], - [ - -156.89447, - 21.161104 - ] - ] - ], - [ - [ - [ - -160.530609, - 21.643888 - ], - [ - -160.541138, - 21.641382 - ], - [ - -160.537781, - 21.632215 - ], - [ - -160.530609, - 21.643888 - ] - ] - ], - [ - [ - [ - -157.730316, - 21.411661 - ], - [ - -157.971924, - 21.699438 - ], - [ - -158.273376, - 21.580549 - ], - [ - -158.103638, - 21.295279 - ], - [ - -157.730316, - 21.411661 - ] - ] - ], - [ - [ - [ - -160.11499, - 21.887499 - ], - [ - -160.061401, - 22.013884 - ], - [ - -160.247772, - 21.813608 - ], - [ - -160.11499, - 21.887499 - ] - ] - ], - [ - [ - [ - -159.433624, - 21.881388 - ], - [ - -159.351654, - 22.22138 - ], - [ - -159.785309, - 22.061384 - ], - [ - -159.433624, - 21.881388 - ] - ] - ], - [ - [ - [ - -161.941681, - 23.039438 - ], - [ - -161.938324, - 23.046389 - ], - [ - -161.948334, - 23.047216 - ], - [ - -161.941681, - 23.039438 - ] - ] - ], - [ - [ - [ - -164.696136, - 23.564718 - ], - [ - -164.696686, - 23.578054 - ], - [ - -164.70752, - 23.576666 - ], - [ - -164.696136, - 23.564718 - ] - ] - ], - [ - [ - [ - -81.773895, - 24.544722 - ], - [ - -81.729172, - 24.560556 - ], - [ - -81.813499, - 24.543871 - ], - [ - -81.773895, - 24.544722 - ] - ] - ], - [ - [ - [ - -82.114441, - 24.545832 - ], - [ - -82.099991, - 24.583055 - ], - [ - -82.137222, - 24.593889 - ], - [ - -82.114441, - 24.545832 - ] - ] - ], - [ - [ - [ - -81.715118, - 24.553118 - ], - [ - -81.646225, - 24.577551 - ], - [ - -81.710739, - 24.59572 - ], - [ - -81.715118, - 24.553118 - ] - ] - ], - [ - [ - [ - -81.477219, - 24.636385 - ], - [ - -81.478607, - 24.677774 - ], - [ - -81.517775, - 24.684996 - ], - [ - -81.477219, - 24.636385 - ] - ] - ], - [ - [ - [ - -81.588333, - 24.589998 - ], - [ - -81.508347, - 24.629999 - ], - [ - -81.553055, - 24.68722 - ], - [ - -81.588333, - 24.589998 - ] - ] - ], - [ - [ - [ - -81.108612, - 24.706106 - ], - [ - -81.052673, - 24.716532 - ], - [ - -81.137772, - 24.701681 - ], - [ - -81.108612, - 24.706106 - ] - ] - ], - [ - [ - [ - -81.349442, - 24.629721 - ], - [ - -81.360825, - 24.70083 - ], - [ - -81.428055, - 24.748606 - ], - [ - -81.349442, - 24.629721 - ] - ] - ], - [ - [ - [ - -80.968887, - 24.742773 - ], - [ - -80.923462, - 24.769209 - ], - [ - -81.026688, - 24.718588 - ], - [ - -80.968887, - 24.742773 - ] - ] - ], - [ - [ - [ - -80.846115, - 24.797499 - ], - [ - -80.786171, - 24.822931 - ], - [ - -80.824173, - 24.821112 - ], - [ - -80.846115, - 24.797499 - ] - ] - ], - [ - [ - [ - -80.698608, - 24.866667 - ], - [ - -80.702499, - 24.880831 - ], - [ - -80.745834, - 24.842497 - ], - [ - -80.698608, - 24.866667 - ] - ] - ], - [ - [ - [ - -80.646666, - 24.90222 - ], - [ - -80.623886, - 24.932775 - ], - [ - -80.664444, - 24.894999 - ], - [ - -80.646666, - 24.90222 - ] - ] - ], - [ - [ - [ - -167.99057, - 25.002501 - ], - [ - -168.00589, - 25.017496 - ], - [ - -168.00116, - 25.003885 - ], - [ - -167.99057, - 25.002501 - ] - ] - ], - [ - [ - [ - -80.577225, - 24.945551 - ], - [ - -80.371933, - 25.143888 - ], - [ - -80.257507, - 25.346388 - ], - [ - -80.577225, - 24.945551 - ] - ] - ], - [ - [ - [ - -80.225006, - 25.40111 - ], - [ - -80.188599, - 25.494162 - ], - [ - -80.234161, - 25.40222 - ], - [ - -80.225006, - 25.40111 - ] - ] - ], - [ - [ - [ - -80.162216, - 25.669443 - ], - [ - -80.156387, - 25.733332 - ], - [ - -80.185547, - 25.68944 - ], - [ - -80.162216, - 25.669443 - ] - ] - ], - [ - [ - [ - -171.723602, - 25.762499 - ], - [ - -171.724701, - 25.791662 - ], - [ - -171.731384, - 25.760832 - ], - [ - -171.723602, - 25.762499 - ] - ] - ], - [ - [ - [ - -81.684158, - 25.844721 - ], - [ - -81.664169, - 25.888609 - ], - [ - -81.714722, - 25.888609 - ], - [ - -81.684158, - 25.844721 - ] - ] - ], - [ - [ - [ - -173.946136, - 26.063334 - ], - [ - -173.944733, - 26.080832 - ], - [ - -173.960846, - 26.079439 - ], - [ - -173.946136, - 26.063334 - ] - ] - ], - [ - [ - [ - -82.126389, - 26.449999 - ], - [ - -82.028885, - 26.444998 - ], - [ - -82.20639, - 26.545832 - ], - [ - -82.126389, - 26.449999 - ] - ] - ], - [ - [ - [ - -82.221664, - 26.612497 - ], - [ - -82.255005, - 26.698606 - ], - [ - -82.244995, - 26.634996 - ], - [ - -82.221664, - 26.612497 - ] - ] - ], - [ - [ - [ - -82.079453, - 26.487776 - ], - [ - -82.133331, - 26.691107 - ], - [ - -82.179718, - 26.699163 - ], - [ - -82.079453, - 26.487776 - ] - ] - ], - [ - [ - [ - -82.263626, - 26.716387 - ], - [ - -82.25528, - 26.759443 - ], - [ - -82.281387, - 26.808889 - ], - [ - -82.263626, - 26.716387 - ] - ] - ], - [ - [ - [ - -97.17778, - 26.084723 - ], - [ - -97.383621, - 27.20722 - ], - [ - -97.385757, - 26.838224 - ], - [ - -97.17778, - 26.084723 - ] - ] - ], - [ - [ - [ - -82.587509, - 27.321112 - ], - [ - -82.654175, - 27.418608 - ], - [ - -82.680557, - 27.425829 - ], - [ - -82.587509, - 27.321112 - ] - ] - ], - [ - [ - [ - -97.382217, - 27.218885 - ], - [ - -97.045546, - 27.843889 - ], - [ - -97.31723, - 27.495829 - ], - [ - -97.382217, - 27.218885 - ] - ] - ], - [ - [ - [ - -96.887787, - 28.030554 - ], - [ - -96.867767, - 28.134996 - ], - [ - -97.035828, - 27.875277 - ], - [ - -96.887787, - 28.030554 - ] - ] - ], - [ - [ - [ - -96.551941, - 28.266668 - ], - [ - -96.404724, - 28.392221 - ], - [ - -96.813614, - 28.092497 - ], - [ - -96.551941, - 28.266668 - ] - ] - ], - [ - [ - [ - -96.360825, - 28.402498 - ], - [ - -96.229996, - 28.485552 - ], - [ - -96.313049, - 28.455275 - ], - [ - -96.360825, - 28.402498 - ] - ] - ], - [ - [ - [ - -80.663895, - 28.258333 - ], - [ - -80.625275, - 28.590555 - ], - [ - -80.74028, - 28.478331 - ], - [ - -80.663895, - 28.258333 - ] - ] - ], - [ - [ - [ - -90.87265, - 29.046133 - ], - [ - -90.923615, - 29.060556 - ], - [ - -90.950394, - 29.060003 - ], - [ - -90.87265, - 29.046133 - ] - ] - ], - [ - [ - [ - -90.739166, - 29.045 - ], - [ - -90.642502, - 29.073332 - ], - [ - -90.758347, - 29.048609 - ], - [ - -90.739166, - 29.045 - ] - ] - ], - [ - [ - [ - -90.335556, - 29.057222 - ], - [ - -90.29834, - 29.066942 - ], - [ - -90.285278, - 29.083055 - ], - [ - -90.335556, - 29.057222 - ] - ] - ], - [ - [ - [ - -89.975281, - 29.242773 - ], - [ - -89.955002, - 29.268057 - ], - [ - -90.031113, - 29.211943 - ], - [ - -89.975281, - 29.242773 - ] - ] - ], - [ - [ - [ - -89.928329, - 29.278612 - ], - [ - -89.907501, - 29.302221 - ], - [ - -89.935272, - 29.2875 - ], - [ - -89.928329, - 29.278612 - ] - ] - ], - [ - [ - [ - -89.860001, - 29.310278 - ], - [ - -89.86972, - 29.335276 - ], - [ - -89.89389, - 29.323053 - ], - [ - -89.860001, - 29.310278 - ] - ] - ], - [ - [ - [ - -95.111115, - 29.098055 - ], - [ - -94.784729, - 29.308054 - ], - [ - -94.821396, - 29.33861 - ], - [ - -95.111115, - 29.098055 - ] - ] - ], - [ - [ - [ - -89.170546, - 29.473051 - ], - [ - -89.156952, - 29.492495 - ], - [ - -89.219162, - 29.46472 - ], - [ - -89.170546, - 29.473051 - ] - ] - ], - [ - [ - [ - -89.601105, - 29.513887 - ], - [ - -89.56221, - 29.521112 - ], - [ - -89.565826, - 29.55472 - ], - [ - -89.590286, - 29.560556 - ], - [ - -89.618332, - 29.538332 - ], - [ - -89.601105, - 29.513887 - ] - ] - ], - [ - [ - [ - -89.080292, - 29.521387 - ], - [ - -89.037216, - 29.57361 - ], - [ - -89.078888, - 29.545553 - ], - [ - -89.080292, - 29.521387 - ] - ] - ], - [ - [ - [ - -91.786667, - 29.486109 - ], - [ - -91.856384, - 29.634996 - ], - [ - -92.034439, - 29.591665 - ], - [ - -91.786667, - 29.486109 - ] - ] - ], - [ - [ - [ - -85.111115, - 29.632219 - ], - [ - -85.08168, - 29.679163 - ], - [ - -85.198044, - 29.685274 - ], - [ - -85.111115, - 29.632219 - ] - ] - ], - [ - [ - [ - -89.428604, - 29.692774 - ], - [ - -89.422501, - 29.722773 - ], - [ - -89.468613, - 29.728609 - ], - [ - -89.428604, - 29.692774 - ] - ] - ], - [ - [ - [ - -84.972778, - 29.608889 - ], - [ - -84.692215, - 29.758333 - ], - [ - -85.095001, - 29.623888 - ], - [ - -84.972778, - 29.608889 - ] - ] - ], - [ - [ - [ - -89.424164, - 29.740831 - ], - [ - -89.491104, - 29.793055 - ], - [ - -89.488892, - 29.73805 - ], - [ - -89.424164, - 29.740831 - ] - ] - ], - [ - [ - [ - -89.285278, - 29.771387 - ], - [ - -89.275558, - 29.809164 - ], - [ - -89.341675, - 29.803888 - ], - [ - -89.285278, - 29.771387 - ] - ] - ], - [ - [ - [ - -84.638901, - 29.778334 - ], - [ - -84.573425, - 29.819998 - ], - [ - -84.667221, - 29.776945 - ], - [ - -84.638901, - 29.778334 - ] - ] - ], - [ - [ - [ - -88.84584, - 29.776388 - ], - [ - -88.805832, - 29.906385 - ], - [ - -88.868744, - 30.060606 - ], - [ - -88.84584, - 29.776388 - ] - ] - ], - [ - [ - [ - -89.31778, - 30.040834 - ], - [ - -89.184998, - 30.166666 - ], - [ - -89.34639, - 30.059443 - ], - [ - -89.31778, - 30.040834 - ] - ] - ], - [ - [ - [ - -88.437775, - 30.206106 - ], - [ - -88.428055, - 30.212774 - ], - [ - -88.500565, - 30.218885 - ], - [ - -88.437775, - 30.206106 - ] - ] - ], - [ - [ - [ - -88.552216, - 30.21472 - ], - [ - -88.526398, - 30.223051 - ], - [ - -88.754181, - 30.244719 - ], - [ - -88.552216, - 30.21472 - ] - ] - ], - [ - [ - [ - -89.081116, - 30.19972 - ], - [ - -89.060516, - 30.246675 - ], - [ - -89.091675, - 30.216665 - ], - [ - -89.081116, - 30.19972 - ] - ] - ], - [ - [ - [ - -88.094727, - 30.241106 - ], - [ - -88.107773, - 30.273611 - ], - [ - -88.3125, - 30.232775 - ], - [ - -88.094727, - 30.241106 - ] - ] - ], - [ - [ - [ - -86.529175, - 30.400831 - ], - [ - -86.763062, - 30.404997 - ], - [ - -87.292221, - 30.332777 - ], - [ - -86.529175, - 30.400831 - ] - ] - ], - [ - [ - [ - -118.406952, - 32.816668 - ], - [ - -118.369164, - 32.854715 - ], - [ - -118.592499, - 33.046946 - ], - [ - -118.406952, - 32.816668 - ] - ] - ], - [ - [ - [ - -79.365004, - 33.003054 - ], - [ - -79.336121, - 33.067217 - ], - [ - -79.361115, - 33.049997 - ], - [ - -79.365004, - 33.003054 - ] - ] - ], - [ - [ - [ - -119.444153, - 33.216661 - ], - [ - -119.48056, - 33.274439 - ], - [ - -119.566673, - 33.28277 - ], - [ - -119.444153, - 33.216661 - ] - ] - ], - [ - [ - [ - -118.301941, - 33.309435 - ], - [ - -118.592215, - 33.486658 - ], - [ - -118.448883, - 33.327494 - ], - [ - -118.301941, - 33.309435 - ] - ] - ], - [ - [ - [ - -77.960831, - 33.85 - ], - [ - -77.949722, - 33.91305 - ], - [ - -78.016403, - 33.874163 - ], - [ - -77.960831, - 33.85 - ] - ] - ], - [ - [ - [ - -120.035278, - 34.023882 - ], - [ - -120.226097, - 34.006105 - ], - [ - -120.107498, - 33.90555 - ], - [ - -120.035278, - 34.023882 - ] - ] - ], - [ - [ - [ - -120.297783, - 34.028605 - ], - [ - -120.363892, - 34.065546 - ], - [ - -120.438049, - 34.036943 - ], - [ - -120.297783, - 34.028605 - ] - ] - ], - [ - [ - [ - -119.868057, - 34.084162 - ], - [ - -119.78833, - 33.967211 - ], - [ - -119.513634, - 34.042772 - ], - [ - -119.868057, - 34.084162 - ] - ] - ], - [ - [ - [ - -76.535278, - 34.635553 - ], - [ - -76.559158, - 34.664995 - ], - [ - -76.654724, - 34.686106 - ], - [ - -76.535278, - 34.635553 - ] - ] - ], - [ - [ - [ - -76.682495, - 34.702219 - ], - [ - -76.931107, - 34.691378 - ], - [ - -77.098053, - 34.650545 - ], - [ - -76.682495, - 34.702219 - ] - ] - ], - [ - [ - [ - -76.531952, - 34.585825 - ], - [ - -76.199722, - 34.94166 - ], - [ - -76.420837, - 34.775827 - ], - [ - -76.531952, - 34.585825 - ] - ] - ], - [ - [ - [ - -76.06778, - 35.039438 - ], - [ - -76.039444, - 35.061106 - ], - [ - -76.131104, - 35.00194 - ], - [ - -76.06778, - 35.039438 - ] - ] - ], - [ - [ - [ - -76.010834, - 35.074167 - ], - [ - -75.766953, - 35.19388 - ], - [ - -75.98111, - 35.115 - ], - [ - -76.010834, - 35.074167 - ] - ] - ], - [ - [ - [ - -75.527222, - 35.235552 - ], - [ - -75.512512, - 35.777216 - ], - [ - -75.65361, - 35.22555 - ], - [ - -75.527222, - 35.235552 - ] - ] - ], - [ - [ - [ - -75.619446, - 35.821383 - ], - [ - -75.665833, - 35.926943 - ], - [ - -75.723328, - 35.94166 - ], - [ - -75.619446, - 35.821383 - ] - ] - ], - [ - [ - [ - -75.906113, - 37.112497 - ], - [ - -75.872498, - 37.149164 - ], - [ - -75.898895, - 37.136942 - ], - [ - -75.906113, - 37.112497 - ] - ] - ], - [ - [ - [ - -75.78833, - 37.238047 - ], - [ - -75.785278, - 37.298609 - ], - [ - -75.837509, - 37.22777 - ], - [ - -75.78833, - 37.238047 - ] - ] - ], - [ - [ - [ - -75.696655, - 37.402773 - ], - [ - -75.668335, - 37.460276 - ], - [ - -75.710831, - 37.390276 - ], - [ - -75.696655, - 37.402773 - ] - ] - ], - [ - [ - [ - -121.801392, - 38.055269 - ], - [ - -121.796387, - 38.066668 - ], - [ - -121.820007, - 38.068056 - ], - [ - -121.801392, - 38.055269 - ] - ] - ], - [ - [ - [ - -75.354172, - 37.866663 - ], - [ - -75.121109, - 38.263056 - ], - [ - -75.384171, - 37.872217 - ], - [ - -75.354172, - 37.866663 - ] - ] - ], - [ - [ - [ - -74.329453, - 39.421663 - ], - [ - -74.348053, - 39.474436 - ], - [ - -74.376251, - 39.420744 - ], - [ - -74.444153, - 39.406939 - ], - [ - -74.394455, - 39.382494 - ], - [ - -74.329453, - 39.421663 - ] - ] - ], - [ - [ - [ - -74.246948, - 39.525553 - ], - [ - -74.138336, - 39.659433 - ], - [ - -74.099991, - 39.750834 - ], - [ - -74.246948, - 39.525553 - ] - ] - ], - [ - [ - [ - -74.220001, - 40.511667 - ], - [ - -74.062775, - 40.639437 - ], - [ - -74.176941, - 40.641939 - ], - [ - -74.220001, - 40.511667 - ] - ] - ], - [ - [ - [ - -73.223328, - 40.635271 - ], - [ - -72.766663, - 40.766108 - ], - [ - -73.294724, - 40.633883 - ], - [ - -73.223328, - 40.635271 - ] - ] - ], - [ - [ - [ - -72.262222, - 41.125269 - ], - [ - -74.032501, - 40.625826 - ], - [ - -73.582779, - 40.596102 - ], - [ - -71.85611, - 41.069162 - ], - [ - -72.621109, - 40.91305 - ], - [ - -72.262222, - 41.125269 - ] - ] - ], - [ - [ - [ - -69.994995, - 41.328051 - ], - [ - -70.234161, - 41.283609 - ], - [ - -69.993881, - 41.250277 - ], - [ - -69.994995, - 41.328051 - ] - ] - ], - [ - [ - [ - -70.506393, - 41.357218 - ], - [ - -70.617218, - 41.473879 - ], - [ - -70.838058, - 41.359995 - ], - [ - -70.506393, - 41.357218 - ] - ] - ], - [ - [ - [ - -71.297501, - 41.458605 - ], - [ - -71.222504, - 41.654161 - ], - [ - -71.358337, - 41.459162 - ], - [ - -71.297501, - 41.458605 - ] - ] - ], - [ - [ - [ - -68.803329, - 44.048052 - ], - [ - -68.76445, - 44.094995 - ], - [ - -68.898056, - 44.12388 - ], - [ - -68.803329, - 44.048052 - ] - ] - ], - [ - [ - [ - -68.650833, - 44.168886 - ], - [ - -68.66806, - 44.285273 - ], - [ - -68.72139, - 44.228876 - ], - [ - -68.650833, - 44.168886 - ] - ] - ], - [ - [ - [ - -68.320847, - 44.237215 - ], - [ - -68.168335, - 44.345545 - ], - [ - -68.263062, - 44.452776 - ], - [ - -68.428329, - 44.319994 - ], - [ - -68.320847, - 44.237215 - ] - ] - ], - [ - [ - [ - -123.938049, - 46.431108 - ], - [ - -123.972504, - 46.515276 - ], - [ - -123.983063, - 46.469156 - ], - [ - -123.949158, - 46.431108 - ], - [ - -123.938049, - 46.431108 - ] - ] - ], - [ - [ - [ - -122.843063, - 47.206942 - ], - [ - -122.845551, - 47.312494 - ], - [ - -122.902222, - 47.297495 - ], - [ - -122.843063, - 47.206942 - ] - ] - ], - [ - [ - [ - -122.482224, - 47.349718 - ], - [ - -122.381104, - 47.394716 - ], - [ - -122.450562, - 47.518328 - ], - [ - -122.482224, - 47.349718 - ] - ] - ], - [ - [ - [ - -122.50473, - 48.309717 - ], - [ - -122.757782, - 48.233881 - ], - [ - -122.372223, - 47.919443 - ], - [ - -122.50473, - 48.309717 - ] - ] - ], - [ - [ - [ - -122.816673, - 48.416941 - ], - [ - -122.876663, - 48.564157 - ], - [ - -122.936111, - 48.457773 - ], - [ - -122.816673, - 48.416941 - ] - ] - ], - [ - [ - [ - -123, - 48.4461 - ], - [ - -122.995003, - 48.529718 - ], - [ - -123.178329, - 48.592218 - ], - [ - -123, - 48.4461 - ] - ] - ], - [ - [ - [ - -122.922501, - 48.711664 - ], - [ - -123.010277, - 48.603609 - ], - [ - -122.749161, - 48.651384 - ], - [ - -122.922501, - 48.711664 - ] - ] - ], - [ - [ - [ - -123.09375, - 48.999437 - ], - [ - -123.053329, - 48.973879 - ], - [ - -123.034317, - 48.999437 - ], - [ - -123.09375, - 48.999437 - ] - ] - ], - [ - [ - [ - -67.206543, - 45.183039 - ], - [ - -67.799164, - 45.701105 - ], - [ - -67.794998, - 47.069994 - ], - [ - -69.232498, - 47.471376 - ], - [ - -70.878601, - 45.238604 - ], - [ - -74.990829, - 44.986658 - ], - [ - -76.801941, - 43.633608 - ], - [ - -78.724716, - 43.629435 - ], - [ - -79.184723, - 43.465548 - ], - [ - -78.986938, - 42.819994 - ], - [ - -82.696655, - 41.683878 - ], - [ - -83.16861, - 42.046106 - ], - [ - -82.521393, - 42.618883 - ], - [ - -82.13028, - 43.585268 - ], - [ - -82.54306, - 45.355829 - ], - [ - -83.597778, - 45.827219 - ], - [ - -83.577499, - 46.105272 - ], - [ - -83.958893, - 46.071665 - ], - [ - -84.126389, - 46.531939 - ], - [ - -84.565002, - 46.466387 - ], - [ - -84.856949, - 46.902216 - ], - [ - -88.368057, - 48.312212 - ], - [ - -89.356659, - 47.979715 - ], - [ - -90.868607, - 48.237497 - ], - [ - -91.418335, - 48.041109 - ], - [ - -92.953064, - 48.623323 - ], - [ - -94.605835, - 48.724436 - ], - [ - -95.078064, - 49.359163 - ], - [ - -95.154175, - 48.999437 - ], - [ - -122.7603, - 48.999437 - ], - [ - -122.4375, - 48.598047 - ], - [ - -122.704453, - 48.486109 - ], - [ - -122.379173, - 48.291666 - ], - [ - -122.309723, - 47.401102 - ], - [ - -122.878601, - 47.064157 - ], - [ - -123.068619, - 47.151659 - ], - [ - -122.797501, - 47.395273 - ], - [ - -122.758621, - 47.189714 - ], - [ - -122.619164, - 47.420549 - ], - [ - -122.549988, - 47.28277 - ], - [ - -122.454727, - 47.774439 - ], - [ - -122.565552, - 47.938044 - ], - [ - -123.102493, - 47.399721 - ], - [ - -122.836403, - 47.439157 - ], - [ - -123.147507, - 47.368601 - ], - [ - -122.63028, - 47.915827 - ], - [ - -122.751106, - 48.161104 - ], - [ - -124.715843, - 48.395273 - ], - [ - -124.161942, - 46.941103 - ], - [ - -123.796661, - 46.976099 - ], - [ - -124.097504, - 46.861383 - ], - [ - -123.752563, - 46.693071 - ], - [ - -123.941673, - 46.391108 - ], - [ - -123.98999, - 46.397776 - ], - [ - -124.015839, - 46.654436 - ], - [ - -124.04277, - 46.658045 - ], - [ - -124, - 46.32361 - ], - [ - -123.163574, - 46.195192 - ], - [ - -123.95195, - 46.181108 - ], - [ - -124.138344, - 43.371103 - ], - [ - -124.524437, - 42.866106 - ], - [ - -124.039993, - 41.431108 - ], - [ - -124.33223, - 40.266108 - ], - [ - -123.775833, - 39.717211 - ], - [ - -123.703613, - 38.932497 - ], - [ - -123.104721, - 38.461107 - ], - [ - -122.803595, - 38.088045 - ], - [ - -122.964561, - 38.239614 - ], - [ - -122.99707, - 38.00511 - ], - [ - -122.491379, - 37.827776 - ], - [ - -122.36528, - 38.15555 - ], - [ - -122.109734, - 38.06138 - ], - [ - -122.018623, - 38.148115 - ], - [ - -121.736107, - 38.044718 - ], - [ - -121.576683, - 38.115831 - ], - [ - -121.419998, - 38.012774 - ], - [ - -122.240547, - 38.05916 - ], - [ - -122.393341, - 37.957773 - ], - [ - -122.005835, - 37.471376 - ], - [ - -122.386948, - 37.816668 - ], - [ - -122.488052, - 37.518328 - ], - [ - -121.796387, - 36.879435 - ], - [ - -121.867493, - 36.312494 - ], - [ - -120.614166, - 35.135828 - ], - [ - -120.62027, - 34.570833 - ], - [ - -118.534729, - 34.050829 - ], - [ - -117.480827, - 33.327494 - ], - [ - -117.122374, - 32.535334 - ], - [ - -114.719093, - 32.718458 - ], - [ - -114.80983, - 32.50699 - ], - [ - -113.052887, - 31.971071 - ], - [ - -111.045837, - 31.333055 - ], - [ - -108.208344, - 31.333055 - ], - [ - -108.208618, - 31.783335 - ], - [ - -106.400848, - 31.750277 - ], - [ - -104.900558, - 30.572779 - ], - [ - -104.540009, - 29.67111 - ], - [ - -103.375, - 29.023611 - ], - [ - -102.305847, - 29.889444 - ], - [ - -101.405014, - 29.772779 - ], - [ - -99.505005, - 27.570276 - ], - [ - -99.104736, - 26.434999 - ], - [ - -97.140739, - 25.966429 - ], - [ - -97.559433, - 26.836111 - ], - [ - -97.423889, - 27.2675 - ], - [ - -97.773895, - 27.458887 - ], - [ - -97.411118, - 27.327497 - ], - [ - -97.520554, - 27.866388 - ], - [ - -97.184723, - 27.827497 - ], - [ - -96.803604, - 28.473051 - ], - [ - -96.398346, - 28.43611 - ], - [ - -96.641678, - 28.719717 - ], - [ - -95.985825, - 28.649164 - ], - [ - -96.212784, - 28.485552 - ], - [ - -95.140839, - 29.057501 - ], - [ - -95.093887, - 29.177774 - ], - [ - -94.902786, - 29.314444 - ], - [ - -94.888062, - 29.375555 - ], - [ - -95.059433, - 29.718885 - ], - [ - -94.47583, - 29.561388 - ], - [ - -94.772507, - 29.363886 - ], - [ - -93.857498, - 29.676107 - ], - [ - -93.845276, - 29.98805 - ], - [ - -93.840286, - 29.704165 - ], - [ - -92.308334, - 29.539721 - ], - [ - -91.841675, - 29.830278 - ], - [ - -91.246948, - 29.240831 - ], - [ - -90.206665, - 29.091944 - ], - [ - -90.178329, - 29.5725 - ], - [ - -89.272781, - 29.155832 - ], - [ - -89.404999, - 28.926664 - ], - [ - -89.008347, - 29.176943 - ], - [ - -89.18721, - 29.33972 - ], - [ - -89.676392, - 29.52389 - ], - [ - -89.753342, - 29.630831 - ], - [ - -89.399445, - 30.050833 - ], - [ - -89.658051, - 29.873888 - ], - [ - -89.667221, - 30.167776 - ], - [ - -90.419724, - 30.198332 - ], - [ - -88.132767, - 30.314444 - ], - [ - -88.020279, - 30.701109 - ], - [ - -87.756393, - 30.285276 - ], - [ - -88.023621, - 30.219442 - ], - [ - -86.263336, - 30.496664 - ], - [ - -85.392227, - 30.049444 - ], - [ - -85.633942, - 30.104441 - ], - [ - -85.354172, - 29.676664 - ], - [ - -84.207504, - 30.105555 - ], - [ - -83.669449, - 29.906107 - ], - [ - -82.631104, - 28.884996 - ], - [ - -82.853333, - 27.855276 - ], - [ - -82.722504, - 27.656942 - ], - [ - -82.691376, - 28.032221 - ], - [ - -82.422501, - 27.917498 - ], - [ - -82.655273, - 27.461664 - ], - [ - -82.30278, - 26.837221 - ], - [ - -82.017227, - 26.96472 - ], - [ - -82.064163, - 26.545 - ], - [ - -81.777786, - 26.710554 - ], - [ - -81.970055, - 26.482832 - ], - [ - -81.736588, - 25.959444 - ], - [ - -81.33667, - 25.804998 - ], - [ - -80.915283, - 25.25139 - ], - [ - -81.088058, - 25.115553 - ], - [ - -80.398621, - 25.184721 - ], - [ - -80.033325, - 26.786665 - ], - [ - -80.755569, - 28.415831 - ], - [ - -80.844162, - 28.790556 - ], - [ - -80.602219, - 28.6075 - ], - [ - -80.446655, - 27.864443 - ], - [ - -80.55249, - 28.525 - ], - [ - -81.25528, - 29.796667 - ], - [ - -81.496948, - 31.125555 - ], - [ - -80.669998, - 32.214159 - ], - [ - -80.836945, - 32.516665 - ], - [ - -80.467224, - 32.315828 - ], - [ - -80.671661, - 32.521662 - ], - [ - -79.381943, - 33.009722 - ], - [ - -79.371719, - 33.058947 - ], - [ - -79.205841, - 33.165545 - ], - [ - -79.271393, - 33.373323 - ], - [ - -79.188599, - 33.43638 - ], - [ - -79.196442, - 33.27894 - ], - [ - -78.827499, - 33.730272 - ], - [ - -78.013626, - 33.891939 - ], - [ - -77.96167, - 34.158602 - ], - [ - -77.930832, - 33.927774 - ], - [ - -77.428879, - 34.741938 - ], - [ - -76.335831, - 34.886942 - ], - [ - -76.944443, - 34.977488 - ], - [ - -77.076401, - 35.156099 - ], - [ - -76.761398, - 34.987772 - ], - [ - -76.468887, - 35.271662 - ], - [ - -77.050827, - 35.530275 - ], - [ - -76.14917, - 35.336939 - ], - [ - -75.720276, - 35.81444 - ], - [ - -75.853607, - 35.974993 - ], - [ - -76.035278, - 35.649996 - ], - [ - -76.070847, - 35.991938 - ], - [ - -76.73056, - 35.939432 - ], - [ - -76.706116, - 36.264162 - ], - [ - -76.656662, - 36.031107 - ], - [ - -76.063049, - 36.153322 - ], - [ - -76.195541, - 36.319994 - ], - [ - -75.785553, - 36.069994 - ], - [ - -75.938889, - 36.716661 - ], - [ - -75.529175, - 35.803881 - ], - [ - -75.98999, - 36.913881 - ], - [ - -77.232224, - 37.296389 - ], - [ - -76.268066, - 37.078882 - ], - [ - -76.68277, - 37.42972 - ], - [ - -76.381104, - 37.273882 - ], - [ - -76.286667, - 37.567499 - ], - [ - -77.133896, - 38.17277 - ], - [ - -76.353607, - 37.618601 - ], - [ - -76.241669, - 37.904993 - ], - [ - -77.320007, - 38.34527 - ], - [ - -77.061111, - 38.905268 - ], - [ - -77.244446, - 38.398333 - ], - [ - -76.309998, - 38.046389 - ], - [ - -76.666107, - 38.480547 - ], - [ - -76.376099, - 38.363611 - ], - [ - -76.618607, - 39.254168 - ], - [ - -75.83168, - 39.577494 - ], - [ - -76.360001, - 38.857218 - ], - [ - -75.956665, - 38.648607 - ], - [ - -76.242493, - 38.366938 - ], - [ - -75.838058, - 38.398882 - ], - [ - -75.880829, - 37.949434 - ], - [ - -75.644043, - 37.961176 - ], - [ - -75.960831, - 37.152216 - ], - [ - -75.043884, - 38.421663 - ], - [ - -75.588608, - 39.648882 - ], - [ - -75.028519, - 40.012308 - ], - [ - -75.557495, - 39.618052 - ], - [ - -74.892775, - 39.167772 - ], - [ - -74.955002, - 38.924166 - ], - [ - -74.415558, - 39.355272 - ], - [ - -74.462593, - 39.421068 - ], - [ - -74.405563, - 39.516108 - ], - [ - -74.150284, - 39.704996 - ], - [ - -74.053879, - 40.057497 - ], - [ - -74.076401, - 39.776941 - ], - [ - -73.952225, - 40.299997 - ], - [ - -74.269165, - 40.47471 - ], - [ - -73.956665, - 41.305269 - ], - [ - -73.99749, - 40.713461 - ], - [ - -72.906387, - 41.286112 - ], - [ - -71.50528, - 41.366938 - ], - [ - -71.391388, - 41.811937 - ], - [ - -71.111115, - 41.795 - ], - [ - -71.185822, - 41.466661 - ], - [ - -69.936386, - 41.669443 - ], - [ - -70.078888, - 42.062212 - ], - [ - -70.011124, - 41.79722 - ], - [ - -70.324722, - 41.711382 - ], - [ - -71.044449, - 42.311106 - ], - [ - -70.580566, - 42.651934 - ], - [ - -70.729172, - 43.122766 - ], - [ - -70.172501, - 43.78055 - ], - [ - -69.823898, - 43.714441 - ], - [ - -69.773331, - 44.079165 - ], - [ - -69.721939, - 43.78583 - ], - [ - -69.067505, - 44.063326 - ], - [ - -68.795273, - 44.579721 - ], - [ - -68.615829, - 44.306383 - ], - [ - -68.547501, - 44.317774 - ], - [ - -68.559158, - 44.418886 - ], - [ - -68.321152, - 44.465883 - ], - [ - -68.108612, - 44.460276 - ], - [ - -68.047501, - 44.346941 - ], - [ - -67.775284, - 44.546946 - ], - [ - -67.565277, - 44.550272 - ], - [ - -67.551102, - 44.666101 - ], - [ - -67.186935, - 44.661936 - ], - [ - -66.968887, - 44.83111 - ], - [ - -67.206543, - 45.183039 - ] - ], - [ - [ - -122.495827, - 47.595545 - ], - [ - -122.58168, - 47.671663 - ], - [ - -122.503342, - 47.715273 - ], - [ - -122.495827, - 47.595545 - ] - ], - [ - [ - -123.938599, - 45.536661 - ], - [ - -123.934433, - 45.558329 - ], - [ - -123.916946, - 45.56444 - ], - [ - -123.938599, - 45.536661 - ] - ], - [ - [ - -77.851669, - 34.111109 - ], - [ - -77.855835, - 34.149164 - ], - [ - -77.820847, - 34.175272 - ], - [ - -77.851669, - 34.111109 - ] - ] - ], - [ - [ - [ - -179.105286, - 51.213053 - ], - [ - -179.08725, - 51.290834 - ], - [ - -179.141998, - 51.268595 - ], - [ - -179.105286, - 51.213053 - ] - ] - ], - [ - [ - [ - -178.962494, - 51.311663 - ], - [ - -178.90033, - 51.354998 - ], - [ - -178.949982, - 51.396936 - ], - [ - -178.962494, - 51.311663 - ] - ] - ], - [ - [ - [ - 178.993013, - 51.574999 - ], - [ - 178.636385, - 51.637774 - ], - [ - 179.471346, - 51.367495 - ], - [ - 178.993013, - 51.574999 - ] - ] - ], - [ - [ - [ - -178.776978, - 51.745539 - ], - [ - -178.742798, - 51.807772 - ], - [ - -178.842529, - 51.819155 - ], - [ - -178.776978, - 51.745539 - ] - ] - ], - [ - [ - [ - 178.392214, - 51.763056 - ], - [ - 178.329958, - 51.814997 - ], - [ - 178.223024, - 51.830828 - ], - [ - 178.392214, - 51.763056 - ] - ] - ], - [ - [ - [ - -176.012817, - 51.830271 - ], - [ - -176.219452, - 51.831385 - ], - [ - -176.143341, - 51.774439 - ], - [ - -176.012817, - 51.830271 - ] - ] - ], - [ - [ - [ - -176.336426, - 51.721659 - ], - [ - -176.276978, - 51.86027 - ], - [ - -176.41449, - 51.854998 - ], - [ - -176.336426, - 51.721659 - ] - ] - ], - [ - [ - [ - -177.813904, - 51.719706 - ], - [ - -178.218079, - 51.871935 - ], - [ - -177.949982, - 51.606379 - ], - [ - -177.813904, - 51.719706 - ] - ] - ], - [ - [ - [ - -176.550598, - 51.905825 - ], - [ - -176.975037, - 51.595819 - ], - [ - -176.429749, - 51.730265 - ], - [ - -176.550598, - 51.905825 - ] - ] - ], - [ - [ - [ - -175.951111, - 51.868876 - ], - [ - -176.001953, - 51.908876 - ], - [ - -176.093079, - 51.885263 - ], - [ - -175.951111, - 51.868876 - ] - ] - ], - [ - [ - [ - -177.122223, - 51.784433 - ], - [ - -177.157257, - 51.938326 - ], - [ - -177.704468, - 51.70083 - ], - [ - -177.122223, - 51.784433 - ] - ] - ], - [ - [ - [ - -175.725037, - 51.930552 - ], - [ - -175.657501, - 51.956942 - ], - [ - -175.729187, - 51.966105 - ], - [ - -175.725037, - 51.930552 - ] - ] - ], - [ - [ - [ - -175.86499, - 51.96361 - ], - [ - -175.801941, - 51.982203 - ], - [ - -175.946686, - 51.978868 - ], - [ - -175.86499, - 51.96361 - ] - ] - ], - [ - [ - [ - 178.536928, - 51.89361 - ], - [ - 178.606081, - 51.947771 - ], - [ - 178.468294, - 51.98472 - ], - [ - 178.536928, - 51.89361 - ] - ] - ], - [ - [ - [ - 179.737459, - 51.903048 - ], - [ - 179.658602, - 52.024714 - ], - [ - 179.486086, - 51.972216 - ], - [ - 179.737459, - 51.903048 - ] - ] - ], - [ - [ - [ - 177.684694, - 52.079996 - ], - [ - 177.24106, - 51.87694 - ], - [ - 177.604952, - 51.920275 - ], - [ - 177.684694, - 52.079996 - ] - ] - ], - [ - [ - [ - -176.037231, - 51.964434 - ], - [ - -176.046112, - 52.102221 - ], - [ - -176.190857, - 52.059992 - ], - [ - -176.037231, - 51.964434 - ] - ] - ], - [ - [ - [ - -173.515869, - 52.106936 - ], - [ - -174.056976, - 52.120272 - ], - [ - -172.955597, - 52.085543 - ], - [ - -173.515869, - 52.106936 - ] - ] - ], - [ - [ - [ - 175.961092, - 52.33555 - ], - [ - 175.987734, - 52.353609 - ], - [ - 175.881899, - 52.372492 - ], - [ - 175.961092, - 52.33555 - ] - ] - ], - [ - [ - [ - -172.388367, - 52.289721 - ], - [ - -172.438324, - 52.391932 - ], - [ - -172.628052, - 52.258326 - ], - [ - -172.388367, - 52.289721 - ] - ] - ], - [ - [ - [ - -173.9953, - 52.291101 - ], - [ - -174.184479, - 52.416941 - ], - [ - -175.335846, - 52.014154 - ], - [ - -173.9953, - 52.291101 - ] - ] - ], - [ - [ - [ - 173.787752, - 52.501108 - ], - [ - 173.375246, - 52.399439 - ], - [ - 173.735506, - 52.353327 - ], - [ - 173.787752, - 52.501108 - ] - ] - ], - [ - [ - [ - -171.23526, - 52.45083 - ], - [ - -171.217224, - 52.510546 - ], - [ - -171.308044, - 52.49943 - ], - [ - -171.23526, - 52.45083 - ] - ] - ], - [ - [ - [ - -170.60556, - 52.59083 - ], - [ - -170.676147, - 52.694155 - ], - [ - -170.841675, - 52.554155 - ], - [ - -170.60556, - 52.59083 - ] - ] - ], - [ - [ - [ - 174.177767, - 52.705553 - ], - [ - 174.102175, - 52.741106 - ], - [ - 174.074129, - 52.711382 - ], - [ - 174.177767, - 52.705553 - ] - ] - ], - [ - [ - [ - -170.114746, - 52.718325 - ], - [ - -170.054993, - 52.765268 - ], - [ - -170.179993, - 52.783876 - ], - [ - -170.114746, - 52.718325 - ] - ] - ], - [ - [ - [ - -169.675049, - 52.817774 - ], - [ - -169.781158, - 52.885263 - ], - [ - -170.013062, - 52.818331 - ], - [ - -169.675049, - 52.817774 - ] - ] - ], - [ - [ - [ - -170.040833, - 52.853045 - ], - [ - -169.993895, - 52.901934 - ], - [ - -170.127472, - 52.888597 - ], - [ - -170.040833, - 52.853045 - ] - ] - ], - [ - [ - [ - 173.29999, - 52.882212 - ], - [ - 172.476351, - 52.92444 - ], - [ - 172.928591, - 52.743883 - ], - [ - 173.29999, - 52.882212 - ] - ] - ], - [ - [ - [ - -169.724457, - 52.943316 - ], - [ - -169.676697, - 53.031664 - ], - [ - -169.752502, - 53.026377 - ], - [ - -169.724457, - 52.943316 - ] - ] - ], - [ - [ - [ - -168.243591, - 53.251101 - ], - [ - -167.795319, - 53.495539 - ], - [ - -168.351959, - 53.47555 - ], - [ - -169.0867, - 52.828051 - ], - [ - -168.243591, - 53.251101 - ] - ] - ], - [ - [ - [ - -166.209991, - 53.705271 - ], - [ - -166.090027, - 53.839434 - ], - [ - -166.293335, - 53.793055 - ], - [ - -166.209991, - 53.705271 - ] - ] - ], - [ - [ - [ - -166.607483, - 53.829721 - ], - [ - -167.0242, - 53.955545 - ], - [ - -166.803894, - 53.648874 - ], - [ - -167.846375, - 53.308596 - ], - [ - -166.752838, - 53.446383 - ], - [ - -166.215027, - 53.928324 - ], - [ - -166.607483, - 53.829721 - ] - ] - ], - [ - [ - [ - -165.251709, - 54.076097 - ], - [ - -165.481934, - 54.074434 - ], - [ - -165.297791, - 54.037493 - ], - [ - -165.251709, - 54.076097 - ] - ] - ], - [ - [ - [ - -164.939209, - 54.12694 - ], - [ - -165.221924, - 54.089991 - ], - [ - -164.965576, - 54.075274 - ], - [ - -164.939209, - 54.12694 - ] - ] - ], - [ - [ - [ - -165.69696, - 54.084719 - ], - [ - -165.938324, - 54.220545 - ], - [ - -166.123077, - 54.116381 - ], - [ - -165.69696, - 54.084719 - ] - ] - ], - [ - [ - [ - -165.560577, - 54.11027 - ], - [ - -165.48642, - 54.28805 - ], - [ - -165.681976, - 54.238047 - ], - [ - -165.560577, - 54.11027 - ] - ] - ], - [ - [ - [ - -162.400574, - 54.36944 - ], - [ - -162.368317, - 54.38833 - ], - [ - -162.489716, - 54.409716 - ], - [ - -162.400574, - 54.36944 - ] - ] - ], - [ - [ - [ - -162.543884, - 54.38138 - ], - [ - -162.831116, - 54.494158 - ], - [ - -162.786407, - 54.414713 - ], - [ - -162.543884, - 54.38138 - ] - ] - ], - [ - [ - [ - -132.619446, - 54.754442 - ], - [ - -132.618866, - 54.896105 - ], - [ - -132.781128, - 54.925272 - ], - [ - -132.619446, - 54.754442 - ] - ] - ], - [ - [ - [ - -159.295013, - 54.866938 - ], - [ - -159.20694, - 54.92444 - ], - [ - -159.336121, - 54.927217 - ], - [ - -159.295013, - 54.866938 - ] - ] - ], - [ - [ - [ - -163.413635, - 54.891108 - ], - [ - -164.43277, - 54.930552 - ], - [ - -164.952209, - 54.57583 - ], - [ - -163.048615, - 54.668329 - ], - [ - -163.14502, - 54.766108 - ], - [ - -163.369995, - 54.784998 - ], - [ - -163.413635, - 54.891108 - ] - ] - ], - [ - [ - [ - -162.29306, - 54.834162 - ], - [ - -162.232758, - 54.965273 - ], - [ - -162.434448, - 54.931108 - ], - [ - -162.29306, - 54.834162 - ] - ] - ], - [ - [ - [ - -131.325836, - 54.856943 - ], - [ - -131.236389, - 54.995272 - ], - [ - -131.482758, - 54.930826 - ], - [ - -131.325836, - 54.856943 - ] - ] - ], - [ - [ - [ - -159.434174, - 54.940546 - ], - [ - -159.349426, - 55.049166 - ], - [ - -159.479155, - 55.014162 - ], - [ - -159.434174, - 54.940546 - ] - ] - ], - [ - [ - [ - -161.739716, - 55.056101 - ], - [ - -161.641388, - 55.113329 - ], - [ - -161.906952, - 55.151384 - ], - [ - -161.739716, - 55.056101 - ] - ] - ], - [ - [ - [ - -132.674713, - 55.033052 - ], - [ - -132.853333, - 55.159433 - ], - [ - -132.864716, - 55.029993 - ], - [ - -132.674713, - 55.033052 - ] - ] - ], - [ - [ - [ - -131.425842, - 55.211107 - ], - [ - -131.617493, - 55.01111 - ], - [ - -131.372223, - 55.013613 - ], - [ - -131.425842, - 55.211107 - ] - ] - ], - [ - [ - [ - -132.835815, - 54.889162 - ], - [ - -133.195557, - 55.230272 - ], - [ - -132.679993, - 54.666101 - ], - [ - -132.835815, - 54.889162 - ] - ] - ], - [ - [ - [ - -159.51947, - 55.064157 - ], - [ - -159.535278, - 55.247492 - ], - [ - -159.655579, - 55.054995 - ], - [ - -159.51947, - 55.064157 - ] - ] - ], - [ - [ - [ - -161.561951, - 55.21805 - ], - [ - -161.53363, - 55.252779 - ], - [ - -161.706116, - 55.204714 - ], - [ - -161.561951, - 55.21805 - ] - ] - ], - [ - [ - [ - -159.843323, - 55.132494 - ], - [ - -159.882202, - 55.290834 - ], - [ - -160.24472, - 54.901384 - ], - [ - -159.843323, - 55.132494 - ] - ] - ], - [ - [ - [ - -133.249725, - 55.209162 - ], - [ - -133.296661, - 55.330553 - ], - [ - -133.439453, - 55.301935 - ], - [ - -133.249725, - 55.209162 - ] - ] - ], - [ - [ - [ - -160.333069, - 55.248049 - ], - [ - -160.346954, - 55.368601 - ], - [ - -160.528076, - 55.320551 - ], - [ - -160.333069, - 55.248049 - ] - ] - ], - [ - [ - [ - -160.695557, - 55.399996 - ], - [ - -160.816406, - 55.118326 - ], - [ - -160.46167, - 55.187212 - ], - [ - -160.695557, - 55.399996 - ] - ] - ], - [ - [ - [ - -133.598328, - 55.233881 - ], - [ - -133.44696, - 55.410273 - ], - [ - -133.653624, - 55.36944 - ], - [ - -133.598328, - 55.233881 - ] - ] - ], - [ - [ - [ - -131.725006, - 55.134722 - ], - [ - -131.616638, - 55.283609 - ], - [ - -131.8461, - 55.419992 - ], - [ - -131.725006, - 55.134722 - ] - ] - ], - [ - [ - [ - -163.146393, - 55.393328 - ], - [ - -163.136963, - 55.436106 - ], - [ - -163.194733, - 55.421938 - ], - [ - -163.146393, - 55.393328 - ] - ] - ], - [ - [ - [ - -160.178894, - 55.396105 - ], - [ - -160.249725, - 55.463053 - ], - [ - -160.341949, - 55.416941 - ], - [ - -160.178894, - 55.396105 - ] - ] - ], - [ - [ - [ - -133.505005, - 55.427217 - ], - [ - -133.421387, - 55.483606 - ], - [ - -133.601654, - 55.447489 - ], - [ - -133.505005, - 55.427217 - ] - ] - ], - [ - [ - [ - -133.578064, - 55.497774 - ], - [ - -133.702484, - 55.551386 - ], - [ - -133.758057, - 55.487215 - ], - [ - -133.578064, - 55.497774 - ] - ] - ], - [ - [ - [ - -133.289459, - 55.475824 - ], - [ - -133.30835, - 55.554712 - ], - [ - -133.436676, - 55.527491 - ], - [ - -133.289459, - 55.475824 - ] - ] - ], - [ - [ - [ - -133.505585, - 55.693323 - ], - [ - -133.299744, - 55.793612 - ], - [ - -133.677795, - 55.784166 - ], - [ - -133.505585, - 55.693323 - ] - ] - ], - [ - [ - [ - -133.242218, - 55.776659 - ], - [ - -133.215546, - 55.86194 - ], - [ - -133.329163, - 55.877489 - ], - [ - -133.242218, - 55.776659 - ] - ] - ], - [ - [ - [ - -158.864166, - 55.803881 - ], - [ - -158.709717, - 55.831385 - ], - [ - -158.832764, - 55.893885 - ], - [ - -158.864166, - 55.803881 - ] - ] - ], - [ - [ - [ - -134.249725, - 55.819445 - ], - [ - -134.096649, - 55.918329 - ], - [ - -134.338898, - 55.918055 - ], - [ - -134.249725, - 55.819445 - ] - ] - ], - [ - [ - [ - -155.580292, - 55.774439 - ], - [ - -155.563904, - 55.918604 - ], - [ - -155.73999, - 55.828608 - ], - [ - -155.580292, - 55.774439 - ] - ] - ], - [ - [ - [ - -133.847778, - 55.84749 - ], - [ - -133.847778, - 55.935266 - ], - [ - -133.927216, - 55.911936 - ], - [ - -133.847778, - 55.84749 - ] - ] - ], - [ - [ - [ - -131.050568, - 55.799723 - ], - [ - -131.265015, - 55.960825 - ], - [ - -131.683899, - 55.83333 - ], - [ - -131.822235, - 55.450274 - ], - [ - -131.521942, - 55.293055 - ], - [ - -131.348877, - 55.644999 - ], - [ - -131.46167, - 55.286112 - ], - [ - -131.142792, - 55.196939 - ], - [ - -131.050568, - 55.799723 - ] - ] - ], - [ - [ - [ - -131.51947, - 55.915545 - ], - [ - -131.399445, - 55.963884 - ], - [ - -131.576935, - 55.93194 - ], - [ - -131.51947, - 55.915545 - ] - ] - ], - [ - [ - [ - -133.695282, - 55.896387 - ], - [ - -133.278076, - 56.139719 - ], - [ - -133.679718, - 56.066385 - ], - [ - -133.695282, - 55.896387 - ] - ] - ], - [ - [ - [ - -133.931122, - 56.288332 - ], - [ - -133.925568, - 56.298052 - ], - [ - -133.948059, - 56.301935 - ], - [ - -133.931122, - 56.288332 - ] - ] - ], - [ - [ - [ - -133.488586, - 56.336939 - ], - [ - -133.617218, - 56.207499 - ], - [ - -133.258362, - 56.152491 - ], - [ - -133.13501, - 55.881105 - ], - [ - -133.372223, - 55.620546 - ], - [ - -132.908356, - 55.628046 - ], - [ - -133.128601, - 55.494715 - ], - [ - -132.867493, - 55.353884 - ], - [ - -133.222504, - 55.283052 - ], - [ - -132.641388, - 55.250277 - ], - [ - -132.003906, - 54.690546 - ], - [ - -131.963043, - 55.025827 - ], - [ - -132.218597, - 54.992495 - ], - [ - -131.988586, - 55.264162 - ], - [ - -132.5625, - 55.567774 - ], - [ - -132.144165, - 55.480547 - ], - [ - -133.488586, - 56.336939 - ] - ] - ], - [ - [ - [ - -132.094452, - 56.093325 - ], - [ - -132.417786, - 56.350832 - ], - [ - -132.716949, - 56.151384 - ], - [ - -132.318878, - 55.91221 - ], - [ - -132.094452, - 56.093325 - ] - ] - ], - [ - [ - [ - -132.81723, - 56.233881 - ], - [ - -132.635559, - 56.43416 - ], - [ - -133.05777, - 56.34749 - ], - [ - -132.81723, - 56.233881 - ] - ] - ], - [ - [ - [ - -132.500853, - 56.353327 - ], - [ - -132.386688, - 56.398607 - ], - [ - -132.493866, - 56.435823 - ], - [ - -132.500853, - 56.353327 - ] - ] - ], - [ - [ - [ - -132.132477, - 56.34527 - ], - [ - -132.373871, - 56.484438 - ], - [ - -132.056122, - 56.111383 - ], - [ - -132.132477, - 56.34527 - ] - ] - ], - [ - [ - [ - -153.958893, - 56.502779 - ], - [ - -153.873871, - 56.553324 - ], - [ - -154.13446, - 56.505556 - ], - [ - -153.958893, - 56.502779 - ] - ] - ], - [ - [ - [ - -156.996643, - 56.555552 - ], - [ - -157.251678, - 56.581667 - ], - [ - -157.329712, - 56.53583 - ], - [ - -156.996643, - 56.555552 - ] - ] - ], - [ - [ - [ - -132.398071, - 56.583605 - ], - [ - -132.379425, - 56.60055 - ], - [ - -132.434998, - 56.589716 - ], - [ - -132.398071, - 56.583605 - ] - ] - ], - [ - [ - [ - -154.481384, - 56.601698 - ], - [ - -154.787476, - 56.414968 - ], - [ - -154.402802, - 56.546663 - ], - [ - -154.481384, - 56.601698 - ] - ] - ], - [ - [ - [ - -154.211945, - 56.49888 - ], - [ - -154.084991, - 56.608049 - ], - [ - -154.352478, - 56.541666 - ], - [ - -154.211945, - 56.49888 - ] - ] - ], - [ - [ - [ - -169.67337, - 56.608599 - ], - [ - -169.786133, - 56.613886 - ], - [ - -169.471375, - 56.592211 - ], - [ - -169.67337, - 56.608599 - ] - ] - ], - [ - [ - [ - -132.773071, - 56.494715 - ], - [ - -132.5289, - 56.59527 - ], - [ - -132.873596, - 56.796106 - ], - [ - -132.773071, - 56.494715 - ] - ] - ], - [ - [ - [ - -133.987488, - 56.870829 - ], - [ - -134.408905, - 56.829439 - ], - [ - -134.065277, - 56.550547 - ], - [ - -134.123047, - 55.995829 - ], - [ - -134.065552, - 56.305826 - ], - [ - -133.973328, - 56.081667 - ], - [ - -133.973206, - 56.356104 - ], - [ - -133.8461, - 56.290834 - ], - [ - -133.920563, - 56.614161 - ], - [ - -133.691376, - 56.599718 - ], - [ - -133.830566, - 56.796106 - ], - [ - -134.024719, - 56.647219 - ], - [ - -133.902802, - 56.753054 - ], - [ - -133.987488, - 56.870829 - ] - ] - ], - [ - [ - [ - -133.31778, - 56.993883 - ], - [ - -134.018066, - 57.014719 - ], - [ - -133.736115, - 56.893053 - ], - [ - -133.890564, - 56.896944 - ], - [ - -133.69696, - 56.831942 - ], - [ - -133.575562, - 56.433603 - ], - [ - -133.08194, - 56.523882 - ], - [ - -133.351929, - 56.838602 - ], - [ - -132.925018, - 56.643328 - ], - [ - -133.31778, - 56.993883 - ] - ] - ], - [ - [ - [ - -153.253357, - 56.998331 - ], - [ - -152.883057, - 57.15027 - ], - [ - -153.234161, - 57.205828 - ], - [ - -153.407501, - 57.072771 - ], - [ - -153.253357, - 56.998331 - ] - ] - ], - [ - [ - [ - -170.166138, - 57.163317 - ], - [ - -170.150574, - 57.228327 - ], - [ - -170.41394, - 57.174166 - ], - [ - -170.166138, - 57.163317 - ] - ] - ], - [ - [ - [ - -135.795837, - 56.986383 - ], - [ - -135.546112, - 57.129435 - ], - [ - -135.710541, - 57.32361 - ], - [ - -135.795837, - 56.986383 - ] - ] - ], - [ - [ - [ - -134.9375, - 57.358889 - ], - [ - -135.672791, - 57.351938 - ], - [ - -134.653624, - 56.16305 - ], - [ - -134.9375, - 57.358889 - ] - ] - ], - [ - [ - [ - -134.792511, - 57.300272 - ], - [ - -134.813629, - 57.416941 - ], - [ - -134.974701, - 57.41527 - ], - [ - -134.792511, - 57.300272 - ] - ] - ], - [ - [ - [ - -153.208893, - 57.812494 - ], - [ - -153.269745, - 57.899164 - ], - [ - -153.353333, - 57.93638 - ], - [ - -153.536407, - 57.934717 - ], - [ - -153.208893, - 57.812494 - ] - ] - ], - [ - [ - [ - -152.354431, - 57.890276 - ], - [ - -152.417236, - 57.976381 - ], - [ - -152.503357, - 57.933054 - ], - [ - -152.354431, - 57.890276 - ] - ] - ], - [ - [ - [ - -153.116943, - 57.949999 - ], - [ - -153.292236, - 58.001665 - ], - [ - -153.048065, - 57.827494 - ], - [ - -153.150574, - 57.863886 - ], - [ - -153.213043, - 57.788332 - ], - [ - -153.479155, - 57.839434 - ], - [ - -153.315277, - 57.725824 - ], - [ - -153.496948, - 57.627214 - ], - [ - -153.928345, - 57.811106 - ], - [ - -153.581116, - 57.612497 - ], - [ - -153.88028, - 57.643053 - ], - [ - -153.628052, - 57.269442 - ], - [ - -154.207214, - 57.666666 - ], - [ - -154.801117, - 57.286112 - ], - [ - -154.297791, - 56.848879 - ], - [ - -154.101105, - 57.116388 - ], - [ - -154.479431, - 57.120272 - ], - [ - -153.737762, - 57.130823 - ], - [ - -153.979706, - 56.738604 - ], - [ - -153.549988, - 56.983049 - ], - [ - -153.731659, - 57.059717 - ], - [ - -153.5, - 57.063883 - ], - [ - -153.260284, - 57.22777 - ], - [ - -152.956116, - 57.253885 - ], - [ - -153.169464, - 57.345545 - ], - [ - -152.595825, - 57.369989 - ], - [ - -153.022797, - 57.473604 - ], - [ - -152.151398, - 57.604441 - ], - [ - -153.116943, - 57.949999 - ] - ] - ], - [ - [ - [ - -153.185272, - 58.092493 - ], - [ - -153.41806, - 58.058886 - ], - [ - -152.887787, - 57.991106 - ], - [ - -153.185272, - 58.092493 - ] - ] - ], - [ - [ - [ - -136.437225, - 57.846384 - ], - [ - -136.330566, - 58.010279 - ], - [ - -136.484436, - 58.093325 - ], - [ - -136.437225, - 57.846384 - ] - ] - ], - [ - [ - [ - -135.742767, - 58.256105 - ], - [ - -136.352203, - 58.219439 - ], - [ - -136.029724, - 57.849161 - ], - [ - -136.412231, - 57.815828 - ], - [ - -135.830841, - 57.385828 - ], - [ - -135.542786, - 57.472216 - ], - [ - -135.804169, - 57.76333 - ], - [ - -134.843323, - 57.46277 - ], - [ - -134.921661, - 57.756945 - ], - [ - -135.296967, - 57.731661 - ], - [ - -135.887512, - 57.988604 - ], - [ - -135.010559, - 57.776941 - ], - [ - -135.204712, - 57.942217 - ], - [ - -134.930298, - 58.028048 - ], - [ - -135.707764, - 57.978327 - ], - [ - -135.482483, - 58.15555 - ], - [ - -135.742767, - 58.256105 - ] - ] - ], - [ - [ - [ - -151.847229, - 58.169718 - ], - [ - -151.835541, - 58.268602 - ], - [ - -151.896666, - 58.194155 - ], - [ - -151.847229, - 58.169718 - ] - ] - ], - [ - [ - [ - -134.454437, - 58.313326 - ], - [ - -134.566956, - 58.34083 - ], - [ - -134.683899, - 58.298334 - ], - [ - -134.259735, - 58.194994 - ], - [ - -134.454437, - 58.313326 - ] - ] - ], - [ - [ - [ - -152.40918, - 58.365549 - ], - [ - -153.231384, - 58.169161 - ], - [ - -151.972778, - 58.233049 - ], - [ - -152.40918, - 58.365549 - ] - ] - ], - [ - [ - [ - -134.674713, - 58.160547 - ], - [ - -134.956665, - 58.40777 - ], - [ - -134.654449, - 57.59833 - ], - [ - -134.349731, - 57.542772 - ], - [ - -134.57251, - 57.489717 - ], - [ - -134.310272, - 57.336107 - ], - [ - -134.613312, - 57.224993 - ], - [ - -134.486664, - 57.025553 - ], - [ - -133.86026, - 57.360552 - ], - [ - -134.288605, - 58.077219 - ], - [ - -133.875824, - 57.67277 - ], - [ - -134.169159, - 58.159716 - ], - [ - -134.674713, - 58.160547 - ] - ] - ], - [ - [ - [ - -152.493866, - 58.472216 - ], - [ - -152.345825, - 58.627214 - ], - [ - -152.660553, - 58.543329 - ], - [ - -152.493866, - 58.472216 - ] - ] - ], - [ - [ - [ - -160.95694, - 58.55694 - ], - [ - -160.687225, - 58.818331 - ], - [ - -161.113098, - 58.655275 - ], - [ - -160.95694, - 58.55694 - ] - ] - ], - [ - [ - [ - -152.313324, - 58.908327 - ], - [ - -152.161407, - 58.942217 - ], - [ - -152.36026, - 58.916384 - ], - [ - -152.313324, - 58.908327 - ] - ] - ], - [ - [ - [ - -150.691681, - 59.306658 - ], - [ - -150.616638, - 59.389719 - ], - [ - -150.776672, - 59.328882 - ], - [ - -150.691681, - 59.306658 - ] - ] - ], - [ - [ - [ - -153.411407, - 59.330278 - ], - [ - -153.403076, - 59.406939 - ], - [ - -153.552216, - 59.364717 - ], - [ - -153.411407, - 59.330278 - ] - ] - ], - [ - [ - [ - -150.311401, - 59.420549 - ], - [ - -150.292786, - 59.463053 - ], - [ - -150.440277, - 59.401102 - ], - [ - -150.311401, - 59.420549 - ] - ] - ], - [ - [ - [ - -144.584991, - 59.810274 - ], - [ - -144.208893, - 60.005556 - ], - [ - -144.503906, - 59.894442 - ], - [ - -144.584991, - 59.810274 - ] - ] - ], - [ - [ - [ - -148.161133, - 59.941103 - ], - [ - -147.992218, - 60.040277 - ], - [ - -148.245819, - 59.942492 - ], - [ - -148.161133, - 59.941103 - ] - ] - ], - [ - [ - [ - -148.027802, - 59.946657 - ], - [ - -147.81723, - 60.068888 - ], - [ - -147.883331, - 60.067217 - ], - [ - -148.027802, - 59.946657 - ] - ] - ], - [ - [ - [ - -148.11554, - 59.996386 - ], - [ - -147.876648, - 60.103884 - ], - [ - -147.967224, - 60.153048 - ], - [ - -148.11554, - 59.996386 - ] - ] - ], - [ - [ - [ - -148.033905, - 60.189432 - ], - [ - -148.309723, - 60.029718 - ], - [ - -148.151398, - 60.041941 - ], - [ - -148.033905, - 60.189432 - ] - ] - ], - [ - [ - [ - -147.849976, - 59.776941 - ], - [ - -146.92334, - 60.30916 - ], - [ - -147.193604, - 60.353327 - ], - [ - -147.849976, - 59.776941 - ] - ] - ], - [ - [ - [ - -147.711945, - 60.376101 - ], - [ - -147.909729, - 60.23472 - ], - [ - -147.759735, - 60.165545 - ], - [ - -147.711945, - 60.376101 - ] - ] - ], - [ - [ - [ - -148.079437, - 60.28277 - ], - [ - -147.983307, - 60.383883 - ], - [ - -148.142517, - 60.320551 - ], - [ - -148.079437, - 60.28277 - ] - ] - ], - [ - [ - [ - -166.109711, - 60.399157 - ], - [ - -167.41806, - 60.189425 - ], - [ - -166.193054, - 59.754435 - ], - [ - -165.559723, - 59.923609 - ], - [ - -165.681427, - 60.294718 - ], - [ - -166.109711, - 60.399157 - ] - ] - ], - [ - [ - [ - -146.353882, - 60.407495 - ], - [ - -146.724152, - 60.374712 - ], - [ - -146.078888, - 60.405268 - ], - [ - -146.353882, - 60.407495 - ] - ] - ], - [ - [ - [ - -145.122772, - 60.307215 - ], - [ - -145.086945, - 60.416666 - ], - [ - -145.281952, - 60.329996 - ], - [ - -145.122772, - 60.307215 - ] - ] - ], - [ - [ - [ - -172.520294, - 60.38833 - ], - [ - -173.05365, - 60.49721 - ], - [ - -172.20697, - 60.313044 - ], - [ - -172.520294, - 60.38833 - ] - ] - ], - [ - [ - [ - -151.955566, - 60.42277 - ], - [ - -151.856384, - 60.489717 - ], - [ - -151.951111, - 60.512217 - ], - [ - -151.955566, - 60.42277 - ] - ] - ], - [ - [ - [ - -146.246948, - 60.454996 - ], - [ - -145.749725, - 60.594713 - ], - [ - -146.320557, - 60.494158 - ], - [ - -146.246948, - 60.454996 - ] - ] - ], - [ - [ - [ - -147.372772, - 60.661661 - ], - [ - -147.313904, - 60.677492 - ], - [ - -147.475555, - 60.688883 - ], - [ - -147.372772, - 60.661661 - ] - ] - ], - [ - [ - [ - -147.925568, - 60.66221 - ], - [ - -147.8461, - 60.699999 - ], - [ - -148.004181, - 60.726938 - ], - [ - -147.925568, - 60.66221 - ] - ] - ], - [ - [ - [ - -148.140839, - 60.642221 - ], - [ - -148.108612, - 60.736383 - ], - [ - -148.214172, - 60.754442 - ], - [ - -148.140839, - 60.642221 - ] - ] - ], - [ - [ - [ - -164.988312, - 60.822496 - ], - [ - -164.903624, - 60.853609 - ], - [ - -165.017517, - 60.874437 - ], - [ - -164.988312, - 60.822496 - ] - ] - ], - [ - [ - [ - -146.753357, - 60.807215 - ], - [ - -146.744141, - 60.88138 - ], - [ - -146.83194, - 60.836382 - ], - [ - -146.753357, - 60.807215 - ] - ] - ], - [ - [ - [ - -147.150848, - 60.860277 - ], - [ - -147.075287, - 60.899164 - ], - [ - -147.31778, - 60.884165 - ], - [ - -147.150848, - 60.860277 - ] - ] - ], - [ - [ - [ - -147.928894, - 60.80694 - ], - [ - -148.106659, - 60.912493 - ], - [ - -148.133057, - 60.799723 - ], - [ - -147.928894, - 60.80694 - ] - ] - ], - [ - [ - [ - -170.318909, - 63.254717 - ], - [ - -170.296112, - 63.238047 - ], - [ - -170.315857, - 63.253878 - ], - [ - -170.318909, - 63.254717 - ] - ] - ], - [ - [ - [ - -170.318909, - 63.254717 - ], - [ - -170.341888, - 63.271128 - ], - [ - -170.362213, - 63.282495 - ], - [ - -170.318909, - 63.254717 - ] - ] - ], - [ - [ - [ - -170.466766, - 63.334185 - ], - [ - -170.48584, - 63.341105 - ], - [ - -170.4039, - 63.304438 - ], - [ - -170.466766, - 63.334185 - ] - ] - ], - [ - [ - [ - -170.54364, - 63.359713 - ], - [ - -170.551147, - 63.360552 - ], - [ - -170.490265, - 63.341928 - ], - [ - -170.54364, - 63.359713 - ] - ] - ], - [ - [ - [ - -170.595001, - 63.371935 - ], - [ - -170.863251, - 63.418512 - ], - [ - -170.58197, - 63.368052 - ], - [ - -170.595001, - 63.371935 - ] - ] - ], - [ - [ - [ - -162.377472, - 63.544443 - ], - [ - -162.420288, - 63.637499 - ], - [ - -162.703613, - 63.571665 - ], - [ - -162.377472, - 63.544443 - ] - ] - ], - [ - [ - [ - -171.465576, - 63.606661 - ], - [ - -171.726959, - 63.792215 - ], - [ - -171.85083, - 63.508608 - ], - [ - -171.461121, - 63.314714 - ], - [ - -170.856689, - 63.461939 - ], - [ - -170.51889, - 63.378038 - ], - [ - -169.666138, - 62.943316 - ], - [ - -168.700867, - 63.290545 - ], - [ - -170.300018, - 63.694155 - ], - [ - -171.465576, - 63.606661 - ] - ] - ], - [ - [ - [ - -166.65918, - 66.103319 - ], - [ - -166.169464, - 66.221376 - ], - [ - -166.443604, - 66.180819 - ], - [ - -166.65918, - 66.103319 - ] - ] - ], - [ - [ - [ - -165.364441, - 66.426378 - ], - [ - -164.762238, - 66.538317 - ], - [ - -165.470825, - 66.414156 - ], - [ - -165.364441, - 66.426378 - ] - ] - ], - [ - [ - [ - -141.002991, - 69.642366 - ], - [ - -143.280579, - 70.118319 - ], - [ - -144.952209, - 69.968325 - ], - [ - -149.174713, - 70.490816 - ], - [ - -151.966095, - 70.44359 - ], - [ - -151.732483, - 70.557207 - ], - [ - -152.629425, - 70.557482 - ], - [ - -152.076111, - 70.574999 - ], - [ - -152.498596, - 70.649431 - ], - [ - -152.252502, - 70.835268 - ], - [ - -154.243866, - 70.779436 - ], - [ - -155.087494, - 71.151384 - ], - [ - -155.973602, - 70.755831 - ], - [ - -156.182495, - 70.918322 - ], - [ - -155.586945, - 71.162767 - ], - [ - -156.44696, - 71.263613 - ], - [ - -157.979431, - 70.837496 - ], - [ - -159.66806, - 70.798037 - ], - [ - -160.12442, - 70.615267 - ], - [ - -159.285553, - 70.53055 - ], - [ - -159.836121, - 70.268328 - ], - [ - -160.198608, - 70.471651 - ], - [ - -159.9375, - 70.593325 - ], - [ - -162.118866, - 70.151659 - ], - [ - -161.94223, - 70.307207 - ], - [ - -163.645294, - 69.106936 - ], - [ - -166.21582, - 68.883043 - ], - [ - -166.372604, - 68.416765 - ], - [ - -166.827789, - 68.350817 - ], - [ - -164.124146, - 67.609987 - ], - [ - -163.732483, - 67.113604 - ], - [ - -162.350555, - 67.161379 - ], - [ - -162.461121, - 66.992479 - ], - [ - -161.501129, - 66.979158 - ], - [ - -161.897797, - 66.728319 - ], - [ - -161.506683, - 66.533876 - ], - [ - -160.264191, - 66.647493 - ], - [ - -160.23056, - 66.399721 - ], - [ - -161.600555, - 66.447756 - ], - [ - -162.336945, - 66.95833 - ], - [ - -162.636139, - 66.868868 - ], - [ - -161.906128, - 66.535265 - ], - [ - -161.910004, - 66.274431 - ], - [ - -161.003357, - 66.204165 - ], - [ - -163.656403, - 66.070543 - ], - [ - -164.188324, - 66.196093 - ], - [ - -163.625, - 66.567217 - ], - [ - -164.353607, - 66.594713 - ], - [ - -168.131104, - 65.665545 - ], - [ - -166.058899, - 65.256105 - ], - [ - -166.961945, - 65.188875 - ], - [ - -166.121368, - 64.574709 - ], - [ - -163.175842, - 64.407488 - ], - [ - -163.170013, - 64.65526 - ], - [ - -162.790283, - 64.336107 - ], - [ - -161.182495, - 64.937487 - ], - [ - -160.783905, - 64.721926 - ], - [ - -161.529175, - 64.418871 - ], - [ - -160.777496, - 63.868601 - ], - [ - -161.151672, - 63.512499 - ], - [ - -162.311951, - 63.541109 - ], - [ - -163.111664, - 63.051935 - ], - [ - -164.410553, - 63.211939 - ], - [ - -164.318329, - 63.006945 - ], - [ - -164.877777, - 62.83555 - ], - [ - -164.479155, - 62.745829 - ], - [ - -164.852783, - 62.570276 - ], - [ - -164.636414, - 62.417498 - ], - [ - -165.247223, - 62.4461 - ], - [ - -166.197784, - 61.594713 - ], - [ - -165.386688, - 61.068605 - ], - [ - -165.34137, - 61.157213 - ], - [ - -165.407501, - 61.20833 - ], - [ - -165.287506, - 61.333879 - ], - [ - -165.161133, - 61.432497 - ], - [ - -165.075562, - 61.432215 - ], - [ - -165.017242, - 61.500002 - ], - [ - -164.716095, - 61.625551 - ], - [ - -164.845276, - 61.49444 - ], - [ - -164.998428, - 61.46977 - ], - [ - -165.059677, - 61.416842 - ], - [ - -165.150574, - 61.416941 - ], - [ - -165.369995, - 61.20083 - ], - [ - -165.163727, - 61.170046 - ], - [ - -165.138611, - 61.256662 - ], - [ - -165.120544, - 61.083879 - ], - [ - -164.822235, - 61.111109 - ], - [ - -165.150299, - 60.928049 - ], - [ - -163.551392, - 60.903879 - ], - [ - -163.895615, - 60.856886 - ], - [ - -163.409729, - 60.756662 - ], - [ - -163.669464, - 60.587214 - ], - [ - -163.957764, - 60.780275 - ], - [ - -164.429169, - 60.553324 - ], - [ - -164.264465, - 60.778879 - ], - [ - -164.665009, - 60.911661 - ], - [ - -165.425293, - 60.555269 - ], - [ - -164.065277, - 59.824167 - ], - [ - -162.521666, - 59.992769 - ], - [ - -162.569458, - 60.316385 - ], - [ - -161.879425, - 60.702219 - ], - [ - -162.372223, - 60.176104 - ], - [ - -162.151398, - 60.245546 - ], - [ - -161.705261, - 59.49666 - ], - [ - -161.992218, - 59.144159 - ], - [ - -161.565826, - 59.103609 - ], - [ - -162.171387, - 58.649721 - ], - [ - -160.32666, - 59.059717 - ], - [ - -158.897522, - 58.395548 - ], - [ - -158.536957, - 59.175272 - ], - [ - -157.992767, - 58.904993 - ], - [ - -158.492493, - 58.999437 - ], - [ - -158.188324, - 58.606386 - ], - [ - -156.779175, - 59.151384 - ], - [ - -157.553619, - 58.382494 - ], - [ - -157.138611, - 58.162493 - ], - [ - -157.609985, - 58.089716 - ], - [ - -157.706665, - 57.643328 - ], - [ - -157.396666, - 57.490549 - ], - [ - -157.938049, - 57.491938 - ], - [ - -158.648895, - 57.053324 - ], - [ - -158.640564, - 56.76111 - ], - [ - -160.346954, - 56.285555 - ], - [ - -160.574707, - 55.986658 - ], - [ - -160.249725, - 55.770548 - ], - [ - -161.799988, - 55.88666 - ], - [ - -163.323059, - 55.12166 - ], - [ - -163.258636, - 54.973322 - ], - [ - -163.36026, - 54.811937 - ], - [ - -163.044464, - 54.937494 - ], - [ - -163.184448, - 55.139719 - ], - [ - -162.5625, - 54.955271 - ], - [ - -162.626648, - 55.29944 - ], - [ - -162.454163, - 55.038332 - ], - [ - -161.967773, - 55.101938 - ], - [ - -161.5625, - 55.622766 - ], - [ - -161.141693, - 55.538889 - ], - [ - -161.485535, - 55.481104 - ], - [ - -161.254181, - 55.346941 - ], - [ - -159.841095, - 55.851107 - ], - [ - -159.667236, - 55.577219 - ], - [ - -158.601105, - 56.188044 - ], - [ - -158.50528, - 55.988886 - ], - [ - -158.120544, - 56.233606 - ], - [ - -158.649994, - 56.264444 - ], - [ - -158.423065, - 56.44388 - ], - [ - -156.548615, - 56.977488 - ], - [ - -156.48999, - 57.33111 - ], - [ - -154.233612, - 58.131105 - ], - [ - -154.103333, - 58.481936 - ], - [ - -153.267792, - 58.848604 - ], - [ - -154.260834, - 59.142221 - ], - [ - -152.577209, - 60.064714 - ], - [ - -153.103058, - 60.289438 - ], - [ - -152.430298, - 60.288889 - ], - [ - -151.583618, - 60.976938 - ], - [ - -149.416962, - 61.508608 - ], - [ - -150.064178, - 61.154436 - ], - [ - -149.028076, - 60.847773 - ], - [ - -150.39917, - 61.037218 - ], - [ - -151.408905, - 60.727488 - ], - [ - -151.303894, - 60.385553 - ], - [ - -151.876648, - 59.753885 - ], - [ - -150.992767, - 59.777216 - ], - [ - -151.98056, - 59.28055 - ], - [ - -150.907501, - 59.243326 - ], - [ - -150.541687, - 59.591661 - ], - [ - -150.473602, - 59.464441 - ], - [ - -150.213623, - 59.716661 - ], - [ - -150.349426, - 59.465548 - ], - [ - -150.013641, - 59.627489 - ], - [ - -149.915833, - 59.714716 - ], - [ - -150.03418, - 59.796389 - ], - [ - -149.743591, - 59.658602 - ], - [ - -149.731934, - 59.96055 - ], - [ - -149.525848, - 59.716661 - ], - [ - -149.416962, - 60.118326 - ], - [ - -149.286133, - 59.868883 - ], - [ - -148.435822, - 59.948877 - ], - [ - -148.31778, - 60.168886 - ], - [ - -148.097778, - 60.207499 - ], - [ - -148.431122, - 60.192766 - ], - [ - -147.936951, - 60.462214 - ], - [ - -148.684174, - 60.448328 - ], - [ - -148.19751, - 60.626101 - ], - [ - -148.699738, - 60.789721 - ], - [ - -147.719727, - 61.278048 - ], - [ - -148.052216, - 60.949717 - ], - [ - -147.865265, - 60.832499 - ], - [ - -147.546661, - 61.154436 - ], - [ - -147.366943, - 60.887774 - ], - [ - -146.300842, - 61.130823 - ], - [ - -146.756683, - 60.955271 - ], - [ - -146.124146, - 60.843325 - ], - [ - -146.653351, - 60.699717 - ], - [ - -146.040833, - 60.798609 - ], - [ - -146.261139, - 60.64805 - ], - [ - -145.625824, - 60.671938 - ], - [ - -145.859436, - 60.491663 - ], - [ - -145.294159, - 60.350275 - ], - [ - -144.611389, - 60.715548 - ], - [ - -144.936401, - 60.301661 - ], - [ - -143.92334, - 59.994158 - ], - [ - -141.390839, - 60.138605 - ], - [ - -141.376648, - 59.866388 - ], - [ - -140.403351, - 59.698046 - ], - [ - -139.5, - 60.033052 - ], - [ - -138.892792, - 59.806658 - ], - [ - -139.285553, - 59.571383 - ], - [ - -139.493866, - 59.98221 - ], - [ - -139.710541, - 59.495829 - ], - [ - -138.443604, - 59.19166 - ], - [ - -136.654175, - 58.215273 - ], - [ - -136.027496, - 58.387217 - ], - [ - -136.573608, - 58.838602 - ], - [ - -137.125549, - 58.821939 - ], - [ - -137.056671, - 59.068605 - ], - [ - -136.234711, - 58.750834 - ], - [ - -136.162231, - 59.033609 - ], - [ - -135.76947, - 58.90027 - ], - [ - -136.068329, - 58.817774 - ], - [ - -135.915558, - 58.383051 - ], - [ - -135.085541, - 58.233049 - ], - [ - -135.550568, - 59.228876 - ], - [ - -135.304718, - 59.083605 - ], - [ - -135.335266, - 59.468325 - ], - [ - -134.761414, - 58.382212 - ], - [ - -134.51001, - 58.353884 - ], - [ - -134.154175, - 58.197771 - ], - [ - -133.769165, - 58.518328 - ], - [ - -134.054993, - 58.071939 - ], - [ - -133.121368, - 57.8575 - ], - [ - -133.556946, - 57.902491 - ], - [ - -133.00058, - 57.515001 - ], - [ - -133.640564, - 57.696383 - ], - [ - -133.063049, - 57.348879 - ], - [ - -133.508362, - 57.193605 - ], - [ - -132.791382, - 57.088045 - ], - [ - -131.769745, - 56.196939 - ], - [ - -132.160278, - 55.578608 - ], - [ - -131.954987, - 55.501108 - ], - [ - -131.752502, - 55.807772 - ], - [ - -131.900574, - 55.855272 - ], - [ - -131.010284, - 56.106386 - ], - [ - -130.864166, - 55.308603 - ], - [ - -130.613892, - 55.296106 - ], - [ - -131.056122, - 55.122766 - ], - [ - -130.46167, - 55.327776 - ], - [ - -131.008636, - 55.004168 - ], - [ - -130.686127, - 54.761942 - ], - [ - -129.99054, - 55.281664 - ], - [ - -130.174713, - 55.754442 - ], - [ - -130.015076, - 55.909182 - ], - [ - -131.824158, - 56.596941 - ], - [ - -133.429993, - 58.459162 - ], - [ - -135.473602, - 59.801935 - ], - [ - -137.478058, - 58.907213 - ], - [ - -137.59082, - 59.238604 - ], - [ - -139.188904, - 60.088884 - ], - [ - -139.068054, - 60.352221 - ], - [ - -140.995544, - 60.307215 - ], - [ - -141.002991, - 69.642366 - ] - ], - [ - [ - -135.554169, - 58.329996 - ], - [ - -135.726105, - 58.359438 - ], - [ - -135.625275, - 58.383051 - ], - [ - -135.554169, - 58.329996 - ] - ] - ] - ] - }, - "name" : "United States", - "iso2" : "US", - "iso3" : "USA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "FL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -2.685561, - 9.481817 - ], - [ - -2.834048, - 11.002007 - ], - [ - -0.618333, - 10.911665 - ], - [ - -0.149762, - 11.13854 - ], - [ - 0.91797, - 10.996399 - ], - [ - 1.435278, - 11.458887 - ], - [ - 2.014722, - 11.422499 - ], - [ - 2.397925, - 11.896152 - ], - [ - 2.1425, - 12.694443 - ], - [ - 1.578333, - 12.629999 - ], - [ - 0.989167, - 13.047222 - ], - [ - 0.991667, - 13.371666 - ], - [ - 1.285306, - 13.349957 - ], - [ - 0.602222, - 13.703888 - ], - [ - 0.235048, - 14.915068 - ], - [ - -0.725278, - 15.082777 - ], - [ - -1.980834, - 14.474722 - ], - [ - -2.006945, - 14.187777 - ], - [ - -2.474722, - 14.287498 - ], - [ - -2.879167, - 13.655554 - ], - [ - -3.2575, - 13.696665 - ], - [ - -3.437675, - 13.166498 - ], - [ - -3.964253, - 13.50383 - ], - [ - -4.337223, - 13.121666 - ], - [ - -4.4175, - 12.300831 - ], - [ - -5.273056, - 11.843887 - ], - [ - -5.51985, - 10.436272 - ], - [ - -4.704445, - 9.698055 - ], - [ - -3.633611, - 9.954443 - ], - [ - -2.685561, - 9.481817 - ] - ] - ] - }, - "name" : "Burkina Faso", - "iso2" : "BF", - "iso3" : "BFA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Fb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -57.608002, - -30.184925 - ], - [ - -57.806396, - -30.748219 - ], - [ - -58.199242, - -32.45031 - ], - [ - -58.045563, - -32.934723 - ], - [ - -58.146393, - -33.101952 - ], - [ - -58.361946, - -33.133339 - ], - [ - -58.402779, - -33.929726 - ], - [ - -57.840279, - -34.494728 - ], - [ - -57.117783, - -34.462227 - ], - [ - -56.320282, - -34.910561 - ], - [ - -54.145004, - -34.671394 - ], - [ - -53.374298, - -33.740669 - ], - [ - -53.522781, - -33.147781 - ], - [ - -53.093056, - -32.729729 - ], - [ - -53.879723, - -31.967781 - ], - [ - -55.581947, - -30.845837 - ], - [ - -56.008923, - -31.079794 - ], - [ - -56.811394, - -30.105278 - ], - [ - -57.608002, - -30.184925 - ] - ] - ] - }, - "name" : "Uruguay", - "iso2" : "UY", - "iso3" : "URY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Fr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 56.000961, - 41.328453 - ], - [ - 57.044716, - 41.260277 - ], - [ - 56.986938, - 41.893051 - ], - [ - 58.026604, - 42.504639 - ], - [ - 58.515549, - 42.304436 - ], - [ - 58.164436, - 42.651932 - ], - [ - 58.780548, - 42.658043 - ], - [ - 60.014442, - 42.217491 - ], - [ - 60.140274, - 41.381104 - ], - [ - 61.874161, - 41.125549 - ], - [ - 62.551102, - 39.934158 - ], - [ - 64.383026, - 38.953125 - ], - [ - 66.643875, - 38.003052 - ], - [ - 66.537735, - 37.366379 - ], - [ - 67.779877, - 37.185822 - ], - [ - 68.384155, - 38.195541 - ], - [ - 68.123871, - 38.98555 - ], - [ - 67.376373, - 39.212494 - ], - [ - 67.441956, - 39.483582 - ], - [ - 68.540268, - 39.55471 - ], - [ - 69.009995, - 40.089714 - ], - [ - 68.600815, - 40.178329 - ], - [ - 69.308029, - 40.201385 - ], - [ - 69.356094, - 40.772491 - ], - [ - 69.732483, - 40.638603 - ], - [ - 70.423874, - 41.049118 - ], - [ - 70.796799, - 40.725594 - ], - [ - 70.375534, - 40.376404 - ], - [ - 70.98204, - 40.244843 - ], - [ - 71.710541, - 40.145767 - ], - [ - 73.173035, - 40.822998 - ], - [ - 72.19548, - 41.006592 - ], - [ - 71.69136, - 41.556335 - ], - [ - 71.418045, - 41.118553 - ], - [ - 70.187195, - 41.52829 - ], - [ - 71.276382, - 42.195511 - ], - [ - 70.97081, - 42.254669 - ], - [ - 69.056366, - 41.379433 - ], - [ - 68.455261, - 40.597771 - ], - [ - 67.935532, - 41.183327 - ], - [ - 66.719986, - 41.174995 - ], - [ - 66.526382, - 42.003052 - ], - [ - 66.02916, - 42.003052 - ], - [ - 66.123871, - 42.996941 - ], - [ - 65.82193, - 42.877213 - ], - [ - 64.931366, - 43.73777 - ], - [ - 62.025108, - 43.484787 - ], - [ - 58.569717, - 45.571106 - ], - [ - 55.99749, - 45.001106 - ], - [ - 56.000961, - 41.328453 - ] - ] - ] - }, - "name" : "Uzbekistan", - "iso2" : "UZ", - "iso3" : "UZB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "F71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -61.416946, - 12.590277 - ], - [ - -61.425835, - 12.612499 - ], - [ - -61.45417, - 12.593887 - ], - [ - -61.416946, - 12.590277 - ] - ] - ], - [ - [ - [ - -61.328056, - 12.687777 - ], - [ - -61.310562, - 12.734999 - ], - [ - -61.347778, - 12.701666 - ], - [ - -61.328056, - 12.687777 - ] - ] - ], - [ - [ - [ - -61.216667, - 12.998055 - ], - [ - -61.199722, - 13.044722 - ], - [ - -61.252228, - 12.988609 - ], - [ - -61.216667, - 12.998055 - ] - ] - ], - [ - [ - [ - -61.173058, - 13.1325 - ], - [ - -61.177223, - 13.384165 - ], - [ - -61.281395, - 13.207777 - ], - [ - -61.173058, - 13.1325 - ] - ] - ] - ] - }, - "name" : "Saint Vincent and the Grenadines", - "iso2" : "VC", - "iso3" : "VCT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "GL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -61.003616, - 8.548887 - ], - [ - -61.080833, - 8.610277 - ], - [ - -61.266396, - 8.509165 - ], - [ - -61.003616, - 8.548887 - ] - ] - ], - [ - [ - [ - -61.047783, - 8.629446 - ], - [ - -61.167229, - 8.651945 - ], - [ - -61.184448, - 8.598612 - ], - [ - -61.047783, - 8.629446 - ] - ] - ], - [ - [ - [ - -61.041946, - 8.640276 - ], - [ - -60.934448, - 8.718332 - ], - [ - -61.17778, - 8.679445 - ], - [ - -61.14695, - 8.654444 - ], - [ - -61.041946, - 8.640276 - ] - ] - ], - [ - [ - [ - -60.827225, - 8.649443 - ], - [ - -60.840836, - 8.728056 - ], - [ - -60.988617, - 8.635557 - ], - [ - -60.827225, - 8.649443 - ] - ] - ], - [ - [ - [ - -60.976112, - 8.725832 - ], - [ - -60.860558, - 8.853334 - ], - [ - -61.042503, - 8.821112 - ], - [ - -61.17028, - 8.693335 - ], - [ - -60.976112, - 8.725832 - ] - ] - ], - [ - [ - [ - -61.070557, - 8.8925 - ], - [ - -60.848618, - 9.093611 - ], - [ - -61.065834, - 8.976946 - ], - [ - -61.099724, - 8.891111 - ], - [ - -61.070557, - 8.8925 - ] - ] - ], - [ - [ - [ - -60.870285, - 9.108332 - ], - [ - -60.863617, - 9.193335 - ], - [ - -60.958618, - 9.066946 - ], - [ - -60.870285, - 9.108332 - ] - ] - ], - [ - [ - [ - -60.730003, - 9.186388 - ], - [ - -60.822784, - 9.201666 - ], - [ - -60.841393, - 9.116667 - ], - [ - -60.730003, - 9.186388 - ] - ] - ], - [ - [ - [ - -62.288612, - 9.755556 - ], - [ - -62.249168, - 9.856943 - ], - [ - -62.286392, - 9.934168 - ], - [ - -62.288612, - 9.755556 - ] - ] - ], - [ - [ - [ - -62.647507, - 10.3025 - ], - [ - -62.787224, - 10.478613 - ], - [ - -62.788063, - 10.414999 - ], - [ - -62.647507, - 10.3025 - ] - ] - ], - [ - [ - [ - -63.907227, - 10.729445 - ], - [ - -63.90667, - 10.777498 - ], - [ - -63.996674, - 10.802221 - ], - [ - -63.907227, - 10.729445 - ] - ] - ], - [ - [ - [ - -65.268616, - 10.881109 - ], - [ - -65.211945, - 10.95611 - ], - [ - -65.417236, - 10.924723 - ], - [ - -65.268616, - 10.881109 - ] - ] - ], - [ - [ - [ - -63.804726, - 11.021387 - ], - [ - -63.881111, - 11.176943 - ], - [ - -64.405838, - 10.967501 - ], - [ - -63.804726, - 11.021387 - ] - ] - ], - [ - [ - [ - -66.648346, - 11.758612 - ], - [ - -66.586395, - 11.771666 - ], - [ - -66.610565, - 11.821112 - ], - [ - -66.648346, - 11.758612 - ] - ] - ], - [ - [ - [ - -66.115845, - 11.773611 - ], - [ - -66.108612, - 11.825556 - ], - [ - -66.193069, - 11.817221 - ], - [ - -66.115845, - 11.773611 - ] - ] - ], - [ - [ - [ - -64.572235, - 11.805555 - ], - [ - -64.615004, - 11.895555 - ], - [ - -64.64389, - 11.82472 - ], - [ - -64.572235, - 11.805555 - ] - ] - ], - [ - [ - [ - -60.73037, - 5.204802 - ], - [ - -61.389725, - 5.940001 - ], - [ - -61.134026, - 6.711042 - ], - [ - -60.288612, - 7.057222 - ], - [ - -60.71917, - 7.535555 - ], - [ - -59.825562, - 8.236113 - ], - [ - -59.99028, - 8.535276 - ], - [ - -60.902229, - 8.582224 - ], - [ - -61.073891, - 8.400835 - ], - [ - -61.598892, - 8.554998 - ], - [ - -61.208893, - 8.595556 - ], - [ - -61.097778, - 8.963335 - ], - [ - -60.949722, - 9.179445 - ], - [ - -61.08223, - 9.102221 - ], - [ - -60.783615, - 9.304998 - ], - [ - -60.850281, - 9.440832 - ], - [ - -61.622505, - 9.906111 - ], - [ - -61.738617, - 9.595556 - ], - [ - -62.188614, - 10.015833 - ], - [ - -62.210838, - 9.634443 - ], - [ - -62.200562, - 9.905554 - ], - [ - -62.318062, - 9.705 - ], - [ - -62.535278, - 10.202223 - ], - [ - -62.613335, - 10.222776 - ], - [ - -62.6175, - 10.089724 - ], - [ - -62.805283, - 10.008612 - ], - [ - -63.017227, - 10.097776 - ], - [ - -62.628059, - 10.107779 - ], - [ - -62.782124, - 10.399694 - ], - [ - -63.000282, - 10.271666 - ], - [ - -62.916672, - 10.528055 - ], - [ - -61.882782, - 10.733332 - ], - [ - -64.258896, - 10.661665 - ], - [ - -63.697502, - 10.485556 - ], - [ - -65.08139, - 10.060556 - ], - [ - -66.235291, - 10.642221 - ], - [ - -68.160004, - 10.496946 - ], - [ - -68.418335, - 11.179998 - ], - [ - -69.770844, - 11.696112 - ], - [ - -70.026947, - 12.195276 - ], - [ - -70.238342, - 11.631666 - ], - [ - -69.814453, - 11.690832 - ], - [ - -69.798615, - 11.427778 - ], - [ - -71.497513, - 10.960001 - ], - [ - -71.055283, - 9.341391 - ], - [ - -71.618057, - 9.041945 - ], - [ - -72.127502, - 9.813055 - ], - [ - -71.57695, - 10.714445 - ], - [ - -71.968338, - 11.555834 - ], - [ - -71.324722, - 11.853056 - ], - [ - -71.977234, - 11.664999 - ], - [ - -72.209351, - 11.250002 - ], - [ - -72.493057, - 11.121111 - ], - [ - -73.378067, - 9.171389 - ], - [ - -72.779724, - 9.080278 - ], - [ - -72.325287, - 8.095556 - ], - [ - -72.47168, - 7.491945 - ], - [ - -72, - 7.018888 - ], - [ - -70.119171, - 6.975836 - ], - [ - -69.245285, - 6.081388 - ], - [ - -67.454453, - 6.193056 - ], - [ - -67.859726, - 4.558611 - ], - [ - -67.290558, - 3.397501 - ], - [ - -67.828339, - 2.825003 - ], - [ - -67.192505, - 2.3925 - ], - [ - -66.871887, - 1.221643 - ], - [ - -66.311951, - 0.750559 - ], - [ - -65.589737, - 0.989168 - ], - [ - -65.51889, - 0.649721 - ], - [ - -63.393059, - 2.151388 - ], - [ - -63.361115, - 2.419168 - ], - [ - -64.045013, - 2.4825 - ], - [ - -64.191116, - 3.594446 - ], - [ - -64.795288, - 4.281389 - ], - [ - -64.017792, - 3.88611 - ], - [ - -63.343056, - 3.961111 - ], - [ - -62.875, - 3.560278 - ], - [ - -62.745834, - 4.032499 - ], - [ - -60.985001, - 4.520555 - ], - [ - -60.579727, - 4.946669 - ], - [ - -60.73037, - 5.204802 - ] - ], - [ - [ - -61.206673, - 9.585833 - ], - [ - -61.32695, - 9.646666 - ], - [ - -61.411667, - 9.729723 - ], - [ - -61.206673, - 9.585833 - ] - ] - ] - ] - }, - "name" : "Venezuela", - "iso2" : "VE", - "iso3" : "VEN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Gb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -64.660843, - 18.383888 - ], - [ - -64.558334, - 18.451942 - ], - [ - -64.652512, - 18.441109 - ], - [ - -64.660843, - 18.383888 - ] - ] - ], - [ - [ - [ - -64.422501, - 18.43861 - ], - [ - -64.322235, - 18.506107 - ], - [ - -64.412231, - 18.506107 - ], - [ - -64.422501, - 18.43861 - ] - ] - ], - [ - [ - [ - -64.311401, - 18.746109 - ], - [ - -64.408066, - 18.735832 - ], - [ - -64.270004, - 18.696388 - ], - [ - -64.311401, - 18.746109 - ] - ] - ] - ] - }, - "name" : "British Virgin Islands", - "iso2" : "VG", - "iso3" : "VGB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Gr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 106.600273, - 8.647778 - ], - [ - 106.659378, - 8.76474 - ], - [ - 106.555817, - 8.688887 - ], - [ - 106.600273, - 8.647778 - ] - ] - ], - [ - [ - [ - 103.498596, - 9.31361 - ], - [ - 103.467209, - 9.304443 - ], - [ - 103.469437, - 9.279444 - ], - [ - 103.498596, - 9.31361 - ] - ] - ], - [ - [ - [ - 106.262756, - 9.528887 - ], - [ - 106.285522, - 9.586943 - ], - [ - 106.088058, - 9.754438 - ], - [ - 106.262756, - 9.528887 - ] - ] - ], - [ - [ - [ - 106.543579, - 9.82583 - ], - [ - 106.485786, - 9.902222 - ], - [ - 106.418579, - 9.934443 - ], - [ - 106.543579, - 9.82583 - ] - ] - ], - [ - [ - [ - 106.596626, - 10.257221 - ], - [ - 106.586906, - 10.256943 - ], - [ - 106.664413, - 10.243053 - ], - [ - 106.596626, - 10.257221 - ] - ] - ], - [ - [ - [ - 106.637192, - 10.269999 - ], - [ - 106.511642, - 10.29361 - ], - [ - 106.752472, - 10.234442 - ], - [ - 106.637192, - 10.269999 - ] - ] - ], - [ - [ - [ - 104.083862, - 10.361942 - ], - [ - 103.837196, - 10.369442 - ], - [ - 104.026382, - 10.080276 - ], - [ - 104.083862, - 10.361942 - ] - ] - ], - [ - [ - [ - 107.092468, - 10.32222 - ], - [ - 107.20636, - 10.432775 - ], - [ - 107.063858, - 10.383333 - ], - [ - 107.092468, - 10.32222 - ] - ] - ], - [ - [ - [ - 106.895248, - 10.372219 - ], - [ - 106.979141, - 10.408888 - ], - [ - 106.887482, - 10.510555 - ], - [ - 106.895248, - 10.372219 - ] - ] - ], - [ - [ - [ - 108.958588, - 10.504166 - ], - [ - 108.930252, - 10.550276 - ], - [ - 108.930252, - 10.510277 - ], - [ - 108.958588, - 10.504166 - ] - ] - ], - [ - [ - [ - 106.904694, - 10.520832 - ], - [ - 106.930252, - 10.544722 - ], - [ - 106.92746, - 10.592775 - ], - [ - 106.87941, - 10.63722 - ], - [ - 106.852188, - 10.625553 - ], - [ - 106.871384, - 10.595519 - ], - [ - 106.851357, - 10.561943 - ], - [ - 106.875793, - 10.530277 - ], - [ - 106.904694, - 10.520832 - ] - ] - ], - [ - [ - [ - 106.852188, - 10.40361 - ], - [ - 106.87413, - 10.502499 - ], - [ - 106.835747, - 10.569703 - ], - [ - 106.856476, - 10.603882 - ], - [ - 106.753212, - 10.660968 - ], - [ - 106.786301, - 10.578066 - ], - [ - 106.749977, - 10.562498 - ], - [ - 106.755539, - 10.481386 - ], - [ - 106.852188, - 10.40361 - ] - ] - ], - [ - [ - [ - 109.332764, - 12.187777 - ], - [ - 109.331482, - 12.221088 - ], - [ - 109.245247, - 12.227497 - ], - [ - 109.332764, - 12.187777 - ] - ] - ], - [ - [ - [ - 109.3936, - 12.350275 - ], - [ - 109.385269, - 12.366941 - ], - [ - 109.387207, - 12.34972 - ], - [ - 109.3936, - 12.350275 - ] - ] - ], - [ - [ - [ - 107.919434, - 16.349442 - ], - [ - 107.661217, - 16.572613 - ], - [ - 107.866928, - 16.35944 - ], - [ - 107.919434, - 16.349442 - ] - ] - ], - [ - [ - [ - 107.73027, - 20.127773 - ], - [ - 107.738312, - 20.14444 - ], - [ - 107.711647, - 20.131939 - ], - [ - 107.73027, - 20.127773 - ] - ] - ], - [ - [ - [ - 107.378311, - 20.799164 - ], - [ - 107.382477, - 20.824165 - ], - [ - 107.334991, - 20.846664 - ], - [ - 107.378311, - 20.799164 - ] - ] - ], - [ - [ - [ - 107.068047, - 20.727493 - ], - [ - 107.033867, - 20.856106 - ], - [ - 106.908043, - 20.832218 - ], - [ - 107.068047, - 20.727493 - ] - ] - ], - [ - [ - [ - 106.752777, - 20.854164 - ], - [ - 106.741089, - 20.871109 - ], - [ - 106.719147, - 20.870831 - ], - [ - 106.752777, - 20.854164 - ] - ] - ], - [ - [ - [ - 106.873306, - 20.78722 - ], - [ - 106.781372, - 20.922497 - ], - [ - 106.770828, - 20.852497 - ], - [ - 106.873306, - 20.78722 - ] - ] - ], - [ - [ - [ - 106.948029, - 20.936382 - ], - [ - 106.927467, - 20.944717 - ], - [ - 106.932213, - 20.936939 - ], - [ - 106.948029, - 20.936382 - ] - ] - ], - [ - [ - [ - 107.488586, - 20.839165 - ], - [ - 107.554153, - 20.966106 - ], - [ - 107.464706, - 20.821384 - ], - [ - 107.488586, - 20.839165 - ] - ] - ], - [ - [ - [ - 106.893883, - 20.965549 - ], - [ - 106.888046, - 20.965549 - ], - [ - 106.916656, - 20.954441 - ], - [ - 106.893883, - 20.965549 - ] - ] - ], - [ - [ - [ - 107.460823, - 20.942219 - ], - [ - 107.473312, - 20.954441 - ], - [ - 107.478317, - 20.966106 - ], - [ - 107.476089, - 20.972218 - ], - [ - 107.462196, - 20.967495 - ], - [ - 107.454987, - 20.950272 - ], - [ - 107.454712, - 20.943886 - ], - [ - 107.460823, - 20.942219 - ] - ] - ], - [ - [ - [ - 106.753601, - 20.950829 - ], - [ - 106.679428, - 20.977493 - ], - [ - 106.688873, - 20.956661 - ], - [ - 106.753601, - 20.950829 - ] - ] - ], - [ - [ - [ - 107.746933, - 20.937218 - ], - [ - 107.790817, - 20.981937 - ], - [ - 107.747757, - 21.019165 - ], - [ - 107.746933, - 20.937218 - ] - ] - ], - [ - [ - [ - 107.462769, - 20.903049 - ], - [ - 107.554428, - 21.038052 - ], - [ - 107.502403, - 21.012671 - ], - [ - 107.476723, - 20.946983 - ], - [ - 107.394989, - 20.896664 - ], - [ - 107.462769, - 20.903049 - ] - ] - ], - [ - [ - [ - 107.859421, - 21.037777 - ], - [ - 107.8311, - 21.034996 - ], - [ - 107.806931, - 20.986938 - ], - [ - 107.859421, - 21.037777 - ] - ] - ], - [ - [ - [ - 107.578323, - 20.977219 - ], - [ - 107.620743, - 21.117836 - ], - [ - 107.567207, - 21.020554 - ], - [ - 107.578323, - 20.977219 - ] - ] - ], - [ - [ - [ - 107.513321, - 21.12833 - ], - [ - 107.532211, - 21.145828 - ], - [ - 107.509163, - 21.133331 - ], - [ - 107.513321, - 21.12833 - ] - ] - ], - [ - [ - [ - 107.383881, - 21.046387 - ], - [ - 107.604431, - 21.218884 - ], - [ - 107.471947, - 21.27142 - ], - [ - 107.383881, - 21.046387 - ] - ] - ], - [ - [ - [ - 107.742752, - 21.308887 - ], - [ - 107.818047, - 21.356384 - ], - [ - 107.708328, - 21.305275 - ], - [ - 107.742752, - 21.308887 - ] - ] - ], - [ - [ - [ - 107.996643, - 21.394718 - ], - [ - 107.828598, - 21.371384 - ], - [ - 107.933319, - 21.364162 - ], - [ - 107.996643, - 21.394718 - ] - ] - ], - [ - [ - [ - 107.5466, - 14.708618 - ], - [ - 107.489151, - 14.448608 - ], - [ - 107.547493, - 12.353609 - ], - [ - 106.420242, - 11.973608 - ], - [ - 106.458214, - 11.665863 - ], - [ - 105.851067, - 11.659998 - ], - [ - 106.203308, - 10.770554 - ], - [ - 105.101913, - 10.955553 - ], - [ - 104.445328, - 10.422739 - ], - [ - 105.107468, - 9.945276 - ], - [ - 104.742752, - 8.604998 - ], - [ - 105.021103, - 8.592775 - ], - [ - 106.194122, - 9.366941 - ], - [ - 105.820534, - 10.002499 - ], - [ - 106.54303, - 9.583609 - ], - [ - 106.117188, - 10.238331 - ], - [ - 106.618027, - 9.811388 - ], - [ - 106.290527, - 10.250832 - ], - [ - 106.776367, - 10.079998 - ], - [ - 106.424316, - 10.311384 - ], - [ - 106.784698, - 10.277498 - ], - [ - 106.79274, - 10.386944 - ], - [ - 106.738571, - 10.469442 - ], - [ - 106.591553, - 10.429691 - ], - [ - 106.736359, - 10.513054 - ], - [ - 106.738304, - 10.560613 - ], - [ - 106.770813, - 10.591108 - ], - [ - 106.744133, - 10.669998 - ], - [ - 106.904137, - 10.631386 - ], - [ - 106.943298, - 10.593609 - ], - [ - 106.93219, - 10.567221 - ], - [ - 106.961189, - 10.466075 - ], - [ - 106.999748, - 10.657166 - ], - [ - 107.26619, - 10.376129 - ], - [ - 107.997742, - 10.699165 - ], - [ - 109.021103, - 11.353331 - ], - [ - 109.173309, - 12.120552 - ], - [ - 109.269989, - 11.892498 - ], - [ - 109.145538, - 12.435555 - ], - [ - 109.466377, - 12.893332 - ], - [ - 108.830276, - 15.420832 - ], - [ - 106.698868, - 17.399719 - ], - [ - 105.613876, - 18.977219 - ], - [ - 105.954163, - 19.92083 - ], - [ - 106.776932, - 20.699162 - ], - [ - 106.643883, - 21.021385 - ], - [ - 107.154427, - 20.924995 - ], - [ - 107.36998, - 21.022221 - ], - [ - 107.414703, - 21.326107 - ], - [ - 107.990021, - 21.542412 - ], - [ - 106.693314, - 22.03083 - ], - [ - 106.707207, - 22.864998 - ], - [ - 105.577477, - 23.059162 - ], - [ - 105.353867, - 23.334721 - ], - [ - 103.964432, - 22.499111 - ], - [ - 103.33638, - 22.796387 - ], - [ - 103.030548, - 22.435551 - ], - [ - 102.479713, - 22.773888 - ], - [ - 102.140747, - 22.396286 - ], - [ - 102.676651, - 21.65583 - ], - [ - 102.976089, - 21.739437 - ], - [ - 103.170532, - 20.846664 - ], - [ - 103.693588, - 20.657219 - ], - [ - 104.109154, - 20.977219 - ], - [ - 104.6436, - 20.660275 - ], - [ - 104.381927, - 20.444717 - ], - [ - 104.979156, - 20.004997 - ], - [ - 104.640266, - 19.611942 - ], - [ - 104.037247, - 19.692944 - ], - [ - 103.879433, - 19.29361 - ], - [ - 105.193863, - 18.642494 - ], - [ - 105.183319, - 18.334442 - ], - [ - 106.561096, - 16.996941 - ], - [ - 106.685532, - 16.45805 - ], - [ - 107.464706, - 16.078609 - ], - [ - 107.175537, - 15.784164 - ], - [ - 107.695251, - 15.270832 - ], - [ - 107.5466, - 14.708618 - ] - ] - ] - ] - }, - "name" : "Vietnam", - "iso2" : "VN", - "iso3" : "VNM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "G71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -64.761948, - 17.774166 - ], - [ - -64.896118, - 17.676666 - ], - [ - -64.560287, - 17.748333 - ], - [ - -64.761948, - 17.774166 - ] - ] - ], - [ - [ - [ - -64.665283, - 18.332222 - ], - [ - -64.731949, - 18.371944 - ], - [ - -64.790283, - 18.33083 - ], - [ - -64.665283, - 18.332222 - ] - ] - ], - [ - [ - [ - -64.841675, - 18.312496 - ], - [ - -64.9039, - 18.364719 - ], - [ - -65.026947, - 18.362778 - ], - [ - -64.841675, - 18.312496 - ] - ] - ] - ] - }, - "name" : "United States Virgin Islands", - "iso2" : "VI", - "iso3" : "VIR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "HL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 23.476109, - -17.625835 - ], - [ - 23.284721, - -17.662502 - ], - [ - 20.854164, - -18.016392 - ], - [ - 18.915833, - -17.815556 - ], - [ - 18.451538, - -17.389835 - ], - [ - 13.993219, - -17.423946 - ], - [ - 13.160555, - -16.952778 - ], - [ - 11.752783, - -17.254833 - ], - [ - 11.804722, - -18.081947 - ], - [ - 14.511389, - -22.55278 - ], - [ - 14.463333, - -24.109169 - ], - [ - 15.294167, - -27.322502 - ], - [ - 16.48959, - -28.578178 - ], - [ - 17.06361, - -28.028614 - ], - [ - 17.40472, - -28.713612 - ], - [ - 18.175831, - -28.908611 - ], - [ - 19.123055, - -28.962223 - ], - [ - 19.99612, - -28.421448 - ], - [ - 20.000942, - -24.765408 - ], - [ - 19.996666, - -22.005001 - ], - [ - 20.991943, - -21.996948 - ], - [ - 20.993286, - -18.318417 - ], - [ - 23.297108, - -17.995949 - ], - [ - 23.615578, - -18.485069 - ], - [ - 24.362499, - -17.948612 - ], - [ - 25.264431, - -17.80225 - ], - [ - 24.969997, - -17.559723 - ], - [ - 23.476109, - -17.625835 - ] - ] - ] - }, - "name" : "Namibia", - "iso2" : "NA", - "iso3" : "NAM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Hb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -178.042511, - -14.319447 - ], - [ - -178.189453, - -14.236113 - ], - [ - -178.140564, - -14.316389 - ], - [ - -178.042511, - -14.319447 - ] - ] - ], - [ - [ - [ - -176.161438, - -13.352777 - ], - [ - -176.121094, - -13.263334 - ], - [ - -176.156158, - -13.213614 - ], - [ - -176.161438, - -13.352777 - ] - ] - ] - ] - }, - "name" : "Wallis and Futuna Islands", - "iso2" : "WF", - "iso3" : "WLF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Hr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -171.429749, - -14.019724 - ], - [ - -171.822266, - -13.807503 - ], - [ - -172.064758, - -13.874443 - ], - [ - -171.429749, - -14.019724 - ] - ] - ], - [ - [ - [ - -172.285858, - -13.486387 - ], - [ - -172.780609, - -13.533335 - ], - [ - -172.214172, - -13.807777 - ], - [ - -172.285858, - -13.486387 - ] - ] - ] - ] - }, - "name" : "Samoa", - "iso2" : "WS", - "iso3" : "WSM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "H71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 31.96851, - -25.95784 - ], - [ - 31.33083, - -25.751392 - ], - [ - 30.902048, - -26.305254 - ], - [ - 30.818886, - -26.810558 - ], - [ - 31.161663, - -27.203056 - ], - [ - 31.987499, - -27.316113 - ], - [ - 32.1334, - -26.839626 - ], - [ - 31.96851, - -25.95784 - ] - ] - ] - }, - "name" : "Swaziland", - "iso2" : "SZ", - "iso3" : "SWZ" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "IL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 53.340828, - 12.108889 - ], - [ - 53.291664, - 12.134443 - ], - [ - 53.25666, - 12.124998 - ], - [ - 53.340828, - 12.108889 - ] - ] - ], - [ - [ - [ - 53.085831, - 12.13361 - ], - [ - 53.096107, - 12.175554 - ], - [ - 53.011383, - 12.158609 - ], - [ - 53.085831, - 12.13361 - ] - ] - ], - [ - [ - [ - 52.234161, - 12.201111 - ], - [ - 52.083054, - 12.222776 - ], - [ - 52.395828, - 12.155277 - ], - [ - 52.234161, - 12.201111 - ] - ] - ], - [ - [ - [ - 43.438606, - 12.631109 - ], - [ - 43.443886, - 12.659443 - ], - [ - 43.396111, - 12.666388 - ], - [ - 43.438606, - 12.631109 - ] - ] - ], - [ - [ - [ - 53.774719, - 12.616388 - ], - [ - 53.325829, - 12.545832 - ], - [ - 53.753609, - 12.308054 - ], - [ - 54.476944, - 12.557777 - ], - [ - 53.774719, - 12.616388 - ] - ] - ], - [ - [ - [ - 42.755829, - 13.69861 - ], - [ - 42.793884, - 13.781111 - ], - [ - 42.677216, - 13.666111 - ], - [ - 42.755829, - 13.69861 - ] - ] - ], - [ - [ - [ - 42.787498, - 13.91 - ], - [ - 42.766388, - 14.066944 - ], - [ - 42.689163, - 14.013611 - ], - [ - 42.787498, - 13.91 - ] - ] - ], - [ - [ - [ - 42.594719, - 15.271944 - ], - [ - 42.642494, - 15.458332 - ], - [ - 42.568886, - 15.3925 - ], - [ - 42.594719, - 15.271944 - ] - ] - ], - [ - [ - [ - 51.99929, - 18.999344 - ], - [ - 48.766388, - 18.266388 - ], - [ - 46.333054, - 15.616943 - ], - [ - 46.333328, - 16.666664 - ], - [ - 44.467499, - 17.411942 - ], - [ - 43.309441, - 17.457222 - ], - [ - 43.206108, - 16.672222 - ], - [ - 42.78968, - 16.377502 - ], - [ - 42.681107, - 15.208332 - ], - [ - 43.247498, - 13.210278 - ], - [ - 43.467216, - 12.677776 - ], - [ - 43.957222, - 12.592777 - ], - [ - 45.055443, - 12.751296 - ], - [ - 45.666664, - 13.341665 - ], - [ - 48.698051, - 14.039999 - ], - [ - 49.098885, - 14.519165 - ], - [ - 52.231941, - 15.674166 - ], - [ - 52.298882, - 16.272221 - ], - [ - 53.114441, - 16.642778 - ], - [ - 51.99929, - 18.999344 - ] - ] - ] - ] - }, - "name" : "Yemen", - "iso2" : "YE", - "iso3" : "YEM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ib1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 23.476109, - -17.625835 - ], - [ - 24.969997, - -17.559723 - ], - [ - 25.264431, - -17.80225 - ], - [ - 27.038055, - -17.959446 - ], - [ - 27.825275, - -16.959167 - ], - [ - 28.759441, - -16.552223 - ], - [ - 28.927219, - -15.972223 - ], - [ - 30.415756, - -15.631872 - ], - [ - 30.213017, - -14.981716 - ], - [ - 33.222229, - -14.012566 - ], - [ - 32.678886, - -13.60639 - ], - [ - 33.046387, - -12.603889 - ], - [ - 33.54583, - -12.359446 - ], - [ - 33.273331, - -12.144445 - ], - [ - 33.250549, - -10.886667 - ], - [ - 33.702278, - -10.561857 - ], - [ - 32.940399, - -9.405077 - ], - [ - 31.041111, - -8.590279 - ], - [ - 30.77124, - -8.192247 - ], - [ - 28.901665, - -8.478613 - ], - [ - 28.372219, - -9.260834 - ], - [ - 28.699718, - -10.653334 - ], - [ - 28.363331, - -11.550835 - ], - [ - 29.031387, - -12.383057 - ], - [ - 29.49361, - -12.458057 - ], - [ - 29.80505, - -12.155247 - ], - [ - 29.801388, - -13.454168 - ], - [ - 29.589443, - -13.221945 - ], - [ - 29.015831, - -13.397779 - ], - [ - 28.441944, - -12.519724 - ], - [ - 27.66, - -12.296667 - ], - [ - 27.199249, - -11.567905 - ], - [ - 26.86861, - -11.973612 - ], - [ - 26.004719, - -11.9025 - ], - [ - 25.359722, - -11.641668 - ], - [ - 25.332222, - -11.193335 - ], - [ - 24.44833, - -11.463612 - ], - [ - 23.986206, - -10.870461 - ], - [ - 24.020554, - -13.00639 - ], - [ - 21.998333, - -13.004168 - ], - [ - 22.000149, - -16.171661 - ], - [ - 23.476109, - -17.625835 - ] - ] - ] - }, - "name" : "Zambia", - "iso2" : "ZM", - "iso3" : "ZMB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ir1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 31.297504, - -22.414764 - ], - [ - 32.488876, - -21.344448 - ], - [ - 32.50222, - -20.598614 - ], - [ - 33.018883, - -19.943336 - ], - [ - 32.699165, - -18.944447 - ], - [ - 33.073051, - -18.348892 - ], - [ - 32.987808, - -17.265003 - ], - [ - 32.98114, - -16.709053 - ], - [ - 31.276665, - -16.018612 - ], - [ - 30.422775, - -16.009167 - ], - [ - 30.415756, - -15.631872 - ], - [ - 28.927219, - -15.972223 - ], - [ - 28.759441, - -16.552223 - ], - [ - 27.825275, - -16.959167 - ], - [ - 27.038055, - -17.959446 - ], - [ - 25.264431, - -17.80225 - ], - [ - 26.166111, - -19.527779 - ], - [ - 27.219997, - -20.091667 - ], - [ - 27.287453, - -20.494965 - ], - [ - 27.713165, - -20.506432 - ], - [ - 28.015831, - -21.566113 - ], - [ - 29.060555, - -21.798058 - ], - [ - 29.373623, - -22.19241 - ], - [ - 29.893887, - -22.194447 - ], - [ - 31.297504, - -22.414764 - ] - ] - ] - }, - "name" : "Zimbabwe", - "iso2" : "ZW", - "iso3" : "ZWE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "I71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 121.859995, - -10.610277 - ], - [ - 121.996935, - -10.441111 - ], - [ - 121.690813, - -10.566389 - ], - [ - 121.859995, - -10.610277 - ] - ] - ], - [ - [ - [ - 123.214708, - -10.812222 - ], - [ - 123.390268, - -10.436945 - ], - [ - 122.807749, - -10.794724 - ], - [ - 123.214708, - -10.812222 - ] - ] - ], - [ - [ - [ - 123.400545, - -10.342777 - ], - [ - 123.453325, - -10.139723 - ], - [ - 123.308596, - -10.276667 - ], - [ - 123.400545, - -10.342777 - ] - ] - ], - [ - [ - [ - 120.029161, - -9.383333 - ], - [ - 118.931093, - -9.561111 - ], - [ - 120.164705, - -10.231388 - ], - [ - 120.724428, - -10.199722 - ], - [ - 120.810259, - -9.979166 - ], - [ - 120.029161, - -9.383333 - ] - ] - ], - [ - [ - [ - 125.164049, - -9.066141 - ], - [ - 124.945448, - -8.954039 - ], - [ - 124.445726, - -9.184801 - ], - [ - 124.343096, - -9.463379 - ], - [ - 124.046164, - -9.339979 - ], - [ - 123.488314, - -10.316389 - ], - [ - 124.435259, - -10.162779 - ], - [ - 125.127989, - -9.435955 - ], - [ - 125.164049, - -9.066141 - ] - ] - ], - [ - [ - [ - 115.594713, - -8.804167 - ], - [ - 115.512499, - -8.67 - ], - [ - 115.469995, - -8.734444 - ], - [ - 115.594713, - -8.804167 - ] - ] - ], - [ - [ - [ - 119.690538, - -8.802778 - ], - [ - 119.633059, - -8.600796 - ], - [ - 119.607485, - -8.773611 - ], - [ - 119.690538, - -8.802778 - ] - ] - ], - [ - [ - [ - 122.969439, - -8.5725 - ], - [ - 123.177759, - -8.442223 - ], - [ - 122.988039, - -8.456667 - ], - [ - 122.969439, - -8.5725 - ] - ] - ], - [ - [ - [ - 119.461649, - -8.440277 - ], - [ - 119.447199, - -8.754168 - ], - [ - 119.585543, - -8.563055 - ], - [ - 119.461649, - -8.440277 - ] - ] - ], - [ - [ - [ - 113.388895, - -8.497221 - ], - [ - 113.285814, - -8.440001 - ], - [ - 113.295534, - -8.500557 - ], - [ - 113.388895, - -8.497221 - ] - ] - ], - [ - [ - [ - 124.290545, - -8.329166 - ], - [ - 123.906939, - -8.452499 - ], - [ - 124.115259, - -8.555555 - ], - [ - 124.290545, - -8.329166 - ] - ] - ], - [ - [ - [ - 123.764429, - -8.327223 - ], - [ - 123.93915, - -8.242498 - ], - [ - 123.217485, - -8.536667 - ], - [ - 123.764429, - -8.327223 - ] - ] - ], - [ - [ - [ - 123.281099, - -8.405834 - ], - [ - 123.220835, - -8.23361 - ], - [ - 123.0161, - -8.378056 - ], - [ - 123.281099, - -8.405834 - ] - ] - ], - [ - [ - [ - 128.219973, - -8.210556 - ], - [ - 128.079958, - -8.259445 - ], - [ - 128.208315, - -8.287222 - ], - [ - 128.219973, - -8.210556 - ] - ] - ], - [ - [ - [ - 116.54915, - -8.775002 - ], - [ - 116.735811, - -8.363054 - ], - [ - 116.387499, - -8.205 - ], - [ - 115.844149, - -8.75528 - ], - [ - 116.54915, - -8.775002 - ] - ] - ], - [ - [ - [ - 127.668322, - -8.244444 - ], - [ - 127.771105, - -8.188889 - ], - [ - 127.605822, - -8.206944 - ], - [ - 127.668322, - -8.244444 - ] - ] - ], - [ - [ - [ - 129.008028, - -8.269445 - ], - [ - 128.969698, - -8.183889 - ], - [ - 128.82831, - -8.198889 - ], - [ - 129.008028, - -8.269445 - ] - ] - ], - [ - [ - [ - 117.540819, - -8.390278 - ], - [ - 117.675814, - -8.156111 - ], - [ - 117.481371, - -8.191389 - ], - [ - 117.540819, - -8.390278 - ] - ] - ], - [ - [ - [ - 138.873568, - -8.414722 - ], - [ - 138.81415, - -8.154722 - ], - [ - 138.54471, - -8.333054 - ], - [ - 138.873568, - -8.414722 - ] - ] - ], - [ - [ - [ - 118.311922, - -8.374722 - ], - [ - 117.735529, - -8.152224 - ], - [ - 118.284418, - -8.594166 - ], - [ - 117.966379, - -8.74861 - ], - [ - 117.122759, - -8.378611 - ], - [ - 116.75139, - -9.009445 - ], - [ - 118.154985, - -8.871944 - ], - [ - 118.406374, - -8.584723 - ], - [ - 118.457209, - -8.871944 - ], - [ - 119.178041, - -8.720278 - ], - [ - 118.996935, - -8.313612 - ], - [ - 118.666094, - -8.552223 - ], - [ - 118.648333, - -8.294445 - ], - [ - 118.311922, - -8.374722 - ] - ] - ], - [ - [ - [ - 122.981089, - -8.149445 - ], - [ - 122.288309, - -8.644445 - ], - [ - 120.522493, - -8.257223 - ], - [ - 119.796236, - -8.720343 - ], - [ - 121.765551, - -8.892223 - ], - [ - 122.832491, - -8.601664 - ], - [ - 122.981089, - -8.149445 - ] - ] - ], - [ - [ - [ - 124.577768, - -8.135834 - ], - [ - 124.350809, - -8.454445 - ], - [ - 125.139711, - -8.329166 - ], - [ - 124.577768, - -8.135834 - ] - ] - ], - [ - [ - [ - 125.581675, - -8.317499 - ], - [ - 125.641375, - -8.135834 - ], - [ - 125.496096, - -8.269445 - ], - [ - 125.581675, - -8.317499 - ] - ] - ], - [ - [ - [ - 119.072489, - -8.2675 - ], - [ - 119.136934, - -8.195555 - ], - [ - 119.0786, - -8.13389 - ], - [ - 119.072489, - -8.2675 - ] - ] - ], - [ - [ - [ - 115.502214, - -8.178612 - ], - [ - 114.445536, - -8.104721 - ], - [ - 115.126085, - -8.854166 - ], - [ - 115.707766, - -8.409166 - ], - [ - 115.502214, - -8.178612 - ] - ] - ], - [ - [ - [ - 127.843599, - -8.10111 - ], - [ - 128.02527, - -8.2675 - ], - [ - 128.127443, - -8.171667 - ], - [ - 127.843599, - -8.10111 - ] - ] - ], - [ - [ - [ - 130.80414, - -8.352222 - ], - [ - 131.180269, - -8.129721 - ], - [ - 131.013033, - -8.089722 - ], - [ - 130.80414, - -8.352222 - ] - ] - ], - [ - [ - [ - 127.213884, - -8.113333 - ], - [ - 127.181665, - -8.021946 - ], - [ - 127.153055, - -8.099167 - ], - [ - 127.213884, - -8.113333 - ] - ] - ], - [ - [ - [ - 129.764437, - -8.061111 - ], - [ - 129.843294, - -7.840555 - ], - [ - 129.606905, - -7.803888 - ], - [ - 129.764437, - -8.061111 - ] - ] - ], - [ - [ - [ - 126.721369, - -7.673056 - ], - [ - 125.972216, - -7.658611 - ], - [ - 125.772219, - -8.00889 - ], - [ - 126.721369, - -7.673056 - ] - ] - ], - [ - [ - [ - 130.989138, - -7.723333 - ], - [ - 131.128847, - -7.626665 - ], - [ - 130.984133, - -7.664165 - ], - [ - 130.989138, - -7.723333 - ] - ] - ], - [ - [ - [ - 127.38109, - -7.658611 - ], - [ - 127.481936, - -7.528889 - ], - [ - 127.368044, - -7.513889 - ], - [ - 127.38109, - -7.658611 - ] - ] - ], - [ - [ - [ - 138.968294, - -7.55611 - ], - [ - 138.154696, - -7.513889 - ], - [ - 137.635256, - -8.43 - ], - [ - 138.444704, - -8.383333 - ], - [ - 138.968294, - -7.55611 - ] - ] - ], - [ - [ - [ - 130.864962, - -7.494165 - ], - [ - 130.844423, - -7.547222 - ], - [ - 130.983583, - -7.520834 - ], - [ - 130.864962, - -7.494165 - ] - ] - ], - [ - [ - [ - 131.072756, - -7.511389 - ], - [ - 131.177462, - -7.408611 - ], - [ - 131.003328, - -7.424999 - ], - [ - 131.072756, - -7.511389 - ] - ] - ], - [ - [ - [ - 121.778589, - -7.424444 - ], - [ - 121.830553, - -7.342777 - ], - [ - 121.761934, - -7.359165 - ], - [ - 121.778589, - -7.424444 - ] - ] - ], - [ - [ - [ - 121.108324, - -7.394444 - ], - [ - 121.168589, - -7.352222 - ], - [ - 121.093325, - -7.304722 - ], - [ - 121.108324, - -7.394444 - ] - ] - ], - [ - [ - [ - 131.272768, - -7.372776 - ], - [ - 131.263033, - -7.300554 - ], - [ - 131.216646, - -7.359165 - ], - [ - 131.272768, - -7.372776 - ] - ] - ], - [ - [ - [ - 120.931376, - -7.283611 - ], - [ - 120.789705, - -7.2775 - ], - [ - 121.063601, - -7.304722 - ], - [ - 120.931376, - -7.283611 - ] - ] - ], - [ - [ - [ - 131.736086, - -7.214167 - ], - [ - 131.243288, - -7.48 - ], - [ - 131.109682, - -8.000834 - ], - [ - 131.736086, - -7.214167 - ] - ] - ], - [ - [ - [ - 131.927187, - -7.106943 - ], - [ - 131.728579, - -7.158611 - ], - [ - 131.968843, - -7.254444 - ], - [ - 131.927187, - -7.106943 - ] - ] - ], - [ - [ - [ - 114.402483, - -7.18111 - ], - [ - 114.370249, - -7.066111 - ], - [ - 114.293322, - -7.0825 - ], - [ - 114.402483, - -7.18111 - ] - ] - ], - [ - [ - [ - 128.639986, - -7.219166 - ], - [ - 128.615236, - -7.064722 - ], - [ - 128.526094, - -7.143612 - ], - [ - 128.639986, - -7.219166 - ] - ] - ], - [ - [ - [ - 120.741655, - -7.075556 - ], - [ - 120.630541, - -7.016388 - ], - [ - 120.669146, - -7.145554 - ], - [ - 120.741655, - -7.075556 - ] - ] - ], - [ - [ - [ - 113.991365, - -6.880278 - ], - [ - 112.687761, - -7.051111 - ], - [ - 113.503885, - -7.225277 - ], - [ - 113.991365, - -6.880278 - ] - ] - ], - [ - [ - [ - 115.293329, - -6.838793 - ], - [ - 115.291094, - -7.008333 - ], - [ - 115.570833, - -6.925833 - ], - [ - 115.293329, - -6.838793 - ] - ] - ], - [ - [ - [ - 138.690523, - -6.761389 - ], - [ - 138.611086, - -6.736111 - ], - [ - 138.786654, - -6.840834 - ], - [ - 138.690523, - -6.761389 - ] - ] - ], - [ - [ - [ - 131.592196, - -6.678888 - ], - [ - 131.535799, - -6.801388 - ], - [ - 131.626345, - -6.7075 - ], - [ - 131.592196, - -6.678888 - ] - ] - ], - [ - [ - [ - 134.668856, - -6.774166 - ], - [ - 134.697756, - -6.586388 - ], - [ - 134.626345, - -6.715555 - ], - [ - 134.668856, - -6.774166 - ] - ] - ], - [ - [ - [ - 105.193041, - -6.684444 - ], - [ - 105.253603, - -6.527222 - ], - [ - 105.113039, - -6.611666 - ], - [ - 105.193041, - -6.684444 - ] - ] - ], - [ - [ - [ - 134.68387, - -6.56111 - ], - [ - 134.74692, - -6.523056 - ], - [ - 134.683321, - -6.451666 - ], - [ - 134.68387, - -6.56111 - ] - ] - ], - [ - [ - [ - 134.586092, - -6.391666 - ], - [ - 134.345522, - -6.356943 - ], - [ - 134.542208, - -6.535833 - ], - [ - 134.586092, - -6.391666 - ] - ] - ], - [ - [ - [ - 134.831911, - -6.471945 - ], - [ - 134.858004, - -6.289444 - ], - [ - 134.788027, - -6.393055 - ], - [ - 134.831911, - -6.471945 - ] - ] - ], - [ - [ - [ - 134.344118, - -6.804167 - ], - [ - 134.514711, - -6.584999 - ], - [ - 134.102755, - -6.173056 - ], - [ - 134.067202, - -6.826666 - ], - [ - 134.344118, - -6.804167 - ] - ] - ], - [ - [ - [ - 134.156374, - -6.047499 - ], - [ - 134.133883, - -6.154722 - ], - [ - 134.403597, - -6.28611 - ], - [ - 134.156374, - -6.047499 - ] - ] - ], - [ - [ - [ - 134.731356, - -6.036667 - ], - [ - 134.268038, - -6.117222 - ], - [ - 134.603029, - -6.370554 - ], - [ - 134.731356, - -6.036667 - ] - ] - ], - [ - [ - [ - 106.163309, - -6.014166 - ], - [ - 105.243319, - -6.810278 - ], - [ - 106.509432, - -6.979166 - ], - [ - 106.423311, - -7.371387 - ], - [ - 108.163042, - -7.783054 - ], - [ - 109.289705, - -7.699444 - ], - [ - 111.651094, - -8.362499 - ], - [ - 113.232759, - -8.281113 - ], - [ - 114.621096, - -8.746666 - ], - [ - 114.371645, - -8.521112 - ], - [ - 114.44832, - -7.800554 - ], - [ - 112.845545, - -7.599722 - ], - [ - 112.560259, - -6.912222 - ], - [ - 111.152773, - -6.699999 - ], - [ - 110.919985, - -6.41 - ], - [ - 110.390825, - -6.979721 - ], - [ - 108.734423, - -6.814999 - ], - [ - 108.311098, - -6.260279 - ], - [ - 106.163309, - -6.014166 - ] - ] - ], - [ - [ - [ - 124.058321, - -6.027222 - ], - [ - 123.976648, - -5.875832 - ], - [ - 123.965822, - -5.948055 - ], - [ - 124.058321, - -6.027222 - ] - ] - ], - [ - [ - [ - 120.481936, - -6.48361 - ], - [ - 120.561373, - -6.024445 - ], - [ - 120.479982, - -5.766666 - ], - [ - 120.481936, - -6.48361 - ] - ] - ], - [ - [ - [ - 104.836115, - -5.828056 - ], - [ - 104.84833, - -5.775 - ], - [ - 104.768885, - -5.747778 - ], - [ - 104.836115, - -5.828056 - ] - ] - ], - [ - [ - [ - 112.692751, - -5.852776 - ], - [ - 112.634989, - -5.739443 - ], - [ - 112.58777, - -5.843889 - ], - [ - 112.692751, - -5.852776 - ] - ] - ], - [ - [ - [ - 132.741335, - -5.950277 - ], - [ - 132.808321, - -5.806944 - ], - [ - 132.6933, - -5.596388 - ], - [ - 132.741335, - -5.950277 - ] - ] - ], - [ - [ - [ - 132.795534, - -5.686388 - ], - [ - 132.781099, - -5.532778 - ], - [ - 132.738558, - -5.639166 - ], - [ - 132.795534, - -5.686388 - ] - ] - ], - [ - [ - [ - 132.340517, - -5.577223 - ], - [ - 132.376619, - -5.538332 - ], - [ - 132.301912, - -5.517221 - ], - [ - 132.340517, - -5.577223 - ] - ] - ], - [ - [ - [ - 123.810808, - -5.599167 - ], - [ - 123.802759, - -5.533611 - ], - [ - 123.688311, - -5.472221 - ], - [ - 123.810808, - -5.599167 - ] - ] - ], - [ - [ - [ - 134.577181, - -5.43 - ], - [ - 134.206331, - -5.708054 - ], - [ - 134.302187, - -6.025833 - ], - [ - 134.731356, - -5.974722 - ], - [ - 134.577181, - -5.43 - ] - ] - ], - [ - [ - [ - 102.384989, - -5.485832 - ], - [ - 102.380816, - -5.372499 - ], - [ - 102.100542, - -5.3325 - ], - [ - 102.384989, - -5.485832 - ] - ] - ], - [ - [ - [ - 132.849398, - -6.003334 - ], - [ - 133.11191, - -5.591667 - ], - [ - 133.168856, - -5.295555 - ], - [ - 132.849398, - -6.003334 - ] - ] - ], - [ - [ - [ - 123.625811, - -5.376665 - ], - [ - 123.627199, - -5.282499 - ], - [ - 123.521105, - -5.251944 - ], - [ - 123.625811, - -5.376665 - ] - ] - ], - [ - [ - [ - 122.016939, - -5.474167 - ], - [ - 121.913309, - -5.058611 - ], - [ - 121.808596, - -5.272223 - ], - [ - 122.016939, - -5.474167 - ] - ] - ], - [ - [ - [ - 115.782495, - -4.831944 - ], - [ - 115.85248, - -4.785555 - ], - [ - 115.853045, - -4.747221 - ], - [ - 115.782495, - -4.831944 - ] - ] - ], - [ - [ - [ - 131.742189, - -4.76861 - ], - [ - 131.754427, - -4.723333 - ], - [ - 131.721621, - -4.691944 - ], - [ - 131.742189, - -4.76861 - ] - ] - ], - [ - [ - [ - 122.737764, - -4.651112 - ], - [ - 122.371096, - -4.759722 - ], - [ - 122.28499, - -5.385 - ], - [ - 122.605555, - -5.420277 - ], - [ - 122.737764, - -4.651112 - ] - ] - ], - [ - [ - [ - 129.93442, - -4.566387 - ], - [ - 129.93857, - -4.5075 - ], - [ - 129.859133, - -4.556665 - ], - [ - 129.93442, - -4.566387 - ] - ] - ], - [ - [ - [ - 129.874666, - -4.530832 - ], - [ - 129.879671, - -4.505556 - ], - [ - 129.861086, - -4.521389 - ], - [ - 129.874666, - -4.530832 - ] - ] - ], - [ - [ - [ - 123.21277, - -4.697498 - ], - [ - 122.903589, - -4.484999 - ], - [ - 122.651384, - -5.686388 - ], - [ - 123.215555, - -5.297499 - ], - [ - 122.979715, - -5.107222 - ], - [ - 123.21277, - -4.697498 - ] - ] - ], - [ - [ - [ - 131.670259, - -4.536943 - ], - [ - 131.672213, - -4.487221 - ], - [ - 131.610506, - -4.428333 - ], - [ - 131.670259, - -4.536943 - ] - ] - ], - [ - [ - [ - 133.575258, - -4.251944 - ], - [ - 133.31415, - -4.104445 - ], - [ - 133.615511, - -4.300554 - ], - [ - 133.575258, - -4.251944 - ] - ] - ], - [ - [ - [ - 131.342745, - -4.117498 - ], - [ - 131.272768, - -4.07361 - ], - [ - 131.304415, - -4.124165 - ], - [ - 131.342745, - -4.117498 - ] - ] - ], - [ - [ - [ - 123.088594, - -4.008888 - ], - [ - 122.957766, - -4.100277 - ], - [ - 123.153872, - -4.241667 - ], - [ - 123.088594, - -4.008888 - ] - ] - ], - [ - [ - [ - 101.034418, - -4.025833 - ], - [ - 101.048601, - -3.994999 - ], - [ - 101.027483, - -4.005278 - ], - [ - 101.034418, - -4.025833 - ] - ] - ], - [ - [ - [ - 131.244692, - -4.045555 - ], - [ - 131.244692, - -4.001944 - ], - [ - 131.209688, - -3.983332 - ], - [ - 131.244692, - -4.045555 - ] - ] - ], - [ - [ - [ - 131.435793, - -4.076389 - ], - [ - 131.419436, - -3.960278 - ], - [ - 131.378847, - -3.960833 - ], - [ - 131.435793, - -4.076389 - ] - ] - ], - [ - [ - [ - 134.1597, - -3.934999 - ], - [ - 134.072756, - -3.934166 - ], - [ - 134.199404, - -3.99111 - ], - [ - 134.1597, - -3.934999 - ] - ] - ], - [ - [ - [ - 127.228319, - -3.904167 - ], - [ - 127.233873, - -3.827499 - ], - [ - 127.148882, - -3.830278 - ], - [ - 127.228319, - -3.904167 - ] - ] - ], - [ - [ - [ - 128.779146, - -3.703888 - ], - [ - 128.790804, - -3.638889 - ], - [ - 128.748293, - -3.643055 - ], - [ - 128.779146, - -3.703888 - ] - ] - ], - [ - [ - [ - 123.125528, - -3.626667 - ], - [ - 123.147776, - -3.543055 - ], - [ - 123.057749, - -3.578056 - ], - [ - 123.125528, - -3.626667 - ] - ] - ], - [ - [ - [ - 128.402773, - -3.640833 - ], - [ - 128.563295, - -3.576666 - ], - [ - 128.431093, - -3.522499 - ], - [ - 128.402773, - -3.640833 - ] - ] - ], - [ - [ - [ - 122.351931, - -3.560833 - ], - [ - 122.320536, - -3.514919 - ], - [ - 122.279985, - -3.5725 - ], - [ - 122.351931, - -3.560833 - ] - ] - ], - [ - [ - [ - 128.334963, - -3.625832 - ], - [ - 128.273317, - -3.512222 - ], - [ - 127.918322, - -3.740833 - ], - [ - 128.334963, - -3.625832 - ] - ] - ], - [ - [ - [ - 128.664705, - -3.538332 - ], - [ - 128.554964, - -3.509722 - ], - [ - 128.720797, - -3.619165 - ], - [ - 128.664705, - -3.538332 - ] - ] - ], - [ - [ - [ - 132.703585, - -3.519165 - ], - [ - 132.674135, - -3.41861 - ], - [ - 132.623293, - -3.421389 - ], - [ - 132.703585, - -3.519165 - ] - ] - ], - [ - [ - [ - 122.445253, - -3.490555 - ], - [ - 122.471918, - -3.456944 - ], - [ - 122.413042, - -3.384445 - ], - [ - 122.445253, - -3.490555 - ] - ] - ], - [ - [ - [ - 116.382753, - -3.645554 - ], - [ - 116.416933, - -3.377499 - ], - [ - 116.316942, - -3.5375 - ], - [ - 116.382753, - -3.645554 - ] - ] - ], - [ - [ - [ - 127.632753, - -3.365278 - ], - [ - 127.569719, - -3.263889 - ], - [ - 127.481089, - -3.293333 - ], - [ - 127.632753, - -3.365278 - ] - ] - ], - [ - [ - [ - 116.118319, - -4.03611 - ], - [ - 116.267763, - -3.223055 - ], - [ - 116.008615, - -3.649166 - ], - [ - 116.118319, - -4.03611 - ] - ] - ], - [ - [ - [ - 127.770266, - -3.254444 - ], - [ - 127.759432, - -3.153055 - ], - [ - 127.63611, - -3.225832 - ], - [ - 127.770266, - -3.254444 - ] - ] - ], - [ - [ - [ - 100.524431, - -3.186167 - ], - [ - 100.500551, - -3.127222 - ], - [ - 100.490808, - -3.162777 - ], - [ - 100.524431, - -3.186167 - ] - ] - ], - [ - [ - [ - 126.993876, - -3.145 - ], - [ - 126.103045, - -3.100555 - ], - [ - 126.017488, - -3.354445 - ], - [ - 126.700823, - -3.834444 - ], - [ - 127.23665, - -3.6175 - ], - [ - 126.993876, - -3.145 - ] - ] - ], - [ - [ - [ - 127.884722, - -3.038332 - ], - [ - 127.991655, - -2.93 - ], - [ - 127.820543, - -3.021666 - ], - [ - 127.884722, - -3.038332 - ] - ] - ], - [ - [ - [ - 106.889162, - -3.024445 - ], - [ - 106.812479, - -2.893055 - ], - [ - 106.721369, - -2.966389 - ], - [ - 106.889162, - -3.024445 - ] - ] - ], - [ - [ - [ - 129.812471, - -2.919722 - ], - [ - 128.173861, - -2.855555 - ], - [ - 127.906099, - -3.5375 - ], - [ - 128.173861, - -3.068888 - ], - [ - 128.462465, - -3.458332 - ], - [ - 128.878298, - -3.207777 - ], - [ - 129.897493, - -3.335833 - ], - [ - 130.829958, - -3.872776 - ], - [ - 130.584139, - -3.133333 - ], - [ - 129.812471, - -2.919722 - ] - ] - ], - [ - [ - [ - 107.427202, - -2.938889 - ], - [ - 107.481371, - -2.823334 - ], - [ - 107.361368, - -2.871111 - ], - [ - 107.427202, - -2.938889 - ] - ] - ], - [ - [ - [ - 107.079714, - -2.911665 - ], - [ - 107.072771, - -2.82 - ], - [ - 107.037203, - -2.865 - ], - [ - 107.079714, - -2.911665 - ] - ] - ], - [ - [ - [ - 100.46277, - -3.133333 - ], - [ - 100.176378, - -2.799999 - ], - [ - 100.459429, - -3.333889 - ], - [ - 100.46277, - -3.133333 - ] - ] - ], - [ - [ - [ - 131.579683, - -2.656389 - ], - [ - 131.654421, - -2.621389 - ], - [ - 131.565248, - -2.651667 - ], - [ - 131.579683, - -2.656389 - ] - ] - ], - [ - [ - [ - 107.832766, - -2.535 - ], - [ - 107.609423, - -3.211388 - ], - [ - 108.07332, - -3.235277 - ], - [ - 108.265825, - -2.755556 - ], - [ - 107.832766, - -2.535 - ] - ] - ], - [ - [ - [ - 100.031099, - -2.841944 - ], - [ - 100.214159, - -2.718611 - ], - [ - 99.9872, - -2.489166 - ], - [ - 100.031099, - -2.841944 - ] - ] - ], - [ - [ - [ - 133.594973, - -2.525555 - ], - [ - 133.614412, - -2.477499 - ], - [ - 133.499117, - -2.425556 - ], - [ - 133.594973, - -2.525555 - ] - ] - ], - [ - [ - [ - 99.741091, - -2.376389 - ], - [ - 99.7372, - -2.350277 - ], - [ - 99.7036, - -2.342777 - ], - [ - 99.741091, - -2.376389 - ] - ] - ], - [ - [ - [ - 134.567476, - -2.453054 - ], - [ - 134.56885, - -2.292778 - ], - [ - 134.516665, - -2.396944 - ], - [ - 134.567476, - -2.453054 - ] - ] - ], - [ - [ - [ - 123.166933, - -2.194166 - ], - [ - 123.168055, - -2.176388 - ], - [ - 123.151659, - -2.194166 - ], - [ - 123.166933, - -2.194166 - ] - ] - ], - [ - [ - [ - 123.449785, - -2.125568 - ], - [ - 123.456102, - -2.115555 - ], - [ - 123.438028, - -2.111389 - ], - [ - 123.449785, - -2.125568 - ] - ] - ], - [ - [ - [ - 99.859713, - -2.370832 - ], - [ - 99.568605, - -2.029167 - ], - [ - 99.569994, - -2.222221 - ], - [ - 99.859713, - -2.370832 - ] - ] - ], - [ - [ - [ - 123.885538, - -2.075556 - ], - [ - 123.864992, - -2.00861 - ], - [ - 123.844439, - -2.053888 - ], - [ - 123.885538, - -2.075556 - ] - ] - ], - [ - [ - [ - 134.368837, - -2.158054 - ], - [ - 134.385805, - -2.003889 - ], - [ - 134.325533, - -2.08861 - ], - [ - 134.368837, - -2.158054 - ] - ] - ], - [ - [ - [ - 123.767763, - -2.047499 - ], - [ - 123.777483, - -1.998333 - ], - [ - 123.758333, - -2.020277 - ], - [ - 123.767763, - -2.047499 - ] - ] - ], - [ - [ - [ - 126.056643, - -2.4825 - ], - [ - 125.918055, - -1.972221 - ], - [ - 125.894709, - -2.213333 - ], - [ - 126.056643, - -2.4825 - ] - ] - ], - [ - [ - [ - 124.366655, - -2.011389 - ], - [ - 124.35721, - -1.96611 - ], - [ - 124.300814, - -1.976944 - ], - [ - 124.366655, - -2.011389 - ] - ] - ], - [ - [ - [ - 123.478045, - -1.94611 - ], - [ - 123.484713, - -1.935278 - ], - [ - 123.466928, - -1.943611 - ], - [ - 123.478045, - -1.94611 - ] - ] - ], - [ - [ - [ - 123.544985, - -1.927778 - ], - [ - 123.543055, - -1.913332 - ], - [ - 123.53554, - -1.924999 - ], - [ - 123.544985, - -1.927778 - ] - ] - ], - [ - [ - [ - 123.659418, - -1.963333 - ], - [ - 123.654161, - -1.901667 - ], - [ - 123.651384, - -1.953888 - ], - [ - 123.659418, - -1.963333 - ] - ] - ], - [ - [ - [ - 123.716928, - -1.955833 - ], - [ - 123.73221, - -1.899721 - ], - [ - 123.700548, - -1.936666 - ], - [ - 123.716928, - -1.955833 - ] - ] - ], - [ - [ - [ - 123.691095, - -1.914167 - ], - [ - 123.672495, - -1.884722 - ], - [ - 123.672495, - -1.899721 - ], - [ - 123.691095, - -1.914167 - ] - ] - ], - [ - [ - [ - 123.828875, - -2.010555 - ], - [ - 123.855509, - -1.954447 - ], - [ - 123.782763, - -1.878611 - ], - [ - 123.828875, - -2.010555 - ] - ] - ], - [ - [ - [ - 123.765001, - -1.877222 - ], - [ - 123.767214, - -1.862778 - ], - [ - 123.757494, - -1.873611 - ], - [ - 123.765001, - -1.877222 - ] - ] - ], - [ - [ - [ - 123.386904, - -1.883858 - ], - [ - 123.368319, - -1.856388 - ], - [ - 123.36693, - -1.875832 - ], - [ - 123.386904, - -1.883858 - ] - ] - ], - [ - [ - [ - 125.438311, - -1.806667 - ], - [ - 125.466661, - -1.939999 - ], - [ - 126.349154, - -1.823055 - ], - [ - 125.438311, - -1.806667 - ] - ] - ], - [ - [ - [ - 99.286104, - -1.826389 - ], - [ - 99.269152, - -1.789999 - ], - [ - 99.25194, - -1.820833 - ], - [ - 99.286104, - -1.826389 - ] - ] - ], - [ - [ - [ - 123.079165, - -1.906389 - ], - [ - 123.154161, - -1.8325 - ], - [ - 123.120821, - -1.754444 - ], - [ - 123.079165, - -1.906389 - ] - ] - ], - [ - [ - [ - 134.176088, - -1.945 - ], - [ - 134.233858, - -1.740833 - ], - [ - 134.160524, - -1.845556 - ], - [ - 134.176088, - -1.945 - ] - ] - ], - [ - [ - [ - 125.006655, - -1.718889 - ], - [ - 124.327478, - -1.879721 - ], - [ - 125.32332, - -1.887222 - ], - [ - 125.006655, - -1.718889 - ] - ] - ], - [ - [ - [ - 108.696932, - -1.723055 - ], - [ - 108.779711, - -1.704443 - ], - [ - 108.681932, - -1.699722 - ], - [ - 108.696932, - -1.723055 - ] - ] - ], - [ - [ - [ - 130.18857, - -2.064167 - ], - [ - 130.350557, - -1.680204 - ], - [ - 129.715792, - -1.885832 - ], - [ - 130.18857, - -2.064167 - ] - ] - ], - [ - [ - [ - 123.297762, - -1.791389 - ], - [ - 123.369715, - -1.673054 - ], - [ - 123.267488, - -1.766945 - ], - [ - 123.297762, - -1.791389 - ] - ] - ], - [ - [ - [ - 136.293581, - -1.68861 - ], - [ - 135.418032, - -1.609999 - ], - [ - 136.902193, - -1.799166 - ], - [ - 136.293581, - -1.68861 - ] - ] - ], - [ - [ - [ - 108.849154, - -1.670832 - ], - [ - 108.930544, - -1.544167 - ], - [ - 108.799715, - -1.568056 - ], - [ - 108.849154, - -1.670832 - ] - ] - ], - [ - [ - [ - 106.090822, - -1.771666 - ], - [ - 105.57361, - -1.529167 - ], - [ - 105.132204, - -2.067499 - ], - [ - 105.744715, - -2.129166 - ], - [ - 105.978319, - -2.822777 - ], - [ - 106.71776, - -3.098333 - ], - [ - 106.601931, - -2.913055 - ], - [ - 106.781664, - -2.591944 - ], - [ - 106.318331, - -2.435833 - ], - [ - 106.090822, - -1.771666 - ] - ] - ], - [ - [ - [ - 135.138308, - -1.485277 - ], - [ - 135.094423, - -1.512777 - ], - [ - 135.330812, - -1.492777 - ], - [ - 135.138308, - -1.485277 - ] - ] - ], - [ - [ - [ - 127.879435, - -1.426943 - ], - [ - 127.378313, - -1.633888 - ], - [ - 128.145266, - -1.680555 - ], - [ - 127.879435, - -1.426943 - ] - ] - ], - [ - [ - [ - 127.328325, - -1.439999 - ], - [ - 127.366655, - -1.36611 - ], - [ - 127.272776, - -1.413332 - ], - [ - 127.328325, - -1.439999 - ] - ] - ], - [ - [ - [ - 109.144991, - -1.316666 - ], - [ - 109.171892, - -1.257776 - ], - [ - 109.104715, - -1.289999 - ], - [ - 109.144991, - -1.316666 - ] - ] - ], - [ - [ - [ - 123.194979, - -1.297499 - ], - [ - 122.897493, - -1.186666 - ], - [ - 122.861101, - -1.58111 - ], - [ - 123.531374, - -1.434721 - ], - [ - 123.194979, - -1.297499 - ] - ] - ], - [ - [ - [ - 127.614702, - -1.257778 - ], - [ - 127.550539, - -1.171667 - ], - [ - 127.455835, - -1.234444 - ], - [ - 127.614702, - -1.257778 - ] - ] - ], - [ - [ - [ - 109.228594, - -1.233332 - ], - [ - 109.258043, - -1.169443 - ], - [ - 109.219713, - -1.192778 - ], - [ - 109.228594, - -1.233332 - ] - ] - ], - [ - [ - [ - 129.928865, - -1.211388 - ], - [ - 129.86664, - -1.142778 - ], - [ - 129.740511, - -1.208611 - ], - [ - 129.928865, - -1.211388 - ] - ] - ], - [ - [ - [ - 109.623789, - -0.984835 - ], - [ - 109.492479, - -0.979721 - ], - [ - 109.418589, - -1.263334 - ], - [ - 109.778872, - -1.138611 - ], - [ - 109.623789, - -0.984835 - ] - ] - ], - [ - [ - [ - 98.929155, - -0.950277 - ], - [ - 98.603045, - -1.223055 - ], - [ - 99.238878, - -1.783888 - ], - [ - 98.929155, - -0.950277 - ] - ] - ], - [ - [ - [ - 134.922487, - -1.138056 - ], - [ - 134.993013, - -1.023611 - ], - [ - 134.843019, - -0.941944 - ], - [ - 134.922487, - -1.138056 - ] - ] - ], - [ - [ - [ - 130.931368, - -0.936388 - ], - [ - 130.638887, - -0.983889 - ], - [ - 130.964418, - -1.357222 - ], - [ - 130.931368, - -0.936388 - ] - ] - ], - [ - [ - [ - 130.916384, - -0.794722 - ], - [ - 130.486635, - -0.835278 - ], - [ - 130.396944, - -0.926388 - ], - [ - 130.916384, - -0.794722 - ] - ] - ], - [ - [ - [ - 135.487734, - -0.675556 - ], - [ - 135.892214, - -1.191389 - ], - [ - 136.38611, - -1.120832 - ], - [ - 135.487734, - -0.675556 - ] - ] - ], - [ - [ - [ - 127.281099, - -0.808332 - ], - [ - 127.204439, - -0.619167 - ], - [ - 127.153589, - -0.77 - ], - [ - 127.281099, - -0.808332 - ] - ] - ], - [ - [ - [ - 98.515276, - -0.632221 - ], - [ - 98.509722, - -0.600832 - ], - [ - 98.489153, - -0.599443 - ], - [ - 98.515276, - -0.632221 - ] - ] - ], - [ - [ - [ - 130.606081, - -0.541111 - ], - [ - 130.66025, - -0.426666 - ], - [ - 130.455812, - -0.468611 - ], - [ - 130.606081, - -0.541111 - ] - ] - ], - [ - [ - [ - 121.913309, - -0.475277 - ], - [ - 121.741365, - -0.41861 - ], - [ - 121.643335, - -0.548056 - ], - [ - 121.913309, - -0.475277 - ] - ] - ], - [ - [ - [ - 104.228319, - -0.417221 - ], - [ - 104.231661, - -0.391666 - ], - [ - 104.197481, - -0.395832 - ], - [ - 104.228319, - -0.417221 - ] - ] - ], - [ - [ - [ - 141.002474, - -2.607084 - ], - [ - 137.85663, - -1.471666 - ], - [ - 137.131075, - -1.792778 - ], - [ - 137.190523, - -2.103054 - ], - [ - 136.35663, - -2.253889 - ], - [ - 135.491915, - -3.358334 - ], - [ - 135.004152, - -3.341389 - ], - [ - 134.63611, - -2.513889 - ], - [ - 134.466646, - -2.864445 - ], - [ - 134.1597, - -2.319445 - ], - [ - 134.111086, - -0.835278 - ], - [ - 133.11191, - -0.536388 - ], - [ - 132.269716, - -0.384167 - ], - [ - 131.255556, - -0.822777 - ], - [ - 130.963594, - -1.403055 - ], - [ - 131.882448, - -1.642221 - ], - [ - 132.301363, - -2.269444 - ], - [ - 133.936373, - -2.103054 - ], - [ - 133.684145, - -2.716389 - ], - [ - 133.238863, - -2.416111 - ], - [ - 132.72275, - -2.817223 - ], - [ - 131.955812, - -2.783611 - ], - [ - 132.818026, - -3.303055 - ], - [ - 132.901644, - -4.091389 - ], - [ - 133.449709, - -3.871389 - ], - [ - 133.828859, - -2.961666 - ], - [ - 133.637484, - -3.491667 - ], - [ - 134.215792, - -3.963055 - ], - [ - 134.965517, - -3.939722 - ], - [ - 134.643587, - -4.121387 - ], - [ - 138.064425, - -5.406111 - ], - [ - 138.681917, - -6.720554 - ], - [ - 139.189425, - -6.969444 - ], - [ - 138.561922, - -6.908888 - ], - [ - 139.222475, - -7.1625 - ], - [ - 138.661104, - -7.203333 - ], - [ - 139.095522, - -7.564165 - ], - [ - 138.908602, - -8.296667 - ], - [ - 140.14609, - -7.884722 - ], - [ - 139.985231, - -8.193611 - ], - [ - 141.007021, - -9.128468 - ], - [ - 141.002474, - -2.607084 - ] - ], - [ - [ - 133.619692, - -3.449444 - ], - [ - 133.610231, - -3.435833 - ], - [ - 133.623293, - -3.429474 - ], - [ - 133.619692, - -3.449444 - ] - ] - ], - [ - [ - [ - 104.496096, - -0.626944 - ], - [ - 104.531099, - -0.373888 - ], - [ - 104.288042, - -0.393888 - ], - [ - 104.496096, - -0.626944 - ] - ] - ], - [ - [ - [ - 122.011385, - -0.414444 - ], - [ - 122.044436, - -0.332777 - ], - [ - 121.854433, - -0.365833 - ], - [ - 122.011385, - -0.414444 - ] - ] - ], - [ - [ - [ - 127.574999, - -0.323332 - ], - [ - 127.303591, - -0.519167 - ], - [ - 127.817759, - -0.870832 - ], - [ - 127.574999, - -0.323332 - ] - ] - ], - [ - [ - [ - 104.444139, - -0.326111 - ], - [ - 104.488039, - -0.278055 - ], - [ - 104.402483, - -0.285555 - ], - [ - 104.444139, - -0.326111 - ] - ] - ], - [ - [ - [ - 122.08333, - -0.410278 - ], - [ - 122.140268, - -0.382221 - ], - [ - 122.086931, - -0.265556 - ], - [ - 122.08333, - -0.410278 - ] - ] - ], - [ - [ - [ - 127.183039, - -0.528889 - ], - [ - 127.233873, - -0.256111 - ], - [ - 127.104982, - -0.297222 - ], - [ - 127.183039, - -0.528889 - ] - ] - ], - [ - [ - [ - 98.501665, - -0.539722 - ], - [ - 98.430269, - -0.246389 - ], - [ - 98.326097, - -0.539722 - ], - [ - 98.501665, - -0.539722 - ] - ] - ], - [ - [ - [ - 103.619143, - -0.389721 - ], - [ - 103.759722, - -0.312222 - ], - [ - 103.533335, - -0.234167 - ], - [ - 103.454714, - -0.362221 - ], - [ - 103.619143, - -0.389721 - ] - ] - ], - [ - [ - [ - 122.363604, - -0.284166 - ], - [ - 122.328051, - -0.230833 - ], - [ - 122.223879, - -0.200556 - ], - [ - 122.363604, - -0.284166 - ] - ] - ], - [ - [ - [ - 122.225809, - -0.278055 - ], - [ - 122.188875, - -0.197222 - ], - [ - 122.140268, - -0.229443 - ], - [ - 122.225809, - -0.278055 - ] - ] - ], - [ - [ - [ - 103.553308, - -0.196388 - ], - [ - 103.534655, - -0.184233 - ], - [ - 103.50139, - -0.195 - ], - [ - 103.553308, - -0.196388 - ] - ] - ], - [ - [ - [ - 104.740252, - -0.136944 - ], - [ - 104.432482, - -0.201944 - ], - [ - 104.92943, - -0.334166 - ], - [ - 104.740252, - -0.136944 - ] - ] - ], - [ - [ - [ - 121.613878, - -0.206667 - ], - [ - 121.631929, - -0.123056 - ], - [ - 121.562479, - -0.156666 - ], - [ - 121.613878, - -0.206667 - ] - ] - ], - [ - [ - [ - 97.87665, - -0.105278 - ], - [ - 97.86693, - -0.064167 - ], - [ - 97.823885, - -0.067778 - ], - [ - 97.87665, - -0.105278 - ] - ] - ], - [ - [ - [ - 104.876635, - -0.065556 - ], - [ - 104.842196, - -0.024443 - ], - [ - 104.831919, - -0.060833 - ], - [ - 104.876635, - -0.065556 - ] - ] - ], - [ - [ - [ - 130.877443, - -0.019167 - ], - [ - 130.213289, - -0.206667 - ], - [ - 130.915804, - -0.408888 - ], - [ - 130.688295, - -0.079443 - ], - [ - 131.255556, - -0.387777 - ], - [ - 130.877443, - -0.019167 - ] - ], - [ - [ - 130.66971, - -0.328888 - ], - [ - 130.662203, - -0.325277 - ], - [ - 130.666384, - -0.315832 - ], - [ - 130.66971, - -0.328888 - ] - ] - ], - [ - [ - [ - 98.547487, - -0.370556 - ], - [ - 98.444139, - -0.061388 - ], - [ - 98.291933, - -0.012222 - ], - [ - 98.547487, - -0.370556 - ] - ] - ], - [ - [ - [ - 129.554689, - -0.21361 - ], - [ - 129.540529, - -0.138889 - ], - [ - 129.288301, - 0.041391 - ], - [ - 129.554689, - -0.21361 - ] - ] - ], - [ - [ - [ - 127.457209, - -0.012222 - ], - [ - 127.41054, - 0.144167 - ], - [ - 127.392763, - 0.006945 - ], - [ - 127.457209, - -0.012222 - ] - ] - ], - [ - [ - [ - 98.834749, - 0.107779 - ], - [ - 98.762804, - 0.171667 - ], - [ - 98.513353, - 0.133059 - ], - [ - 98.834749, - 0.107779 - ] - ] - ], - [ - [ - [ - 104.481936, - 0.023611 - ], - [ - 104.409151, - 0.171667 - ], - [ - 104.407213, - 0.090002 - ], - [ - 104.481936, - 0.023611 - ] - ] - ], - [ - [ - [ - 104.701929, - 0.023611 - ], - [ - 104.54497, - 0.221666 - ], - [ - 104.49135, - 0.237223 - ], - [ - 104.701929, - 0.023611 - ] - ] - ], - [ - [ - [ - 104.411913, - 0.292223 - ], - [ - 104.426378, - 0.32361 - ], - [ - 104.34276, - 0.370832 - ], - [ - 104.411913, - 0.292223 - ] - ] - ], - [ - [ - [ - 127.385271, - 0.270834 - ], - [ - 127.388605, - 0.378611 - ], - [ - 127.327768, - 0.336668 - ], - [ - 127.385271, - 0.270834 - ] - ] - ], - [ - [ - [ - 103.073595, - 0.571669 - ], - [ - 103.066072, - 0.646391 - ], - [ - 103.038019, - 0.654722 - ], - [ - 103.073595, - 0.571669 - ] - ] - ], - [ - [ - [ - 104.281649, - 0.623056 - ], - [ - 104.281649, - 0.665556 - ], - [ - 104.2372, - 0.689444 - ], - [ - 104.281649, - 0.623056 - ] - ] - ], - [ - [ - [ - 103.483599, - 0.616945 - ], - [ - 103.513605, - 0.699167 - ], - [ - 103.465555, - 0.630556 - ], - [ - 103.483599, - 0.616945 - ] - ] - ], - [ - [ - [ - 103.185244, - 0.508055 - ], - [ - 103.296923, - 0.553888 - ], - [ - 103.223024, - 0.703333 - ], - [ - 103.185244, - 0.508055 - ] - ] - ], - [ - [ - [ - 127.403872, - 0.619722 - ], - [ - 127.446375, - 0.712778 - ], - [ - 127.383883, - 0.751944 - ], - [ - 127.403872, - 0.619722 - ] - ] - ], - [ - [ - [ - 104.294146, - 0.706667 - ], - [ - 104.273615, - 0.79167 - ], - [ - 104.189974, - 0.775278 - ], - [ - 104.294146, - 0.706667 - ] - ] - ], - [ - [ - [ - 104.598314, - 0.758055 - ], - [ - 104.551645, - 0.795 - ], - [ - 104.508593, - 0.756113 - ], - [ - 104.598314, - 0.758055 - ] - ] - ], - [ - [ - [ - 103.094133, - 0.72389 - ], - [ - 103.105242, - 0.797777 - ], - [ - 103.077188, - 0.750555 - ], - [ - 103.094133, - 0.72389 - ] - ] - ], - [ - [ - [ - 103.715815, - 0.792501 - ], - [ - 103.662195, - 0.832224 - ], - [ - 103.704149, - 0.759443 - ], - [ - 103.715815, - 0.792501 - ] - ] - ], - [ - [ - [ - 127.322222, - 0.750002 - ], - [ - 127.374979, - 0.812223 - ], - [ - 127.32416, - 0.864168 - ], - [ - 127.322222, - 0.750002 - ] - ] - ], - [ - [ - [ - 103.525805, - 0.800001 - ], - [ - 103.489695, - 0.845835 - ], - [ - 103.41913, - 0.871111 - ], - [ - 103.525805, - 0.800001 - ] - ] - ], - [ - [ - [ - 103.936365, - 0.76639 - ], - [ - 103.889139, - 0.859446 - ], - [ - 103.819979, - 0.88611 - ], - [ - 103.936365, - 0.76639 - ] - ] - ], - [ - [ - [ - 103.832201, - 0.756113 - ], - [ - 103.819979, - 0.825834 - ], - [ - 103.734133, - 0.886946 - ], - [ - 103.832201, - 0.756113 - ] - ] - ], - [ - [ - [ - 103.436922, - 0.647223 - ], - [ - 103.507479, - 0.746389 - ], - [ - 103.379961, - 0.891668 - ], - [ - 103.436922, - 0.647223 - ] - ] - ], - [ - [ - [ - 103.478579, - 0.868334 - ], - [ - 103.461359, - 0.915834 - ], - [ - 103.405245, - 0.908892 - ], - [ - 103.478579, - 0.868334 - ] - ] - ], - [ - [ - [ - 104.242739, - 0.819723 - ], - [ - 104.094713, - 0.947222 - ], - [ - 104.175539, - 0.790834 - ], - [ - 104.242739, - 0.819723 - ] - ] - ], - [ - [ - [ - 102.624231, - 0.994139 - ], - [ - 102.406084, - 0.878057 - ], - [ - 103.041353, - 0.714167 - ], - [ - 102.624231, - 0.994139 - ] - ] - ], - [ - [ - [ - 103.934969, - 0.926111 - ], - [ - 103.93857, - 0.999166 - ], - [ - 103.836908, - 1.010279 - ], - [ - 103.934969, - 0.926111 - ] - ] - ], - [ - [ - [ - 104.84305, - 0.957502 - ], - [ - 104.839434, - 1.018614 - ], - [ - 104.793589, - 1.024721 - ], - [ - 104.84305, - 0.957502 - ] - ] - ], - [ - [ - [ - 107.556643, - 0.965834 - ], - [ - 107.596369, - 1.008055 - ], - [ - 107.550539, - 1.037779 - ], - [ - 107.556643, - 0.965834 - ] - ] - ], - [ - [ - [ - 103.037195, - 1.037779 - ], - [ - 102.657755, - 1.054167 - ], - [ - 103.146929, - 0.8375 - ], - [ - 103.037195, - 1.037779 - ] - ] - ], - [ - [ - [ - 120.677202, - 1.035555 - ], - [ - 120.638895, - 1.076113 - ], - [ - 120.616381, - 1.071943 - ], - [ - 120.677202, - 1.035555 - ] - ] - ], - [ - [ - [ - 120.388048, - 1.020002 - ], - [ - 120.38611, - 1.080835 - ], - [ - 120.366091, - 1.032225 - ], - [ - 120.388048, - 1.020002 - ] - ] - ], - [ - [ - [ - 104.666895, - 1.023829 - ], - [ - 104.230265, - 1.084169 - ], - [ - 104.583315, - 0.819166 - ], - [ - 104.666895, - 1.023829 - ] - ] - ], - [ - [ - [ - 103.439684, - 0.987501 - ], - [ - 103.341639, - 1.119722 - ], - [ - 103.319704, - 1.040277 - ], - [ - 103.439684, - 0.987501 - ] - ] - ], - [ - [ - [ - 104.033602, - 0.982222 - ], - [ - 104.119425, - 1.183611 - ], - [ - 103.901369, - 1.093889 - ], - [ - 104.033602, - 0.982222 - ] - ] - ], - [ - [ - [ - 102.39525, - 0.923891 - ], - [ - 102.476068, - 1.226667 - ], - [ - 102.21303, - 1.405001 - ], - [ - 102.39525, - 0.923891 - ] - ] - ], - [ - [ - [ - 97.526369, - 1.417223 - ], - [ - 97.114687, - 1.393335 - ], - [ - 97.810793, - 0.549723 - ], - [ - 97.936357, - 0.978056 - ], - [ - 97.526369, - 1.417223 - ] - ] - ], - [ - [ - [ - 125.214998, - 1.389166 - ], - [ - 125.299456, - 1.526079 - ], - [ - 125.166384, - 1.395281 - ], - [ - 125.214998, - 1.389166 - ] - ] - ], - [ - [ - [ - 102.49608, - 1.444723 - ], - [ - 101.994425, - 1.611113 - ], - [ - 102.491915, - 1.259722 - ], - [ - 102.49608, - 1.444723 - ] - ] - ], - [ - [ - [ - 98.599749, - 1.625555 - ], - [ - 98.555056, - 1.681665 - ], - [ - 98.427462, - 1.678888 - ], - [ - 98.599749, - 1.625555 - ] - ] - ], - [ - [ - [ - 125.141665, - 1.421389 - ], - [ - 124.971102, - 1.694723 - ], - [ - 123.839159, - 0.829447 - ], - [ - 120.950548, - 1.342501 - ], - [ - 120.573038, - 0.775278 - ], - [ - 120.287203, - 0.989721 - ], - [ - 120.032495, - 0.712778 - ], - [ - 119.833055, - -0.089722 - ], - [ - 119.622759, - -0.005278 - ], - [ - 119.863039, - -0.843889 - ], - [ - 119.718599, - -0.65361 - ], - [ - 119.517214, - -0.876389 - ], - [ - 119.353319, - -1.938889 - ], - [ - 118.759165, - -2.774166 - ], - [ - 118.922213, - -3.569721 - ], - [ - 119.506105, - -3.527222 - ], - [ - 119.464998, - -5.56361 - ], - [ - 120.46277, - -5.624165 - ], - [ - 120.200274, - -2.965 - ], - [ - 120.771929, - -2.612499 - ], - [ - 121.076105, - -2.758888 - ], - [ - 120.881365, - -3.536945 - ], - [ - 121.614702, - -4.064722 - ], - [ - 121.553041, - -4.746666 - ], - [ - 122.088884, - -4.840834 - ], - [ - 122.104715, - -4.526112 - ], - [ - 122.89554, - -4.396389 - ], - [ - 122.194979, - -3.57111 - ], - [ - 122.47748, - -3.158054 - ], - [ - 121.298029, - -1.803055 - ], - [ - 121.671656, - -1.922222 - ], - [ - 122.819994, - -0.913332 - ], - [ - 123.331385, - -1.057222 - ], - [ - 123.447748, - -0.835278 - ], - [ - 123.070833, - -0.559721 - ], - [ - 121.927759, - -0.963333 - ], - [ - 121.62221, - -0.805 - ], - [ - 121.083055, - -1.423611 - ], - [ - 120.666384, - -1.395554 - ], - [ - 120.066095, - -0.613054 - ], - [ - 120.242205, - 0.344999 - ], - [ - 124.246096, - 0.375002 - ], - [ - 125.141665, - 1.421389 - ] - ] - ], - [ - [ - [ - 97.117189, - 2.01111 - ], - [ - 97.148317, - 2.065832 - ], - [ - 97.092745, - 2.112501 - ], - [ - 97.117189, - 2.01111 - ] - ] - ], - [ - [ - [ - 101.601641, - 1.709166 - ], - [ - 101.645525, - 2.120001 - ], - [ - 101.398035, - 1.989168 - ], - [ - 101.601641, - 1.709166 - ] - ] - ], - [ - [ - [ - 96.641085, - 2.065832 - ], - [ - 96.66913, - 2.108889 - ], - [ - 96.610796, - 2.121946 - ], - [ - 96.641085, - 2.065832 - ] - ] - ], - [ - [ - [ - 96.640535, - 2.152777 - ], - [ - 96.648592, - 2.178888 - ], - [ - 96.598024, - 2.191111 - ], - [ - 96.640535, - 2.152777 - ] - ] - ], - [ - [ - [ - 127.894991, - 1.796667 - ], - [ - 128.054689, - 2.195276 - ], - [ - 127.394991, - 1.054724 - ], - [ - 127.666094, - -0.225832 - ], - [ - 128.395266, - -0.894722 - ], - [ - 127.87665, - 0.310556 - ], - [ - 128.905245, - 0.200277 - ], - [ - 128.210238, - 0.784723 - ], - [ - 128.697481, - 1.101946 - ], - [ - 128.726351, - 1.556944 - ], - [ - 128.188295, - 1.378057 - ], - [ - 127.793589, - 0.795 - ], - [ - 127.894991, - 1.796667 - ] - ] - ], - [ - [ - [ - 97.327761, - 2.032225 - ], - [ - 97.288027, - 2.224169 - ], - [ - 97.103579, - 2.219999 - ], - [ - 97.327761, - 2.032225 - ] - ] - ], - [ - [ - [ - 127.794985, - 2.205557 - ], - [ - 127.813601, - 2.261667 - ], - [ - 127.756655, - 2.270555 - ], - [ - 127.794985, - 2.205557 - ] - ] - ], - [ - [ - [ - 118.571383, - 2.316389 - ], - [ - 118.560534, - 2.264444 - ], - [ - 118.649721, - 2.176668 - ], - [ - 118.571383, - 2.316389 - ] - ] - ], - [ - [ - [ - 125.430819, - 2.313055 - ], - [ - 125.450823, - 2.379446 - ], - [ - 125.367754, - 2.369165 - ], - [ - 125.430819, - 2.313055 - ] - ] - ], - [ - [ - [ - 128.161104, - 2.282225 - ], - [ - 128.163027, - 2.404165 - ], - [ - 128.119112, - 2.338335 - ], - [ - 128.161104, - 2.282225 - ] - ] - ], - [ - [ - [ - 109.067492, - 2.485003 - ], - [ - 109.107485, - 2.530001 - ], - [ - 108.973185, - 2.540163 - ], - [ - 109.067492, - 2.485003 - ] - ] - ], - [ - [ - [ - 128.498018, - 2.050001 - ], - [ - 128.564699, - 2.632776 - ], - [ - 128.23218, - 2.306112 - ], - [ - 128.498018, - 2.050001 - ] - ] - ], - [ - [ - [ - 125.406374, - 2.626665 - ], - [ - 125.414431, - 2.807222 - ], - [ - 125.354715, - 2.724443 - ], - [ - 125.406374, - 2.626665 - ] - ] - ], - [ - [ - [ - 106.244982, - 2.736666 - ], - [ - 106.243044, - 2.786669 - ], - [ - 106.197748, - 2.812223 - ], - [ - 106.244982, - 2.736666 - ] - ] - ], - [ - [ - [ - 96.432192, - 2.343058 - ], - [ - 95.883318, - 2.91889 - ], - [ - 95.696917, - 2.818892 - ], - [ - 96.432192, - 2.343058 - ] - ] - ], - [ - [ - [ - 108.832491, - 2.844999 - ], - [ - 108.883333, - 3.001669 - ], - [ - 108.773615, - 2.89139 - ], - [ - 108.832491, - 2.844999 - ] - ] - ], - [ - [ - [ - 107.759432, - 2.974169 - ], - [ - 107.812189, - 3.001112 - ], - [ - 107.765551, - 3.021666 - ], - [ - 107.759432, - 2.974169 - ] - ] - ], - [ - [ - [ - 105.724993, - 2.833891 - ], - [ - 105.848879, - 2.979166 - ], - [ - 105.69832, - 3.060556 - ], - [ - 105.724993, - 2.833891 - ] - ] - ], - [ - [ - [ - 106.289431, - 3.159723 - ], - [ - 106.203325, - 3.226667 - ], - [ - 106.21277, - 3.121389 - ], - [ - 106.289431, - 3.159723 - ] - ] - ], - [ - [ - [ - 117.523043, - 3.285555 - ], - [ - 117.461931, - 3.343889 - ], - [ - 117.411379, - 3.302778 - ], - [ - 117.523043, - 3.285555 - ] - ] - ], - [ - [ - [ - 106.28055, - 3.230833 - ], - [ - 106.287493, - 3.373335 - ], - [ - 106.234713, - 3.256113 - ], - [ - 106.28055, - 3.230833 - ] - ] - ], - [ - [ - [ - 117.664148, - 3.284166 - ], - [ - 117.672495, - 3.419722 - ], - [ - 117.539431, - 3.426668 - ], - [ - 117.664148, - 3.284166 - ] - ] - ], - [ - [ - [ - 117.607485, - 3.477221 - ], - [ - 117.587488, - 3.524446 - ], - [ - 117.433321, - 3.559168 - ], - [ - 117.607485, - 3.477221 - ] - ] - ], - [ - [ - [ - 117.390825, - 3.561945 - ], - [ - 117.216661, - 3.545557 - ], - [ - 117.517488, - 3.474443 - ], - [ - 117.390825, - 3.561945 - ] - ] - ], - [ - [ - [ - 117.885538, - 3.456667 - ], - [ - 117.865808, - 3.548891 - ], - [ - 117.789705, - 3.57778 - ], - [ - 117.885538, - 3.456667 - ] - ] - ], - [ - [ - [ - 125.883883, - 3.362223 - ], - [ - 125.911379, - 3.491667 - ], - [ - 125.663599, - 3.718332 - ], - [ - 125.883883, - 3.362223 - ] - ] - ], - [ - [ - [ - 117.825274, - 3.740557 - ], - [ - 117.815538, - 3.755556 - ], - [ - 117.788309, - 3.750002 - ], - [ - 117.825274, - 3.740557 - ] - ] - ], - [ - [ - [ - 126.844149, - 3.738054 - ], - [ - 126.738878, - 3.842222 - ], - [ - 126.792215, - 3.733335 - ], - [ - 126.844149, - 3.738054 - ] - ] - ], - [ - [ - [ - 117.847765, - 3.797224 - ], - [ - 117.801935, - 3.85528 - ], - [ - 117.730822, - 3.863611 - ], - [ - 117.847765, - 3.797224 - ] - ] - ], - [ - [ - [ - 126.711382, - 3.798056 - ], - [ - 126.723604, - 3.911669 - ], - [ - 126.608034, - 4.041109 - ], - [ - 126.711382, - 3.798056 - ] - ] - ], - [ - [ - [ - 117.689699, - 3.974169 - ], - [ - 117.750002, - 4.068609 - ], - [ - 117.646379, - 4.14028 - ], - [ - 117.689699, - 3.974169 - ] - ] - ], - [ - [ - [ - 117.686922, - 4.168337 - ], - [ - 117.886934, - 4.026945 - ], - [ - 117.903559, - 4.174044 - ], - [ - 117.726648, - 4.169722 - ], - [ - 117.686922, - 4.168337 - ] - ] - ], - [ - [ - [ - 108.181665, - 3.647501 - ], - [ - 108.406939, - 3.875834 - ], - [ - 108.181665, - 4.196386 - ], - [ - 108.181665, - 3.647501 - ] - ] - ], - [ - [ - [ - 117.592058, - 4.169821 - ], - [ - 116.049425, - 4.279444 - ], - [ - 115.685259, - 4.171946 - ], - [ - 115.495531, - 3.040003 - ], - [ - 115.139711, - 2.906111 - ], - [ - 115.2372, - 2.522501 - ], - [ - 114.804705, - 2.248888 - ], - [ - 114.562761, - 1.433611 - ], - [ - 113.658335, - 1.224722 - ], - [ - 112.472765, - 1.568056 - ], - [ - 111.827211, - 0.998613 - ], - [ - 110.555254, - 0.853891 - ], - [ - 109.669985, - 1.613054 - ], - [ - 109.648569, - 2.073408 - ], - [ - 109.066942, - 1.532225 - ], - [ - 108.981936, - 1.211668 - ], - [ - 109.265001, - 1.393335 - ], - [ - 108.845491, - 0.810564 - ], - [ - 109.120249, - -0.502222 - ], - [ - 109.514429, - -0.726944 - ], - [ - 109.272493, - -0.855 - ], - [ - 109.729715, - -0.953611 - ], - [ - 110.057749, - -1.333889 - ], - [ - 109.903589, - -1.828333 - ], - [ - 110.23749, - -2.979443 - ], - [ - 111.550264, - -3.024445 - ], - [ - 111.749712, - -2.741943 - ], - [ - 111.889429, - -3.573889 - ], - [ - 113.064699, - -2.993889 - ], - [ - 113.671099, - -3.47611 - ], - [ - 114.481089, - -3.498611 - ], - [ - 114.706652, - -4.176945 - ], - [ - 115.983873, - -3.588888 - ], - [ - 116.604158, - -2.229721 - ], - [ - 116.22249, - -1.779167 - ], - [ - 116.755548, - -1.3675 - ], - [ - 116.743319, - -1.024166 - ], - [ - 116.923601, - -1.254444 - ], - [ - 117.622484, - -0.779722 - ], - [ - 117.467485, - 0.103613 - ], - [ - 118.03499, - 0.810278 - ], - [ - 117.894442, - 1.119722 - ], - [ - 118.343874, - 0.843058 - ], - [ - 119.008615, - 0.980833 - ], - [ - 117.87192, - 1.876669 - ], - [ - 118.096651, - 2.305555 - ], - [ - 117.273043, - 3.222776 - ], - [ - 117.444139, - 3.430555 - ], - [ - 117.030275, - 3.594168 - ], - [ - 117.828051, - 3.702223 - ], - [ - 117.392763, - 4.1075 - ], - [ - 117.592058, - 4.169821 - ] - ], - [ - [ - 117.295534, - -0.878332 - ], - [ - 117.272219, - -0.876944 - ], - [ - 117.288591, - -0.831667 - ], - [ - 117.295534, - -0.878332 - ] - ] - ], - [ - [ - [ - 126.759722, - 3.985834 - ], - [ - 126.916094, - 4.273611 - ], - [ - 126.740541, - 4.541945 - ], - [ - 126.759722, - 3.985834 - ] - ] - ], - [ - [ - [ - 125.491365, - 4.732779 - ], - [ - 125.49193, - 4.745554 - ], - [ - 125.478868, - 4.734446 - ], - [ - 125.491365, - 4.732779 - ] - ] - ], - [ - [ - [ - 107.964434, - 4.674723 - ], - [ - 108.004709, - 4.772223 - ], - [ - 107.938311, - 4.701944 - ], - [ - 107.964434, - 4.674723 - ] - ] - ], - [ - [ - [ - 95.738573, - 5.585279 - ], - [ - 95.230806, - 5.570833 - ], - [ - 95.531084, - 4.682775 - ], - [ - 96.880251, - 3.6775 - ], - [ - 97.751925, - 2.269167 - ], - [ - 98.770861, - 1.748613 - ], - [ - 99.136126, - 0.261389 - ], - [ - 99.63582, - 0.076944 - ], - [ - 100.293589, - -0.806389 - ], - [ - 101.626925, - -3.246111 - ], - [ - 104.560778, - -5.929747 - ], - [ - 104.544985, - -5.50639 - ], - [ - 105.139711, - -5.79611 - ], - [ - 105.268602, - -5.444166 - ], - [ - 105.732485, - -5.897779 - ], - [ - 106.055254, - -3.031389 - ], - [ - 105.61249, - -2.394167 - ], - [ - 104.8622, - -2.289444 - ], - [ - 104.532495, - -2.772778 - ], - [ - 104.879435, - -2.146944 - ], - [ - 104.489435, - -1.924999 - ], - [ - 104.379152, - -1.041389 - ], - [ - 103.360811, - -0.702221 - ], - [ - 103.599993, - -0.441111 - ], - [ - 103.342363, - -0.364096 - ], - [ - 103.490808, - -0.216944 - ], - [ - 103.269709, - -0.258888 - ], - [ - 103.814196, - -0.001028 - ], - [ - 103.739695, - 0.281111 - ], - [ - 103.351091, - 0.536112 - ], - [ - 102.539965, - 0.16667 - ], - [ - 103.081919, - 0.445555 - ], - [ - 102.932459, - 0.695002 - ], - [ - 102.421915, - 0.800554 - ], - [ - 101.055529, - 2.28639 - ], - [ - 100.797205, - 2.214445 - ], - [ - 100.942461, - 1.820555 - ], - [ - 100.209139, - 2.703333 - ], - [ - 100.00165, - 2.601946 - ], - [ - 99.977755, - 2.9475 - ], - [ - 98.270525, - 4.1425 - ], - [ - 97.518862, - 5.246668 - ], - [ - 96.34775, - 5.222776 - ], - [ - 95.738573, - 5.585279 - ] - ], - [ - [ - 104.213884, - -1.039444 - ], - [ - 104.200823, - -1.037222 - ], - [ - 104.243319, - -1.023611 - ], - [ - 104.213884, - -1.039444 - ] - ], - [ - [ - 102.859705, - 0.274446 - ], - [ - 102.833864, - 0.281111 - ], - [ - 102.926912, - 0.322222 - ], - [ - 102.859705, - 0.274446 - ] - ] - ], - [ - [ - [ - 95.158022, - 5.594725 - ], - [ - 95.142473, - 5.660833 - ], - [ - 95.108858, - 5.612501 - ], - [ - 95.158022, - 5.594725 - ] - ] - ], - [ - [ - [ - 95.119692, - 5.670279 - ], - [ - 95.063585, - 5.749445 - ], - [ - 95.008028, - 5.735277 - ], - [ - 95.119692, - 5.670279 - ] - ] - ], - [ - [ - [ - 95.34247, - 5.774168 - ], - [ - 95.381639, - 5.849722 - ], - [ - 95.217745, - 5.913054 - ], - [ - 95.34247, - 5.774168 - ] - ] - ] - ] - }, - "name" : "Indonesia", - "iso2" : "ID", - "iso3" : "IDN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "JL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -62.811394, - 17.888332 - ], - [ - -62.79084, - 17.912498 - ], - [ - -62.869171, - 17.929722 - ], - [ - -62.811394, - 17.888332 - ] - ] - ] - }, - "name" : "Saint Barthelemy", - "iso2" : "BL", - "iso3" : "BLM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Jb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -68.195282, - 12.221109 - ], - [ - -68.416122, - 12.256945 - ], - [ - -68.251114, - 12.020555 - ], - [ - -68.195282, - 12.221109 - ] - ] - ] - }, - "name" : "Bonaire, Sint Eustatius and Saba", - "iso2" : "BQ", - "iso3" : "BES" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Jr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 53.965271, - 24.176666 - ], - [ - 53.851105, - 24.269165 - ], - [ - 53.623886, - 24.162777 - ], - [ - 53.965271, - 24.176666 - ] - ] - ], - [ - [ - [ - 53.324165, - 24.267776 - ], - [ - 53.34111, - 24.328888 - ], - [ - 53.243607, - 24.276665 - ], - [ - 53.324165, - 24.267776 - ] - ] - ], - [ - [ - [ - 53.109718, - 24.311386 - ], - [ - 53.085831, - 24.352776 - ], - [ - 53.079437, - 24.325554 - ], - [ - 53.109718, - 24.311386 - ] - ] - ], - [ - [ - [ - 54.264717, - 24.288887 - ], - [ - 54.231384, - 24.35083 - ], - [ - 54.174438, - 24.324997 - ], - [ - 54.264717, - 24.288887 - ] - ] - ], - [ - [ - [ - 52.616104, - 24.268608 - ], - [ - 52.639717, - 24.372219 - ], - [ - 52.572777, - 24.339722 - ], - [ - 52.616104, - 24.268608 - ] - ] - ], - [ - [ - [ - 53.398048, - 24.324718 - ], - [ - 53.428329, - 24.366943 - ], - [ - 53.387497, - 24.368889 - ], - [ - 53.398048, - 24.324718 - ] - ] - ], - [ - [ - [ - 54.472496, - 24.418888 - ], - [ - 54.380272, - 24.502499 - ], - [ - 54.328331, - 24.459721 - ], - [ - 54.472496, - 24.418888 - ] - ] - ], - [ - [ - [ - 54.515549, - 24.504719 - ], - [ - 54.469719, - 24.536942 - ], - [ - 54.48555, - 24.509163 - ], - [ - 54.515549, - 24.504719 - ] - ] - ], - [ - [ - [ - 54.440826, - 24.50111 - ], - [ - 54.465553, - 24.589996 - ], - [ - 54.400833, - 24.514721 - ], - [ - 54.440826, - 24.50111 - ] - ] - ], - [ - [ - [ - 55.617493, - 25.57 - ], - [ - 55.620552, - 25.583611 - ], - [ - 55.609718, - 25.569443 - ], - [ - 55.617493, - 25.57 - ] - ] - ], - [ - [ - [ - 56.269722, - 25.636015 - ], - [ - 56.183331, - 25.654989 - ], - [ - 56.079941, - 26.065559 - ], - [ - 55.863609, - 25.723331 - ], - [ - 54.650276, - 24.746944 - ], - [ - 54.424164, - 24.281666 - ], - [ - 54.118607, - 24.139442 - ], - [ - 52.080551, - 23.955555 - ], - [ - 51.583611, - 24.25972 - ], - [ - 52.583328, - 22.93889 - ], - [ - 55.199165, - 22.699718 - ], - [ - 55.510277, - 23.972775 - ], - [ - 56.024719, - 24.076111 - ], - [ - 55.779442, - 24.563889 - ], - [ - 56.037498, - 24.938889 - ], - [ - 56.104164, - 24.734722 - ], - [ - 56.373528, - 24.979382 - ], - [ - 56.269722, - 25.636015 - ] - ] - ] - ] - }, - "name" : "United Arab Emirates", - "iso2" : "AE", - "iso3" : "ARE" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "J71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 124.445727, - -9.184801 - ], - [ - 124.046161, - -9.339979 - ], - [ - 124.343093, - -9.46338 - ], - [ - 124.445727, - -9.184801 - ] - ] - ], - [ - [ - [ - 127.253052, - -8.477499 - ], - [ - 125.844147, - -8.481667 - ], - [ - 124.945449, - -8.954039 - ], - [ - 125.16405, - -9.066142 - ], - [ - 125.127989, - -9.435955 - ], - [ - 127.253052, - -8.477499 - ] - ] - ] - ] - }, - "name" : "Timor-Leste", - "iso2" : "TL", - "iso3" : "TLS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "KL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -130.076935, - -25.079723 - ], - [ - -130.065002, - -25.063335 - ], - [ - -130.107483, - -25.063335 - ], - [ - -130.076935, - -25.079723 - ] - ] - ], - [ - [ - [ - -124.780853, - -24.675835 - ], - [ - -124.772522, - -24.666946 - ], - [ - -124.795853, - -24.666115 - ], - [ - -124.780853, - -24.675835 - ] - ] - ], - [ - [ - [ - -128.289185, - -24.409721 - ], - [ - -128.303894, - -24.33028 - ], - [ - -128.336945, - -24.329166 - ], - [ - -128.289185, - -24.409721 - ] - ] - ] - ] - }, - "name" : "Pitcairn Islands", - "iso2" : "PN", - "iso3" : "PCN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Kb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 132.226624, - 5.292777 - ], - [ - 132.230255, - 5.307221 - ], - [ - 132.208313, - 5.31111 - ], - [ - 132.226624, - 5.292777 - ] - ] - ], - [ - [ - [ - 134.166077, - 6.885277 - ], - [ - 134.174988, - 6.923888 - ], - [ - 134.139435, - 6.934721 - ], - [ - 134.166077, - 6.885277 - ] - ] - ], - [ - [ - [ - 134.274994, - 7.010278 - ], - [ - 134.27832, - 7.070833 - ], - [ - 134.227753, - 6.987777 - ], - [ - 134.274994, - 7.010278 - ] - ] - ], - [ - [ - [ - 134.392761, - 7.140277 - ], - [ - 134.381897, - 7.192498 - ], - [ - 134.353851, - 7.168055 - ], - [ - 134.392761, - 7.140277 - ] - ] - ], - [ - [ - [ - 134.377747, - 7.215833 - ], - [ - 134.438873, - 7.278888 - ], - [ - 134.344116, - 7.269444 - ], - [ - 134.377747, - 7.215833 - ] - ] - ], - [ - [ - [ - 134.470795, - 7.36111 - ], - [ - 134.448303, - 7.331944 - ], - [ - 134.517487, - 7.308054 - ], - [ - 134.470795, - 7.36111 - ] - ] - ], - [ - [ - [ - 134.561371, - 7.371943 - ], - [ - 134.634155, - 7.729444 - ], - [ - 134.485229, - 7.438054 - ], - [ - 134.561371, - 7.371943 - ] - ] - ] - ] - }, - "name" : "Palau", - "iso2" : "PW", - "iso3" : "PLW" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Kr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 168.113586, - 5.600277 - ], - [ - 168.12439, - 5.641666 - ], - [ - 168.094971, - 5.613333 - ], - [ - 168.113586, - 5.600277 - ] - ] - ], - [ - [ - [ - 168.09024, - 5.630554 - ], - [ - 168.077148, - 5.650265 - ], - [ - 168.074982, - 5.631943 - ], - [ - 168.09024, - 5.630554 - ] - ] - ], - [ - [ - [ - 171.751923, - 6.080555 - ], - [ - 171.733582, - 6.096388 - ], - [ - 171.727173, - 6.08611 - ], - [ - 171.751923, - 6.080555 - ] - ] - ], - [ - [ - [ - 172.090515, - 6.219721 - ], - [ - 172.080261, - 6.229721 - ], - [ - 172.074127, - 6.222221 - ], - [ - 172.090515, - 6.219721 - ] - ] - ], - [ - [ - [ - 171.914154, - 7.092499 - ], - [ - 171.929962, - 7.133888 - ], - [ - 171.894135, - 7.101665 - ], - [ - 171.914154, - 7.092499 - ] - ] - ], - [ - [ - [ - 168.768036, - 7.298332 - ], - [ - 168.670258, - 7.328888 - ], - [ - 168.786377, - 7.288888 - ], - [ - 168.768036, - 7.298332 - ] - ] - ], - [ - [ - [ - 168.574677, - 7.398055 - ], - [ - 168.558594, - 7.471388 - ], - [ - 168.554962, - 7.423055 - ], - [ - 168.574677, - 7.398055 - ] - ] - ], - [ - [ - [ - 168.967194, - 7.574166 - ], - [ - 168.974976, - 7.60111 - ], - [ - 168.944427, - 7.615276 - ], - [ - 168.967194, - 7.574166 - ] - ] - ], - [ - [ - [ - 168.251373, - 7.749443 - ], - [ - 168.220245, - 7.766944 - ], - [ - 168.233582, - 7.74861 - ], - [ - 168.251373, - 7.749443 - ] - ] - ], - [ - [ - [ - 167.738861, - 8.725275 - ], - [ - 167.740784, - 8.747776 - ], - [ - 167.724396, - 8.729719 - ], - [ - 167.738861, - 8.725275 - ] - ] - ], - [ - [ - [ - 170.844971, - 8.886944 - ], - [ - 170.846924, - 8.916109 - ], - [ - 170.834961, - 8.893332 - ], - [ - 170.844971, - 8.886944 - ] - ] - ], - [ - [ - [ - 165.536926, - 9.19722 - ], - [ - 165.526917, - 9.218609 - ], - [ - 165.522491, - 9.207775 - ], - [ - 165.536926, - 9.19722 - ] - ] - ], - [ - [ - [ - 166.829956, - 9.32222 - ], - [ - 166.830261, - 9.335831 - ], - [ - 166.811646, - 9.336943 - ], - [ - 166.829956, - 9.32222 - ] - ] - ], - [ - [ - [ - 170.248016, - 9.544722 - ], - [ - 170.233307, - 9.558887 - ], - [ - 170.244965, - 9.533609 - ], - [ - 170.248016, - 9.544722 - ] - ] - ], - [ - [ - [ - 170.15387, - 9.639442 - ], - [ - 170.161652, - 9.645277 - ], - [ - 170.135529, - 9.633333 - ], - [ - 170.15387, - 9.639442 - ] - ] - ], - [ - [ - [ - 169.971619, - 10.436386 - ], - [ - 169.944122, - 10.451109 - ], - [ - 169.963867, - 10.433332 - ], - [ - 169.971619, - 10.436386 - ] - ] - ], - [ - [ - [ - 166.885254, - 11.144722 - ], - [ - 166.900543, - 11.16861 - ], - [ - 166.841339, - 11.153332 - ], - [ - 166.885254, - 11.144722 - ] - ] - ], - [ - [ - [ - 169.866913, - 11.232775 - ], - [ - 169.858856, - 11.241386 - ], - [ - 169.85553, - 11.231941 - ], - [ - 169.866913, - 11.232775 - ] - ] - ], - [ - [ - [ - 162.338287, - 11.351942 - ], - [ - 162.341644, - 11.362219 - ], - [ - 162.323578, - 11.354164 - ], - [ - 162.338287, - 11.351942 - ] - ] - ], - [ - [ - [ - 167.520813, - 11.377775 - ], - [ - 167.526093, - 11.386665 - ], - [ - 167.512207, - 11.393888 - ], - [ - 167.520813, - 11.377775 - ] - ] - ], - [ - [ - [ - 165.556091, - 11.615831 - ], - [ - 165.547211, - 11.634443 - ], - [ - 165.513031, - 11.638611 - ], - [ - 165.556091, - 11.615831 - ] - ] - ], - [ - [ - [ - 165.291656, - 11.700554 - ], - [ - 165.284698, - 11.714165 - ], - [ - 165.271912, - 11.706387 - ], - [ - 165.291656, - 11.700554 - ] - ] - ], - [ - [ - [ - 168.987732, - 14.580832 - ], - [ - 169.003876, - 14.598053 - ], - [ - 168.974976, - 14.58111 - ], - [ - 168.987732, - 14.580832 - ] - ] - ] - ] - }, - "name" : "Marshall Islands", - "iso2" : "MH", - "iso3" : "MHL" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "K71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -56.150833, - 46.758049 - ], - [ - -56.173889, - 46.80999 - ], - [ - -56.237221, - 46.763885 - ], - [ - -56.150833, - 46.758049 - ] - ] - ], - [ - [ - [ - -56.271111, - 46.994156 - ], - [ - -56.390282, - 47.118881 - ], - [ - -56.368332, - 46.784721 - ], - [ - -56.271111, - 46.994156 - ] - ] - ] - ] - }, - "name" : "Saint Pierre and Miquelon", - "iso2" : "PM", - "iso3" : "SPM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "LL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -9.892223, - -40.390839 - ], - [ - -9.952223, - -40.306671 - ], - [ - -10.028612, - -40.309448 - ], - [ - -9.892223, - -40.390839 - ] - ] - ], - [ - [ - [ - -12.20639, - -37.112503 - ], - [ - -12.259445, - -37.05278 - ], - [ - -12.331667, - -37.107506 - ], - [ - -12.20639, - -37.112503 - ] - ] - ], - [ - [ - [ - -5.662223, - -15.987501 - ], - [ - -5.704167, - -15.903057 - ], - [ - -5.793056, - -15.994167 - ], - [ - -5.662223, - -15.987501 - ] - ] - ], - [ - [ - [ - -14.36389, - -7.979723 - ], - [ - -14.293056, - -7.945278 - ], - [ - -14.381945, - -7.883612 - ], - [ - -14.36389, - -7.979723 - ] - ] - ] - ] - }, - "name" : "Saint Helena", - "iso2" : "SH", - "iso3" : "SHN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Lb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 12.459166, - 43.896111 - ], - [ - 12.509998, - 43.986938 - ], - [ - 12.415798, - 43.957954 - ], - [ - 12.459166, - 43.896111 - ] - ] - ] - }, - "name" : "San Marino", - "iso2" : "SM", - "iso3" : "SMR" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Lr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -71.140289, - 21.431942 - ], - [ - -71.135559, - 21.511108 - ], - [ - -71.150558, - 21.470833 - ], - [ - -71.140289, - 21.431942 - ] - ] - ], - [ - [ - [ - -72.460556, - 21.629719 - ], - [ - -72.433624, - 21.713333 - ], - [ - -72.45668, - 21.699718 - ], - [ - -72.460556, - 21.629719 - ] - ] - ], - [ - [ - [ - -71.468903, - 21.654999 - ], - [ - -71.462784, - 21.720833 - ], - [ - -71.53334, - 21.734444 - ], - [ - -71.468903, - 21.654999 - ] - ] - ], - [ - [ - [ - -71.657791, - 21.82333 - ], - [ - -71.850571, - 21.845833 - ], - [ - -71.65889, - 21.739719 - ], - [ - -71.657791, - 21.82333 - ] - ] - ], - [ - [ - [ - -72.262222, - 21.75111 - ], - [ - -72.247787, - 21.795555 - ], - [ - -72.327225, - 21.855831 - ], - [ - -72.262222, - 21.75111 - ] - ] - ], - [ - [ - [ - -71.884171, - 21.847221 - ], - [ - -71.912231, - 21.943333 - ], - [ - -72.03334, - 21.942776 - ], - [ - -71.884171, - 21.847221 - ] - ] - ] - ] - }, - "name" : "Turks and Caicos Islands", - "iso2" : "TC", - "iso3" : "TCA" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "L71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -17.05233, - 20.764095 - ], - [ - -16.953056, - 21.338333 - ], - [ - -15.741997, - 21.338284 - ], - [ - -12.999723, - 21.338055 - ], - [ - -13.105278, - 22.893055 - ], - [ - -12.000278, - 23.454441 - ], - [ - -12.000557, - 26 - ], - [ - -8.666945, - 26.000275 - ], - [ - -8.66679, - 27.290459 - ], - [ - -8.666668, - 27.666664 - ], - [ - -13.174961, - 27.666958 - ], - [ - -13.574167, - 26.731667 - ], - [ - -14.480278, - 26.171108 - ], - [ - -14.901112, - 24.688053 - ], - [ - -15.838058, - 23.896938 - ], - [ - -16.00639, - 23.6675 - ], - [ - -15.777225, - 23.908882 - ], - [ - -15.766668, - 23.781666 - ], - [ - -16.075558, - 23.324444 - ], - [ - -16.491112, - 22.334164 - ], - [ - -16.719448, - 22.26083 - ], - [ - -16.917225, - 21.943054 - ], - [ - -17.05233, - 20.764095 - ] - ] - ] - }, - "name" : "Western Sahara", - "iso2" : "EH", - "iso3" : "ESH" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "ML1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 20.295954, - 42.824291 - ], - [ - 20.071423, - 42.560913 - ], - [ - 20.589642, - 41.882187 - ], - [ - 21.630444, - 42.141091 - ], - [ - 21.576636, - 42.245224 - ], - [ - 21.54332, - 42.32025 - ], - [ - 21.66292, - 42.43922 - ], - [ - 21.77505, - 42.6827 - ], - [ - 21.63302, - 42.67717 - ], - [ - 21.43866, - 42.86255 - ], - [ - 21.27421, - 42.90959 - ], - [ - 21.143395, - 43.068685 - ], - [ - 20.95651, - 43.13094 - ], - [ - 20.81448, - 43.27205 - ], - [ - 20.63508, - 43.21671 - ], - [ - 20.49679, - 42.88469 - ], - [ - 20.295954, - 42.824291 - ] - ] - ] - }, - "name" : "Kosovo", - "iso2" : "XK", - "iso3" : "XKX" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Mb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 12.44509, - 41.903118 - ], - [ - 12.45666, - 41.901426 - ], - [ - 12.451653, - 41.907989 - ], - [ - 12.44509, - 41.903118 - ] - ] - ] - }, - "name" : "Holy See (Vatican City)", - "iso2" : "VA", - "iso3" : "VAT" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Mr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -8.290895, - 70.974154 - ], - [ - -7.927002, - 71.15082 - ], - [ - -9.120058, - 70.857759 - ], - [ - -8.290895, - 70.974154 - ] - ] - ], - [ - [ - [ - 19.18194, - 74.359713 - ], - [ - 19.299723, - 74.474993 - ], - [ - 18.791945, - 74.481661 - ], - [ - 19.18194, - 74.359713 - ] - ] - ], - [ - [ - [ - 25.016111, - 76.466387 - ], - [ - 25.58222, - 76.706652 - ], - [ - 24.936384, - 76.44887 - ], - [ - 25.016111, - 76.466387 - ] - ] - ], - [ - [ - [ - 23.285555, - 77.264711 - ], - [ - 23.036386, - 77.259996 - ], - [ - 23.135275, - 77.235262 - ], - [ - 23.285555, - 77.264711 - ] - ] - ], - [ - [ - [ - 23.336111, - 78.197481 - ], - [ - 20.903051, - 78.114992 - ], - [ - 21.644999, - 77.912493 - ], - [ - 20.858889, - 77.462496 - ], - [ - 22.778334, - 77.547762 - ], - [ - 22.407499, - 77.420824 - ], - [ - 22.641108, - 77.253054 - ], - [ - 24.910276, - 77.749712 - ], - [ - 23.059721, - 78.0161 - ], - [ - 23.336111, - 78.197481 - ] - ] - ], - [ - [ - [ - 21.501665, - 78.565538 - ], - [ - 20.12472, - 78.472216 - ], - [ - 20.67111, - 78.187487 - ], - [ - 22.271944, - 78.263613 - ], - [ - 22.028887, - 78.580828 - ], - [ - 21.501665, - 78.565538 - ] - ] - ], - [ - [ - [ - 26.847498, - 78.707491 - ], - [ - 27.0175, - 78.693041 - ], - [ - 26.396387, - 78.77083 - ], - [ - 26.847498, - 78.707491 - ] - ] - ], - [ - [ - [ - 11.271944, - 78.606936 - ], - [ - 10.488611, - 78.896379 - ], - [ - 12.16361, - 78.199709 - ], - [ - 11.271944, - 78.606936 - ] - ] - ], - [ - [ - [ - 29.030554, - 78.916094 - ], - [ - 28.01972, - 78.867479 - ], - [ - 29.708052, - 78.896379 - ], - [ - 29.030554, - 78.916094 - ] - ] - ], - [ - [ - [ - 30.20944, - 78.976381 - ], - [ - 30.336111, - 78.988878 - ], - [ - 30.066942, - 79.001101 - ], - [ - 30.20944, - 78.976381 - ] - ] - ], - [ - [ - [ - 21.226107, - 79.037493 - ], - [ - 20.923609, - 79.029985 - ], - [ - 20.982496, - 79.014162 - ], - [ - 21.226107, - 79.037493 - ] - ] - ], - [ - [ - [ - 20.833055, - 79.054155 - ], - [ - 20.19972, - 79.124697 - ], - [ - 20.04611, - 79.037493 - ], - [ - 20.833055, - 79.054155 - ] - ] - ], - [ - [ - [ - 20.007502, - 79.242205 - ], - [ - 20.168886, - 79.319155 - ], - [ - 19.954718, - 79.226656 - ], - [ - 20.007502, - 79.242205 - ] - ] - ], - [ - [ - [ - 20.109442, - 79.365816 - ], - [ - 19.628332, - 79.388323 - ], - [ - 20.180277, - 79.338884 - ], - [ - 20.109442, - 79.365816 - ] - ] - ], - [ - [ - [ - 10.922777, - 79.651094 - ], - [ - 11.076109, - 79.662767 - ], - [ - 10.712221, - 79.71361 - ], - [ - 10.922777, - 79.651094 - ] - ] - ], - [ - [ - [ - 11.000555, - 79.740267 - ], - [ - 10.756109, - 79.783327 - ], - [ - 10.639166, - 79.750002 - ], - [ - 11.000555, - 79.740267 - ] - ] - ], - [ - [ - [ - 16.819166, - 79.87221 - ], - [ - 16.307775, - 80.062761 - ], - [ - 15.638056, - 79.827211 - ], - [ - 16.449999, - 78.903872 - ], - [ - 14.584997, - 79.804155 - ], - [ - 13.886946, - 79.541368 - ], - [ - 14.058889, - 79.260271 - ], - [ - 13.257223, - 79.471376 - ], - [ - 13.484442, - 79.580828 - ], - [ - 12.447779, - 79.566378 - ], - [ - 13.82472, - 79.875261 - ], - [ - 10.676943, - 79.544985 - ], - [ - 11.236387, - 79.09305 - ], - [ - 12.113054, - 79.295824 - ], - [ - 11.755278, - 79.075823 - ], - [ - 12.505556, - 78.908037 - ], - [ - 11.333334, - 78.960543 - ], - [ - 13.19861, - 78.540819 - ], - [ - 12.360556, - 78.480272 - ], - [ - 13.006666, - 78.197481 - ], - [ - 14.726389, - 78.383883 - ], - [ - 14.385557, - 78.497759 - ], - [ - 15.379999, - 78.844713 - ], - [ - 15.193331, - 78.588045 - ], - [ - 15.464167, - 78.451662 - ], - [ - 16.83111, - 78.671923 - ], - [ - 16.328886, - 78.452211 - ], - [ - 17.301664, - 78.420259 - ], - [ - 13.588888, - 78.049425 - ], - [ - 13.941942, - 77.716661 - ], - [ - 17.006109, - 77.931368 - ], - [ - 14.739164, - 77.658602 - ], - [ - 16.223051, - 77.434984 - ], - [ - 13.914167, - 77.527773 - ], - [ - 14.467222, - 77.171648 - ], - [ - 16.51972, - 76.998598 - ], - [ - 15.498053, - 76.879976 - ], - [ - 16.612776, - 76.570543 - ], - [ - 17.198332, - 76.694704 - ], - [ - 16.919165, - 76.799715 - ], - [ - 17.738329, - 77.471102 - ], - [ - 18.292776, - 77.50638 - ], - [ - 18.41083, - 78.021654 - ], - [ - 19.092222, - 78.095537 - ], - [ - 18.965551, - 78.456102 - ], - [ - 21.549166, - 78.767763 - ], - [ - 18.920553, - 79.164156 - ], - [ - 18.356943, - 79.628313 - ], - [ - 17.635553, - 79.372484 - ], - [ - 18.098333, - 79.720263 - ], - [ - 16.819166, - 79.87221 - ] - ] - ], - [ - [ - [ - 27.837778, - 80.110262 - ], - [ - 28.074442, - 80.144152 - ], - [ - 27.674166, - 80.122759 - ], - [ - 27.837778, - 80.110262 - ] - ] - ], - [ - [ - [ - 36.849161, - 80.139986 - ], - [ - 36.760279, - 80.160814 - ], - [ - 36.590548, - 80.154985 - ], - [ - 36.849161, - 80.139986 - ] - ] - ], - [ - [ - [ - 32.366388, - 80.094439 - ], - [ - 33.637499, - 80.21332 - ], - [ - 31.449442, - 80.085817 - ], - [ - 32.366388, - 80.094439 - ] - ] - ], - [ - [ - [ - 18.553331, - 80.245531 - ], - [ - 18.758612, - 80.301928 - ], - [ - 18.119444, - 80.284716 - ], - [ - 18.553331, - 80.245531 - ] - ] - ], - [ - [ - [ - 24.335833, - 80.384157 - ], - [ - 24.196943, - 80.454165 - ], - [ - 24.128611, - 80.393053 - ], - [ - 24.335833, - 80.384157 - ] - ] - ], - [ - [ - [ - 19.933332, - 80.47748 - ], - [ - 19.463331, - 80.454714 - ], - [ - 19.837778, - 80.213884 - ], - [ - 18.979998, - 80.336657 - ], - [ - 19.584166, - 80.151384 - ], - [ - 19.340555, - 80.086382 - ], - [ - 17.783056, - 80.127764 - ], - [ - 18.809443, - 79.994707 - ], - [ - 18.154165, - 79.90999 - ], - [ - 18.771387, - 79.717485 - ], - [ - 22.312498, - 79.796938 - ], - [ - 19.635553, - 79.603868 - ], - [ - 23.511667, - 79.178865 - ], - [ - 27.244997, - 79.904985 - ], - [ - 24.836386, - 80.350817 - ], - [ - 23.101389, - 80.120821 - ], - [ - 23.36083, - 80.42943 - ], - [ - 22.886942, - 80.490267 - ], - [ - 22.361109, - 80.410265 - ], - [ - 22.578611, - 80.298601 - ], - [ - 22.226385, - 79.979158 - ], - [ - 21.598608, - 80.118319 - ], - [ - 21.860556, - 80.267763 - ], - [ - 19.933332, - 80.47748 - ] - ] - ], - [ - [ - [ - 24.265001, - 80.471102 - ], - [ - 24.174997, - 80.509157 - ], - [ - 23.97444, - 80.490541 - ], - [ - 24.265001, - 80.471102 - ] - ] - ], - [ - [ - [ - 19.933332, - 80.47748 - ], - [ - 20.130278, - 80.512774 - ], - [ - 19.844721, - 80.503054 - ], - [ - 19.933332, - 80.47748 - ] - ] - ], - [ - [ - [ - 20.753611, - 80.62137 - ], - [ - 20.793333, - 80.647493 - ], - [ - 20.499163, - 80.657763 - ], - [ - 20.753611, - 80.62137 - ] - ] - ], - [ - [ - [ - 21.330278, - 80.700274 - ], - [ - 21.026388, - 80.681658 - ], - [ - 21.365, - 80.678865 - ], - [ - 21.330278, - 80.700274 - ] - ] - ], - [ - [ - [ - 20.819166, - 80.719149 - ], - [ - 21.006666, - 80.701387 - ], - [ - 20.518332, - 80.759996 - ], - [ - 20.819166, - 80.719149 - ] - ] - ] - ] - }, - "name" : "Svalbard", - "iso2" : "SJ", - "iso3" : "SJM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "M71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -63.011459, - 18.067276 - ], - [ - -63.006668, - 18.080555 - ], - [ - -63.139839, - 18.058601 - ], - [ - -63.011459, - 18.067276 - ] - ] - ] - }, - "name" : "Saint Martin", - "iso2" : "MF", - "iso3" : "MAF" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "NL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -63.139839, - 18.058601 - ], - [ - -63.028336, - 18.015553 - ], - [ - -63.011459, - 18.067276 - ], - [ - -63.139839, - 18.058601 - ] - ] - ] - }, - "name" : "Sint Maarten", - "iso2" : "SX", - "iso3" : "SXM" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Nb1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -2.590834, - 49.422493 - ], - [ - -2.501667, - 49.507774 - ], - [ - -2.670278, - 49.434166 - ], - [ - -2.590834, - 49.422493 - ] - ] - ] - }, - "name" : "Guernsey", - "iso2" : "GG", - "iso3" : "GGY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Nr1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -2.015, - 49.214165 - ], - [ - -2.247222, - 49.253052 - ], - [ - -2.205278, - 49.180832 - ], - [ - -2.015, - 49.214165 - ] - ] - ] - }, - "name" : "Jersey", - "iso2" : "JE", - "iso3" : "JEY" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "N71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -27.325836, - -59.427223 - ], - [ - -27.412502, - -59.434448 - ], - [ - -27.298058, - -59.473061 - ], - [ - -27.325836, - -59.427223 - ] - ] - ], - [ - [ - [ - -26.582779, - -59.070007 - ], - [ - -26.501114, - -59.036949 - ], - [ - -26.665001, - -59.025841 - ], - [ - -26.582779, - -59.070007 - ] - ] - ], - [ - [ - [ - -26.246391, - -58.407501 - ], - [ - -26.459167, - -58.427223 - ], - [ - -26.24889, - -58.498611 - ], - [ - -26.246391, - -58.407501 - ] - ] - ], - [ - [ - [ - -26.412781, - -57.80806 - ], - [ - -26.443336, - -57.743896 - ], - [ - -26.512222, - -57.771118 - ], - [ - -26.412781, - -57.80806 - ] - ] - ], - [ - [ - [ - -26.660835, - -57.086395 - ], - [ - -26.675835, - -57.056396 - ], - [ - -26.728889, - -57.062782 - ], - [ - -26.660835, - -57.086395 - ] - ] - ], - [ - [ - [ - -27.108612, - -56.717506 - ], - [ - -27.129448, - -56.682228 - ], - [ - -27.209724, - -56.693611 - ], - [ - -27.108612, - -56.717506 - ] - ] - ], - [ - [ - [ - -27.563892, - -56.320557 - ], - [ - -27.549446, - -56.27417 - ], - [ - -27.600002, - -56.281113 - ], - [ - -27.563892, - -56.320557 - ] - ] - ], - [ - [ - [ - -37.038612, - -54.511673 - ], - [ - -37.105835, - -54.471115 - ], - [ - -37.083618, - -54.512779 - ], - [ - -37.038612, - -54.511673 - ] - ] - ], - [ - [ - [ - -37.495003, - -54.010559 - ], - [ - -38.033058, - -54.048889 - ], - [ - -37.239449, - -54.147781 - ], - [ - -37.411392, - -54.268333 - ], - [ - -36.115837, - -54.887222 - ], - [ - -35.782501, - -54.765556 - ], - [ - -36.288063, - -54.266396 - ], - [ - -37.495003, - -54.010559 - ] - ] - ] - ] - }, - "name" : "South Georgia South Sandwich Islands", - "iso2" : "GS", - "iso3" : "SGS" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "OL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 121.576393, - 22.001389 - ], - [ - 121.546944, - 22.078053 - ], - [ - 121.490257, - 22.078609 - ], - [ - 121.576393, - 22.001389 - ] - ] - ], - [ - [ - [ - 119.669434, - 23.549999 - ], - [ - 119.598328, - 23.606941 - ], - [ - 119.526703, - 23.535461 - ], - [ - 119.669434, - 23.549999 - ] - ] - ], - [ - [ - [ - 118.223602, - 24.404163 - ], - [ - 118.241364, - 24.445827 - ], - [ - 118.207489, - 24.412495 - ], - [ - 118.223602, - 24.404163 - ] - ] - ], - [ - [ - [ - 118.419144, - 24.395828 - ], - [ - 118.401657, - 24.521664 - ], - [ - 118.275543, - 24.399162 - ], - [ - 118.419144, - 24.395828 - ] - ] - ], - [ - [ - [ - 121.734711, - 25.138885 - ], - [ - 121.009163, - 25.008888 - ], - [ - 120.111366, - 23.620274 - ], - [ - 120.052757, - 23.044998 - ], - [ - 120.716377, - 21.928051 - ], - [ - 121.839706, - 24.476383 - ], - [ - 122.002213, - 25.006943 - ], - [ - 121.734711, - 25.138885 - ] - ] - ], - [ - [ - [ - 119.929428, - 26.134995 - ], - [ - 119.952477, - 26.159996 - ], - [ - 119.909416, - 26.159439 - ], - [ - 119.929428, - 26.134995 - ] - ] - ], - [ - [ - [ - 119.967209, - 26.187496 - ], - [ - 120.006104, - 26.219162 - ], - [ - 119.956383, - 26.215549 - ], - [ - 119.967209, - 26.187496 - ] - ] - ] - ] - }, - "name" : "Taiwan", - "iso2" : "TW", - "iso3" : "TWN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Ob1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - -68.965561, - 12.198889 - ], - [ - -68.746948, - 12.040277 - ], - [ - -69.16362, - 12.366388 - ], - [ - -68.965561, - 12.198889 - ] - ] - ] - }, - "name" : "Curaçao", - "iso2" : "CW", - "iso3" : "CUW" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "Or1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - 34.195517, - 9.47239 - ], - [ - 34.28611, - 10.554165 - ], - [ - 34.594444, - 10.887777 - ], - [ - 34.864441, - 10.734999 - ], - [ - 35.096939, - 11.826944 - ], - [ - 35.70108, - 12.666115 - ], - [ - 36.142693, - 12.706923 - ], - [ - 36.542816, - 14.262053 - ], - [ - 36.443283, - 15.149952 - ], - [ - 36.973053, - 16.269444 - ], - [ - 36.995827, - 17.073887 - ], - [ - 37.423286, - 17.034214 - ], - [ - 38.600693, - 17.994881 - ], - [ - 37.433327, - 18.858055 - ], - [ - 37.10527, - 21.212219 - ], - [ - 37.309441, - 21.060276 - ], - [ - 36.888466, - 22.000111 - ], - [ - 31.453888, - 21.998333 - ], - [ - 31.455555, - 22.23222 - ], - [ - 31.271111, - 21.998333 - ], - [ - 25.001423, - 21.999695 - ], - [ - 25.000832, - 19.999119 - ], - [ - 24.000832, - 20.001942 - ], - [ - 24.002747, - 19.499065 - ], - [ - 23.999603, - 15.698709 - ], - [ - 22.937222, - 15.561943 - ], - [ - 22.935833, - 15.11611 - ], - [ - 22.384163, - 14.554165 - ], - [ - 22.554996, - 14.125555 - ], - [ - 22.084442, - 13.779165 - ], - [ - 22.294167, - 13.35861 - ], - [ - 21.827774, - 12.797499 - ], - [ - 22.466942, - 12.621666 - ], - [ - 22.866505, - 10.922447 - ], - [ - 23.669167, - 9.866943 - ], - [ - 23.517776, - 8.714167 - ], - [ - 24.047173, - 8.693076 - ], - [ - 24.537415, - 8.917538 - ], - [ - 24.794926, - 9.810241 - ], - [ - 25.069604, - 10.27376 - ], - [ - 25.790633, - 10.411099 - ], - [ - 25.962307, - 10.136421 - ], - [ - 26.1522, - 9.826436 - ], - [ - 26.477328, - 9.55273 - ], - [ - 26.752006, - 9.466893 - ], - [ - 27.112521, - 9.638567 - ], - [ - 27.833551, - 9.604232 - ], - [ - 27.97089, - 9.398224 - ], - [ - 28.966597, - 9.398224 - ], - [ - 29.000932, - 9.604232 - ], - [ - 29.515953, - 9.793074 - ], - [ - 29.618957, - 10.084919 - ], - [ - 29.996639, - 10.290927 - ], - [ - 30.837841, - 9.707237 - ], - [ - 31.352862, - 9.810241 - ], - [ - 31.850716, - 10.531271 - ], - [ - 32.400072, - 11.080626 - ], - [ - 32.314235, - 11.681484 - ], - [ - 32.073892, - 11.97333 - ], - [ - 32.67475, - 12.024832 - ], - [ - 32.743419, - 12.248008 - ], - [ - 33.206938, - 12.179338 - ], - [ - 33.086766, - 11.441141 - ], - [ - 33.206938, - 10.720112 - ], - [ - 33.721959, - 10.325262 - ], - [ - 33.842131, - 9.981915 - ], - [ - 33.824963, - 9.484061 - ], - [ - 33.963393, - 9.464285 - ], - [ - 34.195517, - 9.47239 - ] - ] - ], - [ - [ - [ - 37.268608, - 20.75111 - ], - [ - 37.263855, - 20.849724 - ], - [ - 37.242218, - 20.785831 - ], - [ - 37.268608, - 20.75111 - ] - ] - ] - ] - }, - "name" : "Sudan", - "iso2" : "SD", - "iso3" : "SDN" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "O71E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "polygon", - "coordinates" : [ - [ - [ - 21.630444, - 42.141091 - ], - [ - 22.365276, - 42.323883 - ], - [ - 22.442219, - 42.821663 - ], - [ - 23.004997, - 43.192772 - ], - [ - 22.367222, - 43.826942 - ], - [ - 22.681435, - 44.224701 - ], - [ - 22.457333, - 44.474358 - ], - [ - 22.764893, - 44.559006 - ], - [ - 22.479164, - 44.710274 - ], - [ - 22.146385, - 44.479164 - ], - [ - 21.400398, - 44.780823 - ], - [ - 21.513611, - 45.151108 - ], - [ - 20.261024, - 46.114853 - ], - [ - 18.81702, - 45.912964 - ], - [ - 18.980324, - 45.378624 - ], - [ - 19.423885, - 45.22583 - ], - [ - 19.039719, - 44.861382 - ], - [ - 19.371387, - 44.88916 - ], - [ - 19.104443, - 44.355827 - ], - [ - 19.620476, - 44.048454 - ], - [ - 19.237019, - 44.011009 - ], - [ - 19.51083, - 43.679718 - ], - [ - 19.228809, - 43.513214 - ], - [ - 20.348888, - 42.886383 - ], - [ - 20.295954, - 42.824291 - ], - [ - 20.49679, - 42.88469 - ], - [ - 20.63508, - 43.21671 - ], - [ - 20.81448, - 43.27205 - ], - [ - 20.95651, - 43.13094 - ], - [ - 21.143395, - 43.068685 - ], - [ - 21.27421, - 42.90959 - ], - [ - 21.43866, - 42.86255 - ], - [ - 21.63302, - 42.67717 - ], - [ - 21.77505, - 42.6827 - ], - [ - 21.66292, - 42.43922 - ], - [ - 21.54332, - 42.32025 - ], - [ - 21.576636, - 42.245224 - ], - [ - 21.630444, - 42.141091 - ] - ] - ] - }, - "name" : "Serbia", - "iso2" : "RS", - "iso3" : "SRB" - } - }, - { - "_index" : "world_countries_v1", - "_id" : "PL1E6XMBz91lfVjVLNrV", - "_score" : 0.0, - "_source" : { - "coordinates" : { - "type" : "multipolygon", - "coordinates" : [ - [ - [ - [ - -61.037224, - 16.311108 - ], - [ - -60.988617, - 16.346107 - ], - [ - -61.08667, - 16.29583 - ], - [ - -61.037224, - 16.311108 - ] - ] - ], - [ - [ - [ - -61.346115, - 16.334164 - ], - [ - -61.783615, - 16.333054 - ], - [ - -61.695007, - 15.949165 - ], - [ - -61.346115, - 16.334164 - ] - ] - ], - [ - [ - [ - -61.24556, - 15.871666 - ], - [ - -61.266945, - 16.014999 - ], - [ - -61.329445, - 15.92861 - ], - [ - -61.24556, - 15.871666 - ] - ] - ] - ] - }, - "name" : "Guadeloupe", - "iso2" : "GP", - "iso3" : "GLP" - } - } - ] - } -} +{"took":0,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":1,"relation":"eq"},"max_score":0,"hits":[{"_index":"test","_id":"QeU6DXQBndo7xDvWdYbY","_score":0,"_source":{"coordinates":{"coordinates":[[[-106.171875,36.59788913307022],[-50.625,-22.91792293614603],[4.921875,42.8115217450979],[-33.046875,63.54855223203644],[-66.796875,63.860035895395306],[-106.171875,36.59788913307022]]],"type":"polygon"}}}]}} diff --git a/x-pack/plugins/maps/server/mvt/__tests__/pbf/0_0_0.pbf b/x-pack/plugins/maps/server/mvt/__tests__/pbf/0_0_0.pbf index 9d0616549df810d8dd2ce6d6fcbc147953be69a6..386769f4f2420fafe89e00b7b12c0bdf9f03bb4b 100644 GIT binary patch delta 106 zcmeyrfoU$Ijnpj03MMX|;{4L0uVmoCqE|I|0P&1c^K&QNveDeyIvhbA1q(~(;E|!wi K;u0k$3kCoe8yxol literal 39039 zcmZ5|d7Lgqb#^V?U0v0C_1^Ek&O7hy%bk1Y?p*fEBD;zUO4O*)5HT7xU-AJ8!7HdB z5J5CbTv1U88q~NEHA>VdaV4%qi5fLZ)F>|bo}O3#`TpR?+?lG=)zwv}&Uv2aRQ0QO zvga}7KKqjAT>1x3zUUcGeEyR!om|${1ML$+DPx=)hRH3n;Qc^ecHGYoR^%A{zl8if z4fHu^WKqFvF40KtG&(4+KKx_UEYAoeHI>H#d3vsimD+)R0y_9K zU?GptA=>G1y8LMG=fyE5UA7rz$uM-SO{LlCQYGWIZ6{AYJnHXuY20(X_#5UG-e4;@q~2e3A^MilMffVQx+J~;p4BT*-*PN z^EPA04utF!Bu*V$q#c`At|6pjnawQF^DvdsoE5x;sdC3uD(@aVnD4c7o4JYVip+DP zG|&rZTG0k;@)nx5cADn$^^*@4MY83f(O% znn*(#b3@V3iEre6iyN88eBw5H-U4wV)`<)`pOw~9Sn{6hM1dxTh`2G5CP|e^PD@&1 zO~*Xfjp%H&$(y@f)7;gJj8;|-l@;1?ps&NQ$e7Nt37^L+&hNb9ubF&s``2@q_SH}t zQ!e- z%$9+)NR=_q^`b!Dz{CS~HnpdrsWlt=%39sqP4?IZaa_ert6AvgBJcWR@1Qf>xY%4= z^W(%LhMz`6IyQ+q?J|hiT!*Al?uQN*f6G#V%tbS1z96X^@P^lJ6vU4mMWT_UG!o2o zb_dT%MoCbd&6c`7+DU1w3|o>>eB$Udr3@}|D|A`BONcw{pxQUisKV3C-+g|674O- zoTsK?8N7*46bM6VZ_V%mCktZ7iZkElEZb{0`byieO@bW{xlT9OCf^0ayLJo*@|EHB zt-eXvk`CB#=FPU~ZnlSSqtW(GqlUb5aCLr;MNRE0K`a&dX11{*T6g1;3!!#iAJ}WObbn3w=rGvs)Y&1C;Dn0d^S=Tb!Msq?)mK5HQDk5TM zpPe3VnIbWRfeiGG^)^0853$4iI2b=}$M|Jb{&wwH^8suNk2rozL|c&IX4KBQ?qa!U z&zU`$iipk$=HyfhiwmNnkYaP0wjqU$LqbZWM!}LP9Y!Orybe}y;0j|w8`<$ilv$=1 z=DM;8%V<(INz&%5@GYs~()~a$VOU4#@$3YCB8GM1&ag`P#_mJyqvCu=GOv<4)uC18 zL%M&qEKZ^)vs3t~XnyKW^A-8k{XgjG#4WKNT5*-AoO1lQlvkGR3Cj%RmaRJY;5k<* zmc_p@JoG3%jh)WVfR!_LtbClw2eR9`Dog{}H>X`Nok})rsZrafW$2vf@Q)OOtCB z(sLZ2_scO!BHQ$HLQHOV7_;X6`H7_XNH#I7w%Jd!jiWjW8+e#QvcL~kgOCTxiQ-X9 zT2UDp(~ZRj9R<{wPnn!w<3>ZoO!|X3C+QsF4c_XQjdb3V5g9ZLcywwEA~z;n#?+E| zFUhUWD$cHhnA|hzBiLE|Y)tOiJCi$=za2i1AEOI4UeL&8%Vu5>gpDA!9oyhG7B3qI zeYczhx`Y1b&~w>&{CxC3f2Y4A@7{cQM~lS4k^J)(T3kRM$sWZYjTVpIY4NR=ygPeo zb`RGaCysC1VJxx25H%>-b_j_)*N#PChRkdgCa+>@!VhyC25@7!zd=oz#Su~P({`+| zXkBUwchK*-EU;}=ZiQ)R1xaEU!qf>GhTO6oUtwLm!@pMC)3FSZKlbFx7z}gPTP}zU znx(B+z{JyY~Kaj*zIcqY6~Zd+EvbkpTn`!vZEa|_XI zKFTzMs%cBdgEx+-w`rI<44hR(Xy{ARRkmY=)LF9PkTrWePklc(os91*o!n|D7DcR= zQ5khp&+NNlm-PF~5#_dvz+tbSTUnboZ8tmAY+7xPu_T*vRe1W`gy4V>al}WbhpDxg zMTrhucK4v!To^kZiSPje$HZr{e4b5DjFP0cywRH@Pg!hiExf3590< zyz9HMWrgtfR*df)gu#>^aeZD`dB(#1Qm+PodV=o?UpWUYa!!~DJF)%53lpgm5!jK7 zCE}Leh?P;ioHysi_GpfHNlZOu(IAwu!2{cr90xYjJxB7=_fE*LX1wuOSegpk^_$Fq zeZw{TEz(xJa50|(^Jv?ymsq5khM8mMG_wPiwda)LJ}bl8rpcvmd4W$&(@t?h`XMD5 z{52wxKxLRwWk+Elh#RRyaOG0GsnLWhGO&CTg>cBmY9So&MDQcm7RPIO_!3wIIyUh; z!yl@Rq-oAofec;K-rowiMK!a12WunoOe67ytHOvRmIFW2s76L-d>y4}f0V49aMGd0 zxJk4!ndRo%6RGWDjU=X5AmDEirk$CLhwKuX7GrmT=j%w4dMZJQtJQ8AXM6>FqkJ@ zN5B%+Hgz3@8Y&1ZD;A-kOqi}GLQXvH3nopQw`gLPBs2qJ$%ICP3H(`vx$9C-5+m|5 z^pcKir6zM4g_{QW3`GC@a~68_dh+$CI7P&X3XEZAtiF*svs-_nG7qdCJ_VB}YP zs@(9Dp~a+UWB8Ye7hr~xERd_WQk{`T9LQIT7qW|mmm5?lLbz~3Mm+o%g(@B*NbtTY zjl<`2ObeHp{)wJvO@^0L=M0}rnwHb-x0c6C**Keb+e+vS?oQM89P7>Nac!?foHP5sv784itw8Z(x zv^(O{cEU@A-tdFmw}e4#9KyDtQrb6Cn;Hd;LhdA?RG~0j6;o{lVH3M8OgX$7_L0_k zQpE%(hm~`LD8f%V7DjBrS!Z!zc&5fq69H3>XW;*&>J2iLdw$vq3l4!1Bhu0Ofk1wj-eOg@-9e&+6X)rBZ8gD8hGR1#L{EVX-fw6`y~qI%9mYJ_Rv`Hg zxrXaTMsnOSjxayRANkj~b};9GT(}$47k2OyNwpU#X(M8x?=`B3Cb2*sWxQM-<(Uzi3G+N{c`Tv`bYS7HSl{wRfdIM$ zCcu6o?qz$rqQBb6l9FyF8?2k8NfqeK(b_lC_2$9(O}5-6SscQZTvS(!_J1vlxzRl1o>7bkORs_I9kC~p2x%2*(_Ct+-nF7w(>?(<0((hSX*#SKE z-_kGf>-pj{hL+ky7BZhuqwCmJ(^;)NeCSk9S1NB+L{L}{@lQix3_$_dT(EPq@0`Ev(^9v@E-aJrYg*3<9bo?Or|zg zf_#ql?HD;p`fgKMn1Jm^>8v}zw{1UO2W18f;rJiZOZS8ek6lCj=8a3LkO#5cYmk!* zD~Npe zJ@JADVgiDEXv-A+vUQ* z_CaL>eu80D3B4$^MROtw;Eh z{X0#~0mNeX2emYPe6-HX3{~MXN=FT_%exI7=@JdPpQLd6E`DmglU9Y>as~E>zJ^w* zM6iUZ>wJk;*mg#|8=3D=b(*4$bk_kJ4-LMnWoN59a#jj@Sx%_1~JQdw>%n|Pat z=%e?J^0QWs58X~+rpx=vgL519o^pY!e8?J3k?!e+g@a?qXm1%TZbV_6W1EEkK`RwL z#^1jZ$l}cPR-tX$oY!THQ(E$8=nl>Bj{I4`jO)+%tgo}%sA~X14v3z_s|O!>gl4HF zw${444_GuO*&!d8YqdLHItq{Y+*h%CXja6&TX;-mWk`zDG3H8S`cC1bMi(yBz{akY zJXIC~9>8nv!e@UQ)g@nE2;{kaBpQLdj{ZO$qf_N~D`i*njvWQAj9^lxCg1=^8AQMk zMmm`)iup}XL#lwoPj(vX6sRA^$`;JPU!q9cNrY*)0fN{O2HDW-h9#(NNtWTPgx?w+ z@eS!3hEAQa17Ak-S!R79eGGdne;o4O$Nes|e(Ar=bo?gVBz@LczPu%HW%G;J-+dewpYbH6OZ82{TTq7{?pFRuCFQ$LM zp2VMw=1<;fzF*$a|4ipTdf4^n7fJls!PuNMGSf@_zzO^~x20mD0jDaF4&bqt!&;v7 zbAg!-^c6J-^%VMt?5X@|F!{6{lYhJeRo}wrY!*2uHwfaWY{c@lKcGm}gl%QW4V$So zHyr6_CQ%hmEjLiW<|}h*XJJz`D_XcVob!5=g%>s#;hDAF6^Wl{lXN560xV?O$nH!k zV=K@jjN$3@kJvN#Gckr|?u;RlH;g{mohBp{9Jz3(3EaB|h5wjd!v2Im3+wqZHWV!#y(c$gZyj8JzfxTUE?7vX*h9p$zdNjanZ<~ARBZ`LX*l?&3-%q zVc~EvAihTpD{mK}zg!d>UST(@xugPc8X)O|%SZMFkkn5t%MzhUY3NaX z-tYhoJfY*g@?g9Bj8nQul8Eb#O_DfneoD)XLwlL~2%+>-@r5s?&t`whpMx*_oSiRx zo_zDtkBU3lhTBSP?N!WeFr_1#w;k1BhLIa`c)mMuvJMxBwC6F2oO*h$kG#F>SZU^L zhKZwW4NzMLVaSFNLXR1Ixyb;hDFilEZxL`|cJ5_>&vlhXlTXUgJZ z4NwhmQwZFkA5`XYTB)h#wCn0c()S~CkjTX{c1`B`jh3ncPGBU+?ci4Z z7(t~+EI-EnjiXy=E~iEif%rh4Oda1w79tyY5|zx3Obpj`v_&omWNB$`BG8wOg^K#Z ztdE8u(FV{6L`p()e#32zL2sPQGR7@^vaph1M%Qc7P&*~=-vuI_o=tmk2Q_3*0p15_8Z z@)@xURW+F(T9%#{rIowVbi#SF3}VeR2+cMPT63aP^iFZ?xXasvK%WoO*Hiim%5I?i z#@h6aGt>L!?a{HO2Bn6TcNbm19n6u6@p5T{&O5-zsL5l}&?)n|6|6d4c67*vA2y9X z$ml7|-bCqNQ}#;AZ?4VWJTn`~-;Qo8r^ucGIpzv^nZB<6Hn&jvD#~u9{MB{iSI-(h zPhQo3W1?*<#9%AD2h|8AoJZO8`b7oJ#F;R9JEd=>>}{04y*B#xnbBSH!^3N;+v&0~@fTx^1dh;h zUD6lfy0@6e-pEvkub@5x0i$RZFJr{~H0;&O?hZ=dLD@Sge^+hqT{C-! z{_fiJyJw~|c?BZCiZqwFi{L#i0WMhRa1J`Whtj{N>~6~6TX%Txti!gvW_T>_TUIN> zVSulhrP{Jnc(&&qyfh+>9AtVFfsRoeXGydfZCVJ5GX*MWFKoV#()UyL50rnPw)ugX z&7S?dbt7v=l*ca< z0nASf3SPkS=i3W_>t@UTGnD=dWuK+|b9LX(&HCo@joH1OBYy6*5Kd`Cm0%4T(?H)) zZ}s~q{a4C9Px%+>E?<~+`Ez)(4+FH`$!%@`igFuwYQ!!vl5RU)Esh9-PqMLB45#N` z3e}1LSqr`b)4h^?Ipz=b*U|!{ z$FTKvO20wbH!1&CZR=YzThEqX?0qV)%!$(qaR%Q^uLWE(gp>x+kbhHw#J@L)cNrPT;PE)j}%f3P<2|+%|Vc5Yeb1BB*Z6 z;GAmb_W-5;PT999|4u!c@61LM%d1C2rYit{2_zrLFPai8Mz4o(jeDhQN7$>Fpujf(3o^(y z2*Ggn;{o5N^gk*40p&leAMnH30|xS|bHC0n^*lt*QZzcTW$t&2Br}HPi(?N1e@JZJGNuG)`23>_c<`| z5T*Z3*-t6|S#98FGXr-!^2^0LBZbsdeu0jZLZgZmC5z)Z^W!6AC!pl@e81XxiC22j69RCzJ-0-Wr>)bPMq++5^-MowTcAaVIQ#Op1MVBAl zxQagYO;ijwX*e+R#Cz)IBd?%;mOU51)V3KHysO+|VPdUpng^}a4NVahtSI40LGiNk zsmj+Y!^-kk)WL-9*&U@&Z3IbaW-9PA#`Pjw%T{f7*(r9d=p+}*!v#9AS=+Hz0f_Eu zLFl6JeIOBo&Y{;0d4C}s45rpXAc{sW8@51VWJyaIVUc##E~sU=JCv5+vVF#rBwd|& zx+y%LBp`!bq&+tHW58iZsv5M3`1!!2x7+Q~J;~3T3sl*S?h&?;HLcawDS964MZ_$7 zWApf?<8a+$1U}D6?Fw!(D?t^4SsqKjH1XkFBax(`Od<1hIQEp~BapFy>oW*{hh5FutpJ!HUUwD|$M+u8~vo{1LG0wNgm z0Jt#DE29Mzd%xcZ6hk(QTsxJCH{^(tfcPXp^YQhZNM$L6s{sI7bA|4j^PRS_3}qc2 z0lX&?nziBrBe8f&T%i8Vd}OuL0rS(qbq2NS*6kx>PCAB{_UB^g6Ou-1B7xvg1+-%B zr)jRtr~z${pLu|_xM%ue`$SimF`oR4;rT;_OFDUViBJ-d6_z06XOqKJ+a>cBMM(Iuh* zJ(i{cn0lCC8(?j_kXEQJlqn!Rq(vjg(O%}-z@Zx;|CA|NkV5Q{9!(2{OjmDVyuYRN ze<{0+@ymf?nU}L2B%md42*2ID5Q;M+#*78wTI3GeG%cZAfX=W^g05ing^az3@hj_o zSI+wFmAAL90)k+B87JwM1@&hgBa6y}pMo~T-wyyu0ieTQ8xUUvaf3xkr-u)w&w$aZ z82u~8u4eqjwb2*PjBd*Br&n~4bhsYS{r+l1dOC*wM3q2l0uMle5hc(WCILqP!86;b zL&G|?JI3fs7`uk?Yio1Y&dlZVSbS&mNM_K<3UN$BEJ8UQnX`c7rHsCev6nM`UESll zS&xytHF{&~1#?!E0q(S!@@y&r8_5y4%f#CfL(4!ic@$5)p3zq@b_3%#*8Ojs^Z1`i^-XL;&4z;|+=7*1C$H~Ll>Mt+R!=-PT2-oogs7`v76SJ$0iJ?s3Z_&hg+ zcXFjbxlt1Y6{}A&EA?el^3&FLH3k;(+5rxe$b*v@@l6ql#5=@8z{NPlMF?O|F$(1Y z09WWbEitSJL~3E*$dzIBpmm9S5w>|_Y_Pma5a8&SfrKWnVf1epdoAOytH<-Y*?4|N zZf2L5LIuP++4InI`K_Zo@f%9S}DdQJ>=9%LdaUvd?zWWKd}84B7Q)or)#~hnY!F0>giaTb{-_lMW!N#| zm^XG?j%@i(zd428P=t8DtgsV(1SF8AI+`HTp1N6)AS0^thBq?$CdS^(_*?4Xyk$0= zSl&MVdbuvNXaj5A@|N`4?_i(X8GS2bZ)5!Jb@R8+nm{;UQ%UNVUhfZ2PS;vaBdLL37D?!=FoTFD{lrQ&pcEpLI;rHl$T~L+4oMHfpl% z(C9Th18kOw5)h|!Qy)M+fNrkC%Ea_Eqp=OD`ZSojlhMCp>@LRNU7LFM%+$L4?Bp(h zF)iX1^L*dhaShqoY+1YdjW#ntdiwpu;7QO8t9A$(XjTite_rp!_b~eRjNQ%nduwa& zomu-Tl@D$mYiO^Q{mJPPSULp0*V5~ecVdGQ<^~f8&!B`9z`j&0B&+?Ohn!i~+JUp2 zBW?&`frzmF1xsQdLH0Y5px@8*Cb&UEZXq7ho>2?q9AMMbbNoiFbRq<^tXz-5V>(uT zJQhdI{4;O0a{>)le2!FEwWIDfAGopYVkouF0H;><{9EW`nprqjp*NZjgLW^C6o?L$ z`K2-kp+lX_Kt%}{_c7l4eT=@Jv43Fv1ND1{yN}G;rSjJChpWBexs_UMsP3B1ss)JW>#Xn|M*oqqk23zTy8Xvy?ML#?@lBl< zoYQQ^kZV-rJYTo6e0fk3=iDWd7xNIsg6n)F`hT3!e`4$tjDNE3|H)bZgCIQb&+n&e zL-a@j2CCL*bUSwBtuQ0VELW~aIhT>?gRus~XL&9PnOGe1u6q`~bZz)vM*o?yPci=K z+VH1;Z}_`gA205w&~+jz&7r~q>wqBA!zmf!0J4zZo547T2p-i(pnaeT(-}g~VyzE8 zY6n3345R94Ty6MsGsD~Ro~^H!kSA&6ZszlEL*AMJ^sN@jGIDbR6;p`rh=>rp zBPjyIkHDyumwuUob#b)(QX&ARGjlq#%$cr=)W=cRmQ(o z&&JngvvIn7`Nkcs>sgLC6Og-9tvH3)G4?<#IIt-^<%y@drYw7l>3g6EV#r#%Nl2SfYEd+v{g{dNGs_l>d=g_>MRI9VkVXOF=PaW9KBNE1*bf;0 zVQuV(Gh?kCV;6GYW_d`O8=$*bJn(q0@D5`^*3sIJ82vBCe$4n!>V7|&^~>eMtq0mi zngeZ+tl+$8qO4&6YGoZg9%A&r8T%>YKdXEEY}TWcR}Eg99p&k?6>>Km%FLBT&s+j` zU*qCGXY_v<`vv2_to!_O*5|OizjsGx^)REqV(iz9|E4zmo0;hY^4pV}`u9;cb5RxtPukx1 zak>zeUUYnOx3kY}jS=5~e*s!eR`Q>%p<>j-& z%O}WJu6`zafTi;t8F)N?%JwqY!h;Ip(z2RA+Gb5(T|nEun{8T~K{MY9%Oew1RcTT+ zjc~US+i?@%Vm5M|%*}f3Qq9xd&5L?}K+~0lbRS%0O$A-S=?gh~5$9LdkG^vD=tzEk z@a=p$al(-L3qBwy{Y}t+mT(^DktnGR7x2=?G}Kto*u0CvNed;lRyt) z=%t*#jI)<>eqC+ox|tzIzGnLMfi}Uc2Kscgx}MWlaCQUdH`c9goVD7J*LUt}+)n36 z@gO~)4}8xFl9h!8X1ea2GqO{FB`9gRkkC=#kwd2w(wVV6H*xycoV}9sn`>(~&#di| zS4{6}AjPfvc5~QT#8ObCokO>df*ZY{^4%xo{+bNz4nhQ^xT-F|2=pg*;(bnE#o4W# zzq&T~>Y2eisJzPkd<9urt^K^8o%fItofj^*m%HH}&$WsHD;J$EwcNB;u6KEmSM!AU zl4Mm29&}~iwjwz~spR8UdZL#D2L(kB!ANUujmRA3tB{U(y#^R_nm5wzh1lI3PqJm3 zCi@l9nFqnyTuY2fr;}#{vXE%d>7BX#S84d4F&U7+RR*eHP| zG*}!EXIulD3qA0aLd0eS9HK?Y3Pi1sD1>Joq+F|CY1YbN+_K@(Zj>r7_=<=g0*Jp_C#(6bhI7t@`O~m2{YS88)84lXmkc_?l7A=RY3NtiK%bXXH;ZK|9>&g2SqVtJ^t!D`#)x{Oz@gx6e#?^40@i9#s3+=i&x9;vF84(|2(8 zPR`#|w|m#D-C_C7?nj#s(4iRjo^ohthtPo=L)~=FTiR=cWjH5tf8L4hJesqdDUe;) zj7w}j6lb)Kf<>P>`a3!OJI?On{N1(bch5|>1w3q z_0ZqL>ECm9H|OuI`@Q$~L$CW)w#%V!`d$3U>H9hR2hKlGxBI~F+uc6?X$fr?)*kc$ zb?Wj#PCvxihdKX9-R>i^cCmc@;IsKUU|Ufoh$^T6Cs1$qdpP|^&OXZd$LiJ}o3(c2 zy@U5@4IUYe@7+G+HvfO2`)hsq#`LAz>%rmFea>T^;!e+nXjQ&U|5U;wbxUN})Op6rqMERl7)(d*@uh9fT$q6b0GShtr zJ@dHo;v1=Y*5Ywz8d*D#|E>Q>rRcVaG^N(n$lLdX>l3wa3=Dz?9;z$l&vsW;8mJhN zw2WFvmvW$*rU?NwLKpd1NJX3wX~Ee!Wd0HZI~_R~HcRDd>D3UtQR)D)RG{-6jd~sY za1VQ04fEq~Pxp1ys9^XP+N|uwUatw#;5VV8MVJDox@2W~PIdNJqNcj$QI2gwbYi*y zI9|NyBOt9G`!6=1qVR;Pevhtz(D<+f$R%oJ+$RAl1Gh$6cOT2OWq^y9KW66C+!`T^ zfXl~gzs2w%gIvH1-A~8boY(m27Do1FgjbCOrBZX|BAkb;LmD-zc-cFYs6aA@9>BH_;PL^l*o9$#mo#LHQj_&RH>jl^~(} zHpMrXtChzeqH_;ZR*fHPon$V?#fcC_9t;MwlC74PNZk5SYUaqB#^6!^t2arOpY%{RTHG44wwbmLvMdjIvUo_4s8QU0U} zerZRk`q`GkC(7`U_%H( zx$fFdJQfWbGBix9=~h0k!pc#ZLOmnu1M^{Fjj}Ok?SNURXCduG(kf7$zzrqT7=_zF zX#oV{i(n%ZneUFvwj>ft{=>@RKINH>xqW*45+=|5-VtedF4 zcGON58>`#mf^PSuFS3`iWN7Y9{HMH%K7{1&d|4_ z@Vdilae#AizCD2Q)A^Had;Y=|RMG{&D!eTOM?e>P;p8OeFWt~9vhmVbKDU__)7Z+l zqN-xy*c=X@RGy%kCD`B$$M43YDBWjEAiKjmQ1~IL4CRRUgl((FdWy)0=+}4G4P&^U zlL3lNd_U|%;C$W%Q>H88ouW*uZS6To8mRal0%tD3&}aFW4+nB#>V_@mE|+F~Z$QiU zk46BpSyupP39`fv7omAH#Bw_@ro;9D@t92+hQra3uG-x_;+D;>U815?KyS%)-=FJG zv*CHdf9`8&WA8LQX-iJ;rhiQCrvH1WzO>{r<8FErCq?w%^l9h*Ie9;AKJLUzk_FQ_ zu(Uk7fo>hSoHkDT7pS<_moDl-@7khk?aFT~*Y!tP5p6B|0wo>>a|*#clp_To>H>i( z3&$x?A?u4?YuoHL_IKma_3TPoRM#+Z#L=a#4|3Xq06#M;R3nB-(w21+%k!>nOwyt2 z{(?rW9A}cSyqt=;hNSVM$Rl&Fr<|g?3@bM^J5YA|qB({3)h&2H5jp>DrLD zE&h7`99${GMO~*12}=YY;h7PF8C=6b?&b8KIr|jnpRRj-de*Cu4;=VuAGT2vjy==2 zYTko!1Rr&@_8Ct9g|p9c{<*r#=Vo2blJDt%v~?SEA!v==!NGVr2x16_%>p$xChny% z88QfFQx5U72eAUPU@xaO&keS(7?`CyKQRl`15Z&FFu~|*k;HwR{wrsn=ll!xqrNbE z)JgJ1y(?1O=uk`fIaqG!IziQ^cTy0422#2(w#XPkFI0#F0`3sFIRe2v0T}C~qQb!$ zts;8=f`KP|kwZAczRdYo>L+|<_JsEv^5O1f`aaNWQ!#)5sInyj83RPD;zo#Q41ZbV z4a%H;=wZ8|Xpw`^;J66`s3A^aGvT-l0H4+JB4E(OhO!q2p96uaRk{L~s(|j&PRyW1 zhCCd67DJhU;W+)Ev|SUbT~nGNu%mUagZBZyi5Q`TZWt;e$E{G51KC3e2^nCFv}8?* z2mpoMn3T8*WerUgeori;N>S)i>-r*|NRACpWvHAhP&;WmZ7Z&5bGS_=u5fdSFeOoO z;hQp4)NH#;O0G_JyM-c#8Fo?O9Erxn8s*W5LQ=dO6=^WA^AQ$&D4X-r?3c`ITUpv= zZfcXoc;Z^T$Z0w;PDk-qXcy24Kt7jpvqM4x=*8pA>Wv2sx9Ow|5s3n&?8gWi0kV3; zMIy>Wl#3cpLLw7Lnrnh4hYAMH$Z^DwyZ9QlUK!vu(6$nycwC=A6CBZ>;BPTB?t?)% z(CH%(15Ay(FmP8veJ6>Jz)OSllw})wle*&B1Xql^jj)zNRPv!JLgvk>f~vm({;baS z(#bkFbO5rwDr`_}3CdJm*cLVW0>#F)$~urIejQbrF{CUzK@?3A!RKZO*?__x#SRXKRN?yAXU4E-9kb zoLHKN_mLrrIW(Y-H`aOVgPi^cXW!-gdv(X}%{pE~MdJP5R{3tK38q0uEd7JeI#6V2U~;oJ}3;|ORr!?XaMbZmr=={ z;wx57g$hg~Sj3GL&E8^!n=LvhZ&w{?+)>?S;ocp{XZ!$_M3Afj^ZA{wiPQh&><1i0 zofzj2XX6||K6n4{Qkvz}alF9IN~iWlqwLUrWIx89bwf=vKxEIxTmFdC|KjY&od2Zm z{gYYm3*~3yhkN(3Y#1H&!*W@&Jb&^5NE)2pTId$6R{S*1{^qq~{ zxYcM&!$A>k8JlTu=w5&VG2m^yNr45oP?R1uDFpDPh}!Wwj%vFY+Hr9_E;NBAH^Hf+ zSa#?v6#9q=%Ei!vjLA~n4eY6anyE+4*s$hNaT4gqU?@N5^nW<}1?Ru4hw{tWP>z7x z{6YGCNIql1>M9CkojubWphiqGT$&~Lc>|4dD22+jH{))3-bN-v!_-|&$7v*d9``Xvjngn!WAW2pu?IkX5pTIo;xTp*Q4cvegs=}JU zE7wW-Z#n&6&Mq_fMCuM6g%pf5Doiwu5cZR5(BjThmTti2ERG-b#(<>N2X1;n^uxOQKN3Ia7sI`~H) z2M2QzI79sp!PB5x1z%DN)GlX#`F%=WLCWE(7!U+)dqiYJ-!#u#@CUbXnnnPG09Q` zxFl+d9O$=Ea3oL|VS;ks(a;_<=t~TCjlr+2dtN*1iR-K8Z*TOG1aPZU6Ae4~nn7P? zu$LSBy1M0cvzCth>HK#G@O?Phci_D14f+a$-C*z=>sB|;S}j9ddRul2UA4z?f0ZqR zJ;n7^=C}vt<2I;!XdY-s7*3;;n91A>M!w0Qe{HZ=8vN$k(9JVLIpF7;vLlt*#gt~l zl9Lem!&0DsRez;h4EidA-D>bx*Iiyc>+&s-(_446-$&g=kvS<&wq||0Mu?PbT$kc7 zXy$+o!s|gE&0UmKJ0YQnm1?~aWKQtpW#5^4siFX*Y85;_AWA#VUzi%n_WJq;7ud7% zxlSL1x+Zqe!_`D4I7FhLA%v!Ff7DNy>ZdqvaD;e}mctVvJ;dc!I9^dV5hEebp8o(6 zFciyo%ctv;xYsu zE|!v@Z51cGC@LG_Hk<)5=T7c){^&q!TOn1n8JrhtWA!5%jbbC*FrBpJonMy>HBN1n zQ`Dy>2c(FX#3lQ2lNnA<9M^$o#*HNv#a^=ZxE3h*UE{RAl_MxQUI>Dnl!>JgJ-2DP zOO~ewP>X~XsCPGK$O8P_9~VNmY6ph$Cfr?>-OQlYq}mI>G;u1+#>6Ik32LwG#LY*xcKIkb{mdAtw1?2K(l;w&pi<_-!Eg;Fvn z427T>!E87RWpXN>4@?UvIIj3h>oo)~x1^k2Kgu24G}JIU^@S1+5;8dlwOG0?AVb1E zNEbY7Fz@H-$e2TrdR(^BX>maJl22Ap4jXK;615{HRK*ap-cDvgr?fk?Xg~n zs2G&chp`53ZCJoPb+~3_x;r^{owY;K&G#2m6j+^CbfL#Hb!eWK%a9f|)05VR zB<&hQfh!w%nZ?d3qQL;r*DklwTj@nc4*(?)Z7aQrrmb!^j7O8+s8fkn3SE!3I#}59 zHhO9U8uF8vlbzF3VX#;Y^Fg?lkIr;k5k7>oc}B&TyDQDpbv}7|KA!R>NXv(4_PO0qX^-e9Nantd2wb`j$VSA^$+)0*2Yv8d2hwX#gUy3 z%HD)$x=^bvqmq3Yi%g67;Svzwcfr_hE)`@tV08;FSJ}6RH+EI`o~NXvw~pSjB+HVYvOP2QyeE@~CEK#cmhD)wC*uIq75Pj9$NGpXl%FRC~Ni~IraWz1b^ET*X>diNx|F1 zA2>fG#C#!1rghmlX( z;2)w<4SkrnroMw@Ec48?_OGE4JLHF#VL7Qw{ZKsZLGgED8s43=4Sn}OfAH&rN(f#{ z_;5CxK0JV)h`k~NF&JJ7#ZYGAc1I8Z4J6w3hvNuM6bPWO2b427lMjj;G2P~gCBR1H zDa0wj3i4>iov2@MGYk`pU-uy?06>Q3yz6LZCN=st@o3~)M6*$^=mO}PM?1cX)-b1U zPjWDwwB}q=p!W*r;Wlm1B`N-}CEKn!ya-%bL5=-AVq@2Y-)7mP+V{G{dQUL!?-Syh zPfPE{OAzkbV|ODwv$W$1PF}BT-XJJUCQ;glzRxsJ6JRT~$@}E=(NG^?j5_*|BcCIX zS=aYOz%q5?yZ+~ZDu?nMkGA`1peMLp$gm43ComoNV5H^SP&o^tge3O zJ|H{DohTFT__|_8D}$zC867Zq+E`Z_4ZgNMrv#V;&%<&|w;<^Oax=GCo`!EKMm{Vy z5^*ou$9*#5B?o{HG-u2e@~d8_thc#hdJvbVh8j!B7Dm}Wr#-zr8pa`U%KzMIb%LFGL;SQ!L*zkC-;ZV&@xUaXe4^hA_)G>S39u>}~2% zF@!HwE1oR^80DYRy?PIuVV`{$G|!WO(#6;|%(IPQ+Eu}sI|wl#Od8!ag;N;%h~lpf+7pR6zl+Ff?s#q2JwGl^JpFcIEv;#-jyvi1PZJJ#C%vv9fsa^@wR$8~r?bvpO)B8~B~7 z3aDev^Fv!Y0nR0$(m|6SL+_iD^)Gdu7!HKO9u*K$g1-%PJSo1zuA?Lf-+T!vw__>5 z0p>+F99oH`0NpIP_iW~V^#SQ+xMnX}j+C%N4#_}Na(7xI*${4O;I}yN(u8JPhtq9~ zdIMg+QwEw#Pw@YV=**t&E-T`ligcGEe}FljA21zHKOrs*qa7@WSG!0M@r*}*9Y)`+ zh#yp>dlY0M{E&7DVgu@{qnW3NE0SFzz-?M-yO9w8a1X$kJ>Tx*| zk&->#xCLxL0Z1d|ft|lBW;3x!+=iN8fGSa`#a}7nUn|l_75RQf!2KoxKJAvSd%CiK ztni}u$_-c)Ds_B75kIC#A6MiD+1Llov3s<~GhghyEDHIMAe`6-IKoa(C>udBpA8j> z`@2#4@3e+|N|z(i8x{e^KylY66!C8q>6425DK^!o%&8D}C2mjLftU6HanC>?E4T~l zkS(HGSh^X-g-KMgcUWM)RCE?0TxP{M4=Li`D$=JF`7>;y&zKWMsUq~4u5@~w&Y)dG zffoWvIQ(X;_OK#;R*^oZ$e(B5eBS&fti3Dwa5C4{*^UBSpe5if%o~uAFJoork0|07 z6zNe#evEzbnEAyK?dhI3qwL(G!MlPjlhibD!%>xXb)$dR;cWjtG?kY^ z(cWNO7#}+kjzXN&VE#o#{E{L)uErK|%>JlFR25r5^MkIWiKERM8TkD)9Uj*_ZO`wi|)eSO%c*P$aR(8Spq| z;L>RNULol9pwi8w8({3qiuiYm^c6*Zl9BMFNy3D7SLZ{?nC>hxI2lgkl+s_fMsa4v_;!&{XL>93iw`+{#6#|epL~_rbu5` z@M9M@Fx@A zwr+%?0S|DUXsW2%dd?N7`fu zfKN~zqe#BCekI5ta#8Z#;dQ8e0I~83*X!Yk1apIsUg!s`96&YHpgR#0EqLv+!-m0| zp#ImV74aL2^!JMV4CCh+lb;Ul(VpicXTkyXz{w*~O>{-DpaYeNcs27JQ92Q`vx2#A zD&n^k>D!9@Ec^CZ^Vf0H*<%CT5A^4;AshE7Fe?`JdRr|70#aO)w_!kTPl}B%+MYhi(>^ z2yhB3o(5ER0-eREsE@(uS^<^K`t7}d;>J6kf+!pp+8#KFc!Y~Y03K{U`21KAf1*hL ztjIrQ%ly<_rj3xA=h1KCQ`%X@7AEb9C?c*|hSiL=P(}Qoiu5mv{4@5|&&;o~Kn?iE zC@_okL_mz8q-MzD@MqwS?8S4J!)-x6%<77HBT+0($>M)i#Q&v8KUd^muvva#&Vpp| z13fH)vwK@&2vs(!q^i-7KekE7zD0zPiA+m}pr zN}@mFbKhsU6bYLkho&WXU4bY% zVZ12(M||Qrr~^$4?uxe~4QN>bh%qp|N>3WqlE9W^I9bjvKuWlPAj4oza$gp|tfXWs z-ncaECQ1Y(0XZ)b9fOE7d;rx21}#7byS+oIgl9k~J`9Qg;BA})ppxS%wrKJj&XY+fa5kBE4CPQ?+v`qYq94J46qb%Y#1h<8~cfW0pQGufwmWFN4c(mioF zNI`eMBNh~btWad&*9fX{lkB=WCM5y74=Z*LC5ct>O{(-}Rlb?Y<7QJHw~N|cT`z|2 zP&%wYYw^UCUOfHS5*T z^N*qdCoX;gAgb;l(09-*s``Zx8ri&V2hciWGO*7DV6q@W2y1bVZ0(Uzo36%0m!Jlf zP?$M|HrPKMUgN8Oh2yuH_DSV)@tDsdB!E<`B@msUNfUqY6RT0c9|L^Gqdn~TtsDcI zvAi1zuCLjCiSW~{P%07MF#6UDO#gAefG zu}*PYWq0?W!-~E}{0>DVigVSG=n)0y)xttTQV%NDVAwb45nPE5;4Auo=7o-|fCQEm zPn!t1e;W)x0O(KXf?t+^tOnUhj-df`+o4F=r&s_8h96SE%dzhT1!$+vP$wD%flO_S zXmh)e&0}xKwusk$D7?pRFL$6{M;#EdeXp~2PNv<$0NNA%&tRKg`2#CuzdeCi^LJOa zQyBN9qmG#0t4CS=QOpH+I}|l2$eNpbhjEkB1TYTz`&WI zZw$p~$aO54#>=Twh`8`dWMi1jP>TqFF)i$&6>$@SETBaq64bJiq`;Ekw>B~uq5^ae zc`#I7GAPdnWkHv$tb_91K)$vNhY>LTksQX4u(b^TNcn>AfnTTfuje}O^Hl4qB8tCh4wQEHFcIY#)FL7PBchsK06R4rJxIx z+$mjQXE0PBlVxB6;(^J=@Sd-~Q#=w=yF)?LS-5a}0NGyqwE7L{vRimj9uQ?`H+sBw z_3S#@Ig^bGF;4)9=nfY)S?j<~IPKAJ#)I~Mm&XfuP`l)3xN?YO(T<`k-2kHYF}y55 zQnQ9?(HU@|6F1?q1d%q-T!4QHtAgvWE$BkR%8PDcD^eurWCjioQmbK&5ByGzs3Dd_TN_XXy{P*_egHt_LBC+{k9d;yAZo3KV!o6I-d$HVgr_dqyEiSk z`x!z6a_snhkO+|5Lb8hHNLdSMl8jRT><;u=r4yYB%(0^zEwxT~VnB4!^!E0M>a(NR zz?yDv!*AgD(R|@?wcByK;C;Z7X!rW;fCSdj(t_@8F(abB0YwO&m@gXYffZAcj%L{x zEosxEG0E;j0VL8OnH1t`_lV{PDZ7JnNJ1Nj@E zQ;91FaTwZ;xVmR$=P-VO240pAkm-(IISsTomsfG3a4WV8Ses0dU@UCc$bZn;joY0S zqQ6BI|4^0Qs>*L;=KF1?`QD{H(tc0!4xkoA;bmAl0*Kw6>~~F2W04G^ODYMhX8_Au z0v&-8p43?F%q^<;N2+wID&NK?y3L%ZP5WW+=`Lh3^q5^eG>nu)cE|$sCG^XA^#6jd zZdb)WR;52t<+ro1-fn)iqWz}te}|u!gv}$qxzQX0Otz_#@A`wD46+~5Hb4=B3$$QLsGk30c6+@; z75}R${i!Oyldby@VH$k_o>ofs`C5UeD62sbD-bv6KMd$u~&75Yjjx^?^LC` zRQUsJ)CbH_9_`y*Kk7^iX+$w$m=b*yBkxwl5315Vs(ddSd9OLLUwgdo`w87EMPU#V ze`SB57r*8SImRd6MhRo zyH|9foZm^U`JGbED3G3Z>tUmNXYk*3E#h18gjuq<;lW0icEOg&X-~z|ecN-z(zs z9>wlP>wv2pZ*HB661o@;OFdc}ZrS&$?aYtDz4V7tJGy#VE;@uaS=bqtPJR!5V+k)| z+6$r>!%t2Da1pn$b_7{RZ_v?>UqS%VG;XCQWor!m)p)ICeH0z6{0M(~vj~@oN{Eqn z8}53H7HR`*km9ZA#J7w@Qm;CJCd5+W^r}lo(kfnG=hwakg_3UMCJrF z%&g1tr+|O~=ph!Hcfh|;C8VLXpQxw`L0K&P5(R)i{>b%$3@nb2D}~#AC=^fPCqi^o z(I|*U9TvFVXt+8W7A3qI$UYrd6DrEj1FoEt6+!33W5~1k9J<#XmYs1Rh98i{T&v$%K@AX zxd%BKS0IjLmJ7%>a_nl4_L$s$la#f2W4&pB`)k=wC=A|WY;fIFOT>oUjshiiApG%K zufc7H8b-;UzcO(!8b&*g!{43=vh)$VJ3gU`f1^sDROL@G{r;4x-)-6(vUj!3OAPK4 zT4GIIfzlo)U`_{iw>m6T@o!b>)2jR#_SI+1uUy*K4?NNl+Z_VfKg=0RmOQMApH-#L zsq*L9xX+v8GTMvr_r@DaTV%IviNKtPT(0fFN{_1Y zW9;k4%&&dgS2K@?@hBNW*F_i=;U4|ZS#bD8Rs51FJ+8`6u)$~)V8P)VCGFAVk6pUo z9>daZFe3zy614Gga&i*5L$3Y0l49eCL)eOpDS~~-Vq*7 z5VI1sl;ZH!~#yO3LKO_#sRX~?Zhn@Hp1~uE;e&A^7H7E986`r-bP@EU`b+V!x zR5EKFW~a-SRq^js=_{)IBooe)rf|@tAAP8QIF4o{tC9#K=ZHscb{%|G6~CrRUsvU) z*yyLs(H`yT{U2>hOM3JwM_&N*p25hcRq-3D^!KX#3>*23Ir3WVmhO9!mnEwJFGdqO zfbV6o1;R;(FfMkPa zRoR)cX(4p&A!E-9SDsVF@2JvuRrz~tqVJg#Ika1YZ^d&8k_2X2`kOp>xTw~%6FOXm z)BA&m-Zxwm6W)Xet!Y$^o86w=O2sR+*T2yHoQS?dG*IkRUx=T#z;6ke6^0D8L6Srn z|HQoPhw1)vp-o;BUQuRq@*T=UqVQR{SN{Kamq+%XW^7bqN_De7O#j>)lTTJxVwRKD z+DhfdnE&L-v&*%UCr?+5t!ATwzdCs`7B&CpR=s|5!>C={{>#miCy{rykJPq|#;L99 zDI=}erIBm#pe&D+N75mCV9&v!u>;o?bC(Vet)E^zvp79dTTBP+`h|L9edXk-db76G zs8%*lo*zm}hlDheJoC-X%_>bazrZG%UnsGO4lQ#gLetGct-4iNNtL#Yt;!}_9>ej~ zLW!0id)4xd#k6L(j;ya%8s;jaOKkk;5{;jq=B&avyi{o{8`U#LjX0!FMwZ4HVe>q~ zXo+Q`W-c)@O%j>T(f9^u2{yj5QQ00}r1A4b8viO5AVJ7!q_$dLHw8XR!wa))c!|dW zeg|=+v0ABZRcq!K^X38t`hrIg`=YtI)iBmuEYMzzn0ry;kpvcU#+tEV&@SX?7jhG{ zcV*sqNHu5FR@aS{%H|rAYHpMfl`D)gq84~;fa_dky?Uua!)X(8(@Qj*w+Rt@C|BQv zOjAZ}B{flLT&k?r&$mR78==)EC+KsY2pB{4_3C+3067wJZg!f+^BBSlSgzUFAORO? z2aCmdHhPiA3mc97CVk2sBU;90Xf%%%yy}-CL#Ej78h4t7Y$r5yXNWa`x-j|V2P zhH zL;ZAWYps%cc_LEk{46Q;bv(|Pnl&NAl`08tk_0z8$yDJw9%GEmwU!d+NzC~PlG_O$ zQ!cw>seYagO5QvuOFU|ju*bV%~^v;hW>pqM?9hbe_=OpTmw;IrCG+fS-P^39KovmG>eL^6(= z%ckO!Spab2wWx_X)Nc`4e+&?q%NG(5BH!ZNq4sW#dOl=|^X#XgqIv z2yFCBb-CW$BJ~?3OEh|nxIe`c81C-T`bM?(D!xZa)}ym@Bv0)?+t{h5u~Kg^+Q#yX zm$Cc;qwN%rHYnEE>cw+gG@1_NSm6X4y}~05oKH3?%r>&|lVfc5$$3)572Y<&bdBB6 zG`8w6cI&A^vs$armK4Z+Da>3;EA7O`=2pFRS&z|5W2G{U=kWo`#v0YFhB^NjDcG2) zU=|JkCO(En;LwY$4SE8Hg2q+WwUQzrm5Z{qz$9G z*~bVRr(-jYD+A(Q<*|iRIo>d8r^x7y(~gdt_v$KdNenOG_A+H%Ad^=p(wSf5%?`yc z7|W)CEYQ_h7%@lhAgn^A-dJtTPU=_~BWG}pCoDEQE(CKc=pHRh(5<+}BOUi>p;4*4 zv>64m@CEZ=Rd=KZeo*ZqljSJUGdf1cyvn182?r~fvMi7+3-fs<`ZGM?FoJMwD;w}N zNSjD?3uUr9XLtm$1ztYhbY&JyWjeDHJa=5vB*nJAO_ zJj1sb1!_ zZv00_iH_PNF*Ip9it9XvuzQo64WmLX>?CR5WQjb|bsj&AzAa;&xSyo$m^35N4IVcz zPx<;*CAHEsdA?q4m_7`doBSlnc!S3k%ni7@fob0)-4>JcbX#oj=m$Z^jB}>%b!?6a z?ARP_#|DplY{xOgP%UTV7@3M=Bc$6k9s`ihv3g^rH9cLy$7V@7H6G<4W~x%VNV_*h zCv(b-I%+)9;T%m}Y^+|qwCy`i(JeexpqQ)1qrcbQJypj|H}FdDc&<`Ew_fSleCh6h zo6LkaMdFy7Cp%l`u?KIXHQg&bZ2FY+X3Au>&LbX@nQC6Z$)w@Onc%06)BRTG5zcru zE*WRnUgDMRwy6=~^&F2lgaFeDeR6Mn-^3{;o5Gb)&x7%*4hF#s!ATCbls&YE_lME7lJk@VmO9t#NNr>n~_%Bhit zv7BN@WUbn$nu?W7=3|9l6ja{t4%Y{LgRB| zH2Z}exSnp_SV8Kf*;plWL>oQ5K$5-4BM7Q72NpJwEhIV3ky9{NqIBma9^)k1+E%4j zS#6m5M|2gz4*0mlTST{ezwo9qZ`6pG-~iBn{4exlFXtR1P$|u#(3H)(`>;QK&5Bkp=17G zp70UL%~TkTj7_q>Gjxz=rs>r0-*Ih$D`vi9vj)||NpaXm+8d2XHz`aYguVH)Qu4cfIiQnfkr$n59w0H)_~ z)ofqvb7XkuM(DQL&tm~wFo)c_Nj;HplX6AQ}Ebp9|%G}SRosm;- zY&BQSO`D_JbRJO2I!r;XC2p=odH^bZfX5Av#C)Y$tD3&cJZ;9j8SNe9F~i2!aVMBZ zXrAUA(N?5vU~!a=-$5QHP{p~m>U#CuIao3}esdJ> z&YAhigFJrNH_b|8tIjflWXtC0kj$A0n?pRFpaAn1pe{t#JPCOIIFWUTN0!^}EE&y} zD)}-k4~XPk8X-9x;?c!EV)m|;b7TU*lNB^`$;>n!=B)%_PggeUTWiF~G}-a#5;>xW zd5b_bbM>uF@ItKQh?Shl${>$(EKp)r-&ExiIY}imq8Q}uCbK_q{I(yuN@Pt+i{umx z@;G2@S1XN%k(#d5&FcukDKlErbhixh*kDva$6Br%_+{hG#NWZ;K zw`sY)Y?v=0Win6YGAT`t#~b#vyk=Cl7emew+?6Lt|8qR<;4PGmGu4+Za+z{=oFoN}{qwnBGLnNEAzyb?!w z{6Zz!aQ0feeWf7z#MYRiIDM4I0FsWam+I}!WKTt9qjqWA6qf0hESvApqdU;Ku)1w# z7Dx;Wrt>kzqZ1k1){;}z+UiQ39L53#mxUau&)5#qTR7XmX&?__fo#melsTTq8N`A2 ztF!PaQsc%Z8JZk9Ub%5nfpH#f*rJ6-6FvpW9N9I9Z^69p$9Y6SWfm?iS6)_`1(Mdn z5?y2CJi6eyEW$KhY9jPy2WOE^-J)rn3Of+BSgmZ~Ca3YFH;Xg0rv=^$U}6SItyWrh zh9os(=4vK*^D{GJY}ARG<76_9muU70-t3^ibb&qHw)~J1aa=l1(aHo*KQRA^3e=KO ze}cF@F-G%G@~DB>J*KI3dT`XoL_YlrA)AXU52Wjg{!>WSaLGBsW#xte+=czmB}g>!v82D)I!) z?!5EH`m)iWm#GpNyAo1+Agjn@rQ6-FY2+M)slEQM*hZ09)i{9ivCvg7~& diff --git a/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts b/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts index 13942d542a28c..5d762b8ed517c 100644 --- a/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts +++ b/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts @@ -4,12 +4,13 @@ * you may not use this file except in compliance with the Elastic License. */ -import search000json = require('./json/0_0_0_search.json'); // Prefer require() over setting the compiler options, which affect production modules as well +// @ts-expect-error +const search000json = await import('./json/0_0_0_search.json'); // Prefer require() over setting the compiler options, which affect production modules as well export const TILE_SEARCHES = { '0.0.0': { countResponse: { - count: 250, + count: 1, _shards: { total: 1, successful: 1, From 38e3a54d7b3b974c41648c7e32d0c0524f4f4b5d Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Thu, 20 Aug 2020 15:23:05 -0400 Subject: [PATCH 22/51] import reuse utility re-enable dynamic styling update tile ts fixes --- .../maps/common/elasticsearch_geo_utils.d.ts | 10 ++ .../maps/common/elasticsearch_geo_utils.js | 1 + .../maps/server/mvt/__tests__/pbf/0_0_0.pbf | Bin 157 -> 188 bytes .../server/mvt/__tests__/tile_searches.ts | 3 +- x-pack/plugins/maps/server/mvt/get_tile.ts | 88 +++++------------- x-pack/plugins/maps/server/mvt/util.ts | 67 +++++++++++++ 6 files changed, 104 insertions(+), 65 deletions(-) create mode 100644 x-pack/plugins/maps/server/mvt/util.ts diff --git a/x-pack/plugins/maps/common/elasticsearch_geo_utils.d.ts b/x-pack/plugins/maps/common/elasticsearch_geo_utils.d.ts index 44250360e9d00..f15eb6d8a4f71 100644 --- a/x-pack/plugins/maps/common/elasticsearch_geo_utils.d.ts +++ b/x-pack/plugins/maps/common/elasticsearch_geo_utils.d.ts @@ -4,7 +4,9 @@ * you may not use this file except in compliance with the Elastic License. */ +import { FeatureCollection, GeoJsonProperties } from 'geojson'; import { MapExtent } from './descriptor_types'; +import { ES_GEO_FIELD_TYPE } from './constants'; export function scaleBounds(bounds: MapExtent, scaleFactor: number): MapExtent; @@ -13,3 +15,11 @@ export function turfBboxToBounds(turfBbox: unknown): MapExtent; export function clampToLatBounds(lat: number): number; export function clampToLonBounds(lon: number): number; + +export function hitsToGeoJson( + hits: any[], + flattenHit: (geojsonProperties: GeoJsonProperties) => GeoJsonProperties, + geoFieldName: string, + geoFieldType: ES_GEO_FIELD_TYPE, + epochMillisFields: string[] +): FeatureCollection; diff --git a/x-pack/plugins/maps/common/elasticsearch_geo_utils.js b/x-pack/plugins/maps/common/elasticsearch_geo_utils.js index f2bf83ae18bb0..4122537ef7297 100644 --- a/x-pack/plugins/maps/common/elasticsearch_geo_utils.js +++ b/x-pack/plugins/maps/common/elasticsearch_geo_utils.js @@ -97,6 +97,7 @@ export function hitsToGeoJson(hits, flattenHit, geoFieldName, geoFieldType, epoc delete properties[geoFieldName]; //create new geojson Feature for every individual geojson geometry. + //todo: Consider using GeometryCollection instead. for (let j = 0; j < tmpGeometriesAccumulator.length; j++) { features.push({ type: 'Feature', diff --git a/x-pack/plugins/maps/server/mvt/__tests__/pbf/0_0_0.pbf b/x-pack/plugins/maps/server/mvt/__tests__/pbf/0_0_0.pbf index 386769f4f2420fafe89e00b7b12c0bdf9f03bb4b..d8e5ae193319b634fed953f826baffe746bcbb84 100644 GIT binary patch delta 148 zcmbQsxQEeGYA0g_6Bkc$erZv1YJ5&&WonT|gMyHX5C;PTBO?R delta 96 zcmdnPIG52=Y8GP!6Bkc$erZv1YJ5&&WonT|gMyHX5C;PTBO?<7Gm`|fk{IU%-Udmf z2KM*t4Qv7r*jBK;=e)qfFU1_6nIgp&pP84ES~1bnaAK1LHyamANosM45|af30I8Z7 ArvLx| diff --git a/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts b/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts index 5d762b8ed517c..7ae9c0c499976 100644 --- a/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts +++ b/x-pack/plugins/maps/server/mvt/__tests__/tile_searches.ts @@ -4,8 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -// @ts-expect-error -const search000json = await import('./json/0_0_0_search.json'); // Prefer require() over setting the compiler options, which affect production modules as well +const search000json = require('./json/0_0_0_search.json'); // Prefer require() over setting the compiler options, which affect production modules as well export const TILE_SEARCHES = { '0.0.0': { diff --git a/x-pack/plugins/maps/server/mvt/get_tile.ts b/x-pack/plugins/maps/server/mvt/get_tile.ts index 764e7f93351f0..eebd4f0fb4f2a 100644 --- a/x-pack/plugins/maps/server/mvt/get_tile.ts +++ b/x-pack/plugins/maps/server/mvt/get_tile.ts @@ -9,13 +9,17 @@ import geojsonvt from 'geojson-vt'; // @ts-expect-error import vtpbf from 'vt-pbf'; import { Logger } from 'src/core/server'; -import { Feature, FeatureCollection, GeoJsonProperties, Geometry, Polygon } from 'geojson'; +import { Feature, FeatureCollection, GeoJsonProperties, Polygon } from 'geojson'; import { + ES_GEO_FIELD_TYPE, FEATURE_ID_PROPERTY_NAME, - MVT_SOURCE_LAYER_NAME, KBN_TOO_MANY_FEATURES_PROPERTY, + MVT_SOURCE_LAYER_NAME, } from '../../common/constants'; +import { hitsToGeoJson } from '../../common/elasticsearch_geo_utils'; +import { flattenHit } from './util'; + interface ESBounds { top_left: { lon: number; @@ -116,70 +120,28 @@ export async function getTile({ // Perform actual search result = await callElasticsearch('search', esSearchQuery); - // @ts-expect-error - const hitsFeatures: Array = result.hits.hits.map( - (hit: any): Feature | null => { - let geomType: - | 'Point' - | 'MultiPoint' - | 'LineString' - | 'MultiLineString' - | 'Polygon' - | 'MultiPolygon'; - const geometry = hit._source[geometryFieldName]; - if (geometry.type === 'polygon' || geometry.type === 'Polygon') { - geomType = 'Polygon'; - } else if (geometry.type === 'multipolygon' || geometry.type === 'MultiPolygon') { - geomType = 'MultiPolygon'; - } else if (geometry.type === 'linestring' || geometry.type === 'LineString') { - geomType = 'LineString'; - } else if (geometry.type === 'multilinestring' || geometry.type === 'MultiLineString') { - geomType = 'MultiLineString'; - } else if (geometry.type === 'point' || geometry.type === 'Point') { - geomType = 'Point'; - } else if (geometry.type === 'MultiPoint' || geometry.type === 'multipoint') { - geomType = 'MultiPoint'; - } else { - return null; - } - const geometryGeoJson: Geometry = { - type: geomType, - coordinates: geometry.coordinates, - }; - - const firstFields: GeoJsonProperties = {}; - if (hit.fields) { - const fields = hit.fields; - Object.keys(fields).forEach((key) => { - const value = fields[key]; - if (Array.isArray(value)) { - firstFields[key] = value[0]; - } else { - firstFields[key] = value; - } - }); - } + // Todo: pass in epochMillies-fields + const featureCollection = hitsToGeoJson( + // @ts-expect-error + result.hits.hits, + (hit: GeoJsonProperties) => { + return flattenHit(geometryFieldName, hit); + }, + geometryFieldName, + ES_GEO_FIELD_TYPE.GEO_SHAPE, + [] + ); - const properties = { - ...hit._source, - ...firstFields, - _id: hit._id, - _index: hit._index, - [FEATURE_ID_PROPERTY_NAME]: hit._id, - [KBN_TOO_MANY_FEATURES_PROPERTY]: false, - }; - delete properties[geometryFieldName]; + resultFeatures = featureCollection.features; - return { - type: 'Feature', - id: hit._id, - geometry: geometryGeoJson, - properties, - }; + // Correct system-fields. + for (let i = 0; i < resultFeatures.length; i++) { + const props = resultFeatures[i].properties; + if (props !== null) { + props[FEATURE_ID_PROPERTY_NAME] = resultFeatures[i].id; + props[KBN_TOO_MANY_FEATURES_PROPERTY] = false; } - ); - - resultFeatures = hitsFeatures.filter((f) => !!f) as Feature[]; + } } } catch (e) { logger.warn(e.message); diff --git a/x-pack/plugins/maps/server/mvt/util.ts b/x-pack/plugins/maps/server/mvt/util.ts new file mode 100644 index 0000000000000..336dad953b446 --- /dev/null +++ b/x-pack/plugins/maps/server/mvt/util.ts @@ -0,0 +1,67 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +// This implementation: +// - does not include meta-fields +// - does not validate the schema against the index-pattern (e.g. nested fields) +// In the context of .mvt this is sufficient: +// - only fields from the response are packed in the tile (more efficient) +// - query-dsl submitted from the client, which was generated by the IndexPattern +// todo: Ideally, this should adapt/reuse from https://github.com/elastic/kibana/blob/52b42a81faa9dd5c102b9fbb9a645748c3623121/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.ts#L26 +import { GeoJsonProperties } from 'geojson'; + +export function flattenHit(geometryField: string, hit: GeoJsonProperties): GeoJsonProperties { + const flat: GeoJsonProperties = {}; + if (hit) { + flattenSource(flat, '', hit._source, geometryField); + if (hit.fields) { + flattenFields(flat, hit.fields); + } + + // Attach meta fields + flat._index = hit._index; + flat._id = hit._id; + } + return flat; +} + +function flattenSource( + accum: GeoJsonProperties, + path: string, + properties: GeoJsonProperties = {}, + geometryField: string +): GeoJsonProperties { + accum = accum || {}; + for (const key in properties) { + if (properties.hasOwnProperty(key)) { + const newKey = path ? path + '.' + key : key; + let value; + if (geometryField === newKey) { + value = properties[key]; // do not deep-copy the geometry + } else if (properties[key] !== null && typeof value === 'object' && !Array.isArray(value)) { + value = flattenSource(accum, newKey, properties[key], geometryField); + } else { + value = properties[key]; + } + accum[newKey] = value; + } + } + return accum; +} + +function flattenFields(accum: GeoJsonProperties = {}, fields: GeoJsonProperties[]) { + accum = accum || {}; + for (const key in fields) { + if (fields.hasOwnProperty(key)) { + const value = fields[key]; + if (Array.isArray(value)) { + accum[key] = value[0]; + } else { + accum[key] = value; + } + } + } +} From 4df20b45d2960bceaf4bd1e5f7c96719cb87b658 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Thu, 20 Aug 2020 16:29:53 -0400 Subject: [PATCH 23/51] wording feedback --- .../__snapshots__/scaling_form.test.tsx.snap | 301 ------------------ .../sources/es_search_source/scaling_form.tsx | 6 +- 2 files changed, 2 insertions(+), 305 deletions(-) delete mode 100644 x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap deleted file mode 100644 index 0cabacca46117..0000000000000 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap +++ /dev/null @@ -1,301 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should disable clusters option when clustering is not supported 1`] = ` - - -
- -
-
- - -
- - - - - - - - - Using .mvt tiles allows for faster display of large datasets. Not all layer-functionality is supported. - - } - delay="regular" - position="left" - > - - Use vector tiles - - } - onChange={[Function]} - /> - -
-
- - - -
-`; - -exports[`should render 1`] = ` - - -
- -
-
- - -
- - - - - - - Using .mvt tiles allows for faster display of large datasets. Not all layer-functionality is supported. - - } - delay="regular" - position="left" - > - - Use vector tiles - - } - onChange={[Function]} - /> - -
-
- - - -
-`; - -exports[`should render top hits form when scaling type is TOP_HITS 1`] = ` - - -
- -
-
- - -
- - - - - - - Using .mvt tiles allows for faster display of large datasets. Not all layer-functionality is supported. - - } - delay="regular" - position="left" - > - - Use vector tiles - - } - onChange={[Function]} - /> - -
-
- - - - - - - -
-`; diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx index dfdf1534bd654..00fe9cb117df2 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx @@ -191,11 +191,10 @@ export class ScalingForm extends Component { const labelText = i18n.translate('xpack.maps.source.esSearch.useMVTVectorTiles', { defaultMessage: 'Use vector tiles', }); - const label = <>{labelText}; const mvtRadio = ( this._onScalingTypeChange(SCALING_TYPES.MVT)} disabled={!this.props.supportsMvt} @@ -207,8 +206,7 @@ export class ScalingForm extends Component { {i18n.translate('xpack.maps.source.esSearch.mvtDescription', { - defaultMessage: - 'Using .mvt tiles allows for faster display of large datasets. Not all layer-functionality is supported.', + defaultMessage: 'Use vector tiles for faster display of large datasets.', })} ); From 20ba1481e5951bb371d4d61c0b15f89a6bd9fa0b Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Thu, 20 Aug 2020 16:55:08 +0200 Subject: [PATCH 24/51] [Console] Update extract string literal logic (#72628) * initial version of string extraction by parser * refine comments and add function description * - Added parser specific test - Added 5 megabyte limit to string size for expansion Co-authored-by: Elastic Machine --- .../json_xjson_translation_tools.test.ts | 27 ++++++ .../__tests__/utils_string_expanding.txt | 19 +++- .../lib/json_xjson_translation_tools/index.ts | 81 +++++++++------- .../json_xjson_translation_tools/parser.ts | 97 +++++++++++++++++++ 4 files changed, 187 insertions(+), 37 deletions(-) create mode 100644 src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/parser.ts diff --git a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts index 419e80ad1608f..8c66a87adbaa1 100644 --- a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts +++ b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts @@ -23,6 +23,7 @@ import collapsingTests from './utils_string_collapsing.txt'; import expandingTests from './utils_string_expanding.txt'; import * as utils from '../index'; +import { extractJSONStringValues } from '../parser'; describe('JSON to XJSON conversion tools', () => { it('will collapse multiline strings', () => { @@ -34,6 +35,32 @@ describe('JSON to XJSON conversion tools', () => { const multiline = '{ "foo": """bar\r\nbaz""" }'; expect(utils.collapseLiteralStrings(multiline)).toEqual('{ "foo": "bar\\r\\nbaz" }'); }); + + describe('JSON string values parser', () => { + test('correctly extracts JSON string values', () => { + const json = { + myString: 'string', + notAString: 1, + myStringArray: ['a', 1, 'test', { nestedString: 'string' }], + }; + const jsonString = JSON.stringify(json); + const { stringValues } = extractJSONStringValues(jsonString); + expect(stringValues.length).toBe(4); + + expect(jsonString.substring(stringValues[0].startIndex, stringValues[0].endIndex + 1)).toBe( + '"string"' + ); + expect(jsonString.substring(stringValues[1].startIndex, stringValues[1].endIndex + 1)).toBe( + '"a"' + ); + expect(jsonString.substring(stringValues[2].startIndex, stringValues[2].endIndex + 1)).toBe( + '"test"' + ); + expect(jsonString.substring(stringValues[3].startIndex, stringValues[3].endIndex + 1)).toBe( + '"string"' + ); + }); + }); }); _.each(collapsingTests.split(/^=+$/m), function (fixture) { diff --git a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/utils_string_expanding.txt b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/utils_string_expanding.txt index 7de874c244e74..d157ed73817c2 100644 --- a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/utils_string_expanding.txt +++ b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/utils_string_expanding.txt @@ -1,8 +1,9 @@ + ========== Scripts in requests ------------------------------------- { - "f": { "script": { "source": "\ntest\ntest\\\\\\\\\\\\\\\\2\n" } }, + "f": { "script": { "source": "\ntest\ntest\\2\n" } }, "g": { "script": "second + \"\\\";" }, "a": "short with \\", "\\\\h": 1, @@ -12,7 +13,7 @@ Scripts in requests { "f": { "script": { "source": """ test -test\\\\\\\\2 +test\2 """ } }, "g": { "script": """second + "\";""" }, "a": """short with \""", @@ -23,11 +24,11 @@ test\\\\\\\\2 Preserve triple quotes ------------------------------------- { - "content\\\": "tri\"ple", + "content\\": "tri\"ple", } ------------------------------------- { - "content\\\": """tri"ple""", + "content\\": """tri"ple""", } ========== Correctly parse with JSON embedded inside values @@ -82,3 +83,13 @@ Single quotes escaped special case, end { "query": "test\"" } +========== +Strings in Arrays +------------------------------------- +{ + "array": ["expand \\ me", "do not expand", "do expand \\"] +} +------------------------------------- +{ + "array": ["""expand \ me""", "do not expand", """do expand \"""] +} diff --git a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/index.ts b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/index.ts index 28f1aca95efab..86fe9535a9619 100644 --- a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/index.ts +++ b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/index.ts @@ -17,6 +17,8 @@ * under the License. */ +import { extractJSONStringValues } from './parser'; + export function collapseLiteralStrings(data: string) { const splitData = data.split(`"""`); for (let idx = 1; idx < splitData.length - 1; idx += 2) { @@ -25,47 +27,60 @@ export function collapseLiteralStrings(data: string) { return splitData.join(''); } -/* - The following regex describes global match on: - 1. one colon followed by any number of space characters - 2. one double quote (not escaped, special case for JSON in JSON). - 3. greedily match any non double quote and non newline char OR any escaped double quote char (non-capturing). - 4. handle a special case where an escaped slash may be the last character - 5. one double quote - - For instance: `: "some characters \" here"` - Will match and be expanded to: `"""some characters " here"""` +// 5 megabytes +const MAX_EXPANDABLE_JSON_SIZE = 5 * 1024 * 1024; +/** + * Takes in a string representing some JSON data and expands strings, + * where needed, to a string literal representation. + * + * For example; given a value like: "{ "my_string": "\nhey!\n" }" + * + * Will return: "{ "my_string": """ + * hey! + * """ + * }" */ +export function expandLiteralStrings(data: string) { + // Assuming 1 byte per char + if (data.length > MAX_EXPANDABLE_JSON_SIZE) { + return data; + } -const LITERAL_STRING_CANDIDATES = /((:[\s\r\n]*)([^\\])"(\\"|[^"\n])*\\?")/g; + const { stringValues } = extractJSONStringValues(data); -export function expandLiteralStrings(data: string) { - return data.replace(LITERAL_STRING_CANDIDATES, (match, string) => { - // Expand to triple quotes if there are _any_ slashes - if (string.match(/\\./)) { - const firstDoubleQuoteIdx = string.indexOf('"'); - const lastDoubleQuoteIdx = string.lastIndexOf('"'); + if (stringValues.length === 0) { + return data; + } - // Handle a special case where we may have a value like "\"test\"". We don't - // want to expand this to """"test"""" - so we terminate before processing the string - // further if we detect this either at the start or end of the double quote section. + // Include JSON before our first string value + let result = data.substring(0, stringValues[0].startIndex); - if (string[firstDoubleQuoteIdx + 1] === '\\' && string[firstDoubleQuoteIdx + 2] === '"') { - return string; - } + for (let x = 0; x < stringValues.length; x++) { + const { startIndex, endIndex } = stringValues[x]; + const candidate = data.substring(startIndex, endIndex + 1); - if (string[lastDoubleQuoteIdx - 1] === '"' && string[lastDoubleQuoteIdx - 2] === '\\') { - return string; - } + // Handle a special case where we may have a value like "\"test\"". We don't + // want to expand this to """"test"""" - so we terminate before processing the string + // further if we detect this either at the start or end of the double quote section. + const skip = + (candidate[1] === '\\' && candidate[2] === '"') || + (candidate[candidate.length - 2] === '"' && candidate[candidate.length - 3] === '\\'); - const colonAndAnySpacing = string.slice(0, firstDoubleQuoteIdx); - const rawStringifiedValue = string.slice(firstDoubleQuoteIdx, string.length); - // Remove one level of JSON stringification - const jsonValue = JSON.parse(rawStringifiedValue); - return `${colonAndAnySpacing}"""${jsonValue}"""`; + if (!skip && candidate.match(/\\./)) { + result += `"""${JSON.parse(candidate)}"""`; } else { - return string; + result += candidate; + } + + if (stringValues[x + 1]) { + // Add any JSON between string values + result += data.substring(endIndex + 1, stringValues[x + 1].startIndex); } - }); + } + + // Add any remaining JSON after all string values + result += data.substring(stringValues[stringValues.length - 1].endIndex + 1); + + return result; } diff --git a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/parser.ts b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/parser.ts new file mode 100644 index 0000000000000..2cbd886860a07 --- /dev/null +++ b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/parser.ts @@ -0,0 +1,97 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +type StringValues = Array<{ startIndex: number; endIndex: number }>; + +interface ParseResult { + stringValues: StringValues; +} + +const JSON_COLON = ':'; +const JSON_STRING_DELIMITER = '"'; +const JSON_STRING_ESCAPE = '\\'; + +/** + * Accepts JSON (as a string) and extracts the positions of all JSON string + * values. + * + * For example: + * + * '{ "my_string_value": "is this", "my_number_value": 42 }' + * + * Would extract one result: + * + * [ { startIndex: 21, endIndex: 29 } ] + * + * This result maps to `"is this"` from the example JSON. + * + */ +export const extractJSONStringValues = (input: string): ParseResult => { + let position = 0; + let currentStringStartPos: number; + let isInsideString = false; + const stringValues: StringValues = []; + + function read() { + return input[position]; + } + + function peekNextNonWhitespace(): string | undefined { + let peekPosition = position + 1; + + while (peekPosition < input.length) { + const peekChar = input[peekPosition]; + if (peekChar.match(/[^\s\r\n]/)) { + return peekChar; + } + ++peekPosition; + } + } + + function advance() { + ++position; + } + + while (position < input.length) { + const char = read(); + if (!isInsideString) { + if (char === JSON_STRING_DELIMITER) { + currentStringStartPos = position; + isInsideString = true; + } + // else continue scanning for JSON_STRING_DELIMITER + } else { + if (char === JSON_STRING_ESCAPE) { + // skip ahead - we are still inside of a string + advance(); + } else if (char === JSON_STRING_DELIMITER) { + if (peekNextNonWhitespace() !== JSON_COLON) { + stringValues.push({ + startIndex: currentStringStartPos!, + endIndex: position, + }); + } + isInsideString = false; + } + } + advance(); + } + + return { stringValues }; +}; From 989c87ba73a92f080a6f6e377f317e6fbd373b09 Mon Sep 17 00:00:00 2001 From: John Schulz Date: Thu, 20 Aug 2020 11:07:54 -0400 Subject: [PATCH 25/51] Retry network errors on registry requests (#74507) --- .../services/epm/registry/requests.test.ts | 108 ++++++++++++++++++ .../server/services/epm/registry/requests.ts | 58 ++++++++-- .../server/services/epm/registry/streams.ts | 3 +- 3 files changed, 159 insertions(+), 10 deletions(-) create mode 100644 x-pack/plugins/ingest_manager/server/services/epm/registry/requests.test.ts diff --git a/x-pack/plugins/ingest_manager/server/services/epm/registry/requests.test.ts b/x-pack/plugins/ingest_manager/server/services/epm/registry/requests.test.ts new file mode 100644 index 0000000000000..f836a133a78a0 --- /dev/null +++ b/x-pack/plugins/ingest_manager/server/services/epm/registry/requests.test.ts @@ -0,0 +1,108 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ +import { fetchUrl } from './requests'; +import { RegistryError } from '../../../errors'; +jest.mock('node-fetch'); + +const { Response, FetchError } = jest.requireActual('node-fetch'); +// eslint-disable-next-line @typescript-eslint/no-var-requires +const fetchMock = require('node-fetch') as jest.Mock; + +jest.setTimeout(120 * 1000); +describe('setupIngestManager', () => { + beforeEach(async () => {}); + + afterEach(async () => { + jest.clearAllMocks(); + }); + + describe('fetchUrl / getResponse errors', () => { + it('regular Errors do not retry. Becomes RegistryError', async () => { + fetchMock.mockImplementationOnce(() => { + throw new Error('mocked'); + }); + const promise = fetchUrl(''); + await expect(promise).rejects.toThrow(RegistryError); + expect(fetchMock).toHaveBeenCalledTimes(1); + }); + + it('TypeErrors do not retry. Becomes RegistryError', async () => { + fetchMock.mockImplementationOnce(() => { + // @ts-expect-error + null.f(); + }); + const promise = fetchUrl(''); + await expect(promise).rejects.toThrow(RegistryError); + expect(fetchMock).toHaveBeenCalledTimes(1); + }); + + describe('only system errors retry (like ECONNRESET)', () => { + it('they eventually succeed', async () => { + const successValue = JSON.stringify({ name: 'attempt 4 works', version: '1.2.3' }); + fetchMock + .mockImplementationOnce(() => { + throw new FetchError('message 1', 'system', { code: 'ESOMETHING' }); + }) + .mockImplementationOnce(() => { + throw new FetchError('message 2', 'system', { code: 'ESOMETHING' }); + }) + .mockImplementationOnce(() => { + throw new FetchError('message 3', 'system', { code: 'ESOMETHING' }); + }) + // this one succeeds + .mockImplementationOnce(() => Promise.resolve(new Response(successValue))) + .mockImplementationOnce(() => { + throw new FetchError('message 5', 'system', { code: 'ESOMETHING' }); + }) + .mockImplementationOnce(() => { + throw new FetchError('message 6', 'system', { code: 'ESOMETHING' }); + }); + + const promise = fetchUrl(''); + await expect(promise).resolves.toEqual(successValue); + // doesn't retry after success + expect(fetchMock).toHaveBeenCalledTimes(4); + const actualResultsOrder = fetchMock.mock.results.map(({ type }: { type: string }) => type); + expect(actualResultsOrder).toEqual(['throw', 'throw', 'throw', 'return']); + }); + + it('or error after 1 failure & 5 retries with RegistryError', async () => { + fetchMock + .mockImplementationOnce(() => { + throw new FetchError('message 1', 'system', { code: 'ESOMETHING' }); + }) + .mockImplementationOnce(() => { + throw new FetchError('message 2', 'system', { code: 'ESOMETHING' }); + }) + .mockImplementationOnce(() => { + throw new FetchError('message 3', 'system', { code: 'ESOMETHING' }); + }) + .mockImplementationOnce(() => { + throw new FetchError('message 4', 'system', { code: 'ESOMETHING' }); + }) + .mockImplementationOnce(() => { + throw new FetchError('message 5', 'system', { code: 'ESOMETHING' }); + }) + .mockImplementationOnce(() => { + throw new FetchError('message 6', 'system', { code: 'ESOMETHING' }); + }) + .mockImplementationOnce(() => { + throw new FetchError('message 7', 'system', { code: 'ESOMETHING' }); + }) + .mockImplementationOnce(() => { + throw new FetchError('message 8', 'system', { code: 'ESOMETHING' }); + }); + + const promise = fetchUrl(''); + await expect(promise).rejects.toThrow(RegistryError); + // doesn't retry after 1 failure & 5 failed retries + expect(fetchMock).toHaveBeenCalledTimes(6); + const actualResultsOrder = fetchMock.mock.results.map(({ type }: { type: string }) => type); + expect(actualResultsOrder).toEqual(['throw', 'throw', 'throw', 'throw', 'throw', 'throw']); + }); + }); + }); +}); diff --git a/x-pack/plugins/ingest_manager/server/services/epm/registry/requests.ts b/x-pack/plugins/ingest_manager/server/services/epm/registry/requests.ts index abf77ddddfd7a..5939dc204aae6 100644 --- a/x-pack/plugins/ingest_manager/server/services/epm/registry/requests.ts +++ b/x-pack/plugins/ingest_manager/server/services/epm/registry/requests.ts @@ -4,20 +4,49 @@ * you may not use this file except in compliance with the Elastic License. */ -import fetch, { Response } from 'node-fetch'; +import fetch, { FetchError, Response } from 'node-fetch'; +import pRetry from 'p-retry'; import { streamToString } from './streams'; import { RegistryError } from '../../../errors'; +type FailedAttemptErrors = pRetry.FailedAttemptError | FetchError | Error; + +// not sure what to call this function, but we're not exporting it +async function registryFetch(url: string) { + const response = await fetch(url); + + if (response.ok) { + return response; + } else { + // 4xx & 5xx responses + // exit without retry & throw RegistryError + throw new pRetry.AbortError( + new RegistryError(`Error connecting to package registry at ${url}: ${response.statusText}`) + ); + } +} + export async function getResponse(url: string): Promise { try { - const response = await fetch(url); - if (response.ok) { - return response; - } else { - throw new RegistryError( - `Error connecting to package registry at ${url}: ${response.statusText}` - ); - } + // we only want to retry certain failures like network issues + // the rest should only try the one time then fail as they do now + const response = await pRetry(() => registryFetch(url), { + factor: 2, + retries: 5, + onFailedAttempt: (error) => { + // we only want to retry certain types of errors, like `ECONNREFUSED` and other operational errors + // and let the others through without retrying + // + // throwing in onFailedAttempt will abandon all retries & fail the request + // we only want to retry system errors, so throw a RegistryError for everything else + if (!isSystemError(error)) { + throw new RegistryError( + `Error connecting to package registry at ${url}: ${error.message}` + ); + } + }, + }); + return response; } catch (e) { throw new RegistryError(`Error connecting to package registry at ${url}: ${e.message}`); } @@ -31,3 +60,14 @@ export async function getResponseStream(url: string): Promise { return getResponseStream(url).then(streamToString); } + +// node-fetch throws a FetchError for those types of errors and +// "All errors originating from Node.js core are marked with error.type = 'system'" +// https://github.com/node-fetch/node-fetch/blob/master/docs/ERROR-HANDLING.md#error-handling-with-node-fetch +function isFetchError(error: FailedAttemptErrors): error is FetchError { + return error instanceof FetchError || error.name === 'FetchError'; +} + +function isSystemError(error: FailedAttemptErrors): boolean { + return isFetchError(error) && error.type === 'system'; +} diff --git a/x-pack/plugins/ingest_manager/server/services/epm/registry/streams.ts b/x-pack/plugins/ingest_manager/server/services/epm/registry/streams.ts index 97d6f7b40a588..3801303cf726f 100644 --- a/x-pack/plugins/ingest_manager/server/services/epm/registry/streams.ts +++ b/x-pack/plugins/ingest_manager/server/services/epm/registry/streams.ts @@ -11,7 +11,8 @@ export function bufferToStream(buffer: Buffer): PassThrough { return stream; } -export function streamToString(stream: NodeJS.ReadableStream): Promise { +export function streamToString(stream: NodeJS.ReadableStream | Buffer): Promise { + if (stream instanceof Buffer) return Promise.resolve(stream.toString()); return new Promise((resolve, reject) => { const body: string[] = []; stream.on('data', (chunk: string) => body.push(chunk)); From 6791c13f6edfcf52cc8a625d0dd81e7e70b73832 Mon Sep 17 00:00:00 2001 From: John Schulz Date: Thu, 20 Aug 2020 11:09:09 -0400 Subject: [PATCH 26/51] [Ingest Manager] Don't retain POST /setup results. fixes #74587 (#75372) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add retries for registry requests. works, afaict. no tests. one TS issue. * Fix TS issue. Add link to node-fetch error docs * Restore some accidentally deleted code. * Add more comments. Remove logging. * Add tests for plugin setup service & handlers * Add tests for Registry retry logic * Extract setup retry logic to separate function/file * Add tests for setup retry logic ``` firstSuccessOrTryAgain ✓ reject/throws is called again & its value returned (18ms) ✓ the first success value is cached (2ms) ``` * More straightforward(?) tests for setup caching * Revert cached setup. Still limit 1 call at a time Terrible tests. Committing & pushing to see if it fixes failures like https://github.com/elastic/kibana/pull/74507/checks?check_run_id=980178887 https://kibana-ci.elastic.co/job/elastic+kibana+pipeline-pull-request/67892/execution/node/663/log/ ``` 07:36:56 └-> "before all" hook 07:36:56 └-> should not allow to enroll an agent with a invalid enrollment 07:36:56 └-> "before each" hook: global before each 07:36:56 └-> "before each" hook: beforeSetupWithDockerRegistry 07:36:56 │ proc [kibana] error [11:36:56.369] Error: Internal Server Error 07:36:56 │ proc [kibana] at HapiResponseAdapter.toError (/dev/shm/workspace/parallel/5/kibana/build/kibana-build-xpack/src/core/server/http/router/response_adapter.js:132:19) 07:36:56 │ proc [kibana] at HapiResponseAdapter.toHapiResponse (/dev/shm/workspace/parallel/5/kibana/build/kibana-build-xpack/src/core/server/http/router/response_adapter.js:86:19) 07:36:56 │ proc [kibana] at HapiResponseAdapter.handle (/dev/shm/workspace/parallel/5/kibana/build/kibana-build-xpack/src/core/server/http/router/response_adapter.js:81:17) 07:36:56 │ proc [kibana] at Router.handle (/dev/shm/workspace/parallel/5/kibana/build/kibana-build-xpack/src/core/server/http/router/router.js:164:34) 07:36:56 │ proc [kibana] at process._tickCallback (internal/process/next_tick.js:68:7) 07:36:56 │ proc [kibana] log [11:36:56.581] [info][authentication][plugins][security] Authentication attempt failed: [security_exception] missing authentication credentials for REST request [/_security/_authenticate], with { header={ WWW-Authenticate={ 0="ApiKey" & 1="Basic realm=\"security\" charset=\"UTF-8\"" } } } 07:36:56 └- ✓ pass (60ms) "Ingest Manager Endpoints Fleet Endpoints fleet_agents_enroll should not allow to enroll an agent with a invalid enrollment" 07:36:56 └-> should not allow to enroll an agent with a shared id if it already exists 07:36:56 └-> "before each" hook: global before each 07:36:56 └-> "before each" hook: beforeSetupWithDockerRegistry 07:36:56 └- ✓ pass (111ms) "Ingest Manager Endpoints Fleet Endpoints fleet_agents_enroll should not allow to enroll an agent with a shared id if it already exists " 07:36:56 └-> should not allow to enroll an agent with a version > kibana 07:36:56 └-> "before each" hook: global before each 07:36:56 └-> "before each" hook: beforeSetupWithDockerRegistry 07:36:56 └- ✓ pass (58ms) "Ingest Manager Endpoints Fleet Endpoints fleet_agents_enroll should not allow to enroll an agent with a version > kibana" 07:36:56 └-> should allow to enroll an agent with a valid enrollment token 07:36:56 └-> "before each" hook: global before each 07:36:56 └-> "before each" hook: beforeSetupWithDockerRegistry 07:36:56 └- ✖ fail: Ingest Manager Endpoints Fleet Endpoints fleet_agents_enroll should allow to enroll an agent with a valid enrollment token 07:36:56 │ Error: expected 200 "OK", got 500 "Internal Server Error" 07:36:56 │ at Test._assertStatus (/dev/shm/workspace/kibana/node_modules/supertest/lib/test.js:268:12) 07:36:56 │ at Test._assertFunction (/dev/shm/workspace/kibana/node_modules/supertest/lib/test.js:283:11) 07:36:56 │ at Test.assert (/dev/shm/workspace/kibana/node_modules/supertest/lib/test.js:173:18) 07:36:56 │ at assert (/dev/shm/workspace/kibana/node_modules/supertest/lib/test.js:131:12) 07:36:56 │ at /dev/shm/workspace/kibana/node_modules/supertest/lib/test.js:128:5 07:36:56 │ at Test.Request.callback (/dev/shm/workspace/kibana/node_modules/superagent/lib/node/index.js:718:3) 07:36:56 │ at parser (/dev/shm/workspace/kibana/node_modules/superagent/lib/node/index.js:906:18) 07:36:56 │ at IncomingMessage.res.on (/dev/shm/workspace/kibana/node_modules/superagent/lib/node/parsers/json.js:19:7) 07:36:56 │ at endReadableNT (_stream_readable.js:1145:12) 07:36:56 │ at process._tickCallback (internal/process/next_tick.js:63:19) 07:36:56 │ 07:36:56 │ ``` * New name & tests for one-at-a-time /setup behavior `firstPromiseBlocksAndFufills` for "the first promise created blocks others from being created, then fufills all with that first result" * More (better?) renaming * Fix name in test description * Fix spelling typo. * Remove registry retry code & tests * Use async fn's .catch to avoid unhandled rejection Add explicit `isPending` value instead of overloading role of `status`. Could probably do without it, but it makes the intent more clear. Co-authored-by: Elastic Machine --- .../server/routes/setup/handlers.test.ts | 83 +++++++++ .../server/routes/setup/index.ts | 40 ++-- .../server/services/setup.test.ts | 76 +++++--- .../ingest_manager/server/services/setup.ts | 171 ++++++++---------- .../server/services/setup_utils.test.ts | 149 +++++++++++++++ .../server/services/setup_utils.ts | 37 ++++ 6 files changed, 420 insertions(+), 136 deletions(-) create mode 100644 x-pack/plugins/ingest_manager/server/routes/setup/handlers.test.ts create mode 100644 x-pack/plugins/ingest_manager/server/services/setup_utils.test.ts create mode 100644 x-pack/plugins/ingest_manager/server/services/setup_utils.ts diff --git a/x-pack/plugins/ingest_manager/server/routes/setup/handlers.test.ts b/x-pack/plugins/ingest_manager/server/routes/setup/handlers.test.ts new file mode 100644 index 0000000000000..ce826e78c454d --- /dev/null +++ b/x-pack/plugins/ingest_manager/server/routes/setup/handlers.test.ts @@ -0,0 +1,83 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { xpackMocks } from '../../../../../../x-pack/mocks'; +import { httpServerMock } from 'src/core/server/mocks'; +import { PostIngestSetupResponse } from '../../../common'; +import { RegistryError } from '../../errors'; +import { createAppContextStartContractMock } from '../../mocks'; +import { ingestManagerSetupHandler } from './handlers'; +import { appContextService } from '../../services/app_context'; +import { setupIngestManager } from '../../services/setup'; + +jest.mock('../../services/setup', () => { + return { + setupIngestManager: jest.fn(), + }; +}); + +const mockSetupIngestManager = setupIngestManager as jest.MockedFunction; + +describe('ingestManagerSetupHandler', () => { + let context: ReturnType; + let response: ReturnType; + let request: ReturnType; + + beforeEach(async () => { + context = xpackMocks.createRequestHandlerContext(); + response = httpServerMock.createResponseFactory(); + request = httpServerMock.createKibanaRequest({ + method: 'post', + path: '/api/ingest_manager/setup', + }); + // prevents `Logger not set.` and other appContext errors + appContextService.start(createAppContextStartContractMock()); + }); + + afterEach(async () => { + jest.clearAllMocks(); + appContextService.stop(); + }); + + it('POST /setup succeeds w/200 and body of resolved value', async () => { + mockSetupIngestManager.mockImplementation(() => Promise.resolve({ isIntialized: true })); + await ingestManagerSetupHandler(context, request, response); + + const expectedBody: PostIngestSetupResponse = { isInitialized: true }; + expect(response.customError).toHaveBeenCalledTimes(0); + expect(response.ok).toHaveBeenCalledWith({ body: expectedBody }); + }); + + it('POST /setup fails w/500 on custom error', async () => { + mockSetupIngestManager.mockImplementation(() => + Promise.reject(new Error('SO method mocked to throw')) + ); + await ingestManagerSetupHandler(context, request, response); + + expect(response.customError).toHaveBeenCalledTimes(1); + expect(response.customError).toHaveBeenCalledWith({ + statusCode: 500, + body: { + message: 'SO method mocked to throw', + }, + }); + }); + + it('POST /setup fails w/502 on RegistryError', async () => { + mockSetupIngestManager.mockImplementation(() => + Promise.reject(new RegistryError('Registry method mocked to throw')) + ); + + await ingestManagerSetupHandler(context, request, response); + expect(response.customError).toHaveBeenCalledTimes(1); + expect(response.customError).toHaveBeenCalledWith({ + statusCode: 502, + body: { + message: 'Registry method mocked to throw', + }, + }); + }); +}); diff --git a/x-pack/plugins/ingest_manager/server/routes/setup/index.ts b/x-pack/plugins/ingest_manager/server/routes/setup/index.ts index 1d1e7a2d721c9..fe51abec45b23 100644 --- a/x-pack/plugins/ingest_manager/server/routes/setup/index.ts +++ b/x-pack/plugins/ingest_manager/server/routes/setup/index.ts @@ -14,8 +14,7 @@ import { } from './handlers'; import { PostFleetSetupRequestSchema } from '../../types'; -export const registerRoutes = (router: IRouter, config: IngestManagerConfigType) => { - // Ingest manager setup +export const registerIngestManagerSetupRoute = (router: IRouter) => { router.post( { path: SETUP_API_ROUTE, @@ -26,12 +25,20 @@ export const registerRoutes = (router: IRouter, config: IngestManagerConfigType) }, ingestManagerSetupHandler ); +}; - if (!config.fleet.enabled) { - return; - } +export const registerCreateFleetSetupRoute = (router: IRouter) => { + router.post( + { + path: FLEET_SETUP_API_ROUTES.CREATE_PATTERN, + validate: PostFleetSetupRequestSchema, + options: { tags: [`access:${PLUGIN_ID}-all`] }, + }, + createFleetSetupHandler + ); +}; - // Get Fleet setup +export const registerGetFleetStatusRoute = (router: IRouter) => { router.get( { path: FLEET_SETUP_API_ROUTES.INFO_PATTERN, @@ -40,14 +47,19 @@ export const registerRoutes = (router: IRouter, config: IngestManagerConfigType) }, getFleetStatusHandler ); +}; + +export const registerRoutes = (router: IRouter, config: IngestManagerConfigType) => { + // Ingest manager setup + registerIngestManagerSetupRoute(router); + + if (!config.fleet.enabled) { + return; + } + + // Get Fleet setup + registerGetFleetStatusRoute(router); // Create Fleet setup - router.post( - { - path: FLEET_SETUP_API_ROUTES.CREATE_PATTERN, - validate: PostFleetSetupRequestSchema, - options: { tags: [`access:${PLUGIN_ID}-all`] }, - }, - createFleetSetupHandler - ); + registerCreateFleetSetupRoute(router); }; diff --git a/x-pack/plugins/ingest_manager/server/services/setup.test.ts b/x-pack/plugins/ingest_manager/server/services/setup.test.ts index 474b2fde23c81..bb01862aaf317 100644 --- a/x-pack/plugins/ingest_manager/server/services/setup.test.ts +++ b/x-pack/plugins/ingest_manager/server/services/setup.test.ts @@ -4,41 +4,59 @@ * you may not use this file except in compliance with the Elastic License. */ +import { xpackMocks } from '../../../../../x-pack/mocks'; +import { createAppContextStartContractMock } from '../mocks'; +import { appContextService } from './app_context'; import { setupIngestManager } from './setup'; -import { savedObjectsClientMock } from 'src/core/server/mocks'; -describe('setupIngestManager', () => { - it('returned promise should reject if errors thrown', async () => { - const { savedObjectsClient, callClusterMock } = makeErrorMocks(); - const setupPromise = setupIngestManager(savedObjectsClient, callClusterMock); - await expect(setupPromise).rejects.toThrow('mocked'); +const mockedMethodThrowsError = () => + jest.fn().mockImplementation(() => { + throw new Error('SO method mocked to throw'); }); -}); -function makeErrorMocks() { - jest.mock('./app_context'); // else fails w/"Logger not set." - jest.mock('./epm/registry/registry_url', () => { - return { - fetchUrl: () => { - throw new Error('mocked registry#fetchUrl'); - }, - }; +class CustomTestError extends Error {} +const mockedMethodThrowsCustom = () => + jest.fn().mockImplementation(() => { + throw new CustomTestError('method mocked to throw'); }); - const callClusterMock = jest.fn(); - const savedObjectsClient = savedObjectsClientMock.create(); - savedObjectsClient.find = jest.fn().mockImplementation(() => { - throw new Error('mocked SO#find'); - }); - savedObjectsClient.get = jest.fn().mockImplementation(() => { - throw new Error('mocked SO#get'); +describe('setupIngestManager', () => { + let context: ReturnType; + + beforeEach(async () => { + context = xpackMocks.createRequestHandlerContext(); + // prevents `Logger not set.` and other appContext errors + appContextService.start(createAppContextStartContractMock()); }); - savedObjectsClient.update = jest.fn().mockImplementation(() => { - throw new Error('mocked SO#update'); + + afterEach(async () => { + jest.clearAllMocks(); + appContextService.stop(); }); - return { - savedObjectsClient, - callClusterMock, - }; -} + describe('should reject with any error thrown underneath', () => { + it('SO client throws plain Error', async () => { + const soClient = context.core.savedObjects.client; + soClient.create = mockedMethodThrowsError(); + soClient.find = mockedMethodThrowsError(); + soClient.get = mockedMethodThrowsError(); + soClient.update = mockedMethodThrowsError(); + + const setupPromise = setupIngestManager(soClient, jest.fn()); + await expect(setupPromise).rejects.toThrow('SO method mocked to throw'); + await expect(setupPromise).rejects.toThrow(Error); + }); + + it('SO client throws other error', async () => { + const soClient = context.core.savedObjects.client; + soClient.create = mockedMethodThrowsCustom(); + soClient.find = mockedMethodThrowsCustom(); + soClient.get = mockedMethodThrowsCustom(); + soClient.update = mockedMethodThrowsCustom(); + + const setupPromise = setupIngestManager(soClient, jest.fn()); + await expect(setupPromise).rejects.toThrow('method mocked to throw'); + await expect(setupPromise).rejects.toThrow(CustomTestError); + }); + }); +}); diff --git a/x-pack/plugins/ingest_manager/server/services/setup.ts b/x-pack/plugins/ingest_manager/server/services/setup.ts index 727b49cebc608..fb4430f8cf727 100644 --- a/x-pack/plugins/ingest_manager/server/services/setup.ts +++ b/x-pack/plugins/ingest_manager/server/services/setup.ts @@ -26,116 +26,101 @@ import { packagePolicyService } from './package_policy'; import { generateEnrollmentAPIKey } from './api_keys'; import { settingsService } from '.'; import { appContextService } from './app_context'; +import { awaitIfPending } from './setup_utils'; const FLEET_ENROLL_USERNAME = 'fleet_enroll'; const FLEET_ENROLL_ROLE = 'fleet_enroll'; -// the promise which tracks the setup -let setupIngestStatus: Promise | undefined; -// default resolve & reject to guard against "undefined is not a function" errors -let onSetupResolve = () => {}; -let onSetupReject = (error: Error) => {}; +export interface SetupStatus { + isIntialized: true | undefined; +} export async function setupIngestManager( soClient: SavedObjectsClientContract, callCluster: CallESAsCurrentUser -) { - // installation in progress - if (setupIngestStatus) { - await setupIngestStatus; - } else { - // create the initial promise - setupIngestStatus = new Promise((res, rej) => { - onSetupResolve = res; - onSetupReject = rej; - }); +): Promise { + return awaitIfPending(async () => createSetupSideEffects(soClient, callCluster)); +} + +async function createSetupSideEffects( + soClient: SavedObjectsClientContract, + callCluster: CallESAsCurrentUser +): Promise { + const [installedPackages, defaultOutput, defaultAgentPolicy] = await Promise.all([ + // packages installed by default + ensureInstalledDefaultPackages(soClient, callCluster), + outputService.ensureDefaultOutput(soClient), + agentPolicyService.ensureDefaultAgentPolicy(soClient), + ensureDefaultIndices(callCluster), + settingsService.getSettings(soClient).catch((e: any) => { + if (e.isBoom && e.output.statusCode === 404) { + const http = appContextService.getHttpSetup(); + const serverInfo = http.getServerInfo(); + const basePath = http.basePath; + + const cloud = appContextService.getCloud(); + const cloudId = cloud?.isCloudEnabled && cloud.cloudId; + const cloudUrl = cloudId && decodeCloudId(cloudId)?.kibanaUrl; + const flagsUrl = appContextService.getConfig()?.fleet?.kibana?.host; + const defaultUrl = url.format({ + protocol: serverInfo.protocol, + hostname: serverInfo.hostname, + port: serverInfo.port, + pathname: basePath.serverBasePath, + }); + + return settingsService.saveSettings(soClient, { + agent_auto_upgrade: true, + package_auto_upgrade: true, + kibana_url: cloudUrl || flagsUrl || defaultUrl, + }); + } + + return Promise.reject(e); + }), + ]); + + // ensure default packages are added to the default conifg + const agentPolicyWithPackagePolicies = await agentPolicyService.get( + soClient, + defaultAgentPolicy.id, + true + ); + if (!agentPolicyWithPackagePolicies) { + throw new Error('Policy not found'); + } + if ( + agentPolicyWithPackagePolicies.package_policies.length && + typeof agentPolicyWithPackagePolicies.package_policies[0] === 'string' + ) { + throw new Error('Policy not found'); } - try { - const [installedPackages, defaultOutput, defaultAgentPolicy] = await Promise.all([ - // packages installed by default - ensureInstalledDefaultPackages(soClient, callCluster), - outputService.ensureDefaultOutput(soClient), - agentPolicyService.ensureDefaultAgentPolicy(soClient), - ensureDefaultIndices(callCluster), - settingsService.getSettings(soClient).catch((e: any) => { - if (e.isBoom && e.output.statusCode === 404) { - const http = appContextService.getHttpSetup(); - const serverInfo = http.getServerInfo(); - const basePath = http.basePath; - - const cloud = appContextService.getCloud(); - const cloudId = cloud?.isCloudEnabled && cloud.cloudId; - const cloudUrl = cloudId && decodeCloudId(cloudId)?.kibanaUrl; - const flagsUrl = appContextService.getConfig()?.fleet?.kibana?.host; - const defaultUrl = url.format({ - protocol: serverInfo.protocol, - hostname: serverInfo.hostname, - port: serverInfo.port, - pathname: basePath.serverBasePath, - }); - - return settingsService.saveSettings(soClient, { - agent_auto_upgrade: true, - package_auto_upgrade: true, - kibana_url: cloudUrl || flagsUrl || defaultUrl, - }); - } - - return Promise.reject(e); - }), - ]); - - // ensure default packages are added to the default conifg - const agentPolicyWithPackagePolicies = await agentPolicyService.get( - soClient, - defaultAgentPolicy.id, - true + for (const installedPackage of installedPackages) { + const packageShouldBeInstalled = DEFAULT_AGENT_POLICIES_PACKAGES.some( + (packageName) => installedPackage.name === packageName ); - if (!agentPolicyWithPackagePolicies) { - throw new Error('Policy not found'); - } - if ( - agentPolicyWithPackagePolicies.package_policies.length && - typeof agentPolicyWithPackagePolicies.package_policies[0] === 'string' - ) { - throw new Error('Policy not found'); + if (!packageShouldBeInstalled) { + continue; } - for (const installedPackage of installedPackages) { - const packageShouldBeInstalled = DEFAULT_AGENT_POLICIES_PACKAGES.some( - (packageName) => installedPackage.name === packageName - ); - if (!packageShouldBeInstalled) { - continue; + + const isInstalled = agentPolicyWithPackagePolicies.package_policies.some( + (d: PackagePolicy | string) => { + return typeof d !== 'string' && d.package?.name === installedPackage.name; } + ); - const isInstalled = agentPolicyWithPackagePolicies.package_policies.some( - (d: PackagePolicy | string) => { - return typeof d !== 'string' && d.package?.name === installedPackage.name; - } + if (!isInstalled) { + await addPackageToAgentPolicy( + soClient, + callCluster, + installedPackage, + agentPolicyWithPackagePolicies, + defaultOutput ); - - if (!isInstalled) { - await addPackageToAgentPolicy( - soClient, - callCluster, - installedPackage, - agentPolicyWithPackagePolicies, - defaultOutput - ); - } } - - // if everything works, resolve/succeed - onSetupResolve(); - } catch (error) { - // if anything errors, reject/fail - onSetupReject(error); } - // be sure to return the promise because it has the resolved/rejected status attached to it - // otherwise, we effectively return success every time even if there are errors - // because `return undefined` -> `Promise.resolve(undefined)` in an `async` function - return setupIngestStatus; + return { isIntialized: true }; } export async function setupFleet( diff --git a/x-pack/plugins/ingest_manager/server/services/setup_utils.test.ts b/x-pack/plugins/ingest_manager/server/services/setup_utils.test.ts new file mode 100644 index 0000000000000..8d71fc48a2129 --- /dev/null +++ b/x-pack/plugins/ingest_manager/server/services/setup_utils.test.ts @@ -0,0 +1,149 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { awaitIfPending } from './setup_utils'; + +async function sleep(ms: number) { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + +describe('awaitIfPending', () => { + it('first promise called blocks others', async () => { + const fnA = jest.fn().mockImplementation(async () => {}); + const fnB = jest.fn().mockImplementation(async () => {}); + const fnC = jest.fn().mockImplementation(async () => {}); + const fnD = jest.fn().mockImplementation(async () => {}); + const promises = [ + awaitIfPending(fnA), + awaitIfPending(fnB), + awaitIfPending(fnC), + awaitIfPending(fnD), + ]; + await Promise.all(promises); + + expect(fnA).toHaveBeenCalledTimes(1); + expect(fnB).toHaveBeenCalledTimes(0); + expect(fnC).toHaveBeenCalledTimes(0); + expect(fnD).toHaveBeenCalledTimes(0); + }); + + describe('first promise created, not necessarily first fulfilled, sets value for all in queue', () => { + it('succeeds', async () => { + const fnA = jest.fn().mockImplementation(async () => { + await sleep(1000); + return 'called first'; + }); + const fnB = jest.fn().mockImplementation(async () => 'called second'); + const fnC = jest.fn().mockImplementation(async () => 'called third'); + const fnD = jest.fn().mockImplementation(async () => 'called fourth'); + const promises = [ + awaitIfPending(fnA), + awaitIfPending(fnB), + awaitIfPending(fnC), + awaitIfPending(fnD), + ]; + + expect(fnA).toHaveBeenCalledTimes(1); + expect(fnB).toHaveBeenCalledTimes(0); + expect(fnC).toHaveBeenCalledTimes(0); + expect(fnD).toHaveBeenCalledTimes(0); + await expect(Promise.all(promises)).resolves.toEqual([ + 'called first', + 'called first', + 'called first', + 'called first', + ]); + }); + + it('throws', async () => { + const expectedError = new Error('error is called first'); + const fnA = jest.fn().mockImplementation(async () => { + await sleep(1000); + throw expectedError; + }); + const fnB = jest.fn().mockImplementation(async () => 'called second'); + const fnC = jest.fn().mockImplementation(async () => 'called third'); + const fnD = jest.fn().mockImplementation(async () => 'called fourth'); + const promises = [ + awaitIfPending(fnA), + awaitIfPending(fnB), + awaitIfPending(fnC), + awaitIfPending(fnD), + ]; + + await expect(Promise.all(promises)).rejects.toThrow(expectedError); + await expect(Promise.allSettled(promises)).resolves.toEqual([ + { status: 'rejected', reason: expectedError }, + { status: 'rejected', reason: expectedError }, + { status: 'rejected', reason: expectedError }, + { status: 'rejected', reason: expectedError }, + ]); + + expect(fnA).toHaveBeenCalledTimes(1); + expect(fnB).toHaveBeenCalledTimes(0); + expect(fnC).toHaveBeenCalledTimes(0); + expect(fnD).toHaveBeenCalledTimes(0); + }); + }); + + it('does not block other calls after batch is fulfilled. can call again for a new result', async () => { + const fnA = jest + .fn() + .mockImplementationOnce(async () => 'fnA first') + .mockImplementationOnce(async () => 'fnA second') + .mockImplementation(async () => 'fnA default/2+'); + const fnB = jest.fn().mockImplementation(async () => {}); + const fnC = jest.fn().mockImplementation(async () => {}); + const fnD = jest.fn().mockImplementation(async () => {}); + let promises = [ + awaitIfPending(fnA), + awaitIfPending(fnB), + awaitIfPending(fnC), + awaitIfPending(fnD), + ]; + let results = await Promise.all(promises); + + expect(fnA).toHaveBeenCalledTimes(1); + expect(fnB).toHaveBeenCalledTimes(0); + expect(fnC).toHaveBeenCalledTimes(0); + expect(fnD).toHaveBeenCalledTimes(0); + expect(results).toEqual(['fnA first', 'fnA first', 'fnA first', 'fnA first']); + + promises = [awaitIfPending(fnA), awaitIfPending(fnB), awaitIfPending(fnC), awaitIfPending(fnD)]; + results = await Promise.all(promises); + expect(fnA).toHaveBeenCalledTimes(2); + expect(fnB).toHaveBeenCalledTimes(0); + expect(fnC).toHaveBeenCalledTimes(0); + expect(fnD).toHaveBeenCalledTimes(0); + expect(results).toEqual(['fnA second', 'fnA second', 'fnA second', 'fnA second']); + + promises = [awaitIfPending(fnA), awaitIfPending(fnB), awaitIfPending(fnC), awaitIfPending(fnD)]; + results = await Promise.all(promises); + expect(fnA).toHaveBeenCalledTimes(3); + expect(fnB).toHaveBeenCalledTimes(0); + expect(fnC).toHaveBeenCalledTimes(0); + expect(fnD).toHaveBeenCalledTimes(0); + expect(results).toEqual([ + 'fnA default/2+', + 'fnA default/2+', + 'fnA default/2+', + 'fnA default/2+', + ]); + + promises = [awaitIfPending(fnA), awaitIfPending(fnB), awaitIfPending(fnC), awaitIfPending(fnD)]; + results = await Promise.all(promises); + expect(fnA).toHaveBeenCalledTimes(4); + expect(fnB).toHaveBeenCalledTimes(0); + expect(fnC).toHaveBeenCalledTimes(0); + expect(fnD).toHaveBeenCalledTimes(0); + expect(results).toEqual([ + 'fnA default/2+', + 'fnA default/2+', + 'fnA default/2+', + 'fnA default/2+', + ]); + }); +}); diff --git a/x-pack/plugins/ingest_manager/server/services/setup_utils.ts b/x-pack/plugins/ingest_manager/server/services/setup_utils.ts new file mode 100644 index 0000000000000..3c752bd410c5a --- /dev/null +++ b/x-pack/plugins/ingest_manager/server/services/setup_utils.ts @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +// the promise which tracks the setup +let status: Promise | undefined; +let isPending = false; +// default resolve to guard against "undefined is not a function" errors +let onResolve = (value?: unknown) => {}; +let onReject = (reason: any) => {}; + +export async function awaitIfPending(asyncFunction: Function): Promise { + // pending successful or failed attempt + if (isPending) { + // don't run concurrent installs + // return a promise which will eventually resolve/reject + return status; + } else { + // create the initial promise + status = new Promise((res, rej) => { + isPending = true; + onResolve = res; + onReject = rej; + }); + } + try { + const result = await asyncFunction().catch(onReject); + onResolve(result); + } catch (error) { + // if something fails + onReject(error); + } + isPending = false; + return status; +} From 539d84ba9fd5b49a2e0af809f01daa6ecda34911 Mon Sep 17 00:00:00 2001 From: Joe Reuter Date: Thu, 20 Aug 2020 17:16:41 +0200 Subject: [PATCH 27/51] Fixing functional test user roles (#75547) --- test/functional/apps/dashboard/embeddable_rendering.js | 3 +++ test/functional/apps/dashboard/legacy_urls.ts | 3 +++ test/functional/config.js | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/test/functional/apps/dashboard/embeddable_rendering.js b/test/functional/apps/dashboard/embeddable_rendering.js index c00f01d060f4a..73c36c7562e8b 100644 --- a/test/functional/apps/dashboard/embeddable_rendering.js +++ b/test/functional/apps/dashboard/embeddable_rendering.js @@ -33,6 +33,7 @@ export default function ({ getService, getPageObjects }) { const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); const pieChart = getService('pieChart'); + const security = getService('security'); const dashboardExpect = getService('dashboardExpect'); const dashboardAddPanel = getService('dashboardAddPanel'); const PageObjects = getPageObjects([ @@ -100,6 +101,7 @@ export default function ({ getService, getPageObjects }) { describe('dashboard embeddable rendering', function describeIndexTests() { before(async () => { + await security.testUser.setRoles(['kibana_admin', 'animals', 'test_logstash_reader']); await esArchiver.load('dashboard/current/kibana'); await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', @@ -118,6 +120,7 @@ export default function ({ getService, getPageObjects }) { const currentUrl = await browser.getCurrentUrl(); const newUrl = currentUrl.replace(/\?.*$/, ''); await browser.get(newUrl, false); + await security.testUser.restoreDefaults(); }); it('adding visualizations', async () => { diff --git a/test/functional/apps/dashboard/legacy_urls.ts b/test/functional/apps/dashboard/legacy_urls.ts index e606649c1df9f..6bb8d808e8daa 100644 --- a/test/functional/apps/dashboard/legacy_urls.ts +++ b/test/functional/apps/dashboard/legacy_urls.ts @@ -35,6 +35,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const dashboardAddPanel = getService('dashboardAddPanel'); const listingTable = getService('listingTable'); const esArchiver = getService('esArchiver'); + const security = getService('security'); let kibanaLegacyBaseUrl: string; let kibanaVisualizeBaseUrl: string; @@ -42,6 +43,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('legacy urls', function describeIndexTests() { before(async function () { + await security.testUser.setRoles(['kibana_admin', 'animals']); await esArchiver.load('dashboard/current/kibana'); await PageObjects.common.navigateToApp('dashboard'); await PageObjects.dashboard.clickNewDashboard(); @@ -61,6 +63,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async function () { await PageObjects.dashboard.gotoDashboardLandingPage(); await listingTable.deleteItem('legacyTest', testDashboardId); + await security.testUser.restoreDefaults(); }); describe('kibana link redirect', () => { diff --git a/test/functional/config.js b/test/functional/config.js index 95e0c689089ef..15097d9346471 100644 --- a/test/functional/config.js +++ b/test/functional/config.js @@ -264,7 +264,7 @@ export default async function ({ readConfigFile }) { cluster: [], indices: [ { - names: ['animals-*'], + names: ['animals-*', 'dogbreeds'], privileges: ['read', 'view_index_metadata'], field_security: { grant: ['*'], except: [] }, }, From 0a8862d2c9178b7f60c196d179508f0d9cf28264 Mon Sep 17 00:00:00 2001 From: Alison Goryachev Date: Thu, 20 Aug 2020 11:52:58 -0400 Subject: [PATCH 28/51] [Ingest pipelines] Test pipeline enhancements (#74964) --- .../helpers/pipeline_form.helpers.ts | 7 +- .../ingest_pipelines_create.test.tsx | 2 +- .../on_failure_processors_title.tsx | 74 +++--- .../pipeline_form/pipeline_form.scss | 8 + .../pipeline_form/pipeline_form_fields.tsx | 11 +- .../pipeline_form/processors_header.tsx | 33 +-- .../documents_dropdown.scss | 3 + .../documents_dropdown/documents_dropdown.tsx | 69 ++++++ .../components/documents_dropdown/index.ts | 7 + .../components/index.ts | 4 +- .../components/load_from_json/button.tsx | 8 +- .../manage_processor_form.tsx | 51 +++- .../processor_output.tsx | 217 ++++++++++++++++++ .../pipeline_processors_editor_item.scss | 5 + .../pipeline_processors_editor_item.tsx | 21 ++ ...pipeline_processors_editor_item_status.tsx | 85 +++++++ .../processors_tree/processors_tree.scss | 1 - .../{button.tsx => add_documents_button.tsx} | 29 +-- .../test_pipeline/flyout_provider.tsx | 172 -------------- .../components/test_pipeline/index.ts | 2 +- .../test_pipeline/test_output_button.tsx | 60 +++++ .../test_pipeline/test_pipeline_actions.tsx | 84 +++++++ .../test_pipeline/test_pipeline_flyout.tsx | 197 ++++++++++++++++ .../documents_schema.tsx} | 0 .../index.ts | 2 +- .../tab_documents.tsx | 56 +++-- .../tab_output.tsx | 45 ++-- .../test_pipeline_tabs.tsx} | 14 +- .../context/context.tsx | 6 +- .../context/index.ts | 7 +- .../context/processors_context.tsx | 22 +- .../context/test_config_context.tsx | 57 ----- .../context/test_pipeline_context.tsx | 189 +++++++++++++++ .../pipeline_processors_editor/deserialize.ts | 47 +++- .../pipeline_processors_editor/index.ts | 7 +- .../pipeline_processors_editor/serialize.ts | 44 +++- .../pipeline_processors_editor/types.ts | 32 +++ .../public/application/services/api.ts | 4 +- .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - 40 files changed, 1291 insertions(+), 393 deletions(-) create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/documents_dropdown.scss create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/documents_dropdown.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/index.ts create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processor_output.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/pipeline_processors_editor_item_status.tsx rename x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/{button.tsx => add_documents_button.tsx} (51%) delete mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_provider.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_output_button.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_actions.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout.tsx rename x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/{flyout_tabs/schema.tsx => test_pipeline_flyout_tabs/documents_schema.tsx} (100%) rename x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/{flyout_tabs => test_pipeline_flyout_tabs}/index.ts (83%) rename x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/{flyout_tabs => test_pipeline_flyout_tabs}/tab_documents.tsx (68%) rename x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/{flyout_tabs => test_pipeline_flyout_tabs}/tab_output.tsx (68%) rename x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/{flyout_tabs/pipeline_test_tabs.tsx => test_pipeline_flyout_tabs/test_pipeline_tabs.tsx} (77%) delete mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/test_config_context.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/test_pipeline_context.tsx diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipeline_form.helpers.ts b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipeline_form.helpers.ts index 85848b3d2f73c..752ffef51b43b 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipeline_form.helpers.ts +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipeline_form.helpers.ts @@ -13,8 +13,8 @@ export const getFormActions = (testBed: TestBed) => { find('submitButton').simulate('click'); }; - const clickTestPipelineButton = () => { - find('testPipelineButton').simulate('click'); + const clickAddDocumentsButton = () => { + find('addDocumentsButton').simulate('click'); }; const clickShowRequestLink = () => { @@ -34,11 +34,12 @@ export const getFormActions = (testBed: TestBed) => { clickShowRequestLink, toggleVersionSwitch, toggleOnFailureSwitch, - clickTestPipelineButton, + clickAddDocumentsButton, }; }; export type PipelineFormTestSubjects = + | 'addDocumentsButton' | 'submitButton' | 'pageTitle' | 'savePipelineError' diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx index 813057813f139..6074c64d2bdb0 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx @@ -201,7 +201,7 @@ describe('', () => { const { actions, exists, find, waitFor } = testBed; await act(async () => { - actions.clickTestPipelineButton(); + actions.clickAddDocumentsButton(); await waitFor('testPipelineFlyout'); }); diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/on_failure_processors_title.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/on_failure_processors_title.tsx index d2c001b0aaa13..0beb5657b54cb 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/on_failure_processors_title.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/on_failure_processors_title.tsx @@ -3,7 +3,7 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import { EuiFlexGroup, EuiFlexItem, EuiLink, EuiText, EuiTitle } from '@elastic/eui'; +import { EuiLink, EuiText, EuiTitle } from '@elastic/eui'; import React, { FunctionComponent } from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; @@ -12,47 +12,41 @@ import { useKibana } from '../../../shared_imports'; export const OnFailureProcessorsTitle: FunctionComponent = () => { const { services } = useKibana(); + return ( - - - -

- -

-
- +
+ +

- {i18n.translate( - 'xpack.ingestPipelines.pipelineEditor.onFailureProcessorsDocumentationLink', - { - defaultMessage: 'Learn more.', - } - )} - - ), - }} + id="xpack.ingestPipelines.pipelineEditor.onFailureTreeTitle" + defaultMessage="Failure processors" /> - - - +

+
+ + + {i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.onFailureProcessorsDocumentationLink', + { + defaultMessage: 'Learn more.', + } + )} + + ), + }} + /> + +
); }; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/pipeline_form.scss b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/pipeline_form.scss index 73eb54827e04f..d5592b87dda51 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/pipeline_form.scss +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/pipeline_form.scss @@ -1,3 +1,11 @@ .pipelineProcessorsEditor { margin-bottom: $euiSizeXL; + + &__container { + background-color: $euiColorLightestShade; + } + + &__onFailureTitle { + padding-left: $euiSizeS; + } } diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/pipeline_form_fields.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/pipeline_form_fields.tsx index 3a97e6408b144..6033f34af6825 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/pipeline_form_fields.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/pipeline_form_fields.tsx @@ -129,16 +129,13 @@ export const PipelineFormFields: React.FunctionComponent = ({ - + - - + - - + - - +
diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/processors_header.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/processors_header.tsx index 1f27d611e54d4..43477affa8d94 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/processors_header.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/processors_header.tsx @@ -14,7 +14,7 @@ import { useKibana } from '../../../shared_imports'; import { LoadFromJsonButton, OnDoneLoadJsonHandler, - TestPipelineButton, + TestPipelineActions, } from '../pipeline_processors_editor'; export interface Props { @@ -23,6 +23,7 @@ export interface Props { export const ProcessorsHeader: FunctionComponent = ({ onLoadJson }) => { const { services } = useKibana(); + return ( = ({ onLoadJson }) => { justifyContent="spaceBetween" responsive={false} > - - -

- {i18n.translate('xpack.ingestPipelines.pipelineEditor.processorsTreeTitle', { - defaultMessage: 'Processors', - })} -

-
+ + + + +

+ {i18n.translate('xpack.ingestPipelines.pipelineEditor.processorsTreeTitle', { + defaultMessage: 'Processors', + })} +

+
+
+ + + +
+ = ({ onLoadJson }) => { {i18n.translate( 'xpack.ingestPipelines.pipelineEditor.processorsDocumentationLink', @@ -61,10 +71,7 @@ export const ProcessorsHeader: FunctionComponent = ({ onLoadJson }) => {
- - - - +
); diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/documents_dropdown.scss b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/documents_dropdown.scss new file mode 100644 index 0000000000000..c5b14dc129b0e --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/documents_dropdown.scss @@ -0,0 +1,3 @@ +.documentsDropdown__selectContainer { + max-width: 200px; +} diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/documents_dropdown.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/documents_dropdown.tsx new file mode 100644 index 0000000000000..e9aa5c1d56f73 --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/documents_dropdown.tsx @@ -0,0 +1,69 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ +import { i18n } from '@kbn/i18n'; +import React, { FunctionComponent } from 'react'; +import { EuiSelect, EuiFlexGroup, EuiFlexItem, EuiText } from '@elastic/eui'; + +import { Document } from '../../types'; + +import './documents_dropdown.scss'; + +const i18nTexts = { + ariaLabel: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.testPipeline.documentsDropdownAriaLabel', + { + defaultMessage: 'Select documents', + } + ), + dropdownLabel: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.testPipeline.documentsdropdownLabel', + { + defaultMessage: 'Documents:', + } + ), + buttonLabel: i18n.translate('xpack.ingestPipelines.pipelineEditor.testPipeline.buttonLabel', { + defaultMessage: 'Add documents', + }), +}; + +const getDocumentOptions = (documents: Document[]) => + documents.map((doc, index) => ({ + value: index, + text: doc._id, + })); + +interface Props { + documents: Document[]; + selectedDocumentIndex: number; + updateSelectedDocument: (index: number) => void; +} + +export const DocumentsDropdown: FunctionComponent = ({ + documents, + selectedDocumentIndex, + updateSelectedDocument, +}) => { + return ( + + + + {i18nTexts.dropdownLabel} + + + + { + updateSelectedDocument(Number(e.target.value)); + }} + aria-label={i18nTexts.ariaLabel} + /> + + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/index.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/index.ts new file mode 100644 index 0000000000000..a8b55788647fb --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/documents_dropdown/index.ts @@ -0,0 +1,7 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +export { DocumentsDropdown } from './documents_dropdown'; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/index.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/index.ts index 3b0ae477c871f..435d0ed66c4b0 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/index.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/index.ts @@ -20,6 +20,8 @@ export { ProcessorRemoveModal } from './processor_remove_modal'; export { OnDoneLoadJsonHandler, LoadFromJsonButton } from './load_from_json'; -export { TestPipelineButton } from './test_pipeline'; +export { TestPipelineActions } from './test_pipeline'; + +export { DocumentsDropdown } from './documents_dropdown'; export { PipelineProcessorsItemTooltip, Position } from './pipeline_processors_editor_item_tooltip'; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/load_from_json/button.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/load_from_json/button.tsx index 482878d1bda58..21d15fc86a0ce 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/load_from_json/button.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/load_from_json/button.tsx @@ -5,7 +5,7 @@ */ import { i18n } from '@kbn/i18n'; import React, { FunctionComponent } from 'react'; -import { EuiButton } from '@elastic/eui'; +import { EuiButtonEmpty } from '@elastic/eui'; import { ModalProvider, OnDoneLoadJsonHandler } from './modal_provider'; @@ -15,7 +15,7 @@ interface Props { const i18nTexts = { buttonLabel: i18n.translate('xpack.ingestPipelines.pipelineEditor.loadFromJson.buttonLabel', { - defaultMessage: 'Load JSON', + defaultMessage: 'Import', }), }; @@ -24,9 +24,9 @@ export const LoadFromJsonButton: FunctionComponent = ({ onDone }) => { {(openModal) => { return ( - + {i18nTexts.buttonLabel} - + ); }} diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/manage_processor_form.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/manage_processor_form.tsx index ad6d191be802d..ee8ca71e58446 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/manage_processor_form.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/manage_processor_form.tsx @@ -24,10 +24,12 @@ import { import { Form, FormDataProvider, FormHook } from '../../../../../shared_imports'; import { ProcessorInternal } from '../../types'; +import { useTestPipelineContext } from '../../context'; import { getProcessorDescriptor } from '../shared'; import { ProcessorSettingsFields } from './processor_settings_fields'; import { DocumentationButton } from './documentation_button'; +import { ProcessorOutput } from './processor_output'; export interface Props { isOnFailure: boolean; @@ -53,7 +55,7 @@ const cancelButtonLabel = i18n.translate( { defaultMessage: 'Cancel' } ); -export type TabType = 'configuration'; +export type TabType = 'configuration' | 'output'; interface Tab { id: TabType; @@ -70,6 +72,12 @@ const tabs: Tab[] = [ } ), }, + { + id: 'output', + name: i18n.translate('xpack.ingestPipelines.settingsFormOnFailureFlyout.outputTabTitle', { + defaultMessage: 'Output', + }), + }, ]; const getFlyoutTitle = (isOnFailure: boolean, isExistingProcessor: boolean) => { @@ -102,6 +110,28 @@ const getFlyoutTitle = (isOnFailure: boolean, isExistingProcessor: boolean) => { export const ManageProcessorForm: FunctionComponent = memo( ({ processor, form, isOnFailure, onClose, onOpen, esDocsBasePath }) => { + const { testPipelineData, setCurrentTestPipelineData } = useTestPipelineContext(); + const { + testOutputPerProcessor, + config: { selectedDocumentIndex, documents }, + } = testPipelineData; + + const processorOutput = + processor && + testOutputPerProcessor && + testOutputPerProcessor[selectedDocumentIndex][processor.id]; + + const updateSelectedDocument = (index: number) => { + setCurrentTestPipelineData({ + type: 'updateActiveDocument', + payload: { + config: { + selectedDocumentIndex: index, + }, + }, + }); + }; + useEffect( () => { onOpen(); @@ -111,7 +141,20 @@ export const ManageProcessorForm: FunctionComponent = memo( const [activeTab, setActiveTab] = useState('configuration'); - const flyoutContent = ; + let flyoutContent: React.ReactNode; + + if (activeTab === 'output') { + flyoutContent = ( + + ); + } else { + flyoutContent = ; + } return (
@@ -156,6 +199,10 @@ export const ManageProcessorForm: FunctionComponent = memo( isSelected={tab.id === activeTab} key={tab.id} data-test-subj={`${tab.id}Tab`} + disabled={ + (tab.id === 'output' && Boolean(testOutputPerProcessor) === false) || + Boolean(processorOutput) === false + } > {tab.name} diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processor_output.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processor_output.tsx new file mode 100644 index 0000000000000..c081f69fd41fe --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processor_output.tsx @@ -0,0 +1,217 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React from 'react'; +import { i18n } from '@kbn/i18n'; + +import { + EuiAccordion, + EuiCallOut, + EuiCodeBlock, + EuiText, + EuiFlexGroup, + EuiFlexItem, + EuiSpacer, +} from '@elastic/eui'; + +import { ProcessorResult, Document } from '../../types'; +import { DocumentsDropdown } from '../documents_dropdown'; + +export interface Props { + processorOutput?: ProcessorResult; + documents: Document[]; + selectedDocumentIndex: number; + updateSelectedDocument: (index: number) => void; +} + +const i18nTexts = { + noOutputCalloutTitle: i18n.translate( + 'xpack.ingestPipelines.processorOutput.noOutputCalloutTitle', + { + defaultMessage: 'Unable to load the processor output.', + } + ), + tabDescription: i18n.translate('xpack.ingestPipelines.processorOutput.descriptionText', { + defaultMessage: + 'View how the processor affects the ingest document as it passes through the pipeline.', + }), + skippedCalloutTitle: i18n.translate('xpack.ingestPipelines.processorOutput.skippedCalloutTitle', { + defaultMessage: 'The processor was not run.', + }), + droppedCalloutTitle: i18n.translate('xpack.ingestPipelines.processorOutput.droppedCalloutTitle', { + defaultMessage: 'The document was dropped.', + }), + processorOutputLabel: i18n.translate( + 'xpack.ingestPipelines.processorOutput.processorOutputCodeBlockLabel', + { + defaultMessage: 'Processor output', + } + ), + processorErrorLabel: i18n.translate( + 'xpack.ingestPipelines.processorOutput.processorErrorCodeBlockLabel', + { + defaultMessage: 'Processor error', + } + ), + prevProcessorLabel: i18n.translate( + 'xpack.ingestPipelines.processorOutput.previousOutputCodeBlockLabel', + { + defaultMessage: 'View previous processor output', + } + ), + processorIgnoredErrorLabel: i18n.translate( + 'xpack.ingestPipelines.processorOutput.ignoredErrorCodeBlockLabel', + { + defaultMessage: 'View ignored error', + } + ), +}; + +export const ProcessorOutput: React.FunctionComponent = ({ + processorOutput, + documents, + selectedDocumentIndex, + updateSelectedDocument, +}) => { + // This code should not be reached, + // but if for some reason the output is undefined, we render a callout message + if (!processorOutput) { + return ; + } + + const { + prevProcessorResult, + doc: currentResult, + ignored_error: ignoredError, + error, + status, + } = processorOutput!; + + return ( + <> + +

{i18nTexts.tabDescription}

+
+ + {/* There is no output for "skipped" status, so we render an info callout */} + {status === 'skipped' && ( + <> + + + + )} + + {/* There is no output for "dropped status", so we render a warning callout */} + {status === 'dropped' && ( + <> + + + + )} + + {currentResult && ( + <> + + + + +

{i18nTexts.processorOutputLabel}

+
+ + + +
+ + + + + {JSON.stringify(currentResult, null, 2)} + + + )} + + {error && ( + <> + + + + +

{i18nTexts.processorErrorLabel}

+
+ + + +
+ + + + + {JSON.stringify(error, null, 2)} + + + )} + + {prevProcessorResult?.doc && ( + <> + + + +

{i18nTexts.prevProcessorLabel}

+ + } + > + <> + + + + {JSON.stringify(prevProcessorResult.doc, null, 2)} + + +
+ + )} + + {ignoredError && ( + <> + + + +

{i18nTexts.processorIgnoredErrorLabel}

+ + } + > + <> + + + + {JSON.stringify(ignoredError, null, 2)} + + +
+ + )} + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/pipeline_processors_editor_item/pipeline_processors_editor_item.scss b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/pipeline_processors_editor_item/pipeline_processors_editor_item.scss index 85a123b421975..d9c3d84eec082 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/pipeline_processors_editor_item/pipeline_processors_editor_item.scss +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/pipeline_processors_editor_item/pipeline_processors_editor_item.scss @@ -60,4 +60,9 @@ z-index: $cancelButtonZIndex; } } + + &__statusContainer { + // Prevent content jump when spinner renders + min-width: 12px; + } } diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/pipeline_processors_editor_item/pipeline_processors_editor_item.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/pipeline_processors_editor_item/pipeline_processors_editor_item.tsx index a13321c38c193..4a67e27d2ebe6 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/pipeline_processors_editor_item/pipeline_processors_editor_item.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/pipeline_processors_editor_item/pipeline_processors_editor_item.tsx @@ -11,6 +11,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiLink, + EuiLoadingSpinner, EuiPanel, EuiText, EuiToolTip, @@ -21,6 +22,8 @@ import { selectorToDataTestSubject } from '../../utils'; import { ProcessorsDispatch } from '../../processors_reducer'; import { ProcessorInfo } from '../processors_tree'; +import { PipelineProcessorsItemStatus } from '../pipeline_processors_editor_item_status'; +import { useTestPipelineContext } from '../../context'; import { getProcessorDescriptor } from '../shared'; @@ -63,6 +66,17 @@ export const PipelineProcessorsEditorItem: FunctionComponent = memo( const isMovingOtherProcessor = editor.mode.id === 'movingProcessor' && !isMovingThisProcessor; const isDimmed = isEditingOtherProcessor || isMovingOtherProcessor; + const { testPipelineData } = useTestPipelineContext(); + const { + config: { selectedDocumentIndex }, + testOutputPerProcessor, + isExecutingPipeline, + } = testPipelineData; + + const processorOutput = + testOutputPerProcessor && testOutputPerProcessor[selectedDocumentIndex][processor.id]; + const processorStatus = processorOutput?.status ?? 'inactive'; + const panelClasses = classNames('pipelineProcessorsEditor__item', { // eslint-disable-next-line @typescript-eslint/naming-convention 'pipelineProcessorsEditor__item--selected': isMovingThisProcessor || isEditingThisProcessor, @@ -131,6 +145,13 @@ export const PipelineProcessorsEditorItem: FunctionComponent = memo( {renderMoveButton()} + + {isExecutingPipeline ? ( + + ) : ( + + )} + = { + success: { + icon: 'checkInCircleFilled', + iconColor: 'success', + label: i18n.translate('xpack.ingestPipelines.pipelineEditorItem.successStatusAriaLabel', { + defaultMessage: 'Success', + }), + }, + error: { + icon: 'crossInACircleFilled', + iconColor: 'danger', + label: i18n.translate('xpack.ingestPipelines.pipelineEditorItem.errorStatusAriaLabel', { + defaultMessage: 'Error', + }), + }, + error_ignored: { + icon: 'alert', + iconColor: 'warning', + label: i18n.translate('xpack.ingestPipelines.pipelineEditorItem.errorIgnoredStatusAriaLabel', { + defaultMessage: 'Error ignored', + }), + }, + dropped: { + icon: 'alert', + iconColor: 'warning', + label: i18n.translate('xpack.ingestPipelines.pipelineEditorItem.droppedStatusAriaLabel', { + defaultMessage: 'Dropped', + }), + }, + skipped: { + icon: 'dot', + iconColor: 'subdued', + label: i18n.translate('xpack.ingestPipelines.pipelineEditorItem.skippedStatusAriaLabel', { + defaultMessage: 'Skipped', + }), + }, + inactive: { + icon: 'dot', + iconColor: 'subdued', + label: i18n.translate('xpack.ingestPipelines.pipelineEditorItem.inactiveStatusAriaLabel', { + defaultMessage: 'Not run', + }), + }, +}; + +// This is a fallback in case ES returns a status we do not support +// This is not expected and likely means we need to modify the code to support a new status +const unknownStatus = { + icon: 'dot', + iconColor: 'subdued', + label: i18n.translate('xpack.ingestPipelines.pipelineEditorItem.unknownStatusAriaLabel', { + defaultMessage: 'Unknown', + }), +}; + +interface Props { + processorStatus: ProcessorStatus; +} + +export const PipelineProcessorsItemStatus: FunctionComponent = ({ processorStatus }) => { + const { icon, iconColor, label } = processorStatusToIconMap[processorStatus] || unknownStatus; + + return ( + {label}

}> + +
+ ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/processors_tree/processors_tree.scss b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/processors_tree/processors_tree.scss index 061c9adb5d443..a54cc994ab730 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/processors_tree/processors_tree.scss +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/processors_tree/processors_tree.scss @@ -3,7 +3,6 @@ .pipelineProcessorsEditor__tree { &__container { - background-color: $euiColorLightestShade; padding: $euiSizeS; } diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/button.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/add_documents_button.tsx similarity index 51% rename from x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/button.tsx rename to x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/add_documents_button.tsx index 0e8e23ba80ea8..e3ef9a9ee5390 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/button.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/add_documents_button.tsx @@ -5,26 +5,27 @@ */ import { i18n } from '@kbn/i18n'; import React, { FunctionComponent } from 'react'; -import { EuiButton } from '@elastic/eui'; - -import { FlyoutProvider } from './flyout_provider'; +import { EuiButtonEmpty } from '@elastic/eui'; const i18nTexts = { buttonLabel: i18n.translate('xpack.ingestPipelines.pipelineEditor.testPipeline.buttonLabel', { - defaultMessage: 'Test pipeline', + defaultMessage: 'Add documents', }), }; -export const TestPipelineButton: FunctionComponent = () => { +interface Props { + openTestPipelineFlyout: () => void; +} + +export const AddDocumentsButton: FunctionComponent = ({ openTestPipelineFlyout }) => { return ( - - {(openFlyout) => { - return ( - - {i18nTexts.buttonLabel} - - ); - }} - + + {i18nTexts.buttonLabel} + ); }; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_provider.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_provider.tsx deleted file mode 100644 index 53aeb9fdc08ba..0000000000000 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_provider.tsx +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License; - * you may not use this file except in compliance with the Elastic License. - */ - -import React, { useState, useEffect, useCallback } from 'react'; -import { FormattedMessage } from '@kbn/i18n/react'; -import { i18n } from '@kbn/i18n'; - -import { - EuiFlyout, - EuiFlyoutBody, - EuiFlyoutHeader, - EuiSpacer, - EuiTitle, - EuiCallOut, -} from '@elastic/eui'; - -import { useKibana } from '../../../../../shared_imports'; - -import { usePipelineProcessorsContext, useTestConfigContext } from '../../context'; -import { serialize } from '../../serialize'; - -import { Tabs, Tab, OutputTab, DocumentsTab } from './flyout_tabs'; - -export interface Props { - children: (openFlyout: () => void) => React.ReactNode; -} - -export const FlyoutProvider: React.FunctionComponent = ({ children }) => { - const { services } = useKibana(); - const { - state: { processors }, - } = usePipelineProcessorsContext(); - - const serializedProcessors = serialize(processors.state); - - const { testConfig } = useTestConfigContext(); - const { documents: cachedDocuments, verbose: cachedVerbose } = testConfig; - - const [isFlyoutVisible, setIsFlyoutVisible] = useState(false); - - const initialSelectedTab = cachedDocuments ? 'output' : 'documents'; - const [selectedTab, setSelectedTab] = useState(initialSelectedTab); - - const [shouldExecuteImmediately, setShouldExecuteImmediately] = useState(false); - const [isExecuting, setIsExecuting] = useState(false); - const [executeError, setExecuteError] = useState(null); - const [executeOutput, setExecuteOutput] = useState(undefined); - - const handleExecute = useCallback( - async (documents: object[], verbose?: boolean) => { - setIsExecuting(true); - setExecuteError(null); - - const { error, data: output } = await services.api.simulatePipeline({ - documents, - verbose, - pipeline: { ...serializedProcessors }, - }); - - setIsExecuting(false); - - if (error) { - setExecuteError(error); - return; - } - - setExecuteOutput(output); - - services.notifications.toasts.addSuccess( - i18n.translate('xpack.ingestPipelines.testPipelineFlyout.successNotificationText', { - defaultMessage: 'Pipeline executed', - }), - { - toastLifeTimeMs: 1000, - } - ); - - setSelectedTab('output'); - }, - [services.api, services.notifications.toasts, serializedProcessors] - ); - - useEffect(() => { - if (isFlyoutVisible === false && cachedDocuments) { - setShouldExecuteImmediately(true); - } - }, [isFlyoutVisible, cachedDocuments]); - - useEffect(() => { - // If the user has already tested the pipeline once, - // use the cached test config and automatically execute the pipeline - if (isFlyoutVisible && shouldExecuteImmediately && cachedDocuments) { - setShouldExecuteImmediately(false); - handleExecute(cachedDocuments!, cachedVerbose); - } - }, [handleExecute, cachedDocuments, cachedVerbose, isFlyoutVisible, shouldExecuteImmediately]); - - let tabContent; - - if (selectedTab === 'output') { - tabContent = ( - - ); - } else { - // default to "Documents" tab - tabContent = ; - } - - return ( - <> - {children(() => setIsFlyoutVisible(true))} - - {isFlyoutVisible && ( - setIsFlyoutVisible(false)} - data-test-subj="testPipelineFlyout" - > - - -

- -

-
-
- - - !executeOutput && tabId === 'output'} - /> - - - - {/* Execute error */} - {executeError ? ( - <> - - } - color="danger" - iconType="alert" - > -

{executeError.message}

-
- - - ) : null} - - {/* Documents or output tab content */} - {tabContent} -
-
- )} - - ); -}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/index.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/index.ts index 8e5037c15bac4..4050971d0930a 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/index.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/index.ts @@ -4,4 +4,4 @@ * you may not use this file except in compliance with the Elastic License. */ -export { TestPipelineButton } from './button'; +export { TestPipelineActions } from './test_pipeline_actions'; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_output_button.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_output_button.tsx new file mode 100644 index 0000000000000..361e32c77d59b --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_output_button.tsx @@ -0,0 +1,60 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ +import { i18n } from '@kbn/i18n'; +import React, { FunctionComponent } from 'react'; +import { EuiButton, EuiToolTip } from '@elastic/eui'; + +const i18nTexts = { + buttonLabel: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.testPipeline.outputButtonLabel', + { + defaultMessage: 'View output', + } + ), + disabledButtonTooltipLabel: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.testPipeline.outputButtonTooltipLabel', + { + defaultMessage: 'Add documents to view the output', + } + ), +}; + +interface Props { + isDisabled: boolean; + openTestPipelineFlyout: () => void; +} + +export const TestOutputButton: FunctionComponent = ({ + isDisabled, + openTestPipelineFlyout, +}) => { + if (isDisabled) { + return ( + {i18nTexts.disabledButtonTooltipLabel}

}> + + {i18nTexts.buttonLabel} + +
+ ); + } + + return ( + + {i18nTexts.buttonLabel} + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_actions.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_actions.tsx new file mode 100644 index 0000000000000..eb9d9352e4b90 --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_actions.tsx @@ -0,0 +1,84 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ +import React, { FunctionComponent, useState } from 'react'; + +import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { useTestPipelineContext, usePipelineProcessorsContext } from '../../context'; + +import { DocumentsDropdown } from '../documents_dropdown'; +import { TestPipelineFlyoutTab } from './test_pipeline_flyout_tabs'; +import { AddDocumentsButton } from './add_documents_button'; +import { TestOutputButton } from './test_output_button'; +import { TestPipelineFlyout } from './test_pipeline_flyout'; + +export const TestPipelineActions: FunctionComponent = () => { + const { testPipelineData, setCurrentTestPipelineData } = useTestPipelineContext(); + + const { + state: { processors }, + } = usePipelineProcessorsContext(); + + const { + testOutputPerProcessor, + config: { documents, selectedDocumentIndex }, + } = testPipelineData; + + const [openTestPipelineFlyout, setOpenTestPipelineFlyout] = useState(false); + const [activeFlyoutTab, setActiveFlyoutTab] = useState('documents'); + + const updateSelectedDocument = (index: number) => { + setCurrentTestPipelineData({ + type: 'updateActiveDocument', + payload: { + config: { + selectedDocumentIndex: index, + }, + }, + }); + }; + + return ( + <> + + + {documents ? ( + + ) : ( + { + setOpenTestPipelineFlyout(true); + setActiveFlyoutTab('documents'); + }} + /> + )} + + + { + setOpenTestPipelineFlyout(true); + setActiveFlyoutTab('output'); + }} + /> + + + {openTestPipelineFlyout && ( + setOpenTestPipelineFlyout(false)} + /> + )} + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout.tsx new file mode 100644 index 0000000000000..e8bb1aa1d357f --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout.tsx @@ -0,0 +1,197 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { useState, useCallback, useEffect } from 'react'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { i18n } from '@kbn/i18n'; + +import { + EuiFlyout, + EuiFlyoutBody, + EuiFlyoutHeader, + EuiSpacer, + EuiTitle, + EuiCallOut, +} from '@elastic/eui'; + +import { useKibana } from '../../../../../shared_imports'; +import { useTestPipelineContext } from '../../context'; +import { serialize } from '../../serialize'; +import { DeserializeResult } from '../../deserialize'; +import { Document } from '../../types'; + +import { Tabs, TestPipelineFlyoutTab, OutputTab, DocumentsTab } from './test_pipeline_flyout_tabs'; + +export interface Props { + activeTab: TestPipelineFlyoutTab; + onClose: () => void; + processors: DeserializeResult; +} + +export interface HandleTestPipelineArgs { + documents: Document[]; + verbose?: boolean; +} + +export const TestPipelineFlyout: React.FunctionComponent = ({ + onClose, + activeTab, + processors, +}) => { + const { services } = useKibana(); + + const { + testPipelineData, + setCurrentTestPipelineData, + updateTestOutputPerProcessor, + } = useTestPipelineContext(); + + const { + config: { documents: cachedDocuments, verbose: cachedVerbose }, + } = testPipelineData; + + const [selectedTab, setSelectedTab] = useState(activeTab); + + const [shouldTestImmediately, setShouldTestImmediately] = useState(false); + const [isRunningTest, setIsRunningTest] = useState(false); + const [testingError, setTestingError] = useState(null); + const [testOutput, setTestOutput] = useState(undefined); + + const handleTestPipeline = useCallback( + async ({ documents, verbose }: HandleTestPipelineArgs) => { + const serializedProcessors = serialize({ pipeline: processors }); + + setIsRunningTest(true); + setTestingError(null); + + const { error, data: currentTestOutput } = await services.api.simulatePipeline({ + documents, + verbose, + pipeline: { ...serializedProcessors }, + }); + + setIsRunningTest(false); + + if (error) { + setTestingError(error); + return; + } + + setCurrentTestPipelineData({ + type: 'updateConfig', + payload: { + config: { + documents, + verbose, + }, + }, + }); + + setTestOutput(currentTestOutput); + + services.notifications.toasts.addSuccess( + i18n.translate('xpack.ingestPipelines.testPipelineFlyout.successNotificationText', { + defaultMessage: 'Pipeline executed', + }), + { + toastLifeTimeMs: 1000, + } + ); + + setSelectedTab('output'); + }, + [services.api, processors, setCurrentTestPipelineData, services.notifications.toasts] + ); + + useEffect(() => { + if (cachedDocuments) { + setShouldTestImmediately(true); + } + // We only want to know on initial mount if there are cached documents + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + useEffect(() => { + // If the user has already tested the pipeline once, + // use the cached test config and automatically execute the pipeline + if (shouldTestImmediately) { + setShouldTestImmediately(false); + handleTestPipeline({ documents: cachedDocuments!, verbose: cachedVerbose }); + } + }, [handleTestPipeline, cachedDocuments, cachedVerbose, shouldTestImmediately]); + + let tabContent; + + if (selectedTab === 'output') { + tabContent = ( + + ); + } else { + // default to "Documents" tab + tabContent = ( + + ); + } + + return ( + + + +

+ +

+
+
+ + + !testOutput && tabId === 'output'} + /> + + + + {/* Testing error callout */} + {testingError ? ( + <> + + } + color="danger" + iconType="alert" + > +

{testingError.message}

+
+ + + ) : null} + + {/* Documents or output tab content */} + {tabContent} +
+
+ ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_tabs/schema.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout_tabs/documents_schema.tsx similarity index 100% rename from x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_tabs/schema.tsx rename to x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout_tabs/documents_schema.tsx diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_tabs/index.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout_tabs/index.ts similarity index 83% rename from x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_tabs/index.ts rename to x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout_tabs/index.ts index ea8fe2cd92350..1f306f96b4bd6 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_tabs/index.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout_tabs/index.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -export { Tabs, Tab } from './pipeline_test_tabs'; +export { Tabs, TestPipelineFlyoutTab } from './test_pipeline_tabs'; export { DocumentsTab } from './tab_documents'; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_tabs/tab_documents.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout_tabs/tab_documents.tsx similarity index 68% rename from x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_tabs/tab_documents.tsx rename to x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout_tabs/tab_documents.tsx index 794d935571210..8968416683c3e 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/flyout_tabs/tab_documents.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/test_pipeline/test_pipeline_flyout_tabs/tab_documents.tsx @@ -16,50 +16,59 @@ import { JsonEditorField, Form, useForm, - FormConfig, useKibana, } from '../../../../../../shared_imports'; -import { useTestConfigContext, TestConfig } from '../../../context'; - -import { documentsSchema } from './schema'; +import { TestPipelineContext } from '../../../context'; +import { Document } from '../../../types'; +import { DeserializeResult } from '../../../deserialize'; +import { HandleTestPipelineArgs } from '../test_pipeline_flyout'; +import { documentsSchema } from './documents_schema'; const UseField = getUseField({ component: Field }); interface Props { - handleExecute: (documents: object[], verbose: boolean) => void; - isExecuting: boolean; + handleTestPipeline: (data: HandleTestPipelineArgs) => void; + setPerProcessorOutput: (documents: Document[] | undefined, processors: DeserializeResult) => void; + isRunningTest: boolean; + processors: DeserializeResult; + testPipelineData: TestPipelineContext['testPipelineData']; } -export const DocumentsTab: React.FunctionComponent = ({ handleExecute, isExecuting }) => { +export const DocumentsTab: React.FunctionComponent = ({ + handleTestPipeline, + isRunningTest, + setPerProcessorOutput, + processors, + testPipelineData, +}) => { const { services } = useKibana(); - const { setCurrentTestConfig, testConfig } = useTestConfigContext(); - const { verbose: cachedVerbose, documents: cachedDocuments } = testConfig; + const { + config: { documents: cachedDocuments, verbose: cachedVerbose }, + } = testPipelineData; + + const testPipeline = async () => { + const { isValid, data } = await form.submit(); - const executePipeline: FormConfig['onSubmit'] = async (formData, isValid) => { if (!isValid) { return; } - const { documents } = formData as TestConfig; + const { documents } = data as { documents: Document[] }; - // Update context - setCurrentTestConfig({ - ...testConfig, - documents, - }); + await handleTestPipeline({ documents: documents!, verbose: cachedVerbose }); - handleExecute(documents!, cachedVerbose); + // This is necessary to update the status and output of each processor + // as verbose may not be enabled + setPerProcessorOutput(documents, processors); }; const { form } = useForm({ schema: documentsSchema, defaultValue: { documents: cachedDocuments || '', - verbose: cachedVerbose || false, }, - onSubmit: executePipeline, }); return ( @@ -79,7 +88,7 @@ export const DocumentsTab: React.FunctionComponent = ({ handleExecute, is {i18n.translate( 'xpack.ingestPipelines.testPipelineFlyout.documentsTab.simulateDocumentionLink', { - defaultMessage: 'Learn more', + defaultMessage: 'Learn more.', } )} @@ -95,6 +104,7 @@ export const DocumentsTab: React.FunctionComponent = ({ handleExecute, is form={form} data-test-subj="testPipelineForm" isInvalid={form.isSubmitted && !form.isValid} + onSubmit={testPipeline} error={form.getErrors()} > {/* Documents editor */} @@ -118,12 +128,12 @@ export const DocumentsTab: React.FunctionComponent = ({ handleExecute, is - {isExecuting ? ( + {isRunningTest ? ( void; - isExecuting: boolean; + handleTestPipeline: (data: HandleTestPipelineArgs) => void; + isRunningTest: boolean; + cachedVerbose?: boolean; + cachedDocuments: Document[]; + testOutput?: any; } export const OutputTab: React.FunctionComponent = ({ - executeOutput, - handleExecute, - isExecuting, + handleTestPipeline, + isRunningTest, + cachedVerbose, + cachedDocuments, + testOutput, }) => { - const { setCurrentTestConfig, testConfig } = useTestConfigContext(); - const { verbose: cachedVerbose, documents: cachedDocuments } = testConfig; + const [isVerboseEnabled, setIsVerboseEnabled] = useState(Boolean(cachedVerbose)); - const onEnableVerbose = (isVerboseEnabled: boolean) => { - setCurrentTestConfig({ - ...testConfig, - verbose: isVerboseEnabled, - }); + const onEnableVerbose = (isVerbose: boolean) => { + setIsVerboseEnabled(isVerbose); - handleExecute(cachedDocuments!, isVerboseEnabled); + handleTestPipeline({ documents: cachedDocuments!, verbose: isVerbose }); }; let content: React.ReactNode | undefined; - if (isExecuting) { + if (isRunningTest) { content = ; - } else if (executeOutput) { + } else if (testOutput) { content = ( - {JSON.stringify(executeOutput, null, 2)} + {JSON.stringify(testOutput, null, 2)} ); } @@ -76,14 +77,16 @@ export const OutputTab: React.FunctionComponent = ({ defaultMessage="View verbose output" /> } - checked={cachedVerbose} + checked={isVerboseEnabled} onChange={(e) => onEnableVerbose(e.target.checked)} />
handleExecute(cachedDocuments!, cachedVerbose)} + onClick={() => + handleTestPipeline({ documents: cachedDocuments!, verbose: isVerboseEnabled }) + } iconType="refresh" > void; - selectedTab: Tab; - getIsDisabled: (tab: Tab) => boolean; + onTabChange: (tab: TestPipelineFlyoutTab) => void; + selectedTab: TestPipelineFlyoutTab; + getIsDisabled: (tab: TestPipelineFlyoutTab) => boolean; } export const Tabs: React.FunctionComponent = ({ @@ -22,15 +22,15 @@ export const Tabs: React.FunctionComponent = ({ getIsDisabled, }) => { const tabs: Array<{ - id: Tab; + id: TestPipelineFlyoutTab; name: React.ReactNode; }> = [ { id: 'documents', name: ( ), }, diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/context.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/context.tsx index a1ea0fd9d0b9e..1023385ccc299 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/context.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/context.tsx @@ -10,7 +10,7 @@ import { PipelineProcessorsContextProvider, Props as ProcessorsContextProps, } from './processors_context'; -import { TestConfigContextProvider } from './test_config_context'; +import { TestPipelineContextProvider } from './test_pipeline_context'; interface Props extends ProcessorsContextProps { children: React.ReactNode; @@ -23,7 +23,7 @@ export const ProcessorsEditorContextProvider: FunctionComponent = ({ onFlyoutOpen, }: Props) => { return ( - + = ({ > {children} - + ); }; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/index.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/index.ts index 1664b3410c1c0..5b152f074f9cd 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/index.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/index.ts @@ -6,7 +6,12 @@ export { ProcessorsEditorContextProvider } from './context'; -export { TestConfigContextProvider, useTestConfigContext, TestConfig } from './test_config_context'; +export { + TestPipelineContextProvider, + useTestPipelineContext, + TestPipelineData, + TestPipelineContext, +} from './test_pipeline_context'; export { PipelineProcessorsContextProvider, diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/processors_context.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/processors_context.tsx index f83803da7bf91..8c59d484acd08 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/processors_context.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/processors_context.tsx @@ -44,6 +44,8 @@ import { import { getValue } from '../utils'; +import { useTestPipelineContext } from './test_pipeline_context'; + const PipelineProcessorsContext = createContext({} as any); export interface Props { @@ -79,6 +81,12 @@ export const PipelineProcessorsContextProvider: FunctionComponent = ({ ); const [processorsState, processorsDispatch] = useProcessorsState(deserializedResult); + const { updateTestOutputPerProcessor, testPipelineData } = useTestPipelineContext(); + + const { + config: { documents }, + } = testPipelineData; + useEffect(() => { if (initRef.current) { processorsDispatch({ @@ -120,8 +128,10 @@ export const PipelineProcessorsContextProvider: FunctionComponent = ({ }, getData: () => serialize({ - onFailure: onFailureProcessors, - processors, + pipeline: { + onFailure: onFailureProcessors, + processors, + }, }), }); }, [processors, onFailureProcessors, onUpdate, formState, mode]); @@ -183,7 +193,7 @@ export const PipelineProcessorsContextProvider: FunctionComponent = ({ break; } }, - [processorsDispatch, setMode] + [processorsDispatch] ); // Memoize the state object to ensure we do not trigger unnecessary re-renders and so @@ -198,6 +208,12 @@ export const PipelineProcessorsContextProvider: FunctionComponent = ({ }; }, [mode, setMode, processorsState, processorsDispatch]); + // Update the test output whenever the processorsState changes (e.g., on move, update, delete) + // Note: updateTestOutputPerProcessor() will only simulate if the user has added sample documents + useEffect(() => { + updateTestOutputPerProcessor(documents, processorsState); + }, [documents, processorsState, updateTestOutputPerProcessor]); + return ( void; -} - -const TEST_CONFIG_DEFAULT_VALUE = { - testConfig: { - verbose: false, - }, - setCurrentTestConfig: () => {}, -}; - -const TestConfigContext = React.createContext(TEST_CONFIG_DEFAULT_VALUE); - -export const useTestConfigContext = () => { - const ctx = useContext(TestConfigContext); - if (!ctx) { - throw new Error( - '"useTestConfigContext" can only be called inside of TestConfigContext.Provider!' - ); - } - return ctx; -}; - -export const TestConfigContextProvider = ({ children }: { children: React.ReactNode }) => { - const [testConfig, setTestConfig] = useState({ - verbose: false, - }); - - const setCurrentTestConfig = useCallback((currentTestConfig: TestConfig): void => { - setTestConfig(currentTestConfig); - }, []); - - return ( - - {children} - - ); -}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/test_pipeline_context.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/test_pipeline_context.tsx new file mode 100644 index 0000000000000..f764f403de79b --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/context/test_pipeline_context.tsx @@ -0,0 +1,189 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { useCallback, useContext, useReducer, Reducer } from 'react'; +import { useKibana } from '../../../../shared_imports'; +import { + DeserializedProcessorResult, + deserializeVerboseTestOutput, + DeserializeResult, +} from '../deserialize'; +import { serialize } from '../serialize'; +import { Document } from '../types'; + +export interface TestPipelineData { + config: { + documents?: Document[]; + verbose?: boolean; + selectedDocumentIndex: number; + }; + testOutputPerProcessor?: DeserializedProcessorResult[]; + isExecutingPipeline?: boolean; +} + +type Action = + | { + type: 'updateOutputPerProcessor'; + payload: { + testOutputPerProcessor?: DeserializedProcessorResult[]; + isExecutingPipeline: boolean; + }; + } + | { + type: 'updateConfig'; + payload: { + config: { + documents: Document[]; + verbose?: boolean; + }; + }; + } + | { + type: 'updateActiveDocument'; + payload: Pick; + } + | { + type: 'updateIsExecutingPipeline'; + payload: Pick; + }; + +export interface TestPipelineContext { + testPipelineData: TestPipelineData; + setCurrentTestPipelineData: (data: Action) => void; + updateTestOutputPerProcessor: ( + documents: Document[] | undefined, + processors: DeserializeResult + ) => void; +} + +const DEFAULT_TEST_PIPELINE_CONTEXT = { + testPipelineData: { + config: { + selectedDocumentIndex: 0, + }, + isExecutingPipeline: false, + }, + setCurrentTestPipelineData: () => {}, + updateTestOutputPerProcessor: () => {}, +}; + +const TestPipelineContext = React.createContext(DEFAULT_TEST_PIPELINE_CONTEXT); + +export const useTestPipelineContext = () => { + const ctx = useContext(TestPipelineContext); + if (!ctx) { + throw new Error( + '"useTestPipelineContext" can only be called inside of TestPipelineContextProvider.Provider!' + ); + } + return ctx; +}; + +export const reducer: Reducer = (state, action) => { + if (action.type === 'updateOutputPerProcessor') { + return { + ...state, + testOutputPerProcessor: action.payload.testOutputPerProcessor, + isExecutingPipeline: false, + }; + } + + if (action.type === 'updateConfig') { + return { + ...action.payload, + config: { + ...action.payload.config, + selectedDocumentIndex: state.config.selectedDocumentIndex, + }, + testOutputPerProcessor: state.testOutputPerProcessor, + }; + } + + if (action.type === 'updateActiveDocument') { + return { + ...state, + config: { + ...state.config, + selectedDocumentIndex: action.payload.config.selectedDocumentIndex, + }, + }; + } + + if (action.type === 'updateIsExecutingPipeline') { + return { + ...state, + isExecutingPipeline: action.payload.isExecutingPipeline, + }; + } + + return state; +}; + +export const TestPipelineContextProvider = ({ children }: { children: React.ReactNode }) => { + const [state, dispatch] = useReducer(reducer, DEFAULT_TEST_PIPELINE_CONTEXT.testPipelineData); + const { services } = useKibana(); + + const updateTestOutputPerProcessor = useCallback( + async (documents: Document[] | undefined, processors: DeserializeResult) => { + if (!documents) { + return; + } + + dispatch({ + type: 'updateIsExecutingPipeline', + payload: { + isExecutingPipeline: true, + }, + }); + + const serializedProcessorsWithTag = serialize({ + pipeline: { processors: processors.processors, onFailure: processors.onFailure }, + copyIdToTag: true, + }); + + const { data: verboseResults, error } = await services.api.simulatePipeline({ + documents, + verbose: true, + pipeline: { ...serializedProcessorsWithTag }, + }); + + if (error) { + dispatch({ + type: 'updateOutputPerProcessor', + payload: { + isExecutingPipeline: false, + // reset the output if there is an error + // this will result to the status changing to "inactive" + testOutputPerProcessor: undefined, + }, + }); + + return; + } + + dispatch({ + type: 'updateOutputPerProcessor', + payload: { + testOutputPerProcessor: deserializeVerboseTestOutput(verboseResults), + isExecutingPipeline: false, + }, + }); + }, + [services.api] + ); + + return ( + + {children} + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/deserialize.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/deserialize.ts index 1e9a97e189a5e..01788c49ec2f1 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/deserialize.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/deserialize.ts @@ -5,7 +5,7 @@ */ import uuid from 'uuid'; import { Processor } from '../../../../common/types'; -import { ProcessorInternal } from './types'; +import { ProcessorInternal, VerboseTestOutput, ProcessorResult } from './types'; export interface DeserializeArgs { processors: Processor[]; @@ -58,3 +58,48 @@ export const deserialize = ({ processors, onFailure }: DeserializeArgs): Deseria onFailure: onFailure ? convertProcessors(onFailure) : undefined, }; }; + +export interface DeserializedProcessorResult { + [key: string]: ProcessorResult; +} +/** + * This function takes the verbose response of the simulate API + * and maps the results to each processor in the pipeline by the "tag" field + */ +export const deserializeVerboseTestOutput = ( + output: VerboseTestOutput +): DeserializedProcessorResult[] => { + const { docs } = output; + + const deserializedOutput = docs.map((doc) => { + return doc.processor_results.reduce( + ( + processorResultsById: DeserializedProcessorResult, + currentResult: ProcessorResult, + index: number + ) => { + const result = { ...currentResult }; + const resultId = result.tag; + + if (index !== 0) { + // Add the result from the previous processor so that the user + // can easily compare current output to the previous output + // This may be a result from an on_failure processor + result.prevProcessorResult = doc.processor_results[index - 1]; + } + + // The tag is added programatically as a way to map + // the results to each processor + // It is not something we need to surface to the user, so we delete it + delete result.tag; + + processorResultsById[resultId] = result; + + return processorResultsById; + }, + {} + ); + }); + + return deserializedOutput; +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/index.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/index.ts index d2342bbd2ab1a..71b2e2fa8f7f1 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/index.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/index.ts @@ -14,4 +14,9 @@ export { OnUpdateHandlerArg, OnUpdateHandler } from './types'; export { SerializeResult } from './serialize'; -export { LoadFromJsonButton, OnDoneLoadJsonHandler, TestPipelineButton } from './components'; +export { + LoadFromJsonButton, + OnDoneLoadJsonHandler, + TestPipelineActions, + DocumentsDropdown, +} from './components'; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/serialize.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/serialize.ts index 153c9e252ccc0..edf787f12620c 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/serialize.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/serialize.ts @@ -5,18 +5,32 @@ */ import { Processor } from '../../../../common/types'; -import { DeserializeResult } from './deserialize'; import { ProcessorInternal } from './types'; -type SerializeArgs = DeserializeResult; +interface SerializeArgs { + /** + * The deserialized pipeline to convert + */ + pipeline: { + processors: ProcessorInternal[]; + onFailure?: ProcessorInternal[]; + }; + /** + * For simulation, we add the "tag" field equal to the internal processor id so that we can map the simulate results to each processor + */ + copyIdToTag?: boolean; +} export interface SerializeResult { processors: Processor[]; on_failure?: Processor[]; } -const convertProcessorInternalToProcessor = (processor: ProcessorInternal): Processor => { - const { options, onFailure, type } = processor; +const convertProcessorInternalToProcessor = ( + processor: ProcessorInternal, + copyIdToTag?: boolean +): Processor => { + const { options, onFailure, type, id } = processor; const outProcessor = { [type]: { ...options, @@ -24,26 +38,32 @@ const convertProcessorInternalToProcessor = (processor: ProcessorInternal): Proc }; if (onFailure?.length) { - outProcessor[type].on_failure = convertProcessors(onFailure); - } else if (onFailure) { - outProcessor[type].on_failure = []; + outProcessor[type].on_failure = convertProcessors(onFailure, copyIdToTag); + } + + if (copyIdToTag) { + outProcessor[type].tag = id; } return outProcessor; }; -const convertProcessors = (processors: ProcessorInternal[]) => { +const convertProcessors = (processors: ProcessorInternal[], copyIdToTag?: boolean) => { const convertedProcessors = []; for (const processor of processors) { - convertedProcessors.push(convertProcessorInternalToProcessor(processor)); + convertedProcessors.push(convertProcessorInternalToProcessor(processor, copyIdToTag)); } + return convertedProcessors; }; -export const serialize = ({ processors, onFailure }: SerializeArgs): SerializeResult => { +export const serialize = ({ + pipeline: { processors, onFailure }, + copyIdToTag = false, +}: SerializeArgs): SerializeResult => { return { - processors: convertProcessors(processors), - on_failure: onFailure?.length ? convertProcessors(onFailure) : undefined, + processors: convertProcessors(processors, copyIdToTag), + on_failure: onFailure?.length ? convertProcessors(onFailure, copyIdToTag) : undefined, }; }; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/types.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/types.ts index 67920ffafb71a..9083985b0ff2e 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/types.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/types.ts @@ -73,3 +73,35 @@ export interface ContextValue { onTreeAction: OnActionHandler; state: ContextValueState; } + +export interface Document { + _id: string; + [key: string]: any; +} + +export type ProcessorStatus = + | 'success' + | 'error' + | 'error_ignored' + | 'dropped' + | 'skipped' + | 'inactive'; + +export interface ProcessorResult { + processor_type: string; + status: ProcessorStatus; + doc: Document; + tag: string; + ignored_error?: any; + error?: any; + prevProcessorResult?: ProcessorResult; + [key: string]: any; +} + +export interface ProcessorResults { + processor_results: ProcessorResult[]; +} + +export interface VerboseTestOutput { + docs: ProcessorResults[]; +} diff --git a/x-pack/plugins/ingest_pipelines/public/application/services/api.ts b/x-pack/plugins/ingest_pipelines/public/application/services/api.ts index 0ca1bc328987f..552e0ed0c41b2 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/services/api.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/services/api.ts @@ -105,7 +105,7 @@ export class ApiService { return result; } - public async simulatePipeline(testConfig: { + public async simulatePipeline(reqBody: { documents: object[]; verbose?: boolean; pipeline: Pick; @@ -113,7 +113,7 @@ export class ApiService { const result = await this.sendRequest({ path: `${API_BASE_PATH}/simulate`, method: 'post', - body: JSON.stringify(testConfig), + body: JSON.stringify(reqBody), }); this.trackUiMetric(UIM_PIPELINE_SIMULATE); diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index db77dfa150f03..0fd9e437a5c3d 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -9817,7 +9817,6 @@ "xpack.ingestPipelines.requestFlyout.unnamedTitle": "リクエスト", "xpack.ingestPipelines.settingsFormOnFailureFlyout.addButtonLabel": "追加", "xpack.ingestPipelines.settingsFormOnFailureFlyout.cancelButtonLabel": "キャンセル", - "xpack.ingestPipelines.tabs.documentsTabTitle": "ドキュメント", "xpack.ingestPipelines.tabs.outputTabTitle": "アウトプット", "xpack.ingestPipelines.testPipelineFlyout.documentsForm.documentsFieldLabel": "ドキュメント", "xpack.ingestPipelines.testPipelineFlyout.documentsForm.documentsJsonError": "ドキュメントJSONが無効です。", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index c8b8fbeaa723e..02e6da8c3f812 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -9820,7 +9820,6 @@ "xpack.ingestPipelines.requestFlyout.unnamedTitle": "请求", "xpack.ingestPipelines.settingsFormOnFailureFlyout.addButtonLabel": "添加", "xpack.ingestPipelines.settingsFormOnFailureFlyout.cancelButtonLabel": "取消", - "xpack.ingestPipelines.tabs.documentsTabTitle": "文档", "xpack.ingestPipelines.tabs.outputTabTitle": "输出", "xpack.ingestPipelines.testPipelineFlyout.documentsForm.documentsFieldLabel": "文档", "xpack.ingestPipelines.testPipelineFlyout.documentsForm.documentsJsonError": "文档 JSON 无效。", From 31b566cc4b6f6ed77750e89f132460b960a2d622 Mon Sep 17 00:00:00 2001 From: Davis Plumlee <56367316+dplumlee@users.noreply.github.com> Date: Thu, 20 Aug 2020 12:00:41 -0400 Subject: [PATCH 29/51] Fixes viewer overflow bug (#75489) --- .../viewer/exception_item/exception_entries.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/exception_entries.tsx b/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/exception_entries.tsx index bcc4adf54c9d7..f441baaec7d80 100644 --- a/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/exception_entries.tsx +++ b/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/exception_entries.tsx @@ -13,6 +13,7 @@ import { EuiTableFieldDataColumnType, EuiHideFor, EuiBadge, + EuiBadgeGroup, } from '@elastic/eui'; import React, { useMemo } from 'react'; import styled, { css } from 'styled-components'; @@ -60,6 +61,10 @@ const MyNestedValue = styled.span` margin-left: ${({ theme }) => theme.eui.euiSizeS}; `; +const ValueBadgeGroup = styled(EuiBadgeGroup)` + width: 100%; +`; + interface ExceptionEntriesComponentProps { entries: FormattedEntry[]; disableDelete: boolean; @@ -115,15 +120,11 @@ const ExceptionEntriesComponent = ({ render: (values: string | string[] | null) => { if (Array.isArray(values)) { return ( - + {values.map((value) => { - return ( - - {value} - - ); + return {value}; })} - + ); } else { return values ?? getEmptyValue(); From 28bacb2bb145f96495f9895620ad55f85421ad20 Mon Sep 17 00:00:00 2001 From: Luke Elmers Date: Thu, 20 Aug 2020 10:08:31 -0600 Subject: [PATCH 30/51] [expressions] Remove legacy APIs. (#75517) --- .../new_platform/new_platform.karma_mock.js | 11 -- src/plugins/expressions/kibana.json | 3 - src/plugins/expressions/public/loader.test.ts | 9 +- src/plugins/expressions/public/mocks.tsx | 27 +--- src/plugins/expressions/public/plugin.ts | 123 ++-------------- src/plugins/expressions/public/services.ts | 13 +- src/plugins/expressions/server/index.ts | 2 +- src/plugins/expressions/server/legacy.ts | 134 ------------------ src/plugins/expressions/server/mocks.ts | 14 +- src/plugins/expressions/server/plugin.ts | 54 ++----- .../core/create_kibana_utils_core.test.ts | 39 ----- .../public/core/create_kibana_utils_core.ts | 39 ----- src/plugins/kibana_utils/public/core/index.ts | 1 - .../public/core/saved_objects_client.ts | 35 ----- src/plugins/kibana_utils/public/core/state.ts | 23 --- .../public/services/stubs/expressions.ts | 4 +- 16 files changed, 27 insertions(+), 504 deletions(-) delete mode 100644 src/plugins/expressions/server/legacy.ts delete mode 100644 src/plugins/kibana_utils/public/core/create_kibana_utils_core.test.ts delete mode 100644 src/plugins/kibana_utils/public/core/create_kibana_utils_core.ts delete mode 100644 src/plugins/kibana_utils/public/core/saved_objects_client.ts delete mode 100644 src/plugins/kibana_utils/public/core/state.ts diff --git a/src/legacy/ui/public/new_platform/new_platform.karma_mock.js b/src/legacy/ui/public/new_platform/new_platform.karma_mock.js index 5ef1149146afe..b8d48b784dba7 100644 --- a/src/legacy/ui/public/new_platform/new_platform.karma_mock.js +++ b/src/legacy/ui/public/new_platform/new_platform.karma_mock.js @@ -221,17 +221,6 @@ export const npSetup = { registerFunction: sinon.fake(), registerRenderer: sinon.fake(), registerType: sinon.fake(), - __LEGACY: { - renderers: { - register: () => undefined, - get: () => null, - }, - getExecutor: () => ({ - interpreter: { - interpretAst: () => {}, - }, - }), - }, }, data: { autocomplete: { diff --git a/src/plugins/expressions/kibana.json b/src/plugins/expressions/kibana.json index 5163331088103..67bbf4b6e5454 100644 --- a/src/plugins/expressions/kibana.json +++ b/src/plugins/expressions/kibana.json @@ -3,9 +3,6 @@ "version": "kibana", "server": true, "ui": true, - "requiredPlugins": [ - "bfetch" - ], "extraPublicDirs": ["common", "common/fonts"], "requiredBundles": [ "kibanaUtils", diff --git a/src/plugins/expressions/public/loader.test.ts b/src/plugins/expressions/public/loader.test.ts index e07a22a5e1d60..bf8b442769563 100644 --- a/src/plugins/expressions/public/loader.test.ts +++ b/src/plugins/expressions/public/loader.test.ts @@ -20,7 +20,7 @@ import { first, skip, toArray } from 'rxjs/operators'; import { loader, ExpressionLoader } from './loader'; import { Observable } from 'rxjs'; -import { ExpressionAstExpression, parseExpression, IInterpreterRenderHandlers } from '../common'; +import { parseExpression, IInterpreterRenderHandlers } from '../common'; // eslint-disable-next-line const { __getLastExecution } = require('./services'); @@ -42,13 +42,6 @@ jest.mock('./services', () => { const moduleMock = { __execution: undefined, __getLastExecution: () => moduleMock.__execution, - getInterpreter: () => { - return { - interpretAst: async (expression: ExpressionAstExpression) => { - return { type: 'render', as: 'test' }; - }, - }; - }, getRenderersRegistry: () => ({ get: (id: string) => renderers[id], }), diff --git a/src/plugins/expressions/public/mocks.tsx b/src/plugins/expressions/public/mocks.tsx index 6e649c29ead7d..3865b4d20620a 100644 --- a/src/plugins/expressions/public/mocks.tsx +++ b/src/plugins/expressions/public/mocks.tsx @@ -21,7 +21,6 @@ import React from 'react'; import { ExpressionsSetup, ExpressionsStart, plugin as pluginInitializer } from '.'; import { coreMock } from '../../../core/public/mocks'; -import { bfetchPluginMock } from '../../bfetch/public/mocks'; export type Setup = jest.Mocked; export type Start = jest.Mocked; @@ -39,23 +38,6 @@ const createSetupContract = (): Setup => { registerRenderer: jest.fn(), registerType: jest.fn(), run: jest.fn(), - __LEGACY: { - functions: { - register: () => {}, - } as any, - renderers: { - register: () => {}, - } as any, - types: { - register: () => {}, - } as any, - getExecutor: () => ({ - interpreter: { - interpretAst: (() => {}) as any, - }, - }), - loadLegacyServerFunctionWrappers: () => Promise.resolve(), - }, }; return setupContract; }; @@ -84,9 +66,7 @@ const createPlugin = async () => { const coreSetup = coreMock.createSetup(); const coreStart = coreMock.createStart(); const plugin = pluginInitializer(pluginInitializerContext); - const setup = await plugin.setup(coreSetup, { - bfetch: bfetchPluginMock.createSetupContract(), - }); + const setup = await plugin.setup(coreSetup); return { pluginInitializerContext, @@ -94,10 +74,7 @@ const createPlugin = async () => { coreStart, plugin, setup, - doStart: async () => - await plugin.start(coreStart, { - bfetch: bfetchPluginMock.createStartContract(), - }), + doStart: async () => await plugin.start(coreStart), }; }; diff --git a/src/plugins/expressions/public/plugin.ts b/src/plugins/expressions/public/plugin.ts index ec60fbdf44c3a..9768ece899dd4 100644 --- a/src/plugins/expressions/public/plugin.ts +++ b/src/plugins/expressions/public/plugin.ts @@ -17,75 +17,19 @@ * under the License. */ -import { PluginInitializerContext, CoreSetup, CoreStart, Plugin } from '../../../core/public'; -import { ExpressionExecutor } from './types'; +import { PluginInitializerContext, CoreSetup, CoreStart, Plugin } from 'src/core/public'; import { - ExpressionRendererRegistry, - FunctionsRegistry, - serializeProvider, - TypesRegistry, ExpressionsService, ExpressionsServiceSetup, ExpressionsServiceStart, ExecutionContext, } from '../common'; -import { BfetchPublicSetup, BfetchPublicStart } from '../../bfetch/public'; -import { - setCoreStart, - setInterpreter, - setRenderersRegistry, - setNotifications, - setExpressionsService, -} from './services'; +import { setRenderersRegistry, setNotifications, setExpressionsService } from './services'; import { ReactExpressionRenderer } from './react_expression_renderer'; import { ExpressionLoader, loader } from './loader'; import { render, ExpressionRenderHandler } from './render'; -export interface ExpressionsSetupDeps { - bfetch: BfetchPublicSetup; -} - -export interface ExpressionsStartDeps { - bfetch: BfetchPublicStart; -} - -export interface ExpressionsSetup extends ExpressionsServiceSetup { - /** - * @todo Get rid of these `__LEGACY` APIs. - * - * `__LEGACY` APIs are used by Canvas. It should be possible to stop - * using all of them (except `loadLegacyServerFunctionWrappers`) and use - * Kibana Platform plugin contracts instead. - */ - __LEGACY: { - /** - * Use `registerType` and `getTypes` instead. - */ - types: TypesRegistry; - - /** - * Use `registerFunction` and `getFunctions` instead. - */ - functions: FunctionsRegistry; - - /** - * Use `registerRenderer` and `getRenderers`, and `getRenderer` instead. - */ - renderers: ExpressionRendererRegistry; - - /** - * Use `run` function instead. - */ - getExecutor: () => ExpressionExecutor; - - /** - * This function is used by Canvas to load server-side function and create - * browser-side "wrapper" for each one. This function can be removed once - * we enable expressions on server-side: https://github.com/elastic/kibana/issues/46906 - */ - loadLegacyServerFunctionWrappers: () => Promise; - }; -} +export type ExpressionsSetup = ExpressionsServiceSetup; export interface ExpressionsStart extends ExpressionsServiceStart { ExpressionLoader: typeof ExpressionLoader; @@ -95,9 +39,7 @@ export interface ExpressionsStart extends ExpressionsServiceStart { render: typeof render; } -export class ExpressionsPublicPlugin - implements - Plugin { +export class ExpressionsPublicPlugin implements Plugin { private readonly expressions: ExpressionsService = new ExpressionsService(); constructor(initializerContext: PluginInitializerContext) {} @@ -116,68 +58,21 @@ export class ExpressionsPublicPlugin }); } - public setup(core: CoreSetup, { bfetch }: ExpressionsSetupDeps): ExpressionsSetup { + public setup(core: CoreSetup): ExpressionsSetup { this.configureExecutor(core); const { expressions } = this; - const { executor, renderers } = expressions; + const { renderers } = expressions; setRenderersRegistry(renderers); - setExpressionsService(this.expressions); + setExpressionsService(expressions); - const expressionsSetup = expressions.setup(); - - // This is legacy. Should go away when we get rid of __LEGACY. - const getExecutor = (): ExpressionExecutor => { - return { interpreter: { interpretAst: expressionsSetup.run } }; - }; - - setInterpreter(getExecutor().interpreter); - - let cached: Promise | null = null; - const loadLegacyServerFunctionWrappers = async () => { - if (!cached) { - cached = (async () => { - const serverFunctionList = await core.http.get(`/api/interpreter/fns`); - const batchedFunction = bfetch.batchedFunction({ url: `/api/interpreter/fns` }); - const { serialize } = serializeProvider(executor.getTypes()); - - // For every sever-side function, register a client-side - // function that matches its definition, but which simply - // calls the server-side function endpoint. - Object.keys(serverFunctionList).forEach((functionName) => { - if (expressionsSetup.getFunction(functionName)) { - return; - } - const fn = () => ({ - ...serverFunctionList[functionName], - fn: (input: any, args: any) => { - return batchedFunction({ functionName, args, context: serialize(input) }); - }, - }); - expressionsSetup.registerFunction(fn); - }); - })(); - } - return cached; - }; - - const setup: ExpressionsSetup = { - ...expressionsSetup, - __LEGACY: { - types: executor.types, - functions: executor.functions, - renderers, - getExecutor, - loadLegacyServerFunctionWrappers, - }, - }; + const setup = expressions.setup(); return Object.freeze(setup); } - public start(core: CoreStart, { bfetch }: ExpressionsStartDeps): ExpressionsStart { - setCoreStart(core); + public start(core: CoreStart): ExpressionsStart { setNotifications(core.notifications); const { expressions } = this; diff --git a/src/plugins/expressions/public/services.ts b/src/plugins/expressions/public/services.ts index 016456c956666..e296566e661cd 100644 --- a/src/plugins/expressions/public/services.ts +++ b/src/plugins/expressions/public/services.ts @@ -18,22 +18,15 @@ */ import { NotificationsStart } from 'kibana/public'; -import { createKibanaUtilsCore, createGetterSetter } from '../../kibana_utils/public'; -import { ExpressionInterpreter } from './types'; -import { ExpressionsSetup } from './plugin'; -import { ExpressionsService } from '../common'; +import { createGetterSetter } from '../../kibana_utils/public'; +import { ExpressionsService, ExpressionRendererRegistry } from '../common'; -export const { getCoreStart, setCoreStart } = createKibanaUtilsCore(); - -export const [getInterpreter, setInterpreter] = createGetterSetter( - 'Interpreter' -); export const [getNotifications, setNotifications] = createGetterSetter( 'Notifications' ); export const [getRenderersRegistry, setRenderersRegistry] = createGetterSetter< - ExpressionsSetup['__LEGACY']['renderers'] + ExpressionRendererRegistry >('Renderers registry'); export const [getExpressionsService, setExpressionsService] = createGetterSetter< diff --git a/src/plugins/expressions/server/index.ts b/src/plugins/expressions/server/index.ts index 9b2f0b794258b..6785457321595 100644 --- a/src/plugins/expressions/server/index.ts +++ b/src/plugins/expressions/server/index.ts @@ -17,7 +17,7 @@ * under the License. */ -import { PluginInitializerContext } from '../../../core/server'; +import { PluginInitializerContext } from 'src/core/server'; import { ExpressionsServerPlugin } from './plugin'; export { ExpressionsServerSetup, ExpressionsServerStart } from './plugin'; diff --git a/src/plugins/expressions/server/legacy.ts b/src/plugins/expressions/server/legacy.ts deleted file mode 100644 index 8ff08542f18f8..0000000000000 --- a/src/plugins/expressions/server/legacy.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/* eslint-disable max-classes-per-file */ - -// TODO: Remove this file once https://github.com/elastic/kibana/issues/46906 is complete. - -// @ts-ignore -import { register, registryFactory, Registry, Fn } from '@kbn/interpreter/common'; - -import Boom from 'boom'; -import { schema } from '@kbn/config-schema'; -import { CoreSetup, Logger, LegacyAPICaller } from 'src/core/server'; -import { ExpressionsServerSetupDependencies } from './plugin'; -import { typeSpecs, ExpressionType } from '../common'; -import { serializeProvider } from '../common'; - -export class TypesRegistry extends Registry { - wrapper(obj: any) { - return new (ExpressionType as any)(obj); - } -} - -export class FunctionsRegistry extends Registry { - wrapper(obj: any) { - return new Fn(obj); - } -} - -export const registries = { - types: new TypesRegistry(), - serverFunctions: new FunctionsRegistry(), -}; - -export interface LegacyInterpreterServerApi { - registries(): typeof registries; - register(specs: Record): typeof registries; -} - -export const createLegacyServerInterpreterApi = (): LegacyInterpreterServerApi => { - const api = registryFactory(registries); - - register(registries, { - types: typeSpecs, - }); - - return api; -}; - -export const createLegacyServerEndpoints = ( - api: LegacyInterpreterServerApi, - logger: Logger, - core: CoreSetup, - plugins: ExpressionsServerSetupDependencies -) => { - const router = core.http.createRouter(); - - /** - * Register the endpoint that returns the list of server-only functions. - */ - router.get( - { - path: `/api/interpreter/fns`, - validate: { - body: schema.any(), - }, - }, - async (context, request, response) => { - const functions = api.registries().serverFunctions.toJS(); - const body = JSON.stringify(functions); - return response.ok({ - body, - }); - } - ); - - /** - * Run a single Canvas function. - * - * @param {*} server - The Kibana server object - * @param {*} handlers - The Canvas handlers - * @param {*} fnCall - Describes the function being run `{ functionName, args, context }` - */ - async function runFunction( - handlers: { environment: string; elasticsearchClient: LegacyAPICaller }, - fnCall: any - ) { - const { functionName, args, context } = fnCall; - const { deserialize } = serializeProvider(registries.types.toJS()); - const fnDef = registries.serverFunctions.toJS()[functionName]; - if (!fnDef) throw Boom.notFound(`Function "${functionName}" could not be found.`); - const deserialized = deserialize(context); - const result = fnDef.fn(deserialized, args, handlers); - return result; - } - - /** - * Register an endpoint that executes a batch of functions, and streams the - * results back using ND-JSON. - */ - plugins.bfetch.addBatchProcessingRoute(`/api/interpreter/fns`, (request) => { - return { - onBatchItem: async (fnCall: any) => { - const [coreStart] = await core.getStartServices(); - const handlers = { - environment: 'server', - elasticsearchClient: coreStart.elasticsearch.legacy.client.asScoped(request) - .callAsCurrentUser, - }; - const result = await runFunction(handlers, fnCall); - if (typeof result === 'undefined') { - throw new Error(`Function ${fnCall.functionName} did not return anything.`); - } - return result; - }, - }; - }); -}; diff --git a/src/plugins/expressions/server/mocks.ts b/src/plugins/expressions/server/mocks.ts index e6b883e38f244..0512789d76ab0 100644 --- a/src/plugins/expressions/server/mocks.ts +++ b/src/plugins/expressions/server/mocks.ts @@ -20,7 +20,6 @@ import { ExpressionsServerSetup, ExpressionsServerStart } from '.'; import { plugin as pluginInitializer } from '.'; import { coreMock } from '../../../core/server/mocks'; -import { bfetchPluginMock } from '../../bfetch/server/mocks'; export type Setup = jest.Mocked; export type Start = jest.Mocked; @@ -38,10 +37,6 @@ const createSetupContract = (): Setup => { registerRenderer: jest.fn(), registerType: jest.fn(), run: jest.fn(), - __LEGACY: { - register: jest.fn(), - registries: jest.fn(), - }, }; return setupContract; }; @@ -67,9 +62,7 @@ const createPlugin = async () => { const coreSetup = coreMock.createSetup(); const coreStart = coreMock.createStart(); const plugin = pluginInitializer(pluginInitializerContext); - const setup = await plugin.setup(coreSetup, { - bfetch: bfetchPluginMock.createSetupContract(), - }); + const setup = await plugin.setup(coreSetup); return { pluginInitializerContext, @@ -77,10 +70,7 @@ const createPlugin = async () => { coreStart, plugin, setup, - doStart: async () => - await plugin.start(coreStart, { - bfetch: bfetchPluginMock.createStartContract(), - }), + doStart: async () => await plugin.start(coreStart), }; }; diff --git a/src/plugins/expressions/server/plugin.ts b/src/plugins/expressions/server/plugin.ts index b99958262c542..9e412f9b33342 100644 --- a/src/plugins/expressions/server/plugin.ts +++ b/src/plugins/expressions/server/plugin.ts @@ -17,68 +17,30 @@ * under the License. */ -import { CoreStart, PluginInitializerContext, CoreSetup, Plugin } from 'src/core/server'; -import { BfetchServerSetup, BfetchServerStart } from '../../bfetch/server'; -import { - LegacyInterpreterServerApi, - createLegacyServerInterpreterApi, - createLegacyServerEndpoints, -} from './legacy'; +import { CoreStart, CoreSetup, Plugin, PluginInitializerContext } from 'src/core/server'; import { ExpressionsService, ExpressionsServiceSetup, ExpressionsServiceStart } from '../common'; -export interface ExpressionsServerSetupDependencies { - bfetch: BfetchServerSetup; -} - -export interface ExpressionsServerStartDependencies { - bfetch: BfetchServerStart; -} - -export interface ExpressionsServerSetup extends ExpressionsServiceSetup { - __LEGACY: LegacyInterpreterServerApi; -} +export type ExpressionsServerSetup = ExpressionsServiceSetup; export type ExpressionsServerStart = ExpressionsServiceStart; export class ExpressionsServerPlugin - implements - Plugin< - ExpressionsServerSetup, - ExpressionsServerStart, - ExpressionsServerSetupDependencies, - ExpressionsServerStartDependencies - > { + implements Plugin { readonly expressions: ExpressionsService = new ExpressionsService(); - constructor(private readonly initializerContext: PluginInitializerContext) {} - - public setup( - core: CoreSetup, - plugins: ExpressionsServerSetupDependencies - ): ExpressionsServerSetup { - const logger = this.initializerContext.logger.get(); - const { expressions } = this; - const { executor } = expressions; + constructor(initializerContext: PluginInitializerContext) {} - executor.extendContext({ + public setup(core: CoreSetup): ExpressionsServerSetup { + this.expressions.executor.extendContext({ environment: 'server', }); - const legacyApi = createLegacyServerInterpreterApi(); - createLegacyServerEndpoints(legacyApi, logger, core, plugins); - - const setup = { - ...this.expressions.setup(), - __LEGACY: legacyApi, - }; + const setup = this.expressions.setup(); return Object.freeze(setup); } - public start( - core: CoreStart, - plugins: ExpressionsServerStartDependencies - ): ExpressionsServerStart { + public start(core: CoreStart): ExpressionsServerStart { const start = this.expressions.start(); return Object.freeze(start); diff --git a/src/plugins/kibana_utils/public/core/create_kibana_utils_core.test.ts b/src/plugins/kibana_utils/public/core/create_kibana_utils_core.test.ts deleted file mode 100644 index c5b23bdf0055f..0000000000000 --- a/src/plugins/kibana_utils/public/core/create_kibana_utils_core.test.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { createKibanaUtilsCore } from './create_kibana_utils_core'; -import { CoreStart } from 'kibana/public'; - -describe('createKibanaUtilsCore', () => { - it('should allows to work with multiple instances', () => { - const core1 = {} as CoreStart; - const core2 = {} as CoreStart; - - const { setCoreStart: setCoreStart1, getCoreStart: getCoreStart1 } = createKibanaUtilsCore(); - const { setCoreStart: setCoreStart2, getCoreStart: getCoreStart2 } = createKibanaUtilsCore(); - - setCoreStart1(core1); - setCoreStart2(core2); - - expect(getCoreStart1()).toBe(core1); - expect(getCoreStart2()).toBe(core2); - - expect(getCoreStart1() !== getCoreStart2()).toBeTruthy(); - }); -}); diff --git a/src/plugins/kibana_utils/public/core/create_kibana_utils_core.ts b/src/plugins/kibana_utils/public/core/create_kibana_utils_core.ts deleted file mode 100644 index c528c68f29edb..0000000000000 --- a/src/plugins/kibana_utils/public/core/create_kibana_utils_core.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { createGetterSetter, Get, Set } from '../../common'; -import { CoreStart } from '../../../../core/public'; -import { KUSavedObjectClient, createSavedObjectsClient } from './saved_objects_client'; - -interface Return { - getCoreStart: Get; - setCoreStart: Set; - savedObjects: KUSavedObjectClient; -} - -export const createKibanaUtilsCore = (): Return => { - const [getCoreStart, setCoreStart] = createGetterSetter('CoreStart'); - const savedObjects = createSavedObjectsClient(getCoreStart); - - return { - getCoreStart, - setCoreStart, - savedObjects, - }; -}; diff --git a/src/plugins/kibana_utils/public/core/index.ts b/src/plugins/kibana_utils/public/core/index.ts index 8bbb2129071f5..5fb557f651e3a 100644 --- a/src/plugins/kibana_utils/public/core/index.ts +++ b/src/plugins/kibana_utils/public/core/index.ts @@ -17,5 +17,4 @@ * under the License. */ -export * from './create_kibana_utils_core'; export * from './create_start_service_getter'; diff --git a/src/plugins/kibana_utils/public/core/saved_objects_client.ts b/src/plugins/kibana_utils/public/core/saved_objects_client.ts deleted file mode 100644 index 5262755a6a3ab..0000000000000 --- a/src/plugins/kibana_utils/public/core/saved_objects_client.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { CoreStart } from '../../../../core/public'; -import { Get } from '../../common'; - -type CoreSavedObjectClient = CoreStart['savedObjects']['client']; - -export interface KUSavedObjectClient { - get: CoreSavedObjectClient['get']; -} - -export const createSavedObjectsClient = (getCoreStart: Get) => { - const savedObjectsClient: KUSavedObjectClient = { - get: (...args) => getCoreStart().savedObjects.client.get(...args), - }; - - return savedObjectsClient; -}; diff --git a/src/plugins/kibana_utils/public/core/state.ts b/src/plugins/kibana_utils/public/core/state.ts deleted file mode 100644 index 52c4d166d737e..0000000000000 --- a/src/plugins/kibana_utils/public/core/state.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { createGetterSetter } from '../../common'; -import { CoreStart } from '../../../../core/public'; - -export const [getCoreStart, setCoreStart] = createGetterSetter('CoreStart'); diff --git a/x-pack/plugins/canvas/public/services/stubs/expressions.ts b/x-pack/plugins/canvas/public/services/stubs/expressions.ts index ee332e20c4ca3..fd9b083964cb6 100644 --- a/x-pack/plugins/canvas/public/services/stubs/expressions.ts +++ b/x-pack/plugins/canvas/public/services/stubs/expressions.ts @@ -12,9 +12,7 @@ import { renderFunctions } from '../../../canvas_plugin_src/renderers/core'; const placeholder = {} as any; const expressionsPlugin = plugin(placeholder); -const setup = expressionsPlugin.setup(placeholder, { - inspector: {}, -} as any); +const setup = expressionsPlugin.setup(placeholder); export const expressionsService: ExpressionsService = setup.fork(); From d84d9720ba2db4e1c9bee6b4ebe06b10a25b77c1 Mon Sep 17 00:00:00 2001 From: Bhavya RM Date: Thu, 20 Aug 2020 12:40:18 -0400 Subject: [PATCH 31/51] adding additional tests for the awesome new nav by core ui team and checking off a flaky test' (#75494) --- test/functional/page_objects/home_page.ts | 15 +++++++++++++++ x-pack/test/accessibility/apps/home.ts | 21 +++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/test/functional/page_objects/home_page.ts b/test/functional/page_objects/home_page.ts index 2d78de49a4f94..bf0e0dd7f56f2 100644 --- a/test/functional/page_objects/home_page.ts +++ b/test/functional/page_objects/home_page.ts @@ -118,6 +118,21 @@ export function HomePageProvider({ getService, getPageObjects }: FtrProviderCont await testSubjects.click('onCloudTutorial'); } + // click on side nav toggle button to see all of side nav + async clickOnToggleNavButton() { + await testSubjects.click('toggleNavButton'); + } + + // collapse the observability side nav details + async collapseObservabibilitySideNav() { + await testSubjects.click('collapsibleNavGroup-observability'); + } + + // dock the side nav + async dockTheSideNav() { + await testSubjects.click('collapsible-nav-lock'); + } + async loadSavedObjects() { await retry.try(async () => { await testSubjects.click('loadSavedObjects'); diff --git a/x-pack/test/accessibility/apps/home.ts b/x-pack/test/accessibility/apps/home.ts index 1f05ff676e3a0..6018c4da2ddff 100644 --- a/x-pack/test/accessibility/apps/home.ts +++ b/x-pack/test/accessibility/apps/home.ts @@ -68,5 +68,26 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.home.clickOnCloudTutorial(); await a11y.testAppSnapshot(); }); + + it('click on side nav to see all the side nav menu', async () => { + await PageObjects.home.clickOnLogo(); + await PageObjects.home.clickOnToggleNavButton(); + await a11y.testAppSnapshot(); + }); + + it('Dock the side nav', async () => { + await PageObjects.home.dockTheSideNav(); + await a11y.testAppSnapshot(); + }); + + it('click on collapse on observability in side nav to test a11y of collapse button', async () => { + await PageObjects.home.collapseObservabibilitySideNav(); + await a11y.testAppSnapshot(); + }); + + it('unDock the side nav', async () => { + await PageObjects.home.dockTheSideNav(); + await a11y.testAppSnapshot(); + }); }); } From 865f171739b42b689555d0c1f1753e29e20959d9 Mon Sep 17 00:00:00 2001 From: Constance Date: Thu, 20 Aug 2020 09:41:43 -0700 Subject: [PATCH 32/51] [Enterprise Search][bug/tech debt] Fix route navigation (#75369) * Set up navigateToUrl context * Update RR link helpers to use navigateToUrl * Update breadcrumbs to use navigateToUrl + refactor generate_breadcrumbs: - Change base breadcrumb generator to a custom React useHook instead of passing history/context around - Change use{Product}Breadcrumbs helpers to mainly involve merging arrays - Update + simplify tests accordingly (test link behavior in main useBreadcrumb suite, not in subsequent helpers) set_chrome: - Update to use new breadcrumb hooks (requires pulling out of useEffect, hooks can't be used inside another hook) - Clean up/refactor tests * Update route redirects now that navigation works correctly --- .../__mocks__/kibana_context.mock.ts | 1 + .../public/applications/app_search/index.tsx | 4 +- .../public/applications/index.tsx | 10 +- .../generate_breadcrumbs.test.ts | 246 +++++++----------- .../kibana_chrome/generate_breadcrumbs.ts | 61 +++-- .../shared/kibana_chrome/set_chrome.test.tsx | 99 ++++--- .../shared/kibana_chrome/set_chrome.tsx | 23 +- .../react_router_helpers/eui_link.test.tsx | 10 +- .../shared/react_router_helpers/eui_link.tsx | 14 +- .../applications/workplace_search/index.tsx | 1 - 10 files changed, 209 insertions(+), 260 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/__mocks__/kibana_context.mock.ts b/x-pack/plugins/enterprise_search/public/applications/__mocks__/kibana_context.mock.ts index ef3bf54053b5c..890072ab42eb9 100644 --- a/x-pack/plugins/enterprise_search/public/applications/__mocks__/kibana_context.mock.ts +++ b/x-pack/plugins/enterprise_search/public/applications/__mocks__/kibana_context.mock.ts @@ -13,6 +13,7 @@ import { ExternalUrl } from '../shared/enterprise_search_url'; */ export const mockKibanaContext = { http: httpServiceMock.createSetupContract(), + navigateToUrl: jest.fn(), setBreadcrumbs: jest.fn(), setDocTitle: jest.fn(), config: { host: 'http://localhost:3002' }, diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx index 7ebd35ff35ee1..5856a13bf75b7 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx @@ -36,7 +36,6 @@ export const AppSearch: React.FC = () => { - {/* Kibana displays a blank page on redirect if this isn't included */} ); @@ -50,8 +49,7 @@ export const AppSearch: React.FC = () => { }> - {/* For some reason a Redirect to /engines just doesn't work here - it shows a blank page */} - + diff --git a/x-pack/plugins/enterprise_search/public/applications/index.tsx b/x-pack/plugins/enterprise_search/public/applications/index.tsx index f3ccbc126ae62..1b1f9ae43e7c1 100644 --- a/x-pack/plugins/enterprise_search/public/applications/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/index.tsx @@ -9,7 +9,13 @@ import ReactDOM from 'react-dom'; import { Router } from 'react-router-dom'; import { I18nProvider } from '@kbn/i18n/react'; -import { CoreStart, AppMountParameters, HttpSetup, ChromeBreadcrumb } from 'src/core/public'; +import { + AppMountParameters, + CoreStart, + ApplicationStart, + HttpSetup, + ChromeBreadcrumb, +} from 'src/core/public'; import { ClientConfigType, ClientData, PluginsSetup } from '../plugin'; import { LicenseProvider } from './shared/licensing'; import { IExternalUrl } from './shared/enterprise_search_url'; @@ -18,6 +24,7 @@ export interface IKibanaContext { config: { host?: string }; externalUrl: IExternalUrl; http: HttpSetup; + navigateToUrl: ApplicationStart['navigateToUrl']; setBreadcrumbs(crumbs: ChromeBreadcrumb[]): void; setDocTitle(title: string): void; } @@ -44,6 +51,7 @@ export const renderApp = ( value={{ config, http: core.http, + navigateToUrl: core.application.navigateToUrl, externalUrl: data.externalUrl, setBreadcrumbs: core.chrome.setBreadcrumbs, setDocTitle: core.chrome.docTitle.change, diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/generate_breadcrumbs.test.ts b/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/generate_breadcrumbs.test.ts index 0f34bbb6b65bc..9e86b239432a7 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/generate_breadcrumbs.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/generate_breadcrumbs.test.ts @@ -4,140 +4,121 @@ * you may not use this file except in compliance with the Elastic License. */ -import { - generateBreadcrumb, - appSearchBreadcrumbs, - enterpriseSearchBreadcrumbs, - workplaceSearchBreadcrumbs, -} from './generate_breadcrumbs'; - -import { mockHistory as mockHistoryUntyped } from '../../__mocks__'; -const mockHistory = mockHistoryUntyped as any; +import '../../__mocks__/shallow_usecontext.mock'; +import '../../__mocks__/react_router_history.mock'; +import { mockKibanaContext, mockHistory } from '../../__mocks__'; jest.mock('../react_router_helpers', () => ({ letBrowserHandleEvent: jest.fn(() => false) })); import { letBrowserHandleEvent } from '../react_router_helpers'; -describe('generateBreadcrumb', () => { +import { + useBreadcrumbs, + useEnterpriseSearchBreadcrumbs, + useAppSearchBreadcrumbs, + useWorkplaceSearchBreadcrumbs, +} from './generate_breadcrumbs'; + +describe('useBreadcrumbs', () => { beforeEach(() => { jest.clearAllMocks(); }); - it("creates a breadcrumb object matching EUI's breadcrumb type", () => { - const breadcrumb = generateBreadcrumb({ - text: 'Hello World', - path: '/hello_world', - history: mockHistory, - }); - expect(breadcrumb).toEqual({ - text: 'Hello World', - href: '/enterprise_search/hello_world', - onClick: expect.any(Function), - }); + it('accepts an array of breadcrumbs and to the array correctly injects SPA link navigation props', () => { + const breadcrumb = useBreadcrumbs([ + { + text: 'Hello', + path: '/hello', + }, + { + text: 'World', + path: '/world', + }, + ]); + expect(breadcrumb).toEqual([ + { + text: 'Hello', + href: '/enterprise_search/hello', + onClick: expect.any(Function), + }, + { + text: 'World', + href: '/enterprise_search/world', + onClick: expect.any(Function), + }, + ]); }); it('prevents default navigation and uses React Router history on click', () => { - const breadcrumb = generateBreadcrumb({ text: '', path: '/', history: mockHistory }) as any; + const breadcrumb = useBreadcrumbs([{ text: '', path: '/' }])[0] as any; const event = { preventDefault: jest.fn() }; breadcrumb.onClick(event); - expect(mockHistory.push).toHaveBeenCalled(); + expect(mockKibanaContext.navigateToUrl).toHaveBeenCalled(); + expect(mockHistory.createHref).toHaveBeenCalled(); expect(event.preventDefault).toHaveBeenCalled(); }); it('does not prevent default browser behavior on new tab/window clicks', () => { - const breadcrumb = generateBreadcrumb({ text: '', path: '/', history: mockHistory }) as any; + const breadcrumb = useBreadcrumbs([{ text: '', path: '/' }])[0] as any; (letBrowserHandleEvent as jest.Mock).mockImplementationOnce(() => true); breadcrumb.onClick(); - expect(mockHistory.push).not.toHaveBeenCalled(); + expect(mockKibanaContext.navigateToUrl).not.toHaveBeenCalled(); }); it('does not generate link behavior if path is excluded', () => { - const breadcrumb = generateBreadcrumb({ text: 'Unclickable breadcrumb' }); + const breadcrumb = useBreadcrumbs([{ text: 'Unclickable breadcrumb' }])[0]; expect(breadcrumb.href).toBeUndefined(); expect(breadcrumb.onClick).toBeUndefined(); }); }); -describe('enterpriseSearchBreadcrumbs', () => { - const breadCrumbs = [ - { - text: 'Page 1', - path: '/page1', - }, - { - text: 'Page 2', - path: '/page2', - }, - ]; - +describe('useEnterpriseSearchBreadcrumbs', () => { beforeEach(() => { jest.clearAllMocks(); }); - const subject = () => enterpriseSearchBreadcrumbs(mockHistory)(breadCrumbs); + it('builds a chain of breadcrumbs with Enterprise Search at the root', () => { + const breadcrumbs = [ + { + text: 'Page 1', + path: '/page1', + }, + { + text: 'Page 2', + path: '/page2', + }, + ]; - it('Builds a chain of breadcrumbs with Enterprise Search at the root', () => { - expect(subject()).toEqual([ + expect(useEnterpriseSearchBreadcrumbs(breadcrumbs)).toEqual([ { text: 'Enterprise Search', }, { + text: 'Page 1', href: '/enterprise_search/page1', onClick: expect.any(Function), - text: 'Page 1', }, { + text: 'Page 2', href: '/enterprise_search/page2', onClick: expect.any(Function), - text: 'Page 2', }, ]); }); it('shows just the root if breadcrumbs is empty', () => { - expect(enterpriseSearchBreadcrumbs(mockHistory)()).toEqual([ + expect(useEnterpriseSearchBreadcrumbs()).toEqual([ { text: 'Enterprise Search', }, ]); }); - - describe('links', () => { - const eventMock = { - preventDefault: jest.fn(), - } as any; - - it('has Enterprise Search text first', () => { - expect(subject()[0].onClick).toBeUndefined(); - }); - - it('has a link to page 1 second', () => { - (subject()[1] as any).onClick(eventMock); - expect(mockHistory.push).toHaveBeenCalledWith('/page1'); - }); - - it('has a link to page 2 last', () => { - (subject()[2] as any).onClick(eventMock); - expect(mockHistory.push).toHaveBeenCalledWith('/page2'); - }); - }); }); -describe('appSearchBreadcrumbs', () => { - const breadCrumbs = [ - { - text: 'Page 1', - path: '/page1', - }, - { - text: 'Page 2', - path: '/page2', - }, - ]; - +describe('useAppSearchBreadcrumbs', () => { beforeEach(() => { jest.clearAllMocks(); mockHistory.createHref.mockImplementation( @@ -145,82 +126,55 @@ describe('appSearchBreadcrumbs', () => { ); }); - const subject = () => appSearchBreadcrumbs(mockHistory)(breadCrumbs); - it('Builds a chain of breadcrumbs with Enterprise Search and App Search at the root', () => { - expect(subject()).toEqual([ + const breadcrumbs = [ + { + text: 'Page 1', + path: '/page1', + }, + { + text: 'Page 2', + path: '/page2', + }, + ]; + + expect(useAppSearchBreadcrumbs(breadcrumbs)).toEqual([ { text: 'Enterprise Search', }, { + text: 'App Search', href: '/enterprise_search/app_search/', onClick: expect.any(Function), - text: 'App Search', }, { + text: 'Page 1', href: '/enterprise_search/app_search/page1', onClick: expect.any(Function), - text: 'Page 1', }, { + text: 'Page 2', href: '/enterprise_search/app_search/page2', onClick: expect.any(Function), - text: 'Page 2', }, ]); }); it('shows just the root if breadcrumbs is empty', () => { - expect(appSearchBreadcrumbs(mockHistory)()).toEqual([ + expect(useAppSearchBreadcrumbs()).toEqual([ { text: 'Enterprise Search', }, { + text: 'App Search', href: '/enterprise_search/app_search/', onClick: expect.any(Function), - text: 'App Search', }, ]); }); - - describe('links', () => { - const eventMock = { - preventDefault: jest.fn(), - } as any; - - it('has Enterprise Search text first', () => { - expect(subject()[0].onClick).toBeUndefined(); - }); - - it('has a link to App Search second', () => { - (subject()[1] as any).onClick(eventMock); - expect(mockHistory.push).toHaveBeenCalledWith('/'); - }); - - it('has a link to page 1 third', () => { - (subject()[2] as any).onClick(eventMock); - expect(mockHistory.push).toHaveBeenCalledWith('/page1'); - }); - - it('has a link to page 2 last', () => { - (subject()[3] as any).onClick(eventMock); - expect(mockHistory.push).toHaveBeenCalledWith('/page2'); - }); - }); }); -describe('workplaceSearchBreadcrumbs', () => { - const breadCrumbs = [ - { - text: 'Page 1', - path: '/page1', - }, - { - text: 'Page 2', - path: '/page2', - }, - ]; - +describe('useWorkplaceSearchBreadcrumbs', () => { beforeEach(() => { jest.clearAllMocks(); mockHistory.createHref.mockImplementation( @@ -228,66 +182,50 @@ describe('workplaceSearchBreadcrumbs', () => { ); }); - const subject = () => workplaceSearchBreadcrumbs(mockHistory)(breadCrumbs); - it('Builds a chain of breadcrumbs with Enterprise Search and Workplace Search at the root', () => { - expect(subject()).toEqual([ + const breadcrumbs = [ + { + text: 'Page 1', + path: '/page1', + }, + { + text: 'Page 2', + path: '/page2', + }, + ]; + + expect(useWorkplaceSearchBreadcrumbs(breadcrumbs)).toEqual([ { text: 'Enterprise Search', }, { + text: 'Workplace Search', href: '/enterprise_search/workplace_search/', onClick: expect.any(Function), - text: 'Workplace Search', }, { + text: 'Page 1', href: '/enterprise_search/workplace_search/page1', onClick: expect.any(Function), - text: 'Page 1', }, { + text: 'Page 2', href: '/enterprise_search/workplace_search/page2', onClick: expect.any(Function), - text: 'Page 2', }, ]); }); it('shows just the root if breadcrumbs is empty', () => { - expect(workplaceSearchBreadcrumbs(mockHistory)()).toEqual([ + expect(useWorkplaceSearchBreadcrumbs()).toEqual([ { text: 'Enterprise Search', }, { + text: 'Workplace Search', href: '/enterprise_search/workplace_search/', onClick: expect.any(Function), - text: 'Workplace Search', }, ]); }); - - describe('links', () => { - const eventMock = { - preventDefault: jest.fn(), - } as any; - - it('has Enterprise Search text first', () => { - expect(subject()[0].onClick).toBeUndefined(); - }); - - it('has a link to Workplace Search second', () => { - (subject()[1] as any).onClick(eventMock); - expect(mockHistory.push).toHaveBeenCalledWith('/'); - }); - - it('has a link to page 1 third', () => { - (subject()[2] as any).onClick(eventMock); - expect(mockHistory.push).toHaveBeenCalledWith('/page1'); - }); - - it('has a link to page 2 last', () => { - (subject()[3] as any).onClick(eventMock); - expect(mockHistory.push).toHaveBeenCalledWith('/page2'); - }); - }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/generate_breadcrumbs.ts b/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/generate_breadcrumbs.ts index 82c0f78fb853f..6eab936719d01 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/generate_breadcrumbs.ts +++ b/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/generate_breadcrumbs.ts @@ -4,8 +4,11 @@ * you may not use this file except in compliance with the Elastic License. */ +import { useContext } from 'react'; +import { useHistory } from 'react-router-dom'; import { EuiBreadcrumb } from '@elastic/eui'; -import { History } from 'history'; + +import { KibanaContext, IKibanaContext } from '../../index'; import { ENTERPRISE_SEARCH_PLUGIN, @@ -20,50 +23,46 @@ import { letBrowserHandleEvent } from '../react_router_helpers'; * https://elastic.github.io/eui/#/navigation/breadcrumbs */ -interface IGenerateBreadcrumbProps { +interface IBreadcrumb { text: string; path?: string; - history?: History; } +export type TBreadcrumbs = IBreadcrumb[]; + +export const useBreadcrumbs = (breadcrumbs: TBreadcrumbs) => { + const history = useHistory(); + const { navigateToUrl } = useContext(KibanaContext) as IKibanaContext; + + return breadcrumbs.map(({ text, path }) => { + const breadcrumb = { text } as EuiBreadcrumb; -export const generateBreadcrumb = ({ text, path, history }: IGenerateBreadcrumbProps) => { - const breadcrumb = { text } as EuiBreadcrumb; + if (path) { + const href = history.createHref({ pathname: path }) as string; - if (path && history) { - breadcrumb.href = history.createHref({ pathname: path }); - breadcrumb.onClick = (event) => { - if (letBrowserHandleEvent(event)) return; - event.preventDefault(); - history.push(path); - }; - } + breadcrumb.href = href; + breadcrumb.onClick = (event) => { + if (letBrowserHandleEvent(event)) return; + event.preventDefault(); + navigateToUrl(href); + }; + } - return breadcrumb; + return breadcrumb; + }); }; /** * Product-specific breadcrumb helpers */ -export type TBreadcrumbs = IGenerateBreadcrumbProps[]; +export const useEnterpriseSearchBreadcrumbs = (breadcrumbs: TBreadcrumbs = []) => + useBreadcrumbs([{ text: ENTERPRISE_SEARCH_PLUGIN.NAME }, ...breadcrumbs]); -export const enterpriseSearchBreadcrumbs = (history: History) => ( - breadcrumbs: TBreadcrumbs = [] -) => [ - generateBreadcrumb({ text: ENTERPRISE_SEARCH_PLUGIN.NAME }), - ...breadcrumbs.map(({ text, path }: IGenerateBreadcrumbProps) => - generateBreadcrumb({ text, path, history }) - ), -]; - -export const appSearchBreadcrumbs = (history: History) => (breadcrumbs: TBreadcrumbs = []) => - enterpriseSearchBreadcrumbs(history)([ - { text: APP_SEARCH_PLUGIN.NAME, path: '/' }, - ...breadcrumbs, - ]); +export const useAppSearchBreadcrumbs = (breadcrumbs: TBreadcrumbs = []) => + useEnterpriseSearchBreadcrumbs([{ text: APP_SEARCH_PLUGIN.NAME, path: '/' }, ...breadcrumbs]); -export const workplaceSearchBreadcrumbs = (history: History) => (breadcrumbs: TBreadcrumbs = []) => - enterpriseSearchBreadcrumbs(history)([ +export const useWorkplaceSearchBreadcrumbs = (breadcrumbs: TBreadcrumbs = []) => + useEnterpriseSearchBreadcrumbs([ { text: WORKPLACE_SEARCH_PLUGIN.NAME, path: '/' }, ...breadcrumbs, ]); diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.test.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.test.tsx index aba0b250e56c0..bda816c9a5554 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.test.tsx @@ -4,16 +4,18 @@ * you may not use this file except in compliance with the Elastic License. */ +import '../../__mocks__/shallow_usecontext.mock'; +import '../../__mocks__/react_router_history.mock'; + import React from 'react'; -import '../../__mocks__/react_router_history.mock'; import { mockKibanaContext, mountWithKibanaContext } from '../../__mocks__'; jest.mock('./generate_breadcrumbs', () => ({ - appSearchBreadcrumbs: jest.fn(() => (crumbs: any) => crumbs), - workplaceSearchBreadcrumbs: jest.fn(() => (crumbs: any) => crumbs), + useAppSearchBreadcrumbs: jest.fn(() => (crumbs: any) => crumbs), + useWorkplaceSearchBreadcrumbs: jest.fn(() => (crumbs: any) => crumbs), })); -import { appSearchBreadcrumbs, workplaceSearchBreadcrumbs } from './generate_breadcrumbs'; +import { useAppSearchBreadcrumbs, useWorkplaceSearchBreadcrumbs } from './generate_breadcrumbs'; jest.mock('./generate_title', () => ({ appSearchTitle: jest.fn((title: any) => title), @@ -23,62 +25,55 @@ import { appSearchTitle, workplaceSearchTitle } from './generate_title'; import { SetAppSearchChrome, SetWorkplaceSearchChrome } from './'; -describe('SetAppSearchChrome', () => { +describe('Set Kibana Chrome helpers', () => { beforeEach(() => { jest.clearAllMocks(); }); afterEach(() => { - expect(appSearchBreadcrumbs).toHaveBeenCalled(); - expect(appSearchTitle).toHaveBeenCalled(); - }); - - it('sets breadcrumbs and document title', () => { - mountWithKibanaContext(); - - expect(mockKibanaContext.setBreadcrumbs).toHaveBeenCalledWith([ - { - text: 'Engines', - path: '/current-path', - }, - ]); - expect(mockKibanaContext.setDocTitle).toHaveBeenCalledWith(['Engines']); + expect(mockKibanaContext.setBreadcrumbs).toHaveBeenCalled(); + expect(mockKibanaContext.setDocTitle).toHaveBeenCalled(); }); - it('sets empty breadcrumbs and document title when isRoot is true', () => { - mountWithKibanaContext(); - - expect(mockKibanaContext.setBreadcrumbs).toHaveBeenCalledWith([]); - expect(mockKibanaContext.setDocTitle).toHaveBeenCalledWith([]); + describe('SetAppSearchChrome', () => { + it('sets breadcrumbs and document title', () => { + mountWithKibanaContext(); + + expect(appSearchTitle).toHaveBeenCalledWith(['Engines']); + expect(useAppSearchBreadcrumbs).toHaveBeenCalledWith([ + { + text: 'Engines', + path: '/current-path', + }, + ]); + }); + + it('sets empty breadcrumbs and document title when isRoot is true', () => { + mountWithKibanaContext(); + + expect(appSearchTitle).toHaveBeenCalledWith([]); + expect(useAppSearchBreadcrumbs).toHaveBeenCalledWith([]); + }); }); -}); - -describe('SetWorkplaceSearchChrome', () => { - beforeEach(() => { - jest.clearAllMocks(); - }); - - afterEach(() => { - expect(workplaceSearchBreadcrumbs).toHaveBeenCalled(); - expect(workplaceSearchTitle).toHaveBeenCalled(); - }); - - it('sets breadcrumbs and document title', () => { - mountWithKibanaContext(); - - expect(mockKibanaContext.setBreadcrumbs).toHaveBeenCalledWith([ - { - text: 'Sources', - path: '/current-path', - }, - ]); - expect(mockKibanaContext.setDocTitle).toHaveBeenCalledWith(['Sources']); - }); - - it('sets empty breadcrumbs and document title when isRoot is true', () => { - mountWithKibanaContext(); - expect(mockKibanaContext.setBreadcrumbs).toHaveBeenCalledWith([]); - expect(mockKibanaContext.setDocTitle).toHaveBeenCalledWith([]); + describe('SetWorkplaceSearchChrome', () => { + it('sets breadcrumbs and document title', () => { + mountWithKibanaContext(); + + expect(workplaceSearchTitle).toHaveBeenCalledWith(['Sources']); + expect(useWorkplaceSearchBreadcrumbs).toHaveBeenCalledWith([ + { + text: 'Sources', + path: '/current-path', + }, + ]); + }); + + it('sets empty breadcrumbs and document title when isRoot is true', () => { + mountWithKibanaContext(); + + expect(workplaceSearchTitle).toHaveBeenCalledWith([]); + expect(useWorkplaceSearchBreadcrumbs).toHaveBeenCalledWith([]); + }); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.tsx index 59e83a2cb13c2..43db93c1583d1 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.tsx @@ -7,10 +7,11 @@ import React, { useContext, useEffect } from 'react'; import { useHistory } from 'react-router-dom'; import { EuiBreadcrumb } from '@elastic/eui'; + import { KibanaContext, IKibanaContext } from '../../index'; import { - appSearchBreadcrumbs, - workplaceSearchBreadcrumbs, + useAppSearchBreadcrumbs, + useWorkplaceSearchBreadcrumbs, TBreadcrumbs, } from './generate_breadcrumbs'; import { appSearchTitle, workplaceSearchTitle, TTitle } from './generate_title'; @@ -36,12 +37,15 @@ export const SetAppSearchChrome: React.FC = ({ text, isRoot } const history = useHistory(); const { setBreadcrumbs, setDocTitle } = useContext(KibanaContext) as IKibanaContext; - const crumb = isRoot ? [] : [{ text, path: history.location.pathname }]; const title = isRoot ? [] : [text]; + const docTitle = appSearchTitle(title as TTitle | []); + + const crumb = isRoot ? [] : [{ text, path: history.location.pathname }]; + const breadcrumbs = useAppSearchBreadcrumbs(crumb as TBreadcrumbs | []); useEffect(() => { - setBreadcrumbs(appSearchBreadcrumbs(history)(crumb as TBreadcrumbs | [])); - setDocTitle(appSearchTitle(title as TTitle | [])); + setBreadcrumbs(breadcrumbs); + setDocTitle(docTitle); }, []); return null; @@ -51,12 +55,15 @@ export const SetWorkplaceSearchChrome: React.FC = ({ text, is const history = useHistory(); const { setBreadcrumbs, setDocTitle } = useContext(KibanaContext) as IKibanaContext; - const crumb = isRoot ? [] : [{ text, path: history.location.pathname }]; const title = isRoot ? [] : [text]; + const docTitle = workplaceSearchTitle(title as TTitle | []); + + const crumb = isRoot ? [] : [{ text, path: history.location.pathname }]; + const breadcrumbs = useWorkplaceSearchBreadcrumbs(crumb as TBreadcrumbs | []); useEffect(() => { - setBreadcrumbs(workplaceSearchBreadcrumbs(history)(crumb as TBreadcrumbs | [])); - setDocTitle(workplaceSearchTitle(title as TTitle | [])); + setBreadcrumbs(breadcrumbs); + setDocTitle(docTitle); }, []); return null; diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/react_router_helpers/eui_link.test.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/react_router_helpers/eui_link.test.tsx index 76ee8293f2c8b..063118f94cd19 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/react_router_helpers/eui_link.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/react_router_helpers/eui_link.test.tsx @@ -4,12 +4,14 @@ * you may not use this file except in compliance with the Elastic License. */ +import '../../__mocks__/shallow_usecontext.mock'; +import '../../__mocks__/react_router_history.mock'; + import React from 'react'; import { shallow, mount } from 'enzyme'; import { EuiLink, EuiButton } from '@elastic/eui'; -import '../../__mocks__/react_router_history.mock'; -import { mockHistory } from '../../__mocks__'; +import { mockKibanaContext, mockHistory } from '../../__mocks__'; import { EuiReactRouterLink, EuiReactRouterButton } from './eui_link'; @@ -59,7 +61,7 @@ describe('EUI & React Router Component Helpers', () => { wrapper.find(EuiLink).simulate('click', simulatedEvent); expect(simulatedEvent.preventDefault).toHaveBeenCalled(); - expect(mockHistory.push).toHaveBeenCalled(); + expect(mockKibanaContext.navigateToUrl).toHaveBeenCalled(); }); it('does not prevent default browser behavior on new tab/window clicks', () => { @@ -71,7 +73,7 @@ describe('EUI & React Router Component Helpers', () => { }; wrapper.find(EuiLink).simulate('click', simulatedEvent); - expect(mockHistory.push).not.toHaveBeenCalled(); + expect(mockKibanaContext.navigateToUrl).not.toHaveBeenCalled(); }); it('calls inherited onClick actions in addition to default navigation', () => { diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/react_router_helpers/eui_link.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/react_router_helpers/eui_link.tsx index b53b2f2b3b650..7221a61d0997b 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/react_router_helpers/eui_link.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/react_router_helpers/eui_link.tsx @@ -4,10 +4,11 @@ * you may not use this file except in compliance with the Elastic License. */ -import React from 'react'; +import React, { useContext } from 'react'; import { useHistory } from 'react-router-dom'; import { EuiLink, EuiButton, EuiButtonProps, EuiLinkAnchorProps } from '@elastic/eui'; +import { KibanaContext, IKibanaContext } from '../../index'; import { letBrowserHandleEvent } from './link_events'; /** @@ -24,6 +25,10 @@ interface IEuiReactRouterProps { export const EuiReactRouterHelper: React.FC = ({ to, onClick, children }) => { const history = useHistory(); + const { navigateToUrl } = useContext(KibanaContext) as IKibanaContext; + + // Generate the correct link href (with basename etc. accounted for) + const href = history.createHref({ pathname: to }); const reactRouterLinkClick = (event: React.MouseEvent) => { if (onClick) onClick(); // Run any passed click events (e.g. telemetry) @@ -32,13 +37,10 @@ export const EuiReactRouterHelper: React.FC = ({ to, onCli // Prevent regular link behavior, which causes a browser refresh. event.preventDefault(); - // Push the route to the history. - history.push(to); + // Perform SPA navigation. + navigateToUrl(href); }; - // Generate the correct link href (with basename etc. accounted for) - const href = history.createHref({ pathname: to }); - const reactRouterProps = { href, onClick: reactRouterLinkClick }; return React.cloneElement(children as React.ReactElement, reactRouterProps); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx index ca0d395c0d673..4aa171a5a5762 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx @@ -33,7 +33,6 @@ export const WorkplaceSearch: React.FC = () => { - {/* Kibana displays a blank page on redirect if this isn't included */} ); From 2c10325b8539440569c83b4b110a4d0b4376020e Mon Sep 17 00:00:00 2001 From: Devon Thomson Date: Thu, 20 Aug 2020 13:01:25 -0400 Subject: [PATCH 33/51] [Dashboard First] Use App Title for Display Instead of App Id (#75457) Created app title fetch method in embeddable_state_transfer. Used it instead of the raw app id in a number of places. --- .../embeddable_state_transfer.test.ts | 25 ++++++++++++++++++- .../embeddable_state_transfer.ts | 16 ++++++++++-- src/plugins/embeddable/public/plugin.tsx | 23 ++++++++++++++--- .../saved_object_save_modal_origin.tsx | 12 ++++----- .../components/visualize_top_nav.tsx | 3 +++ .../application/utils/get_top_nav_config.tsx | 11 +++++--- x-pack/plugins/lens/public/app_plugin/app.tsx | 3 +++ .../lens/public/app_plugin/mounter.tsx | 1 + .../routes/maps_app/top_nav_config.tsx | 1 + 9 files changed, 78 insertions(+), 17 deletions(-) diff --git a/src/plugins/embeddable/public/lib/state_transfer/embeddable_state_transfer.test.ts b/src/plugins/embeddable/public/lib/state_transfer/embeddable_state_transfer.test.ts index 42adb9d770e8a..ef79b18acd4f5 100644 --- a/src/plugins/embeddable/public/lib/state_transfer/embeddable_state_transfer.test.ts +++ b/src/plugins/embeddable/public/lib/state_transfer/embeddable_state_transfer.test.ts @@ -19,7 +19,7 @@ import { coreMock, scopedHistoryMock } from '../../../../../core/public/mocks'; import { EmbeddableStateTransfer } from '.'; -import { ApplicationStart } from '../../../../../core/public'; +import { ApplicationStart, PublicAppInfo } from '../../../../../core/public'; function mockHistoryState(state: unknown) { return scopedHistoryMock.create({ state }); @@ -37,6 +37,29 @@ describe('embeddable state transfer', () => { stateTransfer = new EmbeddableStateTransfer(application.navigateToApp); }); + it('cannot fetch app name when given no app list', async () => { + expect(stateTransfer.getAppNameFromId('test')).toBeUndefined(); + }); + + it('cannot fetch app name when app id is not in given app list', async () => { + const appsList = new Map([ + ['testId', { title: 'State Transfer Test App Hello' } as PublicAppInfo], + ['testId2', { title: 'State Transfer Test App Goodbye' } as PublicAppInfo], + ]); + stateTransfer = new EmbeddableStateTransfer(application.navigateToApp, undefined, appsList); + expect(stateTransfer.getAppNameFromId('kibanana')).toBeUndefined(); + }); + + it('can fetch app titles when given app list', async () => { + const appsList = new Map([ + ['testId', { title: 'State Transfer Test App Hello' } as PublicAppInfo], + ['testId2', { title: 'State Transfer Test App Goodbye' } as PublicAppInfo], + ]); + stateTransfer = new EmbeddableStateTransfer(application.navigateToApp, undefined, appsList); + expect(stateTransfer.getAppNameFromId('testId')).toBe('State Transfer Test App Hello'); + expect(stateTransfer.getAppNameFromId('testId2')).toBe('State Transfer Test App Goodbye'); + }); + it('can send an outgoing originating app state', async () => { await stateTransfer.navigateToEditor(destinationApp, { state: { originatingApp } }); expect(application.navigateToApp).toHaveBeenCalledWith('superUltraVisualize', { diff --git a/src/plugins/embeddable/public/lib/state_transfer/embeddable_state_transfer.ts b/src/plugins/embeddable/public/lib/state_transfer/embeddable_state_transfer.ts index 8f70e5a66c478..780cff9f4be7e 100644 --- a/src/plugins/embeddable/public/lib/state_transfer/embeddable_state_transfer.ts +++ b/src/plugins/embeddable/public/lib/state_transfer/embeddable_state_transfer.ts @@ -18,7 +18,12 @@ */ import { cloneDeep } from 'lodash'; -import { ScopedHistory, ApplicationStart } from '../../../../../core/public'; +import { + ScopedHistory, + ApplicationStart, + PublicLegacyAppInfo, + PublicAppInfo, +} from '../../../../../core/public'; import { EmbeddableEditorState, isEmbeddableEditorState, @@ -35,9 +40,16 @@ import { export class EmbeddableStateTransfer { constructor( private navigateToApp: ApplicationStart['navigateToApp'], - private scopedHistory?: ScopedHistory + private scopedHistory?: ScopedHistory, + private appList?: ReadonlyMap | undefined ) {} + /** + * Fetches an internationalized app title when given an appId. + * @param appId - The id of the app to fetch the title for + */ + public getAppNameFromId = (appId: string): string | undefined => this.appList?.get(appId)?.title; + /** * Fetches an {@link EmbeddableEditorState | originating app} argument from the scoped * history's location state. diff --git a/src/plugins/embeddable/public/plugin.tsx b/src/plugins/embeddable/public/plugin.tsx index 3cbd49279564f..fb09729ab71c3 100644 --- a/src/plugins/embeddable/public/plugin.tsx +++ b/src/plugins/embeddable/public/plugin.tsx @@ -17,6 +17,7 @@ * under the License. */ import React from 'react'; +import { Subscription } from 'rxjs'; import { DataPublicPluginSetup, DataPublicPluginStart } from '../../data/public'; import { getSavedObjectFinder } from '../../saved_objects/public'; import { UiActionsSetup, UiActionsStart } from '../../ui_actions/public'; @@ -27,6 +28,8 @@ import { CoreStart, Plugin, ScopedHistory, + PublicAppInfo, + PublicLegacyAppInfo, } from '../../../core/public'; import { EmbeddableFactoryRegistry, EmbeddableFactoryProvider } from './types'; import { bootstrap } from './bootstrap'; @@ -89,6 +92,8 @@ export class EmbeddablePublicPlugin implements Plugin; + private appListSubscription?: Subscription; constructor(initializerContext: PluginInitializerContext) {} @@ -121,7 +126,15 @@ export class EmbeddablePublicPlugin implements Plugin { + this.appList = appList; + }); + + this.outgoingOnlyStateTransfer = new EmbeddableStateTransfer( + core.application.navigateToApp, + undefined, + this.appList + ); this.isRegistryReady = true; const getEmbeddablePanelHoc = (stateTransfer?: EmbeddableStateTransfer) => ({ @@ -151,7 +164,7 @@ export class EmbeddablePublicPlugin implements Plugin { return history - ? new EmbeddableStateTransfer(core.application.navigateToApp, history) + ? new EmbeddableStateTransfer(core.application.navigateToApp, history, this.appList) : this.outgoingOnlyStateTransfer; }, EmbeddablePanel: getEmbeddablePanelHoc(), @@ -159,7 +172,11 @@ export class EmbeddablePublicPlugin implements Plugin { this.ensureFactoriesExist(); diff --git a/src/plugins/saved_objects/public/save_modal/saved_object_save_modal_origin.tsx b/src/plugins/saved_objects/public/save_modal/saved_object_save_modal_origin.tsx index 63863b0826f11..ce08151d37c2c 100644 --- a/src/plugins/saved_objects/public/save_modal/saved_object_save_modal_origin.tsx +++ b/src/plugins/saved_objects/public/save_modal/saved_object_save_modal_origin.tsx @@ -32,6 +32,7 @@ interface SaveModalDocumentInfo { interface OriginSaveModalProps { originatingApp?: string; + getAppNameFromId?: (appId: string) => string | undefined; documentInfo: SaveModalDocumentInfo; objectType: string; onClose: () => void; @@ -53,16 +54,13 @@ export function SavedObjectSaveModalOrigin(props: OriginSaveModalProps) { if (!props.originatingApp) { return; } - let origin = props.originatingApp!; - - // TODO: Remove this after https://github.com/elastic/kibana/pull/63443 - if (origin.startsWith('kibana:')) { - origin = origin.split(':')[1]; - } + const origin = props.getAppNameFromId + ? props.getAppNameFromId(props.originatingApp) || props.originatingApp + : props.originatingApp; if ( !state.copyOnSave || - origin === 'dashboards' // dashboard supports adding a copied panel on save... + props.originatingApp === 'dashboards' // dashboard supports adding a copied panel on save... ) { const originVerb = !documentInfo.id || state.copyOnSave ? addLabel : returnLabel; return ( diff --git a/src/plugins/visualize/public/application/components/visualize_top_nav.tsx b/src/plugins/visualize/public/application/components/visualize_top_nav.tsx index 12a3d1cdf95b1..130561b6245ae 100644 --- a/src/plugins/visualize/public/application/components/visualize_top_nav.tsx +++ b/src/plugins/visualize/public/application/components/visualize_top_nav.tsx @@ -75,6 +75,7 @@ const TopNav = ({ }, [visInstance.embeddableHandler] ); + const stateTransfer = services.embeddable.getStateTransfer(); const config = useMemo(() => { if (isEmbeddableRendered) { @@ -89,6 +90,7 @@ const TopNav = ({ visInstance, stateContainer, visualizationIdFromUrl, + stateTransfer, embeddableId, }, services @@ -107,6 +109,7 @@ const TopNav = ({ visualizationIdFromUrl, services, embeddableId, + stateTransfer, ]); const [indexPattern, setIndexPattern] = useState(vis.data.indexPattern); const showDatePicker = () => { diff --git a/src/plugins/visualize/public/application/utils/get_top_nav_config.tsx b/src/plugins/visualize/public/application/utils/get_top_nav_config.tsx index 43121f2cffc41..0423e48bfb41e 100644 --- a/src/plugins/visualize/public/application/utils/get_top_nav_config.tsx +++ b/src/plugins/visualize/public/application/utils/get_top_nav_config.tsx @@ -38,6 +38,7 @@ import { } from '../types'; import { VisualizeConstants } from '../visualize_constants'; import { getEditBreadcrumbs } from './breadcrumbs'; +import { EmbeddableStateTransfer } from '../../../../embeddable/public'; interface TopNavConfigParams { hasUnsavedChanges: boolean; @@ -49,6 +50,7 @@ interface TopNavConfigParams { visInstance: VisualizeEditorVisInstance; stateContainer: VisualizeAppStateContainer; visualizationIdFromUrl?: string; + stateTransfer: EmbeddableStateTransfer; embeddableId?: string; } @@ -63,12 +65,12 @@ export const getTopNavConfig = ( visInstance, stateContainer, visualizationIdFromUrl, + stateTransfer, embeddableId, }: TopNavConfigParams, { application, chrome, - embeddable, history, share, setActiveUrl, @@ -118,8 +120,8 @@ export const getTopNavConfig = ( history.replace(appPath); setActiveUrl(appPath); - if (newlyCreated && embeddable) { - embeddable.getStateTransfer().navigateToWithEmbeddablePackage(originatingApp, { + if (newlyCreated && stateTransfer) { + stateTransfer.navigateToWithEmbeddablePackage(originatingApp, { state: { id, type: VISUALIZE_EMBEDDABLE_TYPE }, }); } else { @@ -174,7 +176,7 @@ export const getTopNavConfig = ( if (embeddableId) { state.embeddableId = embeddableId; } - embeddable.getStateTransfer().navigateToWithEmbeddablePackage(originatingApp, { state }); + stateTransfer.navigateToWithEmbeddablePackage(originatingApp, { state }); }; const topNavMenu: TopNavMenuData[] = [ @@ -284,6 +286,7 @@ export const getTopNavConfig = ( {}} originatingApp={originatingApp} diff --git a/x-pack/plugins/lens/public/app_plugin/app.tsx b/x-pack/plugins/lens/public/app_plugin/app.tsx index ffab84a51a229..b20fe2f804683 100644 --- a/x-pack/plugins/lens/public/app_plugin/app.tsx +++ b/x-pack/plugins/lens/public/app_plugin/app.tsx @@ -70,6 +70,7 @@ export function App({ navigation, onAppLeave, history, + getAppNameFromId, }: { editorFrame: EditorFrameInstance; data: DataPublicPluginStart; @@ -82,6 +83,7 @@ export function App({ originatingApp?: string | undefined; onAppLeave: AppMountParameters['onAppLeave']; history: History; + getAppNameFromId?: (appId: string) => string | undefined; }) { const [state, setState] = useState(() => { const currentRange = data.query.timefilter.timefilter.getTime(); @@ -534,6 +536,7 @@ export function App({ originatingApp={state.originatingApp} onSave={(props) => runSave(props)} onClose={() => setState((s) => ({ ...s, isSaveModalVisible: false }))} + getAppNameFromId={getAppNameFromId} documentInfo={{ id: lastKnownDoc.id, title: lastKnownDoc.title || '', diff --git a/x-pack/plugins/lens/public/app_plugin/mounter.tsx b/x-pack/plugins/lens/public/app_plugin/mounter.tsx index 1ee618a31a698..398d01af7f1b3 100644 --- a/x-pack/plugins/lens/public/app_plugin/mounter.tsx +++ b/x-pack/plugins/lens/public/app_plugin/mounter.tsx @@ -87,6 +87,7 @@ export async function mountApp( redirectTo(routeProps, id, returnToOrigin, newlyCreated) } originatingApp={originatingApp} + getAppNameFromId={stateTransfer.getAppNameFromId} onAppLeave={params.onAppLeave} history={routeProps.history} /> diff --git a/x-pack/plugins/maps/public/routing/routes/maps_app/top_nav_config.tsx b/x-pack/plugins/maps/public/routing/routes/maps_app/top_nav_config.tsx index 35d8490f1a886..497c87ad533a6 100644 --- a/x-pack/plugins/maps/public/routing/routes/maps_app/top_nav_config.tsx +++ b/x-pack/plugins/maps/public/routing/routes/maps_app/top_nav_config.tsx @@ -175,6 +175,7 @@ export function getTopNavConfig({ const saveModal = ( {}} documentInfo={{ From d6ee7faf9d3b844c4b914aba7c5ca869951eda88 Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Thu, 20 Aug 2020 19:04:42 +0200 Subject: [PATCH 34/51] [Ingest Pipelines] Processor forms for processors E-J (#75054) * Added the enrich processor form (big one) * added fail processor form * Added foreach processor form * Added geoip processor form and refactored some deserialization * added grok processor form and updated comments and some i18n ids * updated existing gsub processor form to be in line with other forms * added html_strip processor form * refactored some serialize and deserialize functions and added inference processor form * fix copy-pasta mistake in inference form and add join processor form * Added JSON processor field - Also factored out target_field field to common field (still have to update the all instances) - Built out special logic for handling add_to_root and target_field combo on JSON processor form - Created another serializer, for default boolean -> undefined. * remove unused variable * Refactor to use new shared target_field component, and fix JSON serializer bug * fix i18n * address pr feedback * Fix enrich max fields help text copy * add link to enrich policy docs in help text * fix error validation message in enrich policy form and replace space with horizontal rule * address copy feedback * fix i18n id typo * fix i18n * address additional round of feedback and fix json form help text Co-authored-by: Elastic Machine --- .../processor_settings_fields.tsx | 4 +- .../processors/append.tsx | 4 +- .../processors/bytes.tsx | 18 +- .../processors/circle.tsx | 18 +- .../common_fields/common_processor_fields.tsx | 7 +- .../common_fields/ignore_missing_field.tsx | 33 ++- .../processors/common_fields/target_field.tsx | 46 +++ .../processors/convert.tsx | 24 +- .../manage_processor_form/processors/csv.tsx | 8 +- .../manage_processor_form/processors/date.tsx | 35 +-- .../processors/date_index_name.tsx | 6 +- .../processors/enrich.tsx | 264 ++++++++++++++++++ .../manage_processor_form/processors/fail.tsx | 40 +++ .../processors/foreach.tsx | 81 ++++++ .../processors/geoip.tsx | 109 ++++++++ .../manage_processor_form/processors/grok.tsx | 134 +++++++++ .../manage_processor_form/processors/gsub.tsx | 142 +++++----- .../processors/html_strip.tsx | 39 +++ .../manage_processor_form/processors/index.ts | 10 + .../processors/inference.tsx | 203 ++++++++++++++ .../manage_processor_form/processors/join.tsx | 71 +++++ .../manage_processor_form/processors/json.tsx | 87 ++++++ .../processors/shared.ts | 56 +++- .../shared/map_processor_type_to_form.tsx | 44 +-- .../translations/translations/ja-JP.json | 4 - .../translations/translations/zh-CN.json | 4 - 26 files changed, 1300 insertions(+), 191 deletions(-) create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/target_field.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/enrich.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/fail.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/foreach.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/geoip.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/grok.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/html_strip.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/inference.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/join.tsx create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/json.tsx diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processor_settings_fields.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processor_settings_fields.tsx index a6447bc30ac00..6a70592bc2f70 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processor_settings_fields.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processor_settings_fields.tsx @@ -5,7 +5,7 @@ */ import React, { FunctionComponent } from 'react'; -import { EuiHorizontalRule, EuiSpacer } from '@elastic/eui'; +import { EuiHorizontalRule } from '@elastic/eui'; import { FormDataProvider } from '../../../../../shared_imports'; import { ProcessorInternal } from '../../types'; @@ -36,7 +36,7 @@ export const ProcessorSettingsFields: FunctionComponent = ({ processor }) return ( <> - + ); diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/append.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/append.tsx index 8eb484b56bafe..09d0981adf1c2 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/append.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/append.tsx @@ -14,7 +14,7 @@ import { ComboBoxField, } from '../../../../../../shared_imports'; -import { FieldsConfig } from './shared'; +import { FieldsConfig, to } from './shared'; import { FieldNameField } from './common_fields/field_name_field'; const { emptyField } = fieldValidators; @@ -22,7 +22,7 @@ const { emptyField } = fieldValidators; const fieldsConfig: FieldsConfig = { value: { type: FIELD_TYPES.COMBO_BOX, - deserializer: (v) => (Array.isArray(v) ? v : [String(v)]), + deserializer: to.arrayOfStrings, label: i18n.translate('xpack.ingestPipelines.pipelineEditor.appendForm.valueFieldLabel', { defaultMessage: 'Value', }), diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/bytes.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/bytes.tsx index 64a501f03d454..a76e1a6f3ce9a 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/bytes.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/bytes.tsx @@ -7,23 +7,9 @@ import React, { FunctionComponent } from 'react'; import { i18n } from '@kbn/i18n'; -import { FIELD_TYPES, UseField, Field } from '../../../../../../shared_imports'; - -import { FieldsConfig } from './shared'; import { IgnoreMissingField } from './common_fields/ignore_missing_field'; import { FieldNameField } from './common_fields/field_name_field'; - -const fieldsConfig: FieldsConfig = { - target_field: { - type: FIELD_TYPES.TEXT, - label: i18n.translate('xpack.ingestPipelines.pipelineEditor.bytesForm.targetFieldLabel', { - defaultMessage: 'Target field (optional)', - }), - helpText: i18n.translate('xpack.ingestPipelines.pipelineEditor.bytesForm.targetFieldHelpText', { - defaultMessage: 'The field to assign the converted value to', - }), - }, -}; +import { TargetField } from './common_fields/target_field'; export const Bytes: FunctionComponent = () => { return ( @@ -35,7 +21,7 @@ export const Bytes: FunctionComponent = () => { )} /> - + diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/circle.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/circle.tsx index 3a39e597cb8dc..599d2fdbfd413 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/circle.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/circle.tsx @@ -11,7 +11,6 @@ import { FIELD_TYPES, fieldValidators, UseField, - Field, SelectField, NumericField, } from '../../../../../../shared_imports'; @@ -19,22 +18,12 @@ import { import { FieldsConfig } from './shared'; import { IgnoreMissingField } from './common_fields/ignore_missing_field'; import { FieldNameField } from './common_fields/field_name_field'; +import { TargetField } from './common_fields/target_field'; const { emptyField } = fieldValidators; const fieldsConfig: FieldsConfig = { - target_field: { - type: FIELD_TYPES.TEXT, - label: i18n.translate('xpack.ingestPipelines.pipelineEditor.circleForm.targetFieldLabel', { - defaultMessage: 'Target field (optional)', - }), - helpText: i18n.translate( - 'xpack.ingestPipelines.pipelineEditor.circleForm.targetFieldHelpText', - { - defaultMessage: 'By default field is updated in-place.', - } - ), - }, + /* Required fields config */ error_distance: { type: FIELD_TYPES.NUMBER, deserializer: (v) => (typeof v === 'number' && !isNaN(v) ? v : 1.0), @@ -71,6 +60,7 @@ const fieldsConfig: FieldsConfig = { }, shape_type: { type: FIELD_TYPES.SELECT, + serializer: String, label: i18n.translate('xpack.ingestPipelines.pipelineEditor.circleForm.shapeTypeFieldLabel', { defaultMessage: 'Shape type', }), @@ -132,7 +122,7 @@ export const Circle: FunctionComponent = () => { path="fields.shape_type" /> - + diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/common_processor_fields.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/common_processor_fields.tsx index 7ae7b82c31a43..8089b8e7dfad3 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/common_processor_fields.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/common_processor_fields.tsx @@ -16,11 +16,12 @@ import { } from '../../../../../../../shared_imports'; import { TextEditor } from '../../field_components'; +import { to, from } from '../shared'; const ignoreFailureConfig: FieldConfig = { defaultValue: false, - serializer: (v) => (v === false ? undefined : v), - deserializer: (v) => (typeof v === 'boolean' ? v : undefined), + deserializer: to.booleanOrUndef, + serializer: from.defaultBoolToUndef(false), label: i18n.translate( 'xpack.ingestPipelines.pipelineEditor.commonFields.ignoreFailureFieldLabel', { @@ -62,7 +63,7 @@ export const CommonProcessorFields: FunctionComponent = () => { component={TextEditor} componentProps={{ editorProps: { - language: 'painless', + languageId: 'painless', height: 75, options: { minimap: { enabled: false } }, }, diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/ignore_missing_field.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/ignore_missing_field.tsx index 08eb0a425ef33..35dd462d88425 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/ignore_missing_field.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/ignore_missing_field.tsx @@ -5,32 +5,47 @@ */ import React, { FunctionComponent } from 'react'; import { i18n } from '@kbn/i18n'; -import { FIELD_TYPES, UseField, ToggleField } from '../../../../../../../shared_imports'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiCode } from '@elastic/eui'; -import { FieldsConfig } from '../shared'; +import { + FIELD_TYPES, + UseField, + ToggleField, + FieldConfig, +} from '../../../../../../../shared_imports'; + +import { FieldsConfig, to, from } from '../shared'; export const fieldsConfig: FieldsConfig = { ignore_missing: { type: FIELD_TYPES.TOGGLE, defaultValue: false, - serializer: (v) => (v === false ? undefined : v), - deserializer: (v) => (typeof v === 'boolean' ? v : undefined), + deserializer: to.booleanOrUndef, + serializer: from.defaultBoolToUndef(false), label: i18n.translate( 'xpack.ingestPipelines.pipelineEditor.commonFields.ignoreMissingFieldLabel', { defaultMessage: 'Ignore missing', } ), + helpText: ( + {'field'}, + }} + /> + ), }, }; -interface Props { - helpText?: string; -} +type Props = Partial; -export const IgnoreMissingField: FunctionComponent = ({ helpText }) => ( +export const IgnoreMissingField: FunctionComponent = (props) => ( diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/target_field.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/target_field.tsx new file mode 100644 index 0000000000000..9bf44425a7c5d --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/common_fields/target_field.tsx @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FunctionComponent } from 'react'; +import { i18n } from '@kbn/i18n'; + +import { Field, FIELD_TYPES, UseField, FieldConfig } from '../../../../../../../shared_imports'; + +import { FieldsConfig } from '../shared'; + +const fieldsConfig: FieldsConfig = { + target_field: { + type: FIELD_TYPES.TEXT, + deserializer: String, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.commonFields.targetFieldLabel', { + defaultMessage: 'Target field (optional)', + }), + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.commonFields.targetFieldHelpText', + { + defaultMessage: + 'The field to assign the joined value to. If empty, the field is updated in-place.', + } + ), + }, +}; + +type Props = Partial; + +export const TARGET_FIELD_PATH = 'fields.target_field'; + +export const TargetField: FunctionComponent = (props) => { + return ( + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/convert.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/convert.tsx index b45f589bf0f92..2bf642dd9b518 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/convert.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/convert.tsx @@ -11,13 +11,13 @@ import { FIELD_TYPES, fieldValidators, UseField, - Field, SelectField, } from '../../../../../../shared_imports'; import { FieldsConfig } from './shared'; import { FieldNameField } from './common_fields/field_name_field'; import { IgnoreMissingField } from './common_fields/ignore_missing_field'; +import { TargetField } from './common_fields/target_field'; const { emptyField } = fieldValidators; @@ -42,19 +42,6 @@ const fieldsConfig: FieldsConfig = { }, ], }, - /* Optional fields config */ - target_field: { - type: FIELD_TYPES.TEXT, - label: i18n.translate('xpack.ingestPipelines.pipelineEditor.convertForm.targetFieldLabel', { - defaultMessage: 'Target field (optional)', - }), - helpText: i18n.translate( - 'xpack.ingestPipelines.pipelineEditor.convertForm.targetFieldHelpText', - { - defaultMessage: 'The field to assign the converted value to.', - } - ), - }, }; export const Convert: FunctionComponent = () => { @@ -128,7 +115,14 @@ export const Convert: FunctionComponent = () => { path="fields.type" /> - + diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/csv.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/csv.tsx index 3ac0179ca02a6..835177dd861d5 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/csv.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/csv.tsx @@ -23,7 +23,7 @@ import { FieldsConfig } from './shared'; import { IgnoreMissingField } from './common_fields/ignore_missing_field'; import { FieldNameField } from './common_fields/field_name_field'; -import { isArrayOfStrings } from './shared'; +import { to } from './shared'; const { minLengthField } = fieldValidators; @@ -47,9 +47,7 @@ const fieldsConfig: FieldsConfig = { /* Required fields config */ target_fields: { type: FIELD_TYPES.COMBO_BOX, - deserializer: (v) => { - return isArrayOfStrings(v) ? v : []; - }, + deserializer: to.arrayOfStrings, label: i18n.translate('xpack.ingestPipelines.pipelineEditor.csvForm.targetFieldsFieldLabel', { defaultMessage: 'Target fields', }), @@ -112,7 +110,7 @@ const fieldsConfig: FieldsConfig = { trim: { type: FIELD_TYPES.TOGGLE, defaultValue: false, - deserializer: (v) => (typeof v === 'boolean' ? v : undefined), + deserializer: to.booleanOrUndef, label: i18n.translate('xpack.ingestPipelines.pipelineEditor.csvForm.trimFieldLabel', { defaultMessage: 'Trim', }), diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/date.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/date.tsx index 424e84058ac3f..7e3f8e0d7cd70 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/date.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/date.tsx @@ -17,8 +17,9 @@ import { ComboBoxField, } from '../../../../../../shared_imports'; -import { FieldsConfig, isArrayOfStrings } from './shared'; +import { FieldsConfig, to } from './shared'; import { FieldNameField } from './common_fields/field_name_field'; +import { TargetField } from './common_fields/target_field'; const { minLengthField } = fieldValidators; @@ -26,9 +27,7 @@ const fieldsConfig: FieldsConfig = { /* Required fields config */ formats: { type: FIELD_TYPES.COMBO_BOX, - deserializer: (v) => { - return isArrayOfStrings(v) ? v : []; - }, + deserializer: to.arrayOfStrings, label: i18n.translate('xpack.ingestPipelines.pipelineEditor.dateForm.formatsFieldLabel', { defaultMessage: 'Formats', }), @@ -51,22 +50,6 @@ const fieldsConfig: FieldsConfig = { ], }, /* Optional fields config */ - target_field: { - type: FIELD_TYPES.TEXT, - serializer: (v) => (v ? undefined : v), - label: i18n.translate('xpack.ingestPipelines.pipelineEditor.dateForm.targetFieldFieldLabel', { - defaultMessage: 'Target field (optional)', - }), - helpText: ( - {'@timestamp'}, - }} - /> - ), - }, timezone: { type: FIELD_TYPES.TEXT, serializer: (v) => (v ? v : undefined), @@ -112,7 +95,17 @@ export const DateProcessor: FunctionComponent = () => { - + {'@timestamp'}, + }} + /> + } + /> diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/date_index_name.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/date_index_name.tsx index 387c9ff4e0b46..2a278a251c30f 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/date_index_name.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/date_index_name.tsx @@ -18,7 +18,7 @@ import { SelectField, } from '../../../../../../shared_imports'; -import { FieldsConfig, isArrayOfStrings } from './shared'; +import { FieldsConfig, to } from './shared'; import { FieldNameField } from './common_fields/field_name_field'; const { emptyField } = fieldValidators; @@ -89,9 +89,7 @@ const fieldsConfig: FieldsConfig = { serializer: (v: string[]) => { return v.length ? v : undefined; }, - deserializer: (v) => { - return isArrayOfStrings(v) ? v : []; - }, + deserializer: to.arrayOfStrings, label: i18n.translate( 'xpack.ingestPipelines.pipelineEditor.dateIndexNameForm.dateFormatsFieldLabel', { diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/enrich.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/enrich.tsx new file mode 100644 index 0000000000000..31eac38222afb --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/enrich.tsx @@ -0,0 +1,264 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FunctionComponent } from 'react'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiLink } from '@elastic/eui'; +import { + FIELD_TYPES, + fieldValidators, + UseField, + Field, + ToggleField, + NumericField, + SelectField, + ValidationConfig, + useKibana, +} from '../../../../../../shared_imports'; + +import { FieldNameField } from './common_fields/field_name_field'; +import { IgnoreMissingField } from './common_fields/ignore_missing_field'; +import { TargetField } from './common_fields/target_field'; + +import { FieldsConfig, from, to } from './shared'; + +const { emptyField, numberSmallerThanField, numberGreaterThanField } = fieldValidators; + +const maxMatchesValidators = { + max: numberSmallerThanField({ + than: 128, + allowEquality: true, + message: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.maxMatchesMaxNumberError', + { defaultMessage: 'This number must be less than 128.' } + ), + }), + min: numberGreaterThanField({ + than: 0, + allowEquality: false, + message: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.maxMatchesMinNumberError', + { defaultMessage: 'This number must be greater than 0.' } + ), + }), +}; + +const targetFieldValidator: ValidationConfig = { + validator: emptyField( + i18n.translate('xpack.ingestPipelines.pipelineEditor.enrichForm.targetFieldRequiredError', { + defaultMessage: 'A target field value is required.', + }) + ), +}; + +const fieldsConfig: FieldsConfig = { + /* Required fields config */ + policy_name: { + type: FIELD_TYPES.TEXT, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.enrichForm.policyNameFieldLabel', { + defaultMessage: 'Policy name', + }), + validations: [ + { + validator: emptyField( + i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.policyNameRequiredError', + { + defaultMessage: 'A value is required.', + } + ) + ), + }, + ], + }, + + /* Optional fields config */ + override: { + type: FIELD_TYPES.TOGGLE, + defaultValue: true, + deserializer: to.booleanOrUndef, + serializer: from.defaultBoolToUndef, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.enrichForm.overrideFieldLabel', { + defaultMessage: 'Override', + }), + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.overrideFieldHelpText', + { + defaultMessage: 'If enabled, the processor can overwrite pre-existing field values.', + } + ), + }, + + max_matches: { + type: FIELD_TYPES.NUMBER, + defaultValue: 1, + deserializer: (v) => (typeof v === 'number' && !isNaN(v) ? v : 1), + serializer: (v) => { + const n = parseInt(v, 10); + return n === 1 ? undefined : n; + }, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.enrichForm.maxMatchesFieldLabel', { + defaultMessage: 'Maximum matches (optional)', + }), + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.maxMatchesFieldHelpText', + { + defaultMessage: + 'Number of matching enrich documents to include in the target field. Accepts 1–128.', + } + ), + validations: [ + { + validator: (v) => { + if (v.value /* value is a string here */) { + return maxMatchesValidators.max(v) ?? maxMatchesValidators.min(v); + } + }, + }, + ], + }, + + shape_relation: { + type: FIELD_TYPES.SELECT, + defaultValue: 'INTERSECTS', + deserializer: String, + serializer: (v) => (v === 'INTERSECTS' ? undefined : v), + label: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.shapeRelationFieldLabel', + { + defaultMessage: 'Shape relation (optional)', + } + ), + }, +}; + +export const Enrich: FunctionComponent = () => { + const { services } = useKibana(); + const esDocUrl = services.documentation.getEsDocsBasePath(); + return ( + <> + + + + {i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.policyNameHelpText.enrichPolicyLink', + { defaultMessage: 'enrich policy' } + )} + + ), + }} + /> + ), + }} + component={Field} + path="fields.policy_name" + /> + + + + + + + + + {i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.shapeRelationFieldHelpText.geoMatchPoliciesLink', + { defaultMessage: 'geo-match enrich policies' } + )} + + ), + }} + /> + ), + }} + component={SelectField} + componentProps={{ + euiFieldProps: { + options: [ + { + value: 'INTERSECTS', + text: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.intersectsOption', + { defaultMessage: 'Intersects' } + ), + }, + { + value: 'DISJOINT', + text: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichFrom.disjointOption', + { defaultMessage: 'Disjoint' } + ), + }, + { + value: 'WITHIN', + text: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.withinOption', + { defaultMessage: 'Within' } + ), + }, + { + value: 'CONTAINS', + text: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.enrichForm.containsOption', + { defaultMessage: 'Contains' } + ), + }, + ], + }, + }} + path="fields.shape_relation" + /> + + + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/fail.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/fail.tsx new file mode 100644 index 0000000000000..3befadc3ca5a3 --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/fail.tsx @@ -0,0 +1,40 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FunctionComponent } from 'react'; +import { i18n } from '@kbn/i18n'; + +import { FIELD_TYPES, fieldValidators, UseField, Field } from '../../../../../../shared_imports'; + +import { FieldsConfig } from './shared'; + +const { emptyField } = fieldValidators; + +const fieldsConfig: FieldsConfig = { + message: { + type: FIELD_TYPES.TEXT, + deserializer: String, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.failForm.messageFieldLabel', { + defaultMessage: 'Message', + }), + helpText: i18n.translate('xpack.ingestPipelines.pipelineEditor.failForm.messageHelpText', { + defaultMessage: 'Error message returned by the processor', + }), + validations: [ + { + validator: emptyField( + i18n.translate('xpack.ingestPipelines.pipelineEditor.failForm.valueRequiredError', { + defaultMessage: 'A message is required.', + }) + ), + }, + ], + }, +}; + +export const Fail: FunctionComponent = () => { + return ; +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/foreach.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/foreach.tsx new file mode 100644 index 0000000000000..e471f8322f164 --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/foreach.tsx @@ -0,0 +1,81 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FunctionComponent } from 'react'; +import { i18n } from '@kbn/i18n'; + +import { FIELD_TYPES, fieldValidators, UseField } from '../../../../../../shared_imports'; + +import { XJsonEditor } from '../field_components'; + +import { FieldNameField } from './common_fields/field_name_field'; +import { FieldsConfig, to } from './shared'; + +const { emptyField, isJsonField } = fieldValidators; + +const fieldsConfig: FieldsConfig = { + /* Required fields config */ + processor: { + type: FIELD_TYPES.TEXT, + deserializer: to.jsonString, + serializer: JSON.parse, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.foreachForm.processorFieldLabel', { + defaultMessage: 'Processor', + }), + helpText: i18n.translate('xpack.ingestPipelines.pipelineEditor.foreachForm.processorHelpText', { + defaultMessage: 'Ingest processor to run on each array value', + }), + validations: [ + { + validator: emptyField( + i18n.translate('xpack.ingestPipelines.pipelineEditor.failForm.processorRequiredError', { + defaultMessage: 'A processor is required.', + }) + ), + }, + { + validator: isJsonField( + i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.failForm.processorInvalidJsonError', + { + defaultMessage: 'Invalid JSON', + } + ) + ), + }, + ], + }, +}; + +export const Foreach: FunctionComponent = () => { + return ( + <> + + + + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/geoip.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/geoip.tsx new file mode 100644 index 0000000000000..ef2aa62c4a7de --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/geoip.tsx @@ -0,0 +1,109 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FunctionComponent } from 'react'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiCode } from '@elastic/eui'; + +import { + FIELD_TYPES, + UseField, + Field, + ComboBoxField, + ToggleField, +} from '../../../../../../shared_imports'; + +import { FieldNameField } from './common_fields/field_name_field'; +import { IgnoreMissingField } from './common_fields/ignore_missing_field'; +import { FieldsConfig, from, to } from './shared'; +import { TargetField } from './common_fields/target_field'; + +const fieldsConfig: FieldsConfig = { + /* Optional field config */ + database_file: { + type: FIELD_TYPES.TEXT, + serializer: (v) => (v === 'GeoLite2-City.mmdb' ? undefined : v), + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.geoIPForm.databaseFileLabel', { + defaultMessage: 'Database file (optional)', + }), + helpText: ( + {'GeoLite2-City.mmdb'}, + ingestGeoIP: {'ingest-geoip'}, + }} + /> + ), + }, + + properties: { + type: FIELD_TYPES.COMBO_BOX, + deserializer: to.arrayOfStrings, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.geoIPForm.propertiesFieldLabel', { + defaultMessage: 'Properties (optional)', + }), + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.geoIPForm.propertiesFieldHelpText', + { + defaultMessage: + 'Properties added to the target field. Valid properties depend on the database file used.', + } + ), + }, + + first_only: { + type: FIELD_TYPES.TOGGLE, + defaultValue: true, + deserializer: to.booleanOrUndef, + serializer: from.defaultBoolToUndef(true), + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.geoIPForm.firstOnlyFieldLabel', { + defaultMessage: 'First only', + }), + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.geoIPForm.firstOnlyFieldHelpText', + { + defaultMessage: 'Use the first matching geo data, even if the field contains an array.', + } + ), + }, +}; + +export const GeoIP: FunctionComponent = () => { + return ( + <> + + + + + + + + + + + + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/grok.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/grok.tsx new file mode 100644 index 0000000000000..1ed9898149a67 --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/grok.tsx @@ -0,0 +1,134 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FunctionComponent } from 'react'; +import { i18n } from '@kbn/i18n'; + +import { + FIELD_TYPES, + UseField, + ComboBoxField, + ToggleField, + fieldValidators, +} from '../../../../../../shared_imports'; + +import { XJsonEditor } from '../field_components'; + +import { FieldNameField } from './common_fields/field_name_field'; +import { IgnoreMissingField } from './common_fields/ignore_missing_field'; +import { FieldsConfig, to, from } from './shared'; + +const { emptyField, isJsonField } = fieldValidators; + +const fieldsConfig: FieldsConfig = { + /* Required field configs */ + patterns: { + type: FIELD_TYPES.COMBO_BOX, + deserializer: to.arrayOfStrings, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.grokForm.patternsFieldLabel', { + defaultMessage: 'Patterns', + }), + helpText: i18n.translate('xpack.ingestPipelines.pipelineEditor.grokForm.patternsHelpText', { + defaultMessage: + 'Grok expressions used to match and extract named capture groups. Uses the first matching expression.', + }), + validations: [ + { + validator: emptyField( + i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.grokForm.patternsValueRequiredError', + { defaultMessage: 'A value is required.' } + ) + ), + }, + ], + }, + /* Optional field configs */ + pattern_definitions: { + type: FIELD_TYPES.TEXT, + deserializer: to.jsonString, + serializer: from.optionalJson, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.grokForm.patternDefinitionsLabel', { + defaultMessage: 'Pattern definitions (optional)', + }), + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.grokForm.patternDefinitionsHelpText', + { + defaultMessage: + 'A map of pattern-name and pattern tuples defining custom patterns. Patterns matching existing names will override the pre-existing definition.', + } + ), + validations: [ + { + validator: isJsonField( + i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.grokForm.patternsDefinitionsInvalidJSONError', + { defaultMessage: 'Invalid JSON' } + ), + { + allowEmptyString: true, + } + ), + }, + ], + }, + + trace_match: { + type: FIELD_TYPES.TOGGLE, + defaultValue: false, + deserializer: to.booleanOrUndef, + serializer: from.defaultBoolToUndef(false), + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.grokForm.traceMatchFieldLabel', { + defaultMessage: 'Trace match', + }), + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.grokForm.traceMatchFieldHelpText', + { + defaultMessage: 'Add metadata about the matching expression to the document', + } + ), + }, +}; + +export const Grok: FunctionComponent = () => { + return ( + <> + + + + + + + + + + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/gsub.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/gsub.tsx index 3148022adaa98..4d3445d469da2 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/gsub.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/gsub.tsx @@ -6,89 +6,75 @@ import React, { FunctionComponent } from 'react'; import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiCode } from '@elastic/eui'; -import { - FieldConfig, - FIELD_TYPES, - fieldValidators, - ToggleField, - UseField, - Field, -} from '../../../../../../shared_imports'; -import { TextEditor } from '../field_components'; - -const { emptyField } = fieldValidators; +import { FIELD_TYPES, fieldValidators, UseField, Field } from '../../../../../../shared_imports'; -const fieldConfig: FieldConfig = { - type: FIELD_TYPES.TEXT, - label: i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.fieldFieldLabel', { - defaultMessage: 'Field', - }), - validations: [ - { - validator: emptyField( - i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.fieldRequiredError', { - defaultMessage: 'A field value is required.', - }) - ), - }, - ], -}; +import { TextEditor } from '../field_components'; -const patternConfig: FieldConfig = { - type: FIELD_TYPES.TEXT, - label: i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.patternFieldLabel', { - defaultMessage: 'Pattern', - }), - validations: [ - { - validator: emptyField( - i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.patternRequiredError', { - defaultMessage: 'A pattern value is required.', - }) - ), - }, - ], -}; +import { FieldsConfig } from './shared'; +import { FieldNameField } from './common_fields/field_name_field'; +import { IgnoreMissingField } from './common_fields/ignore_missing_field'; +import { TargetField } from './common_fields/target_field'; -const replacementConfig: FieldConfig = { - type: FIELD_TYPES.TEXT, - label: i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.replacementFieldLabel', { - defaultMessage: 'Replacement', - }), - validations: [ - { - validator: emptyField( - i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.replacementRequiredError', { - defaultMessage: 'A replacement value is required.', - }) - ), - }, - ], -}; +const { emptyField } = fieldValidators; -const targetConfig: FieldConfig = { - type: FIELD_TYPES.TEXT, - label: i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.targetFieldLabel', { - defaultMessage: 'Target field (optional)', - }), -}; +const fieldsConfig: FieldsConfig = { + /* Required fields config */ + pattern: { + type: FIELD_TYPES.TEXT, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.patternFieldLabel', { + defaultMessage: 'Pattern', + }), + deserializer: String, + helpText: i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.patternFieldHelpText', { + defaultMessage: 'Regular expression used to match substrings in the field', + }), + validations: [ + { + validator: emptyField( + i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.patternRequiredError', { + defaultMessage: 'A value is required.', + }) + ), + }, + ], + }, -const ignoreMissingConfig: FieldConfig = { - defaultValue: false, - label: i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.ignoreMissingFieldLabel', { - defaultMessage: 'Ignore missing', - }), - type: FIELD_TYPES.TOGGLE, + replacement: { + type: FIELD_TYPES.TEXT, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.replacementFieldLabel', { + defaultMessage: 'Replacement', + }), + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.gsubForm.replacementFieldHelpText', + { defaultMessage: 'Replacement text for matches' } + ), + validations: [ + { + validator: emptyField( + i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.replacementRequiredError', { + defaultMessage: 'A value is required.', + }) + ), + }, + ], + }, }; export const Gsub: FunctionComponent = () => { return ( <> - + { path="fields.pattern" /> - + - + {'field'}, + }} + /> + } + /> - + ); }; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/html_strip.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/html_strip.tsx new file mode 100644 index 0000000000000..c6ca7df4cc3e7 --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/html_strip.tsx @@ -0,0 +1,39 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FunctionComponent } from 'react'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiCode } from '@elastic/eui'; + +import { FieldNameField } from './common_fields/field_name_field'; +import { IgnoreMissingField } from './common_fields/ignore_missing_field'; +import { TargetField } from './common_fields/target_field'; + +export const HtmlStrip: FunctionComponent = () => { + return ( + <> + + + {'field'} }} + /> + } + /> + + + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/index.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/index.ts index 6996deb2d861c..4974361bf0410 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/index.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/index.ts @@ -14,3 +14,13 @@ export { DateIndexName } from './date_index_name'; export { Dissect } from './dissect'; export { DotExpander } from './dot_expander'; export { Drop } from './drop'; +export { Enrich } from './enrich'; +export { Fail } from './fail'; +export { Foreach } from './foreach'; +export { GeoIP } from './geoip'; +export { Grok } from './grok'; +export { Gsub } from './gsub'; +export { HtmlStrip } from './html_strip'; +export { Inference } from './inference'; +export { Join } from './join'; +export { Json } from './json'; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/inference.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/inference.tsx new file mode 100644 index 0000000000000..ee8d7cc55a9f1 --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/inference.tsx @@ -0,0 +1,203 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FunctionComponent } from 'react'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiCode, EuiLink } from '@elastic/eui'; + +import { + FIELD_TYPES, + fieldValidators, + UseField, + Field, + useKibana, +} from '../../../../../../shared_imports'; + +import { XJsonEditor } from '../field_components'; + +import { TargetField } from './common_fields/target_field'; + +import { FieldsConfig, to, from } from './shared'; + +const { emptyField, isJsonField } = fieldValidators; + +const INFERENCE_CONFIG_DOCS = { + regression: { + path: 'inference-processor.html#inference-processor-regression-opt', + linkLabel: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.inferenceForm.inferenceConfigField.regressionLinkLabel', + { defaultMessage: 'regression' } + ), + }, + classification: { + path: 'inference-processor.html#inference-processor-classification-opt', + linkLabel: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.inferenceForm.inferenceConfigField.classificationLinkLabel', + { defaultMessage: 'classification' } + ), + }, +}; + +const getInferenceConfigHelpText = (esDocsBasePath: string): React.ReactNode => { + return ( + + {INFERENCE_CONFIG_DOCS.regression.linkLabel} + + ), + classification: ( + + {INFERENCE_CONFIG_DOCS.classification.linkLabel} + + ), + }} + /> + ); +}; + +const fieldsConfig: FieldsConfig = { + /* Required fields config */ + model_id: { + type: FIELD_TYPES.TEXT, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.inferenceForm.modelIDFieldLabel', { + defaultMessage: 'Model ID', + }), + deserializer: String, + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.inferenceForm.modelIDFieldHelpText', + { + defaultMessage: 'ID of the model to infer against', + } + ), + validations: [ + { + validator: emptyField( + i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.inferenceForm.patternRequiredError', + { + defaultMessage: 'A model ID value is required.', + } + ) + ), + }, + ], + }, + + /* Optional fields config */ + field_map: { + type: FIELD_TYPES.TEXT, + deserializer: to.jsonString, + serializer: from.optionalJson, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.inferenceForm.fieldMapLabel', { + defaultMessage: 'Field map (optional)', + }), + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.inferenceForm.fieldMapHelpText', + { + defaultMessage: + 'Maps document field names to the known field names of the model. Takes precedence over any mappings in the model.', + } + ), + validations: [ + { + validator: isJsonField( + i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.inferenceForm.fieldMapInvalidJSONError', + { defaultMessage: 'Invalid JSON' } + ), + { + allowEmptyString: true, + } + ), + }, + ], + }, + + inference_config: { + type: FIELD_TYPES.TEXT, + deserializer: to.jsonString, + serializer: from.optionalJson, + label: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.inferenceForm.inferenceConfigLabel', + { + defaultMessage: 'Inference configuration (optional)', + } + ), + validations: [ + { + validator: isJsonField( + i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.grokForm.patternsDefinitionsInvalidJSONError', + { defaultMessage: 'Invalid JSON' } + ), + { + allowEmptyString: true, + } + ), + }, + ], + }, +}; + +export const Inference: FunctionComponent = () => { + const { services } = useKibana(); + const esDocUrl = services.documentation.getEsDocsBasePath(); + return ( + <> + + + {'ml.inference.'} }} + /> + } + /> + + + + + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/join.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/join.tsx new file mode 100644 index 0000000000000..712d0106459b1 --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/join.tsx @@ -0,0 +1,71 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FunctionComponent } from 'react'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiCode } from '@elastic/eui'; + +import { FIELD_TYPES, fieldValidators, UseField, Field } from '../../../../../../shared_imports'; + +import { FieldsConfig } from './shared'; +import { FieldNameField } from './common_fields/field_name_field'; +import { TargetField } from './common_fields/target_field'; + +const { emptyField } = fieldValidators; + +const fieldsConfig: FieldsConfig = { + /* Required fields config */ + separator: { + type: FIELD_TYPES.TEXT, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.joinForm.separatorFieldLabel', { + defaultMessage: 'Separator', + }), + deserializer: String, + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.joinForm.separatorFieldHelpText', + { + defaultMessage: 'Separator character', + } + ), + validations: [ + { + validator: emptyField( + i18n.translate('xpack.ingestPipelines.pipelineEditor.joinForm.separatorRequiredError', { + defaultMessage: 'A separator value is required.', + }) + ), + }, + ], + }, +}; + +export const Join: FunctionComponent = () => { + return ( + <> + + + + + {'field'}, + }} + /> + } + /> + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/json.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/json.tsx new file mode 100644 index 0000000000000..9d62c67460136 --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/json.tsx @@ -0,0 +1,87 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FunctionComponent, useEffect, useState } from 'react'; +import { i18n } from '@kbn/i18n'; + +import { + FIELD_TYPES, + UseField, + ToggleField, + useFormContext, +} from '../../../../../../shared_imports'; + +import { FieldsConfig, from, to } from './shared'; +import { FieldNameField } from './common_fields/field_name_field'; +import { TargetField, TARGET_FIELD_PATH } from './common_fields/target_field'; + +const ADD_TO_ROOT_FIELD_PATH = 'fields.add_to_root'; + +const fieldsConfig: FieldsConfig = { + /* Optional fields config */ + add_to_root: { + type: FIELD_TYPES.TOGGLE, + defaultValue: false, + label: i18n.translate('xpack.ingestPipelines.pipelineEditor.jsonForm.addToRootFieldLabel', { + defaultMessage: 'Add to root', + }), + deserializer: to.booleanOrUndef, + serializer: from.defaultBoolToUndef(false), + helpText: i18n.translate( + 'xpack.ingestPipelines.pipelineEditor.jsonForm.addToRootFieldHelpText', + { + defaultMessage: + 'Add the JSON object to the top level of the document. Cannot be combined with a target field.', + } + ), + }, +}; + +export const Json: FunctionComponent = () => { + const form = useFormContext(); + const [isAddToPathDisabled, setIsAddToPathDisabled] = useState(false); + useEffect(() => { + const subscription = form.subscribe(({ data: { raw: rawData } }) => { + const hasTargetField = !!rawData[TARGET_FIELD_PATH]; + if (hasTargetField && !isAddToPathDisabled) { + setIsAddToPathDisabled(true); + form.getFields()[ADD_TO_ROOT_FIELD_PATH].setValue(false); + } else if (!hasTargetField && isAddToPathDisabled) { + setIsAddToPathDisabled(false); + } + }); + return subscription.unsubscribe; + }, [form, isAddToPathDisabled]); + + return ( + <> + + + + + + + ); +}; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/shared.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/shared.ts index a0a31dd3a8e93..84b308dd9cd7a 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/shared.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/manage_processor_form/processors/shared.ts @@ -6,11 +6,63 @@ import * as rt from 'io-ts'; import { isRight } from 'fp-ts/lib/Either'; -import { flow } from 'fp-ts/lib/function'; import { FieldConfig } from '../../../../../../shared_imports'; export const arrayOfStrings = rt.array(rt.string); -export const isArrayOfStrings = flow(arrayOfStrings.decode, isRight); + +export function isArrayOfStrings(v: unknown): v is string[] { + const res = arrayOfStrings.decode(v); + return isRight(res); +} + +/** + * Shared deserializer functions. + * + * These are intended to be used in @link{FieldsConfig} as the "deserializer". + * + * Example: + * { + * ... + * deserialize: to.booleanOrUndef, + * ... + * } + * + */ +export const to = { + booleanOrUndef: (v: unknown): boolean | undefined => (typeof v === 'boolean' ? v : undefined), + arrayOfStrings: (v: unknown): string[] => (isArrayOfStrings(v) ? v : []), + jsonString: (v: unknown) => (v ? JSON.stringify(v, null, 2) : '{}'), +}; + +/** + * Shared serializer functions. + * + * These are intended to be used in @link{FieldsConfig} as the "serializer". + * + * Example: + * { + * ... + * serializer: from.optionalJson, + * ... + * } + * + */ +export const from = { + /* Works with `to.jsonString` as deserializer. */ + optionalJson: (v: string) => { + if (v) { + try { + const json = JSON.parse(v); + if (Object.keys(json).length) { + return json; + } + } catch (e) { + // Ignore + } + } + }, + defaultBoolToUndef: (defaultBool: boolean) => (v: boolean) => (v === defaultBool ? undefined : v), +}; export type FieldsConfig = Record; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/shared/map_processor_type_to_form.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/shared/map_processor_type_to_form.tsx index b5f7df9117f35..854c6632ab94a 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/shared/map_processor_type_to_form.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/components/shared/map_processor_type_to_form.tsx @@ -18,6 +18,16 @@ import { Dissect, DotExpander, Drop, + Enrich, + Fail, + Foreach, + GeoIP, + Grok, + Gsub, + HtmlStrip, + Inference, + Join, + Json, } from '../manage_processor_form/processors'; // import { SetProcessor } from './processors/set'; @@ -106,63 +116,70 @@ export const mapProcessorTypeToDescriptor: MapProcessorTypeToDescriptor = { }), }, enrich: { - FieldsComponent: undefined, // TODO: Implement - docLinkPath: '/enrich-processor.html', + FieldsComponent: Enrich, + docLinkPath: '/ingest-enriching-data.html', label: i18n.translate('xpack.ingestPipelines.processors.label.enrich', { defaultMessage: 'Enrich', }), }, fail: { - FieldsComponent: undefined, // TODO: Implement + FieldsComponent: Fail, docLinkPath: '/fail-processor.html', label: i18n.translate('xpack.ingestPipelines.processors.label.fail', { defaultMessage: 'Fail', }), }, foreach: { - FieldsComponent: undefined, // TODO: Implement + FieldsComponent: Foreach, docLinkPath: '/foreach-processor.html', label: i18n.translate('xpack.ingestPipelines.processors.label.foreach', { defaultMessage: 'Foreach', }), }, geoip: { - FieldsComponent: undefined, // TODO: Implement + FieldsComponent: GeoIP, docLinkPath: '/geoip-processor.html', label: i18n.translate('xpack.ingestPipelines.processors.label.geoip', { defaultMessage: 'GeoIP', }), }, + grok: { + FieldsComponent: Grok, + docLinkPath: '/grok-processor.html', + label: i18n.translate('xpack.ingestPipelines.processors.label.grok', { + defaultMessage: 'Grok', + }), + }, gsub: { - FieldsComponent: undefined, + FieldsComponent: Gsub, docLinkPath: '/gsub-processor.html', label: i18n.translate('xpack.ingestPipelines.processors.label.gsub', { defaultMessage: 'Gsub', }), }, html_strip: { - FieldsComponent: undefined, // TODO: Implement + FieldsComponent: HtmlStrip, docLinkPath: '/htmlstrip-processor.html', label: i18n.translate('xpack.ingestPipelines.processors.label.htmlStrip', { defaultMessage: 'HTML strip', }), }, inference: { - FieldsComponent: undefined, // TODO: Implement + FieldsComponent: Inference, docLinkPath: '/inference-processor.html', label: i18n.translate('xpack.ingestPipelines.processors.label.inference', { defaultMessage: 'Inference', }), }, join: { - FieldsComponent: undefined, // TODO: Implement + FieldsComponent: Join, docLinkPath: '/join-processor.html', label: i18n.translate('xpack.ingestPipelines.processors.label.join', { defaultMessage: 'Join', }), }, json: { - FieldsComponent: undefined, // TODO: Implement + FieldsComponent: Json, docLinkPath: '/json-processor.html', label: i18n.translate('xpack.ingestPipelines.processors.label.json', { defaultMessage: 'JSON', @@ -268,13 +285,6 @@ export const mapProcessorTypeToDescriptor: MapProcessorTypeToDescriptor = { defaultMessage: 'Set', }), }, - grok: { - FieldsComponent: undefined, - docLinkPath: '/grok-processor.html', - label: i18n.translate('xpack.ingestPipelines.processors.label.grok', { - defaultMessage: 'Grok', - }), - }, }; export type ProcessorType = keyof typeof mapProcessorTypeToDescriptor; diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 0fd9e437a5c3d..6a7737d367005 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -9734,14 +9734,10 @@ "xpack.ingestPipelines.pipelineEditor.deleteModal.deleteDescription": "このプロセッサーとエラーハンドラーを削除します。", "xpack.ingestPipelines.pipelineEditor.dropZoneButton.moveHereToolTip": "ここに移動", "xpack.ingestPipelines.pipelineEditor.dropZoneButton.unavailableToolTip": "ここに移動できません", - "xpack.ingestPipelines.pipelineEditor.gsubForm.fieldFieldLabel": "フィールド", - "xpack.ingestPipelines.pipelineEditor.gsubForm.fieldRequiredError": "フィールド値が必要です。", - "xpack.ingestPipelines.pipelineEditor.gsubForm.ignoreMissingFieldLabel": "不足しテイル項目を無視", "xpack.ingestPipelines.pipelineEditor.gsubForm.patternFieldLabel": "パターン", "xpack.ingestPipelines.pipelineEditor.gsubForm.patternRequiredError": "パターン値が必要です。", "xpack.ingestPipelines.pipelineEditor.gsubForm.replacementFieldLabel": "置換", "xpack.ingestPipelines.pipelineEditor.gsubForm.replacementRequiredError": "置換値が必要です。", - "xpack.ingestPipelines.pipelineEditor.gsubForm.targetFieldLabel": "ターゲットフィールド(任意)", "xpack.ingestPipelines.pipelineEditor.item.cancelMoveButtonAriaLabel": "移動のキャンセル", "xpack.ingestPipelines.pipelineEditor.item.descriptionPlaceholder": "説明なし", "xpack.ingestPipelines.pipelineEditor.item.editButtonAriaLabel": "このプロセッサーを編集", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 02e6da8c3f812..4d0186141f38d 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -9737,14 +9737,10 @@ "xpack.ingestPipelines.pipelineEditor.deleteModal.deleteDescription": "删除此处理器和其失败时处理程序。", "xpack.ingestPipelines.pipelineEditor.dropZoneButton.moveHereToolTip": "移到此处", "xpack.ingestPipelines.pipelineEditor.dropZoneButton.unavailableToolTip": "无法移到此处", - "xpack.ingestPipelines.pipelineEditor.gsubForm.fieldFieldLabel": "字段", - "xpack.ingestPipelines.pipelineEditor.gsubForm.fieldRequiredError": "字段值必填。", - "xpack.ingestPipelines.pipelineEditor.gsubForm.ignoreMissingFieldLabel": "忽略缺失", "xpack.ingestPipelines.pipelineEditor.gsubForm.patternFieldLabel": "模式", "xpack.ingestPipelines.pipelineEditor.gsubForm.patternRequiredError": "模式值必填。", "xpack.ingestPipelines.pipelineEditor.gsubForm.replacementFieldLabel": "替换", "xpack.ingestPipelines.pipelineEditor.gsubForm.replacementRequiredError": "替换值必填。", - "xpack.ingestPipelines.pipelineEditor.gsubForm.targetFieldLabel": "目标字段(可选)", "xpack.ingestPipelines.pipelineEditor.item.cancelMoveButtonAriaLabel": "取消移动", "xpack.ingestPipelines.pipelineEditor.item.descriptionPlaceholder": "无描述", "xpack.ingestPipelines.pipelineEditor.item.editButtonAriaLabel": "编辑此处理器", From d7256e1007cb43c5782f5c0fa0da16bf070593bf Mon Sep 17 00:00:00 2001 From: Zacqary Adam Xeper Date: Thu, 20 Aug 2020 13:22:04 -0500 Subject: [PATCH 35/51] [Metrics UI] Support percentage format in threshold alerts (#72701) Co-authored-by: Elastic Machine --- .../utils/corrected_percent_convert.test.ts | 52 ++++++++++++ .../common/utils/corrected_percent_convert.ts | 16 ++++ .../components/expression_row.test.tsx | 84 +++++++++++++++++++ .../components/expression_row.tsx | 30 +++++-- .../metric_threshold_executor.test.ts | 30 +++++++ .../metric_threshold_executor.ts | 28 ++++++- 6 files changed, 232 insertions(+), 8 deletions(-) create mode 100644 x-pack/plugins/infra/common/utils/corrected_percent_convert.test.ts create mode 100644 x-pack/plugins/infra/common/utils/corrected_percent_convert.ts create mode 100644 x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_row.test.tsx diff --git a/x-pack/plugins/infra/common/utils/corrected_percent_convert.test.ts b/x-pack/plugins/infra/common/utils/corrected_percent_convert.test.ts new file mode 100644 index 0000000000000..ab608f331b884 --- /dev/null +++ b/x-pack/plugins/infra/common/utils/corrected_percent_convert.test.ts @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { decimalToPct, pctToDecimal } from './corrected_percent_convert'; + +describe('decimalToPct', () => { + test('should retain correct floating point precision up to 10 decimal places', () => { + // Most of these cases would still work fine just doing x * 100 instead of passing it through + // decimalToPct, but the function still needs to work regardless + expect(decimalToPct(0)).toBe(0); + expect(decimalToPct(0.1)).toBe(10); + expect(decimalToPct(0.01)).toBe(1); + expect(decimalToPct(0.014)).toBe(1.4); + expect(decimalToPct(0.0141)).toBe(1.41); + expect(decimalToPct(0.01414)).toBe(1.414); + // This case is known to fail without decimalToPct; vanilla JS 0.014141 * 100 === 1.4141000000000001 + expect(decimalToPct(0.014141)).toBe(1.4141); + expect(decimalToPct(0.0141414)).toBe(1.41414); + expect(decimalToPct(0.01414141)).toBe(1.414141); + expect(decimalToPct(0.014141414)).toBe(1.4141414); + }); + test('should also work with values greater than 1', () => { + expect(decimalToPct(2)).toBe(200); + expect(decimalToPct(2.1)).toBe(210); + expect(decimalToPct(2.14)).toBe(214); + expect(decimalToPct(2.14141414)).toBe(214.141414); + }); +}); + +describe('pctToDecimal', () => { + test('should retain correct floating point precision up to 10 decimal places', () => { + expect(pctToDecimal(0)).toBe(0); + expect(pctToDecimal(10)).toBe(0.1); + expect(pctToDecimal(1)).toBe(0.01); + expect(pctToDecimal(1.4)).toBe(0.014); + expect(pctToDecimal(1.41)).toBe(0.0141); + expect(pctToDecimal(1.414)).toBe(0.01414); + expect(pctToDecimal(1.4141)).toBe(0.014141); + expect(pctToDecimal(1.41414)).toBe(0.0141414); + expect(pctToDecimal(1.414141)).toBe(0.01414141); + expect(pctToDecimal(1.4141414)).toBe(0.014141414); + }); + test('should also work with values greater than 100%', () => { + expect(pctToDecimal(200)).toBe(2); + expect(pctToDecimal(210)).toBe(2.1); + expect(pctToDecimal(214)).toBe(2.14); + expect(pctToDecimal(214.141414)).toBe(2.14141414); + }); +}); diff --git a/x-pack/plugins/infra/common/utils/corrected_percent_convert.ts b/x-pack/plugins/infra/common/utils/corrected_percent_convert.ts new file mode 100644 index 0000000000000..a8e3db5133cf5 --- /dev/null +++ b/x-pack/plugins/infra/common/utils/corrected_percent_convert.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +const correctedPctConvert = (v: number, decimalToPct: boolean) => { + // Correct floating point precision + const replacementPattern = decimalToPct ? new RegExp(/0?\./) : '.'; + const numberOfDigits = String(v).replace(replacementPattern, '').length; + const multipliedValue = decimalToPct ? v * 100 : v / 100; + return parseFloat(multipliedValue.toPrecision(numberOfDigits)); +}; + +export const decimalToPct = (v: number) => correctedPctConvert(v, true); +export const pctToDecimal = (v: number) => correctedPctConvert(v, false); diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_row.test.tsx b/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_row.test.tsx new file mode 100644 index 0000000000000..d5be8a2ec2675 --- /dev/null +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_row.test.tsx @@ -0,0 +1,84 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { mountWithIntl, nextTick } from 'test_utils/enzyme_helpers'; +import { MetricExpression } from '../types'; +import React from 'react'; +import { ExpressionRow } from './expression_row'; +import { act } from 'react-dom/test-utils'; +// eslint-disable-next-line @kbn/eslint/no-restricted-paths +import { Comparator } from '../../../../server/lib/alerting/metric_threshold/types'; + +jest.mock('../../../containers/source/use_source_via_http', () => ({ + useSourceViaHttp: () => ({ + source: { id: 'default' }, + createDerivedIndexPattern: () => ({ fields: [], title: 'metricbeat-*' }), + }), +})); + +describe('ExpressionRow', () => { + async function setup(expression: MetricExpression) { + const wrapper = mountWithIntl( + {}} + addExpression={() => {}} + key={1} + expressionId={1} + setAlertParams={() => {}} + errors={{ + aggField: [], + timeSizeUnit: [], + timeWindowSize: [], + }} + expression={expression} + /> + ); + + const update = async () => + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + await update(); + + return { wrapper, update }; + } + + it('should display thresholds as a percentage for pct metrics', async () => { + const expression = { + metric: 'system.cpu.user.pct', + comparator: Comparator.GT, + threshold: [0.5], + timeSize: 1, + timeUnit: 'm', + aggType: 'avg', + }; + const { wrapper } = await setup(expression as MetricExpression); + const [valueMatch] = wrapper.html().match('50') ?? []; + expect(valueMatch).toBeTruthy(); + }); + + it('should display thresholds as a decimal for all other metrics', async () => { + const expression = { + metric: 'system.load.1', + comparator: Comparator.GT, + threshold: [0.5], + timeSize: 1, + timeUnit: 'm', + aggType: 'avg', + }; + const { wrapper } = await setup(expression as MetricExpression); + const [valueMatch] = + wrapper.html().match('0.5') ?? []; + expect(valueMatch).toBeTruthy(); + }); +}); diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_row.tsx b/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_row.tsx index 653b9e1d5c308..1487557bde3a0 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_row.tsx +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_row.tsx @@ -3,10 +3,11 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import React, { useCallback, useState } from 'react'; +import React, { useCallback, useState, useMemo } from 'react'; import { i18n } from '@kbn/i18n'; -import { EuiFlexGroup, EuiFlexItem, EuiButtonIcon, EuiSpacer } from '@elastic/eui'; +import { EuiFlexGroup, EuiFlexItem, EuiButtonIcon, EuiSpacer, EuiText } from '@elastic/eui'; import { IFieldType } from 'src/plugins/data/public'; +import { pctToDecimal, decimalToPct } from '../../../../common/utils/corrected_percent_convert'; import { WhenExpression, OfExpression, @@ -76,6 +77,8 @@ export const ExpressionRow: React.FC = (props) => { threshold = [], } = expression; + const isMetricPct = useMemo(() => metric && metric.endsWith('.pct'), [metric]); + const updateAggType = useCallback( (at: string) => { setAlertParams(expressionId, { @@ -102,14 +105,22 @@ export const ExpressionRow: React.FC = (props) => { ); const updateThreshold = useCallback( - (t) => { + (enteredThreshold) => { + const t = isMetricPct + ? enteredThreshold.map((v: number) => pctToDecimal(v)) + : enteredThreshold; if (t.join() !== expression.threshold.join()) { setAlertParams(expressionId, { ...expression, threshold: t }); } }, - [expressionId, expression, setAlertParams] + [expressionId, expression, isMetricPct, setAlertParams] ); + const displayedThreshold = useMemo(() => { + if (isMetricPct) return threshold.map((v) => decimalToPct(v)); + return threshold; + }, [threshold, isMetricPct]); + return ( <> @@ -149,13 +160,22 @@ export const ExpressionRow: React.FC = (props) => { + {isMetricPct && ( +
+ % +
+ )}
{canDelete && ( diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts index fa705798baf7a..3a52bb6b6ce71 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts @@ -387,6 +387,36 @@ describe('The metric threshold alert type', () => { // expect(getState(instanceID).alertState).toBe(AlertStates.OK); // }); // }); + + describe('querying a metric with a percentage metric', () => { + const instanceID = '*'; + const execute = () => + executor({ + services, + params: { + sourceId: 'default', + criteria: [ + { + ...baseCriterion, + metric: 'test.metric.pct', + comparator: Comparator.GT, + threshold: [0.75], + }, + ], + }, + }); + test('reports values converted from decimals to percentages to the action context', async () => { + const now = 1577858400000; + await execute(); + const { action } = mostRecentAction(instanceID); + expect(action.group).toBe('*'); + expect(action.reason).toContain('current value is 100%'); + expect(action.reason).toContain('threshold of 75%'); + expect(action.threshold.condition0[0]).toBe('75%'); + expect(action.value.condition0).toBe('100%'); + expect(action.timestamp).toBe(new Date(now).toISOString()); + }); + }); }); const createMockStaticConfiguration = (sources: any) => ({ diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts index b2a8f0281b9e2..9265e8089e915 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts @@ -14,6 +14,7 @@ import { buildNoDataAlertReason, stateToAlertMessage, } from '../common/messages'; +import { createFormatter } from '../../../../common/formatters'; import { AlertStates } from './types'; import { evaluateAlert } from './lib/evaluate_alert'; @@ -59,7 +60,7 @@ export const createMetricThresholdExecutor = (libs: InfraBackendLibs) => let reason; if (nextState === AlertStates.ALERT) { reason = alertResults - .map((result) => buildFiredAlertReason(result[group] as any)) + .map((result) => buildFiredAlertReason(formatAlertResult(result[group]) as any)) .join('\n'); } if (alertOnNoData) { @@ -83,8 +84,14 @@ export const createMetricThresholdExecutor = (libs: InfraBackendLibs) => alertState: stateToAlertMessage[nextState], reason, timestamp, - value: mapToConditionsLookup(alertResults, (result) => result[group].currentValue), - threshold: mapToConditionsLookup(criteria, (c) => c.threshold), + value: mapToConditionsLookup( + alertResults, + (result) => formatAlertResult(result[group]).currentValue + ), + threshold: mapToConditionsLookup( + alertResults, + (result) => formatAlertResult(result[group]).threshold + ), metric: mapToConditionsLookup(criteria, (c) => c.metric), }); } @@ -113,3 +120,18 @@ const mapToConditionsLookup = ( (result: Record, value, i) => ({ ...result, [`condition${i}`]: value }), {} ); + +const formatAlertResult = (alertResult: { + metric: string; + currentValue: number; + threshold: number[]; +}) => { + const { metric, currentValue, threshold } = alertResult; + if (!metric.endsWith('.pct')) return alertResult; + const formatter = createFormatter('percent'); + return { + ...alertResult, + currentValue: formatter(currentValue), + threshold: Array.isArray(threshold) ? threshold.map((v: number) => formatter(v)) : threshold, + }; +}; From d37ec02d8f9a143964060bbb9a03768c18bc76e5 Mon Sep 17 00:00:00 2001 From: Zacqary Adam Xeper Date: Thu, 20 Aug 2020 13:28:10 -0500 Subject: [PATCH 36/51] [Metrics UI] Get custom metrics working in inventory alerts with limited UI (#75073) --- .../formatters}/get_custom_metric_label.ts | 2 +- .../inventory/components/alert_flyout.tsx | 17 +- .../inventory/components/expression.test.tsx | 186 ++++++++++++++++++ .../inventory/components/expression.tsx | 86 ++++++-- .../alerting/inventory/components/metric.tsx | 7 +- .../hooks/use_inventory_alert_prefill.ts | 8 +- .../waffle/metric_control/index.tsx | 2 +- .../metric_control/metrics_context_menu.tsx | 2 +- .../metric_control/metrics_edit_mode.tsx | 2 +- .../hooks/use_waffle_options.test.ts | 19 ++ .../hooks/use_waffle_options.ts | 3 +- .../evaluate_condition.ts | 15 +- .../inventory_metric_threshold_executor.ts | 33 ++-- ...r_inventory_metric_threshold_alert_type.ts | 9 + .../inventory_metric_threshold/types.ts | 2 + 15 files changed, 348 insertions(+), 45 deletions(-) rename x-pack/plugins/infra/{public/pages/metrics/inventory_view/components/waffle/metric_control => common/formatters}/get_custom_metric_label.ts (91%) create mode 100644 x-pack/plugins/infra/public/alerting/inventory/components/expression.test.tsx diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/get_custom_metric_label.ts b/x-pack/plugins/infra/common/formatters/get_custom_metric_label.ts similarity index 91% rename from x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/get_custom_metric_label.ts rename to x-pack/plugins/infra/common/formatters/get_custom_metric_label.ts index 495cc8197d2e7..3be5986d489d3 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/get_custom_metric_label.ts +++ b/x-pack/plugins/infra/common/formatters/get_custom_metric_label.ts @@ -5,7 +5,7 @@ */ import { i18n } from '@kbn/i18n'; -import { SnapshotCustomMetricInput } from '../../../../../../../common/http_api/snapshot_api'; +import { SnapshotCustomMetricInput } from '../http_api/snapshot_api'; export const getCustomMetricLabel = (metric: SnapshotCustomMetricInput) => { const METRIC_LABELS = { diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx index 804ff9602c81c..834afefd74712 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx @@ -12,6 +12,7 @@ import { useKibana } from '../../../../../../../src/plugins/kibana_react/public' import { METRIC_INVENTORY_THRESHOLD_ALERT_TYPE_ID } from '../../../../server/lib/alerting/inventory_metric_threshold/types'; import { InfraWaffleMapOptions } from '../../../lib/lib'; import { InventoryItemType } from '../../../../common/inventory_models/types'; +import { useAlertPrefillContext } from '../../../alerting/use_alert_prefill'; interface Props { visible?: boolean; @@ -21,16 +22,24 @@ interface Props { setVisible: React.Dispatch>; } -export const AlertFlyout = (props: Props) => { +export const AlertFlyout = ({ options, nodeType, filter, visible, setVisible }: Props) => { const { triggersActionsUI } = useContext(TriggerActionsContext); const { services } = useKibana(); + const { inventoryPrefill } = useAlertPrefillContext(); + const { customMetrics } = inventoryPrefill; + return ( <> {triggersActionsUI && ( { }} > ({ + useSourceViaHttp: () => ({ + source: { id: 'default' }, + createDerivedIndexPattern: () => ({ fields: [], title: 'metricbeat-*' }), + }), +})); + +const exampleCustomMetric = { + id: 'this-is-an-id', + field: 'some.system.field', + aggregation: 'rate', + type: 'custom', +} as SnapshotCustomMetricInput; + +describe('Expression', () => { + async function setup(currentOptions: AlertContextMeta) { + const alertParams = { + criteria: [], + nodeType: undefined, + filterQueryText: '', + }; + + const mocks = coreMock.createSetup(); + const startMocks = coreMock.createStart(); + const [ + { + application: { capabilities }, + }, + ] = await mocks.getStartServices(); + + const context: AlertsContextValue = { + http: mocks.http, + toastNotifications: mocks.notifications.toasts, + actionTypeRegistry: actionTypeRegistryMock.create() as any, + alertTypeRegistry: alertTypeRegistryMock.create() as any, + docLinks: startMocks.docLinks, + capabilities: { + ...capabilities, + actions: { + delete: true, + save: true, + show: true, + }, + }, + metadata: currentOptions, + }; + + const wrapper = mountWithIntl( + Reflect.set(alertParams, key, value)} + setAlertProperty={() => {}} + /> + ); + + const update = async () => + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + await update(); + + return { wrapper, update, alertParams }; + } + + it('should prefill the alert using the context metadata', async () => { + const currentOptions = { + filter: 'foo', + nodeType: 'pod', + customMetrics: [], + options: { metric: { type: 'memory' } }, + }; + const { alertParams } = await setup(currentOptions as AlertContextMeta); + expect(alertParams.nodeType).toBe('pod'); + expect(alertParams.filterQueryText).toBe('foo'); + expect(alertParams.criteria).toEqual([ + { + metric: 'memory', + comparator: Comparator.GT, + threshold: [], + timeSize: 1, + timeUnit: 'm', + }, + ]); + }); + describe('using custom metrics', () => { + it('should prefill the alert using the context metadata', async () => { + const currentOptions = { + filter: '', + nodeType: 'tx', + customMetrics: [exampleCustomMetric], + options: { metric: exampleCustomMetric }, + }; + const { alertParams, update } = await setup(currentOptions as AlertContextMeta); + await update(); + expect(alertParams.nodeType).toBe('tx'); + expect(alertParams.filterQueryText).toBe(''); + expect(alertParams.criteria).toEqual([ + { + metric: 'custom', + comparator: Comparator.GT, + threshold: [], + timeSize: 1, + timeUnit: 'm', + customMetric: exampleCustomMetric, + }, + ]); + }); + }); +}); + +describe('ExpressionRow', () => { + async function setup(expression: InventoryMetricConditions) { + const wrapper = mountWithIntl( + {}} + addExpression={() => {}} + key={1} + expressionId={1} + setAlertParams={() => {}} + errors={{ + aggField: [], + timeSizeUnit: [], + timeWindowSize: [], + metric: [], + }} + expression={expression} + alertsContextMetadata={{ + customMetrics: [], + }} + /> + ); + + const update = async () => + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + await update(); + + return { wrapper, update }; + } + const expression = { + metric: 'custom', + comparator: Comparator.GT, + threshold: [], + timeSize: 1, + timeUnit: 'm', + customMetric: exampleCustomMetric, + }; + + it('loads custom metrics passed in through the expression, even with an empty context', async () => { + const { wrapper } = await setup(expression as InventoryMetricConditions); + const [valueMatch] = + wrapper.html().match('Rate of some.system.field') ?? + []; + expect(valueMatch).toBeTruthy(); + }); +}); diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx index 7ca17617871ff..78cabcf354437 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx @@ -4,7 +4,8 @@ * you may not use this file except in compliance with the Elastic License. */ -import { debounce, pick } from 'lodash'; +import { set } from '@elastic/safer-lodash-set'; +import { debounce, pick, uniqBy, isEqual } from 'lodash'; import { Unit } from '@elastic/datemath'; import React, { useCallback, useMemo, useEffect, useState, ChangeEvent } from 'react'; import { @@ -22,6 +23,7 @@ import { } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; +import { getCustomMetricLabel } from '../../../../common/formatters/get_custom_metric_label'; import { toMetricOpt } from '../../../../common/snapshot_metric_i18n'; import { AlertPreview } from '../../common'; import { METRIC_INVENTORY_THRESHOLD_ALERT_TYPE_ID } from '../../../../common/alerting/metrics'; @@ -49,22 +51,31 @@ import { hostMetricTypes } from '../../../../common/inventory_models/host/toolba import { containerMetricTypes } from '../../../../common/inventory_models/container/toolbar_items'; import { podMetricTypes } from '../../../../common/inventory_models/pod/toolbar_items'; import { findInventoryModel } from '../../../../common/inventory_models'; -import { InventoryItemType, SnapshotMetricType } from '../../../../common/inventory_models/types'; +import { + InventoryItemType, + SnapshotMetricType, + SnapshotMetricTypeRT, +} from '../../../../common/inventory_models/types'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { InventoryMetricConditions } from '../../../../server/lib/alerting/inventory_metric_threshold/types'; import { MetricExpression } from './metric'; import { NodeTypeExpression } from './node_type'; import { InfraWaffleMapOptions } from '../../../lib/lib'; import { convertKueryToElasticSearchQuery } from '../../../utils/kuery'; +import { + SnapshotCustomMetricInput, + SnapshotCustomMetricInputRT, +} from '../../../../common/http_api/snapshot_api'; import { validateMetricThreshold } from './validation'; const FILTER_TYPING_DEBOUNCE_MS = 500; -interface AlertContextMeta { +export interface AlertContextMeta { options?: Partial; nodeType?: InventoryItemType; filter?: string; + customMetrics?: SnapshotCustomMetricInput[]; } interface Props { @@ -89,6 +100,7 @@ const defaultExpression = { threshold: [], timeSize: 1, timeUnit: 'm', + customMetric: undefined, } as InventoryMetricConditions; export const Expressions: React.FC = (props) => { @@ -204,6 +216,9 @@ export const Expressions: React.FC = (props) => { { ...defaultExpression, metric: md.options.metric!.type, + customMetric: SnapshotCustomMetricInputRT.is(md.options.metric) + ? md.options.metric + : undefined, } as InventoryMetricConditions, ]); } else { @@ -282,6 +297,7 @@ export const Expressions: React.FC = (props) => { setAlertParams={updateParams} errors={errors[idx] || emptyError} expression={e || {}} + alertsContextMetadata={alertsContext.metadata} /> ); })} @@ -389,6 +405,7 @@ interface ExpressionRowProps { addExpression(): void; remove(id: number): void; setAlertParams(id: number, params: Partial): void; + alertsContextMetadata: AlertsContextValue['metadata']; } const StyledExpressionRow = euiStyled(EuiFlexGroup)` @@ -402,14 +419,48 @@ const StyledExpression = euiStyled.div` `; export const ExpressionRow: React.FC = (props) => { - const { setAlertParams, expression, errors, expressionId, remove, canDelete } = props; - const { metric, comparator = Comparator.GT, threshold = [] } = expression; + const { + setAlertParams, + expression, + errors, + expressionId, + remove, + canDelete, + alertsContextMetadata, + } = props; + const { metric, comparator = Comparator.GT, threshold = [], customMetric } = expression; + const [customMetrics, updateCustomMetrics] = useState([]); + + // Create and uniquify a list of custom metrics including: + // - The alert metadata context (which only gives us custom metrics on the inventory page) + // - The custom metric stored in the expression (necessary when editing this alert without having + // access to the metadata context) + // - Whatever custom metrics were previously stored in this list (to preserve the custom metric in the dropdown + // if the user edits the alert and switches away from the custom metric) + useEffect(() => { + const ctxCustomMetrics = alertsContextMetadata?.customMetrics ?? []; + const expressionCustomMetrics = customMetric ? [customMetric] : []; + const newCustomMetrics = uniqBy( + [...customMetrics, ...ctxCustomMetrics, ...expressionCustomMetrics], + (cm: SnapshotCustomMetricInput) => cm.id + ); + if (!isEqual(customMetrics, newCustomMetrics)) updateCustomMetrics(newCustomMetrics); + }, [alertsContextMetadata, customMetric, customMetrics, updateCustomMetrics]); const updateMetric = useCallback( - (m?: SnapshotMetricType) => { - setAlertParams(expressionId, { ...expression, metric: m }); + (m?: SnapshotMetricType | string) => { + const newMetric = SnapshotMetricTypeRT.is(m) ? m : 'custom'; + const newAlertParams = { ...expression, metric: newMetric }; + if (newMetric === 'custom' && customMetrics) { + set( + newAlertParams, + 'customMetric', + customMetrics.find((cm) => cm.id === m) + ); + } + setAlertParams(expressionId, newAlertParams); }, - [expressionId, expression, setAlertParams] + [expressionId, expression, setAlertParams, customMetrics] ); const updateComparator = useCallback( @@ -446,6 +497,7 @@ export const ExpressionRow: React.FC = (props) => { break; case 'host': myMetrics = hostMetricTypes; + break; case 'pod': myMetrics = podMetricTypes; @@ -454,8 +506,17 @@ export const ExpressionRow: React.FC = (props) => { myMetrics = containerMetricTypes; break; } - return myMetrics.map(toMetricOpt); - }, [props.nodeType]); + const baseMetricOpts = myMetrics.map(toMetricOpt); + const customMetricOpts = customMetrics + ? customMetrics.map((m, i) => ({ + text: getCustomMetricLabel(m), + value: m.id, + })) + : []; + return [...baseMetricOpts, ...customMetricOpts]; + }, [props.nodeType, customMetrics]); + + const selectedMetricValue = metric === 'custom' && customMetric ? customMetric.id : metric!; return ( <> @@ -465,8 +526,8 @@ export const ExpressionRow: React.FC = (props) => { v?.value === metric)?.text || '', + value: selectedMetricValue, + text: ofFields.find((v) => v?.value === selectedMetricValue)?.text || '', }} metrics={ ofFields.filter((m) => m !== undefined && m.value !== undefined) as Array<{ @@ -568,4 +629,5 @@ const metricUnit: Record = { s3DownloadBytes: { label: 'bytes' }, sqsOldestMessage: { label: 'seconds' }, rdsLatency: { label: 'ms' }, + custom: { label: '' }, }; diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/metric.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/metric.tsx index ff859a95a3d9d..2e5ccbe1a4276 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/metric.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/metric.tsx @@ -18,13 +18,12 @@ import { import { EuiPopoverTitle, EuiButtonIcon } from '@elastic/eui'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { IErrorObject } from '../../../../../triggers_actions_ui/public/types'; -import { SnapshotMetricType } from '../../../../common/inventory_models/types'; interface Props { - metric?: { value: SnapshotMetricType; text: string }; + metric?: { value: string; text: string }; metrics: Array<{ value: string; text: string }>; errors: IErrorObject; - onChange: (metric?: SnapshotMetricType) => void; + onChange: (metric?: string) => void; popupPosition?: | 'upCenter' | 'upLeft' @@ -104,7 +103,7 @@ export const MetricExpression = ({ metric, metrics, errors, onChange, popupPosit renderOption={(o: any) => o.label} onChange={(selectedOptions) => { if (selectedOptions.length > 0) { - onChange(selectedOptions[0].value as SnapshotMetricType); + onChange(selectedOptions[0].value); setAggFieldPopoverOpen(false); } else { onChange(); diff --git a/x-pack/plugins/infra/public/alerting/inventory/hooks/use_inventory_alert_prefill.ts b/x-pack/plugins/infra/public/alerting/inventory/hooks/use_inventory_alert_prefill.ts index d659057b95ed9..a57f9cafa5e19 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/hooks/use_inventory_alert_prefill.ts +++ b/x-pack/plugins/infra/public/alerting/inventory/hooks/use_inventory_alert_prefill.ts @@ -5,20 +5,26 @@ */ import { useState } from 'react'; -import { SnapshotMetricInput } from '../../../../common/http_api/snapshot_api'; +import { + SnapshotMetricInput, + SnapshotCustomMetricInput, +} from '../../../../common/http_api/snapshot_api'; import { InventoryItemType } from '../../../../common/inventory_models/types'; export const useInventoryAlertPrefill = () => { const [nodeType, setNodeType] = useState('host'); const [filterQuery, setFilterQuery] = useState(); const [metric, setMetric] = useState({ type: 'cpu' }); + const [customMetrics, setCustomMetrics] = useState([]); return { nodeType, filterQuery, metric, + customMetrics, setNodeType, setFilterQuery, setMetric, + setCustomMetrics, }; }; diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/index.tsx b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/index.tsx index aae787c8c0395..96169810e02a8 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/index.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/index.tsx @@ -8,13 +8,13 @@ import { EuiPopover } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React, { useState, useCallback } from 'react'; import { IFieldType } from 'src/plugins/data/public'; +import { getCustomMetricLabel } from '../../../../../../../common/formatters/get_custom_metric_label'; import { SnapshotMetricInput, SnapshotCustomMetricInput, SnapshotCustomMetricInputRT, } from '../../../../../../../common/http_api/snapshot_api'; import { CustomMetricForm } from './custom_metric_form'; -import { getCustomMetricLabel } from './get_custom_metric_label'; import { MetricsContextMenu } from './metrics_context_menu'; import { ModeSwitcher } from './mode_switcher'; import { MetricsEditMode } from './metrics_edit_mode'; diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/metrics_context_menu.tsx b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/metrics_context_menu.tsx index 7ab90297ebbb3..71a000d3165b6 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/metrics_context_menu.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/metrics_context_menu.tsx @@ -5,6 +5,7 @@ */ import React, { useCallback } from 'react'; import { EuiContextMenuPanelDescriptor, EuiContextMenu } from '@elastic/eui'; +import { getCustomMetricLabel } from '../../../../../../../common/formatters/get_custom_metric_label'; import { SnapshotMetricInput, SnapshotCustomMetricInput, @@ -14,7 +15,6 @@ import { SnapshotMetricTypeRT, SnapshotMetricType, } from '../../../../../../../common/inventory_models/types'; -import { getCustomMetricLabel } from './get_custom_metric_label'; interface Props { options: Array<{ text: string; value: string }>; diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/metrics_edit_mode.tsx b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/metrics_edit_mode.tsx index 649dcc4282d67..e75885ccbc917 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/metrics_edit_mode.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/metrics_edit_mode.tsx @@ -6,8 +6,8 @@ import React from 'react'; import { EuiFlexItem, EuiFlexGroup, EuiButtonIcon } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; +import { getCustomMetricLabel } from '../../../../../../../common/formatters/get_custom_metric_label'; import { SnapshotCustomMetricInput } from '../../../../../../../common/http_api/snapshot_api'; -import { getCustomMetricLabel } from './get_custom_metric_label'; import { EuiTheme, withTheme, diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_waffle_options.test.ts b/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_waffle_options.test.ts index 579073e9500d0..d44d8fca4faba 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_waffle_options.test.ts +++ b/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_waffle_options.test.ts @@ -20,6 +20,7 @@ jest.mock('react-router-dom', () => ({ // reassign them, so we can't make these both part of the same object let PREFILL_NODETYPE: WaffleOptionsState['nodeType'] | undefined; let PREFILL_METRIC: WaffleOptionsState['metric'] | undefined; +let PREFILL_CUSTOM_METRICS: WaffleOptionsState['customMetrics'] | undefined; jest.mock('../../../../alerting/use_alert_prefill', () => ({ useAlertPrefillContext: () => ({ inventoryPrefill: { @@ -29,6 +30,9 @@ jest.mock('../../../../alerting/use_alert_prefill', () => ({ setMetric(metric: WaffleOptionsState['metric']) { PREFILL_METRIC = metric; }, + setCustomMetrics(customMetrics: WaffleOptionsState['customMetrics']) { + PREFILL_CUSTOM_METRICS = customMetrics; + }, }, }), })); @@ -39,6 +43,7 @@ describe('useWaffleOptions', () => { beforeEach(() => { PREFILL_NODETYPE = undefined; PREFILL_METRIC = undefined; + PREFILL_CUSTOM_METRICS = undefined; }); it('should sync the options to the inventory alert preview context', () => { @@ -47,6 +52,15 @@ describe('useWaffleOptions', () => { const newOptions = { nodeType: 'pod', metric: { type: 'memory' }, + customMetrics: [ + { + type: 'custom', + id: + "i don't want to bother to copy and paste an actual uuid so instead i'm going to smash my keyboard skjdghsjodkyjheurvjnsgn", + aggregation: 'avg', + field: 'hey.system.are.you.good', + }, + ], } as WaffleOptionsState; act(() => { result.current.changeNodeType(newOptions.nodeType); @@ -58,5 +72,10 @@ describe('useWaffleOptions', () => { }); rerender(); expect(PREFILL_METRIC).toEqual(newOptions.metric); + act(() => { + result.current.changeCustomMetrics(newOptions.customMetrics); + }); + rerender(); + expect(PREFILL_CUSTOM_METRICS).toEqual(newOptions.customMetrics); }); }); diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_waffle_options.ts b/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_waffle_options.ts index 8059d1ad12a3a..35d069adc939e 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_waffle_options.ts +++ b/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_waffle_options.ts @@ -125,9 +125,10 @@ export const useWaffleOptions = () => { const { inventoryPrefill } = useAlertPrefillContext(); useEffect(() => { - const { setNodeType, setMetric } = inventoryPrefill; + const { setNodeType, setMetric, setCustomMetrics } = inventoryPrefill; setNodeType(state.nodeType); setMetric(state.metric); + setCustomMetrics(state.customMetrics); }, [state, inventoryPrefill]); return { diff --git a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/evaluate_condition.ts b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/evaluate_condition.ts index 3b795810b39f0..9be6a4b52157c 100644 --- a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/evaluate_condition.ts +++ b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/evaluate_condition.ts @@ -5,6 +5,7 @@ */ import { mapValues, last, first } from 'lodash'; import moment from 'moment'; +import { SnapshotCustomMetricInput } from '../../../../common/http_api/snapshot_api'; import { isTooManyBucketsPreviewException, TOO_MANY_BUCKETS_PREVIEW_EXCEPTION, @@ -37,7 +38,7 @@ export const evaluateCondition = async ( filterQuery?: string, lookbackSize?: number ): Promise> => { - const { comparator, metric } = condition; + const { comparator, metric, customMetric } = condition; let { threshold } = condition; const timerange = { @@ -55,7 +56,8 @@ export const evaluateCondition = async ( metric, timerange, sourceConfiguration, - filterQuery + filterQuery, + customMetric ); threshold = threshold.map((n) => convertMetricValue(metric, n)); @@ -93,19 +95,24 @@ const getData = async ( metric: SnapshotMetricType, timerange: InfraTimerangeInput, sourceConfiguration: InfraSourceConfiguration, - filterQuery?: string + filterQuery?: string, + customMetric?: SnapshotCustomMetricInput ) => { const snapshot = new InfraSnapshot(); const esClient = ( options: CallWithRequestParams ): Promise> => callCluster('search', options); + const metrics = [ + metric === 'custom' ? (customMetric as SnapshotCustomMetricInput) : { type: metric }, + ]; + const options = { filterQuery: parseFilterQuery(filterQuery), nodeType, groupBy: [], sourceConfiguration, - metrics: [{ type: metric }], + metrics, timerange, includeTimeseries: Boolean(timerange.lookbackSize), }; diff --git a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts index 7b816f2f225b5..db1ff26ee1810 100644 --- a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts +++ b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts @@ -6,6 +6,7 @@ import { first, get, last } from 'lodash'; import { i18n } from '@kbn/i18n'; import moment from 'moment'; +import { getCustomMetricLabel } from '../../../../common/formatters/get_custom_metric_label'; import { toMetricOpt } from '../../../../common/snapshot_metric_i18n'; import { AlertStates, InventoryMetricConditions } from './types'; import { AlertExecutorOptions } from '../../../../../alerts/server'; @@ -77,27 +78,19 @@ export const createInventoryMetricThresholdExecutor = (libs: InfraBackendLibs) = let reason; if (nextState === AlertStates.ALERT) { reason = results - .map((result) => { - if (!result[item]) return ''; - const resultWithVerboseMetricName = { - ...result[item], - metric: toMetricOpt(result[item].metric)?.text || result[item].metric, - currentValue: formatMetric(result[item].metric, result[item].currentValue), - }; - return buildFiredAlertReason(resultWithVerboseMetricName); - }) + .map((result) => buildReasonWithVerboseMetricName(result[item], buildFiredAlertReason)) .join('\n'); } if (alertOnNoData) { if (nextState === AlertStates.NO_DATA) { reason = results .filter((result) => result[item].isNoData) - .map((result) => buildNoDataAlertReason(result[item])) + .map((result) => buildReasonWithVerboseMetricName(result[item], buildNoDataAlertReason)) .join('\n'); } else if (nextState === AlertStates.ERROR) { reason = results .filter((result) => result[item].isError) - .map((result) => buildErrorAlertReason(result[item].metric)) + .map((result) => buildReasonWithVerboseMetricName(result[item], buildErrorAlertReason)) .join('\n'); } } @@ -121,6 +114,20 @@ export const createInventoryMetricThresholdExecutor = (libs: InfraBackendLibs) = } }; +const buildReasonWithVerboseMetricName = (resultItem: any, buildReason: (r: any) => string) => { + if (!resultItem) return ''; + const resultWithVerboseMetricName = { + ...resultItem, + metric: + toMetricOpt(resultItem.metric)?.text || + (resultItem.metric === 'custom' + ? getCustomMetricLabel(resultItem.customMetric) + : resultItem.metric), + currentValue: formatMetric(resultItem.metric, resultItem.currentValue), + }; + return buildReason(resultWithVerboseMetricName); +}; + const mapToConditionsLookup = ( list: any[], mapFn: (value: any, index: number, array: any[]) => unknown @@ -140,10 +147,6 @@ export const FIRED_ACTIONS = { }; const formatMetric = (metric: SnapshotMetricType, value: number) => { - // if (SnapshotCustomMetricInputRT.is(metric)) { - // const formatter = createFormatterForMetric(metric); - // return formatter(val); - // } const metricFormatter = get(METRIC_FORMATTERS, metric, METRIC_FORMATTERS.count); if (value == null) { return ''; diff --git a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/register_inventory_metric_threshold_alert_type.ts b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/register_inventory_metric_threshold_alert_type.ts index f664a59acd165..14d1acf0e4a9f 100644 --- a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/register_inventory_metric_threshold_alert_type.ts +++ b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/register_inventory_metric_threshold_alert_type.ts @@ -27,6 +27,15 @@ const condition = schema.object({ timeUnit: schema.string(), timeSize: schema.number(), metric: schema.string(), + customMetric: schema.maybe( + schema.object({ + type: schema.literal('custom'), + id: schema.string(), + field: schema.string(), + aggregation: schema.string(), + label: schema.maybe(schema.string()), + }) + ), }); export const registerMetricInventoryThresholdAlertType = (libs: InfraBackendLibs) => ({ diff --git a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/types.ts b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/types.ts index 86c77e6d7459a..06f5efaf9eb36 100644 --- a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/types.ts +++ b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/types.ts @@ -4,6 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ import { Unit } from '@elastic/datemath'; +import { SnapshotCustomMetricInput } from '../../../../common/http_api/snapshot_api'; import { SnapshotMetricType } from '../../../../common/inventory_models/types'; import { Comparator, AlertStates } from '../common/types'; @@ -18,4 +19,5 @@ export interface InventoryMetricConditions { sourceId?: string; threshold: number[]; comparator: Comparator; + customMetric?: SnapshotCustomMetricInput; } From 9d7469baa2fb98d3f416acdcef38be1b3a9bfba4 Mon Sep 17 00:00:00 2001 From: Gidi Meir Morris Date: Thu, 20 Aug 2020 21:26:56 +0100 Subject: [PATCH 37/51] [Task Manager] Monitors the Task Manager Poller and automatically recovers from failure (#75420) Introduces a monitor around the Task Manager poller which pips through all values emitted by the poller and recovers from poller failures or stalls. This monitor does the following: 1. Catches the poller thrown errors and recovers by proxying the error to a handler and continues listening to the poller. 2. Reacts to the poller `error` (caused by uncaught errors) and `completion` events, by starting a new poller and piping its event through to any previous subscribers (in our case, Task Manager itself). 3. Tracks the rate at which the poller emits events (this can be both work events, and `No Task` events, so polling and finding no work, still counts as an emitted event) and times out when this rate gets too long (suggesting the poller has hung) and replaces the Poller with a new one. We're not aware of any clear cases where Task Manager should actually get restarted by the monitor - this is definitely an error case and we have addressed all known cases. The goal of introducing this monitor is as an insurance policy in case an unexpected error case breaks the poller in a long running production environment. --- .../task_manager/server/polling/index.ts | 9 + .../server/polling/observable_monitor.test.ts | 170 ++++++++++++++++++ .../server/polling/observable_monitor.ts | 80 +++++++++ .../server/{ => polling}/task_poller.test.ts | 4 +- .../server/{ => polling}/task_poller.ts | 6 +- .../timeout_promise_after.test.ts | 0 .../{lib => polling}/timeout_promise_after.ts | 0 .../task_manager/server/task_manager.ts | 51 ++++-- 8 files changed, 302 insertions(+), 18 deletions(-) create mode 100644 x-pack/plugins/task_manager/server/polling/index.ts create mode 100644 x-pack/plugins/task_manager/server/polling/observable_monitor.test.ts create mode 100644 x-pack/plugins/task_manager/server/polling/observable_monitor.ts rename x-pack/plugins/task_manager/server/{ => polling}/task_poller.test.ts (99%) rename x-pack/plugins/task_manager/server/{ => polling}/task_poller.ts (97%) rename x-pack/plugins/task_manager/server/{lib => polling}/timeout_promise_after.test.ts (100%) rename x-pack/plugins/task_manager/server/{lib => polling}/timeout_promise_after.ts (100%) diff --git a/x-pack/plugins/task_manager/server/polling/index.ts b/x-pack/plugins/task_manager/server/polling/index.ts new file mode 100644 index 0000000000000..5c1f06eaeb256 --- /dev/null +++ b/x-pack/plugins/task_manager/server/polling/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +export { createObservableMonitor } from './observable_monitor'; +export { createTaskPoller, PollingError, PollingErrorType } from './task_poller'; +export { timeoutPromiseAfter } from './timeout_promise_after'; diff --git a/x-pack/plugins/task_manager/server/polling/observable_monitor.test.ts b/x-pack/plugins/task_manager/server/polling/observable_monitor.test.ts new file mode 100644 index 0000000000000..0b7bbdfb623e5 --- /dev/null +++ b/x-pack/plugins/task_manager/server/polling/observable_monitor.test.ts @@ -0,0 +1,170 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { interval, from, Subject } from 'rxjs'; +import { map, concatMap, takeWhile, take } from 'rxjs/operators'; + +import { createObservableMonitor } from './observable_monitor'; +import { times } from 'lodash'; + +describe('Poll Monitor', () => { + test('returns a cold observable so that the monitored Observable is only created on demand', async () => { + const instantiator = jest.fn(() => new Subject()); + + createObservableMonitor(instantiator); + + expect(instantiator).not.toHaveBeenCalled(); + }); + + test('subscribing to the observable instantiates a new observable and pipes its results through', async () => { + const instantiator = jest.fn(() => from([0, 1, 2])); + const monitoredObservable = createObservableMonitor(instantiator); + + expect(instantiator).not.toHaveBeenCalled(); + + return new Promise((resolve) => { + const next = jest.fn(); + monitoredObservable.pipe(take(3)).subscribe({ + next, + complete: () => { + expect(instantiator).toHaveBeenCalled(); + expect(next).toHaveBeenCalledWith(0); + expect(next).toHaveBeenCalledWith(1); + expect(next).toHaveBeenCalledWith(2); + resolve(); + }, + }); + }); + }); + + test('unsubscribing from the monitor prevents the monitor from resubscribing to the observable', async () => { + const heartbeatInterval = 1000; + const instantiator = jest.fn(() => interval(100)); + const monitoredObservable = createObservableMonitor(instantiator, { heartbeatInterval }); + + return new Promise((resolve) => { + const next = jest.fn(); + monitoredObservable.pipe(take(3)).subscribe({ + next, + complete: () => { + expect(instantiator).toHaveBeenCalledTimes(1); + setTimeout(() => { + expect(instantiator).toHaveBeenCalledTimes(1); + resolve(); + }, heartbeatInterval * 2); + }, + }); + }); + }); + + test(`ensures the observable subscription hasn't closed at a fixed interval and reinstantiates if it has`, async () => { + let iteration = 0; + const instantiator = jest.fn(() => { + iteration++; + return interval(100).pipe( + map((index) => `${iteration}:${index}`), + // throw on 3rd value of the first iteration + map((value, index) => { + if (iteration === 1 && index === 3) { + throw new Error('Source threw an error!'); + } + return value; + }) + ); + }); + + const onError = jest.fn(); + const monitoredObservable = createObservableMonitor(instantiator, { onError }); + + return new Promise((resolve) => { + const next = jest.fn(); + const error = jest.fn(); + monitoredObservable + .pipe( + // unsubscribe once we confirm we have successfully recovered from an error in the source + takeWhile(function validateExpectation() { + try { + [...times(3, (index) => `1:${index}`), ...times(5, (index) => `2:${index}`)].forEach( + (expecteArg) => { + expect(next).toHaveBeenCalledWith(expecteArg); + } + ); + return false; + } catch { + return true; + } + }) + ) + .subscribe({ + next, + error, + complete: () => { + expect(error).not.toHaveBeenCalled(); + expect(onError).toHaveBeenCalledWith(new Error('Source threw an error!')); + resolve(); + }, + }); + }); + }); + + test(`ensures the observable subscription hasn't hung at a fixed interval and reinstantiates if it has`, async () => { + let iteration = 0; + const instantiator = jest.fn(() => { + iteration++; + return interval(100).pipe( + map((index) => `${iteration}:${index}`), + // hang on 3rd value of the first iteration + concatMap((value, index) => { + if (iteration === 1 && index === 3) { + return new Promise(() => { + // never resolve or reject, just hang for EVER + }); + } + return Promise.resolve(value); + }) + ); + }); + + const onError = jest.fn(); + const monitoredObservable = createObservableMonitor(instantiator, { + onError, + heartbeatInterval: 100, + inactivityTimeout: 500, + }); + + return new Promise((resolve) => { + const next = jest.fn(); + const error = jest.fn(); + monitoredObservable + .pipe( + // unsubscribe once we confirm we have successfully recovered from an error in the source + takeWhile(function validateExpectation() { + try { + [...times(3, (index) => `1:${index}`), ...times(5, (index) => `2:${index}`)].forEach( + (expecteArg) => { + expect(next).toHaveBeenCalledWith(expecteArg); + } + ); + return false; + } catch { + return true; + } + }) + ) + .subscribe({ + next, + error, + complete: () => { + expect(error).not.toHaveBeenCalled(); + expect(onError).toHaveBeenCalledWith( + new Error(`Observable Monitor: Hung Observable restarted after 500ms of inactivity`) + ); + resolve(); + }, + }); + }); + }); +}); diff --git a/x-pack/plugins/task_manager/server/polling/observable_monitor.ts b/x-pack/plugins/task_manager/server/polling/observable_monitor.ts new file mode 100644 index 0000000000000..7b06117ef59d1 --- /dev/null +++ b/x-pack/plugins/task_manager/server/polling/observable_monitor.ts @@ -0,0 +1,80 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { Subject, Observable, throwError, interval, timer, Subscription } from 'rxjs'; +import { exhaustMap, tap, takeUntil, switchMap, switchMapTo, catchError } from 'rxjs/operators'; +import { noop } from 'lodash'; + +const DEFAULT_HEARTBEAT_INTERVAL = 1000; + +// by default don't monitor inactivity as not all observables are expected +// to emit at any kind of fixed interval +const DEFAULT_INACTIVITY_TIMEOUT = 0; + +export interface ObservableMonitorOptions { + heartbeatInterval?: number; + inactivityTimeout?: number; + onError?: (err: E) => void; +} + +export function createObservableMonitor( + observableFactory: () => Observable, + { + heartbeatInterval = DEFAULT_HEARTBEAT_INTERVAL, + inactivityTimeout = DEFAULT_INACTIVITY_TIMEOUT, + onError = noop, + }: ObservableMonitorOptions = {} +): Observable { + return new Observable((subscriber) => { + const subscription: Subscription = interval(heartbeatInterval) + .pipe( + // switch from the heartbeat interval to the instantiated observable until it completes / errors + exhaustMap(() => takeUntilDurationOfInactivity(observableFactory(), inactivityTimeout)), + // if an error is thrown, catch it, notify and try to recover + catchError((err: E, source$: Observable) => { + onError(err); + // return source, which will allow our observable to recover from this error and + // keep pulling values out of it + return source$; + }) + ) + .subscribe(subscriber); + return () => { + subscription.unsubscribe(); + }; + }); +} + +function takeUntilDurationOfInactivity(source$: Observable, inactivityTimeout: number) { + // if there's a specified maximum duration of inactivity, only take values until that + // duration elapses without any new events + if (inactivityTimeout) { + // an observable which starts a timer every time a new value is passed in, replacing the previous timer + // if the timer goes off without having been reset by a fresh value, it will emit a single event - which will + // notify our monitor that the source has been inactive for too long + const inactivityMonitor$ = new Subject(); + return source$.pipe( + takeUntil( + inactivityMonitor$.pipe( + // on each new emited value, start a new timer, discarding the old one + switchMap(() => timer(inactivityTimeout)), + // every time a timer expires (meaning no new value came in on time to discard it) + // throw an error, forcing the monitor instantiate a new observable + switchMapTo( + throwError( + new Error( + `Observable Monitor: Hung Observable restarted after ${inactivityTimeout}ms of inactivity` + ) + ) + ) + ) + ), + // poke `inactivityMonitor$` so it restarts the timer + tap(() => inactivityMonitor$.next()) + ); + } + return source$; +} diff --git a/x-pack/plugins/task_manager/server/task_poller.test.ts b/x-pack/plugins/task_manager/server/polling/task_poller.test.ts similarity index 99% rename from x-pack/plugins/task_manager/server/task_poller.test.ts rename to x-pack/plugins/task_manager/server/polling/task_poller.test.ts index 98e6d0f9388a4..607e2ac2b80fa 100644 --- a/x-pack/plugins/task_manager/server/task_poller.test.ts +++ b/x-pack/plugins/task_manager/server/polling/task_poller.test.ts @@ -9,8 +9,8 @@ import { Subject } from 'rxjs'; import { Option, none, some } from 'fp-ts/lib/Option'; import { createTaskPoller, PollingError, PollingErrorType } from './task_poller'; import { fakeSchedulers } from 'rxjs-marbles/jest'; -import { sleep, resolvable, Resolvable } from './test_utils'; -import { asOk, asErr } from './lib/result_type'; +import { sleep, resolvable, Resolvable } from '../test_utils'; +import { asOk, asErr } from '../lib/result_type'; describe('TaskPoller', () => { beforeEach(() => jest.useFakeTimers()); diff --git a/x-pack/plugins/task_manager/server/task_poller.ts b/x-pack/plugins/task_manager/server/polling/task_poller.ts similarity index 97% rename from x-pack/plugins/task_manager/server/task_poller.ts rename to x-pack/plugins/task_manager/server/polling/task_poller.ts index 88511f42f96fb..a1435ffafe8f8 100644 --- a/x-pack/plugins/task_manager/server/task_poller.ts +++ b/x-pack/plugins/task_manager/server/polling/task_poller.ts @@ -15,7 +15,7 @@ import { mapTo, filter, scan, concatMap, tap, catchError } from 'rxjs/operators' import { pipe } from 'fp-ts/lib/pipeable'; import { Option, none, map as mapOptional, getOrElse } from 'fp-ts/lib/Option'; -import { pullFromSet } from './lib/pull_from_set'; +import { pullFromSet } from '../lib/pull_from_set'; import { Result, Err, @@ -24,8 +24,8 @@ import { asOk, asErr, promiseResult, -} from './lib/result_type'; -import { timeoutPromiseAfter } from './lib/timeout_promise_after'; +} from '../lib/result_type'; +import { timeoutPromiseAfter } from './timeout_promise_after'; type WorkFn = (...params: T[]) => Promise; diff --git a/x-pack/plugins/task_manager/server/lib/timeout_promise_after.test.ts b/x-pack/plugins/task_manager/server/polling/timeout_promise_after.test.ts similarity index 100% rename from x-pack/plugins/task_manager/server/lib/timeout_promise_after.test.ts rename to x-pack/plugins/task_manager/server/polling/timeout_promise_after.test.ts diff --git a/x-pack/plugins/task_manager/server/lib/timeout_promise_after.ts b/x-pack/plugins/task_manager/server/polling/timeout_promise_after.ts similarity index 100% rename from x-pack/plugins/task_manager/server/lib/timeout_promise_after.ts rename to x-pack/plugins/task_manager/server/polling/timeout_promise_after.ts diff --git a/x-pack/plugins/task_manager/server/task_manager.ts b/x-pack/plugins/task_manager/server/task_manager.ts index 2c812f0da516d..fb2d5e07030a4 100644 --- a/x-pack/plugins/task_manager/server/task_manager.ts +++ b/x-pack/plugins/task_manager/server/task_manager.ts @@ -46,7 +46,12 @@ import { TaskStatus, ElasticJs, } from './task'; -import { createTaskPoller, PollingError, PollingErrorType } from './task_poller'; +import { + createTaskPoller, + PollingError, + PollingErrorType, + createObservableMonitor, +} from './polling'; import { TaskPool } from './task_pool'; import { TaskManagerRunner, TaskRunner } from './task_runner'; import { @@ -154,18 +159,38 @@ export class TaskManager { maxWorkers: opts.config.max_workers, }); - this.poller$ = createTaskPoller({ - pollInterval: opts.config.poll_interval, - bufferCapacity: opts.config.request_capacity, - getCapacity: () => this.pool.availableWorkers, - pollRequests$: this.claimRequests$, - work: this.pollForWork, - // Time out the `work` phase if it takes longer than a certain number of polling cycles - // The `work` phase includes the prework needed *before* executing a task - // (such as polling for new work, marking tasks as running etc.) but does not - // include the time of actually running the task - workTimeout: opts.config.poll_interval * opts.config.max_poll_inactivity_cycles, - }); + const { + max_poll_inactivity_cycles: maxPollInactivityCycles, + poll_interval: pollInterval, + } = opts.config; + this.poller$ = createObservableMonitor>, Error>( + () => + createTaskPoller({ + pollInterval, + bufferCapacity: opts.config.request_capacity, + getCapacity: () => this.pool.availableWorkers, + pollRequests$: this.claimRequests$, + work: this.pollForWork, + // Time out the `work` phase if it takes longer than a certain number of polling cycles + // The `work` phase includes the prework needed *before* executing a task + // (such as polling for new work, marking tasks as running etc.) but does not + // include the time of actually running the task + workTimeout: pollInterval * maxPollInactivityCycles, + }), + { + heartbeatInterval: pollInterval, + // Time out the poller itself if it has failed to complete the entire stream for a certain amount of time. + // This is different that the `work` timeout above, as the poller could enter an invalid state where + // it fails to complete a cycle even thought `work` is completing quickly. + // We grant it a single cycle longer than the time alotted to `work` so that timing out the `work` + // doesn't get short circuited by the monitor reinstantiating the poller all together (a far more expensive + // operation than just timing out the `work` internally) + inactivityTimeout: pollInterval * (maxPollInactivityCycles + 1), + onError: (error) => { + this.logger.error(`[Task Poller Monitor]: ${error.message}`); + }, + } + ); } private emitEvent = (event: TaskLifecycleEvent) => { From 31f1a8308a73365a97267bfe463955707895030e Mon Sep 17 00:00:00 2001 From: Jen Huang Date: Thu, 20 Aug 2020 15:29:56 -0700 Subject: [PATCH 38/51] [Ingest Manager] Add namespace validation (#75381) * Add namespace validation on APIs and UI * Add test coverage * Fix imports * Fix schema * Rename to policy * Fix typo --- .../ingest_manager/common/services/index.ts | 1 + .../services/is_valid_namespace.test.ts | 28 +++++++++++++++++++ .../common/services/is_valid_namespace.ts | 17 +++++++++++ .../components/agent_policy_form.tsx | 8 ++++++ .../services/validate_package_policy.ts | 8 +++++- .../ingest_manager/services/index.ts | 1 + .../server/types/models/agent_policy.ts | 4 +-- .../server/types/models/package_policy.ts | 12 +++++++- .../apis/agent_policy/agent_policy.ts | 13 ++++++++- .../apis/package_policy/create.ts | 27 +++++++++++++++++- 10 files changed, 113 insertions(+), 6 deletions(-) create mode 100644 x-pack/plugins/ingest_manager/common/services/is_valid_namespace.test.ts create mode 100644 x-pack/plugins/ingest_manager/common/services/is_valid_namespace.ts diff --git a/x-pack/plugins/ingest_manager/common/services/index.ts b/x-pack/plugins/ingest_manager/common/services/index.ts index 28fd15b5ea700..ad739bf9ff844 100644 --- a/x-pack/plugins/ingest_manager/common/services/index.ts +++ b/x-pack/plugins/ingest_manager/common/services/index.ts @@ -10,3 +10,4 @@ export { storedPackagePoliciesToAgentInputs } from './package_policies_to_agent_ export { fullAgentPolicyToYaml } from './full_agent_policy_to_yaml'; export { isPackageLimited, doesAgentPolicyAlreadyIncludePackage } from './limited_package'; export { decodeCloudId } from './decode_cloud_id'; +export { isValidNamespace } from './is_valid_namespace'; diff --git a/x-pack/plugins/ingest_manager/common/services/is_valid_namespace.test.ts b/x-pack/plugins/ingest_manager/common/services/is_valid_namespace.test.ts new file mode 100644 index 0000000000000..40f37cc456f94 --- /dev/null +++ b/x-pack/plugins/ingest_manager/common/services/is_valid_namespace.test.ts @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ +import { isValidNamespace } from './is_valid_namespace'; + +describe('Ingest Manager - isValidNamespace', () => { + it('returns true for valid namespaces', () => { + expect(isValidNamespace('default')).toBe(true); + expect(isValidNamespace('namespace-with-dash')).toBe(true); + expect(isValidNamespace('123')).toBe(true); + }); + + it('returns false for invalid namespaces', () => { + expect(isValidNamespace('Default')).toBe(false); + expect(isValidNamespace('namespace with spaces')).toBe(false); + expect(isValidNamespace('foo/bar')).toBe(false); + expect(isValidNamespace('foo\\bar')).toBe(false); + expect(isValidNamespace('foo*bar')).toBe(false); + expect(isValidNamespace('foo?bar')).toBe(false); + expect(isValidNamespace('foo"bar')).toBe(false); + expect(isValidNamespace('foo, |, space character, comma, #, : + /^[^\*\\/\?"<>|\s,#:]+$/.test(namespace) + ); +} diff --git a/x-pack/plugins/ingest_manager/public/applications/ingest_manager/sections/agent_policy/components/agent_policy_form.tsx b/x-pack/plugins/ingest_manager/public/applications/ingest_manager/sections/agent_policy/components/agent_policy_form.tsx index a858a53c485b7..b216270aa08f0 100644 --- a/x-pack/plugins/ingest_manager/public/applications/ingest_manager/sections/agent_policy/components/agent_policy_form.tsx +++ b/x-pack/plugins/ingest_manager/public/applications/ingest_manager/sections/agent_policy/components/agent_policy_form.tsx @@ -24,6 +24,7 @@ import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; import styled from 'styled-components'; import { NewAgentPolicy, AgentPolicy } from '../../../types'; +import { isValidNamespace } from '../../../services'; import { AgentPolicyDeleteProvider } from './agent_policy_delete_provider'; interface ValidationResults { @@ -57,6 +58,13 @@ export const agentPolicyFormValidation = ( defaultMessage="A namespace is required" />, ]; + } else if (!isValidNamespace(agentPolicy.namespace)) { + errors.namespace = [ + , + ]; } return errors; diff --git a/x-pack/plugins/ingest_manager/public/applications/ingest_manager/sections/agent_policy/create_package_policy_page/services/validate_package_policy.ts b/x-pack/plugins/ingest_manager/public/applications/ingest_manager/sections/agent_policy/create_package_policy_page/services/validate_package_policy.ts index f375352c5a055..2714f1fe2e6e5 100644 --- a/x-pack/plugins/ingest_manager/public/applications/ingest_manager/sections/agent_policy/create_package_policy_page/services/validate_package_policy.ts +++ b/x-pack/plugins/ingest_manager/public/applications/ingest_manager/sections/agent_policy/create_package_policy_page/services/validate_package_policy.ts @@ -5,7 +5,7 @@ */ import { i18n } from '@kbn/i18n'; import { safeLoad } from 'js-yaml'; -import { getFlattenedObject } from '../../../../services'; +import { getFlattenedObject, isValidNamespace } from '../../../../services'; import { NewPackagePolicy, PackagePolicyInput, @@ -65,6 +65,12 @@ export const validatePackagePolicy = ( defaultMessage: 'Namespace is required', }), ]; + } else if (!isValidNamespace(packagePolicy.namespace)) { + validationResults.namespace = [ + i18n.translate('xpack.ingestManager.packagePolicyValidation.namespaceInvalidErrorMessage', { + defaultMessage: 'Namespace contains invalid characters', + }), + ]; } if ( diff --git a/x-pack/plugins/ingest_manager/public/applications/ingest_manager/services/index.ts b/x-pack/plugins/ingest_manager/public/applications/ingest_manager/services/index.ts index 7d426c11c0aab..56179b02c5ba2 100644 --- a/x-pack/plugins/ingest_manager/public/applications/ingest_manager/services/index.ts +++ b/x-pack/plugins/ingest_manager/public/applications/ingest_manager/services/index.ts @@ -24,4 +24,5 @@ export { fullAgentPolicyToYaml, isPackageLimited, doesAgentPolicyAlreadyIncludePackage, + isValidNamespace, } from '../../../../common'; diff --git a/x-pack/plugins/ingest_manager/server/types/models/agent_policy.ts b/x-pack/plugins/ingest_manager/server/types/models/agent_policy.ts index 877d8e9e91714..5fff9247d78d9 100644 --- a/x-pack/plugins/ingest_manager/server/types/models/agent_policy.ts +++ b/x-pack/plugins/ingest_manager/server/types/models/agent_policy.ts @@ -4,12 +4,12 @@ * you may not use this file except in compliance with the Elastic License. */ import { schema } from '@kbn/config-schema'; -import { PackagePolicySchema } from './package_policy'; +import { PackagePolicySchema, NamespaceSchema } from './package_policy'; import { AgentPolicyStatus } from '../../../common'; const AgentPolicyBaseSchema = { name: schema.string({ minLength: 1 }), - namespace: schema.string({ minLength: 1 }), + namespace: NamespaceSchema, description: schema.maybe(schema.string()), monitoring_enabled: schema.maybe( schema.arrayOf(schema.oneOf([schema.literal('logs'), schema.literal('metrics')])) diff --git a/x-pack/plugins/ingest_manager/server/types/models/package_policy.ts b/x-pack/plugins/ingest_manager/server/types/models/package_policy.ts index 81bfb599b4c9a..c23918210114e 100644 --- a/x-pack/plugins/ingest_manager/server/types/models/package_policy.ts +++ b/x-pack/plugins/ingest_manager/server/types/models/package_policy.ts @@ -4,6 +4,16 @@ * you may not use this file except in compliance with the Elastic License. */ import { schema } from '@kbn/config-schema'; +import { isValidNamespace } from '../../../common'; + +export const NamespaceSchema = schema.string({ + minLength: 1, + validate: (value) => { + if (!isValidNamespace(value)) { + return 'Namespace contains invalid characters'; + } + }, +}); const ConfigRecordSchema = schema.recordOf( schema.string(), @@ -16,7 +26,7 @@ const ConfigRecordSchema = schema.recordOf( const PackagePolicyBaseSchema = { name: schema.string(), description: schema.maybe(schema.string()), - namespace: schema.string({ minLength: 1 }), + namespace: NamespaceSchema, policy_id: schema.string(), enabled: schema.boolean(), package: schema.maybe( diff --git a/x-pack/test/ingest_manager_api_integration/apis/agent_policy/agent_policy.ts b/x-pack/test/ingest_manager_api_integration/apis/agent_policy/agent_policy.ts index 5253b19b24d65..b55da0798c5f0 100644 --- a/x-pack/test/ingest_manager_api_integration/apis/agent_policy/agent_policy.ts +++ b/x-pack/test/ingest_manager_api_integration/apis/agent_policy/agent_policy.ts @@ -26,7 +26,7 @@ export default function ({ getService }: FtrProviderContext) { expect(apiResponse.success).to.be(true); }); - it('should return a 400 with an invalid namespace', async () => { + it('should return a 400 with an empty namespace', async () => { await supertest .post(`/api/ingest_manager/agent_policies`) .set('kbn-xsrf', 'xxxx') @@ -36,6 +36,17 @@ export default function ({ getService }: FtrProviderContext) { }) .expect(400); }); + + it('should return a 400 with an invalid namespace', async () => { + await supertest + .post(`/api/ingest_manager/agent_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'TEST', + namespace: 'InvalidNamespace', + }) + .expect(400); + }); }); describe('POST /api/ingest_manager/agent_policies/{agentPolicyId}/copy', () => { diff --git a/x-pack/test/ingest_manager_api_integration/apis/package_policy/create.ts b/x-pack/test/ingest_manager_api_integration/apis/package_policy/create.ts index 2043faa07b1e1..c88f03de59615 100644 --- a/x-pack/test/ingest_manager_api_integration/apis/package_policy/create.ts +++ b/x-pack/test/ingest_manager_api_integration/apis/package_policy/create.ts @@ -59,7 +59,7 @@ export default function ({ getService }: FtrProviderContext) { } }); - it('should return a 400 with an invalid namespace', async function () { + it('should return a 400 with an empty namespace', async function () { if (server.enabled) { await supertest .post(`/api/ingest_manager/package_policies`) @@ -84,6 +84,31 @@ export default function ({ getService }: FtrProviderContext) { } }); + it('should return a 400 with an invalid namespace', async function () { + if (server.enabled) { + await supertest + .post(`/api/ingest_manager/package_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'filetest-1', + description: '', + namespace: 'InvalidNamespace', + policy_id: agentPolicyId, + enabled: true, + output_id: '', + inputs: [], + package: { + name: 'filetest', + title: 'For File Tests', + version: '0.1.0', + }, + }) + .expect(400); + } else { + warnAndSkipTest(this, log); + } + }); + it('should not allow multiple limited packages on the same agent policy', async function () { if (server.enabled) { await supertest From 4ac998ff5fea243f0b32edadb54a363bc730c3ba Mon Sep 17 00:00:00 2001 From: Quynh Nguyen <43350163+qn895@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:14:58 -0500 Subject: [PATCH 39/51] [ML] Update broken job config callout error (#75481) Co-authored-by: Elastic Machine --- .../job_config_error_callout.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/job_config_error_callout/job_config_error_callout.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/job_config_error_callout/job_config_error_callout.tsx index 9b9e1258db503..959f2d18d99fe 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/job_config_error_callout/job_config_error_callout.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/job_config_error_callout/job_config_error_callout.tsx @@ -4,13 +4,14 @@ * you may not use this file except in compliance with the Elastic License. */ -import React, { FC } from 'react'; +import React, { FC, useMemo } from 'react'; import { EuiCallOut, EuiLink, EuiPanel, EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { ExplorationTitle } from '../exploration_title'; +import { useMlKibana } from '../../../../../contexts/kibana'; const jobConfigErrorTitle = i18n.translate('xpack.ml.dataframe.analytics.jobConfig.errorTitle', { defaultMessage: 'Unable to fetch results. An error occurred loading the job configuration data.', @@ -31,6 +32,11 @@ export const JobConfigErrorCallout: FC = ({ jobConfigErrorMessage, title, }) => { + const { + services: { + application: { getUrlForApp }, + }, + } = useMlKibana(); const containsIndexPatternLink = typeof jobCapsServiceErrorMessage === 'string' && jobCapsServiceErrorMessage.includes('locate that index-pattern') && @@ -39,9 +45,16 @@ export const JobConfigErrorCallout: FC = ({ const message = (

{jobConfigErrorMessage ? jobConfigErrorMessage : jobCapsServiceErrorMessage}

); + const newIndexPatternUrl = useMemo( + () => + getUrlForApp('management', { + path: 'kibana/indexPatterns', + }), + [] + ); const calloutBody = containsIndexPatternLink ? ( - + {message} ) : ( From d47337be79bb3b4645beda1ef741a3971b3e2105 Mon Sep 17 00:00:00 2001 From: Spencer Date: Thu, 20 Aug 2020 18:50:36 -0700 Subject: [PATCH 40/51] [kbn/plugin-generator] remove sao, modernize (#75465) Co-authored-by: spalger --- .eslintignore | 2 +- .eslintrc.js | 1 - packages/kbn-plugin-generator/README.md | 10 +- packages/kbn-plugin-generator/index.js | 69 - .../integration_tests/generate_plugin.test.js | 62 - packages/kbn-plugin-generator/package.json | 26 +- .../kbn-plugin-generator/sao_template/sao.js | 189 - .../sao_template/sao.test.js | 159 - .../sao_template/template/eslintrc.js | 9 - .../sao_template/template/i18nrc.json | 10 - .../template/public/application.tsx | 25 - .../sao_template/template/public/index.ts | 16 - .../sao_template/template/public/types.ts | 11 - .../sao_template/template/server/index.ts | 15 - .../sao_template/template/server/plugin.ts | 30 - .../template/translations/ja-JP.json | 82 - .../kbn-plugin-generator/scripts/build.js | 43 + .../kbn-plugin-generator/src/ask_questions.ts | 103 + .../kbn-plugin-generator/src/casing.test.ts | 68 + packages/kbn-plugin-generator/src/casing.ts | 32 + packages/kbn-plugin-generator/src/cli.ts | 98 + .../{index.js.d.ts => src/index.ts} | 8 +- .../integration_tests/generate_plugin.test.ts | 143 + .../src/render_template.ts | 127 + packages/kbn-plugin-generator/src/streams.ts | 73 + .../template/.eslintrc.js.ejs | 10 + .../kbn-plugin-generator/template/.gitignore | 2 + .../template/.i18nrc.json.ejs | 9 + .../README.md => template/README.md.ejs} | 4 +- .../index.ts => template/common/index.ts.ejs} | 0 .../kibana.json => template/kibana.json.ejs} | 3 +- .../template/package.json.ejs | 8 + .../template/public/application.tsx.ejs | 24 + .../public/components/app.tsx.ejs} | 58 +- .../template/public/index.scss | 0 .../template/public/index.ts.ejs | 14 + .../public/plugin.ts.ejs} | 14 +- .../template/public/types.ts.ejs | 11 + .../template/server/index.ts.ejs | 15 + .../template/server/plugin.ts.ejs | 40 + .../server/routes/index.ts.ejs} | 3 +- .../types.ts => template/server/types.ts.ejs} | 4 +- .../template/translations/ja-JP.json.ejs | 81 + .../tsconfig.json.ejs} | 0 packages/kbn-plugin-generator/tsconfig.json | 11 +- packages/kbn-pm/dist/index.js | 46141 ++++++++-------- scripts/generate_plugin.js | 4 +- src/dev/file.ts | 8 +- .../tasks/extract_untracked_translations.ts | 2 +- src/dev/precommit_hook/casing_check_config.js | 8 + src/dev/precommit_hook/check_file_casing.js | 5 + yarn.lock | 653 +- 52 files changed, 24071 insertions(+), 24472 deletions(-) delete mode 100644 packages/kbn-plugin-generator/index.js delete mode 100644 packages/kbn-plugin-generator/integration_tests/generate_plugin.test.js delete mode 100755 packages/kbn-plugin-generator/sao_template/sao.js delete mode 100755 packages/kbn-plugin-generator/sao_template/sao.test.js delete mode 100644 packages/kbn-plugin-generator/sao_template/template/eslintrc.js delete mode 100644 packages/kbn-plugin-generator/sao_template/template/i18nrc.json delete mode 100644 packages/kbn-plugin-generator/sao_template/template/public/application.tsx delete mode 100644 packages/kbn-plugin-generator/sao_template/template/public/index.ts delete mode 100644 packages/kbn-plugin-generator/sao_template/template/public/types.ts delete mode 100644 packages/kbn-plugin-generator/sao_template/template/server/index.ts delete mode 100644 packages/kbn-plugin-generator/sao_template/template/server/plugin.ts delete mode 100644 packages/kbn-plugin-generator/sao_template/template/translations/ja-JP.json create mode 100644 packages/kbn-plugin-generator/scripts/build.js create mode 100644 packages/kbn-plugin-generator/src/ask_questions.ts create mode 100644 packages/kbn-plugin-generator/src/casing.test.ts create mode 100644 packages/kbn-plugin-generator/src/casing.ts create mode 100644 packages/kbn-plugin-generator/src/cli.ts rename packages/kbn-plugin-generator/{index.js.d.ts => src/index.ts} (88%) create mode 100644 packages/kbn-plugin-generator/src/integration_tests/generate_plugin.test.ts create mode 100644 packages/kbn-plugin-generator/src/render_template.ts create mode 100644 packages/kbn-plugin-generator/src/streams.ts create mode 100644 packages/kbn-plugin-generator/template/.eslintrc.js.ejs create mode 100644 packages/kbn-plugin-generator/template/.gitignore create mode 100644 packages/kbn-plugin-generator/template/.i18nrc.json.ejs rename packages/kbn-plugin-generator/{sao_template/template/README.md => template/README.md.ejs} (66%) rename packages/kbn-plugin-generator/{sao_template/template/common/index.ts => template/common/index.ts.ejs} (100%) rename packages/kbn-plugin-generator/{sao_template/template/kibana.json => template/kibana.json.ejs} (74%) create mode 100644 packages/kbn-plugin-generator/template/package.json.ejs create mode 100644 packages/kbn-plugin-generator/template/public/application.tsx.ejs rename packages/kbn-plugin-generator/{sao_template/template/public/components/app.tsx => template/public/components/app.tsx.ejs} (62%) rename packages/kbn-plugin-generator/{sao_template => }/template/public/index.scss (100%) create mode 100644 packages/kbn-plugin-generator/template/public/index.ts.ejs rename packages/kbn-plugin-generator/{sao_template/template/public/plugin.ts => template/public/plugin.ts.ejs} (68%) create mode 100644 packages/kbn-plugin-generator/template/public/types.ts.ejs create mode 100644 packages/kbn-plugin-generator/template/server/index.ts.ejs create mode 100644 packages/kbn-plugin-generator/template/server/plugin.ts.ejs rename packages/kbn-plugin-generator/{sao_template/template/server/routes/index.ts => template/server/routes/index.ts.ejs} (81%) rename packages/kbn-plugin-generator/{sao_template/template/server/types.ts => template/server/types.ts.ejs} (52%) create mode 100644 packages/kbn-plugin-generator/template/translations/ja-JP.json.ejs rename packages/kbn-plugin-generator/{sao_template/template/tsconfig.json => template/tsconfig.json.ejs} (100%) diff --git a/.eslintignore b/.eslintignore index 2b291e1c19714..972c818d791bf 100644 --- a/.eslintignore +++ b/.eslintignore @@ -41,7 +41,7 @@ target # package overrides /packages/eslint-config-kibana /packages/kbn-interpreter/src/common/lib/grammar.js -/packages/kbn-plugin-generator/sao_template/template +/packages/kbn-plugin-generator/template /packages/kbn-pm/dist /packages/kbn-test/src/functional_test_runner/__tests__/fixtures/ /packages/kbn-test/src/functional_test_runner/lib/config/__tests__/fixtures/ diff --git a/.eslintrc.js b/.eslintrc.js index 5cd9809242bba..8c2a46f80a3a8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -604,7 +604,6 @@ module.exports = { { files: [ '.eslintrc.js', - 'packages/kbn-plugin-generator/**/*.js', 'packages/kbn-eslint-import-resolver-kibana/**/*.js', 'packages/kbn-eslint-plugin-eslint/**/*', 'x-pack/gulpfile.js', diff --git a/packages/kbn-plugin-generator/README.md b/packages/kbn-plugin-generator/README.md index 6ad665f9b87f8..9ff9a8aa95ca2 100644 --- a/packages/kbn-plugin-generator/README.md +++ b/packages/kbn-plugin-generator/README.md @@ -17,17 +17,17 @@ If you are targeting **Kibana 6.3 or greater** then checkout the corresponding K To target the current development version of Kibana just use the default `master` branch. ```sh -node scripts/generate_plugin my_plugin_name +node scripts/generate_plugin --name my_plugin_name -y # generates a plugin in `plugins/my_plugin_name` ``` -To target 6.3, use the `6.x` branch (until the `6.3` branch is created). +To target 6.8, use the `6.8` branch. ```sh git checkout 6.x yarn kbn bootstrap # always bootstrap when switching branches -node scripts/generate_plugin my_plugin_name -# generates a plugin for Kibana 6.3 in `../kibana-extra/my_plugin_name` +node scripts/generate_plugin --name my_plugin_name -y +# generates a plugin for Kibana 6.8 in `../kibana-extra/my_plugin_name` ``` The generate script supports a few flags; run it with the `--help` flag to learn more. @@ -49,7 +49,7 @@ yarn kbn bootstrap ## Plugin Development Scripts -Generated plugins receive a handful of scripts that can be used during development. Those scripts are detailed in the [README.md](sao_template/template/README.md) file in each newly generated plugin, and expose the scripts provided by the [Kibana plugin helpers](../kbn-plugin-helpers), but here is a quick reference in case you need it: +Generated plugins receive a handful of scripts that can be used during development. Those scripts are detailed in the [README.md](template/README.md) file in each newly generated plugin, and expose the scripts provided by the [Kibana plugin helpers](../kbn-plugin-helpers), but here is a quick reference in case you need it: > ***NOTE:*** All of these scripts should be run from the generated plugin. diff --git a/packages/kbn-plugin-generator/index.js b/packages/kbn-plugin-generator/index.js deleted file mode 100644 index 398b49fa1ecd5..0000000000000 --- a/packages/kbn-plugin-generator/index.js +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -const { resolve } = require('path'); - -const dedent = require('dedent'); -const sao = require('sao'); -const chalk = require('chalk'); -const getopts = require('getopts'); -const { snakeCase } = require('lodash'); - -exports.run = function run(argv) { - const options = getopts(argv, { - alias: { - h: 'help', - i: 'internal', - }, - }); - - if (!options.help && options._.length !== 1) { - console.log(chalk`{red {bold [name]} is a required argument}\n`); - options.help = true; - } - - if (options.help) { - console.log( - dedent(chalk` - # {dim Usage:} - node scripts/generate-plugin {bold [name]} - Generate a fresh Kibana plugin in the plugins/ directory - `) + '\n' - ); - process.exit(1); - } - - const name = options._[0]; - const template = resolve(__dirname, './sao_template'); - const kibanaPlugins = resolve(process.cwd(), 'plugins'); - const targetPath = resolve(kibanaPlugins, snakeCase(name)); - - sao({ - template: template, - targetPath: targetPath, - configOptions: { - name, - targetPath, - }, - }).catch((error) => { - console.error(chalk`{red fatal error}!`); - console.error(error.stack); - process.exit(1); - }); -}; diff --git a/packages/kbn-plugin-generator/integration_tests/generate_plugin.test.js b/packages/kbn-plugin-generator/integration_tests/generate_plugin.test.js deleted file mode 100644 index f434d09c6bf81..0000000000000 --- a/packages/kbn-plugin-generator/integration_tests/generate_plugin.test.js +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { spawn } from 'child_process'; -import Fs from 'fs'; -import { resolve } from 'path'; -import { promisify } from 'util'; - -import del from 'del'; -import { snakeCase } from 'lodash'; - -const statAsync = promisify(Fs.stat); -const ROOT_DIR = resolve(__dirname, '../../../'); - -const pluginName = 'ispec-plugin'; -const snakeCased = snakeCase(pluginName); -const generatedPath = resolve(ROOT_DIR, `plugins/${snakeCased}`); - -beforeAll(async () => { - await del(generatedPath, { force: true }); -}); - -afterAll(async () => { - await del(generatedPath, { force: true }); -}); - -it('generates a plugin', async () => { - await new Promise((resolve, reject) => { - const proc = spawn(process.execPath, ['scripts/generate_plugin.js', pluginName], { - cwd: ROOT_DIR, - stdio: 'pipe', - }); - - proc.stdout.on('data', function selectDefaults() { - proc.stdin.write('\n'); // Generate a plugin with default options. - }); - - proc.on('close', resolve); - proc.on('error', reject); - }); - - const stats = await statAsync(generatedPath); - if (!stats.isDirectory()) { - throw new Error(`Expected [${generatedPath}] to be a directory`); - } -}); diff --git a/packages/kbn-plugin-generator/package.json b/packages/kbn-plugin-generator/package.json index 0803e498279f3..89e4251bd7802 100644 --- a/packages/kbn-plugin-generator/package.json +++ b/packages/kbn-plugin-generator/package.json @@ -1,14 +1,26 @@ { "name": "@kbn/plugin-generator", - "license": "Apache-2.0", - "private": true, "version": "1.0.0", + "private": true, + "license": "Apache-2.0", + "main": "target/index.js", + "scripts": { + "kbn:bootstrap": "node scripts/build", + "kbn:watch": "node scripts/build --watch" + }, "dependencies": { - "chalk": "^4.1.0", - "dedent": "^0.7.0", + "@kbn/dev-utils": "1.0.0", + "ejs": "^3.1.5", "execa": "^4.0.2", - "getopts": "^2.2.4", - "lodash": "^4.17.15", - "sao": "^0.22.12" + "inquirer": "^7.3.3", + "normalize-path": "^3.0.0", + "prettier": "^2.0.5", + "vinyl": "^2.2.0", + "vinyl-fs": "^3.0.3" + }, + "devDependencies": { + "@types/ejs": "^3.0.4", + "@types/prettier": "^2.0.2", + "@types/inquirer": "^7.3.1" } } diff --git a/packages/kbn-plugin-generator/sao_template/sao.js b/packages/kbn-plugin-generator/sao_template/sao.js deleted file mode 100755 index e5f81a984ee93..0000000000000 --- a/packages/kbn-plugin-generator/sao_template/sao.js +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -const { relative, resolve } = require('path'); -const fs = require('fs'); - -const { camelCase, startCase, snakeCase } = require('lodash'); -const chalk = require('chalk'); -const execa = require('execa'); - -const pkg = require('../package.json'); -const kibanaPkgPath = require.resolve('../../../package.json'); -const kibanaPkg = require(kibanaPkgPath); // eslint-disable-line import/no-dynamic-require - -async function gitInit(dir) { - // Only plugins in /plugins get git init - try { - await execa('git', ['init', dir]); - console.log(`Git repo initialized in ${dir}`); - } catch (error) { - console.error(error); - throw new Error(`Failure to git init ${dir}: ${error.all || error}`); - } -} - -async function moveToCustomFolder(from, to) { - try { - await execa('mv', [from, to]); - } catch (error) { - console.error(error); - throw new Error(`Failure to move plugin to ${to}: ${error.all || error}`); - } -} - -async function eslintPlugin(dir) { - try { - await execa('yarn', ['lint:es', `./${dir}/**/*.ts*`, '--no-ignore', '--fix']); - } catch (error) { - console.error(error); - throw new Error(`Failure when running prettier on the generated output: ${error.all || error}`); - } -} - -module.exports = function ({ name, targetPath }) { - return { - prompts: { - customPath: { - message: 'Would you like to create the plugin in a different folder?', - default: '/plugins', - filter(value) { - // Keep default value empty - if (value === '/plugins') return ''; - // Remove leading slash - return value.startsWith('/') ? value.slice(1) : value; - }, - validate(customPath) { - const p = resolve(process.cwd(), customPath); - const exists = fs.existsSync(p); - if (!exists) - return `Folder should exist relative to the kibana root folder. Consider /src/plugins or /x-pack/plugins.`; - return true; - }, - }, - description: { - message: 'Provide a short description', - default: 'An awesome Kibana plugin', - }, - kbnVersion: { - message: 'What Kibana version are you targeting?', - default: kibanaPkg.version, - }, - generateApp: { - type: 'confirm', - message: 'Should an app component be generated?', - default: true, - }, - generateApi: { - type: 'confirm', - message: 'Should a server API be generated?', - default: true, - }, - generateTranslations: { - type: 'confirm', - when: (answers) => { - // only for 3rd party plugins - return !answers.customPath && answers.generateApp; - }, - message: 'Should translation files be generated?', - default({ customPath }) { - // only for 3rd party plugins - return !customPath; - }, - }, - generateScss: { - type: 'confirm', - message: 'Should SCSS be used?', - when: (answers) => answers.generateApp, - default: true, - }, - generateEslint: { - type: 'confirm', - message: 'Would you like to use a custom eslint file?', - default({ customPath }) { - return !customPath; - }, - }, - generateTsconfig: { - type: 'confirm', - message: 'Would you like to use a custom tsconfig file?', - default: true, - }, - }, - filters: { - 'public/**/index.scss': 'generateScss', - 'public/**/*': 'generateApp', - 'server/**/*': 'generateApi', - 'translations/**/*': 'generateTranslations', - 'i18nrc.json': 'generateTranslations', - 'eslintrc.js': 'generateEslint', - 'tsconfig.json': 'generateTsconfig', - }, - move: { - 'eslintrc.js': '.eslintrc.js', - 'i18nrc.json': '.i18nrc.json', - }, - data: (answers) => { - const pathToPlugin = answers.customPath - ? resolve(answers.customPath, camelCase(name), 'public') - : resolve(targetPath, 'public'); - return Object.assign( - { - templateVersion: pkg.version, - startCase, - camelCase, - snakeCase, - name, - // kibana plugins are placed in a the non default path - isKibanaPlugin: !answers.customPath, - kbnVersion: answers.kbnVersion, - upperCamelCaseName: name.charAt(0).toUpperCase() + camelCase(name).slice(1), - hasUi: !!answers.generateApp, - hasServer: !!answers.generateApi, - hasScss: !!answers.generateScss, - relRoot: relative(pathToPlugin, process.cwd()), - }, - answers - ); - }, - enforceNewFolder: true, - installDependencies: false, - async post({ log, answers }) { - let dir = relative(process.cwd(), targetPath); - if (answers.customPath) { - // Move to custom path - moveToCustomFolder(targetPath, answers.customPath); - dir = relative(process.cwd(), resolve(answers.customPath, snakeCase(name))); - } else { - // Init git only in the default path - await gitInit(dir); - } - - // Apply eslint to the generated plugin - eslintPlugin(dir); - - log.success(chalk`🎉 - -Your plugin has been created in {bold ${dir}}. - - {bold yarn start} -`); - }, - }; -}; diff --git a/packages/kbn-plugin-generator/sao_template/sao.test.js b/packages/kbn-plugin-generator/sao_template/sao.test.js deleted file mode 100755 index af243326cff33..0000000000000 --- a/packages/kbn-plugin-generator/sao_template/sao.test.js +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -const sao = require('sao'); - -const template = { - fromPath: __dirname, - configOptions: { - name: 'Some fancy plugin', - targetPath: '', - }, -}; - -function getFileContents(file) { - return file.contents.toString(); -} - -describe('plugin generator sao integration', () => { - test('skips files when answering no', async () => { - const res = await sao.mockPrompt(template, { - generateApp: false, - generateApi: false, - }); - - expect(res.fileList).toContain('common/index.ts'); - expect(res.fileList).not.toContain('public/index.ts'); - expect(res.fileList).not.toContain('server/index.ts'); - }); - - it('includes app when answering yes', async () => { - const res = await sao.mockPrompt(template, { - generateApp: true, - generateApi: false, - generateScss: true, - }); - - // check output files - expect(res.fileList).toContain('common/index.ts'); - expect(res.fileList).toContain('public/index.ts'); - expect(res.fileList).toContain('public/plugin.ts'); - expect(res.fileList).toContain('public/types.ts'); - expect(res.fileList).toContain('public/components/app.tsx'); - expect(res.fileList).toContain('public/index.scss'); - expect(res.fileList).not.toContain('server/index.ts'); - }); - - it('includes server api when answering yes', async () => { - const res = await sao.mockPrompt(template, { - generateApp: true, - generateApi: true, - }); - - // check output files - expect(res.fileList).toContain('public/plugin.ts'); - expect(res.fileList).toContain('server/plugin.ts'); - expect(res.fileList).toContain('server/index.ts'); - expect(res.fileList).toContain('server/types.ts'); - expect(res.fileList).toContain('server/routes/index.ts'); - }); - - it('skips eslintrc and scss', async () => { - const res = await sao.mockPrompt(template, { - generateApp: true, - generateApi: true, - generateScss: false, - generateEslint: false, - generateTsconfig: false, - }); - - // check output files - expect(res.fileList).toContain('public/plugin.ts'); - expect(res.fileList).not.toContain('public/index.scss'); - expect(res.fileList).not.toContain('.eslintrc.js'); - expect(res.fileList).not.toContain('tsconfig.json'); - }); - - it('plugin package has correct title', async () => { - const res = await sao.mockPrompt(template, { - generateApp: true, - generateApi: true, - }); - - const contents = getFileContents(res.files['common/index.ts']); - const controllerLine = contents.match("PLUGIN_NAME = '(.*)'")[1]; - - expect(controllerLine).toContain('Some fancy plugin'); - }); - - it('package has version "kibana" with master', async () => { - const res = await sao.mockPrompt(template, { - kbnVersion: 'master', - }); - - const packageContents = getFileContents(res.files['kibana.json']); - const pkg = JSON.parse(packageContents); - - expect(pkg.version).toBe('master'); - }); - - it('package has correct version', async () => { - const res = await sao.mockPrompt(template, { - kbnVersion: 'v6.0.0', - }); - - const packageContents = getFileContents(res.files['kibana.json']); - const pkg = JSON.parse(packageContents); - - expect(pkg.version).toBe('v6.0.0'); - }); - - it('sample app has correct values', async () => { - const res = await sao.mockPrompt(template, { - generateApp: true, - generateApi: true, - }); - - const contents = getFileContents(res.files['common/index.ts']); - const controllerLine = contents.match("PLUGIN_ID = '(.*)'")[1]; - - expect(controllerLine).toContain('someFancyPlugin'); - }); - - it('includes dotfiles', async () => { - const res = await sao.mockPrompt(template); - expect(res.files['tsconfig.json']).toBeTruthy(); - expect(res.files['.eslintrc.js']).toBeTruthy(); - expect(res.files['.i18nrc.json']).toBeTruthy(); - }); - - it('validaes path override', async () => { - try { - await sao.mockPrompt(template, { - generateApp: true, - generateApi: true, - generateScss: false, - generateEslint: false, - customPath: 'banana', - }); - } catch (e) { - expect(e.message).toContain('Validation failed at prompt "customPath"'); - } - }); -}); diff --git a/packages/kbn-plugin-generator/sao_template/template/eslintrc.js b/packages/kbn-plugin-generator/sao_template/template/eslintrc.js deleted file mode 100644 index b68d42e32e047..0000000000000 --- a/packages/kbn-plugin-generator/sao_template/template/eslintrc.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - root: true, - extends: ['@elastic/eslint-config-kibana', 'plugin:@elastic/eui/recommended'], - <%_ if (!isKibanaPlugin) { -%> - rules: { - "@kbn/eslint/require-license-header": "off" - } - <%_ } -%> -}; \ No newline at end of file diff --git a/packages/kbn-plugin-generator/sao_template/template/i18nrc.json b/packages/kbn-plugin-generator/sao_template/template/i18nrc.json deleted file mode 100644 index a4b78b88e64e2..0000000000000 --- a/packages/kbn-plugin-generator/sao_template/template/i18nrc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "prefix": "<%= camelCase(name) %>", - "paths": { - "<%= camelCase(name) %>": "." - }, - "translations": [ - "translations/ja-JP.json" - ] - } - \ No newline at end of file diff --git a/packages/kbn-plugin-generator/sao_template/template/public/application.tsx b/packages/kbn-plugin-generator/sao_template/template/public/application.tsx deleted file mode 100644 index 8106a18a784e7..0000000000000 --- a/packages/kbn-plugin-generator/sao_template/template/public/application.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import { AppMountParameters, CoreStart } from '<%= relRoot %>/src/core/public'; -import { AppPluginStartDependencies } from './types'; -import { <%= upperCamelCaseName %>App } from './components/app'; - - -export const renderApp = ( - { notifications, http }: CoreStart, - { navigation }: AppPluginStartDependencies, - { appBasePath, element }: AppMountParameters - ) => { - ReactDOM.render( - <<%= upperCamelCaseName %>App - basename={appBasePath} - notifications={notifications} - http={http} - navigation={navigation} - />, - element - ); - - return () => ReactDOM.unmountComponentAtNode(element); - }; - \ No newline at end of file diff --git a/packages/kbn-plugin-generator/sao_template/template/public/index.ts b/packages/kbn-plugin-generator/sao_template/template/public/index.ts deleted file mode 100644 index 2999dc7264ddb..0000000000000 --- a/packages/kbn-plugin-generator/sao_template/template/public/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -<%_ if (hasScss) { -%> -import './index.scss'; -<%_ } -%> - -import { <%= upperCamelCaseName %>Plugin } from './plugin'; - -// This exports static code and TypeScript types, -// as well as, Kibana Platform `plugin()` initializer. -export function plugin() { - return new <%= upperCamelCaseName %>Plugin(); -} -export { - <%= upperCamelCaseName %>PluginSetup, - <%= upperCamelCaseName %>PluginStart, -} from './types'; - diff --git a/packages/kbn-plugin-generator/sao_template/template/public/types.ts b/packages/kbn-plugin-generator/sao_template/template/public/types.ts deleted file mode 100644 index 2ebb0c0d1257f..0000000000000 --- a/packages/kbn-plugin-generator/sao_template/template/public/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NavigationPublicPluginStart } from '<%= relRoot %>/src/plugins/navigation/public'; - -export interface <%= upperCamelCaseName %>PluginSetup { - getGreeting: () => string; -} -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface <%= upperCamelCaseName %>PluginStart {} - -export interface AppPluginStartDependencies { - navigation: NavigationPublicPluginStart -}; diff --git a/packages/kbn-plugin-generator/sao_template/template/server/index.ts b/packages/kbn-plugin-generator/sao_template/template/server/index.ts deleted file mode 100644 index 816b8faec2a45..0000000000000 --- a/packages/kbn-plugin-generator/sao_template/template/server/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { PluginInitializerContext } from '<%= relRoot %>/src/core/server'; -import { <%= upperCamelCaseName %>Plugin } from './plugin'; - - -// This exports static code and TypeScript types, -// as well as, Kibana Platform `plugin()` initializer. - - export function plugin(initializerContext: PluginInitializerContext) { - return new <%= upperCamelCaseName %>Plugin(initializerContext); -} - -export { - <%= upperCamelCaseName %>PluginSetup, - <%= upperCamelCaseName %>PluginStart, -} from './types'; diff --git a/packages/kbn-plugin-generator/sao_template/template/server/plugin.ts b/packages/kbn-plugin-generator/sao_template/template/server/plugin.ts deleted file mode 100644 index d6a343209e39e..0000000000000 --- a/packages/kbn-plugin-generator/sao_template/template/server/plugin.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { PluginInitializerContext, CoreSetup, CoreStart, Plugin, Logger } from '<%= relRoot %>/src/core/server'; - -import { <%= upperCamelCaseName %>PluginSetup, <%= upperCamelCaseName %>PluginStart } from './types'; -import { defineRoutes } from './routes'; - -export class <%= upperCamelCaseName %>Plugin - implements Plugin<<%= upperCamelCaseName %>PluginSetup, <%= upperCamelCaseName %>PluginStart> { - private readonly logger: Logger; - - constructor(initializerContext: PluginInitializerContext) { - this.logger = initializerContext.logger.get(); - } - - public setup(core: CoreSetup) { - this.logger.debug('<%= name %>: Setup'); - const router = core.http.createRouter(); - - // Register server side APIs - defineRoutes(router); - - return {}; - } - - public start(core: CoreStart) { - this.logger.debug('<%= name %>: Started'); - return {}; - } - - public stop() {} -} diff --git a/packages/kbn-plugin-generator/sao_template/template/translations/ja-JP.json b/packages/kbn-plugin-generator/sao_template/template/translations/ja-JP.json deleted file mode 100644 index ab4503f2c129c..0000000000000 --- a/packages/kbn-plugin-generator/sao_template/template/translations/ja-JP.json +++ /dev/null @@ -1,82 +0,0 @@ - -{ - "formats": { - "number": { - "currency": { - "style": "currency" - }, - "percent": { - "style": "percent" - } - }, - "date": { - "short": { - "month": "numeric", - "day": "numeric", - "year": "2-digit" - }, - "medium": { - "month": "short", - "day": "numeric", - "year": "numeric" - }, - "long": { - "month": "long", - "day": "numeric", - "year": "numeric" - }, - "full": { - "weekday": "long", - "month": "long", - "day": "numeric", - "year": "numeric" - } - }, - "time": { - "short": { - "hour": "numeric", - "minute": "numeric" - }, - "medium": { - "hour": "numeric", - "minute": "numeric", - "second": "numeric" - }, - "long": { - "hour": "numeric", - "minute": "numeric", - "second": "numeric", - "timeZoneName": "short" - }, - "full": { - "hour": "numeric", - "minute": "numeric", - "second": "numeric", - "timeZoneName": "short" - } - }, - "relative": { - "years": { - "units": "year" - }, - "months": { - "units": "month" - }, - "days": { - "units": "day" - }, - "hours": { - "units": "hour" - }, - "minutes": { - "units": "minute" - }, - "seconds": { - "units": "second" - } - } - }, - "messages": { - "<%= camelCase(name) %>.buttonText": "Translate me to Japanese", - } -} \ No newline at end of file diff --git a/packages/kbn-plugin-generator/scripts/build.js b/packages/kbn-plugin-generator/scripts/build.js new file mode 100644 index 0000000000000..2c252a064866c --- /dev/null +++ b/packages/kbn-plugin-generator/scripts/build.js @@ -0,0 +1,43 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const Path = require('path'); + +const { run } = require('@kbn/dev-utils'); +const del = require('del'); +const execa = require('execa'); + +run( + async ({ flags }) => { + await del(Path.resolve(__dirname, '../target')); + + await execa(require.resolve('typescript/bin/tsc'), flags.watch ? ['--watch'] : [], { + cwd: Path.resolve(__dirname, '..'), + stdio: 'inherit', + }); + }, + { + flags: { + boolean: ['watch'], + help: ` + --watch Watch files and rebuild on changes + `, + }, + } +); diff --git a/packages/kbn-plugin-generator/src/ask_questions.ts b/packages/kbn-plugin-generator/src/ask_questions.ts new file mode 100644 index 0000000000000..b598396187245 --- /dev/null +++ b/packages/kbn-plugin-generator/src/ask_questions.ts @@ -0,0 +1,103 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import Path from 'path'; + +import { REPO_ROOT } from '@kbn/dev-utils'; +import inquirer from 'inquirer'; + +export interface Answers { + name: string; + internal: boolean; + internalLocation: string; + ui: boolean; + server: boolean; +} + +export const INTERNAL_PLUGIN_LOCATIONS: Array<{ name: string; value: string }> = [ + { + name: 'Kibana Example', + value: Path.resolve(REPO_ROOT, 'examples'), + }, + { + name: 'Kibana OSS', + value: Path.resolve(REPO_ROOT, 'src/plugins'), + }, + { + name: 'Kibana OSS Functional Testing', + value: Path.resolve(REPO_ROOT, 'test/plugin_functional/plugins'), + }, + { + name: 'X-Pack', + value: Path.resolve(REPO_ROOT, 'x-pack/plugins'), + }, + { + name: 'X-Pack Functional Testing', + value: Path.resolve(REPO_ROOT, 'x-pack/test/plugin_functional/plugins'), + }, +]; + +export const QUESTIONS = [ + { + name: 'name', + message: 'Plugin name (use camelCase)', + default: undefined, + validate: (name: string) => (!name ? 'name is required' : true), + }, + { + name: 'internal', + type: 'confirm', + message: 'Will this plugin be part of the Kibana repository?', + default: false, + }, + { + name: 'internalLocation', + type: 'list', + message: 'What type of internal plugin would you like to create', + choices: INTERNAL_PLUGIN_LOCATIONS, + default: INTERNAL_PLUGIN_LOCATIONS[0].value, + when: ({ internal }: Answers) => internal, + }, + { + name: 'ui', + type: 'confirm', + message: 'Should an UI plugin be generated?', + default: true, + }, + { + name: 'server', + type: 'confirm', + message: 'Should a server plugin be generated?', + default: true, + }, +] as const; + +export async function askQuestions(overrides: Partial) { + return await inquirer.prompt(QUESTIONS, overrides); +} + +export function getDefaultAnswers(overrides: Partial) { + return QUESTIONS.reduce( + (acc, q) => ({ + ...acc, + [q.name]: overrides[q.name] != null ? overrides[q.name] : q.default, + }), + {} + ) as Answers; +} diff --git a/packages/kbn-plugin-generator/src/casing.test.ts b/packages/kbn-plugin-generator/src/casing.test.ts new file mode 100644 index 0000000000000..05411678afdbf --- /dev/null +++ b/packages/kbn-plugin-generator/src/casing.test.ts @@ -0,0 +1,68 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { camelCase, snakeCase, upperCamelCase } from './casing'; + +describe('camelCase', () => { + it.each([ + ['foo', 'foo'], + ['foo_bar', 'fooBar'], + ['foo bar', 'fooBar'], + ['fooBar', 'fooBar'], + ['___foo *$( bar 14', 'fooBar14'], + ['foo-bar', 'fooBar'], + ['FOO BAR', 'fooBar'], + ['FOO_BAR', 'fooBar'], + ['FOOBAR', 'foobar'], + ])('converts %j to %j', (input, output) => { + expect(camelCase(input)).toBe(output); + }); +}); + +describe('upperCamelCase', () => { + it.each([ + ['foo', 'Foo'], + ['foo_bar', 'FooBar'], + ['foo bar', 'FooBar'], + ['fooBar', 'FooBar'], + ['___foo *$( bar 14', 'FooBar14'], + ['foo-bar', 'FooBar'], + ['FOO BAR', 'FooBar'], + ['FOO_BAR', 'FooBar'], + ['FOOBAR', 'Foobar'], + ])('converts %j to %j', (input, output) => { + expect(upperCamelCase(input)).toBe(output); + }); +}); + +describe('snakeCase', () => { + it.each([ + ['foo', 'foo'], + ['foo_bar', 'foo_bar'], + ['foo bar', 'foo_bar'], + ['fooBar', 'foo_bar'], + ['___foo *$( bar 14', 'foo_bar_14'], + ['foo-bar', 'foo_bar'], + ['FOO BAR', 'foo_bar'], + ['FOO_BAR', 'foo_bar'], + ['FOOBAR', 'foobar'], + ])('converts %j to %j', (input, output) => { + expect(snakeCase(input)).toBe(output); + }); +}); diff --git a/packages/kbn-plugin-generator/src/casing.ts b/packages/kbn-plugin-generator/src/casing.ts new file mode 100644 index 0000000000000..30296de65aecb --- /dev/null +++ b/packages/kbn-plugin-generator/src/casing.ts @@ -0,0 +1,32 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const words = (input: string) => + input + .replace(/([a-z0-9])([A-Z])/g, '$1 $2') + .toLowerCase() + .split(/[^a-z0-9]+/g) + .filter(Boolean); + +const upperFirst = (input: string) => `${input.slice(0, 1).toUpperCase()}${input.slice(1)}`; +const lowerFirst = (input: string) => `${input.slice(0, 1).toLowerCase()}${input.slice(1)}`; + +export const snakeCase = (input: string) => words(input).join('_'); +export const upperCamelCase = (input: string) => words(input).map(upperFirst).join(''); +export const camelCase = (input: string) => lowerFirst(upperCamelCase(input)); diff --git a/packages/kbn-plugin-generator/src/cli.ts b/packages/kbn-plugin-generator/src/cli.ts new file mode 100644 index 0000000000000..f6966a245e46f --- /dev/null +++ b/packages/kbn-plugin-generator/src/cli.ts @@ -0,0 +1,98 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import Path from 'path'; +import Fs from 'fs'; + +import execa from 'execa'; +import { REPO_ROOT, run, createFailError, createFlagError } from '@kbn/dev-utils'; + +import { snakeCase } from './casing'; +import { askQuestions, getDefaultAnswers } from './ask_questions'; +import { renderTemplates } from './render_template'; + +export function runCli() { + run( + async ({ log, flags }) => { + const name = flags.name || undefined; + if (name && typeof name !== 'string') { + throw createFlagError(`expected one --name flag`); + } + + if (flags.yes && !name) { + throw createFlagError(`passing --yes requires that you specify a name`); + } + + const overrides = { + name, + ui: typeof flags.ui === 'boolean' ? flags.ui : undefined, + server: typeof flags.server === 'boolean' ? flags.server : undefined, + }; + const answers = flags.yes ? getDefaultAnswers(overrides) : await askQuestions(overrides); + + const outputDir = answers.internal + ? Path.resolve(answers.internalLocation, snakeCase(answers.name)) + : Path.resolve(REPO_ROOT, 'plugins', snakeCase(answers.name)); + + if (Fs.existsSync(outputDir)) { + throw createFailError(`Target output directory [${outputDir}] already exists`); + } + + // process the template directory, creating the actual plugin files + await renderTemplates({ + outputDir, + answers, + }); + + // init git repo in third party plugins + if (!answers.internal) { + await execa('git', ['init', outputDir]); + } + + log.success( + `🎉\n\nYour plugin has been created in ${Path.relative(process.cwd(), outputDir)}\n` + ); + }, + { + usage: 'node scripts/generate_plugin', + description: ` + Generate a fresh Kibana plugin in the plugins/ directory + `, + flags: { + string: ['name'], + boolean: ['yes', 'ui', 'server'], + default: { + ui: null, + server: null, + }, + alias: { + y: 'yes', + u: 'ui', + s: 'server', + }, + help: ` + --yes, -y Answer yes to all prompts, requires passing --name + --name Set the plugin name + --ui Generate a UI plugin + --server Generate a Server plugin + `, + }, + } + ); +} diff --git a/packages/kbn-plugin-generator/index.js.d.ts b/packages/kbn-plugin-generator/src/index.ts similarity index 88% rename from packages/kbn-plugin-generator/index.js.d.ts rename to packages/kbn-plugin-generator/src/index.ts index 46f7c43fd5790..a05bc698bde17 100644 --- a/packages/kbn-plugin-generator/index.js.d.ts +++ b/packages/kbn-plugin-generator/src/index.ts @@ -16,9 +16,5 @@ * specific language governing permissions and limitations * under the License. */ -interface PluginGenerator { - /** - * Run plugin generator. - */ - run: (...args: any[]) => any; -} + +export * from './cli'; diff --git a/packages/kbn-plugin-generator/src/integration_tests/generate_plugin.test.ts b/packages/kbn-plugin-generator/src/integration_tests/generate_plugin.test.ts new file mode 100644 index 0000000000000..b48113afc0ca7 --- /dev/null +++ b/packages/kbn-plugin-generator/src/integration_tests/generate_plugin.test.ts @@ -0,0 +1,143 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import Path from 'path'; + +import del from 'del'; +import execa from 'execa'; +import { REPO_ROOT, createAbsolutePathSerializer } from '@kbn/dev-utils'; +import globby from 'globby'; + +const GENERATED_DIR = Path.resolve(REPO_ROOT, `plugins`); + +expect.addSnapshotSerializer(createAbsolutePathSerializer()); + +beforeEach(async () => { + await del(GENERATED_DIR, { force: true }); +}); + +afterEach(async () => { + await del(GENERATED_DIR, { force: true }); +}); + +it('generates a plugin', async () => { + await execa(process.execPath, ['scripts/generate_plugin.js', '-y', '--name=foo'], { + cwd: REPO_ROOT, + buffer: true, + }); + + const paths = await globby('**/*', { + cwd: GENERATED_DIR, + absolute: true, + dot: true, + onlyFiles: true, + ignore: ['**/.git'], + }); + + expect(paths.sort((a, b) => a.localeCompare(b))).toMatchInlineSnapshot(` + Array [ + /plugins/foo/.eslintrc.js, + /plugins/foo/.gitignore, + /plugins/foo/.i18nrc.json, + /plugins/foo/common/index.ts, + /plugins/foo/kibana.json, + /plugins/foo/package.json, + /plugins/foo/public/application.tsx, + /plugins/foo/public/components/app.tsx, + /plugins/foo/public/index.scss, + /plugins/foo/public/index.ts, + /plugins/foo/public/plugin.ts, + /plugins/foo/public/types.ts, + /plugins/foo/README.md, + /plugins/foo/server/index.ts, + /plugins/foo/server/plugin.ts, + /plugins/foo/server/routes/index.ts, + /plugins/foo/server/types.ts, + /plugins/foo/translations/ja-JP.json, + /plugins/foo/tsconfig.json, + ] + `); +}); + +it('generates a plugin without UI', async () => { + await execa(process.execPath, ['scripts/generate_plugin.js', '--name=bar', '-y', '--no-ui'], { + cwd: REPO_ROOT, + buffer: true, + }); + + const paths = await globby('**/*', { + cwd: GENERATED_DIR, + absolute: true, + dot: true, + onlyFiles: true, + ignore: ['**/.git'], + }); + + expect(paths.sort((a, b) => a.localeCompare(b))).toMatchInlineSnapshot(` + Array [ + /plugins/bar/.eslintrc.js, + /plugins/bar/.gitignore, + /plugins/bar/.i18nrc.json, + /plugins/bar/common/index.ts, + /plugins/bar/kibana.json, + /plugins/bar/package.json, + /plugins/bar/README.md, + /plugins/bar/server/index.ts, + /plugins/bar/server/plugin.ts, + /plugins/bar/server/routes/index.ts, + /plugins/bar/server/types.ts, + /plugins/bar/tsconfig.json, + ] + `); +}); + +it('generates a plugin without server plugin', async () => { + await execa(process.execPath, ['scripts/generate_plugin.js', '--name=baz', '-y', '--no-server'], { + cwd: REPO_ROOT, + buffer: true, + }); + + const paths = await globby('**/*', { + cwd: GENERATED_DIR, + absolute: true, + dot: true, + onlyFiles: true, + ignore: ['**/.git'], + }); + + expect(paths.sort((a, b) => a.localeCompare(b))).toMatchInlineSnapshot(` + Array [ + /plugins/baz/.eslintrc.js, + /plugins/baz/.gitignore, + /plugins/baz/.i18nrc.json, + /plugins/baz/common/index.ts, + /plugins/baz/kibana.json, + /plugins/baz/package.json, + /plugins/baz/public/application.tsx, + /plugins/baz/public/components/app.tsx, + /plugins/baz/public/index.scss, + /plugins/baz/public/index.ts, + /plugins/baz/public/plugin.ts, + /plugins/baz/public/types.ts, + /plugins/baz/README.md, + /plugins/baz/translations/ja-JP.json, + /plugins/baz/tsconfig.json, + ] + `); +}); diff --git a/packages/kbn-plugin-generator/src/render_template.ts b/packages/kbn-plugin-generator/src/render_template.ts new file mode 100644 index 0000000000000..18bdcf1be1a6b --- /dev/null +++ b/packages/kbn-plugin-generator/src/render_template.ts @@ -0,0 +1,127 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import Path from 'path'; +import { pipeline } from 'stream'; +import { promisify } from 'util'; + +import vfs from 'vinyl-fs'; +import prettier from 'prettier'; +import { REPO_ROOT } from '@kbn/dev-utils'; +import ejs from 'ejs'; + +import { snakeCase, camelCase, upperCamelCase } from './casing'; +import { excludeFiles, tapFileStream } from './streams'; +import { Answers } from './ask_questions'; + +const asyncPipeline = promisify(pipeline); + +/** + * Stream all the files from the template directory, ignoring + * certain files based on the answers, process the .ejs templates + * to the output files they represent, renaming the .ejs files to + * remove that extension, then run every file through prettier + * before writing the files to the output directory. + */ +export async function renderTemplates({ + outputDir, + answers, +}: { + outputDir: string; + answers: Answers; +}) { + const prettierConfig = await prettier.resolveConfig(process.cwd()); + + const defaultTemplateData = { + name: answers.name, + + internalPlugin: !!answers.internal, + thirdPartyPlugin: !answers.internal, + + hasServer: !!answers.server, + hasUi: !!answers.ui, + + camelCase, + snakeCase, + upperCamelCase, + }; + + await asyncPipeline( + vfs.src(['**/*'], { + dot: true, + buffer: true, + nodir: true, + cwd: Path.resolve(__dirname, '../template'), + }), + + // exclude files from the template based on selected options, patterns + // are matched without the .ejs extension + excludeFiles( + ([] as string[]).concat( + answers.ui ? [] : 'public/**/*', + answers.ui && !answers.internal ? [] : ['translations/**/*', 'i18nrc.json'], + answers.server ? [] : 'server/**/*', + !answers.internal ? [] : ['eslintrc.js', 'tsconfig.json', 'package.json', '.gitignore'] + ) + ), + + // render .ejs templates and rename to not use .ejs extension + tapFileStream((file) => { + if (file.extname !== '.ejs') { + return; + } + + const templateData = { + ...defaultTemplateData, + importFromRoot(rootRelative: string) { + const filesOutputDirname = Path.dirname(Path.resolve(outputDir, file.relative)); + const target = Path.resolve(REPO_ROOT, rootRelative); + return Path.relative(filesOutputDirname, target); + }, + }; + + // render source and write back to file object + file.contents = Buffer.from( + ejs.render(file.contents.toString('utf8'), templateData, { + beautify: false, + }) + ); + + // file.stem is the basename but without the extension + file.basename = file.stem; + }), + + // format each file with prettier + tapFileStream((file) => { + if (!file.extname) { + return; + } + + file.contents = Buffer.from( + prettier.format(file.contents.toString('utf8'), { + ...prettierConfig, + filepath: file.path, + }) + ); + }), + + // write files to disk + vfs.dest(outputDir) + ); +} diff --git a/packages/kbn-plugin-generator/src/streams.ts b/packages/kbn-plugin-generator/src/streams.ts new file mode 100644 index 0000000000000..976008e879dd3 --- /dev/null +++ b/packages/kbn-plugin-generator/src/streams.ts @@ -0,0 +1,73 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Transform } from 'stream'; + +import File from 'vinyl'; +import { Minimatch } from 'minimatch'; + +interface BufferedFile extends File { + contents: Buffer; + isDirectory(): false; +} + +/** + * Create a transform stream that processes Vinyl fs streams and + * calls a function for each file, allowing the function to either + * mutate the file, replace it with another file (return a new File + * object), or drop it from the stream (return null) + */ +export const tapFileStream = ( + fn: (file: BufferedFile) => File | void | null | Promise +) => + new Transform({ + objectMode: true, + transform(file: BufferedFile, _, cb) { + Promise.resolve(file) + .then(fn) + .then( + (result) => { + // drop the file when null is returned + if (result === null) { + cb(); + } else { + cb(undefined, result || file); + } + }, + (error) => cb(error) + ); + }, + }); + +export const excludeFiles = (globs: string[]) => { + const patterns = globs.map( + (g) => + new Minimatch(g, { + matchBase: true, + }) + ); + + return tapFileStream((file) => { + const path = file.relative.replace(/\.ejs$/, ''); + const exclude = patterns.some((p) => p.match(path)); + if (exclude) { + return null; + } + }); +}; diff --git a/packages/kbn-plugin-generator/template/.eslintrc.js.ejs b/packages/kbn-plugin-generator/template/.eslintrc.js.ejs new file mode 100644 index 0000000000000..d063fc481b718 --- /dev/null +++ b/packages/kbn-plugin-generator/template/.eslintrc.js.ejs @@ -0,0 +1,10 @@ +module.exports = { + root: true, + extends: [ + '@elastic/eslint-config-kibana', + 'plugin:@elastic/eui/recommended' + ], + rules: { + '@kbn/eslint/require-license-header': 'off', + }, +}; diff --git a/packages/kbn-plugin-generator/template/.gitignore b/packages/kbn-plugin-generator/template/.gitignore new file mode 100644 index 0000000000000..c3dca1b96fcc2 --- /dev/null +++ b/packages/kbn-plugin-generator/template/.gitignore @@ -0,0 +1,2 @@ +/build +/target diff --git a/packages/kbn-plugin-generator/template/.i18nrc.json.ejs b/packages/kbn-plugin-generator/template/.i18nrc.json.ejs new file mode 100644 index 0000000000000..280fb5cca62b9 --- /dev/null +++ b/packages/kbn-plugin-generator/template/.i18nrc.json.ejs @@ -0,0 +1,9 @@ +{ + "prefix": "<%= camelCase(name) %>", + "paths": { + "<%= camelCase(name) %>": "." + }, + "translations": [ + "translations/ja-JP.json" + ] +} diff --git a/packages/kbn-plugin-generator/sao_template/template/README.md b/packages/kbn-plugin-generator/template/README.md.ejs similarity index 66% rename from packages/kbn-plugin-generator/sao_template/template/README.md rename to packages/kbn-plugin-generator/template/README.md.ejs index 008d500abbbf5..5f30bf0463305 100755 --- a/packages/kbn-plugin-generator/sao_template/template/README.md +++ b/packages/kbn-plugin-generator/template/README.md.ejs @@ -1,8 +1,6 @@ # <%= name %> -<%- (description || '').split('\n').map(function (line) { - return '> ' + line -}).join('\n') %> +A Kibana plugin --- diff --git a/packages/kbn-plugin-generator/sao_template/template/common/index.ts b/packages/kbn-plugin-generator/template/common/index.ts.ejs similarity index 100% rename from packages/kbn-plugin-generator/sao_template/template/common/index.ts rename to packages/kbn-plugin-generator/template/common/index.ts.ejs diff --git a/packages/kbn-plugin-generator/sao_template/template/kibana.json b/packages/kbn-plugin-generator/template/kibana.json.ejs similarity index 74% rename from packages/kbn-plugin-generator/sao_template/template/kibana.json rename to packages/kbn-plugin-generator/template/kibana.json.ejs index f8bb07040abeb..698a394e0d0b5 100644 --- a/packages/kbn-plugin-generator/sao_template/template/kibana.json +++ b/packages/kbn-plugin-generator/template/kibana.json.ejs @@ -1,6 +1,7 @@ { "id": "<%= camelCase(name) %>", - "version": "<%= kbnVersion %>", + "version": "1.0.0", + "kibanaVersion": "kibana", "server": <%= hasServer %>, "ui": <%= hasUi %>, "requiredPlugins": ["navigation"], diff --git a/packages/kbn-plugin-generator/template/package.json.ejs b/packages/kbn-plugin-generator/template/package.json.ejs new file mode 100644 index 0000000000000..cbd59894ca47c --- /dev/null +++ b/packages/kbn-plugin-generator/template/package.json.ejs @@ -0,0 +1,8 @@ +{ + "name": "<%= camelCase(name) %>", + "version": "0.0.0", + "private": true, + "scripts": { + "kbn": "node ../../scripts/kbn" + } +} diff --git a/packages/kbn-plugin-generator/template/public/application.tsx.ejs b/packages/kbn-plugin-generator/template/public/application.tsx.ejs new file mode 100644 index 0000000000000..678d7ccc04681 --- /dev/null +++ b/packages/kbn-plugin-generator/template/public/application.tsx.ejs @@ -0,0 +1,24 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import { AppMountParameters, CoreStart } from '<%= importFromRoot('src/core/public') %>'; +import { AppPluginStartDependencies } from './types'; +import { <%= upperCamelCase(name) %>App } from './components/app'; + + +export const renderApp = ( + { notifications, http }: CoreStart, + { navigation }: AppPluginStartDependencies, + { appBasePath, element }: AppMountParameters +) => { + ReactDOM.render( + <<%= upperCamelCase(name) %>App + basename={appBasePath} + notifications={notifications} + http={http} + navigation={navigation} + />, + element + ); + + return () => ReactDOM.unmountComponentAtNode(element); +}; diff --git a/packages/kbn-plugin-generator/sao_template/template/public/components/app.tsx b/packages/kbn-plugin-generator/template/public/components/app.tsx.ejs similarity index 62% rename from packages/kbn-plugin-generator/sao_template/template/public/components/app.tsx rename to packages/kbn-plugin-generator/template/public/components/app.tsx.ejs index d75bd2f01ef23..c3e33788464fb 100644 --- a/packages/kbn-plugin-generator/sao_template/template/public/components/app.tsx +++ b/packages/kbn-plugin-generator/template/public/components/app.tsx.ejs @@ -1,22 +1,3 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - import React, { useState } from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage, I18nProvider } from '@kbn/i18n/react'; @@ -35,36 +16,36 @@ import { EuiText, } from '@elastic/eui'; -import { CoreStart } from '<%= relRoot %>/../src/core/public'; -import { NavigationPublicPluginStart } from '<%= relRoot %>/../src/plugins/navigation/public'; +import { CoreStart } from '<%= importFromRoot('src/core/public') %>'; +import { NavigationPublicPluginStart } from '<%= importFromRoot('src/plugins/navigation/public') %>'; import { PLUGIN_ID, PLUGIN_NAME } from '../../common'; -interface <%= upperCamelCaseName %>AppDeps { +interface <%= upperCamelCase(name) %>AppDeps { basename: string; notifications: CoreStart['notifications']; http: CoreStart['http']; navigation: NavigationPublicPluginStart; } -export const <%= upperCamelCaseName %>App = ({ basename, notifications, http, navigation }: <%= upperCamelCaseName %>AppDeps) => { +export const <%= upperCamelCase(name) %>App = ({ basename, notifications, http, navigation }: <%= upperCamelCase(name) %>AppDeps) => { // Use React hooks to manage state. const [timestamp, setTimestamp] = useState(); const onClickHandler = () => { -<%_ if (generateApi) { -%> - // Use the core http service to make a response to the server API. - http.get('/api/<%= snakeCase(name) %>/example').then(res => { - setTimestamp(res.time); - // Use the core notifications service to display a success message. - notifications.toasts.addSuccess(i18n.translate('<%= camelCase(name) %>.dataUpdated', { - defaultMessage: 'Data updated', - })); - }); -<%_ } else { -%> - setTimestamp(new Date().toISOString()); - notifications.toasts.addSuccess(PLUGIN_NAME); -<%_ } -%> + <% if (hasServer) { %> + // Use the core http service to make a response to the server API. + http.get('/api/<%= snakeCase(name) %>/example').then(res => { + setTimestamp(res.time); + // Use the core notifications service to display a success message. + notifications.toasts.addSuccess(i18n.translate('<%= camelCase(name) %>.dataUpdated', { + defaultMessage: 'Data updated', + })); + }); + <% } else { %> + setTimestamp(new Date().toISOString()); + notifications.toasts.addSuccess(PLUGIN_NAME); + <% } %> }; // Render the application DOM. @@ -115,7 +96,10 @@ export const <%= upperCamelCaseName %>App = ({ basename, notifications, http, na />

- + diff --git a/packages/kbn-plugin-generator/sao_template/template/public/index.scss b/packages/kbn-plugin-generator/template/public/index.scss similarity index 100% rename from packages/kbn-plugin-generator/sao_template/template/public/index.scss rename to packages/kbn-plugin-generator/template/public/index.scss diff --git a/packages/kbn-plugin-generator/template/public/index.ts.ejs b/packages/kbn-plugin-generator/template/public/index.ts.ejs new file mode 100644 index 0000000000000..f859f34bee2ee --- /dev/null +++ b/packages/kbn-plugin-generator/template/public/index.ts.ejs @@ -0,0 +1,14 @@ +import './index.scss'; + +import { <%= upperCamelCase(name) %>Plugin } from './plugin'; + +// This exports static code and TypeScript types, +// as well as, Kibana Platform `plugin()` initializer. +export function plugin() { + return new <%= upperCamelCase(name) %>Plugin(); +} +export { + <%= upperCamelCase(name) %>PluginSetup, + <%= upperCamelCase(name) %>PluginStart, +} from './types'; + diff --git a/packages/kbn-plugin-generator/sao_template/template/public/plugin.ts b/packages/kbn-plugin-generator/template/public/plugin.ts.ejs similarity index 68% rename from packages/kbn-plugin-generator/sao_template/template/public/plugin.ts rename to packages/kbn-plugin-generator/template/public/plugin.ts.ejs index 76f7f1a6f9908..1090430ab7f87 100644 --- a/packages/kbn-plugin-generator/sao_template/template/public/plugin.ts +++ b/packages/kbn-plugin-generator/template/public/plugin.ts.ejs @@ -1,12 +1,12 @@ import { i18n } from '@kbn/i18n'; -import { AppMountParameters, CoreSetup, CoreStart, Plugin } from '<%= relRoot %>/src/core/public'; -import { <%= upperCamelCaseName %>PluginSetup, <%= upperCamelCaseName %>PluginStart, AppPluginStartDependencies } from './types'; +import { AppMountParameters, CoreSetup, CoreStart, Plugin } from '<%= importFromRoot('src/core/public') %>'; +import { <%= upperCamelCase(name) %>PluginSetup, <%= upperCamelCase(name) %>PluginStart, AppPluginStartDependencies } from './types'; import { PLUGIN_NAME } from '../common'; -export class <%= upperCamelCaseName %>Plugin - implements Plugin<<%= upperCamelCaseName %>PluginSetup, <%= upperCamelCaseName %>PluginStart> { - - public setup(core: CoreSetup): <%= upperCamelCaseName %>PluginSetup { +export class <%= upperCamelCase(name) %>Plugin + implements Plugin<<%= upperCamelCase(name) %>PluginSetup, <%= upperCamelCase(name) %>PluginStart> { + + public setup(core: CoreSetup): <%= upperCamelCase(name) %>PluginSetup { // Register an application into the side navigation menu core.application.register({ id: '<%= camelCase(name) %>', @@ -34,7 +34,7 @@ export class <%= upperCamelCaseName %>Plugin }; } - public start(core: CoreStart): <%= upperCamelCaseName %>PluginStart { + public start(core: CoreStart): <%= upperCamelCase(name) %>PluginStart { return {}; } diff --git a/packages/kbn-plugin-generator/template/public/types.ts.ejs b/packages/kbn-plugin-generator/template/public/types.ts.ejs new file mode 100644 index 0000000000000..e33db549ccd04 --- /dev/null +++ b/packages/kbn-plugin-generator/template/public/types.ts.ejs @@ -0,0 +1,11 @@ +import { NavigationPublicPluginStart } from '<%= importFromRoot('src/plugins/navigation/public') %>'; + +export interface <%= upperCamelCase(name) %>PluginSetup { + getGreeting: () => string; +} +// eslint-disable-next-line @typescript-eslint/no-empty-interface +export interface <%= upperCamelCase(name) %>PluginStart {} + +export interface AppPluginStartDependencies { + navigation: NavigationPublicPluginStart +}; diff --git a/packages/kbn-plugin-generator/template/server/index.ts.ejs b/packages/kbn-plugin-generator/template/server/index.ts.ejs new file mode 100644 index 0000000000000..f6b40f2ee0642 --- /dev/null +++ b/packages/kbn-plugin-generator/template/server/index.ts.ejs @@ -0,0 +1,15 @@ +import { PluginInitializerContext } from '<%= importFromRoot('src/core/server') %>'; +import { <%= upperCamelCase(name) %>Plugin } from './plugin'; + + +// This exports static code and TypeScript types, +// as well as, Kibana Platform `plugin()` initializer. + + export function plugin(initializerContext: PluginInitializerContext) { + return new <%= upperCamelCase(name) %>Plugin(initializerContext); +} + +export { + <%= upperCamelCase(name) %>PluginSetup, + <%= upperCamelCase(name) %>PluginStart, +} from './types'; diff --git a/packages/kbn-plugin-generator/template/server/plugin.ts.ejs b/packages/kbn-plugin-generator/template/server/plugin.ts.ejs new file mode 100644 index 0000000000000..b91e793653003 --- /dev/null +++ b/packages/kbn-plugin-generator/template/server/plugin.ts.ejs @@ -0,0 +1,40 @@ +import { + PluginInitializerContext, + CoreSetup, + CoreStart, + Plugin, + Logger +} from '<%= importFromRoot('src/core/server') %>'; + +import { + <%= upperCamelCase(name) %>PluginSetup, + <%= upperCamelCase(name) %>PluginStart +} from './types'; +import { defineRoutes } from './routes'; + +export class <%= upperCamelCase(name) %>Plugin + implements Plugin<<%= upperCamelCase(name) %>PluginSetup, <%= upperCamelCase(name) %>PluginStart> { + + private readonly logger: Logger; + + constructor(initializerContext: PluginInitializerContext) { + this.logger = initializerContext.logger.get(); + } + + public setup(core: CoreSetup) { + this.logger.debug('<%= name %>: Setup'); + const router = core.http.createRouter(); + + // Register server side APIs + defineRoutes(router); + + return {}; + } + + public start(core: CoreStart) { + this.logger.debug('<%= name %>: Started'); + return {}; + } + + public stop() {} +} diff --git a/packages/kbn-plugin-generator/sao_template/template/server/routes/index.ts b/packages/kbn-plugin-generator/template/server/routes/index.ts.ejs similarity index 81% rename from packages/kbn-plugin-generator/sao_template/template/server/routes/index.ts rename to packages/kbn-plugin-generator/template/server/routes/index.ts.ejs index d8bb00f0dea6c..475200ca21632 100644 --- a/packages/kbn-plugin-generator/sao_template/template/server/routes/index.ts +++ b/packages/kbn-plugin-generator/template/server/routes/index.ts.ejs @@ -1,4 +1,5 @@ -import { IRouter } from '<%= relRoot %>/../src/core/server'; +import { IRouter } from '<%= importFromRoot('src/core/server') %>'; + export function defineRoutes(router: IRouter) { router.get( diff --git a/packages/kbn-plugin-generator/sao_template/template/server/types.ts b/packages/kbn-plugin-generator/template/server/types.ts.ejs similarity index 52% rename from packages/kbn-plugin-generator/sao_template/template/server/types.ts rename to packages/kbn-plugin-generator/template/server/types.ts.ejs index adbc5e93f03c5..2ed6a8436bec4 100644 --- a/packages/kbn-plugin-generator/sao_template/template/server/types.ts +++ b/packages/kbn-plugin-generator/template/server/types.ts.ejs @@ -1,4 +1,4 @@ // eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface <%= upperCamelCaseName %>PluginSetup {} +export interface <%= upperCamelCase(name) %>PluginSetup {} // eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface <%= upperCamelCaseName %>PluginStart {} +export interface <%= upperCamelCase(name) %>PluginStart {} diff --git a/packages/kbn-plugin-generator/template/translations/ja-JP.json.ejs b/packages/kbn-plugin-generator/template/translations/ja-JP.json.ejs new file mode 100644 index 0000000000000..134f96481bcad --- /dev/null +++ b/packages/kbn-plugin-generator/template/translations/ja-JP.json.ejs @@ -0,0 +1,81 @@ +{ + "formats": { + "number": { + "currency": { + "style": "currency" + }, + "percent": { + "style": "percent" + } + }, + "date": { + "short": { + "month": "numeric", + "day": "numeric", + "year": "2-digit" + }, + "medium": { + "month": "short", + "day": "numeric", + "year": "numeric" + }, + "long": { + "month": "long", + "day": "numeric", + "year": "numeric" + }, + "full": { + "weekday": "long", + "month": "long", + "day": "numeric", + "year": "numeric" + } + }, + "time": { + "short": { + "hour": "numeric", + "minute": "numeric" + }, + "medium": { + "hour": "numeric", + "minute": "numeric", + "second": "numeric" + }, + "long": { + "hour": "numeric", + "minute": "numeric", + "second": "numeric", + "timeZoneName": "short" + }, + "full": { + "hour": "numeric", + "minute": "numeric", + "second": "numeric", + "timeZoneName": "short" + } + }, + "relative": { + "years": { + "units": "year" + }, + "months": { + "units": "month" + }, + "days": { + "units": "day" + }, + "hours": { + "units": "hour" + }, + "minutes": { + "units": "minute" + }, + "seconds": { + "units": "second" + } + } + }, + "messages": { + "<%= camelCase(name) %>.buttonText": "Translate me to Japanese", + } +} diff --git a/packages/kbn-plugin-generator/sao_template/template/tsconfig.json b/packages/kbn-plugin-generator/template/tsconfig.json.ejs similarity index 100% rename from packages/kbn-plugin-generator/sao_template/template/tsconfig.json rename to packages/kbn-plugin-generator/template/tsconfig.json.ejs diff --git a/packages/kbn-plugin-generator/tsconfig.json b/packages/kbn-plugin-generator/tsconfig.json index fe0f7112f1fa9..fc88223dae4b2 100644 --- a/packages/kbn-plugin-generator/tsconfig.json +++ b/packages/kbn-plugin-generator/tsconfig.json @@ -1,5 +1,12 @@ { "extends": "../../tsconfig.json", - "include": ["**/*", "index.js.d.ts"], - "exclude": ["sao_template/template/*"] + "compilerOptions": { + "outDir": "target", + "target": "ES2019", + "declaration": true, + "declarationMap": true, + "sourceMap": true + }, + "include": ["src/**/*"], + "exclude": ["src/template/*"] } diff --git a/packages/kbn-pm/dist/index.js b/packages/kbn-pm/dist/index.js index 339f16eaf8593..1d4c13e605f27 100644 --- a/packages/kbn-pm/dist/index.js +++ b/packages/kbn-pm/dist/index.js @@ -94,7 +94,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _cli__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "run", function() { return _cli__WEBPACK_IMPORTED_MODULE_0__["run"]; }); -/* harmony import */ var _production__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(505); +/* harmony import */ var _production__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(503); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildProductionProjects", function() { return _production__WEBPACK_IMPORTED_MODULE_1__["buildProductionProjects"]; }); /* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(145); @@ -103,10 +103,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_project__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(163); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Project", function() { return _utils_project__WEBPACK_IMPORTED_MODULE_3__["Project"]; }); -/* harmony import */ var _utils_workspaces__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(287); +/* harmony import */ var _utils_workspaces__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(279); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "copyWorkspacePackages", function() { return _utils_workspaces__WEBPACK_IMPORTED_MODULE_4__["copyWorkspacePackages"]; }); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(288); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(280); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getProjectPaths", function() { return _config__WEBPACK_IMPORTED_MODULE_5__["getProjectPaths"]; }); /* @@ -150,7 +150,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _kbn_dev_utils_tooling_log__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5); /* harmony import */ var _kbn_dev_utils_tooling_log__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_kbn_dev_utils_tooling_log__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _commands__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(127); -/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(498); +/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(496); /* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(143); /* * Licensed to Elasticsearch B.V. under one or more contributor @@ -8762,9 +8762,9 @@ exports.ToolingLogCollectingWriter = ToolingLogCollectingWriter; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "commands", function() { return commands; }); /* harmony import */ var _bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(128); -/* harmony import */ var _clean__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(295); -/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(397); -/* harmony import */ var _watch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(398); +/* harmony import */ var _clean__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(287); +/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(395); +/* harmony import */ var _watch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(396); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -8805,8 +8805,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(143); /* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(144); /* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(145); -/* harmony import */ var _utils_project_checksums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(289); -/* harmony import */ var _utils_bootstrap_cache_file__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(294); +/* harmony import */ var _utils_project_checksums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(281); +/* harmony import */ var _utils_bootstrap_cache_file__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(286); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -9393,6 +9393,14 @@ if (typeof Symbol === 'function' && typeof Symbol.for === 'function') { function noop () {} +function publishQueue(context, queue) { + Object.defineProperty(context, gracefulQueue, { + get: function() { + return queue + } + }) +} + var debug = noop if (util.debuglog) debug = util.debuglog('gfs4') @@ -9404,14 +9412,10 @@ else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) } // Once time initialization -if (!global[gracefulQueue]) { +if (!fs[gracefulQueue]) { // This queue can be shared by multiple loaded instances - var queue = [] - Object.defineProperty(global, gracefulQueue, { - get: function() { - return queue - } - }) + var queue = global[gracefulQueue] || [] + publishQueue(fs, queue) // Patch fs.close/closeSync to shared queue version, because we need // to retry() whenever a close happens *anywhere* in the program. @@ -9451,12 +9455,16 @@ if (!global[gracefulQueue]) { if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) { process.on('exit', function() { - debug(global[gracefulQueue]) - __webpack_require__(139).equal(global[gracefulQueue].length, 0) + debug(fs[gracefulQueue]) + __webpack_require__(139).equal(fs[gracefulQueue].length, 0) }) } } +if (!global[gracefulQueue]) { + publishQueue(global, fs[gracefulQueue]); +} + module.exports = patch(clone(fs)) if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) { module.exports = patch(fs) @@ -9706,11 +9714,11 @@ function patch (fs) { function enqueue (elem) { debug('ENQUEUE', elem[0].name, elem[1]) - global[gracefulQueue].push(elem) + fs[gracefulQueue].push(elem) } function retry () { - var elem = global[gracefulQueue].shift() + var elem = fs[gracefulQueue].shift() if (elem) { debug('RETRY', elem[0].name, elem[1]) elem[0].apply(null, elem[1]) @@ -10814,7 +10822,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(162); /* harmony import */ var _project__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(163); -/* harmony import */ var _workspaces__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(287); +/* harmony import */ var _workspaces__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(279); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -14425,7 +14433,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(162); /* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(143); /* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(164); -/* harmony import */ var _scripts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(233); +/* harmony import */ var _scripts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(225); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -22347,7 +22355,7 @@ module.exports = JSON.parse("{\"repositories\":\"'repositories' (plural) Not sup const path = __webpack_require__(4); const writeJsonFile = __webpack_require__(214); -const sortKeys = __webpack_require__(228); +const sortKeys = __webpack_require__(220); const dependencyKeys = new Set([ 'dependencies', @@ -22418,12 +22426,12 @@ module.exports.sync = (filePath, data, options) => { "use strict"; const path = __webpack_require__(4); -const fs = __webpack_require__(215); -const writeFileAtomic = __webpack_require__(219); -const sortKeys = __webpack_require__(228); -const makeDir = __webpack_require__(230); -const pify = __webpack_require__(231); -const detectIndent = __webpack_require__(232); +const fs = __webpack_require__(132); +const writeFileAtomic = __webpack_require__(215); +const sortKeys = __webpack_require__(220); +const makeDir = __webpack_require__(222); +const pify = __webpack_require__(223); +const detectIndent = __webpack_require__(224); const init = (fn, filePath, data, options) => { if (!filePath) { @@ -22498,8363 +22506,8020 @@ module.exports.sync = (filePath, data, options) => { /* 215 */ /***/ (function(module, exports, __webpack_require__) { -var fs = __webpack_require__(133) -var polyfills = __webpack_require__(216) -var legacy = __webpack_require__(217) -var clone = __webpack_require__(218) +"use strict"; -var queue = [] +module.exports = writeFile +module.exports.sync = writeFileSync +module.exports._getTmpname = getTmpname // for testing +module.exports._cleanupOnExit = cleanupOnExit -var util = __webpack_require__(111) +var fs = __webpack_require__(132) +var MurmurHash3 = __webpack_require__(216) +var onExit = __webpack_require__(217) +var path = __webpack_require__(4) +var activeFiles = {} -function noop () {} +// if we run inside of a worker_thread, `process.pid` is not unique +/* istanbul ignore next */ +var threadId = (function getId () { + try { + var workerThreads = __webpack_require__(219) -var debug = noop -if (util.debuglog) - debug = util.debuglog('gfs4') -else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) - debug = function() { - var m = util.format.apply(util, arguments) - m = 'GFS4: ' + m.split(/\n/).join('\nGFS4: ') - console.error(m) + /// if we are in main thread, this is set to `0` + return workerThreads.threadId + } catch (e) { + // worker_threads are not available, fallback to 0 + return 0 } +})() -if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) { - process.on('exit', function() { - debug(queue) - __webpack_require__(139).equal(queue.length, 0) - }) -} - -module.exports = patch(clone(fs)) -if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) { - module.exports = patch(fs) - fs.__patched = true; +var invocations = 0 +function getTmpname (filename) { + return filename + '.' + + MurmurHash3(__filename) + .hash(String(process.pid)) + .hash(String(threadId)) + .hash(String(++invocations)) + .result() } -// Always patch fs.close/closeSync, because we want to -// retry() whenever a close happens *anywhere* in the program. -// This is essential when multiple graceful-fs instances are -// in play at the same time. -module.exports.close = (function (fs$close) { return function (fd, cb) { - return fs$close.call(fs, fd, function (err) { - if (!err) - retry() - - if (typeof cb === 'function') - cb.apply(this, arguments) - }) -}})(fs.close) - -module.exports.closeSync = (function (fs$closeSync) { return function (fd) { - // Note that graceful-fs also retries when fs.closeSync() fails. - // Looks like a bug to me, although it's probably a harmless one. - var rval = fs$closeSync.apply(fs, arguments) - retry() - return rval -}})(fs.closeSync) - -// Only patch fs once, otherwise we'll run into a memory leak if -// graceful-fs is loaded multiple times, such as in test environments that -// reset the loaded modules between tests. -// We look for the string `graceful-fs` from the comment above. This -// way we are not adding any extra properties and it will detect if older -// versions of graceful-fs are installed. -if (!/\bgraceful-fs\b/.test(fs.closeSync.toString())) { - fs.closeSync = module.exports.closeSync; - fs.close = module.exports.close; +function cleanupOnExit (tmpfile) { + return function () { + try { + fs.unlinkSync(typeof tmpfile === 'function' ? tmpfile() : tmpfile) + } catch (_) {} + } } -function patch (fs) { - // Everything that references the open() function needs to be in here - polyfills(fs) - fs.gracefulify = patch - fs.FileReadStream = ReadStream; // Legacy name. - fs.FileWriteStream = WriteStream; // Legacy name. - fs.createReadStream = createReadStream - fs.createWriteStream = createWriteStream - var fs$readFile = fs.readFile - fs.readFile = readFile - function readFile (path, options, cb) { - if (typeof options === 'function') - cb = options, options = null - - return go$readFile(path, options, cb) - - function go$readFile (path, options, cb) { - return fs$readFile(path, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$readFile, [path, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) +function writeFile (filename, data, options, callback) { + if (options) { + if (options instanceof Function) { + callback = options + options = {} + } else if (typeof options === 'string') { + options = { encoding: options } } + } else { + options = {} } - var fs$writeFile = fs.writeFile - fs.writeFile = writeFile - function writeFile (path, data, options, cb) { - if (typeof options === 'function') - cb = options, options = null + var Promise = options.Promise || global.Promise + var truename + var fd + var tmpfile + /* istanbul ignore next -- The closure only gets called when onExit triggers */ + var removeOnExitHandler = onExit(cleanupOnExit(() => tmpfile)) + var absoluteName = path.resolve(filename) - return go$writeFile(path, data, options, cb) + new Promise(function serializeSameFile (resolve) { + // make a queue if it doesn't already exist + if (!activeFiles[absoluteName]) activeFiles[absoluteName] = [] - function go$writeFile (path, data, options, cb) { - return fs$writeFile(path, data, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$writeFile, [path, data, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } + activeFiles[absoluteName].push(resolve) // add this job to the queue + if (activeFiles[absoluteName].length === 1) resolve() // kick off the first one + }).then(function getRealPath () { + return new Promise(function (resolve) { + fs.realpath(filename, function (_, realname) { + truename = realname || filename + tmpfile = getTmpname(truename) + resolve() }) - } - } - - var fs$appendFile = fs.appendFile - if (fs$appendFile) - fs.appendFile = appendFile - function appendFile (path, data, options, cb) { - if (typeof options === 'function') - cb = options, options = null - - return go$appendFile(path, data, options, cb) + }) + }).then(function stat () { + return new Promise(function stat (resolve) { + if (options.mode && options.chown) resolve() + else { + // Either mode or chown is not explicitly set + // Default behavior is to copy it from original file + fs.stat(truename, function (err, stats) { + if (err || !stats) resolve() + else { + options = Object.assign({}, options) - function go$appendFile (path, data, options, cb) { - return fs$appendFile(path, data, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$appendFile, [path, data, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } + if (options.mode == null) { + options.mode = stats.mode + } + if (options.chown == null && process.getuid) { + options.chown = { uid: stats.uid, gid: stats.gid } + } + resolve() + } + }) + } + }) + }).then(function thenWriteFile () { + return new Promise(function (resolve, reject) { + fs.open(tmpfile, 'w', options.mode, function (err, _fd) { + fd = _fd + if (err) reject(err) + else resolve() + }) + }) + }).then(function write () { + return new Promise(function (resolve, reject) { + if (Buffer.isBuffer(data)) { + fs.write(fd, data, 0, data.length, 0, function (err) { + if (err) reject(err) + else resolve() + }) + } else if (data != null) { + fs.write(fd, String(data), 0, String(options.encoding || 'utf8'), function (err) { + if (err) reject(err) + else resolve() + }) + } else resolve() + }) + }).then(function syncAndClose () { + return new Promise(function (resolve, reject) { + if (options.fsync !== false) { + fs.fsync(fd, function (err) { + if (err) fs.close(fd, () => reject(err)) + else fs.close(fd, resolve) + }) + } else { + fs.close(fd, resolve) + } + }) + }).then(function chown () { + fd = null + if (options.chown) { + return new Promise(function (resolve, reject) { + fs.chown(tmpfile, options.chown.uid, options.chown.gid, function (err) { + if (err) reject(err) + else resolve() + }) }) } - } - - var fs$readdir = fs.readdir - fs.readdir = readdir - function readdir (path, options, cb) { - var args = [path] - if (typeof options !== 'function') { - args.push(options) - } else { - cb = options + }).then(function chmod () { + if (options.mode) { + return new Promise(function (resolve, reject) { + fs.chmod(tmpfile, options.mode, function (err) { + if (err) reject(err) + else resolve() + }) + }) } - args.push(go$readdir$cb) - - return go$readdir(args) - - function go$readdir$cb (err, files) { - if (files && files.sort) - files.sort() + }).then(function rename () { + return new Promise(function (resolve, reject) { + fs.rename(tmpfile, truename, function (err) { + if (err) reject(err) + else resolve() + }) + }) + }).then(function success () { + removeOnExitHandler() + callback() + }, function fail (err) { + return new Promise(resolve => { + return fd ? fs.close(fd, resolve) : resolve() + }).then(() => { + removeOnExitHandler() + fs.unlink(tmpfile, function () { + callback(err) + }) + }) + }).then(function checkQueue () { + activeFiles[absoluteName].shift() // remove the element added by serializeSameFile + if (activeFiles[absoluteName].length > 0) { + activeFiles[absoluteName][0]() // start next job if one is pending + } else delete activeFiles[absoluteName] + }) +} - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$readdir, [args]]) +function writeFileSync (filename, data, options) { + if (typeof options === 'string') options = { encoding: options } + else if (!options) options = {} + try { + filename = fs.realpathSync(filename) + } catch (ex) { + // it's ok, it'll happen on a not yet existing file + } + var tmpfile = getTmpname(filename) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() + if (!options.mode || !options.chown) { + // Either mode or chown is not explicitly set + // Default behavior is to copy it from original file + try { + var stats = fs.statSync(filename) + options = Object.assign({}, options) + if (!options.mode) { + options.mode = stats.mode + } + if (!options.chown && process.getuid) { + options.chown = { uid: stats.uid, gid: stats.gid } } + } catch (ex) { + // ignore stat errors } } - function go$readdir (args) { - return fs$readdir.apply(fs, args) - } + var fd + var cleanup = cleanupOnExit(tmpfile) + var removeOnExitHandler = onExit(cleanup) - if (process.version.substr(0, 4) === 'v0.8') { - var legStreams = legacy(fs) - ReadStream = legStreams.ReadStream - WriteStream = legStreams.WriteStream + try { + fd = fs.openSync(tmpfile, 'w', options.mode) + if (Buffer.isBuffer(data)) { + fs.writeSync(fd, data, 0, data.length, 0) + } else if (data != null) { + fs.writeSync(fd, String(data), 0, String(options.encoding || 'utf8')) + } + if (options.fsync !== false) { + fs.fsyncSync(fd) + } + fs.closeSync(fd) + if (options.chown) fs.chownSync(tmpfile, options.chown.uid, options.chown.gid) + if (options.mode) fs.chmodSync(tmpfile, options.mode) + fs.renameSync(tmpfile, filename) + removeOnExitHandler() + } catch (err) { + if (fd) { + try { + fs.closeSync(fd) + } catch (ex) { + // ignore close errors at this stage, error may have closed fd already. + } + } + removeOnExitHandler() + cleanup() + throw err } +} - var fs$ReadStream = fs.ReadStream - if (fs$ReadStream) { - ReadStream.prototype = Object.create(fs$ReadStream.prototype) - ReadStream.prototype.open = ReadStream$open - } - var fs$WriteStream = fs.WriteStream - if (fs$WriteStream) { - WriteStream.prototype = Object.create(fs$WriteStream.prototype) - WriteStream.prototype.open = WriteStream$open - } +/***/ }), +/* 216 */ +/***/ (function(module, exports, __webpack_require__) { - fs.ReadStream = ReadStream - fs.WriteStream = WriteStream +/** + * @preserve + * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013) + * + * @author Jens Taylor + * @see http://github.com/homebrewing/brauhaus-diff + * @author Gary Court + * @see http://github.com/garycourt/murmurhash-js + * @author Austin Appleby + * @see http://sites.google.com/site/murmurhash/ + */ +(function(){ + var cache; - function ReadStream (path, options) { - if (this instanceof ReadStream) - return fs$ReadStream.apply(this, arguments), this - else - return ReadStream.apply(Object.create(ReadStream.prototype), arguments) - } + // Call this function without `new` to use the cached object (good for + // single-threaded environments), or with `new` to create a new object. + // + // @param {string} key A UTF-16 or ASCII string + // @param {number} seed An optional positive integer + // @return {object} A MurmurHash3 object for incremental hashing + function MurmurHash3(key, seed) { + var m = this instanceof MurmurHash3 ? this : cache; + m.reset(seed) + if (typeof key === 'string' && key.length > 0) { + m.hash(key); + } - function ReadStream$open () { - var that = this - open(that.path, that.flags, that.mode, function (err, fd) { - if (err) { - if (that.autoClose) - that.destroy() + if (m !== this) { + return m; + } + }; - that.emit('error', err) - } else { - that.fd = fd - that.emit('open', fd) - that.read() - } - }) - } + // Incrementally add a string to this hash + // + // @param {string} key A UTF-16 or ASCII string + // @return {object} this + MurmurHash3.prototype.hash = function(key) { + var h1, k1, i, top, len; - function WriteStream (path, options) { - if (this instanceof WriteStream) - return fs$WriteStream.apply(this, arguments), this - else - return WriteStream.apply(Object.create(WriteStream.prototype), arguments) - } + len = key.length; + this.len += len; - function WriteStream$open () { - var that = this - open(that.path, that.flags, that.mode, function (err, fd) { - if (err) { - that.destroy() - that.emit('error', err) - } else { - that.fd = fd - that.emit('open', fd) - } - }) - } + k1 = this.k1; + i = 0; + switch (this.rem) { + case 0: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) : 0; + case 1: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 8 : 0; + case 2: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 16 : 0; + case 3: + k1 ^= len > i ? (key.charCodeAt(i) & 0xff) << 24 : 0; + k1 ^= len > i ? (key.charCodeAt(i++) & 0xff00) >> 8 : 0; + } - function createReadStream (path, options) { - return new ReadStream(path, options) - } + this.rem = (len + this.rem) & 3; // & 3 is same as % 4 + len -= this.rem; + if (len > 0) { + h1 = this.h1; + while (1) { + k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff; + k1 = (k1 << 15) | (k1 >>> 17); + k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff; - function createWriteStream (path, options) { - return new WriteStream(path, options) - } + h1 ^= k1; + h1 = (h1 << 13) | (h1 >>> 19); + h1 = (h1 * 5 + 0xe6546b64) & 0xffffffff; - var fs$open = fs.open - fs.open = open - function open (path, flags, mode, cb) { - if (typeof mode === 'function') - cb = mode, mode = null + if (i >= len) { + break; + } - return go$open(path, flags, mode, cb) + k1 = ((key.charCodeAt(i++) & 0xffff)) ^ + ((key.charCodeAt(i++) & 0xffff) << 8) ^ + ((key.charCodeAt(i++) & 0xffff) << 16); + top = key.charCodeAt(i++); + k1 ^= ((top & 0xff) << 24) ^ + ((top & 0xff00) >> 8); + } - function go$open (path, flags, mode, cb) { - return fs$open(path, flags, mode, function (err, fd) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$open, [path, flags, mode, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() + k1 = 0; + switch (this.rem) { + case 3: k1 ^= (key.charCodeAt(i + 2) & 0xffff) << 16; + case 2: k1 ^= (key.charCodeAt(i + 1) & 0xffff) << 8; + case 1: k1 ^= (key.charCodeAt(i) & 0xffff); + } + + this.h1 = h1; } - }) - } - } - return fs -} + this.k1 = k1; + return this; + }; -function enqueue (elem) { - debug('ENQUEUE', elem[0].name, elem[1]) - queue.push(elem) -} + // Get the result of this hash + // + // @return {number} The 32-bit hash + MurmurHash3.prototype.result = function() { + var k1, h1; + + k1 = this.k1; + h1 = this.h1; -function retry () { - var elem = queue.shift() - if (elem) { - debug('RETRY', elem[0].name, elem[1]) - elem[0].apply(null, elem[1]) - } -} + if (k1 > 0) { + k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff; + k1 = (k1 << 15) | (k1 >>> 17); + k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff; + h1 ^= k1; + } + h1 ^= this.len; -/***/ }), -/* 216 */ -/***/ (function(module, exports, __webpack_require__) { - -var constants = __webpack_require__(135) - -var origCwd = process.cwd -var cwd = null - -var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform - -process.cwd = function() { - if (!cwd) - cwd = origCwd.call(process) - return cwd -} -try { - process.cwd() -} catch (er) {} + h1 ^= h1 >>> 16; + h1 = (h1 * 0xca6b + (h1 & 0xffff) * 0x85eb0000) & 0xffffffff; + h1 ^= h1 >>> 13; + h1 = (h1 * 0xae35 + (h1 & 0xffff) * 0xc2b20000) & 0xffffffff; + h1 ^= h1 >>> 16; -var chdir = process.chdir -process.chdir = function(d) { - cwd = null - chdir.call(process, d) -} + return h1 >>> 0; + }; -module.exports = patch + // Reset the hash object for reuse + // + // @param {number} seed An optional positive integer + MurmurHash3.prototype.reset = function(seed) { + this.h1 = typeof seed === 'number' ? seed : 0; + this.rem = this.k1 = this.len = 0; + return this; + }; -function patch (fs) { - // (re-)implement some things that are known busted or missing. + // A cached object to use. This can be safely used if you're in a single- + // threaded environment, otherwise you need to create new hashes to use. + cache = new MurmurHash3(); - // lchmod, broken prior to 0.6.2 - // back-port the fix here. - if (constants.hasOwnProperty('O_SYMLINK') && - process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { - patchLchmod(fs) - } + if (true) { + module.exports = MurmurHash3; + } else {} +}()); - // lutimes implementation, or no-op - if (!fs.lutimes) { - patchLutimes(fs) - } - // https://github.com/isaacs/node-graceful-fs/issues/4 - // Chown should not fail on einval or eperm if non-root. - // It should not fail on enosys ever, as this just indicates - // that a fs doesn't support the intended operation. +/***/ }), +/* 217 */ +/***/ (function(module, exports, __webpack_require__) { - fs.chown = chownFix(fs.chown) - fs.fchown = chownFix(fs.fchown) - fs.lchown = chownFix(fs.lchown) +// Note: since nyc uses this module to output coverage, any lines +// that are in the direct sync flow of nyc's outputCoverage are +// ignored, since we can never get coverage for them. +var assert = __webpack_require__(139) +var signals = __webpack_require__(218) - fs.chmod = chmodFix(fs.chmod) - fs.fchmod = chmodFix(fs.fchmod) - fs.lchmod = chmodFix(fs.lchmod) +var EE = __webpack_require__(155) +/* istanbul ignore if */ +if (typeof EE !== 'function') { + EE = EE.EventEmitter +} - fs.chownSync = chownFixSync(fs.chownSync) - fs.fchownSync = chownFixSync(fs.fchownSync) - fs.lchownSync = chownFixSync(fs.lchownSync) +var emitter +if (process.__signal_exit_emitter__) { + emitter = process.__signal_exit_emitter__ +} else { + emitter = process.__signal_exit_emitter__ = new EE() + emitter.count = 0 + emitter.emitted = {} +} - fs.chmodSync = chmodFixSync(fs.chmodSync) - fs.fchmodSync = chmodFixSync(fs.fchmodSync) - fs.lchmodSync = chmodFixSync(fs.lchmodSync) +// Because this emitter is a global, we have to check to see if a +// previous version of this library failed to enable infinite listeners. +// I know what you're about to say. But literally everything about +// signal-exit is a compromise with evil. Get used to it. +if (!emitter.infinite) { + emitter.setMaxListeners(Infinity) + emitter.infinite = true +} - fs.stat = statFix(fs.stat) - fs.fstat = statFix(fs.fstat) - fs.lstat = statFix(fs.lstat) +module.exports = function (cb, opts) { + assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') - fs.statSync = statFixSync(fs.statSync) - fs.fstatSync = statFixSync(fs.fstatSync) - fs.lstatSync = statFixSync(fs.lstatSync) + if (loaded === false) { + load() + } - // if lchmod/lchown do not exist, then make them no-ops - if (!fs.lchmod) { - fs.lchmod = function (path, mode, cb) { - if (cb) process.nextTick(cb) - } - fs.lchmodSync = function () {} + var ev = 'exit' + if (opts && opts.alwaysLast) { + ev = 'afterexit' } - if (!fs.lchown) { - fs.lchown = function (path, uid, gid, cb) { - if (cb) process.nextTick(cb) + + var remove = function () { + emitter.removeListener(ev, cb) + if (emitter.listeners('exit').length === 0 && + emitter.listeners('afterexit').length === 0) { + unload() } - fs.lchownSync = function () {} } + emitter.on(ev, cb) - // on Windows, A/V software can lock the directory, causing this - // to fail with an EACCES or EPERM if the directory contains newly - // created files. Try again on failure, for up to 60 seconds. + return remove +} - // Set the timeout this long because some Windows Anti-Virus, such as Parity - // bit9, may lock files for up to a minute, causing npm package install - // failures. Also, take care to yield the scheduler. Windows scheduling gives - // CPU to a busy looping process, which can cause the program causing the lock - // contention to be starved of CPU by node, so the contention doesn't resolve. - if (platform === "win32") { - fs.rename = (function (fs$rename) { return function (from, to, cb) { - var start = Date.now() - var backoff = 0; - fs$rename(from, to, function CB (er) { - if (er - && (er.code === "EACCES" || er.code === "EPERM") - && Date.now() - start < 60000) { - setTimeout(function() { - fs.stat(to, function (stater, st) { - if (stater && stater.code === "ENOENT") - fs$rename(from, to, CB); - else - cb(er) - }) - }, backoff) - if (backoff < 100) - backoff += 10; - return; - } - if (cb) cb(er) - }) - }})(fs.rename) +module.exports.unload = unload +function unload () { + if (!loaded) { + return } + loaded = false - // if read() returns EAGAIN, then just try it again. - fs.read = (function (fs$read) { return function (fd, buffer, offset, length, position, callback_) { - var callback - if (callback_ && typeof callback_ === 'function') { - var eagCounter = 0 - callback = function (er, _, __) { - if (er && er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - return fs$read.call(fs, fd, buffer, offset, length, position, callback) - } - callback_.apply(this, arguments) - } - } - return fs$read.call(fs, fd, buffer, offset, length, position, callback) - }})(fs.read) - - fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) { - var eagCounter = 0 - while (true) { - try { - return fs$readSync.call(fs, fd, buffer, offset, length, position) - } catch (er) { - if (er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - continue - } - throw er - } - } - }})(fs.readSync) - - function patchLchmod (fs) { - fs.lchmod = function (path, mode, callback) { - fs.open( path - , constants.O_WRONLY | constants.O_SYMLINK - , mode - , function (err, fd) { - if (err) { - if (callback) callback(err) - return - } - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - fs.fchmod(fd, mode, function (err) { - fs.close(fd, function(err2) { - if (callback) callback(err || err2) - }) - }) - }) - } + signals.forEach(function (sig) { + try { + process.removeListener(sig, sigListeners[sig]) + } catch (er) {} + }) + process.emit = originalProcessEmit + process.reallyExit = originalProcessReallyExit + emitter.count -= 1 +} - fs.lchmodSync = function (path, mode) { - var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) +function emit (event, code, signal) { + if (emitter.emitted[event]) { + return + } + emitter.emitted[event] = true + emitter.emit(event, code, signal) +} - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - var threw = true - var ret - try { - ret = fs.fchmodSync(fd, mode) - threw = false - } finally { - if (threw) { - try { - fs.closeSync(fd) - } catch (er) {} - } else { - fs.closeSync(fd) - } - } - return ret +// { : , ... } +var sigListeners = {} +signals.forEach(function (sig) { + sigListeners[sig] = function listener () { + // If there are no other listeners, an exit is coming! + // Simplest way: remove us and then re-send the signal. + // We know that this will kill the process, so we can + // safely emit now. + var listeners = process.listeners(sig) + if (listeners.length === emitter.count) { + unload() + emit('exit', null, sig) + /* istanbul ignore next */ + emit('afterexit', null, sig) + /* istanbul ignore next */ + process.kill(process.pid, sig) } } +}) - function patchLutimes (fs) { - if (constants.hasOwnProperty("O_SYMLINK")) { - fs.lutimes = function (path, at, mt, cb) { - fs.open(path, constants.O_SYMLINK, function (er, fd) { - if (er) { - if (cb) cb(er) - return - } - fs.futimes(fd, at, mt, function (er) { - fs.close(fd, function (er2) { - if (cb) cb(er || er2) - }) - }) - }) - } - - fs.lutimesSync = function (path, at, mt) { - var fd = fs.openSync(path, constants.O_SYMLINK) - var ret - var threw = true - try { - ret = fs.futimesSync(fd, at, mt) - threw = false - } finally { - if (threw) { - try { - fs.closeSync(fd) - } catch (er) {} - } else { - fs.closeSync(fd) - } - } - return ret - } +module.exports.signals = function () { + return signals +} - } else { - fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) } - fs.lutimesSync = function () {} - } - } +module.exports.load = load - function chmodFix (orig) { - if (!orig) return orig - return function (target, mode, cb) { - return orig.call(fs, target, mode, function (er) { - if (chownErOk(er)) er = null - if (cb) cb.apply(this, arguments) - }) - } - } +var loaded = false - function chmodFixSync (orig) { - if (!orig) return orig - return function (target, mode) { - try { - return orig.call(fs, target, mode) - } catch (er) { - if (!chownErOk(er)) throw er - } - } +function load () { + if (loaded) { + return } + loaded = true + // This is the number of onSignalExit's that are in play. + // It's important so that we can count the correct number of + // listeners on signals, and don't wait for the other one to + // handle it instead of us. + emitter.count += 1 - function chownFix (orig) { - if (!orig) return orig - return function (target, uid, gid, cb) { - return orig.call(fs, target, uid, gid, function (er) { - if (chownErOk(er)) er = null - if (cb) cb.apply(this, arguments) - }) + signals = signals.filter(function (sig) { + try { + process.on(sig, sigListeners[sig]) + return true + } catch (er) { + return false } - } + }) - function chownFixSync (orig) { - if (!orig) return orig - return function (target, uid, gid) { - try { - return orig.call(fs, target, uid, gid) - } catch (er) { - if (!chownErOk(er)) throw er - } - } - } + process.emit = processEmit + process.reallyExit = processReallyExit +} +var originalProcessReallyExit = process.reallyExit +function processReallyExit (code) { + process.exitCode = code || 0 + emit('exit', process.exitCode, null) + /* istanbul ignore next */ + emit('afterexit', process.exitCode, null) + /* istanbul ignore next */ + originalProcessReallyExit.call(process, process.exitCode) +} - function statFix (orig) { - if (!orig) return orig - // Older versions of Node erroneously returned signed integers for - // uid + gid. - return function (target, cb) { - return orig.call(fs, target, function (er, stats) { - if (!stats) return cb.apply(this, arguments) - if (stats.uid < 0) stats.uid += 0x100000000 - if (stats.gid < 0) stats.gid += 0x100000000 - if (cb) cb.apply(this, arguments) - }) +var originalProcessEmit = process.emit +function processEmit (ev, arg) { + if (ev === 'exit') { + if (arg !== undefined) { + process.exitCode = arg } + var ret = originalProcessEmit.apply(this, arguments) + emit('exit', process.exitCode, null) + /* istanbul ignore next */ + emit('afterexit', process.exitCode, null) + return ret + } else { + return originalProcessEmit.apply(this, arguments) } +} - function statFixSync (orig) { - if (!orig) return orig - // Older versions of Node erroneously returned signed integers for - // uid + gid. - return function (target) { - var stats = orig.call(fs, target) - if (stats.uid < 0) stats.uid += 0x100000000 - if (stats.gid < 0) stats.gid += 0x100000000 - return stats; - } - } - // ENOSYS means that the fs doesn't support the op. Just ignore - // that, because it doesn't matter. - // - // if there's no getuid, or if getuid() is something other - // than 0, and the error is EINVAL or EPERM, then just ignore - // it. - // - // This specific case is a silent failure in cp, install, tar, - // and most other unix tools that manage permissions. - // - // When running as root, or if other types of errors are - // encountered, then it's strict. - function chownErOk (er) { - if (!er) - return true +/***/ }), +/* 218 */ +/***/ (function(module, exports) { - if (er.code === "ENOSYS") - return true +// This is not the set of all possible signals. +// +// It IS, however, the set of all signals that trigger +// an exit on either Linux or BSD systems. Linux is a +// superset of the signal names supported on BSD, and +// the unknown signals just fail to register, so we can +// catch that easily enough. +// +// Don't bother with SIGKILL. It's uncatchable, which +// means that we can't fire any callbacks anyway. +// +// If a user does happen to register a handler on a non- +// fatal signal like SIGWINCH or something, and then +// exit, it'll end up firing `process.emit('exit')`, so +// the handler will be fired anyway. +// +// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised +// artificially, inherently leave the process in a +// state from which it is not safe to try and enter JS +// listeners. +module.exports = [ + 'SIGABRT', + 'SIGALRM', + 'SIGHUP', + 'SIGINT', + 'SIGTERM' +] - var nonroot = !process.getuid || process.getuid() !== 0 - if (nonroot) { - if (er.code === "EINVAL" || er.code === "EPERM") - return true - } +if (process.platform !== 'win32') { + module.exports.push( + 'SIGVTALRM', + 'SIGXCPU', + 'SIGXFSZ', + 'SIGUSR2', + 'SIGTRAP', + 'SIGSYS', + 'SIGQUIT', + 'SIGIOT' + // should detect profiler and enable/disable accordingly. + // see #21 + // 'SIGPROF' + ) +} - return false - } +if (process.platform === 'linux') { + module.exports.push( + 'SIGIO', + 'SIGPOLL', + 'SIGPWR', + 'SIGSTKFLT', + 'SIGUNUSED' + ) } /***/ }), -/* 217 */ -/***/ (function(module, exports, __webpack_require__) { - -var Stream = __webpack_require__(137).Stream +/* 219 */ +/***/ (function(module, exports) { -module.exports = legacy +module.exports = require(undefined); -function legacy (fs) { - return { - ReadStream: ReadStream, - WriteStream: WriteStream - } +/***/ }), +/* 220 */ +/***/ (function(module, exports, __webpack_require__) { - function ReadStream (path, options) { - if (!(this instanceof ReadStream)) return new ReadStream(path, options); +"use strict"; - Stream.call(this); +const isPlainObj = __webpack_require__(221); - var self = this; +module.exports = (obj, opts) => { + if (!isPlainObj(obj)) { + throw new TypeError('Expected a plain object'); + } - this.path = path; - this.fd = null; - this.readable = true; - this.paused = false; + opts = opts || {}; - this.flags = 'r'; - this.mode = 438; /*=0666*/ - this.bufferSize = 64 * 1024; + // DEPRECATED + if (typeof opts === 'function') { + throw new TypeError('Specify the compare function as an option instead'); + } - options = options || {}; - - // Mixin options into this - var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; - this[key] = options[key]; - } - - if (this.encoding) this.setEncoding(this.encoding); + const deep = opts.deep; + const seenInput = []; + const seenOutput = []; - if (this.start !== undefined) { - if ('number' !== typeof this.start) { - throw TypeError('start must be a Number'); - } - if (this.end === undefined) { - this.end = Infinity; - } else if ('number' !== typeof this.end) { - throw TypeError('end must be a Number'); - } + const sortKeys = x => { + const seenIndex = seenInput.indexOf(x); - if (this.start > this.end) { - throw new Error('start must be <= end'); - } + if (seenIndex !== -1) { + return seenOutput[seenIndex]; + } - this.pos = this.start; - } + const ret = {}; + const keys = Object.keys(x).sort(opts.compare); - if (this.fd !== null) { - process.nextTick(function() { - self._read(); - }); - return; - } + seenInput.push(x); + seenOutput.push(ret); - fs.open(this.path, this.flags, this.mode, function (err, fd) { - if (err) { - self.emit('error', err); - self.readable = false; - return; - } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const val = x[key]; - self.fd = fd; - self.emit('open', fd); - self._read(); - }) - } + if (deep && Array.isArray(val)) { + const retArr = []; - function WriteStream (path, options) { - if (!(this instanceof WriteStream)) return new WriteStream(path, options); + for (let j = 0; j < val.length; j++) { + retArr[j] = isPlainObj(val[j]) ? sortKeys(val[j]) : val[j]; + } - Stream.call(this); + ret[key] = retArr; + continue; + } - this.path = path; - this.fd = null; - this.writable = true; + ret[key] = deep && isPlainObj(val) ? sortKeys(val) : val; + } - this.flags = 'w'; - this.encoding = 'binary'; - this.mode = 438; /*=0666*/ - this.bytesWritten = 0; + return ret; + }; - options = options || {}; + return sortKeys(obj); +}; - // Mixin options into this - var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; - this[key] = options[key]; - } - if (this.start !== undefined) { - if ('number' !== typeof this.start) { - throw TypeError('start must be a Number'); - } - if (this.start < 0) { - throw new Error('start must be >= zero'); - } +/***/ }), +/* 221 */ +/***/ (function(module, exports, __webpack_require__) { - this.pos = this.start; - } +"use strict"; - this.busy = false; - this._queue = []; +var toString = Object.prototype.toString; - if (this.fd === null) { - this._open = fs.open; - this._queue.push([this._open, this.path, this.flags, this.mode, undefined]); - this.flush(); - } - } -} +module.exports = function (x) { + var prototype; + return toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({})); +}; /***/ }), -/* 218 */ +/* 222 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +const fs = __webpack_require__(133); +const path = __webpack_require__(4); +const pify = __webpack_require__(223); +const semver = __webpack_require__(189); -module.exports = clone - -function clone (obj) { - if (obj === null || typeof obj !== 'object') - return obj - - if (obj instanceof Object) - var copy = { __proto__: obj.__proto__ } - else - var copy = Object.create(null) - - Object.getOwnPropertyNames(obj).forEach(function (key) { - Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)) - }) - - return copy -} +const defaults = { + mode: 0o777 & (~process.umask()), + fs +}; +const useNativeRecursiveOption = semver.satisfies(process.version, '>=10.12.0'); -/***/ }), -/* 219 */ -/***/ (function(module, exports, __webpack_require__) { +// https://github.com/nodejs/node/issues/8987 +// https://github.com/libuv/libuv/pull/1088 +const checkPath = pth => { + if (process.platform === 'win32') { + const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path.parse(pth).root, '')); -"use strict"; + if (pathHasInvalidWinCharacters) { + const error = new Error(`Path contains invalid characters: ${pth}`); + error.code = 'EINVAL'; + throw error; + } + } +}; -module.exports = writeFile -module.exports.sync = writeFileSync -module.exports._getTmpname = getTmpname // for testing -module.exports._cleanupOnExit = cleanupOnExit +const permissionError = pth => { + // This replicates the exception of `fs.mkdir` with native the + // `recusive` option when run on an invalid drive under Windows. + const error = new Error(`operation not permitted, mkdir '${pth}'`); + error.code = 'EPERM'; + error.errno = -4048; + error.path = pth; + error.syscall = 'mkdir'; + return error; +}; -var fs = __webpack_require__(220) -var MurmurHash3 = __webpack_require__(224) -var onExit = __webpack_require__(225) -var path = __webpack_require__(4) -var activeFiles = {} +const makeDir = (input, options) => Promise.resolve().then(() => { + checkPath(input); + options = Object.assign({}, defaults, options); -// if we run inside of a worker_thread, `process.pid` is not unique -/* istanbul ignore next */ -var threadId = (function getId () { - try { - var workerThreads = __webpack_require__(227) + // TODO: Use util.promisify when targeting Node.js 8 + const mkdir = pify(options.fs.mkdir); + const stat = pify(options.fs.stat); - /// if we are in main thread, this is set to `0` - return workerThreads.threadId - } catch (e) { - // worker_threads are not available, fallback to 0 - return 0 - } -})() + if (useNativeRecursiveOption && options.fs.mkdir === fs.mkdir) { + const pth = path.resolve(input); -var invocations = 0 -function getTmpname (filename) { - return filename + '.' + - MurmurHash3(__filename) - .hash(String(process.pid)) - .hash(String(threadId)) - .hash(String(++invocations)) - .result() -} + return mkdir(pth, { + mode: options.mode, + recursive: true + }).then(() => pth); + } -function cleanupOnExit (tmpfile) { - return function () { - try { - fs.unlinkSync(typeof tmpfile === 'function' ? tmpfile() : tmpfile) - } catch (_) {} - } -} + const make = pth => { + return mkdir(pth, options.mode) + .then(() => pth) + .catch(error => { + if (error.code === 'EPERM') { + throw error; + } -function writeFile (filename, data, options, callback) { - if (options) { - if (options instanceof Function) { - callback = options - options = {} - } else if (typeof options === 'string') { - options = { encoding: options } - } - } else { - options = {} - } + if (error.code === 'ENOENT') { + if (path.dirname(pth) === pth) { + throw permissionError(pth); + } - var Promise = options.Promise || global.Promise - var truename - var fd - var tmpfile - /* istanbul ignore next -- The closure only gets called when onExit triggers */ - var removeOnExitHandler = onExit(cleanupOnExit(() => tmpfile)) - var absoluteName = path.resolve(filename) + if (error.message.includes('null bytes')) { + throw error; + } - new Promise(function serializeSameFile (resolve) { - // make a queue if it doesn't already exist - if (!activeFiles[absoluteName]) activeFiles[absoluteName] = [] + return make(path.dirname(pth)).then(() => make(pth)); + } - activeFiles[absoluteName].push(resolve) // add this job to the queue - if (activeFiles[absoluteName].length === 1) resolve() // kick off the first one - }).then(function getRealPath () { - return new Promise(function (resolve) { - fs.realpath(filename, function (_, realname) { - truename = realname || filename - tmpfile = getTmpname(truename) - resolve() - }) - }) - }).then(function stat () { - return new Promise(function stat (resolve) { - if (options.mode && options.chown) resolve() - else { - // Either mode or chown is not explicitly set - // Default behavior is to copy it from original file - fs.stat(truename, function (err, stats) { - if (err || !stats) resolve() - else { - options = Object.assign({}, options) + return stat(pth) + .then(stats => stats.isDirectory() ? pth : Promise.reject()) + .catch(() => { + throw error; + }); + }); + }; - if (options.mode == null) { - options.mode = stats.mode - } - if (options.chown == null && process.getuid) { - options.chown = { uid: stats.uid, gid: stats.gid } - } - resolve() - } - }) - } - }) - }).then(function thenWriteFile () { - return new Promise(function (resolve, reject) { - fs.open(tmpfile, 'w', options.mode, function (err, _fd) { - fd = _fd - if (err) reject(err) - else resolve() - }) - }) - }).then(function write () { - return new Promise(function (resolve, reject) { - if (Buffer.isBuffer(data)) { - fs.write(fd, data, 0, data.length, 0, function (err) { - if (err) reject(err) - else resolve() - }) - } else if (data != null) { - fs.write(fd, String(data), 0, String(options.encoding || 'utf8'), function (err) { - if (err) reject(err) - else resolve() - }) - } else resolve() - }) - }).then(function syncAndClose () { - return new Promise(function (resolve, reject) { - if (options.fsync !== false) { - fs.fsync(fd, function (err) { - if (err) fs.close(fd, () => reject(err)) - else fs.close(fd, resolve) - }) - } else { - fs.close(fd, resolve) - } - }) - }).then(function chown () { - fd = null - if (options.chown) { - return new Promise(function (resolve, reject) { - fs.chown(tmpfile, options.chown.uid, options.chown.gid, function (err) { - if (err) reject(err) - else resolve() - }) - }) - } - }).then(function chmod () { - if (options.mode) { - return new Promise(function (resolve, reject) { - fs.chmod(tmpfile, options.mode, function (err) { - if (err) reject(err) - else resolve() - }) - }) - } - }).then(function rename () { - return new Promise(function (resolve, reject) { - fs.rename(tmpfile, truename, function (err) { - if (err) reject(err) - else resolve() - }) - }) - }).then(function success () { - removeOnExitHandler() - callback() - }, function fail (err) { - return new Promise(resolve => { - return fd ? fs.close(fd, resolve) : resolve() - }).then(() => { - removeOnExitHandler() - fs.unlink(tmpfile, function () { - callback(err) - }) - }) - }).then(function checkQueue () { - activeFiles[absoluteName].shift() // remove the element added by serializeSameFile - if (activeFiles[absoluteName].length > 0) { - activeFiles[absoluteName][0]() // start next job if one is pending - } else delete activeFiles[absoluteName] - }) -} + return make(path.resolve(input)); +}); -function writeFileSync (filename, data, options) { - if (typeof options === 'string') options = { encoding: options } - else if (!options) options = {} - try { - filename = fs.realpathSync(filename) - } catch (ex) { - // it's ok, it'll happen on a not yet existing file - } - var tmpfile = getTmpname(filename) +module.exports = makeDir; +module.exports.default = makeDir; - if (!options.mode || !options.chown) { - // Either mode or chown is not explicitly set - // Default behavior is to copy it from original file - try { - var stats = fs.statSync(filename) - options = Object.assign({}, options) - if (!options.mode) { - options.mode = stats.mode - } - if (!options.chown && process.getuid) { - options.chown = { uid: stats.uid, gid: stats.gid } - } - } catch (ex) { - // ignore stat errors - } - } +module.exports.sync = (input, options) => { + checkPath(input); + options = Object.assign({}, defaults, options); - var fd - var cleanup = cleanupOnExit(tmpfile) - var removeOnExitHandler = onExit(cleanup) + if (useNativeRecursiveOption && options.fs.mkdirSync === fs.mkdirSync) { + const pth = path.resolve(input); - try { - fd = fs.openSync(tmpfile, 'w', options.mode) - if (Buffer.isBuffer(data)) { - fs.writeSync(fd, data, 0, data.length, 0) - } else if (data != null) { - fs.writeSync(fd, String(data), 0, String(options.encoding || 'utf8')) - } - if (options.fsync !== false) { - fs.fsyncSync(fd) - } - fs.closeSync(fd) - if (options.chown) fs.chownSync(tmpfile, options.chown.uid, options.chown.gid) - if (options.mode) fs.chmodSync(tmpfile, options.mode) - fs.renameSync(tmpfile, filename) - removeOnExitHandler() - } catch (err) { - if (fd) { - try { - fs.closeSync(fd) - } catch (ex) { - // ignore close errors at this stage, error may have closed fd already. - } - } - removeOnExitHandler() - cleanup() - throw err - } -} + fs.mkdirSync(pth, { + mode: options.mode, + recursive: true + }); + return pth; + } -/***/ }), -/* 220 */ -/***/ (function(module, exports, __webpack_require__) { + const make = pth => { + try { + options.fs.mkdirSync(pth, options.mode); + } catch (error) { + if (error.code === 'EPERM') { + throw error; + } -var fs = __webpack_require__(133) -var polyfills = __webpack_require__(221) -var legacy = __webpack_require__(223) -var queue = [] + if (error.code === 'ENOENT') { + if (path.dirname(pth) === pth) { + throw permissionError(pth); + } -var util = __webpack_require__(111) + if (error.message.includes('null bytes')) { + throw error; + } -function noop () {} + make(path.dirname(pth)); + return make(pth); + } -var debug = noop -if (util.debuglog) - debug = util.debuglog('gfs4') -else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) - debug = function() { - var m = util.format.apply(util, arguments) - m = 'GFS4: ' + m.split(/\n/).join('\nGFS4: ') - console.error(m) - } + try { + if (!options.fs.statSync(pth).isDirectory()) { + throw new Error('The path is not a directory'); + } + } catch (_) { + throw error; + } + } -if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) { - process.on('exit', function() { - debug(queue) - __webpack_require__(139).equal(queue.length, 0) - }) -} + return pth; + }; -module.exports = patch(__webpack_require__(222)) -if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH) { - module.exports = patch(fs) -} + return make(path.resolve(input)); +}; -// Always patch fs.close/closeSync, because we want to -// retry() whenever a close happens *anywhere* in the program. -// This is essential when multiple graceful-fs instances are -// in play at the same time. -module.exports.close = -fs.close = (function (fs$close) { return function (fd, cb) { - return fs$close.call(fs, fd, function (err) { - if (!err) - retry() - if (typeof cb === 'function') - cb.apply(this, arguments) - }) -}})(fs.close) +/***/ }), +/* 223 */ +/***/ (function(module, exports, __webpack_require__) { -module.exports.closeSync = -fs.closeSync = (function (fs$closeSync) { return function (fd) { - // Note that graceful-fs also retries when fs.closeSync() fails. - // Looks like a bug to me, although it's probably a harmless one. - var rval = fs$closeSync.apply(fs, arguments) - retry() - return rval -}})(fs.closeSync) +"use strict"; -function patch (fs) { - // Everything that references the open() function needs to be in here - polyfills(fs) - fs.gracefulify = patch - fs.FileReadStream = ReadStream; // Legacy name. - fs.FileWriteStream = WriteStream; // Legacy name. - fs.createReadStream = createReadStream - fs.createWriteStream = createWriteStream - var fs$readFile = fs.readFile - fs.readFile = readFile - function readFile (path, options, cb) { - if (typeof options === 'function') - cb = options, options = null - return go$readFile(path, options, cb) +const processFn = (fn, options) => function (...args) { + const P = options.promiseModule; - function go$readFile (path, options, cb) { - return fs$readFile(path, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$readFile, [path, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } + return new P((resolve, reject) => { + if (options.multiArgs) { + args.push((...result) => { + if (options.errorFirst) { + if (result[0]) { + reject(result); + } else { + result.shift(); + resolve(result); + } + } else { + resolve(result); + } + }); + } else if (options.errorFirst) { + args.push((error, result) => { + if (error) { + reject(error); + } else { + resolve(result); + } + }); + } else { + args.push(resolve); + } - var fs$writeFile = fs.writeFile - fs.writeFile = writeFile - function writeFile (path, data, options, cb) { - if (typeof options === 'function') - cb = options, options = null + fn.apply(this, args); + }); +}; - return go$writeFile(path, data, options, cb) +module.exports = (input, options) => { + options = Object.assign({ + exclude: [/.+(Sync|Stream)$/], + errorFirst: true, + promiseModule: Promise + }, options); - function go$writeFile (path, data, options, cb) { - return fs$writeFile(path, data, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$writeFile, [path, data, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } + const objType = typeof input; + if (!(input !== null && (objType === 'object' || objType === 'function'))) { + throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${input === null ? 'null' : objType}\``); + } - var fs$appendFile = fs.appendFile - if (fs$appendFile) - fs.appendFile = appendFile - function appendFile (path, data, options, cb) { - if (typeof options === 'function') - cb = options, options = null + const filter = key => { + const match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key); + return options.include ? options.include.some(match) : !options.exclude.some(match); + }; - return go$appendFile(path, data, options, cb) + let ret; + if (objType === 'function') { + ret = function (...args) { + return options.excludeMain ? input(...args) : processFn(input, options).apply(this, args); + }; + } else { + ret = Object.create(Object.getPrototypeOf(input)); + } - function go$appendFile (path, data, options, cb) { - return fs$appendFile(path, data, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$appendFile, [path, data, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } + for (const key in input) { // eslint-disable-line guard-for-in + const property = input[key]; + ret[key] = typeof property === 'function' && filter(key) ? processFn(property, options) : property; + } - var fs$readdir = fs.readdir - fs.readdir = readdir - function readdir (path, options, cb) { - var args = [path] - if (typeof options !== 'function') { - args.push(options) - } else { - cb = options - } - args.push(go$readdir$cb) + return ret; +}; - return go$readdir(args) - function go$readdir$cb (err, files) { - if (files && files.sort) - files.sort() +/***/ }), +/* 224 */ +/***/ (function(module, exports, __webpack_require__) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$readdir, [args]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - } - } +"use strict"; - function go$readdir (args) { - return fs$readdir.apply(fs, args) - } - if (process.version.substr(0, 4) === 'v0.8') { - var legStreams = legacy(fs) - ReadStream = legStreams.ReadStream - WriteStream = legStreams.WriteStream - } +// detect either spaces or tabs but not both to properly handle tabs +// for indentation and spaces for alignment +const INDENT_RE = /^(?:( )+|\t+)/; - var fs$ReadStream = fs.ReadStream - ReadStream.prototype = Object.create(fs$ReadStream.prototype) - ReadStream.prototype.open = ReadStream$open +function getMostUsed(indents) { + let result = 0; + let maxUsed = 0; + let maxWeight = 0; - var fs$WriteStream = fs.WriteStream - WriteStream.prototype = Object.create(fs$WriteStream.prototype) - WriteStream.prototype.open = WriteStream$open + for (const entry of indents) { + // TODO: use destructuring when targeting Node.js 6 + const key = entry[0]; + const val = entry[1]; - fs.ReadStream = ReadStream - fs.WriteStream = WriteStream + const u = val[0]; + const w = val[1]; - function ReadStream (path, options) { - if (this instanceof ReadStream) - return fs$ReadStream.apply(this, arguments), this - else - return ReadStream.apply(Object.create(ReadStream.prototype), arguments) - } + if (u > maxUsed || (u === maxUsed && w > maxWeight)) { + maxUsed = u; + maxWeight = w; + result = Number(key); + } + } - function ReadStream$open () { - var that = this - open(that.path, that.flags, that.mode, function (err, fd) { - if (err) { - if (that.autoClose) - that.destroy() + return result; +} - that.emit('error', err) - } else { - that.fd = fd - that.emit('open', fd) - that.read() - } - }) - } +module.exports = str => { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } - function WriteStream (path, options) { - if (this instanceof WriteStream) - return fs$WriteStream.apply(this, arguments), this - else - return WriteStream.apply(Object.create(WriteStream.prototype), arguments) - } + // used to see if tabs or spaces are the most used + let tabs = 0; + let spaces = 0; - function WriteStream$open () { - var that = this - open(that.path, that.flags, that.mode, function (err, fd) { - if (err) { - that.destroy() - that.emit('error', err) - } else { - that.fd = fd - that.emit('open', fd) - } - }) - } + // remember the size of previous line's indentation + let prev = 0; - function createReadStream (path, options) { - return new ReadStream(path, options) - } + // remember how many indents/unindents as occurred for a given size + // and how much lines follow a given indentation + // + // indents = { + // 3: [1, 0], + // 4: [1, 5], + // 5: [1, 0], + // 12: [1, 0], + // } + const indents = new Map(); - function createWriteStream (path, options) { - return new WriteStream(path, options) - } + // pointer to the array of last used indent + let current; - var fs$open = fs.open - fs.open = open - function open (path, flags, mode, cb) { - if (typeof mode === 'function') - cb = mode, mode = null + // whether the last action was an indent (opposed to an unindent) + let isIndent; - return go$open(path, flags, mode, cb) + for (const line of str.split(/\n/g)) { + if (!line) { + // ignore empty lines + continue; + } - function go$open (path, flags, mode, cb) { - return fs$open(path, flags, mode, function (err, fd) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$open, [path, flags, mode, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } + let indent; + const matches = line.match(INDENT_RE); - return fs -} + if (matches) { + indent = matches[0].length; -function enqueue (elem) { - debug('ENQUEUE', elem[0].name, elem[1]) - queue.push(elem) -} + if (matches[1]) { + spaces++; + } else { + tabs++; + } + } else { + indent = 0; + } -function retry () { - var elem = queue.shift() - if (elem) { - debug('RETRY', elem[0].name, elem[1]) - elem[0].apply(null, elem[1]) - } -} + const diff = indent - prev; + prev = indent; + + if (diff) { + // an indent or unindent has been detected + + isIndent = diff > 0; + + current = indents.get(isIndent ? diff : -diff); + + if (current) { + current[0]++; + } else { + current = [1, 0]; + indents.set(diff, current); + } + } else if (current) { + // if the last action was an indent, increment the weight + current[1] += Number(isIndent); + } + } + + const amount = getMostUsed(indents); + + let type; + let indent; + if (!amount) { + type = null; + indent = ''; + } else if (spaces >= tabs) { + type = 'space'; + indent = ' '.repeat(amount); + } else { + type = 'tab'; + indent = '\t'.repeat(amount); + } + + return { + amount, + type, + indent + }; +}; /***/ }), -/* 221 */ -/***/ (function(module, exports, __webpack_require__) { +/* 225 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { -var fs = __webpack_require__(222) -var constants = __webpack_require__(135) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "installInDir", function() { return installInDir; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runScriptInPackage", function() { return runScriptInPackage; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runScriptInPackageStreaming", function() { return runScriptInPackageStreaming; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "yarnWorkspacesInfo", function() { return yarnWorkspacesInfo; }); +/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(226); +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ -var origCwd = process.cwd -var cwd = null +const YARN_EXEC = process.env.npm_execpath || 'yarn'; -var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform +/** + * Install all dependencies in the given directory + */ +async function installInDir(directory, extraArgs = []) { + const options = ['install', '--non-interactive', ...extraArgs]; // We pass the mutex flag to ensure only one instance of yarn runs at any + // given time (e.g. to avoid conflicts). -process.cwd = function() { - if (!cwd) - cwd = origCwd.call(process) - return cwd + await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])(YARN_EXEC, options, { + cwd: directory + }); } -try { - process.cwd() -} catch (er) {} +/** + * Run script in the given directory + */ -var chdir = process.chdir -process.chdir = function(d) { - cwd = null - chdir.call(process, d) +async function runScriptInPackage(script, args, pkg) { + const execOpts = { + cwd: pkg.path + }; + await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])(YARN_EXEC, ['run', script, ...args], execOpts); } +/** + * Run script in the given directory + */ -module.exports = patch - -function patch (fs) { - // (re-)implement some things that are known busted or missing. +function runScriptInPackageStreaming({ + script, + args, + pkg, + debug +}) { + const execOpts = { + cwd: pkg.path + }; + return Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawnStreaming"])(YARN_EXEC, ['run', script, ...args], execOpts, { + prefix: pkg.name, + debug + }); +} +async function yarnWorkspacesInfo(directory) { + const { + stdout + } = await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])(YARN_EXEC, ['--json', 'workspaces', 'info'], { + cwd: directory, + stdio: 'pipe' + }); - // lchmod, broken prior to 0.6.2 - // back-port the fix here. - if (constants.hasOwnProperty('O_SYMLINK') && - process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { - patchLchmod(fs) + try { + return JSON.parse(JSON.parse(stdout).data); + } catch (error) { + throw new Error(`'yarn workspaces info --json' produced unexpected output: \n${stdout}`); } +} - // lutimes implementation, or no-op - if (!fs.lutimes) { - patchLutimes(fs) - } +/***/ }), +/* 226 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { - // https://github.com/isaacs/node-graceful-fs/issues/4 - // Chown should not fail on einval or eperm if non-root. - // It should not fail on enosys ever, as this just indicates - // that a fs doesn't support the intended operation. +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "spawn", function() { return spawn; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "spawnStreaming", function() { return spawnStreaming; }); +/* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(137); +/* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(stream__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(227); +/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(236); +/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(execa__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var strong_log_transformer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(271); +/* harmony import */ var strong_log_transformer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(strong_log_transformer__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(143); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } - fs.chown = chownFix(fs.chown) - fs.fchown = chownFix(fs.fchown) - fs.lchown = chownFix(fs.lchown) +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } - fs.chmod = chmodFix(fs.chmod) - fs.fchmod = chmodFix(fs.fchmod) - fs.lchmod = chmodFix(fs.lchmod) +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - fs.chownSync = chownFixSync(fs.chownSync) - fs.fchownSync = chownFixSync(fs.fchownSync) - fs.lchownSync = chownFixSync(fs.lchownSync) +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ - fs.chmodSync = chmodFixSync(fs.chmodSync) - fs.fchmodSync = chmodFixSync(fs.fchmodSync) - fs.lchmodSync = chmodFixSync(fs.lchmodSync) - fs.stat = statFix(fs.stat) - fs.fstat = statFix(fs.fstat) - fs.lstat = statFix(fs.lstat) - fs.statSync = statFixSync(fs.statSync) - fs.fstatSync = statFixSync(fs.fstatSync) - fs.lstatSync = statFixSync(fs.lstatSync) - // if lchmod/lchown do not exist, then make them no-ops - if (!fs.lchmod) { - fs.lchmod = function (path, mode, cb) { - if (cb) process.nextTick(cb) - } - fs.lchmodSync = function () {} - } - if (!fs.lchown) { - fs.lchown = function (path, uid, gid, cb) { - if (cb) process.nextTick(cb) - } - fs.lchownSync = function () {} - } - // on Windows, A/V software can lock the directory, causing this - // to fail with an EACCES or EPERM if the directory contains newly - // created files. Try again on failure, for up to 60 seconds. +const colorWheel = [chalk__WEBPACK_IMPORTED_MODULE_1___default.a.cyan, chalk__WEBPACK_IMPORTED_MODULE_1___default.a.magenta, chalk__WEBPACK_IMPORTED_MODULE_1___default.a.blue, chalk__WEBPACK_IMPORTED_MODULE_1___default.a.yellow, chalk__WEBPACK_IMPORTED_MODULE_1___default.a.green]; - // Set the timeout this long because some Windows Anti-Virus, such as Parity - // bit9, may lock files for up to a minute, causing npm package install - // failures. Also, take care to yield the scheduler. Windows scheduling gives - // CPU to a busy looping process, which can cause the program causing the lock - // contention to be starved of CPU by node, so the contention doesn't resolve. - if (platform === "win32") { - fs.rename = (function (fs$rename) { return function (from, to, cb) { - var start = Date.now() - var backoff = 0; - fs$rename(from, to, function CB (er) { - if (er - && (er.code === "EACCES" || er.code === "EPERM") - && Date.now() - start < 60000) { - setTimeout(function() { - fs.stat(to, function (stater, st) { - if (stater && stater.code === "ENOENT") - fs$rename(from, to, CB); - else - cb(er) - }) - }, backoff) - if (backoff < 100) - backoff += 10; - return; - } - if (cb) cb(er) - }) - }})(fs.rename) - } - - // if read() returns EAGAIN, then just try it again. - fs.read = (function (fs$read) { return function (fd, buffer, offset, length, position, callback_) { - var callback - if (callback_ && typeof callback_ === 'function') { - var eagCounter = 0 - callback = function (er, _, __) { - if (er && er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - return fs$read.call(fs, fd, buffer, offset, length, position, callback) - } - callback_.apply(this, arguments) - } - } - return fs$read.call(fs, fd, buffer, offset, length, position, callback) - }})(fs.read) +const getColor = () => { + const color = colorWheel.shift(); + colorWheel.push(color); + return color; +}; - fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) { - var eagCounter = 0 - while (true) { - try { - return fs$readSync.call(fs, fd, buffer, offset, length, position) - } catch (er) { - if (er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - continue - } - throw er - } - } - }})(fs.readSync) +function spawn(command, args, opts) { + return execa__WEBPACK_IMPORTED_MODULE_2___default()(command, args, _objectSpread({ + stdio: 'inherit', + preferLocal: true + }, opts)); } -function patchLchmod (fs) { - fs.lchmod = function (path, mode, callback) { - fs.open( path - , constants.O_WRONLY | constants.O_SYMLINK - , mode - , function (err, fd) { - if (err) { - if (callback) callback(err) - return - } - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - fs.fchmod(fd, mode, function (err) { - fs.close(fd, function(err2) { - if (callback) callback(err || err2) - }) - }) - }) - } - - fs.lchmodSync = function (path, mode) { - var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) +function streamToLog(debug = true) { + return new stream__WEBPACK_IMPORTED_MODULE_0__["Writable"]({ + objectMode: true, - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - var threw = true - var ret - try { - ret = fs.fchmodSync(fd, mode) - threw = false - } finally { - if (threw) { - try { - fs.closeSync(fd) - } catch (er) {} + write(line, _, cb) { + if (line.endsWith('\n')) { + _log__WEBPACK_IMPORTED_MODULE_4__["log"][debug ? 'debug' : 'write'](line.slice(0, -1)); } else { - fs.closeSync(fd) + _log__WEBPACK_IMPORTED_MODULE_4__["log"][debug ? 'debug' : 'write'](line); } - } - return ret - } -} - -function patchLutimes (fs) { - if (constants.hasOwnProperty("O_SYMLINK")) { - fs.lutimes = function (path, at, mt, cb) { - fs.open(path, constants.O_SYMLINK, function (er, fd) { - if (er) { - if (cb) cb(er) - return - } - fs.futimes(fd, at, mt, function (er) { - fs.close(fd, function (er2) { - if (cb) cb(er || er2) - }) - }) - }) - } - fs.lutimesSync = function (path, at, mt) { - var fd = fs.openSync(path, constants.O_SYMLINK) - var ret - var threw = true - try { - ret = fs.futimesSync(fd, at, mt) - threw = false - } finally { - if (threw) { - try { - fs.closeSync(fd) - } catch (er) {} - } else { - fs.closeSync(fd) - } - } - return ret + cb(); } - } else { - fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) } - fs.lutimesSync = function () {} - } -} - -function chmodFix (orig) { - if (!orig) return orig - return function (target, mode, cb) { - return orig.call(fs, target, mode, function (er) { - if (chownErOk(er)) er = null - if (cb) cb.apply(this, arguments) - }) - } + }); } -function chmodFixSync (orig) { - if (!orig) return orig - return function (target, mode) { - try { - return orig.call(fs, target, mode) - } catch (er) { - if (!chownErOk(er)) throw er - } - } +function spawnStreaming(command, args, opts, { + prefix, + debug +}) { + const spawned = execa__WEBPACK_IMPORTED_MODULE_2___default()(command, args, _objectSpread({ + stdio: ['ignore', 'pipe', 'pipe'], + preferLocal: true + }, opts)); + const color = getColor(); + const prefixedStdout = strong_log_transformer__WEBPACK_IMPORTED_MODULE_3___default()({ + tag: color.bold(prefix) + }); + const prefixedStderr = strong_log_transformer__WEBPACK_IMPORTED_MODULE_3___default()({ + mergeMultiline: true, + tag: color.bold(prefix) + }); + spawned.stdout.pipe(prefixedStdout).pipe(streamToLog(debug)); + spawned.stderr.pipe(prefixedStderr).pipe(streamToLog(debug)); + return spawned; } +/***/ }), +/* 227 */ +/***/ (function(module, exports, __webpack_require__) { -function chownFix (orig) { - if (!orig) return orig - return function (target, uid, gid, cb) { - return orig.call(fs, target, uid, gid, function (er) { - if (chownErOk(er)) er = null - if (cb) cb.apply(this, arguments) - }) - } -} - -function chownFixSync (orig) { - if (!orig) return orig - return function (target, uid, gid) { - try { - return orig.call(fs, target, uid, gid) - } catch (er) { - if (!chownErOk(er)) throw er - } - } -} +"use strict"; +const ansiStyles = __webpack_require__(228); +const {stdout: stdoutColor, stderr: stderrColor} = __webpack_require__(232); +const { + stringReplaceAll, + stringEncaseCRLFWithFirstIndex +} = __webpack_require__(234); -function statFix (orig) { - if (!orig) return orig - // Older versions of Node erroneously returned signed integers for - // uid + gid. - return function (target, cb) { - return orig.call(fs, target, function (er, stats) { - if (!stats) return cb.apply(this, arguments) - if (stats.uid < 0) stats.uid += 0x100000000 - if (stats.gid < 0) stats.gid += 0x100000000 - if (cb) cb.apply(this, arguments) - }) - } -} +const {isArray} = Array; -function statFixSync (orig) { - if (!orig) return orig - // Older versions of Node erroneously returned signed integers for - // uid + gid. - return function (target) { - var stats = orig.call(fs, target) - if (stats.uid < 0) stats.uid += 0x100000000 - if (stats.gid < 0) stats.gid += 0x100000000 - return stats; - } -} +// `supportsColor.level` → `ansiStyles.color[name]` mapping +const levelMapping = [ + 'ansi', + 'ansi', + 'ansi256', + 'ansi16m' +]; -// ENOSYS means that the fs doesn't support the op. Just ignore -// that, because it doesn't matter. -// -// if there's no getuid, or if getuid() is something other -// than 0, and the error is EINVAL or EPERM, then just ignore -// it. -// -// This specific case is a silent failure in cp, install, tar, -// and most other unix tools that manage permissions. -// -// When running as root, or if other types of errors are -// encountered, then it's strict. -function chownErOk (er) { - if (!er) - return true +const styles = Object.create(null); - if (er.code === "ENOSYS") - return true +const applyOptions = (object, options = {}) => { + if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) { + throw new Error('The `level` option should be an integer from 0 to 3'); + } - var nonroot = !process.getuid || process.getuid() !== 0 - if (nonroot) { - if (er.code === "EINVAL" || er.code === "EPERM") - return true - } + // Detect level if not set manually + const colorLevel = stdoutColor ? stdoutColor.level : 0; + object.level = options.level === undefined ? colorLevel : options.level; +}; - return false +class ChalkClass { + constructor(options) { + // eslint-disable-next-line no-constructor-return + return chalkFactory(options); + } } +const chalkFactory = options => { + const chalk = {}; + applyOptions(chalk, options); -/***/ }), -/* 222 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var fs = __webpack_require__(133) + chalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_); -module.exports = clone(fs) + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); -function clone (obj) { - if (obj === null || typeof obj !== 'object') - return obj + chalk.template.constructor = () => { + throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.'); + }; - if (obj instanceof Object) - var copy = { __proto__: obj.__proto__ } - else - var copy = Object.create(null) + chalk.template.Instance = ChalkClass; - Object.getOwnPropertyNames(obj).forEach(function (key) { - Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)) - }) + return chalk.template; +}; - return copy +function Chalk(options) { + return chalkFactory(options); } +for (const [styleName, style] of Object.entries(ansiStyles)) { + styles[styleName] = { + get() { + const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty); + Object.defineProperty(this, styleName, {value: builder}); + return builder; + } + }; +} -/***/ }), -/* 223 */ -/***/ (function(module, exports, __webpack_require__) { +styles.visible = { + get() { + const builder = createBuilder(this, this._styler, true); + Object.defineProperty(this, 'visible', {value: builder}); + return builder; + } +}; -var Stream = __webpack_require__(137).Stream +const usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256']; -module.exports = legacy +for (const model of usedModels) { + styles[model] = { + get() { + const {level} = this; + return function (...arguments_) { + const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler); + return createBuilder(this, styler, this._isEmpty); + }; + } + }; +} -function legacy (fs) { - return { - ReadStream: ReadStream, - WriteStream: WriteStream - } +for (const model of usedModels) { + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const {level} = this; + return function (...arguments_) { + const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler); + return createBuilder(this, styler, this._isEmpty); + }; + } + }; +} - function ReadStream (path, options) { - if (!(this instanceof ReadStream)) return new ReadStream(path, options); +const proto = Object.defineProperties(() => {}, { + ...styles, + level: { + enumerable: true, + get() { + return this._generator.level; + }, + set(level) { + this._generator.level = level; + } + } +}); - Stream.call(this); +const createStyler = (open, close, parent) => { + let openAll; + let closeAll; + if (parent === undefined) { + openAll = open; + closeAll = close; + } else { + openAll = parent.openAll + open; + closeAll = close + parent.closeAll; + } - var self = this; + return { + open, + close, + openAll, + closeAll, + parent + }; +}; - this.path = path; - this.fd = null; - this.readable = true; - this.paused = false; +const createBuilder = (self, _styler, _isEmpty) => { + const builder = (...arguments_) => { + if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) { + // Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}` + return applyStyle(builder, chalkTag(builder, ...arguments_)); + } - this.flags = 'r'; - this.mode = 438; /*=0666*/ - this.bufferSize = 64 * 1024; + // Single argument is hot path, implicit coercion is faster than anything + // eslint-disable-next-line no-implicit-coercion + return applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' ')); + }; - options = options || {}; + // We alter the prototype because we must return a function, but there is + // no way to create a function with a different prototype + Object.setPrototypeOf(builder, proto); - // Mixin options into this - var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; - this[key] = options[key]; - } + builder._generator = self; + builder._styler = _styler; + builder._isEmpty = _isEmpty; - if (this.encoding) this.setEncoding(this.encoding); + return builder; +}; - if (this.start !== undefined) { - if ('number' !== typeof this.start) { - throw TypeError('start must be a Number'); - } - if (this.end === undefined) { - this.end = Infinity; - } else if ('number' !== typeof this.end) { - throw TypeError('end must be a Number'); - } +const applyStyle = (self, string) => { + if (self.level <= 0 || !string) { + return self._isEmpty ? '' : string; + } - if (this.start > this.end) { - throw new Error('start must be <= end'); - } + let styler = self._styler; - this.pos = this.start; - } + if (styler === undefined) { + return string; + } - if (this.fd !== null) { - process.nextTick(function() { - self._read(); - }); - return; - } + const {openAll, closeAll} = styler; + if (string.indexOf('\u001B') !== -1) { + while (styler !== undefined) { + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + string = stringReplaceAll(string, styler.close, styler.open); - fs.open(this.path, this.flags, this.mode, function (err, fd) { - if (err) { - self.emit('error', err); - self.readable = false; - return; - } + styler = styler.parent; + } + } - self.fd = fd; - self.emit('open', fd); - self._read(); - }) - } + // We can move both next actions out of loop, because remaining actions in loop won't have + // any/visible effect on parts we add here. Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92 + const lfIndex = string.indexOf('\n'); + if (lfIndex !== -1) { + string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex); + } - function WriteStream (path, options) { - if (!(this instanceof WriteStream)) return new WriteStream(path, options); + return openAll + string + closeAll; +}; - Stream.call(this); +let template; +const chalkTag = (chalk, ...strings) => { + const [firstString] = strings; - this.path = path; - this.fd = null; - this.writable = true; + if (!isArray(firstString) || !isArray(firstString.raw)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return strings.join(' '); + } - this.flags = 'w'; - this.encoding = 'binary'; - this.mode = 438; /*=0666*/ - this.bytesWritten = 0; + const arguments_ = strings.slice(1); + const parts = [firstString.raw[0]]; - options = options || {}; + for (let i = 1; i < firstString.length; i++) { + parts.push( + String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'), + String(firstString.raw[i]) + ); + } - // Mixin options into this - var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; - this[key] = options[key]; - } + if (template === undefined) { + template = __webpack_require__(235); + } - if (this.start !== undefined) { - if ('number' !== typeof this.start) { - throw TypeError('start must be a Number'); - } - if (this.start < 0) { - throw new Error('start must be >= zero'); - } + return template(chalk, parts.join('')); +}; - this.pos = this.start; - } +Object.defineProperties(Chalk.prototype, styles); - this.busy = false; - this._queue = []; +const chalk = Chalk(); // eslint-disable-line new-cap +chalk.supportsColor = stdoutColor; +chalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap +chalk.stderr.supportsColor = stderrColor; - if (this.fd === null) { - this._open = fs.open; - this._queue.push([this._open, this.path, this.flags, this.mode, undefined]); - this.flush(); - } - } -} +module.exports = chalk; /***/ }), -/* 224 */ +/* 228 */ /***/ (function(module, exports, __webpack_require__) { -/** - * @preserve - * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013) - * - * @author Jens Taylor - * @see http://github.com/homebrewing/brauhaus-diff - * @author Gary Court - * @see http://github.com/garycourt/murmurhash-js - * @author Austin Appleby - * @see http://sites.google.com/site/murmurhash/ - */ -(function(){ - var cache; +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { - // Call this function without `new` to use the cached object (good for - // single-threaded environments), or with `new` to create a new object. - // - // @param {string} key A UTF-16 or ASCII string - // @param {number} seed An optional positive integer - // @return {object} A MurmurHash3 object for incremental hashing - function MurmurHash3(key, seed) { - var m = this instanceof MurmurHash3 ? this : cache; - m.reset(seed) - if (typeof key === 'string' && key.length > 0) { - m.hash(key); - } +const wrapAnsi16 = (fn, offset) => (...args) => { + const code = fn(...args); + return `\u001B[${code + offset}m`; +}; - if (m !== this) { - return m; - } - }; +const wrapAnsi256 = (fn, offset) => (...args) => { + const code = fn(...args); + return `\u001B[${38 + offset};5;${code}m`; +}; - // Incrementally add a string to this hash - // - // @param {string} key A UTF-16 or ASCII string - // @return {object} this - MurmurHash3.prototype.hash = function(key) { - var h1, k1, i, top, len; +const wrapAnsi16m = (fn, offset) => (...args) => { + const rgb = fn(...args); + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; +}; - len = key.length; - this.len += len; +const ansi2ansi = n => n; +const rgb2rgb = (r, g, b) => [r, g, b]; - k1 = this.k1; - i = 0; - switch (this.rem) { - case 0: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) : 0; - case 1: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 8 : 0; - case 2: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 16 : 0; - case 3: - k1 ^= len > i ? (key.charCodeAt(i) & 0xff) << 24 : 0; - k1 ^= len > i ? (key.charCodeAt(i++) & 0xff00) >> 8 : 0; - } +const setLazyProperty = (object, property, get) => { + Object.defineProperty(object, property, { + get: () => { + const value = get(); - this.rem = (len + this.rem) & 3; // & 3 is same as % 4 - len -= this.rem; - if (len > 0) { - h1 = this.h1; - while (1) { - k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff; - k1 = (k1 << 15) | (k1 >>> 17); - k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff; - - h1 ^= k1; - h1 = (h1 << 13) | (h1 >>> 19); - h1 = (h1 * 5 + 0xe6546b64) & 0xffffffff; - - if (i >= len) { - break; - } + Object.defineProperty(object, property, { + value, + enumerable: true, + configurable: true + }); - k1 = ((key.charCodeAt(i++) & 0xffff)) ^ - ((key.charCodeAt(i++) & 0xffff) << 8) ^ - ((key.charCodeAt(i++) & 0xffff) << 16); - top = key.charCodeAt(i++); - k1 ^= ((top & 0xff) << 24) ^ - ((top & 0xff00) >> 8); - } + return value; + }, + enumerable: true, + configurable: true + }); +}; - k1 = 0; - switch (this.rem) { - case 3: k1 ^= (key.charCodeAt(i + 2) & 0xffff) << 16; - case 2: k1 ^= (key.charCodeAt(i + 1) & 0xffff) << 8; - case 1: k1 ^= (key.charCodeAt(i) & 0xffff); - } +/** @type {typeof import('color-convert')} */ +let colorConvert; +const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { + if (colorConvert === undefined) { + colorConvert = __webpack_require__(229); + } - this.h1 = h1; - } + const offset = isBackground ? 10 : 0; + const styles = {}; - this.k1 = k1; - return this; - }; + for (const [sourceSpace, suite] of Object.entries(colorConvert)) { + const name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace; + if (sourceSpace === targetSpace) { + styles[name] = wrap(identity, offset); + } else if (typeof suite === 'object') { + styles[name] = wrap(suite[targetSpace], offset); + } + } - // Get the result of this hash - // - // @return {number} The 32-bit hash - MurmurHash3.prototype.result = function() { - var k1, h1; - - k1 = this.k1; - h1 = this.h1; + return styles; +}; - if (k1 > 0) { - k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff; - k1 = (k1 << 15) | (k1 >>> 17); - k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff; - h1 ^= k1; - } +function assembleStyles() { + const codes = new Map(); + const styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], - h1 ^= this.len; + // Bright color + blackBright: [90, 39], + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], - h1 ^= h1 >>> 16; - h1 = (h1 * 0xca6b + (h1 & 0xffff) * 0x85eb0000) & 0xffffffff; - h1 ^= h1 >>> 13; - h1 = (h1 * 0xae35 + (h1 & 0xffff) * 0xc2b20000) & 0xffffffff; - h1 ^= h1 >>> 16; + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; - return h1 >>> 0; - }; + // Alias bright black as gray (and grey) + styles.color.gray = styles.color.blackBright; + styles.bgColor.bgGray = styles.bgColor.bgBlackBright; + styles.color.grey = styles.color.blackBright; + styles.bgColor.bgGrey = styles.bgColor.bgBlackBright; - // Reset the hash object for reuse - // - // @param {number} seed An optional positive integer - MurmurHash3.prototype.reset = function(seed) { - this.h1 = typeof seed === 'number' ? seed : 0; - this.rem = this.k1 = this.len = 0; - return this; - }; + for (const [groupName, group] of Object.entries(styles)) { + for (const [styleName, style] of Object.entries(group)) { + styles[styleName] = { + open: `\u001B[${style[0]}m`, + close: `\u001B[${style[1]}m` + }; - // A cached object to use. This can be safely used if you're in a single- - // threaded environment, otherwise you need to create new hashes to use. - cache = new MurmurHash3(); + group[styleName] = styles[styleName]; - if (true) { - module.exports = MurmurHash3; - } else {} -}()); + codes.set(style[0], style[1]); + } + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + } -/***/ }), -/* 225 */ -/***/ (function(module, exports, __webpack_require__) { + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); -// Note: since nyc uses this module to output coverage, any lines -// that are in the direct sync flow of nyc's outputCoverage are -// ignored, since we can never get coverage for them. -var assert = __webpack_require__(139) -var signals = __webpack_require__(226) + styles.color.close = '\u001B[39m'; + styles.bgColor.close = '\u001B[49m'; -var EE = __webpack_require__(155) -/* istanbul ignore if */ -if (typeof EE !== 'function') { - EE = EE.EventEmitter -} + setLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false)); + setLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false)); + setLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false)); + setLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true)); + setLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true)); + setLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true)); -var emitter -if (process.__signal_exit_emitter__) { - emitter = process.__signal_exit_emitter__ -} else { - emitter = process.__signal_exit_emitter__ = new EE() - emitter.count = 0 - emitter.emitted = {} + return styles; } -// Because this emitter is a global, we have to check to see if a -// previous version of this library failed to enable infinite listeners. -// I know what you're about to say. But literally everything about -// signal-exit is a compromise with evil. Get used to it. -if (!emitter.infinite) { - emitter.setMaxListeners(Infinity) - emitter.infinite = true -} +// Make the export immutable +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); -module.exports = function (cb, opts) { - assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(114)(module))) - if (loaded === false) { - load() - } +/***/ }), +/* 229 */ +/***/ (function(module, exports, __webpack_require__) { - var ev = 'exit' - if (opts && opts.alwaysLast) { - ev = 'afterexit' - } +const conversions = __webpack_require__(230); +const route = __webpack_require__(231); - var remove = function () { - emitter.removeListener(ev, cb) - if (emitter.listeners('exit').length === 0 && - emitter.listeners('afterexit').length === 0) { - unload() - } - } - emitter.on(ev, cb) +const convert = {}; - return remove -} +const models = Object.keys(conversions); -module.exports.unload = unload -function unload () { - if (!loaded) { - return - } - loaded = false +function wrapRaw(fn) { + const wrappedFn = function (...args) { + const arg0 = args[0]; + if (arg0 === undefined || arg0 === null) { + return arg0; + } - signals.forEach(function (sig) { - try { - process.removeListener(sig, sigListeners[sig]) - } catch (er) {} - }) - process.emit = originalProcessEmit - process.reallyExit = originalProcessReallyExit - emitter.count -= 1 -} + if (arg0.length > 1) { + args = arg0; + } -function emit (event, code, signal) { - if (emitter.emitted[event]) { - return - } - emitter.emitted[event] = true - emitter.emit(event, code, signal) -} + return fn(args); + }; -// { : , ... } -var sigListeners = {} -signals.forEach(function (sig) { - sigListeners[sig] = function listener () { - // If there are no other listeners, an exit is coming! - // Simplest way: remove us and then re-send the signal. - // We know that this will kill the process, so we can - // safely emit now. - var listeners = process.listeners(sig) - if (listeners.length === emitter.count) { - unload() - emit('exit', null, sig) - /* istanbul ignore next */ - emit('afterexit', null, sig) - /* istanbul ignore next */ - process.kill(process.pid, sig) - } - } -}) + // Preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } -module.exports.signals = function () { - return signals + return wrappedFn; } -module.exports.load = load +function wrapRounded(fn) { + const wrappedFn = function (...args) { + const arg0 = args[0]; -var loaded = false + if (arg0 === undefined || arg0 === null) { + return arg0; + } -function load () { - if (loaded) { - return - } - loaded = true + if (arg0.length > 1) { + args = arg0; + } - // This is the number of onSignalExit's that are in play. - // It's important so that we can count the correct number of - // listeners on signals, and don't wait for the other one to - // handle it instead of us. - emitter.count += 1 + const result = fn(args); - signals = signals.filter(function (sig) { - try { - process.on(sig, sigListeners[sig]) - return true - } catch (er) { - return false - } - }) + // We're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + if (typeof result === 'object') { + for (let len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } - process.emit = processEmit - process.reallyExit = processReallyExit -} + return result; + }; -var originalProcessReallyExit = process.reallyExit -function processReallyExit (code) { - process.exitCode = code || 0 - emit('exit', process.exitCode, null) - /* istanbul ignore next */ - emit('afterexit', process.exitCode, null) - /* istanbul ignore next */ - originalProcessReallyExit.call(process, process.exitCode) -} + // Preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } -var originalProcessEmit = process.emit -function processEmit (ev, arg) { - if (ev === 'exit') { - if (arg !== undefined) { - process.exitCode = arg - } - var ret = originalProcessEmit.apply(this, arguments) - emit('exit', process.exitCode, null) - /* istanbul ignore next */ - emit('afterexit', process.exitCode, null) - return ret - } else { - return originalProcessEmit.apply(this, arguments) - } + return wrappedFn; } +models.forEach(fromModel => { + convert[fromModel] = {}; -/***/ }), -/* 226 */ -/***/ (function(module, exports) { - -// This is not the set of all possible signals. -// -// It IS, however, the set of all signals that trigger -// an exit on either Linux or BSD systems. Linux is a -// superset of the signal names supported on BSD, and -// the unknown signals just fail to register, so we can -// catch that easily enough. -// -// Don't bother with SIGKILL. It's uncatchable, which -// means that we can't fire any callbacks anyway. -// -// If a user does happen to register a handler on a non- -// fatal signal like SIGWINCH or something, and then -// exit, it'll end up firing `process.emit('exit')`, so -// the handler will be fired anyway. -// -// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised -// artificially, inherently leave the process in a -// state from which it is not safe to try and enter JS -// listeners. -module.exports = [ - 'SIGABRT', - 'SIGALRM', - 'SIGHUP', - 'SIGINT', - 'SIGTERM' -] + Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); + Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); -if (process.platform !== 'win32') { - module.exports.push( - 'SIGVTALRM', - 'SIGXCPU', - 'SIGXFSZ', - 'SIGUSR2', - 'SIGTRAP', - 'SIGSYS', - 'SIGQUIT', - 'SIGIOT' - // should detect profiler and enable/disable accordingly. - // see #21 - // 'SIGPROF' - ) -} + const routes = route(fromModel); + const routeModels = Object.keys(routes); -if (process.platform === 'linux') { - module.exports.push( - 'SIGIO', - 'SIGPOLL', - 'SIGPWR', - 'SIGSTKFLT', - 'SIGUNUSED' - ) -} + routeModels.forEach(toModel => { + const fn = routes[toModel]; + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); +}); -/***/ }), -/* 227 */ -/***/ (function(module, exports) { +module.exports = convert; -module.exports = require(undefined); /***/ }), -/* 228 */ +/* 230 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; +/* MIT license */ +/* eslint-disable no-mixed-operators */ +const cssKeywords = __webpack_require__(117); -const isPlainObj = __webpack_require__(229); +// NOTE: conversions should only return primitive values (i.e. arrays, or +// values that give correct `typeof` results). +// do not use box values types (i.e. Number(), String(), etc.) -module.exports = (obj, opts) => { - if (!isPlainObj(obj)) { - throw new TypeError('Expected a plain object'); - } +const reverseKeywords = {}; +for (const key of Object.keys(cssKeywords)) { + reverseKeywords[cssKeywords[key]] = key; +} - opts = opts || {}; +const convert = { + rgb: {channels: 3, labels: 'rgb'}, + hsl: {channels: 3, labels: 'hsl'}, + hsv: {channels: 3, labels: 'hsv'}, + hwb: {channels: 3, labels: 'hwb'}, + cmyk: {channels: 4, labels: 'cmyk'}, + xyz: {channels: 3, labels: 'xyz'}, + lab: {channels: 3, labels: 'lab'}, + lch: {channels: 3, labels: 'lch'}, + hex: {channels: 1, labels: ['hex']}, + keyword: {channels: 1, labels: ['keyword']}, + ansi16: {channels: 1, labels: ['ansi16']}, + ansi256: {channels: 1, labels: ['ansi256']}, + hcg: {channels: 3, labels: ['h', 'c', 'g']}, + apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, + gray: {channels: 1, labels: ['gray']} +}; - // DEPRECATED - if (typeof opts === 'function') { - throw new TypeError('Specify the compare function as an option instead'); +module.exports = convert; + +// Hide .channels and .labels properties +for (const model of Object.keys(convert)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); } - const deep = opts.deep; - const seenInput = []; - const seenOutput = []; + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } - const sortKeys = x => { - const seenIndex = seenInput.indexOf(x); + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } - if (seenIndex !== -1) { - return seenOutput[seenIndex]; - } + const {channels, labels} = convert[model]; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', {value: channels}); + Object.defineProperty(convert[model], 'labels', {value: labels}); +} - const ret = {}; - const keys = Object.keys(x).sort(opts.compare); +convert.rgb.hsl = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const min = Math.min(r, g, b); + const max = Math.max(r, g, b); + const delta = max - min; + let h; + let s; - seenInput.push(x); - seenOutput.push(ret); + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const val = x[key]; + h = Math.min(h * 60, 360); - if (deep && Array.isArray(val)) { - const retArr = []; + if (h < 0) { + h += 360; + } - for (let j = 0; j < val.length; j++) { - retArr[j] = isPlainObj(val[j]) ? sortKeys(val[j]) : val[j]; - } + const l = (min + max) / 2; - ret[key] = retArr; - continue; - } + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } - ret[key] = deep && isPlainObj(val) ? sortKeys(val) : val; - } + return [h, s * 100, l * 100]; +}; - return ret; +convert.rgb.hsv = function (rgb) { + let rdif; + let gdif; + let bdif; + let h; + let s; + + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const v = Math.max(r, g, b); + const diff = v - Math.min(r, g, b); + const diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; }; - return sortKeys(obj); -}; + if (diff === 0) { + h = 0; + s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = (1 / 3) + rdif - bdif; + } else if (b === v) { + h = (2 / 3) + gdif - rdif; + } + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } -/***/ }), -/* 229 */ -/***/ (function(module, exports, __webpack_require__) { + return [ + h * 360, + s * 100, + v * 100 + ]; +}; -"use strict"; +convert.rgb.hwb = function (rgb) { + const r = rgb[0]; + const g = rgb[1]; + let b = rgb[2]; + const h = convert.rgb.hsl(rgb)[0]; + const w = 1 / 255 * Math.min(r, Math.min(g, b)); -var toString = Object.prototype.toString; + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); -module.exports = function (x) { - var prototype; - return toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({})); + return [h, w * 100, b * 100]; }; +convert.rgb.cmyk = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; -/***/ }), -/* 230 */ -/***/ (function(module, exports, __webpack_require__) { + const k = Math.min(1 - r, 1 - g, 1 - b); + const c = (1 - r - k) / (1 - k) || 0; + const m = (1 - g - k) / (1 - k) || 0; + const y = (1 - b - k) / (1 - k) || 0; -"use strict"; + return [c * 100, m * 100, y * 100, k * 100]; +}; -const fs = __webpack_require__(133); -const path = __webpack_require__(4); -const pify = __webpack_require__(231); -const semver = __webpack_require__(189); +function comparativeDistance(x, y) { + /* + See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + */ + return ( + ((x[0] - y[0]) ** 2) + + ((x[1] - y[1]) ** 2) + + ((x[2] - y[2]) ** 2) + ); +} -const defaults = { - mode: 0o777 & (~process.umask()), - fs -}; +convert.rgb.keyword = function (rgb) { + const reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } -const useNativeRecursiveOption = semver.satisfies(process.version, '>=10.12.0'); + let currentClosestDistance = Infinity; + let currentClosestKeyword; -// https://github.com/nodejs/node/issues/8987 -// https://github.com/libuv/libuv/pull/1088 -const checkPath = pth => { - if (process.platform === 'win32') { - const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path.parse(pth).root, '')); + for (const keyword of Object.keys(cssKeywords)) { + const value = cssKeywords[keyword]; - if (pathHasInvalidWinCharacters) { - const error = new Error(`Path contains invalid characters: ${pth}`); - error.code = 'EINVAL'; - throw error; + // Compute comparative distance + const distance = comparativeDistance(rgb, value); + + // Check if its less, if so set as closest + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; } } -}; -const permissionError = pth => { - // This replicates the exception of `fs.mkdir` with native the - // `recusive` option when run on an invalid drive under Windows. - const error = new Error(`operation not permitted, mkdir '${pth}'`); - error.code = 'EPERM'; - error.errno = -4048; - error.path = pth; - error.syscall = 'mkdir'; - return error; + return currentClosestKeyword; }; -const makeDir = (input, options) => Promise.resolve().then(() => { - checkPath(input); - options = Object.assign({}, defaults, options); - - // TODO: Use util.promisify when targeting Node.js 8 - const mkdir = pify(options.fs.mkdir); - const stat = pify(options.fs.stat); - - if (useNativeRecursiveOption && options.fs.mkdir === fs.mkdir) { - const pth = path.resolve(input); - - return mkdir(pth, { - mode: options.mode, - recursive: true - }).then(() => pth); - } +convert.keyword.rgb = function (keyword) { + return cssKeywords[keyword]; +}; - const make = pth => { - return mkdir(pth, options.mode) - .then(() => pth) - .catch(error => { - if (error.code === 'EPERM') { - throw error; - } +convert.rgb.xyz = function (rgb) { + let r = rgb[0] / 255; + let g = rgb[1] / 255; + let b = rgb[2] / 255; - if (error.code === 'ENOENT') { - if (path.dirname(pth) === pth) { - throw permissionError(pth); - } + // Assume sRGB + r = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92); + g = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92); + b = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92); - if (error.message.includes('null bytes')) { - throw error; - } + const x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); + const y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); + const z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); - return make(path.dirname(pth)).then(() => make(pth)); - } + return [x * 100, y * 100, z * 100]; +}; - return stat(pth) - .then(stats => stats.isDirectory() ? pth : Promise.reject()) - .catch(() => { - throw error; - }); - }); - }; +convert.rgb.lab = function (rgb) { + const xyz = convert.rgb.xyz(rgb); + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; - return make(path.resolve(input)); -}); + x /= 95.047; + y /= 100; + z /= 108.883; -module.exports = makeDir; -module.exports.default = makeDir; + x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); -module.exports.sync = (input, options) => { - checkPath(input); - options = Object.assign({}, defaults, options); + const l = (116 * y) - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); - if (useNativeRecursiveOption && options.fs.mkdirSync === fs.mkdirSync) { - const pth = path.resolve(input); + return [l, a, b]; +}; - fs.mkdirSync(pth, { - mode: options.mode, - recursive: true - }); +convert.hsl.rgb = function (hsl) { + const h = hsl[0] / 360; + const s = hsl[1] / 100; + const l = hsl[2] / 100; + let t2; + let t3; + let val; - return pth; + if (s === 0) { + val = l * 255; + return [val, val, val]; } - const make = pth => { - try { - options.fs.mkdirSync(pth, options.mode); - } catch (error) { - if (error.code === 'EPERM') { - throw error; - } + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } - if (error.code === 'ENOENT') { - if (path.dirname(pth) === pth) { - throw permissionError(pth); - } + const t1 = 2 * l - t2; - if (error.message.includes('null bytes')) { - throw error; - } + const rgb = [0, 0, 0]; + for (let i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } - make(path.dirname(pth)); - return make(pth); - } + if (t3 > 1) { + t3--; + } - try { - if (!options.fs.statSync(pth).isDirectory()) { - throw new Error('The path is not a directory'); - } - } catch (_) { - throw error; - } + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; } - return pth; - }; + rgb[i] = val * 255; + } - return make(path.resolve(input)); + return rgb; }; +convert.hsl.hsv = function (hsl) { + const h = hsl[0]; + let s = hsl[1] / 100; + let l = hsl[2] / 100; + let smin = s; + const lmin = Math.max(l, 0.01); -/***/ }), -/* 231 */ -/***/ (function(module, exports, __webpack_require__) { + l *= 2; + s *= (l <= 1) ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + const v = (l + s) / 2; + const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); -"use strict"; + return [h, sv * 100, v * 100]; +}; +convert.hsv.rgb = function (hsv) { + const h = hsv[0] / 60; + const s = hsv[1] / 100; + let v = hsv[2] / 100; + const hi = Math.floor(h) % 6; -const processFn = (fn, options) => function (...args) { - const P = options.promiseModule; + const f = h - Math.floor(h); + const p = 255 * v * (1 - s); + const q = 255 * v * (1 - (s * f)); + const t = 255 * v * (1 - (s * (1 - f))); + v *= 255; - return new P((resolve, reject) => { - if (options.multiArgs) { - args.push((...result) => { - if (options.errorFirst) { - if (result[0]) { - reject(result); - } else { - result.shift(); - resolve(result); - } - } else { - resolve(result); - } - }); - } else if (options.errorFirst) { - args.push((error, result) => { - if (error) { - reject(error); - } else { - resolve(result); - } - }); - } else { - args.push(resolve); - } + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } +}; - fn.apply(this, args); - }); +convert.hsv.hsl = function (hsv) { + const h = hsv[0]; + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const vmin = Math.max(v, 0.01); + let sl; + let l; + + l = (2 - s) * v; + const lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= (lmin <= 1) ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + + return [h, sl * 100, l * 100]; }; -module.exports = (input, options) => { - options = Object.assign({ - exclude: [/.+(Sync|Stream)$/], - errorFirst: true, - promiseModule: Promise - }, options); +// http://dev.w3.org/csswg/css-color/#hwb-to-rgb +convert.hwb.rgb = function (hwb) { + const h = hwb[0] / 360; + let wh = hwb[1] / 100; + let bl = hwb[2] / 100; + const ratio = wh + bl; + let f; - const objType = typeof input; - if (!(input !== null && (objType === 'object' || objType === 'function'))) { - throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${input === null ? 'null' : objType}\``); + // Wh + bl cant be > 1 + if (ratio > 1) { + wh /= ratio; + bl /= ratio; } - const filter = key => { - const match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key); - return options.include ? options.include.some(match) : !options.exclude.some(match); - }; + const i = Math.floor(6 * h); + const v = 1 - bl; + f = 6 * h - i; - let ret; - if (objType === 'function') { - ret = function (...args) { - return options.excludeMain ? input(...args) : processFn(input, options).apply(this, args); - }; - } else { - ret = Object.create(Object.getPrototypeOf(input)); + if ((i & 0x01) !== 0) { + f = 1 - f; } - for (const key in input) { // eslint-disable-line guard-for-in - const property = input[key]; - ret[key] = typeof property === 'function' && filter(key) ? processFn(property, options) : property; + const n = wh + f * (v - wh); // Linear interpolation + + let r; + let g; + let b; + /* eslint-disable max-statements-per-line,no-multi-spaces */ + switch (i) { + default: + case 6: + case 0: r = v; g = n; b = wh; break; + case 1: r = n; g = v; b = wh; break; + case 2: r = wh; g = v; b = n; break; + case 3: r = wh; g = n; b = v; break; + case 4: r = n; g = wh; b = v; break; + case 5: r = v; g = wh; b = n; break; } + /* eslint-enable max-statements-per-line,no-multi-spaces */ - return ret; + return [r * 255, g * 255, b * 255]; }; +convert.cmyk.rgb = function (cmyk) { + const c = cmyk[0] / 100; + const m = cmyk[1] / 100; + const y = cmyk[2] / 100; + const k = cmyk[3] / 100; -/***/ }), -/* 232 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; + const r = 1 - Math.min(1, c * (1 - k) + k); + const g = 1 - Math.min(1, m * (1 - k) + k); + const b = 1 - Math.min(1, y * (1 - k) + k); + return [r * 255, g * 255, b * 255]; +}; -// detect either spaces or tabs but not both to properly handle tabs -// for indentation and spaces for alignment -const INDENT_RE = /^(?:( )+|\t+)/; +convert.xyz.rgb = function (xyz) { + const x = xyz[0] / 100; + const y = xyz[1] / 100; + const z = xyz[2] / 100; + let r; + let g; + let b; -function getMostUsed(indents) { - let result = 0; - let maxUsed = 0; - let maxWeight = 0; + r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); + g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); + b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); - for (const entry of indents) { - // TODO: use destructuring when targeting Node.js 6 - const key = entry[0]; - const val = entry[1]; + // Assume sRGB + r = r > 0.0031308 + ? ((1.055 * (r ** (1.0 / 2.4))) - 0.055) + : r * 12.92; - const u = val[0]; - const w = val[1]; + g = g > 0.0031308 + ? ((1.055 * (g ** (1.0 / 2.4))) - 0.055) + : g * 12.92; - if (u > maxUsed || (u === maxUsed && w > maxWeight)) { - maxUsed = u; - maxWeight = w; - result = Number(key); - } - } + b = b > 0.0031308 + ? ((1.055 * (b ** (1.0 / 2.4))) - 0.055) + : b * 12.92; - return result; -} - -module.exports = str => { - if (typeof str !== 'string') { - throw new TypeError('Expected a string'); - } + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); - // used to see if tabs or spaces are the most used - let tabs = 0; - let spaces = 0; + return [r * 255, g * 255, b * 255]; +}; - // remember the size of previous line's indentation - let prev = 0; +convert.xyz.lab = function (xyz) { + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; - // remember how many indents/unindents as occurred for a given size - // and how much lines follow a given indentation - // - // indents = { - // 3: [1, 0], - // 4: [1, 5], - // 5: [1, 0], - // 12: [1, 0], - // } - const indents = new Map(); + x /= 95.047; + y /= 100; + z /= 108.883; - // pointer to the array of last used indent - let current; + x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); - // whether the last action was an indent (opposed to an unindent) - let isIndent; + const l = (116 * y) - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); - for (const line of str.split(/\n/g)) { - if (!line) { - // ignore empty lines - continue; - } + return [l, a, b]; +}; - let indent; - const matches = line.match(INDENT_RE); +convert.lab.xyz = function (lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let x; + let y; + let z; - if (matches) { - indent = matches[0].length; + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; - if (matches[1]) { - spaces++; - } else { - tabs++; - } - } else { - indent = 0; - } + const y2 = y ** 3; + const x2 = x ** 3; + const z2 = z ** 3; + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; - const diff = indent - prev; - prev = indent; + x *= 95.047; + y *= 100; + z *= 108.883; - if (diff) { - // an indent or unindent has been detected + return [x, y, z]; +}; - isIndent = diff > 0; +convert.lab.lch = function (lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let h; - current = indents.get(isIndent ? diff : -diff); + const hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; - if (current) { - current[0]++; - } else { - current = [1, 0]; - indents.set(diff, current); - } - } else if (current) { - // if the last action was an indent, increment the weight - current[1] += Number(isIndent); - } + if (h < 0) { + h += 360; } - const amount = getMostUsed(indents); - - let type; - let indent; - if (!amount) { - type = null; - indent = ''; - } else if (spaces >= tabs) { - type = 'space'; - indent = ' '.repeat(amount); - } else { - type = 'tab'; - indent = '\t'.repeat(amount); - } + const c = Math.sqrt(a * a + b * b); - return { - amount, - type, - indent - }; + return [l, c, h]; }; +convert.lch.lab = function (lch) { + const l = lch[0]; + const c = lch[1]; + const h = lch[2]; -/***/ }), -/* 233 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { + const hr = h / 360 * 2 * Math.PI; + const a = c * Math.cos(hr); + const b = c * Math.sin(hr); -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "installInDir", function() { return installInDir; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runScriptInPackage", function() { return runScriptInPackage; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runScriptInPackageStreaming", function() { return runScriptInPackageStreaming; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "yarnWorkspacesInfo", function() { return yarnWorkspacesInfo; }); -/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(234); -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ + return [l, a, b]; +}; -const YARN_EXEC = process.env.npm_execpath || 'yarn'; +convert.rgb.ansi16 = function (args, saturation = null) { + const [r, g, b] = args; + let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization -/** - * Install all dependencies in the given directory - */ -async function installInDir(directory, extraArgs = []) { - const options = ['install', '--non-interactive', ...extraArgs]; // We pass the mutex flag to ensure only one instance of yarn runs at any - // given time (e.g. to avoid conflicts). + value = Math.round(value / 50); - await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])(YARN_EXEC, options, { - cwd: directory - }); -} -/** - * Run script in the given directory - */ + if (value === 0) { + return 30; + } -async function runScriptInPackage(script, args, pkg) { - const execOpts = { - cwd: pkg.path - }; - await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])(YARN_EXEC, ['run', script, ...args], execOpts); -} -/** - * Run script in the given directory - */ + let ansi = 30 + + ((Math.round(b / 255) << 2) + | (Math.round(g / 255) << 1) + | Math.round(r / 255)); -function runScriptInPackageStreaming({ - script, - args, - pkg, - debug -}) { - const execOpts = { - cwd: pkg.path - }; - return Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawnStreaming"])(YARN_EXEC, ['run', script, ...args], execOpts, { - prefix: pkg.name, - debug - }); -} -async function yarnWorkspacesInfo(directory) { - const { - stdout - } = await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])(YARN_EXEC, ['--json', 'workspaces', 'info'], { - cwd: directory, - stdio: 'pipe' - }); + if (value === 2) { + ansi += 60; + } - try { - return JSON.parse(JSON.parse(stdout).data); - } catch (error) { - throw new Error(`'yarn workspaces info --json' produced unexpected output: \n${stdout}`); - } -} + return ansi; +}; -/***/ }), -/* 234 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +convert.hsv.ansi16 = function (args) { + // Optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); +}; -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "spawn", function() { return spawn; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "spawnStreaming", function() { return spawnStreaming; }); -/* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(137); -/* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(stream__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(235); -/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(244); -/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(execa__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var strong_log_transformer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(279); -/* harmony import */ var strong_log_transformer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(strong_log_transformer__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(143); -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } +convert.rgb.ansi256 = function (args) { + const r = args[0]; + const g = args[1]; + const b = args[2]; -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + // We use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + if (r === g && g === b) { + if (r < 8) { + return 16; + } -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + if (r > 248) { + return 231; + } -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ + return Math.round(((r - 8) / 247) * 24) + 232; + } + + const ansi = 16 + + (36 * Math.round(r / 255 * 5)) + + (6 * Math.round(g / 255 * 5)) + + Math.round(b / 255 * 5); + return ansi; +}; +convert.ansi16.rgb = function (args) { + let color = args % 10; + // Handle greyscale + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + color = color / 10.5 * 255; -const colorWheel = [chalk__WEBPACK_IMPORTED_MODULE_1___default.a.cyan, chalk__WEBPACK_IMPORTED_MODULE_1___default.a.magenta, chalk__WEBPACK_IMPORTED_MODULE_1___default.a.blue, chalk__WEBPACK_IMPORTED_MODULE_1___default.a.yellow, chalk__WEBPACK_IMPORTED_MODULE_1___default.a.green]; + return [color, color, color]; + } -const getColor = () => { - const color = colorWheel.shift(); - colorWheel.push(color); - return color; + const mult = (~~(args > 50) + 1) * 0.5; + const r = ((color & 1) * mult) * 255; + const g = (((color >> 1) & 1) * mult) * 255; + const b = (((color >> 2) & 1) * mult) * 255; + + return [r, g, b]; }; -function spawn(command, args, opts) { - return execa__WEBPACK_IMPORTED_MODULE_2___default()(command, args, _objectSpread({ - stdio: 'inherit', - preferLocal: true - }, opts)); -} +convert.ansi256.rgb = function (args) { + // Handle greyscale + if (args >= 232) { + const c = (args - 232) * 10 + 8; + return [c, c, c]; + } -function streamToLog(debug = true) { - return new stream__WEBPACK_IMPORTED_MODULE_0__["Writable"]({ - objectMode: true, + args -= 16; - write(line, _, cb) { - if (line.endsWith('\n')) { - _log__WEBPACK_IMPORTED_MODULE_4__["log"][debug ? 'debug' : 'write'](line.slice(0, -1)); - } else { - _log__WEBPACK_IMPORTED_MODULE_4__["log"][debug ? 'debug' : 'write'](line); - } + let rem; + const r = Math.floor(args / 36) / 5 * 255; + const g = Math.floor((rem = args % 36) / 6) / 5 * 255; + const b = (rem % 6) / 5 * 255; - cb(); - } + return [r, g, b]; +}; - }); -} +convert.rgb.hex = function (args) { + const integer = ((Math.round(args[0]) & 0xFF) << 16) + + ((Math.round(args[1]) & 0xFF) << 8) + + (Math.round(args[2]) & 0xFF); -function spawnStreaming(command, args, opts, { - prefix, - debug -}) { - const spawned = execa__WEBPACK_IMPORTED_MODULE_2___default()(command, args, _objectSpread({ - stdio: ['ignore', 'pipe', 'pipe'], - preferLocal: true - }, opts)); - const color = getColor(); - const prefixedStdout = strong_log_transformer__WEBPACK_IMPORTED_MODULE_3___default()({ - tag: color.bold(prefix) - }); - const prefixedStderr = strong_log_transformer__WEBPACK_IMPORTED_MODULE_3___default()({ - mergeMultiline: true, - tag: color.bold(prefix) - }); - spawned.stdout.pipe(prefixedStdout).pipe(streamToLog(debug)); - spawned.stderr.pipe(prefixedStderr).pipe(streamToLog(debug)); - return spawned; -} + const string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; -/***/ }), -/* 235 */ -/***/ (function(module, exports, __webpack_require__) { +convert.hex.rgb = function (args) { + const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } -"use strict"; + let colorString = match[0]; -const ansiStyles = __webpack_require__(236); -const {stdout: stdoutColor, stderr: stderrColor} = __webpack_require__(240); -const { - stringReplaceAll, - stringEncaseCRLFWithFirstIndex -} = __webpack_require__(242); + if (match[0].length === 3) { + colorString = colorString.split('').map(char => { + return char + char; + }).join(''); + } -const {isArray} = Array; + const integer = parseInt(colorString, 16); + const r = (integer >> 16) & 0xFF; + const g = (integer >> 8) & 0xFF; + const b = integer & 0xFF; -// `supportsColor.level` → `ansiStyles.color[name]` mapping -const levelMapping = [ - 'ansi', - 'ansi', - 'ansi256', - 'ansi16m' -]; + return [r, g, b]; +}; -const styles = Object.create(null); +convert.rgb.hcg = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const max = Math.max(Math.max(r, g), b); + const min = Math.min(Math.min(r, g), b); + const chroma = (max - min); + let grayscale; + let hue; -const applyOptions = (object, options = {}) => { - if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) { - throw new Error('The `level` option should be an integer from 0 to 3'); + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; } - // Detect level if not set manually - const colorLevel = stdoutColor ? stdoutColor.level : 0; - object.level = options.level === undefined ? colorLevel : options.level; -}; - -class ChalkClass { - constructor(options) { - // eslint-disable-next-line no-constructor-return - return chalkFactory(options); + if (chroma <= 0) { + hue = 0; + } else + if (max === r) { + hue = ((g - b) / chroma) % 6; + } else + if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma; } -} -const chalkFactory = options => { - const chalk = {}; - applyOptions(chalk, options); + hue /= 6; + hue %= 1; - chalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_); + return [hue * 360, chroma * 100, grayscale * 100]; +}; - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); +convert.hsl.hcg = function (hsl) { + const s = hsl[1] / 100; + const l = hsl[2] / 100; - chalk.template.constructor = () => { - throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.'); - }; + const c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l)); - chalk.template.Instance = ChalkClass; + let f = 0; + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } - return chalk.template; + return [hsl[0], c * 100, f * 100]; }; -function Chalk(options) { - return chalkFactory(options); -} +convert.hsv.hcg = function (hsv) { + const s = hsv[1] / 100; + const v = hsv[2] / 100; -for (const [styleName, style] of Object.entries(ansiStyles)) { - styles[styleName] = { - get() { - const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty); - Object.defineProperty(this, styleName, {value: builder}); - return builder; - } - }; -} + const c = s * v; + let f = 0; -styles.visible = { - get() { - const builder = createBuilder(this, this._styler, true); - Object.defineProperty(this, 'visible', {value: builder}); - return builder; + if (c < 1.0) { + f = (v - c) / (1 - c); } + + return [hsv[0], c * 100, f * 100]; }; -const usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256']; +convert.hcg.rgb = function (hcg) { + const h = hcg[0] / 360; + const c = hcg[1] / 100; + const g = hcg[2] / 100; -for (const model of usedModels) { - styles[model] = { - get() { - const {level} = this; - return function (...arguments_) { - const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler); - return createBuilder(this, styler, this._isEmpty); - }; - } - }; -} + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } -for (const model of usedModels) { - const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const {level} = this; - return function (...arguments_) { - const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler); - return createBuilder(this, styler, this._isEmpty); - }; - } - }; -} + const pure = [0, 0, 0]; + const hi = (h % 1) * 6; + const v = hi % 1; + const w = 1 - v; + let mg = 0; -const proto = Object.defineProperties(() => {}, { - ...styles, - level: { - enumerable: true, - get() { - return this._generator.level; - }, - set(level) { - this._generator.level = level; - } + /* eslint-disable max-statements-per-line */ + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; pure[1] = v; pure[2] = 0; break; + case 1: + pure[0] = w; pure[1] = 1; pure[2] = 0; break; + case 2: + pure[0] = 0; pure[1] = 1; pure[2] = v; break; + case 3: + pure[0] = 0; pure[1] = w; pure[2] = 1; break; + case 4: + pure[0] = v; pure[1] = 0; pure[2] = 1; break; + default: + pure[0] = 1; pure[1] = 0; pure[2] = w; } -}); + /* eslint-enable max-statements-per-line */ -const createStyler = (open, close, parent) => { - let openAll; - let closeAll; - if (parent === undefined) { - openAll = open; - closeAll = close; - } else { - openAll = parent.openAll + open; - closeAll = close + parent.closeAll; - } + mg = (1.0 - c) * g; - return { - open, - close, - openAll, - closeAll, - parent - }; + return [ + (c * pure[0] + mg) * 255, + (c * pure[1] + mg) * 255, + (c * pure[2] + mg) * 255 + ]; }; -const createBuilder = (self, _styler, _isEmpty) => { - const builder = (...arguments_) => { - if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) { - // Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}` - return applyStyle(builder, chalkTag(builder, ...arguments_)); - } - - // Single argument is hot path, implicit coercion is faster than anything - // eslint-disable-next-line no-implicit-coercion - return applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' ')); - }; +convert.hcg.hsv = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; - // We alter the prototype because we must return a function, but there is - // no way to create a function with a different prototype - Object.setPrototypeOf(builder, proto); + const v = c + g * (1.0 - c); + let f = 0; - builder._generator = self; - builder._styler = _styler; - builder._isEmpty = _isEmpty; + if (v > 0.0) { + f = c / v; + } - return builder; + return [hcg[0], f * 100, v * 100]; }; -const applyStyle = (self, string) => { - if (self.level <= 0 || !string) { - return self._isEmpty ? '' : string; - } +convert.hcg.hsl = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; - let styler = self._styler; + const l = g * (1.0 - c) + 0.5 * c; + let s = 0; - if (styler === undefined) { - return string; + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else + if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); } - const {openAll, closeAll} = styler; - if (string.indexOf('\u001B') !== -1) { - while (styler !== undefined) { - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - string = stringReplaceAll(string, styler.close, styler.open); + return [hcg[0], s * 100, l * 100]; +}; - styler = styler.parent; - } - } +convert.hcg.hwb = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; - // We can move both next actions out of loop, because remaining actions in loop won't have - // any/visible effect on parts we add here. Close the styling before a linebreak and reopen - // after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92 - const lfIndex = string.indexOf('\n'); - if (lfIndex !== -1) { - string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex); +convert.hwb.hcg = function (hwb) { + const w = hwb[1] / 100; + const b = hwb[2] / 100; + const v = 1 - b; + const c = v - w; + let g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); } - return openAll + string + closeAll; + return [hwb[0], c * 100, g * 100]; }; -let template; -const chalkTag = (chalk, ...strings) => { - const [firstString] = strings; +convert.apple.rgb = function (apple) { + return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; +}; - if (!isArray(firstString) || !isArray(firstString.raw)) { - // If chalk() was called by itself or with a string, - // return the string itself as a string. - return strings.join(' '); - } +convert.rgb.apple = function (rgb) { + return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; +}; - const arguments_ = strings.slice(1); - const parts = [firstString.raw[0]]; +convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; - for (let i = 1; i < firstString.length; i++) { - parts.push( - String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'), - String(firstString.raw[i]) - ); - } +convert.gray.hsl = function (args) { + return [0, 0, args[0]]; +}; - if (template === undefined) { - template = __webpack_require__(243); - } +convert.gray.hsv = convert.gray.hsl; - return template(chalk, parts.join('')); +convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; }; -Object.defineProperties(Chalk.prototype, styles); +convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; +}; -const chalk = Chalk(); // eslint-disable-line new-cap -chalk.supportsColor = stdoutColor; -chalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap -chalk.stderr.supportsColor = stderrColor; +convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; +}; -module.exports = chalk; +convert.gray.hex = function (gray) { + const val = Math.round(gray[0] / 100 * 255) & 0xFF; + const integer = (val << 16) + (val << 8) + val; + + const string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.rgb.gray = function (rgb) { + const val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; +}; /***/ }), -/* 236 */ +/* 231 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; -/* WEBPACK VAR INJECTION */(function(module) { +const conversions = __webpack_require__(230); -const wrapAnsi16 = (fn, offset) => (...args) => { - const code = fn(...args); - return `\u001B[${code + offset}m`; -}; +/* + This function routes a model to all other models. -const wrapAnsi256 = (fn, offset) => (...args) => { - const code = fn(...args); - return `\u001B[${38 + offset};5;${code}m`; -}; + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). -const wrapAnsi16m = (fn, offset) => (...args) => { - const rgb = fn(...args); - return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; -}; + conversions that are not possible simply are not included. +*/ -const ansi2ansi = n => n; -const rgb2rgb = (r, g, b) => [r, g, b]; +function buildGraph() { + const graph = {}; + // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + const models = Object.keys(conversions); -const setLazyProperty = (object, property, get) => { - Object.defineProperty(object, property, { - get: () => { - const value = get(); + for (let len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } - Object.defineProperty(object, property, { - value, - enumerable: true, - configurable: true - }); + return graph; +} - return value; - }, - enumerable: true, - configurable: true - }); -}; +// https://en.wikipedia.org/wiki/Breadth-first_search +function deriveBFS(fromModel) { + const graph = buildGraph(); + const queue = [fromModel]; // Unshift -> queue -> pop -/** @type {typeof import('color-convert')} */ -let colorConvert; -const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { - if (colorConvert === undefined) { - colorConvert = __webpack_require__(237); - } + graph[fromModel].distance = 0; - const offset = isBackground ? 10 : 0; - const styles = {}; + while (queue.length) { + const current = queue.pop(); + const adjacents = Object.keys(conversions[current]); - for (const [sourceSpace, suite] of Object.entries(colorConvert)) { - const name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace; - if (sourceSpace === targetSpace) { - styles[name] = wrap(identity, offset); - } else if (typeof suite === 'object') { - styles[name] = wrap(suite[targetSpace], offset); + for (let len = adjacents.length, i = 0; i < len; i++) { + const adjacent = adjacents[i]; + const node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } } } - return styles; -}; + return graph; +} -function assembleStyles() { - const codes = new Map(); - const styles = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], +function link(from, to) { + return function (args) { + return to(from(args)); + }; +} - // Bright color - blackBright: [90, 39], - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], +function wrapConversion(toModel, graph) { + const path = [graph[toModel].parent, toModel]; + let fn = conversions[graph[toModel].parent][toModel]; - // Bright color - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; + let cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } - // Alias bright black as gray (and grey) - styles.color.gray = styles.color.blackBright; - styles.bgColor.bgGray = styles.bgColor.bgBlackBright; - styles.color.grey = styles.color.blackBright; - styles.bgColor.bgGrey = styles.bgColor.bgBlackBright; + fn.conversion = path; + return fn; +} - for (const [groupName, group] of Object.entries(styles)) { - for (const [styleName, style] of Object.entries(group)) { - styles[styleName] = { - open: `\u001B[${style[0]}m`, - close: `\u001B[${style[1]}m` - }; +module.exports = function (fromModel) { + const graph = deriveBFS(fromModel); + const conversion = {}; - group[styleName] = styles[styleName]; + const models = Object.keys(graph); + for (let len = models.length, i = 0; i < len; i++) { + const toModel = models[i]; + const node = graph[toModel]; - codes.set(style[0], style[1]); + if (node.parent === null) { + // No possible conversion, or this node is the source model. + continue; } - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); + conversion[toModel] = wrapConversion(toModel, graph); } - Object.defineProperty(styles, 'codes', { - value: codes, - enumerable: false - }); - - styles.color.close = '\u001B[39m'; - styles.bgColor.close = '\u001B[49m'; - - setLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false)); - setLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false)); - setLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false)); - setLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true)); - setLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true)); - setLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true)); - - return styles; -} + return conversion; +}; -// Make the export immutable -Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles -}); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(114)(module))) /***/ }), -/* 237 */ +/* 232 */ /***/ (function(module, exports, __webpack_require__) { -const conversions = __webpack_require__(238); -const route = __webpack_require__(239); - -const convert = {}; +"use strict"; -const models = Object.keys(conversions); +const os = __webpack_require__(120); +const tty = __webpack_require__(121); +const hasFlag = __webpack_require__(233); -function wrapRaw(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - if (arg0 === undefined || arg0 === null) { - return arg0; - } +const {env} = process; - if (arg0.length > 1) { - args = arg0; - } +let forceColor; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false') || + hasFlag('color=never')) { + forceColor = 0; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor = 1; +} - return fn(args); - }; +if ('FORCE_COLOR' in env) { + if (env.FORCE_COLOR === 'true') { + forceColor = 1; + } else if (env.FORCE_COLOR === 'false') { + forceColor = 0; + } else { + forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3); + } +} - // Preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; +function translateLevel(level) { + if (level === 0) { + return false; } - return wrappedFn; + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; } -function wrapRounded(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - - if (arg0 === undefined || arg0 === null) { - return arg0; - } +function supportsColor(haveStream, streamIsTTY) { + if (forceColor === 0) { + return 0; + } - if (arg0.length > 1) { - args = arg0; - } + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } - const result = fn(args); + if (hasFlag('color=256')) { + return 2; + } - // We're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - if (typeof result === 'object') { - for (let len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } + if (haveStream && !streamIsTTY && forceColor === undefined) { + return 0; + } - return result; - }; + const min = forceColor || 0; - // Preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; + if (env.TERM === 'dumb') { + return min; } - return wrappedFn; -} - -models.forEach(fromModel => { - convert[fromModel] = {}; - - Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); - Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); - - const routes = route(fromModel); - const routeModels = Object.keys(routes); - - routeModels.forEach(toModel => { - const fn = routes[toModel]; - - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); -}); + if (process.platform === 'win32') { + // Windows 10 build 10586 is the first Windows release that supports 256 colors. + // Windows 10 build 14931 is the first release that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } -module.exports = convert; + return 1; + } + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } -/***/ }), -/* 238 */ -/***/ (function(module, exports, __webpack_require__) { + return min; + } -/* MIT license */ -/* eslint-disable no-mixed-operators */ -const cssKeywords = __webpack_require__(117); + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } -// NOTE: conversions should only return primitive values (i.e. arrays, or -// values that give correct `typeof` results). -// do not use box values types (i.e. Number(), String(), etc.) + if ('GITHUB_ACTIONS' in env) { + return 1; + } -const reverseKeywords = {}; -for (const key of Object.keys(cssKeywords)) { - reverseKeywords[cssKeywords[key]] = key; -} + if (env.COLORTERM === 'truecolor') { + return 3; + } -const convert = { - rgb: {channels: 3, labels: 'rgb'}, - hsl: {channels: 3, labels: 'hsl'}, - hsv: {channels: 3, labels: 'hsv'}, - hwb: {channels: 3, labels: 'hwb'}, - cmyk: {channels: 4, labels: 'cmyk'}, - xyz: {channels: 3, labels: 'xyz'}, - lab: {channels: 3, labels: 'lab'}, - lch: {channels: 3, labels: 'lch'}, - hex: {channels: 1, labels: ['hex']}, - keyword: {channels: 1, labels: ['keyword']}, - ansi16: {channels: 1, labels: ['ansi16']}, - ansi256: {channels: 1, labels: ['ansi256']}, - hcg: {channels: 3, labels: ['h', 'c', 'g']}, - apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, - gray: {channels: 1, labels: ['gray']} -}; + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); -module.exports = convert; + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } -// Hide .channels and .labels properties -for (const model of Object.keys(convert)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); + if (/-256(color)?$/i.test(env.TERM)) { + return 2; } - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; } - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); + if ('COLORTERM' in env) { + return 1; } - const {channels, labels} = convert[model]; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', {value: channels}); - Object.defineProperty(convert[model], 'labels', {value: labels}); + return min; } -convert.rgb.hsl = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const min = Math.min(r, g, b); - const max = Math.max(r, g, b); - const delta = max - min; - let h; - let s; +function getSupportLevel(stream) { + const level = supportsColor(stream, stream && stream.isTTY); + return translateLevel(level); +} - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } +module.exports = { + supportsColor: getSupportLevel, + stdout: translateLevel(supportsColor(true, tty.isatty(1))), + stderr: translateLevel(supportsColor(true, tty.isatty(2))) +}; - h = Math.min(h * 60, 360); - if (h < 0) { - h += 360; - } +/***/ }), +/* 233 */ +/***/ (function(module, exports, __webpack_require__) { - const l = (min + max) / 2; +"use strict"; - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - return [h, s * 100, l * 100]; +module.exports = (flag, argv = process.argv) => { + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf('--'); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); }; -convert.rgb.hsv = function (rgb) { - let rdif; - let gdif; - let bdif; - let h; - let s; - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const v = Math.max(r, g, b); - const diff = v - Math.min(r, g, b); - const diffc = function (c) { - return (v - c) / 6 / diff + 1 / 2; - }; +/***/ }), +/* 234 */ +/***/ (function(module, exports, __webpack_require__) { - if (diff === 0) { - h = 0; - s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); +"use strict"; - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = (1 / 3) + rdif - bdif; - } else if (b === v) { - h = (2 / 3) + gdif - rdif; - } - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } +const stringReplaceAll = (string, substring, replacer) => { + let index = string.indexOf(substring); + if (index === -1) { + return string; } - return [ - h * 360, - s * 100, - v * 100 - ]; -}; + const substringLength = substring.length; + let endIndex = 0; + let returnValue = ''; + do { + returnValue += string.substr(endIndex, index - endIndex) + substring + replacer; + endIndex = index + substringLength; + index = string.indexOf(substring, endIndex); + } while (index !== -1); -convert.rgb.hwb = function (rgb) { - const r = rgb[0]; - const g = rgb[1]; - let b = rgb[2]; - const h = convert.rgb.hsl(rgb)[0]; - const w = 1 / 255 * Math.min(r, Math.min(g, b)); + returnValue += string.substr(endIndex); + return returnValue; +}; - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); +const stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => { + let endIndex = 0; + let returnValue = ''; + do { + const gotCR = string[index - 1] === '\r'; + returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\r\n' : '\n') + postfix; + endIndex = index + 1; + index = string.indexOf('\n', endIndex); + } while (index !== -1); - return [h, w * 100, b * 100]; + returnValue += string.substr(endIndex); + return returnValue; }; -convert.rgb.cmyk = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; +module.exports = { + stringReplaceAll, + stringEncaseCRLFWithFirstIndex +}; - const k = Math.min(1 - r, 1 - g, 1 - b); - const c = (1 - r - k) / (1 - k) || 0; - const m = (1 - g - k) / (1 - k) || 0; - const y = (1 - b - k) / (1 - k) || 0; - return [c * 100, m * 100, y * 100, k * 100]; -}; +/***/ }), +/* 235 */ +/***/ (function(module, exports, __webpack_require__) { -function comparativeDistance(x, y) { - /* - See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - */ - return ( - ((x[0] - y[0]) ** 2) + - ((x[1] - y[1]) ** 2) + - ((x[2] - y[2]) ** 2) - ); -} +"use strict"; -convert.rgb.keyword = function (rgb) { - const reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } +const TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; +const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; +const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; +const ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi; - let currentClosestDistance = Infinity; - let currentClosestKeyword; +const ESCAPES = new Map([ + ['n', '\n'], + ['r', '\r'], + ['t', '\t'], + ['b', '\b'], + ['f', '\f'], + ['v', '\v'], + ['0', '\0'], + ['\\', '\\'], + ['e', '\u001B'], + ['a', '\u0007'] +]); - for (const keyword of Object.keys(cssKeywords)) { - const value = cssKeywords[keyword]; +function unescape(c) { + const u = c[0] === 'u'; + const bracket = c[1] === '{'; - // Compute comparative distance - const distance = comparativeDistance(rgb, value); + if ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) { + return String.fromCharCode(parseInt(c.slice(1), 16)); + } - // Check if its less, if so set as closest - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } + if (u && bracket) { + return String.fromCodePoint(parseInt(c.slice(2, -1), 16)); } - return currentClosestKeyword; -}; + return ESCAPES.get(c) || c; +} -convert.keyword.rgb = function (keyword) { - return cssKeywords[keyword]; -}; +function parseArguments(name, arguments_) { + const results = []; + const chunks = arguments_.trim().split(/\s*,\s*/g); + let matches; -convert.rgb.xyz = function (rgb) { - let r = rgb[0] / 255; - let g = rgb[1] / 255; - let b = rgb[2] / 255; + for (const chunk of chunks) { + const number = Number(chunk); + if (!Number.isNaN(number)) { + results.push(number); + } else if ((matches = chunk.match(STRING_REGEX))) { + results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character)); + } else { + throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); + } + } - // Assume sRGB - r = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92); - g = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92); - b = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92); + return results; +} - const x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); - const y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); - const z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); +function parseStyle(style) { + STYLE_REGEX.lastIndex = 0; - return [x * 100, y * 100, z * 100]; -}; + const results = []; + let matches; -convert.rgb.lab = function (rgb) { - const xyz = convert.rgb.xyz(rgb); - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; + while ((matches = STYLE_REGEX.exec(style)) !== null) { + const name = matches[1]; - x /= 95.047; - y /= 100; - z /= 108.883; + if (matches[2]) { + const args = parseArguments(name, matches[2]); + results.push([name].concat(args)); + } else { + results.push([name]); + } + } - x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); + return results; +} - const l = (116 * y) - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); +function buildStyle(chalk, styles) { + const enabled = {}; - return [l, a, b]; -}; + for (const layer of styles) { + for (const style of layer.styles) { + enabled[style[0]] = layer.inverse ? null : style.slice(1); + } + } -convert.hsl.rgb = function (hsl) { - const h = hsl[0] / 360; - const s = hsl[1] / 100; - const l = hsl[2] / 100; - let t2; - let t3; - let val; + let current = chalk; + for (const [styleName, styles] of Object.entries(enabled)) { + if (!Array.isArray(styles)) { + continue; + } - if (s === 0) { - val = l * 255; - return [val, val, val]; - } + if (!(styleName in current)) { + throw new Error(`Unknown Chalk style: ${styleName}`); + } - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; + current = styles.length > 0 ? current[styleName](...styles) : current[styleName]; } - const t1 = 2 * l - t2; + return current; +} - const rgb = [0, 0, 0]; - for (let i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } +module.exports = (chalk, temporary) => { + const styles = []; + const chunks = []; + let chunk = []; - if (t3 > 1) { - t3--; - } + // eslint-disable-next-line max-params + temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => { + if (escapeCharacter) { + chunk.push(unescape(escapeCharacter)); + } else if (style) { + const string = chunk.join(''); + chunk = []; + chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string)); + styles.push({inverse, styles: parseStyle(style)}); + } else if (close) { + if (styles.length === 0) { + throw new Error('Found extraneous } in Chalk template literal'); + } - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + chunks.push(buildStyle(chalk, styles)(chunk.join(''))); + chunk = []; + styles.pop(); } else { - val = t1; + chunk.push(character); } + }); - rgb[i] = val * 255; + chunks.push(chunk.join('')); + + if (styles.length > 0) { + const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; + throw new Error(errMessage); } - return rgb; + return chunks.join(''); }; -convert.hsl.hsv = function (hsl) { - const h = hsl[0]; - let s = hsl[1] / 100; - let l = hsl[2] / 100; - let smin = s; - const lmin = Math.max(l, 0.01); - l *= 2; - s *= (l <= 1) ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - const v = (l + s) / 2; - const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); +/***/ }), +/* 236 */ +/***/ (function(module, exports, __webpack_require__) { - return [h, sv * 100, v * 100]; -}; +"use strict"; -convert.hsv.rgb = function (hsv) { - const h = hsv[0] / 60; - const s = hsv[1] / 100; - let v = hsv[2] / 100; - const hi = Math.floor(h) % 6; +const path = __webpack_require__(4); +const childProcess = __webpack_require__(237); +const crossSpawn = __webpack_require__(238); +const stripFinalNewline = __webpack_require__(251); +const npmRunPath = __webpack_require__(252); +const onetime = __webpack_require__(253); +const makeError = __webpack_require__(255); +const normalizeStdio = __webpack_require__(260); +const {spawnedKill, spawnedCancel, setupTimeout, setExitHandler} = __webpack_require__(261); +const {handleInput, getSpawnedResult, makeAllStream, validateInputSync} = __webpack_require__(262); +const {mergePromise, getSpawnedPromise} = __webpack_require__(269); +const {joinCommand, parseCommand} = __webpack_require__(270); - const f = h - Math.floor(h); - const p = 255 * v * (1 - s); - const q = 255 * v * (1 - (s * f)); - const t = 255 * v * (1 - (s * (1 - f))); - v *= 255; +const DEFAULT_MAX_BUFFER = 1000 * 1000 * 100; - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; +const getEnv = ({env: envOption, extendEnv, preferLocal, localDir, execPath}) => { + const env = extendEnv ? {...process.env, ...envOption} : envOption; + + if (preferLocal) { + return npmRunPath.env({env, cwd: localDir, execPath}); } + + return env; }; -convert.hsv.hsl = function (hsv) { - const h = hsv[0]; - const s = hsv[1] / 100; - const v = hsv[2] / 100; - const vmin = Math.max(v, 0.01); - let sl; - let l; +const handleArgs = (file, args, options = {}) => { + const parsed = crossSpawn._parse(file, args, options); + file = parsed.command; + args = parsed.args; + options = parsed.options; - l = (2 - s) * v; - const lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= (lmin <= 1) ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; + options = { + maxBuffer: DEFAULT_MAX_BUFFER, + buffer: true, + stripFinalNewline: true, + extendEnv: true, + preferLocal: false, + localDir: options.cwd || process.cwd(), + execPath: process.execPath, + encoding: 'utf8', + reject: true, + cleanup: true, + all: false, + windowsHide: true, + ...options + }; - return [h, sl * 100, l * 100]; -}; + options.env = getEnv(options); -// http://dev.w3.org/csswg/css-color/#hwb-to-rgb -convert.hwb.rgb = function (hwb) { - const h = hwb[0] / 360; - let wh = hwb[1] / 100; - let bl = hwb[2] / 100; - const ratio = wh + bl; - let f; + options.stdio = normalizeStdio(options); - // Wh + bl cant be > 1 - if (ratio > 1) { - wh /= ratio; - bl /= ratio; + if (process.platform === 'win32' && path.basename(file, '.exe') === 'cmd') { + // #116 + args.unshift('/q'); } - const i = Math.floor(6 * h); - const v = 1 - bl; - f = 6 * h - i; + return {file, args, options, parsed}; +}; - if ((i & 0x01) !== 0) { - f = 1 - f; +const handleOutput = (options, value, error) => { + if (typeof value !== 'string' && !Buffer.isBuffer(value)) { + // When `execa.sync()` errors, we normalize it to '' to mimic `execa()` + return error === undefined ? undefined : ''; } - const n = wh + f * (v - wh); // Linear interpolation - - let r; - let g; - let b; - /* eslint-disable max-statements-per-line,no-multi-spaces */ - switch (i) { - default: - case 6: - case 0: r = v; g = n; b = wh; break; - case 1: r = n; g = v; b = wh; break; - case 2: r = wh; g = v; b = n; break; - case 3: r = wh; g = n; b = v; break; - case 4: r = n; g = wh; b = v; break; - case 5: r = v; g = wh; b = n; break; + if (options.stripFinalNewline) { + return stripFinalNewline(value); } - /* eslint-enable max-statements-per-line,no-multi-spaces */ - return [r * 255, g * 255, b * 255]; + return value; }; -convert.cmyk.rgb = function (cmyk) { - const c = cmyk[0] / 100; - const m = cmyk[1] / 100; - const y = cmyk[2] / 100; - const k = cmyk[3] / 100; +const execa = (file, args, options) => { + const parsed = handleArgs(file, args, options); + const command = joinCommand(file, args); - const r = 1 - Math.min(1, c * (1 - k) + k); - const g = 1 - Math.min(1, m * (1 - k) + k); - const b = 1 - Math.min(1, y * (1 - k) + k); + let spawned; + try { + spawned = childProcess.spawn(parsed.file, parsed.args, parsed.options); + } catch (error) { + // Ensure the returned error is always both a promise and a child process + const dummySpawned = new childProcess.ChildProcess(); + const errorPromise = Promise.reject(makeError({ + error, + stdout: '', + stderr: '', + all: '', + command, + parsed, + timedOut: false, + isCanceled: false, + killed: false + })); + return mergePromise(dummySpawned, errorPromise); + } - return [r * 255, g * 255, b * 255]; -}; + const spawnedPromise = getSpawnedPromise(spawned); + const timedPromise = setupTimeout(spawned, parsed.options, spawnedPromise); + const processDone = setExitHandler(spawned, parsed.options, timedPromise); -convert.xyz.rgb = function (xyz) { - const x = xyz[0] / 100; - const y = xyz[1] / 100; - const z = xyz[2] / 100; - let r; - let g; - let b; + const context = {isCanceled: false}; - r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); - g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); - b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); + spawned.kill = spawnedKill.bind(null, spawned.kill.bind(spawned)); + spawned.cancel = spawnedCancel.bind(null, spawned, context); - // Assume sRGB - r = r > 0.0031308 - ? ((1.055 * (r ** (1.0 / 2.4))) - 0.055) - : r * 12.92; + const handlePromise = async () => { + const [{error, exitCode, signal, timedOut}, stdoutResult, stderrResult, allResult] = await getSpawnedResult(spawned, parsed.options, processDone); + const stdout = handleOutput(parsed.options, stdoutResult); + const stderr = handleOutput(parsed.options, stderrResult); + const all = handleOutput(parsed.options, allResult); - g = g > 0.0031308 - ? ((1.055 * (g ** (1.0 / 2.4))) - 0.055) - : g * 12.92; + if (error || exitCode !== 0 || signal !== null) { + const returnedError = makeError({ + error, + exitCode, + signal, + stdout, + stderr, + all, + command, + parsed, + timedOut, + isCanceled: context.isCanceled, + killed: spawned.killed + }); - b = b > 0.0031308 - ? ((1.055 * (b ** (1.0 / 2.4))) - 0.055) - : b * 12.92; + if (!parsed.options.reject) { + return returnedError; + } - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); + throw returnedError; + } - return [r * 255, g * 255, b * 255]; -}; + return { + command, + exitCode: 0, + stdout, + stderr, + all, + failed: false, + timedOut: false, + isCanceled: false, + killed: false + }; + }; -convert.xyz.lab = function (xyz) { - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; + const handlePromiseOnce = onetime(handlePromise); - x /= 95.047; - y /= 100; - z /= 108.883; + crossSpawn._enoent.hookChildProcess(spawned, parsed.parsed); - x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); + handleInput(spawned, parsed.options.input); - const l = (116 * y) - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); + spawned.all = makeAllStream(spawned, parsed.options); - return [l, a, b]; + return mergePromise(spawned, handlePromiseOnce); }; -convert.lab.xyz = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let x; - let y; - let z; +module.exports = execa; - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; +module.exports.sync = (file, args, options) => { + const parsed = handleArgs(file, args, options); + const command = joinCommand(file, args); - const y2 = y ** 3; - const x2 = x ** 3; - const z2 = z ** 3; - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + validateInputSync(parsed.options); - x *= 95.047; - y *= 100; - z *= 108.883; + let result; + try { + result = childProcess.spawnSync(parsed.file, parsed.args, parsed.options); + } catch (error) { + throw makeError({ + error, + stdout: '', + stderr: '', + all: '', + command, + parsed, + timedOut: false, + isCanceled: false, + killed: false + }); + } - return [x, y, z]; -}; + const stdout = handleOutput(parsed.options, result.stdout, result.error); + const stderr = handleOutput(parsed.options, result.stderr, result.error); -convert.lab.lch = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let h; + if (result.error || result.status !== 0 || result.signal !== null) { + const error = makeError({ + stdout, + stderr, + error: result.error, + signal: result.signal, + exitCode: result.status, + command, + parsed, + timedOut: result.error && result.error.code === 'ETIMEDOUT', + isCanceled: false, + killed: result.signal !== null + }); - const hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; + if (!parsed.options.reject) { + return error; + } - if (h < 0) { - h += 360; + throw error; } - const c = Math.sqrt(a * a + b * b); - - return [l, c, h]; + return { + command, + exitCode: 0, + stdout, + stderr, + failed: false, + timedOut: false, + isCanceled: false, + killed: false + }; }; -convert.lch.lab = function (lch) { - const l = lch[0]; - const c = lch[1]; - const h = lch[2]; - - const hr = h / 360 * 2 * Math.PI; - const a = c * Math.cos(hr); - const b = c * Math.sin(hr); - - return [l, a, b]; +module.exports.command = (command, options) => { + const [file, ...args] = parseCommand(command); + return execa(file, args, options); }; -convert.rgb.ansi16 = function (args, saturation = null) { - const [r, g, b] = args; - let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization - - value = Math.round(value / 50); +module.exports.commandSync = (command, options) => { + const [file, ...args] = parseCommand(command); + return execa.sync(file, args, options); +}; - if (value === 0) { - return 30; +module.exports.node = (scriptPath, args, options = {}) => { + if (args && !Array.isArray(args) && typeof args === 'object') { + options = args; + args = []; } - let ansi = 30 - + ((Math.round(b / 255) << 2) - | (Math.round(g / 255) << 1) - | Math.round(r / 255)); + const stdio = normalizeStdio.node(options); - if (value === 2) { - ansi += 60; - } + const {nodePath = process.execPath, nodeOptions = process.execArgv} = options; - return ansi; + return execa( + nodePath, + [ + ...nodeOptions, + scriptPath, + ...(Array.isArray(args) ? args : []) + ], + { + ...options, + stdin: undefined, + stdout: undefined, + stderr: undefined, + stdio, + shell: false + } + ); }; -convert.hsv.ansi16 = function (args) { - // Optimization here; we already know the value and don't need to get - // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); -}; -convert.rgb.ansi256 = function (args) { - const r = args[0]; - const g = args[1]; - const b = args[2]; +/***/ }), +/* 237 */ +/***/ (function(module, exports) { - // We use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - if (r === g && g === b) { - if (r < 8) { - return 16; - } +module.exports = require("child_process"); - if (r > 248) { - return 231; - } +/***/ }), +/* 238 */ +/***/ (function(module, exports, __webpack_require__) { - return Math.round(((r - 8) / 247) * 24) + 232; - } +"use strict"; - const ansi = 16 - + (36 * Math.round(r / 255 * 5)) - + (6 * Math.round(g / 255 * 5)) - + Math.round(b / 255 * 5); - return ansi; -}; +const cp = __webpack_require__(237); +const parse = __webpack_require__(239); +const enoent = __webpack_require__(250); -convert.ansi16.rgb = function (args) { - let color = args % 10; +function spawn(command, args, options) { + // Parse the arguments + const parsed = parse(command, args, options); - // Handle greyscale - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } + // Spawn the child process + const spawned = cp.spawn(parsed.command, parsed.args, parsed.options); - color = color / 10.5 * 255; + // Hook into child process "exit" event to emit an error if the command + // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 + enoent.hookChildProcess(spawned, parsed); - return [color, color, color]; - } + return spawned; +} - const mult = (~~(args > 50) + 1) * 0.5; - const r = ((color & 1) * mult) * 255; - const g = (((color >> 1) & 1) * mult) * 255; - const b = (((color >> 2) & 1) * mult) * 255; +function spawnSync(command, args, options) { + // Parse the arguments + const parsed = parse(command, args, options); - return [r, g, b]; -}; + // Spawn the child process + const result = cp.spawnSync(parsed.command, parsed.args, parsed.options); -convert.ansi256.rgb = function (args) { - // Handle greyscale - if (args >= 232) { - const c = (args - 232) * 10 + 8; - return [c, c, c]; - } + // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 + result.error = result.error || enoent.verifyENOENTSync(result.status, parsed); - args -= 16; + return result; +} - let rem; - const r = Math.floor(args / 36) / 5 * 255; - const g = Math.floor((rem = args % 36) / 6) / 5 * 255; - const b = (rem % 6) / 5 * 255; +module.exports = spawn; +module.exports.spawn = spawn; +module.exports.sync = spawnSync; - return [r, g, b]; -}; +module.exports._parse = parse; +module.exports._enoent = enoent; -convert.rgb.hex = function (args) { - const integer = ((Math.round(args[0]) & 0xFF) << 16) - + ((Math.round(args[1]) & 0xFF) << 8) - + (Math.round(args[2]) & 0xFF); - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; +/***/ }), +/* 239 */ +/***/ (function(module, exports, __webpack_require__) { -convert.hex.rgb = function (args) { - const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } +"use strict"; - let colorString = match[0]; - if (match[0].length === 3) { - colorString = colorString.split('').map(char => { - return char + char; - }).join(''); - } +const path = __webpack_require__(4); +const resolveCommand = __webpack_require__(240); +const escape = __webpack_require__(246); +const readShebang = __webpack_require__(247); - const integer = parseInt(colorString, 16); - const r = (integer >> 16) & 0xFF; - const g = (integer >> 8) & 0xFF; - const b = integer & 0xFF; +const isWin = process.platform === 'win32'; +const isExecutableRegExp = /\.(?:com|exe)$/i; +const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i; - return [r, g, b]; -}; +function detectShebang(parsed) { + parsed.file = resolveCommand(parsed); -convert.rgb.hcg = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const max = Math.max(Math.max(r, g), b); - const min = Math.min(Math.min(r, g), b); - const chroma = (max - min); - let grayscale; - let hue; + const shebang = parsed.file && readShebang(parsed.file); - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } + if (shebang) { + parsed.args.unshift(parsed.file); + parsed.command = shebang; - if (chroma <= 0) { - hue = 0; - } else - if (max === r) { - hue = ((g - b) / chroma) % 6; - } else - if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma; - } + return resolveCommand(parsed); + } - hue /= 6; - hue %= 1; + return parsed.file; +} - return [hue * 360, chroma * 100, grayscale * 100]; -}; +function parseNonShell(parsed) { + if (!isWin) { + return parsed; + } -convert.hsl.hcg = function (hsl) { - const s = hsl[1] / 100; - const l = hsl[2] / 100; + // Detect & add support for shebangs + const commandFile = detectShebang(parsed); - const c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l)); + // We don't need a shell if the command filename is an executable + const needsShell = !isExecutableRegExp.test(commandFile); - let f = 0; - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } + // If a shell is required, use cmd.exe and take care of escaping everything correctly + // Note that `forceShell` is an hidden option used only in tests + if (parsed.options.forceShell || needsShell) { + // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/` + // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument + // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called, + // we need to double escape them + const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile); - return [hsl[0], c * 100, f * 100]; -}; + // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar) + // This is necessary otherwise it will always fail with ENOENT in those cases + parsed.command = path.normalize(parsed.command); -convert.hsv.hcg = function (hsv) { - const s = hsv[1] / 100; - const v = hsv[2] / 100; - - const c = s * v; - let f = 0; + // Escape command & arguments + parsed.command = escape.command(parsed.command); + parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars)); - if (c < 1.0) { - f = (v - c) / (1 - c); - } + const shellCommand = [parsed.command].concat(parsed.args).join(' '); - return [hsv[0], c * 100, f * 100]; -}; + parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; + parsed.command = process.env.comspec || 'cmd.exe'; + parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped + } -convert.hcg.rgb = function (hcg) { - const h = hcg[0] / 360; - const c = hcg[1] / 100; - const g = hcg[2] / 100; + return parsed; +} - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } +function parse(command, args, options) { + // Normalize arguments, similar to nodejs + if (args && !Array.isArray(args)) { + options = args; + args = null; + } - const pure = [0, 0, 0]; - const hi = (h % 1) * 6; - const v = hi % 1; - const w = 1 - v; - let mg = 0; + args = args ? args.slice(0) : []; // Clone array to avoid changing the original + options = Object.assign({}, options); // Clone object to avoid changing the original - /* eslint-disable max-statements-per-line */ - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; pure[1] = v; pure[2] = 0; break; - case 1: - pure[0] = w; pure[1] = 1; pure[2] = 0; break; - case 2: - pure[0] = 0; pure[1] = 1; pure[2] = v; break; - case 3: - pure[0] = 0; pure[1] = w; pure[2] = 1; break; - case 4: - pure[0] = v; pure[1] = 0; pure[2] = 1; break; - default: - pure[0] = 1; pure[1] = 0; pure[2] = w; - } - /* eslint-enable max-statements-per-line */ + // Build our parsed object + const parsed = { + command, + args, + options, + file: undefined, + original: { + command, + args, + }, + }; - mg = (1.0 - c) * g; + // Delegate further parsing to shell or non-shell + return options.shell ? parsed : parseNonShell(parsed); +} - return [ - (c * pure[0] + mg) * 255, - (c * pure[1] + mg) * 255, - (c * pure[2] + mg) * 255 - ]; -}; +module.exports = parse; -convert.hcg.hsv = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const v = c + g * (1.0 - c); - let f = 0; +/***/ }), +/* 240 */ +/***/ (function(module, exports, __webpack_require__) { - if (v > 0.0) { - f = c / v; - } +"use strict"; - return [hcg[0], f * 100, v * 100]; -}; -convert.hcg.hsl = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; +const path = __webpack_require__(4); +const which = __webpack_require__(241); +const pathKey = __webpack_require__(245)(); - const l = g * (1.0 - c) + 0.5 * c; - let s = 0; +function resolveCommandAttempt(parsed, withoutPathExt) { + const cwd = process.cwd(); + const hasCustomCwd = parsed.options.cwd != null; + // Worker threads do not have process.chdir() + const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined; - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else - if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } + // If a custom `cwd` was specified, we need to change the process cwd + // because `which` will do stat calls but does not support a custom cwd + if (shouldSwitchCwd) { + try { + process.chdir(parsed.options.cwd); + } catch (err) { + /* Empty */ + } + } - return [hcg[0], s * 100, l * 100]; -}; + let resolved; -convert.hcg.hwb = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; -}; + try { + resolved = which.sync(parsed.command, { + path: (parsed.options.env || process.env)[pathKey], + pathExt: withoutPathExt ? path.delimiter : undefined, + }); + } catch (e) { + /* Empty */ + } finally { + if (shouldSwitchCwd) { + process.chdir(cwd); + } + } -convert.hwb.hcg = function (hwb) { - const w = hwb[1] / 100; - const b = hwb[2] / 100; - const v = 1 - b; - const c = v - w; - let g = 0; + // If we successfully resolved, ensure that an absolute path is returned + // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it + if (resolved) { + resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved); + } - if (c < 1) { - g = (v - c) / (1 - c); - } + return resolved; +} - return [hwb[0], c * 100, g * 100]; -}; +function resolveCommand(parsed) { + return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true); +} -convert.apple.rgb = function (apple) { - return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; -}; +module.exports = resolveCommand; -convert.rgb.apple = function (rgb) { - return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; -}; -convert.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; -}; +/***/ }), +/* 241 */ +/***/ (function(module, exports, __webpack_require__) { -convert.gray.hsl = function (args) { - return [0, 0, args[0]]; -}; +const isWindows = process.platform === 'win32' || + process.env.OSTYPE === 'cygwin' || + process.env.OSTYPE === 'msys' -convert.gray.hsv = convert.gray.hsl; +const path = __webpack_require__(4) +const COLON = isWindows ? ';' : ':' +const isexe = __webpack_require__(242) -convert.gray.hwb = function (gray) { - return [0, 100, gray[0]]; -}; +const getNotFoundError = (cmd) => + Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' }) -convert.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; -}; +const getPathInfo = (cmd, opt) => { + const colon = opt.colon || COLON -convert.gray.lab = function (gray) { - return [gray[0], 0, 0]; -}; + // If it has a slash, then we don't bother searching the pathenv. + // just check the file itself, and that's it. + const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? [''] + : ( + [ + // windows always checks the cwd first + ...(isWindows ? [process.cwd()] : []), + ...(opt.path || process.env.PATH || + /* istanbul ignore next: very unusual */ '').split(colon), + ] + ) + const pathExtExe = isWindows + ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM' + : '' + const pathExt = isWindows ? pathExtExe.split(colon) : [''] -convert.gray.hex = function (gray) { - const val = Math.round(gray[0] / 100 * 255) & 0xFF; - const integer = (val << 16) + (val << 8) + val; + if (isWindows) { + if (cmd.indexOf('.') !== -1 && pathExt[0] !== '') + pathExt.unshift('') + } - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; + return { + pathEnv, + pathExt, + pathExtExe, + } +} -convert.rgb.gray = function (rgb) { - const val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; -}; +const which = (cmd, opt, cb) => { + if (typeof opt === 'function') { + cb = opt + opt = {} + } + if (!opt) + opt = {} + const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt) + const found = [] -/***/ }), -/* 239 */ -/***/ (function(module, exports, __webpack_require__) { + const step = i => new Promise((resolve, reject) => { + if (i === pathEnv.length) + return opt.all && found.length ? resolve(found) + : reject(getNotFoundError(cmd)) -const conversions = __webpack_require__(238); + const ppRaw = pathEnv[i] + const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw -/* - This function routes a model to all other models. + const pCmd = path.join(pathPart, cmd) + const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd + : pCmd - all functions that are routed have a property `.conversion` attached - to the returned synthetic function. This property is an array - of strings, each with the steps in between the 'from' and 'to' - color models (inclusive). + resolve(subStep(p, i, 0)) + }) - conversions that are not possible simply are not included. -*/ + const subStep = (p, i, ii) => new Promise((resolve, reject) => { + if (ii === pathExt.length) + return resolve(step(i + 1)) + const ext = pathExt[ii] + isexe(p + ext, { pathExt: pathExtExe }, (er, is) => { + if (!er && is) { + if (opt.all) + found.push(p + ext) + else + return resolve(p + ext) + } + return resolve(subStep(p, i, ii + 1)) + }) + }) -function buildGraph() { - const graph = {}; - // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - const models = Object.keys(conversions); + return cb ? step(0).then(res => cb(null, res), cb) : step(0) +} - for (let len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } +const whichSync = (cmd, opt) => { + opt = opt || {} - return graph; -} + const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt) + const found = [] -// https://en.wikipedia.org/wiki/Breadth-first_search -function deriveBFS(fromModel) { - const graph = buildGraph(); - const queue = [fromModel]; // Unshift -> queue -> pop + for (let i = 0; i < pathEnv.length; i ++) { + const ppRaw = pathEnv[i] + const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw - graph[fromModel].distance = 0; + const pCmd = path.join(pathPart, cmd) + const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd + : pCmd - while (queue.length) { - const current = queue.pop(); - const adjacents = Object.keys(conversions[current]); + for (let j = 0; j < pathExt.length; j ++) { + const cur = p + pathExt[j] + try { + const is = isexe.sync(cur, { pathExt: pathExtExe }) + if (is) { + if (opt.all) + found.push(cur) + else + return cur + } + } catch (ex) {} + } + } - for (let len = adjacents.length, i = 0; i < len; i++) { - const adjacent = adjacents[i]; - const node = graph[adjacent]; + if (opt.all && found.length) + return found - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } + if (opt.nothrow) + return null - return graph; + throw getNotFoundError(cmd) } -function link(from, to) { - return function (args) { - return to(from(args)); - }; -} +module.exports = which +which.sync = whichSync -function wrapConversion(toModel, graph) { - const path = [graph[toModel].parent, toModel]; - let fn = conversions[graph[toModel].parent][toModel]; - let cur = graph[toModel].parent; - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } +/***/ }), +/* 242 */ +/***/ (function(module, exports, __webpack_require__) { - fn.conversion = path; - return fn; +var fs = __webpack_require__(133) +var core +if (process.platform === 'win32' || global.TESTING_WINDOWS) { + core = __webpack_require__(243) +} else { + core = __webpack_require__(244) } -module.exports = function (fromModel) { - const graph = deriveBFS(fromModel); - const conversion = {}; +module.exports = isexe +isexe.sync = sync - const models = Object.keys(graph); - for (let len = models.length, i = 0; i < len; i++) { - const toModel = models[i]; - const node = graph[toModel]; +function isexe (path, options, cb) { + if (typeof options === 'function') { + cb = options + options = {} + } - if (node.parent === null) { - // No possible conversion, or this node is the source model. - continue; - } + if (!cb) { + if (typeof Promise !== 'function') { + throw new TypeError('callback not provided') + } - conversion[toModel] = wrapConversion(toModel, graph); - } + return new Promise(function (resolve, reject) { + isexe(path, options || {}, function (er, is) { + if (er) { + reject(er) + } else { + resolve(is) + } + }) + }) + } - return conversion; -}; + core(path, options || {}, function (er, is) { + // ignore EACCES because that just means we aren't allowed to run it + if (er) { + if (er.code === 'EACCES' || options && options.ignoreErrors) { + er = null + is = false + } + } + cb(er, is) + }) +} +function sync (path, options) { + // my kingdom for a filtered catch + try { + return core.sync(path, options || {}) + } catch (er) { + if (options && options.ignoreErrors || er.code === 'EACCES') { + return false + } else { + throw er + } + } +} /***/ }), -/* 240 */ +/* 243 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; +module.exports = isexe +isexe.sync = sync -const os = __webpack_require__(120); -const tty = __webpack_require__(121); -const hasFlag = __webpack_require__(241); +var fs = __webpack_require__(133) -const {env} = process; +function checkPathExt (path, options) { + var pathext = options.pathExt !== undefined ? + options.pathExt : process.env.PATHEXT -let forceColor; -if (hasFlag('no-color') || - hasFlag('no-colors') || - hasFlag('color=false') || - hasFlag('color=never')) { - forceColor = 0; -} else if (hasFlag('color') || - hasFlag('colors') || - hasFlag('color=true') || - hasFlag('color=always')) { - forceColor = 1; -} + if (!pathext) { + return true + } -if ('FORCE_COLOR' in env) { - if (env.FORCE_COLOR === 'true') { - forceColor = 1; - } else if (env.FORCE_COLOR === 'false') { - forceColor = 0; - } else { - forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3); - } + pathext = pathext.split(';') + if (pathext.indexOf('') !== -1) { + return true + } + for (var i = 0; i < pathext.length; i++) { + var p = pathext[i].toLowerCase() + if (p && path.substr(-p.length).toLowerCase() === p) { + return true + } + } + return false } -function translateLevel(level) { - if (level === 0) { - return false; - } +function checkStat (stat, path, options) { + if (!stat.isSymbolicLink() && !stat.isFile()) { + return false + } + return checkPathExt(path, options) +} - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; +function isexe (path, options, cb) { + fs.stat(path, function (er, stat) { + cb(er, er ? false : checkStat(stat, path, options)) + }) } -function supportsColor(haveStream, streamIsTTY) { - if (forceColor === 0) { - return 0; - } +function sync (path, options) { + return checkStat(fs.statSync(path), path, options) +} - if (hasFlag('color=16m') || - hasFlag('color=full') || - hasFlag('color=truecolor')) { - return 3; - } - if (hasFlag('color=256')) { - return 2; - } +/***/ }), +/* 244 */ +/***/ (function(module, exports, __webpack_require__) { - if (haveStream && !streamIsTTY && forceColor === undefined) { - return 0; - } +module.exports = isexe +isexe.sync = sync - const min = forceColor || 0; +var fs = __webpack_require__(133) - if (env.TERM === 'dumb') { - return min; - } - - if (process.platform === 'win32') { - // Windows 10 build 10586 is the first Windows release that supports 256 colors. - // Windows 10 build 14931 is the first release that supports 16m/TrueColor. - const osRelease = os.release().split('.'); - if ( - Number(osRelease[0]) >= 10 && - Number(osRelease[2]) >= 10586 - ) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } +function isexe (path, options, cb) { + fs.stat(path, function (er, stat) { + cb(er, er ? false : checkStat(stat, options)) + }) +} - return 1; - } +function sync (path, options) { + return checkStat(fs.statSync(path), options) +} - if ('CI' in env) { - if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { - return 1; - } +function checkStat (stat, options) { + return stat.isFile() && checkMode(stat, options) +} - return min; - } +function checkMode (stat, options) { + var mod = stat.mode + var uid = stat.uid + var gid = stat.gid - if ('TEAMCITY_VERSION' in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } + var myUid = options.uid !== undefined ? + options.uid : process.getuid && process.getuid() + var myGid = options.gid !== undefined ? + options.gid : process.getgid && process.getgid() - if ('GITHUB_ACTIONS' in env) { - return 1; - } + var u = parseInt('100', 8) + var g = parseInt('010', 8) + var o = parseInt('001', 8) + var ug = u | g - if (env.COLORTERM === 'truecolor') { - return 3; - } + var ret = (mod & o) || + (mod & g) && gid === myGid || + (mod & u) && uid === myUid || + (mod & ug) && myUid === 0 - if ('TERM_PROGRAM' in env) { - const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + return ret +} - switch (env.TERM_PROGRAM) { - case 'iTerm.app': - return version >= 3 ? 3 : 2; - case 'Apple_Terminal': - return 2; - // No default - } - } - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } +/***/ }), +/* 245 */ +/***/ (function(module, exports, __webpack_require__) { - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } +"use strict"; - if ('COLORTERM' in env) { - return 1; - } - return min; -} +const pathKey = (options = {}) => { + const environment = options.env || process.env; + const platform = options.platform || process.platform; -function getSupportLevel(stream) { - const level = supportsColor(stream, stream && stream.isTTY); - return translateLevel(level); -} + if (platform !== 'win32') { + return 'PATH'; + } -module.exports = { - supportsColor: getSupportLevel, - stdout: translateLevel(supportsColor(true, tty.isatty(1))), - stderr: translateLevel(supportsColor(true, tty.isatty(2))) + return Object.keys(environment).find(key => key.toUpperCase() === 'PATH') || 'Path'; }; +module.exports = pathKey; +// TODO: Remove this for the next major release +module.exports.default = pathKey; + /***/ }), -/* 241 */ +/* 246 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -module.exports = (flag, argv = process.argv) => { - const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); - const position = argv.indexOf(prefix + flag); - const terminatorPosition = argv.indexOf('--'); - return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); -}; +// See http://www.robvanderwoude.com/escapechars.php +const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; + +function escapeCommand(arg) { + // Escape meta chars + arg = arg.replace(metaCharsRegExp, '^$1'); + + return arg; +} + +function escapeArgument(arg, doubleEscapeMetaChars) { + // Convert to string + arg = `${arg}`; + + // Algorithm below is based on https://qntm.org/cmd + + // Sequence of backslashes followed by a double quote: + // double up all the backslashes and escape the double quote + arg = arg.replace(/(\\*)"/g, '$1$1\\"'); + + // Sequence of backslashes followed by the end of the string + // (which will become a double quote later): + // double up all the backslashes + arg = arg.replace(/(\\*)$/, '$1$1'); + + // All other backslashes occur literally + + // Quote the whole thing: + arg = `"${arg}"`; + + // Escape meta chars + arg = arg.replace(metaCharsRegExp, '^$1'); + + // Double escape meta chars if necessary + if (doubleEscapeMetaChars) { + arg = arg.replace(metaCharsRegExp, '^$1'); + } + + return arg; +} + +module.exports.command = escapeCommand; +module.exports.argument = escapeArgument; /***/ }), -/* 242 */ +/* 247 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const stringReplaceAll = (string, substring, replacer) => { - let index = string.indexOf(substring); - if (index === -1) { - return string; - } +const fs = __webpack_require__(133); +const shebangCommand = __webpack_require__(248); - const substringLength = substring.length; - let endIndex = 0; - let returnValue = ''; - do { - returnValue += string.substr(endIndex, index - endIndex) + substring + replacer; - endIndex = index + substringLength; - index = string.indexOf(substring, endIndex); - } while (index !== -1); +function readShebang(command) { + // Read the first 150 bytes from the file + const size = 150; + const buffer = Buffer.alloc(size); - returnValue += string.substr(endIndex); - return returnValue; -}; + let fd; -const stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => { - let endIndex = 0; - let returnValue = ''; - do { - const gotCR = string[index - 1] === '\r'; - returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\r\n' : '\n') + postfix; - endIndex = index + 1; - index = string.indexOf('\n', endIndex); - } while (index !== -1); + try { + fd = fs.openSync(command, 'r'); + fs.readSync(fd, buffer, 0, size, 0); + fs.closeSync(fd); + } catch (e) { /* Empty */ } - returnValue += string.substr(endIndex); - return returnValue; -}; + // Attempt to extract shebang (null is returned if not a shebang) + return shebangCommand(buffer.toString()); +} -module.exports = { - stringReplaceAll, - stringEncaseCRLFWithFirstIndex -}; +module.exports = readShebang; /***/ }), -/* 243 */ +/* 248 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; -const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; -const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; -const ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi; - -const ESCAPES = new Map([ - ['n', '\n'], - ['r', '\r'], - ['t', '\t'], - ['b', '\b'], - ['f', '\f'], - ['v', '\v'], - ['0', '\0'], - ['\\', '\\'], - ['e', '\u001B'], - ['a', '\u0007'] -]); +const shebangRegex = __webpack_require__(249); -function unescape(c) { - const u = c[0] === 'u'; - const bracket = c[1] === '{'; +module.exports = (string = '') => { + const match = string.match(shebangRegex); - if ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) { - return String.fromCharCode(parseInt(c.slice(1), 16)); + if (!match) { + return null; } - if (u && bracket) { - return String.fromCodePoint(parseInt(c.slice(2, -1), 16)); + const [path, argument] = match[0].replace(/#! ?/, '').split(' '); + const binary = path.split('/').pop(); + + if (binary === 'env') { + return argument; } - return ESCAPES.get(c) || c; -} + return argument ? `${binary} ${argument}` : binary; +}; -function parseArguments(name, arguments_) { - const results = []; - const chunks = arguments_.trim().split(/\s*,\s*/g); - let matches; - for (const chunk of chunks) { - const number = Number(chunk); - if (!Number.isNaN(number)) { - results.push(number); - } else if ((matches = chunk.match(STRING_REGEX))) { - results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character)); - } else { - throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); - } - } +/***/ }), +/* 249 */ +/***/ (function(module, exports, __webpack_require__) { - return results; -} +"use strict"; -function parseStyle(style) { - STYLE_REGEX.lastIndex = 0; +module.exports = /^#!(.*)/; - const results = []; - let matches; - while ((matches = STYLE_REGEX.exec(style)) !== null) { - const name = matches[1]; +/***/ }), +/* 250 */ +/***/ (function(module, exports, __webpack_require__) { - if (matches[2]) { - const args = parseArguments(name, matches[2]); - results.push([name].concat(args)); - } else { - results.push([name]); - } - } +"use strict"; - return results; + +const isWin = process.platform === 'win32'; + +function notFoundError(original, syscall) { + return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), { + code: 'ENOENT', + errno: 'ENOENT', + syscall: `${syscall} ${original.command}`, + path: original.command, + spawnargs: original.args, + }); } -function buildStyle(chalk, styles) { - const enabled = {}; +function hookChildProcess(cp, parsed) { + if (!isWin) { + return; + } - for (const layer of styles) { - for (const style of layer.styles) { - enabled[style[0]] = layer.inverse ? null : style.slice(1); - } - } + const originalEmit = cp.emit; - let current = chalk; - for (const [styleName, styles] of Object.entries(enabled)) { - if (!Array.isArray(styles)) { - continue; - } + cp.emit = function (name, arg1) { + // If emitting "exit" event and exit code is 1, we need to check if + // the command exists and emit an "error" instead + // See https://github.com/IndigoUnited/node-cross-spawn/issues/16 + if (name === 'exit') { + const err = verifyENOENT(arg1, parsed, 'spawn'); - if (!(styleName in current)) { - throw new Error(`Unknown Chalk style: ${styleName}`); - } + if (err) { + return originalEmit.call(cp, 'error', err); + } + } - current = styles.length > 0 ? current[styleName](...styles) : current[styleName]; - } + return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params + }; +} - return current; +function verifyENOENT(status, parsed) { + if (isWin && status === 1 && !parsed.file) { + return notFoundError(parsed.original, 'spawn'); + } + + return null; } -module.exports = (chalk, temporary) => { - const styles = []; - const chunks = []; - let chunk = []; +function verifyENOENTSync(status, parsed) { + if (isWin && status === 1 && !parsed.file) { + return notFoundError(parsed.original, 'spawnSync'); + } - // eslint-disable-next-line max-params - temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => { - if (escapeCharacter) { - chunk.push(unescape(escapeCharacter)); - } else if (style) { - const string = chunk.join(''); - chunk = []; - chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string)); - styles.push({inverse, styles: parseStyle(style)}); - } else if (close) { - if (styles.length === 0) { - throw new Error('Found extraneous } in Chalk template literal'); - } + return null; +} - chunks.push(buildStyle(chalk, styles)(chunk.join(''))); - chunk = []; - styles.pop(); - } else { - chunk.push(character); - } - }); +module.exports = { + hookChildProcess, + verifyENOENT, + verifyENOENTSync, + notFoundError, +}; - chunks.push(chunk.join('')); - if (styles.length > 0) { - const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; - throw new Error(errMessage); +/***/ }), +/* 251 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = input => { + const LF = typeof input === 'string' ? '\n' : '\n'.charCodeAt(); + const CR = typeof input === 'string' ? '\r' : '\r'.charCodeAt(); + + if (input[input.length - 1] === LF) { + input = input.slice(0, input.length - 1); } - return chunks.join(''); + if (input[input.length - 1] === CR) { + input = input.slice(0, input.length - 1); + } + + return input; }; /***/ }), -/* 244 */ +/* 252 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const childProcess = __webpack_require__(245); -const crossSpawn = __webpack_require__(246); -const stripFinalNewline = __webpack_require__(259); -const npmRunPath = __webpack_require__(260); -const onetime = __webpack_require__(261); -const makeError = __webpack_require__(263); -const normalizeStdio = __webpack_require__(268); -const {spawnedKill, spawnedCancel, setupTimeout, setExitHandler} = __webpack_require__(269); -const {handleInput, getSpawnedResult, makeAllStream, validateInputSync} = __webpack_require__(270); -const {mergePromise, getSpawnedPromise} = __webpack_require__(277); -const {joinCommand, parseCommand} = __webpack_require__(278); +const pathKey = __webpack_require__(245); -const DEFAULT_MAX_BUFFER = 1000 * 1000 * 100; +const npmRunPath = options => { + options = { + cwd: process.cwd(), + path: process.env[pathKey()], + execPath: process.execPath, + ...options + }; -const getEnv = ({env: envOption, extendEnv, preferLocal, localDir, execPath}) => { - const env = extendEnv ? {...process.env, ...envOption} : envOption; + let previous; + let cwdPath = path.resolve(options.cwd); + const result = []; - if (preferLocal) { - return npmRunPath.env({env, cwd: localDir, execPath}); + while (previous !== cwdPath) { + result.push(path.join(cwdPath, 'node_modules/.bin')); + previous = cwdPath; + cwdPath = path.resolve(cwdPath, '..'); } - return env; + // Ensure the running `node` binary is used + const execPathDir = path.resolve(options.cwd, options.execPath, '..'); + result.push(execPathDir); + + return result.concat(options.path).join(path.delimiter); }; -const handleArgs = (file, args, options = {}) => { - const parsed = crossSpawn._parse(file, args, options); - file = parsed.command; - args = parsed.args; - options = parsed.options; +module.exports = npmRunPath; +// TODO: Remove this for the next major release +module.exports.default = npmRunPath; +module.exports.env = options => { options = { - maxBuffer: DEFAULT_MAX_BUFFER, - buffer: true, - stripFinalNewline: true, - extendEnv: true, - preferLocal: false, - localDir: options.cwd || process.cwd(), - execPath: process.execPath, - encoding: 'utf8', - reject: true, - cleanup: true, - all: false, - windowsHide: true, + env: process.env, ...options }; - options.env = getEnv(options); - - options.stdio = normalizeStdio(options); + const env = {...options.env}; + const path = pathKey({env}); - if (process.platform === 'win32' && path.basename(file, '.exe') === 'cmd') { - // #116 - args.unshift('/q'); - } + options.path = env[path]; + env[path] = module.exports(options); - return {file, args, options, parsed}; + return env; }; -const handleOutput = (options, value, error) => { - if (typeof value !== 'string' && !Buffer.isBuffer(value)) { - // When `execa.sync()` errors, we normalize it to '' to mimic `execa()` - return error === undefined ? undefined : ''; - } - if (options.stripFinalNewline) { - return stripFinalNewline(value); - } +/***/ }), +/* 253 */ +/***/ (function(module, exports, __webpack_require__) { - return value; -}; +"use strict"; -const execa = (file, args, options) => { - const parsed = handleArgs(file, args, options); - const command = joinCommand(file, args); +const mimicFn = __webpack_require__(254); - let spawned; - try { - spawned = childProcess.spawn(parsed.file, parsed.args, parsed.options); - } catch (error) { - // Ensure the returned error is always both a promise and a child process - const dummySpawned = new childProcess.ChildProcess(); - const errorPromise = Promise.reject(makeError({ - error, - stdout: '', - stderr: '', - all: '', - command, - parsed, - timedOut: false, - isCanceled: false, - killed: false - })); - return mergePromise(dummySpawned, errorPromise); +const calledFunctions = new WeakMap(); + +const oneTime = (fn, options = {}) => { + if (typeof fn !== 'function') { + throw new TypeError('Expected a function'); } - const spawnedPromise = getSpawnedPromise(spawned); - const timedPromise = setupTimeout(spawned, parsed.options, spawnedPromise); - const processDone = setExitHandler(spawned, parsed.options, timedPromise); + let ret; + let isCalled = false; + let callCount = 0; + const functionName = fn.displayName || fn.name || ''; - const context = {isCanceled: false}; + const onetime = function (...args) { + calledFunctions.set(onetime, ++callCount); - spawned.kill = spawnedKill.bind(null, spawned.kill.bind(spawned)); - spawned.cancel = spawnedCancel.bind(null, spawned, context); + if (isCalled) { + if (options.throw === true) { + throw new Error(`Function \`${functionName}\` can only be called once`); + } - const handlePromise = async () => { - const [{error, exitCode, signal, timedOut}, stdoutResult, stderrResult, allResult] = await getSpawnedResult(spawned, parsed.options, processDone); - const stdout = handleOutput(parsed.options, stdoutResult); - const stderr = handleOutput(parsed.options, stderrResult); - const all = handleOutput(parsed.options, allResult); - - if (error || exitCode !== 0 || signal !== null) { - const returnedError = makeError({ - error, - exitCode, - signal, - stdout, - stderr, - all, - command, - parsed, - timedOut, - isCanceled: context.isCanceled, - killed: spawned.killed - }); - - if (!parsed.options.reject) { - return returnedError; - } - - throw returnedError; + return ret; } - return { - command, - exitCode: 0, - stdout, - stderr, - all, - failed: false, - timedOut: false, - isCanceled: false, - killed: false - }; - }; - - const handlePromiseOnce = onetime(handlePromise); - - crossSpawn._enoent.hookChildProcess(spawned, parsed.parsed); + isCalled = true; + ret = fn.apply(this, args); + fn = null; - handleInput(spawned, parsed.options.input); + return ret; + }; - spawned.all = makeAllStream(spawned, parsed.options); + mimicFn(onetime, fn); + calledFunctions.set(onetime, callCount); - return mergePromise(spawned, handlePromiseOnce); + return onetime; }; -module.exports = execa; - -module.exports.sync = (file, args, options) => { - const parsed = handleArgs(file, args, options); - const command = joinCommand(file, args); - - validateInputSync(parsed.options); +module.exports = oneTime; +// TODO: Remove this for the next major release +module.exports.default = oneTime; - let result; - try { - result = childProcess.spawnSync(parsed.file, parsed.args, parsed.options); - } catch (error) { - throw makeError({ - error, - stdout: '', - stderr: '', - all: '', - command, - parsed, - timedOut: false, - isCanceled: false, - killed: false - }); +module.exports.callCount = fn => { + if (!calledFunctions.has(fn)) { + throw new Error(`The given function \`${fn.name}\` is not wrapped by the \`onetime\` package`); } - const stdout = handleOutput(parsed.options, result.stdout, result.error); - const stderr = handleOutput(parsed.options, result.stderr, result.error); + return calledFunctions.get(fn); +}; - if (result.error || result.status !== 0 || result.signal !== null) { - const error = makeError({ - stdout, - stderr, - error: result.error, - signal: result.signal, - exitCode: result.status, - command, - parsed, - timedOut: result.error && result.error.code === 'ETIMEDOUT', - isCanceled: false, - killed: result.signal !== null - }); - if (!parsed.options.reject) { - return error; - } +/***/ }), +/* 254 */ +/***/ (function(module, exports, __webpack_require__) { - throw error; - } +"use strict"; - return { - command, - exitCode: 0, - stdout, - stderr, - failed: false, - timedOut: false, - isCanceled: false, - killed: false - }; -}; -module.exports.command = (command, options) => { - const [file, ...args] = parseCommand(command); - return execa(file, args, options); -}; +const mimicFn = (to, from) => { + for (const prop of Reflect.ownKeys(from)) { + Object.defineProperty(to, prop, Object.getOwnPropertyDescriptor(from, prop)); + } -module.exports.commandSync = (command, options) => { - const [file, ...args] = parseCommand(command); - return execa.sync(file, args, options); + return to; }; -module.exports.node = (scriptPath, args, options = {}) => { - if (args && !Array.isArray(args) && typeof args === 'object') { - options = args; - args = []; - } +module.exports = mimicFn; +// TODO: Remove this for the next major release +module.exports.default = mimicFn; - const stdio = normalizeStdio.node(options); - const {nodePath = process.execPath, nodeOptions = process.execArgv} = options; +/***/ }), +/* 255 */ +/***/ (function(module, exports, __webpack_require__) { - return execa( - nodePath, - [ - ...nodeOptions, - scriptPath, - ...(Array.isArray(args) ? args : []) - ], - { - ...options, - stdin: undefined, - stdout: undefined, - stderr: undefined, - stdio, - shell: false - } - ); -}; +"use strict"; +const {signalsByName} = __webpack_require__(256); -/***/ }), -/* 245 */ -/***/ (function(module, exports) { +const getErrorPrefix = ({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled}) => { + if (timedOut) { + return `timed out after ${timeout} milliseconds`; + } -module.exports = require("child_process"); + if (isCanceled) { + return 'was canceled'; + } -/***/ }), -/* 246 */ -/***/ (function(module, exports, __webpack_require__) { + if (errorCode !== undefined) { + return `failed with ${errorCode}`; + } -"use strict"; + if (signal !== undefined) { + return `was killed with ${signal} (${signalDescription})`; + } + if (exitCode !== undefined) { + return `failed with exit code ${exitCode}`; + } -const cp = __webpack_require__(245); -const parse = __webpack_require__(247); -const enoent = __webpack_require__(258); + return 'failed'; +}; -function spawn(command, args, options) { - // Parse the arguments - const parsed = parse(command, args, options); +const makeError = ({ + stdout, + stderr, + all, + error, + signal, + exitCode, + command, + timedOut, + isCanceled, + killed, + parsed: {options: {timeout}} +}) => { + // `signal` and `exitCode` emitted on `spawned.on('exit')` event can be `null`. + // We normalize them to `undefined` + exitCode = exitCode === null ? undefined : exitCode; + signal = signal === null ? undefined : signal; + const signalDescription = signal === undefined ? undefined : signalsByName[signal].description; - // Spawn the child process - const spawned = cp.spawn(parsed.command, parsed.args, parsed.options); + const errorCode = error && error.code; - // Hook into child process "exit" event to emit an error if the command - // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 - enoent.hookChildProcess(spawned, parsed); + const prefix = getErrorPrefix({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled}); + const execaMessage = `Command ${prefix}: ${command}`; + const isError = Object.prototype.toString.call(error) === '[object Error]'; + const shortMessage = isError ? `${execaMessage}\n${error.message}` : execaMessage; + const message = [shortMessage, stderr, stdout].filter(Boolean).join('\n'); - return spawned; -} + if (isError) { + error.originalMessage = error.message; + error.message = message; + } else { + error = new Error(message); + } -function spawnSync(command, args, options) { - // Parse the arguments - const parsed = parse(command, args, options); + error.shortMessage = shortMessage; + error.command = command; + error.exitCode = exitCode; + error.signal = signal; + error.signalDescription = signalDescription; + error.stdout = stdout; + error.stderr = stderr; - // Spawn the child process - const result = cp.spawnSync(parsed.command, parsed.args, parsed.options); + if (all !== undefined) { + error.all = all; + } - // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 - result.error = result.error || enoent.verifyENOENTSync(result.status, parsed); + if ('bufferedData' in error) { + delete error.bufferedData; + } - return result; -} + error.failed = true; + error.timedOut = Boolean(timedOut); + error.isCanceled = isCanceled; + error.killed = killed && !timedOut; -module.exports = spawn; -module.exports.spawn = spawn; -module.exports.sync = spawnSync; + return error; +}; -module.exports._parse = parse; -module.exports._enoent = enoent; +module.exports = makeError; /***/ }), -/* 247 */ +/* 256 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +Object.defineProperty(exports,"__esModule",{value:true});exports.signalsByNumber=exports.signalsByName=void 0;var _os=__webpack_require__(120); +var _signals=__webpack_require__(257); +var _realtime=__webpack_require__(259); -const path = __webpack_require__(4); -const resolveCommand = __webpack_require__(248); -const escape = __webpack_require__(254); -const readShebang = __webpack_require__(255); -const isWin = process.platform === 'win32'; -const isExecutableRegExp = /\.(?:com|exe)$/i; -const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i; -function detectShebang(parsed) { - parsed.file = resolveCommand(parsed); +const getSignalsByName=function(){ +const signals=(0,_signals.getSignals)(); +return signals.reduce(getSignalByName,{}); +}; - const shebang = parsed.file && readShebang(parsed.file); +const getSignalByName=function( +signalByNameMemo, +{name,number,description,supported,action,forced,standard}) +{ +return{ +...signalByNameMemo, +[name]:{name,number,description,supported,action,forced,standard}}; - if (shebang) { - parsed.args.unshift(parsed.file); - parsed.command = shebang; +}; - return resolveCommand(parsed); - } +const signalsByName=getSignalsByName();exports.signalsByName=signalsByName; - return parsed.file; -} -function parseNonShell(parsed) { - if (!isWin) { - return parsed; - } - // Detect & add support for shebangs - const commandFile = detectShebang(parsed); - // We don't need a shell if the command filename is an executable - const needsShell = !isExecutableRegExp.test(commandFile); +const getSignalsByNumber=function(){ +const signals=(0,_signals.getSignals)(); +const length=_realtime.SIGRTMAX+1; +const signalsA=Array.from({length},(value,number)=> +getSignalByNumber(number,signals)); - // If a shell is required, use cmd.exe and take care of escaping everything correctly - // Note that `forceShell` is an hidden option used only in tests - if (parsed.options.forceShell || needsShell) { - // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/` - // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument - // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called, - // we need to double escape them - const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile); +return Object.assign({},...signalsA); +}; - // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar) - // This is necessary otherwise it will always fail with ENOENT in those cases - parsed.command = path.normalize(parsed.command); +const getSignalByNumber=function(number,signals){ +const signal=findSignalByNumber(number,signals); - // Escape command & arguments - parsed.command = escape.command(parsed.command); - parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars)); +if(signal===undefined){ +return{}; +} - const shellCommand = [parsed.command].concat(parsed.args).join(' '); +const{name,description,supported,action,forced,standard}=signal; +return{ +[number]:{ +name, +number, +description, +supported, +action, +forced, +standard}}; - parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; - parsed.command = process.env.comspec || 'cmd.exe'; - parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped - } - return parsed; -} +}; -function parse(command, args, options) { - // Normalize arguments, similar to nodejs - if (args && !Array.isArray(args)) { - options = args; - args = null; - } - args = args ? args.slice(0) : []; // Clone array to avoid changing the original - options = Object.assign({}, options); // Clone object to avoid changing the original - // Build our parsed object - const parsed = { - command, - args, - options, - file: undefined, - original: { - command, - args, - }, - }; +const findSignalByNumber=function(number,signals){ +const signal=signals.find(({name})=>_os.constants.signals[name]===number); - // Delegate further parsing to shell or non-shell - return options.shell ? parsed : parseNonShell(parsed); +if(signal!==undefined){ +return signal; } -module.exports = parse; +return signals.find(signalA=>signalA.number===number); +}; +const signalsByNumber=getSignalsByNumber();exports.signalsByNumber=signalsByNumber; +//# sourceMappingURL=main.js.map /***/ }), -/* 248 */ +/* 257 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +Object.defineProperty(exports,"__esModule",{value:true});exports.getSignals=void 0;var _os=__webpack_require__(120); +var _core=__webpack_require__(258); +var _realtime=__webpack_require__(259); -const path = __webpack_require__(4); -const which = __webpack_require__(249); -const pathKey = __webpack_require__(253)(); -function resolveCommandAttempt(parsed, withoutPathExt) { - const cwd = process.cwd(); - const hasCustomCwd = parsed.options.cwd != null; - // Worker threads do not have process.chdir() - const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined; - // If a custom `cwd` was specified, we need to change the process cwd - // because `which` will do stat calls but does not support a custom cwd - if (shouldSwitchCwd) { - try { - process.chdir(parsed.options.cwd); - } catch (err) { - /* Empty */ - } - } +const getSignals=function(){ +const realtimeSignals=(0,_realtime.getRealtimeSignals)(); +const signals=[..._core.SIGNALS,...realtimeSignals].map(normalizeSignal); +return signals; +};exports.getSignals=getSignals; - let resolved; - try { - resolved = which.sync(parsed.command, { - path: (parsed.options.env || process.env)[pathKey], - pathExt: withoutPathExt ? path.delimiter : undefined, - }); - } catch (e) { - /* Empty */ - } finally { - if (shouldSwitchCwd) { - process.chdir(cwd); - } - } - // If we successfully resolved, ensure that an absolute path is returned - // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it - if (resolved) { - resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved); - } - return resolved; -} -function resolveCommand(parsed) { - return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true); -} -module.exports = resolveCommand; +const normalizeSignal=function({ +name, +number:defaultNumber, +description, +action, +forced=false, +standard}) +{ +const{ +signals:{[name]:constantSignal}}= +_os.constants; +const supported=constantSignal!==undefined; +const number=supported?constantSignal:defaultNumber; +return{name,number,description,supported,action,forced,standard}; +}; +//# sourceMappingURL=signals.js.map /***/ }), -/* 249 */ +/* 258 */ /***/ (function(module, exports, __webpack_require__) { -const isWindows = process.platform === 'win32' || - process.env.OSTYPE === 'cygwin' || - process.env.OSTYPE === 'msys' +"use strict"; +Object.defineProperty(exports,"__esModule",{value:true});exports.SIGNALS=void 0; -const path = __webpack_require__(4) -const COLON = isWindows ? ';' : ':' -const isexe = __webpack_require__(250) +const SIGNALS=[ +{ +name:"SIGHUP", +number:1, +action:"terminate", +description:"Terminal closed", +standard:"posix"}, -const getNotFoundError = (cmd) => - Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' }) +{ +name:"SIGINT", +number:2, +action:"terminate", +description:"User interruption with CTRL-C", +standard:"ansi"}, -const getPathInfo = (cmd, opt) => { - const colon = opt.colon || COLON +{ +name:"SIGQUIT", +number:3, +action:"core", +description:"User interruption with CTRL-\\", +standard:"posix"}, - // If it has a slash, then we don't bother searching the pathenv. - // just check the file itself, and that's it. - const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? [''] - : ( - [ - // windows always checks the cwd first - ...(isWindows ? [process.cwd()] : []), - ...(opt.path || process.env.PATH || - /* istanbul ignore next: very unusual */ '').split(colon), - ] - ) - const pathExtExe = isWindows - ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM' - : '' - const pathExt = isWindows ? pathExtExe.split(colon) : [''] +{ +name:"SIGILL", +number:4, +action:"core", +description:"Invalid machine instruction", +standard:"ansi"}, - if (isWindows) { - if (cmd.indexOf('.') !== -1 && pathExt[0] !== '') - pathExt.unshift('') - } +{ +name:"SIGTRAP", +number:5, +action:"core", +description:"Debugger breakpoint", +standard:"posix"}, - return { - pathEnv, - pathExt, - pathExtExe, - } -} +{ +name:"SIGABRT", +number:6, +action:"core", +description:"Aborted", +standard:"ansi"}, -const which = (cmd, opt, cb) => { - if (typeof opt === 'function') { - cb = opt - opt = {} - } - if (!opt) - opt = {} +{ +name:"SIGIOT", +number:6, +action:"core", +description:"Aborted", +standard:"bsd"}, - const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt) - const found = [] +{ +name:"SIGBUS", +number:7, +action:"core", +description: +"Bus error due to misaligned, non-existing address or paging error", +standard:"bsd"}, - const step = i => new Promise((resolve, reject) => { - if (i === pathEnv.length) - return opt.all && found.length ? resolve(found) - : reject(getNotFoundError(cmd)) +{ +name:"SIGEMT", +number:7, +action:"terminate", +description:"Command should be emulated but is not implemented", +standard:"other"}, - const ppRaw = pathEnv[i] - const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw +{ +name:"SIGFPE", +number:8, +action:"core", +description:"Floating point arithmetic error", +standard:"ansi"}, - const pCmd = path.join(pathPart, cmd) - const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd - : pCmd +{ +name:"SIGKILL", +number:9, +action:"terminate", +description:"Forced termination", +standard:"posix", +forced:true}, - resolve(subStep(p, i, 0)) - }) +{ +name:"SIGUSR1", +number:10, +action:"terminate", +description:"Application-specific signal", +standard:"posix"}, - const subStep = (p, i, ii) => new Promise((resolve, reject) => { - if (ii === pathExt.length) - return resolve(step(i + 1)) - const ext = pathExt[ii] - isexe(p + ext, { pathExt: pathExtExe }, (er, is) => { - if (!er && is) { - if (opt.all) - found.push(p + ext) - else - return resolve(p + ext) - } - return resolve(subStep(p, i, ii + 1)) - }) - }) +{ +name:"SIGSEGV", +number:11, +action:"core", +description:"Segmentation fault", +standard:"ansi"}, - return cb ? step(0).then(res => cb(null, res), cb) : step(0) -} +{ +name:"SIGUSR2", +number:12, +action:"terminate", +description:"Application-specific signal", +standard:"posix"}, -const whichSync = (cmd, opt) => { - opt = opt || {} +{ +name:"SIGPIPE", +number:13, +action:"terminate", +description:"Broken pipe or socket", +standard:"posix"}, - const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt) - const found = [] +{ +name:"SIGALRM", +number:14, +action:"terminate", +description:"Timeout or timer", +standard:"posix"}, - for (let i = 0; i < pathEnv.length; i ++) { - const ppRaw = pathEnv[i] - const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw +{ +name:"SIGTERM", +number:15, +action:"terminate", +description:"Termination", +standard:"ansi"}, - const pCmd = path.join(pathPart, cmd) - const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd - : pCmd +{ +name:"SIGSTKFLT", +number:16, +action:"terminate", +description:"Stack is empty or overflowed", +standard:"other"}, - for (let j = 0; j < pathExt.length; j ++) { - const cur = p + pathExt[j] - try { - const is = isexe.sync(cur, { pathExt: pathExtExe }) - if (is) { - if (opt.all) - found.push(cur) - else - return cur - } - } catch (ex) {} - } - } +{ +name:"SIGCHLD", +number:17, +action:"ignore", +description:"Child process terminated, paused or unpaused", +standard:"posix"}, - if (opt.all && found.length) - return found +{ +name:"SIGCLD", +number:17, +action:"ignore", +description:"Child process terminated, paused or unpaused", +standard:"other"}, - if (opt.nothrow) - return null +{ +name:"SIGCONT", +number:18, +action:"unpause", +description:"Unpaused", +standard:"posix", +forced:true}, - throw getNotFoundError(cmd) -} +{ +name:"SIGSTOP", +number:19, +action:"pause", +description:"Paused", +standard:"posix", +forced:true}, -module.exports = which -which.sync = whichSync +{ +name:"SIGTSTP", +number:20, +action:"pause", +description:"Paused using CTRL-Z or \"suspend\"", +standard:"posix"}, +{ +name:"SIGTTIN", +number:21, +action:"pause", +description:"Background process cannot read terminal input", +standard:"posix"}, -/***/ }), -/* 250 */ -/***/ (function(module, exports, __webpack_require__) { +{ +name:"SIGBREAK", +number:21, +action:"terminate", +description:"User interruption with CTRL-BREAK", +standard:"other"}, -var fs = __webpack_require__(133) -var core -if (process.platform === 'win32' || global.TESTING_WINDOWS) { - core = __webpack_require__(251) -} else { - core = __webpack_require__(252) -} +{ +name:"SIGTTOU", +number:22, +action:"pause", +description:"Background process cannot write to terminal output", +standard:"posix"}, -module.exports = isexe -isexe.sync = sync +{ +name:"SIGURG", +number:23, +action:"ignore", +description:"Socket received out-of-band data", +standard:"bsd"}, -function isexe (path, options, cb) { - if (typeof options === 'function') { - cb = options - options = {} - } +{ +name:"SIGXCPU", +number:24, +action:"core", +description:"Process timed out", +standard:"bsd"}, - if (!cb) { - if (typeof Promise !== 'function') { - throw new TypeError('callback not provided') - } +{ +name:"SIGXFSZ", +number:25, +action:"core", +description:"File too big", +standard:"bsd"}, - return new Promise(function (resolve, reject) { - isexe(path, options || {}, function (er, is) { - if (er) { - reject(er) - } else { - resolve(is) - } - }) - }) - } +{ +name:"SIGVTALRM", +number:26, +action:"terminate", +description:"Timeout or timer", +standard:"bsd"}, - core(path, options || {}, function (er, is) { - // ignore EACCES because that just means we aren't allowed to run it - if (er) { - if (er.code === 'EACCES' || options && options.ignoreErrors) { - er = null - is = false - } - } - cb(er, is) - }) -} +{ +name:"SIGPROF", +number:27, +action:"terminate", +description:"Timeout or timer", +standard:"bsd"}, -function sync (path, options) { - // my kingdom for a filtered catch - try { - return core.sync(path, options || {}) - } catch (er) { - if (options && options.ignoreErrors || er.code === 'EACCES') { - return false - } else { - throw er - } - } -} +{ +name:"SIGWINCH", +number:28, +action:"ignore", +description:"Terminal window size changed", +standard:"bsd"}, +{ +name:"SIGIO", +number:29, +action:"terminate", +description:"I/O is available", +standard:"other"}, -/***/ }), -/* 251 */ -/***/ (function(module, exports, __webpack_require__) { +{ +name:"SIGPOLL", +number:29, +action:"terminate", +description:"Watched event", +standard:"other"}, -module.exports = isexe -isexe.sync = sync +{ +name:"SIGINFO", +number:29, +action:"ignore", +description:"Request for process information", +standard:"other"}, -var fs = __webpack_require__(133) +{ +name:"SIGPWR", +number:30, +action:"terminate", +description:"Device running out of power", +standard:"systemv"}, -function checkPathExt (path, options) { - var pathext = options.pathExt !== undefined ? - options.pathExt : process.env.PATHEXT +{ +name:"SIGSYS", +number:31, +action:"core", +description:"Invalid system call", +standard:"other"}, - if (!pathext) { - return true - } +{ +name:"SIGUNUSED", +number:31, +action:"terminate", +description:"Invalid system call", +standard:"other"}];exports.SIGNALS=SIGNALS; +//# sourceMappingURL=core.js.map - pathext = pathext.split(';') - if (pathext.indexOf('') !== -1) { - return true - } - for (var i = 0; i < pathext.length; i++) { - var p = pathext[i].toLowerCase() - if (p && path.substr(-p.length).toLowerCase() === p) { - return true - } - } - return false -} +/***/ }), +/* 259 */ +/***/ (function(module, exports, __webpack_require__) { -function checkStat (stat, path, options) { - if (!stat.isSymbolicLink() && !stat.isFile()) { - return false - } - return checkPathExt(path, options) -} +"use strict"; +Object.defineProperty(exports,"__esModule",{value:true});exports.SIGRTMAX=exports.getRealtimeSignals=void 0; +const getRealtimeSignals=function(){ +const length=SIGRTMAX-SIGRTMIN+1; +return Array.from({length},getRealtimeSignal); +};exports.getRealtimeSignals=getRealtimeSignals; -function isexe (path, options, cb) { - fs.stat(path, function (er, stat) { - cb(er, er ? false : checkStat(stat, path, options)) - }) -} +const getRealtimeSignal=function(value,index){ +return{ +name:`SIGRT${index+1}`, +number:SIGRTMIN+index, +action:"terminate", +description:"Application-specific signal (realtime)", +standard:"posix"}; -function sync (path, options) { - return checkStat(fs.statSync(path), path, options) -} +}; +const SIGRTMIN=34; +const SIGRTMAX=64;exports.SIGRTMAX=SIGRTMAX; +//# sourceMappingURL=realtime.js.map /***/ }), -/* 252 */ +/* 260 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = isexe -isexe.sync = sync - -var fs = __webpack_require__(133) +"use strict"; -function isexe (path, options, cb) { - fs.stat(path, function (er, stat) { - cb(er, er ? false : checkStat(stat, options)) - }) -} +const aliases = ['stdin', 'stdout', 'stderr']; -function sync (path, options) { - return checkStat(fs.statSync(path), options) -} +const hasAlias = opts => aliases.some(alias => opts[alias] !== undefined); -function checkStat (stat, options) { - return stat.isFile() && checkMode(stat, options) -} +const normalizeStdio = opts => { + if (!opts) { + return; + } -function checkMode (stat, options) { - var mod = stat.mode - var uid = stat.uid - var gid = stat.gid + const {stdio} = opts; - var myUid = options.uid !== undefined ? - options.uid : process.getuid && process.getuid() - var myGid = options.gid !== undefined ? - options.gid : process.getgid && process.getgid() + if (stdio === undefined) { + return aliases.map(alias => opts[alias]); + } - var u = parseInt('100', 8) - var g = parseInt('010', 8) - var o = parseInt('001', 8) - var ug = u | g + if (hasAlias(opts)) { + throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${aliases.map(alias => `\`${alias}\``).join(', ')}`); + } - var ret = (mod & o) || - (mod & g) && gid === myGid || - (mod & u) && uid === myUid || - (mod & ug) && myUid === 0 + if (typeof stdio === 'string') { + return stdio; + } - return ret -} + if (!Array.isArray(stdio)) { + throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``); + } + const length = Math.max(stdio.length, aliases.length); + return Array.from({length}, (value, index) => stdio[index]); +}; -/***/ }), -/* 253 */ -/***/ (function(module, exports, __webpack_require__) { +module.exports = normalizeStdio; -"use strict"; +// `ipc` is pushed unless it is already present +module.exports.node = opts => { + const stdio = normalizeStdio(opts); + if (stdio === 'ipc') { + return 'ipc'; + } -const pathKey = (options = {}) => { - const environment = options.env || process.env; - const platform = options.platform || process.platform; + if (stdio === undefined || typeof stdio === 'string') { + return [stdio, stdio, stdio, 'ipc']; + } - if (platform !== 'win32') { - return 'PATH'; + if (stdio.includes('ipc')) { + return stdio; } - return Object.keys(environment).find(key => key.toUpperCase() === 'PATH') || 'Path'; + return [...stdio, 'ipc']; }; -module.exports = pathKey; -// TODO: Remove this for the next major release -module.exports.default = pathKey; - /***/ }), -/* 254 */ +/* 261 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +const os = __webpack_require__(120); +const onExit = __webpack_require__(217); -// See http://www.robvanderwoude.com/escapechars.php -const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; - -function escapeCommand(arg) { - // Escape meta chars - arg = arg.replace(metaCharsRegExp, '^$1'); +const DEFAULT_FORCE_KILL_TIMEOUT = 1000 * 5; - return arg; -} +// Monkey-patches `childProcess.kill()` to add `forceKillAfterTimeout` behavior +const spawnedKill = (kill, signal = 'SIGTERM', options = {}) => { + const killResult = kill(signal); + setKillTimeout(kill, signal, options, killResult); + return killResult; +}; -function escapeArgument(arg, doubleEscapeMetaChars) { - // Convert to string - arg = `${arg}`; +const setKillTimeout = (kill, signal, options, killResult) => { + if (!shouldForceKill(signal, options, killResult)) { + return; + } - // Algorithm below is based on https://qntm.org/cmd + const timeout = getForceKillAfterTimeout(options); + const t = setTimeout(() => { + kill('SIGKILL'); + }, timeout); - // Sequence of backslashes followed by a double quote: - // double up all the backslashes and escape the double quote - arg = arg.replace(/(\\*)"/g, '$1$1\\"'); + // Guarded because there's no `.unref()` when `execa` is used in the renderer + // process in Electron. This cannot be tested since we don't run tests in + // Electron. + // istanbul ignore else + if (t.unref) { + t.unref(); + } +}; - // Sequence of backslashes followed by the end of the string - // (which will become a double quote later): - // double up all the backslashes - arg = arg.replace(/(\\*)$/, '$1$1'); +const shouldForceKill = (signal, {forceKillAfterTimeout}, killResult) => { + return isSigterm(signal) && forceKillAfterTimeout !== false && killResult; +}; - // All other backslashes occur literally +const isSigterm = signal => { + return signal === os.constants.signals.SIGTERM || + (typeof signal === 'string' && signal.toUpperCase() === 'SIGTERM'); +}; - // Quote the whole thing: - arg = `"${arg}"`; +const getForceKillAfterTimeout = ({forceKillAfterTimeout = true}) => { + if (forceKillAfterTimeout === true) { + return DEFAULT_FORCE_KILL_TIMEOUT; + } - // Escape meta chars - arg = arg.replace(metaCharsRegExp, '^$1'); + if (!Number.isInteger(forceKillAfterTimeout) || forceKillAfterTimeout < 0) { + throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${forceKillAfterTimeout}\` (${typeof forceKillAfterTimeout})`); + } - // Double escape meta chars if necessary - if (doubleEscapeMetaChars) { - arg = arg.replace(metaCharsRegExp, '^$1'); - } + return forceKillAfterTimeout; +}; - return arg; -} +// `childProcess.cancel()` +const spawnedCancel = (spawned, context) => { + const killResult = spawned.kill(); -module.exports.command = escapeCommand; -module.exports.argument = escapeArgument; + if (killResult) { + context.isCanceled = true; + } +}; +const timeoutKill = (spawned, signal, reject) => { + spawned.kill(signal); + reject(Object.assign(new Error('Timed out'), {timedOut: true, signal})); +}; -/***/ }), -/* 255 */ -/***/ (function(module, exports, __webpack_require__) { +// `timeout` option handling +const setupTimeout = (spawned, {timeout, killSignal = 'SIGTERM'}, spawnedPromise) => { + if (timeout === 0 || timeout === undefined) { + return spawnedPromise; + } -"use strict"; + if (!Number.isInteger(timeout) || timeout < 0) { + throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${timeout}\` (${typeof timeout})`); + } + let timeoutId; + const timeoutPromise = new Promise((resolve, reject) => { + timeoutId = setTimeout(() => { + timeoutKill(spawned, killSignal, reject); + }, timeout); + }); -const fs = __webpack_require__(133); -const shebangCommand = __webpack_require__(256); + const safeSpawnedPromise = spawnedPromise.finally(() => { + clearTimeout(timeoutId); + }); -function readShebang(command) { - // Read the first 150 bytes from the file - const size = 150; - const buffer = Buffer.alloc(size); + return Promise.race([timeoutPromise, safeSpawnedPromise]); +}; - let fd; +// `cleanup` option handling +const setExitHandler = async (spawned, {cleanup, detached}, timedPromise) => { + if (!cleanup || detached) { + return timedPromise; + } - try { - fd = fs.openSync(command, 'r'); - fs.readSync(fd, buffer, 0, size, 0); - fs.closeSync(fd); - } catch (e) { /* Empty */ } + const removeExitHandler = onExit(() => { + spawned.kill(); + }); - // Attempt to extract shebang (null is returned if not a shebang) - return shebangCommand(buffer.toString()); -} + return timedPromise.finally(() => { + removeExitHandler(); + }); +}; -module.exports = readShebang; +module.exports = { + spawnedKill, + spawnedCancel, + setupTimeout, + setExitHandler +}; /***/ }), -/* 256 */ +/* 262 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const shebangRegex = __webpack_require__(257); - -module.exports = (string = '') => { - const match = string.match(shebangRegex); +const isStream = __webpack_require__(263); +const getStream = __webpack_require__(264); +const mergeStream = __webpack_require__(268); - if (!match) { - return null; +// `input` option +const handleInput = (spawned, input) => { + // Checking for stdin is workaround for https://github.com/nodejs/node/issues/26852 + // TODO: Remove `|| spawned.stdin === undefined` once we drop support for Node.js <=12.2.0 + if (input === undefined || spawned.stdin === undefined) { + return; } - const [path, argument] = match[0].replace(/#! ?/, '').split(' '); - const binary = path.split('/').pop(); - - if (binary === 'env') { - return argument; + if (isStream(input)) { + input.pipe(spawned.stdin); + } else { + spawned.stdin.end(input); } - - return argument ? `${binary} ${argument}` : binary; }; +// `all` interleaves `stdout` and `stderr` +const makeAllStream = (spawned, {all}) => { + if (!all || (!spawned.stdout && !spawned.stderr)) { + return; + } -/***/ }), -/* 257 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -module.exports = /^#!(.*)/; - - -/***/ }), -/* 258 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; + const mixed = mergeStream(); + if (spawned.stdout) { + mixed.add(spawned.stdout); + } -const isWin = process.platform === 'win32'; + if (spawned.stderr) { + mixed.add(spawned.stderr); + } -function notFoundError(original, syscall) { - return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), { - code: 'ENOENT', - errno: 'ENOENT', - syscall: `${syscall} ${original.command}`, - path: original.command, - spawnargs: original.args, - }); -} + return mixed; +}; -function hookChildProcess(cp, parsed) { - if (!isWin) { - return; - } +// On failure, `result.stdout|stderr|all` should contain the currently buffered stream +const getBufferedData = async (stream, streamPromise) => { + if (!stream) { + return; + } - const originalEmit = cp.emit; + stream.destroy(); - cp.emit = function (name, arg1) { - // If emitting "exit" event and exit code is 1, we need to check if - // the command exists and emit an "error" instead - // See https://github.com/IndigoUnited/node-cross-spawn/issues/16 - if (name === 'exit') { - const err = verifyENOENT(arg1, parsed, 'spawn'); + try { + return await streamPromise; + } catch (error) { + return error.bufferedData; + } +}; - if (err) { - return originalEmit.call(cp, 'error', err); - } - } +const getStreamPromise = (stream, {encoding, buffer, maxBuffer}) => { + if (!stream || !buffer) { + return; + } - return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params - }; -} + if (encoding) { + return getStream(stream, {encoding, maxBuffer}); + } -function verifyENOENT(status, parsed) { - if (isWin && status === 1 && !parsed.file) { - return notFoundError(parsed.original, 'spawn'); - } + return getStream.buffer(stream, {maxBuffer}); +}; - return null; -} +// Retrieve result of child process: exit code, signal, error, streams (stdout/stderr/all) +const getSpawnedResult = async ({stdout, stderr, all}, {encoding, buffer, maxBuffer}, processDone) => { + const stdoutPromise = getStreamPromise(stdout, {encoding, buffer, maxBuffer}); + const stderrPromise = getStreamPromise(stderr, {encoding, buffer, maxBuffer}); + const allPromise = getStreamPromise(all, {encoding, buffer, maxBuffer: maxBuffer * 2}); -function verifyENOENTSync(status, parsed) { - if (isWin && status === 1 && !parsed.file) { - return notFoundError(parsed.original, 'spawnSync'); - } + try { + return await Promise.all([processDone, stdoutPromise, stderrPromise, allPromise]); + } catch (error) { + return Promise.all([ + {error, signal: error.signal, timedOut: error.timedOut}, + getBufferedData(stdout, stdoutPromise), + getBufferedData(stderr, stderrPromise), + getBufferedData(all, allPromise) + ]); + } +}; - return null; -} +const validateInputSync = ({input}) => { + if (isStream(input)) { + throw new TypeError('The `input` option cannot be a stream in sync mode'); + } +}; module.exports = { - hookChildProcess, - verifyENOENT, - verifyENOENTSync, - notFoundError, + handleInput, + makeAllStream, + getSpawnedResult, + validateInputSync }; + /***/ }), -/* 259 */ +/* 263 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -module.exports = input => { - const LF = typeof input === 'string' ? '\n' : '\n'.charCodeAt(); - const CR = typeof input === 'string' ? '\r' : '\r'.charCodeAt(); +const isStream = stream => + stream !== null && + typeof stream === 'object' && + typeof stream.pipe === 'function'; - if (input[input.length - 1] === LF) { - input = input.slice(0, input.length - 1); - } +isStream.writable = stream => + isStream(stream) && + stream.writable !== false && + typeof stream._write === 'function' && + typeof stream._writableState === 'object'; - if (input[input.length - 1] === CR) { - input = input.slice(0, input.length - 1); - } +isStream.readable = stream => + isStream(stream) && + stream.readable !== false && + typeof stream._read === 'function' && + typeof stream._readableState === 'object'; - return input; -}; +isStream.duplex = stream => + isStream.writable(stream) && + isStream.readable(stream); + +isStream.transform = stream => + isStream.duplex(stream) && + typeof stream._transform === 'function' && + typeof stream._transformState === 'object'; + +module.exports = isStream; /***/ }), -/* 260 */ +/* 264 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const path = __webpack_require__(4); -const pathKey = __webpack_require__(253); +const pump = __webpack_require__(265); +const bufferStream = __webpack_require__(267); + +class MaxBufferError extends Error { + constructor() { + super('maxBuffer exceeded'); + this.name = 'MaxBufferError'; + } +} + +async function getStream(inputStream, options) { + if (!inputStream) { + return Promise.reject(new Error('Expected a stream')); + } -const npmRunPath = options => { options = { - cwd: process.cwd(), - path: process.env[pathKey()], - execPath: process.execPath, + maxBuffer: Infinity, ...options }; - let previous; - let cwdPath = path.resolve(options.cwd); - const result = []; - - while (previous !== cwdPath) { - result.push(path.join(cwdPath, 'node_modules/.bin')); - previous = cwdPath; - cwdPath = path.resolve(cwdPath, '..'); - } + const {maxBuffer} = options; - // Ensure the running `node` binary is used - const execPathDir = path.resolve(options.cwd, options.execPath, '..'); - result.push(execPathDir); + let stream; + await new Promise((resolve, reject) => { + const rejectPromise = error => { + if (error) { // A null check + error.bufferedData = stream.getBufferedValue(); + } - return result.concat(options.path).join(path.delimiter); -}; + reject(error); + }; -module.exports = npmRunPath; -// TODO: Remove this for the next major release -module.exports.default = npmRunPath; + stream = pump(inputStream, bufferStream(options), error => { + if (error) { + rejectPromise(error); + return; + } -module.exports.env = options => { - options = { - env: process.env, - ...options - }; + resolve(); + }); - const env = {...options.env}; - const path = pathKey({env}); + stream.on('data', () => { + if (stream.getBufferedLength() > maxBuffer) { + rejectPromise(new MaxBufferError()); + } + }); + }); - options.path = env[path]; - env[path] = module.exports(options); + return stream.getBufferedValue(); +} - return env; -}; +module.exports = getStream; +// TODO: Remove this for the next major release +module.exports.default = getStream; +module.exports.buffer = (stream, options) => getStream(stream, {...options, encoding: 'buffer'}); +module.exports.array = (stream, options) => getStream(stream, {...options, array: true}); +module.exports.MaxBufferError = MaxBufferError; /***/ }), -/* 261 */ +/* 265 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; +var once = __webpack_require__(161) +var eos = __webpack_require__(266) +var fs = __webpack_require__(133) // we only need fs to get the ReadStream and WriteStream prototypes -const mimicFn = __webpack_require__(262); +var noop = function () {} +var ancient = /^v?\.0/.test(process.version) -const calledFunctions = new WeakMap(); +var isFn = function (fn) { + return typeof fn === 'function' +} -const oneTime = (fn, options = {}) => { - if (typeof fn !== 'function') { - throw new TypeError('Expected a function'); - } +var isFS = function (stream) { + if (!ancient) return false // newer node version do not need to care about fs is a special way + if (!fs) return false // browser + return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close) +} - let ret; - let isCalled = false; - let callCount = 0; - const functionName = fn.displayName || fn.name || ''; +var isRequest = function (stream) { + return stream.setHeader && isFn(stream.abort) +} - const onetime = function (...args) { - calledFunctions.set(onetime, ++callCount); +var destroyer = function (stream, reading, writing, callback) { + callback = once(callback) - if (isCalled) { - if (options.throw === true) { - throw new Error(`Function \`${functionName}\` can only be called once`); - } + var closed = false + stream.on('close', function () { + closed = true + }) - return ret; - } + eos(stream, {readable: reading, writable: writing}, function (err) { + if (err) return callback(err) + closed = true + callback() + }) - isCalled = true; - ret = fn.apply(this, args); - fn = null; + var destroyed = false + return function (err) { + if (closed) return + if (destroyed) return + destroyed = true - return ret; - }; + if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks + if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want - mimicFn(onetime, fn); - calledFunctions.set(onetime, callCount); + if (isFn(stream.destroy)) return stream.destroy() - return onetime; -}; + callback(err || new Error('stream was destroyed')) + } +} -module.exports = oneTime; -// TODO: Remove this for the next major release -module.exports.default = oneTime; +var call = function (fn) { + fn() +} -module.exports.callCount = fn => { - if (!calledFunctions.has(fn)) { - throw new Error(`The given function \`${fn.name}\` is not wrapped by the \`onetime\` package`); - } +var pipe = function (from, to) { + return from.pipe(to) +} - return calledFunctions.get(fn); -}; +var pump = function () { + var streams = Array.prototype.slice.call(arguments) + var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop + + if (Array.isArray(streams[0])) streams = streams[0] + if (streams.length < 2) throw new Error('pump requires two streams per minimum') + + var error + var destroys = streams.map(function (stream, i) { + var reading = i < streams.length - 1 + var writing = i > 0 + return destroyer(stream, reading, writing, function (err) { + if (!error) error = err + if (err) destroys.forEach(call) + if (reading) return + destroys.forEach(call) + callback(error) + }) + }) + + return streams.reduce(pipe) +} + +module.exports = pump /***/ }), -/* 262 */ +/* 266 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - +var once = __webpack_require__(161); -const mimicFn = (to, from) => { - for (const prop of Reflect.ownKeys(from)) { - Object.defineProperty(to, prop, Object.getOwnPropertyDescriptor(from, prop)); - } +var noop = function() {}; - return to; +var isRequest = function(stream) { + return stream.setHeader && typeof stream.abort === 'function'; }; -module.exports = mimicFn; -// TODO: Remove this for the next major release -module.exports.default = mimicFn; +var isChildProcess = function(stream) { + return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3 +}; +var eos = function(stream, opts, callback) { + if (typeof opts === 'function') return eos(stream, null, opts); + if (!opts) opts = {}; -/***/ }), -/* 263 */ -/***/ (function(module, exports, __webpack_require__) { + callback = once(callback || noop); -"use strict"; + var ws = stream._writableState; + var rs = stream._readableState; + var readable = opts.readable || (opts.readable !== false && stream.readable); + var writable = opts.writable || (opts.writable !== false && stream.writable); -const {signalsByName} = __webpack_require__(264); + var onlegacyfinish = function() { + if (!stream.writable) onfinish(); + }; -const getErrorPrefix = ({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled}) => { - if (timedOut) { - return `timed out after ${timeout} milliseconds`; - } + var onfinish = function() { + writable = false; + if (!readable) callback.call(stream); + }; - if (isCanceled) { - return 'was canceled'; - } + var onend = function() { + readable = false; + if (!writable) callback.call(stream); + }; - if (errorCode !== undefined) { - return `failed with ${errorCode}`; - } + var onexit = function(exitCode) { + callback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null); + }; - if (signal !== undefined) { - return `was killed with ${signal} (${signalDescription})`; - } + var onerror = function(err) { + callback.call(stream, err); + }; - if (exitCode !== undefined) { - return `failed with exit code ${exitCode}`; + var onclose = function() { + if (readable && !(rs && rs.ended)) return callback.call(stream, new Error('premature close')); + if (writable && !(ws && ws.ended)) return callback.call(stream, new Error('premature close')); + }; + + var onrequest = function() { + stream.req.on('finish', onfinish); + }; + + if (isRequest(stream)) { + stream.on('complete', onfinish); + stream.on('abort', onclose); + if (stream.req) onrequest(); + else stream.on('request', onrequest); + } else if (writable && !ws) { // legacy streams + stream.on('end', onlegacyfinish); + stream.on('close', onlegacyfinish); } - return 'failed'; -}; + if (isChildProcess(stream)) stream.on('exit', onexit); -const makeError = ({ - stdout, - stderr, - all, - error, - signal, - exitCode, - command, - timedOut, - isCanceled, - killed, - parsed: {options: {timeout}} -}) => { - // `signal` and `exitCode` emitted on `spawned.on('exit')` event can be `null`. - // We normalize them to `undefined` - exitCode = exitCode === null ? undefined : exitCode; - signal = signal === null ? undefined : signal; - const signalDescription = signal === undefined ? undefined : signalsByName[signal].description; + stream.on('end', onend); + stream.on('finish', onfinish); + if (opts.error !== false) stream.on('error', onerror); + stream.on('close', onclose); - const errorCode = error && error.code; + return function() { + stream.removeListener('complete', onfinish); + stream.removeListener('abort', onclose); + stream.removeListener('request', onrequest); + if (stream.req) stream.req.removeListener('finish', onfinish); + stream.removeListener('end', onlegacyfinish); + stream.removeListener('close', onlegacyfinish); + stream.removeListener('finish', onfinish); + stream.removeListener('exit', onexit); + stream.removeListener('end', onend); + stream.removeListener('error', onerror); + stream.removeListener('close', onclose); + }; +}; - const prefix = getErrorPrefix({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled}); - const execaMessage = `Command ${prefix}: ${command}`; - const isError = Object.prototype.toString.call(error) === '[object Error]'; - const shortMessage = isError ? `${execaMessage}\n${error.message}` : execaMessage; - const message = [shortMessage, stderr, stdout].filter(Boolean).join('\n'); +module.exports = eos; - if (isError) { - error.originalMessage = error.message; - error.message = message; - } else { - error = new Error(message); - } - error.shortMessage = shortMessage; - error.command = command; - error.exitCode = exitCode; - error.signal = signal; - error.signalDescription = signalDescription; - error.stdout = stdout; - error.stderr = stderr; +/***/ }), +/* 267 */ +/***/ (function(module, exports, __webpack_require__) { - if (all !== undefined) { - error.all = all; - } +"use strict"; - if ('bufferedData' in error) { - delete error.bufferedData; - } +const {PassThrough: PassThroughStream} = __webpack_require__(137); - error.failed = true; - error.timedOut = Boolean(timedOut); - error.isCanceled = isCanceled; - error.killed = killed && !timedOut; +module.exports = options => { + options = {...options}; - return error; -}; + const {array} = options; + let {encoding} = options; + const isBuffer = encoding === 'buffer'; + let objectMode = false; -module.exports = makeError; + if (array) { + objectMode = !(encoding || isBuffer); + } else { + encoding = encoding || 'utf8'; + } + if (isBuffer) { + encoding = null; + } -/***/ }), -/* 264 */ -/***/ (function(module, exports, __webpack_require__) { + const stream = new PassThroughStream({objectMode}); -"use strict"; -Object.defineProperty(exports,"__esModule",{value:true});exports.signalsByNumber=exports.signalsByName=void 0;var _os=__webpack_require__(120); + if (encoding) { + stream.setEncoding(encoding); + } + + let length = 0; + const chunks = []; -var _signals=__webpack_require__(265); -var _realtime=__webpack_require__(267); + stream.on('data', chunk => { + chunks.push(chunk); + if (objectMode) { + length = chunks.length; + } else { + length += chunk.length; + } + }); + stream.getBufferedValue = () => { + if (array) { + return chunks; + } -const getSignalsByName=function(){ -const signals=(0,_signals.getSignals)(); -return signals.reduce(getSignalByName,{}); -}; + return isBuffer ? Buffer.concat(chunks, length) : chunks.join(''); + }; -const getSignalByName=function( -signalByNameMemo, -{name,number,description,supported,action,forced,standard}) -{ -return{ -...signalByNameMemo, -[name]:{name,number,description,supported,action,forced,standard}}; + stream.getBufferedLength = () => length; + return stream; }; -const signalsByName=getSignalsByName();exports.signalsByName=signalsByName; +/***/ }), +/* 268 */ +/***/ (function(module, exports, __webpack_require__) { +"use strict"; -const getSignalsByNumber=function(){ -const signals=(0,_signals.getSignals)(); -const length=_realtime.SIGRTMAX+1; -const signalsA=Array.from({length},(value,number)=> -getSignalByNumber(number,signals)); +const { PassThrough } = __webpack_require__(137); -return Object.assign({},...signalsA); -}; +module.exports = function (/*streams...*/) { + var sources = [] + var output = new PassThrough({objectMode: true}) -const getSignalByNumber=function(number,signals){ -const signal=findSignalByNumber(number,signals); + output.setMaxListeners(0) -if(signal===undefined){ -return{}; -} + output.add = add + output.isEmpty = isEmpty -const{name,description,supported,action,forced,standard}=signal; -return{ -[number]:{ -name, -number, -description, -supported, -action, -forced, -standard}}; + output.on('unpipe', remove) + Array.prototype.slice.call(arguments).forEach(add) -}; + return output + function add (source) { + if (Array.isArray(source)) { + source.forEach(add) + return this + } + sources.push(source); + source.once('end', remove.bind(null, source)) + source.once('error', output.emit.bind(output, 'error')) + source.pipe(output, {end: false}) + return this + } -const findSignalByNumber=function(number,signals){ -const signal=signals.find(({name})=>_os.constants.signals[name]===number); + function isEmpty () { + return sources.length == 0; + } -if(signal!==undefined){ -return signal; + function remove (source) { + sources = sources.filter(function (it) { return it !== source }) + if (!sources.length && output.readable) { output.end() } + } } -return signals.find(signalA=>signalA.number===number); -}; - -const signalsByNumber=getSignalsByNumber();exports.signalsByNumber=signalsByNumber; -//# sourceMappingURL=main.js.map /***/ }), -/* 265 */ +/* 269 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -Object.defineProperty(exports,"__esModule",{value:true});exports.getSignals=void 0;var _os=__webpack_require__(120); -var _core=__webpack_require__(266); -var _realtime=__webpack_require__(267); +const nativePromisePrototype = (async () => {})().constructor.prototype; +const descriptors = ['then', 'catch', 'finally'].map(property => [ + property, + Reflect.getOwnPropertyDescriptor(nativePromisePrototype, property) +]); +// The return value is a mixin of `childProcess` and `Promise` +const mergePromise = (spawned, promise) => { + for (const [property, descriptor] of descriptors) { + // Starting the main `promise` is deferred to avoid consuming streams + const value = typeof promise === 'function' ? + (...args) => Reflect.apply(descriptor.value, promise(), args) : + descriptor.value.bind(promise); -const getSignals=function(){ -const realtimeSignals=(0,_realtime.getRealtimeSignals)(); -const signals=[..._core.SIGNALS,...realtimeSignals].map(normalizeSignal); -return signals; -};exports.getSignals=getSignals; + Reflect.defineProperty(spawned, property, {...descriptor, value}); + } + return spawned; +}; +// Use promises instead of `child_process` events +const getSpawnedPromise = spawned => { + return new Promise((resolve, reject) => { + spawned.on('exit', (exitCode, signal) => { + resolve({exitCode, signal}); + }); + spawned.on('error', error => { + reject(error); + }); + if (spawned.stdin) { + spawned.stdin.on('error', error => { + reject(error); + }); + } + }); +}; +module.exports = { + mergePromise, + getSpawnedPromise +}; -const normalizeSignal=function({ -name, -number:defaultNumber, -description, -action, -forced=false, -standard}) -{ -const{ -signals:{[name]:constantSignal}}= -_os.constants; -const supported=constantSignal!==undefined; -const number=supported?constantSignal:defaultNumber; -return{name,number,description,supported,action,forced,standard}; -}; -//# sourceMappingURL=signals.js.map /***/ }), -/* 266 */ +/* 270 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -Object.defineProperty(exports,"__esModule",{value:true});exports.SIGNALS=void 0; -const SIGNALS=[ -{ -name:"SIGHUP", -number:1, -action:"terminate", -description:"Terminal closed", -standard:"posix"}, +const SPACES_REGEXP = / +/g; -{ -name:"SIGINT", -number:2, -action:"terminate", -description:"User interruption with CTRL-C", -standard:"ansi"}, +const joinCommand = (file, args = []) => { + if (!Array.isArray(args)) { + return file; + } -{ -name:"SIGQUIT", -number:3, -action:"core", -description:"User interruption with CTRL-\\", -standard:"posix"}, + return [file, ...args].join(' '); +}; -{ -name:"SIGILL", -number:4, -action:"core", -description:"Invalid machine instruction", -standard:"ansi"}, +// Allow spaces to be escaped by a backslash if not meant as a delimiter +const handleEscaping = (tokens, token, index) => { + if (index === 0) { + return [token]; + } -{ -name:"SIGTRAP", -number:5, -action:"core", -description:"Debugger breakpoint", -standard:"posix"}, + const previousToken = tokens[tokens.length - 1]; -{ -name:"SIGABRT", -number:6, -action:"core", -description:"Aborted", -standard:"ansi"}, + if (previousToken.endsWith('\\')) { + return [...tokens.slice(0, -1), `${previousToken.slice(0, -1)} ${token}`]; + } -{ -name:"SIGIOT", -number:6, -action:"core", -description:"Aborted", -standard:"bsd"}, + return [...tokens, token]; +}; -{ -name:"SIGBUS", -number:7, -action:"core", -description: -"Bus error due to misaligned, non-existing address or paging error", -standard:"bsd"}, +// Handle `execa.command()` +const parseCommand = command => { + return command + .trim() + .split(SPACES_REGEXP) + .reduce(handleEscaping, []); +}; -{ -name:"SIGEMT", -number:7, -action:"terminate", -description:"Command should be emulated but is not implemented", -standard:"other"}, +module.exports = { + joinCommand, + parseCommand +}; -{ -name:"SIGFPE", -number:8, -action:"core", -description:"Floating point arithmetic error", -standard:"ansi"}, -{ -name:"SIGKILL", -number:9, -action:"terminate", -description:"Forced termination", -standard:"posix", -forced:true}, +/***/ }), +/* 271 */ +/***/ (function(module, exports, __webpack_require__) { -{ -name:"SIGUSR1", -number:10, -action:"terminate", -description:"Application-specific signal", -standard:"posix"}, +// Copyright IBM Corp. 2014,2018. All Rights Reserved. +// Node module: strong-log-transformer +// This file is licensed under the Apache License 2.0. +// License text available at https://opensource.org/licenses/Apache-2.0 -{ -name:"SIGSEGV", -number:11, -action:"core", -description:"Segmentation fault", -standard:"ansi"}, +module.exports = __webpack_require__(272); +module.exports.cli = __webpack_require__(276); -{ -name:"SIGUSR2", -number:12, -action:"terminate", -description:"Application-specific signal", -standard:"posix"}, -{ -name:"SIGPIPE", -number:13, -action:"terminate", -description:"Broken pipe or socket", -standard:"posix"}, +/***/ }), +/* 272 */ +/***/ (function(module, exports, __webpack_require__) { -{ -name:"SIGALRM", -number:14, -action:"terminate", -description:"Timeout or timer", -standard:"posix"}, +"use strict"; +// Copyright IBM Corp. 2014,2018. All Rights Reserved. +// Node module: strong-log-transformer +// This file is licensed under the Apache License 2.0. +// License text available at https://opensource.org/licenses/Apache-2.0 -{ -name:"SIGTERM", -number:15, -action:"terminate", -description:"Termination", -standard:"ansi"}, -{ -name:"SIGSTKFLT", -number:16, -action:"terminate", -description:"Stack is empty or overflowed", -standard:"other"}, -{ -name:"SIGCHLD", -number:17, -action:"ignore", -description:"Child process terminated, paused or unpaused", -standard:"posix"}, +var stream = __webpack_require__(137); +var util = __webpack_require__(111); +var fs = __webpack_require__(133); -{ -name:"SIGCLD", -number:17, -action:"ignore", -description:"Child process terminated, paused or unpaused", -standard:"other"}, +var through = __webpack_require__(273); +var duplexer = __webpack_require__(274); +var StringDecoder = __webpack_require__(275).StringDecoder; -{ -name:"SIGCONT", -number:18, -action:"unpause", -description:"Unpaused", -standard:"posix", -forced:true}, +module.exports = Logger; -{ -name:"SIGSTOP", -number:19, -action:"pause", -description:"Paused", -standard:"posix", -forced:true}, +Logger.DEFAULTS = { + format: 'text', + tag: '', + mergeMultiline: false, + timeStamp: false, +}; -{ -name:"SIGTSTP", -number:20, -action:"pause", -description:"Paused using CTRL-Z or \"suspend\"", -standard:"posix"}, +var formatters = { + text: textFormatter, + json: jsonFormatter, +} -{ -name:"SIGTTIN", -number:21, -action:"pause", -description:"Background process cannot read terminal input", -standard:"posix"}, +function Logger(options) { + var defaults = JSON.parse(JSON.stringify(Logger.DEFAULTS)); + options = util._extend(defaults, options || {}); + var catcher = deLiner(); + var emitter = catcher; + var transforms = [ + objectifier(), + ]; -{ -name:"SIGBREAK", -number:21, -action:"terminate", -description:"User interruption with CTRL-BREAK", -standard:"other"}, + if (options.tag) { + transforms.push(staticTagger(options.tag)); + } -{ -name:"SIGTTOU", -number:22, -action:"pause", -description:"Background process cannot write to terminal output", -standard:"posix"}, + if (options.mergeMultiline) { + transforms.push(lineMerger()); + } -{ -name:"SIGURG", -number:23, -action:"ignore", -description:"Socket received out-of-band data", -standard:"bsd"}, - -{ -name:"SIGXCPU", -number:24, -action:"core", -description:"Process timed out", -standard:"bsd"}, + // TODO + // if (options.pidStamp) { + // transforms.push(pidStamper(options.pid)); + // } -{ -name:"SIGXFSZ", -number:25, -action:"core", -description:"File too big", -standard:"bsd"}, + // TODO + // if (options.workerStamp) { + // transforms.push(workerStamper(options.worker)); + // } -{ -name:"SIGVTALRM", -number:26, -action:"terminate", -description:"Timeout or timer", -standard:"bsd"}, + transforms.push(formatters[options.format](options)); -{ -name:"SIGPROF", -number:27, -action:"terminate", -description:"Timeout or timer", -standard:"bsd"}, + // restore line endings that were removed by line splitting + transforms.push(reLiner()); -{ -name:"SIGWINCH", -number:28, -action:"ignore", -description:"Terminal window size changed", -standard:"bsd"}, + for (var t in transforms) { + emitter = emitter.pipe(transforms[t]); + } -{ -name:"SIGIO", -number:29, -action:"terminate", -description:"I/O is available", -standard:"other"}, + return duplexer(catcher, emitter); +} -{ -name:"SIGPOLL", -number:29, -action:"terminate", -description:"Watched event", -standard:"other"}, +function deLiner() { + var decoder = new StringDecoder('utf8'); + var last = ''; -{ -name:"SIGINFO", -number:29, -action:"ignore", -description:"Request for process information", -standard:"other"}, + return new stream.Transform({ + transform(chunk, _enc, callback) { + last += decoder.write(chunk); + var list = last.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g); + last = list.pop(); + for (var i = 0; i < list.length; i++) { + // swallow empty lines + if (list[i]) { + this.push(list[i]); + } + } + callback(); + }, + flush(callback) { + // incomplete UTF8 sequences become UTF8 replacement characters + last += decoder.end(); + if (last) { + this.push(last); + } + callback(); + }, + }); +} -{ -name:"SIGPWR", -number:30, -action:"terminate", -description:"Device running out of power", -standard:"systemv"}, +function reLiner() { + return through(appendNewline); -{ -name:"SIGSYS", -number:31, -action:"core", -description:"Invalid system call", -standard:"other"}, + function appendNewline(line) { + this.emit('data', line + '\n'); + } +} -{ -name:"SIGUNUSED", -number:31, -action:"terminate", -description:"Invalid system call", -standard:"other"}];exports.SIGNALS=SIGNALS; -//# sourceMappingURL=core.js.map +function objectifier() { + return through(objectify, null, {autoDestroy: false}); -/***/ }), -/* 267 */ -/***/ (function(module, exports, __webpack_require__) { + function objectify(line) { + this.emit('data', { + msg: line, + time: Date.now(), + }); + } +} -"use strict"; -Object.defineProperty(exports,"__esModule",{value:true});exports.SIGRTMAX=exports.getRealtimeSignals=void 0; -const getRealtimeSignals=function(){ -const length=SIGRTMAX-SIGRTMIN+1; -return Array.from({length},getRealtimeSignal); -};exports.getRealtimeSignals=getRealtimeSignals; +function staticTagger(tag) { + return through(tagger); -const getRealtimeSignal=function(value,index){ -return{ -name:`SIGRT${index+1}`, -number:SIGRTMIN+index, -action:"terminate", -description:"Application-specific signal (realtime)", -standard:"posix"}; + function tagger(logEvent) { + logEvent.tag = tag; + this.emit('data', logEvent); + } +} -}; +function textFormatter(options) { + return through(textify); -const SIGRTMIN=34; -const SIGRTMAX=64;exports.SIGRTMAX=SIGRTMAX; -//# sourceMappingURL=realtime.js.map + function textify(logEvent) { + var line = util.format('%s%s', textifyTags(logEvent.tag), + logEvent.msg.toString()); + if (options.timeStamp) { + line = util.format('%s %s', new Date(logEvent.time).toISOString(), line); + } + this.emit('data', line.replace(/\n/g, '\\n')); + } -/***/ }), -/* 268 */ -/***/ (function(module, exports, __webpack_require__) { + function textifyTags(tags) { + var str = ''; + if (typeof tags === 'string') { + str = tags + ' '; + } else if (typeof tags === 'object') { + for (var t in tags) { + str += t + ':' + tags[t] + ' '; + } + } + return str; + } +} -"use strict"; +function jsonFormatter(options) { + return through(jsonify); -const aliases = ['stdin', 'stdout', 'stderr']; + function jsonify(logEvent) { + if (options.timeStamp) { + logEvent.time = new Date(logEvent.time).toISOString(); + } else { + delete logEvent.time; + } + logEvent.msg = logEvent.msg.toString(); + this.emit('data', JSON.stringify(logEvent)); + } +} -const hasAlias = opts => aliases.some(alias => opts[alias] !== undefined); +function lineMerger(host) { + var previousLine = null; + var flushTimer = null; + var stream = through(lineMergerWrite, lineMergerEnd); + var flush = _flush.bind(stream); -const normalizeStdio = opts => { - if (!opts) { - return; - } + return stream; - const {stdio} = opts; + function lineMergerWrite(line) { + if (/^\s+/.test(line.msg)) { + if (previousLine) { + previousLine.msg += '\n' + line.msg; + } else { + previousLine = line; + } + } else { + flush(); + previousLine = line; + } + // rolling timeout + clearTimeout(flushTimer); + flushTimer = setTimeout(flush.bind(this), 10); + } - if (stdio === undefined) { - return aliases.map(alias => opts[alias]); - } + function _flush() { + if (previousLine) { + this.emit('data', previousLine); + previousLine = null; + } + } - if (hasAlias(opts)) { - throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${aliases.map(alias => `\`${alias}\``).join(', ')}`); - } + function lineMergerEnd() { + flush.call(this); + this.emit('end'); + } +} - if (typeof stdio === 'string') { - return stdio; - } - if (!Array.isArray(stdio)) { - throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``); - } +/***/ }), +/* 273 */ +/***/ (function(module, exports, __webpack_require__) { - const length = Math.max(stdio.length, aliases.length); - return Array.from({length}, (value, index) => stdio[index]); -}; +var Stream = __webpack_require__(137) -module.exports = normalizeStdio; +// through +// +// a stream that does nothing but re-emit the input. +// useful for aggregating a series of changing but not ending streams into one stream) -// `ipc` is pushed unless it is already present -module.exports.node = opts => { - const stdio = normalizeStdio(opts); +exports = module.exports = through +through.through = through - if (stdio === 'ipc') { - return 'ipc'; - } +//create a readable writable stream. - if (stdio === undefined || typeof stdio === 'string') { - return [stdio, stdio, stdio, 'ipc']; - } +function through (write, end, opts) { + write = write || function (data) { this.queue(data) } + end = end || function () { this.queue(null) } - if (stdio.includes('ipc')) { - return stdio; - } + var ended = false, destroyed = false, buffer = [], _ended = false + var stream = new Stream() + stream.readable = stream.writable = true + stream.paused = false - return [...stdio, 'ipc']; -}; +// stream.autoPause = !(opts && opts.autoPause === false) + stream.autoDestroy = !(opts && opts.autoDestroy === false) + stream.write = function (data) { + write.call(this, data) + return !stream.paused + } -/***/ }), -/* 269 */ -/***/ (function(module, exports, __webpack_require__) { + function drain() { + while(buffer.length && !stream.paused) { + var data = buffer.shift() + if(null === data) + return stream.emit('end') + else + stream.emit('data', data) + } + } -"use strict"; + stream.queue = stream.push = function (data) { +// console.error(ended) + if(_ended) return stream + if(data === null) _ended = true + buffer.push(data) + drain() + return stream + } -const os = __webpack_require__(120); -const onExit = __webpack_require__(225); + //this will be registered as the first 'end' listener + //must call destroy next tick, to make sure we're after any + //stream piped from here. + //this is only a problem if end is not emitted synchronously. + //a nicer way to do this is to make sure this is the last listener for 'end' -const DEFAULT_FORCE_KILL_TIMEOUT = 1000 * 5; + stream.on('end', function () { + stream.readable = false + if(!stream.writable && stream.autoDestroy) + process.nextTick(function () { + stream.destroy() + }) + }) -// Monkey-patches `childProcess.kill()` to add `forceKillAfterTimeout` behavior -const spawnedKill = (kill, signal = 'SIGTERM', options = {}) => { - const killResult = kill(signal); - setKillTimeout(kill, signal, options, killResult); - return killResult; -}; + function _end () { + stream.writable = false + end.call(stream) + if(!stream.readable && stream.autoDestroy) + stream.destroy() + } -const setKillTimeout = (kill, signal, options, killResult) => { - if (!shouldForceKill(signal, options, killResult)) { - return; - } + stream.end = function (data) { + if(ended) return + ended = true + if(arguments.length) stream.write(data) + _end() // will emit or queue + return stream + } - const timeout = getForceKillAfterTimeout(options); - const t = setTimeout(() => { - kill('SIGKILL'); - }, timeout); + stream.destroy = function () { + if(destroyed) return + destroyed = true + ended = true + buffer.length = 0 + stream.writable = stream.readable = false + stream.emit('close') + return stream + } - // Guarded because there's no `.unref()` when `execa` is used in the renderer - // process in Electron. This cannot be tested since we don't run tests in - // Electron. - // istanbul ignore else - if (t.unref) { - t.unref(); - } -}; + stream.pause = function () { + if(stream.paused) return + stream.paused = true + return stream + } -const shouldForceKill = (signal, {forceKillAfterTimeout}, killResult) => { - return isSigterm(signal) && forceKillAfterTimeout !== false && killResult; -}; + stream.resume = function () { + if(stream.paused) { + stream.paused = false + stream.emit('resume') + } + drain() + //may have become paused again, + //as drain emits 'data'. + if(!stream.paused) + stream.emit('drain') + return stream + } + return stream +} -const isSigterm = signal => { - return signal === os.constants.signals.SIGTERM || - (typeof signal === 'string' && signal.toUpperCase() === 'SIGTERM'); -}; -const getForceKillAfterTimeout = ({forceKillAfterTimeout = true}) => { - if (forceKillAfterTimeout === true) { - return DEFAULT_FORCE_KILL_TIMEOUT; - } - if (!Number.isInteger(forceKillAfterTimeout) || forceKillAfterTimeout < 0) { - throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${forceKillAfterTimeout}\` (${typeof forceKillAfterTimeout})`); - } +/***/ }), +/* 274 */ +/***/ (function(module, exports, __webpack_require__) { - return forceKillAfterTimeout; -}; +var Stream = __webpack_require__(137) +var writeMethods = ["write", "end", "destroy"] +var readMethods = ["resume", "pause"] +var readEvents = ["data", "close"] +var slice = Array.prototype.slice -// `childProcess.cancel()` -const spawnedCancel = (spawned, context) => { - const killResult = spawned.kill(); +module.exports = duplex - if (killResult) { - context.isCanceled = true; - } -}; +function forEach (arr, fn) { + if (arr.forEach) { + return arr.forEach(fn) + } -const timeoutKill = (spawned, signal, reject) => { - spawned.kill(signal); - reject(Object.assign(new Error('Timed out'), {timedOut: true, signal})); -}; + for (var i = 0; i < arr.length; i++) { + fn(arr[i], i) + } +} -// `timeout` option handling -const setupTimeout = (spawned, {timeout, killSignal = 'SIGTERM'}, spawnedPromise) => { - if (timeout === 0 || timeout === undefined) { - return spawnedPromise; - } +function duplex(writer, reader) { + var stream = new Stream() + var ended = false - if (!Number.isInteger(timeout) || timeout < 0) { - throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${timeout}\` (${typeof timeout})`); - } + forEach(writeMethods, proxyWriter) - let timeoutId; - const timeoutPromise = new Promise((resolve, reject) => { - timeoutId = setTimeout(() => { - timeoutKill(spawned, killSignal, reject); - }, timeout); - }); + forEach(readMethods, proxyReader) - const safeSpawnedPromise = spawnedPromise.finally(() => { - clearTimeout(timeoutId); - }); + forEach(readEvents, proxyStream) - return Promise.race([timeoutPromise, safeSpawnedPromise]); -}; + reader.on("end", handleEnd) -// `cleanup` option handling -const setExitHandler = async (spawned, {cleanup, detached}, timedPromise) => { - if (!cleanup || detached) { - return timedPromise; - } + writer.on("drain", function() { + stream.emit("drain") + }) - const removeExitHandler = onExit(() => { - spawned.kill(); - }); + writer.on("error", reemit) + reader.on("error", reemit) - return timedPromise.finally(() => { - removeExitHandler(); - }); -}; + stream.writable = writer.writable + stream.readable = reader.readable -module.exports = { - spawnedKill, - spawnedCancel, - setupTimeout, - setExitHandler -}; + return stream + function proxyWriter(methodName) { + stream[methodName] = method -/***/ }), -/* 270 */ -/***/ (function(module, exports, __webpack_require__) { + function method() { + return writer[methodName].apply(writer, arguments) + } + } -"use strict"; + function proxyReader(methodName) { + stream[methodName] = method -const isStream = __webpack_require__(271); -const getStream = __webpack_require__(272); -const mergeStream = __webpack_require__(276); + function method() { + stream.emit(methodName) + var func = reader[methodName] + if (func) { + return func.apply(reader, arguments) + } + reader.emit(methodName) + } + } -// `input` option -const handleInput = (spawned, input) => { - // Checking for stdin is workaround for https://github.com/nodejs/node/issues/26852 - // TODO: Remove `|| spawned.stdin === undefined` once we drop support for Node.js <=12.2.0 - if (input === undefined || spawned.stdin === undefined) { - return; - } + function proxyStream(methodName) { + reader.on(methodName, reemit) - if (isStream(input)) { - input.pipe(spawned.stdin); - } else { - spawned.stdin.end(input); - } -}; + function reemit() { + var args = slice.call(arguments) + args.unshift(methodName) + stream.emit.apply(stream, args) + } + } -// `all` interleaves `stdout` and `stderr` -const makeAllStream = (spawned, {all}) => { - if (!all || (!spawned.stdout && !spawned.stderr)) { - return; - } + function handleEnd() { + if (ended) { + return + } + ended = true + var args = slice.call(arguments) + args.unshift("end") + stream.emit.apply(stream, args) + } - const mixed = mergeStream(); + function reemit(err) { + stream.emit("error", err) + } +} - if (spawned.stdout) { - mixed.add(spawned.stdout); - } - if (spawned.stderr) { - mixed.add(spawned.stderr); - } +/***/ }), +/* 275 */ +/***/ (function(module, exports) { - return mixed; -}; +module.exports = require("string_decoder"); -// On failure, `result.stdout|stderr|all` should contain the currently buffered stream -const getBufferedData = async (stream, streamPromise) => { - if (!stream) { - return; - } +/***/ }), +/* 276 */ +/***/ (function(module, exports, __webpack_require__) { - stream.destroy(); +"use strict"; +// Copyright IBM Corp. 2014,2018. All Rights Reserved. +// Node module: strong-log-transformer +// This file is licensed under the Apache License 2.0. +// License text available at https://opensource.org/licenses/Apache-2.0 - try { - return await streamPromise; - } catch (error) { - return error.bufferedData; - } -}; -const getStreamPromise = (stream, {encoding, buffer, maxBuffer}) => { - if (!stream || !buffer) { - return; - } - if (encoding) { - return getStream(stream, {encoding, maxBuffer}); - } +var minimist = __webpack_require__(277); +var path = __webpack_require__(4); - return getStream.buffer(stream, {maxBuffer}); -}; +var Logger = __webpack_require__(272); +var pkg = __webpack_require__(278); -// Retrieve result of child process: exit code, signal, error, streams (stdout/stderr/all) -const getSpawnedResult = async ({stdout, stderr, all}, {encoding, buffer, maxBuffer}, processDone) => { - const stdoutPromise = getStreamPromise(stdout, {encoding, buffer, maxBuffer}); - const stderrPromise = getStreamPromise(stderr, {encoding, buffer, maxBuffer}); - const allPromise = getStreamPromise(all, {encoding, buffer, maxBuffer: maxBuffer * 2}); +module.exports = cli; - try { - return await Promise.all([processDone, stdoutPromise, stderrPromise, allPromise]); - } catch (error) { - return Promise.all([ - {error, signal: error.signal, timedOut: error.timedOut}, - getBufferedData(stdout, stdoutPromise), - getBufferedData(stderr, stderrPromise), - getBufferedData(all, allPromise) - ]); - } -}; +function cli(args) { + var opts = minimist(args.slice(2)); + var $0 = path.basename(args[1]); + var p = console.log.bind(console); + if (opts.v || opts.version) { + version($0, p); + } else if (opts.h || opts.help) { + usage($0, p); + } else if (args.length < 3) { + process.stdin.pipe(Logger()).pipe(process.stdout); + } else { + process.stdin.pipe(Logger(opts)).pipe(process.stdout); + } +} -const validateInputSync = ({input}) => { - if (isStream(input)) { - throw new TypeError('The `input` option cannot be a stream in sync mode'); - } -}; +function version($0, p) { + p('%s v%s', pkg.name, pkg.version); +} -module.exports = { - handleInput, - makeAllStream, - getSpawnedResult, - validateInputSync -}; +function usage($0, p) { + var PADDING = ' '; + var opt, def; + p('Usage: %s [options]', $0); + p(''); + p('%s', pkg.description); + p(''); + p('OPTIONS:'); + for (opt in Logger.DEFAULTS) { + def = Logger.DEFAULTS[opt]; + if (typeof def === 'boolean') + boolOpt(opt, Logger.DEFAULTS[opt]); + else + stdOpt(opt, Logger.DEFAULTS[opt]); + } + p(''); + function boolOpt(name, def) { + name = name + PADDING.slice(0, 20-name.length); + p(' --%s default: %s', name, def); + } + function stdOpt(name, def) { + var value = name.toUpperCase() + + PADDING.slice(0, 19 - name.length*2); + p(' --%s %s default: %j', name, value, def); + } +} -/***/ }), -/* 271 */ -/***/ (function(module, exports, __webpack_require__) { -"use strict"; +/***/ }), +/* 277 */ +/***/ (function(module, exports) { +module.exports = function (args, opts) { + if (!opts) opts = {}; + + var flags = { bools : {}, strings : {}, unknownFn: null }; -const isStream = stream => - stream !== null && - typeof stream === 'object' && - typeof stream.pipe === 'function'; + if (typeof opts['unknown'] === 'function') { + flags.unknownFn = opts['unknown']; + } -isStream.writable = stream => - isStream(stream) && - stream.writable !== false && - typeof stream._write === 'function' && - typeof stream._writableState === 'object'; + if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { + flags.allBools = true; + } else { + [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { + flags.bools[key] = true; + }); + } + + var aliases = {}; + Object.keys(opts.alias || {}).forEach(function (key) { + aliases[key] = [].concat(opts.alias[key]); + aliases[key].forEach(function (x) { + aliases[x] = [key].concat(aliases[key].filter(function (y) { + return x !== y; + })); + }); + }); -isStream.readable = stream => - isStream(stream) && - stream.readable !== false && - typeof stream._read === 'function' && - typeof stream._readableState === 'object'; + [].concat(opts.string).filter(Boolean).forEach(function (key) { + flags.strings[key] = true; + if (aliases[key]) { + flags.strings[aliases[key]] = true; + } + }); -isStream.duplex = stream => - isStream.writable(stream) && - isStream.readable(stream); + var defaults = opts['default'] || {}; + + var argv = { _ : [] }; + Object.keys(flags.bools).forEach(function (key) { + setArg(key, defaults[key] === undefined ? false : defaults[key]); + }); + + var notFlags = []; -isStream.transform = stream => - isStream.duplex(stream) && - typeof stream._transform === 'function' && - typeof stream._transformState === 'object'; + if (args.indexOf('--') !== -1) { + notFlags = args.slice(args.indexOf('--')+1); + args = args.slice(0, args.indexOf('--')); + } -module.exports = isStream; + function argDefined(key, arg) { + return (flags.allBools && /^--[^=]+$/.test(arg)) || + flags.strings[key] || flags.bools[key] || aliases[key]; + } + function setArg (key, val, arg) { + if (arg && flags.unknownFn && !argDefined(key, arg)) { + if (flags.unknownFn(arg) === false) return; + } -/***/ }), -/* 272 */ -/***/ (function(module, exports, __webpack_require__) { + var value = !flags.strings[key] && isNumber(val) + ? Number(val) : val + ; + setKey(argv, key.split('.'), value); + + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), value); + }); + } -"use strict"; + function setKey (obj, keys, value) { + var o = obj; + for (var i = 0; i < keys.length-1; i++) { + var key = keys[i]; + if (key === '__proto__') return; + if (o[key] === undefined) o[key] = {}; + if (o[key] === Object.prototype || o[key] === Number.prototype + || o[key] === String.prototype) o[key] = {}; + if (o[key] === Array.prototype) o[key] = []; + o = o[key]; + } -const pump = __webpack_require__(273); -const bufferStream = __webpack_require__(275); + var key = keys[keys.length - 1]; + if (key === '__proto__') return; + if (o === Object.prototype || o === Number.prototype + || o === String.prototype) o = {}; + if (o === Array.prototype) o = []; + if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { + o[key] = value; + } + else if (Array.isArray(o[key])) { + o[key].push(value); + } + else { + o[key] = [ o[key], value ]; + } + } + + function aliasIsBoolean(key) { + return aliases[key].some(function (x) { + return flags.bools[x]; + }); + } -class MaxBufferError extends Error { - constructor() { - super('maxBuffer exceeded'); - this.name = 'MaxBufferError'; - } -} + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + + if (/^--.+=/.test(arg)) { + // Using [\s\S] instead of . because js doesn't support the + // 'dotall' regex modifier. See: + // http://stackoverflow.com/a/1068308/13216 + var m = arg.match(/^--([^=]+)=([\s\S]*)$/); + var key = m[1]; + var value = m[2]; + if (flags.bools[key]) { + value = value !== 'false'; + } + setArg(key, value, arg); + } + else if (/^--no-.+/.test(arg)) { + var key = arg.match(/^--no-(.+)/)[1]; + setArg(key, false, arg); + } + else if (/^--.+/.test(arg)) { + var key = arg.match(/^--(.+)/)[1]; + var next = args[i + 1]; + if (next !== undefined && !/^-/.test(next) + && !flags.bools[key] + && !flags.allBools + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, next, arg); + i++; + } + else if (/^(true|false)$/.test(next)) { + setArg(key, next === 'true', arg); + i++; + } + else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } + else if (/^-[^-]+/.test(arg)) { + var letters = arg.slice(1,-1).split(''); + + var broken = false; + for (var j = 0; j < letters.length; j++) { + var next = arg.slice(j+2); + + if (next === '-') { + setArg(letters[j], next, arg) + continue; + } + + if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { + setArg(letters[j], next.split('=')[1], arg); + broken = true; + break; + } + + if (/[A-Za-z]/.test(letters[j]) + && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { + setArg(letters[j], next, arg); + broken = true; + break; + } + + if (letters[j+1] && letters[j+1].match(/\W/)) { + setArg(letters[j], arg.slice(j+2), arg); + broken = true; + break; + } + else { + setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); + } + } + + var key = arg.slice(-1)[0]; + if (!broken && key !== '-') { + if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1]) + && !flags.bools[key] + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, args[i+1], arg); + i++; + } + else if (args[i+1] && /^(true|false)$/.test(args[i+1])) { + setArg(key, args[i+1] === 'true', arg); + i++; + } + else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } + } + else { + if (!flags.unknownFn || flags.unknownFn(arg) !== false) { + argv._.push( + flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) + ); + } + if (opts.stopEarly) { + argv._.push.apply(argv._, args.slice(i + 1)); + break; + } + } + } + + Object.keys(defaults).forEach(function (key) { + if (!hasKey(argv, key.split('.'))) { + setKey(argv, key.split('.'), defaults[key]); + + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), defaults[key]); + }); + } + }); + + if (opts['--']) { + argv['--'] = new Array(); + notFlags.forEach(function(key) { + argv['--'].push(key); + }); + } + else { + notFlags.forEach(function(key) { + argv._.push(key); + }); + } -async function getStream(inputStream, options) { - if (!inputStream) { - return Promise.reject(new Error('Expected a stream')); - } + return argv; +}; - options = { - maxBuffer: Infinity, - ...options - }; +function hasKey (obj, keys) { + var o = obj; + keys.slice(0,-1).forEach(function (key) { + o = (o[key] || {}); + }); - const {maxBuffer} = options; + var key = keys[keys.length - 1]; + return key in o; +} - let stream; - await new Promise((resolve, reject) => { - const rejectPromise = error => { - if (error) { // A null check - error.bufferedData = stream.getBufferedValue(); - } +function isNumber (x) { + if (typeof x === 'number') return true; + if (/^0x[0-9a-f]+$/i.test(x)) return true; + return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); +} - reject(error); - }; - stream = pump(inputStream, bufferStream(options), error => { - if (error) { - rejectPromise(error); - return; - } - resolve(); - }); +/***/ }), +/* 278 */ +/***/ (function(module) { - stream.on('data', () => { - if (stream.getBufferedLength() > maxBuffer) { - rejectPromise(new MaxBufferError()); - } - }); - }); +module.exports = JSON.parse("{\"name\":\"strong-log-transformer\",\"version\":\"2.1.0\",\"description\":\"Stream transformer that prefixes lines with timestamps and other things.\",\"author\":\"Ryan Graham \",\"license\":\"Apache-2.0\",\"repository\":{\"type\":\"git\",\"url\":\"git://github.com/strongloop/strong-log-transformer\"},\"keywords\":[\"logging\",\"streams\"],\"bugs\":{\"url\":\"https://github.com/strongloop/strong-log-transformer/issues\"},\"homepage\":\"https://github.com/strongloop/strong-log-transformer\",\"directories\":{\"test\":\"test\"},\"bin\":{\"sl-log-transformer\":\"bin/sl-log-transformer.js\"},\"main\":\"index.js\",\"scripts\":{\"test\":\"tap --100 test/test-*\"},\"dependencies\":{\"duplexer\":\"^0.1.1\",\"minimist\":\"^1.2.0\",\"through\":\"^2.3.4\"},\"devDependencies\":{\"tap\":\"^12.0.1\"},\"engines\":{\"node\":\">=4\"}}"); - return stream.getBufferedValue(); -} +/***/ }), +/* 279 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { -module.exports = getStream; -// TODO: Remove this for the next major release -module.exports.default = getStream; -module.exports.buffer = (stream, options) => getStream(stream, {...options, encoding: 'buffer'}); -module.exports.array = (stream, options) => getStream(stream, {...options, array: true}); -module.exports.MaxBufferError = MaxBufferError; +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "workspacePackagePaths", function() { return workspacePackagePaths; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "copyWorkspacePackages", function() { return copyWorkspacePackages; }); +/* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(146); +/* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(glob__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(111); +/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(280); +/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(130); +/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(164); +/* harmony import */ var _projects__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(145); +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ -/***/ }), -/* 273 */ -/***/ (function(module, exports, __webpack_require__) { -var once = __webpack_require__(161) -var eos = __webpack_require__(274) -var fs = __webpack_require__(133) // we only need fs to get the ReadStream and WriteStream prototypes -var noop = function () {} -var ancient = /^v?\.0/.test(process.version) -var isFn = function (fn) { - return typeof fn === 'function' -} -var isFS = function (stream) { - if (!ancient) return false // newer node version do not need to care about fs is a special way - if (!fs) return false // browser - return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close) -} -var isRequest = function (stream) { - return stream.setHeader && isFn(stream.abort) -} +const glob = Object(util__WEBPACK_IMPORTED_MODULE_2__["promisify"])(glob__WEBPACK_IMPORTED_MODULE_0___default.a); +async function workspacePackagePaths(rootPath) { + const rootPkgJson = await Object(_package_json__WEBPACK_IMPORTED_MODULE_5__["readPackageJson"])(rootPath); -var destroyer = function (stream, reading, writing, callback) { - callback = once(callback) + if (!rootPkgJson.workspaces) { + return []; + } - var closed = false - stream.on('close', function () { - closed = true - }) - - eos(stream, {readable: reading, writable: writing}, function (err) { - if (err) return callback(err) - closed = true - callback() - }) - - var destroyed = false - return function (err) { - if (closed) return - if (destroyed) return - destroyed = true + const workspacesPathsPatterns = rootPkgJson.workspaces.packages; + let workspaceProjectsPaths = []; - if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks - if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want + for (const pattern of workspacesPathsPatterns) { + workspaceProjectsPaths = workspaceProjectsPaths.concat(await packagesFromGlobPattern({ + pattern, + rootPath + })); + } // Filter out exclude glob patterns - if (isFn(stream.destroy)) return stream.destroy() - callback(err || new Error('stream was destroyed')) + for (const pattern of workspacesPathsPatterns) { + if (pattern.startsWith('!')) { + const pathToRemove = path__WEBPACK_IMPORTED_MODULE_1___default.a.join(rootPath, pattern.slice(1), 'package.json'); + workspaceProjectsPaths = workspaceProjectsPaths.filter(p => p !== pathToRemove); + } } -} -var call = function (fn) { - fn() + return workspaceProjectsPaths; } +async function copyWorkspacePackages(rootPath) { + const projectPaths = Object(_config__WEBPACK_IMPORTED_MODULE_3__["getProjectPaths"])({ + rootPath + }); + const projects = await Object(_projects__WEBPACK_IMPORTED_MODULE_6__["getProjects"])(rootPath, projectPaths); -var pipe = function (from, to) { - return from.pipe(to) -} + for (const project of projects.values()) { + const dest = path__WEBPACK_IMPORTED_MODULE_1___default.a.resolve(rootPath, 'node_modules', project.name); -var pump = function () { - var streams = Array.prototype.slice.call(arguments) - var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop + if ((await Object(_fs__WEBPACK_IMPORTED_MODULE_4__["isSymlink"])(dest)) === false) { + continue; + } // Remove the symlink - if (Array.isArray(streams[0])) streams = streams[0] - if (streams.length < 2) throw new Error('pump requires two streams per minimum') - var error - var destroys = streams.map(function (stream, i) { - var reading = i < streams.length - 1 - var writing = i > 0 - return destroyer(stream, reading, writing, function (err) { - if (!error) error = err - if (err) destroys.forEach(call) - if (reading) return - destroys.forEach(call) - callback(error) - }) - }) + await Object(_fs__WEBPACK_IMPORTED_MODULE_4__["unlink"])(dest); // Copy in the package - return streams.reduce(pipe) + await Object(_fs__WEBPACK_IMPORTED_MODULE_4__["copyDirectory"])(project.path, dest); + } } -module.exports = pump - +function packagesFromGlobPattern({ + pattern, + rootPath +}) { + const globOptions = { + cwd: rootPath, + // Should throw in case of unusual errors when reading the file system + strict: true, + // Always returns absolute paths for matched files + absolute: true, + // Do not match ** against multiple filenames + // (This is only specified because we currently don't have a need for it.) + noglobstar: true + }; + return glob(path__WEBPACK_IMPORTED_MODULE_1___default.a.join(pattern, 'package.json'), globOptions); +} /***/ }), -/* 274 */ -/***/ (function(module, exports, __webpack_require__) { - -var once = __webpack_require__(161); +/* 280 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { -var noop = function() {}; +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getProjectPaths", function() { return getProjectPaths; }); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ -var isRequest = function(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -}; -var isChildProcess = function(stream) { - return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3 -}; +/** + * Returns all the paths where plugins are located + */ +function getProjectPaths({ + rootPath, + ossOnly, + skipKibanaPlugins +}) { + const projectPaths = [rootPath, Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'packages/*')]; // This is needed in order to install the dependencies for the declared + // plugin functional used in the selenium functional tests. + // As we are now using the webpack dll for the client vendors dependencies + // when we run the plugin functional tests against the distributable + // dependencies used by such plugins like @eui, react and react-dom can't + // be loaded from the dll as the context is different from the one declared + // into the webpack dll reference plugin. + // In anyway, have a plugin declaring their own dependencies is the + // correct and the expect behavior. -var eos = function(stream, opts, callback) { - if (typeof opts === 'function') return eos(stream, null, opts); - if (!opts) opts = {}; + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'test/plugin_functional/plugins/*')); + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'test/interpreter_functional/plugins/*')); + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'examples/*')); - callback = once(callback || noop); + if (!ossOnly) { + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'x-pack')); + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'x-pack/plugins/*')); + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'x-pack/legacy/plugins/*')); + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'x-pack/test/functional_with_es_ssl/fixtures/plugins/*')); + } - var ws = stream._writableState; - var rs = stream._readableState; - var readable = opts.readable || (opts.readable !== false && stream.readable); - var writable = opts.writable || (opts.writable !== false && stream.writable); + if (!skipKibanaPlugins) { + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, '../kibana-extra/*')); + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, '../kibana-extra/*/packages/*')); + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, '../kibana-extra/*/plugins/*')); + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'plugins/*')); + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'plugins/*/packages/*')); + projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'plugins/*/plugins/*')); + } - var onlegacyfinish = function() { - if (!stream.writable) onfinish(); - }; + return projectPaths; +} - var onfinish = function() { - writable = false; - if (!readable) callback.call(stream); - }; +/***/ }), +/* 281 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { - var onend = function() { - readable = false; - if (!writable) callback.call(stream); - }; +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAllChecksums", function() { return getAllChecksums; }); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(133); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(282); +/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(crypto__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(111); +/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(236); +/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(execa__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _yarn_lock__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(283); +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ - var onexit = function(exitCode) { - callback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null); - }; - var onerror = function(err) { - callback.call(stream, err); - }; - var onclose = function() { - if (readable && !(rs && rs.ended)) return callback.call(stream, new Error('premature close')); - if (writable && !(ws && ws.ended)) return callback.call(stream, new Error('premature close')); - }; - var onrequest = function() { - stream.req.on('finish', onfinish); - }; - if (isRequest(stream)) { - stream.on('complete', onfinish); - stream.on('abort', onclose); - if (stream.req) onrequest(); - else stream.on('request', onrequest); - } else if (writable && !ws) { // legacy streams - stream.on('end', onlegacyfinish); - stream.on('close', onlegacyfinish); - } +const statAsync = Object(util__WEBPACK_IMPORTED_MODULE_2__["promisify"])(fs__WEBPACK_IMPORTED_MODULE_0___default.a.stat); - if (isChildProcess(stream)) stream.on('exit', onexit); +const projectBySpecificitySorter = (a, b) => b.path.length - a.path.length; +/** Get the changed files for a set of projects */ - stream.on('end', onend); - stream.on('finish', onfinish); - if (opts.error !== false) stream.on('error', onerror); - stream.on('close', onclose); - return function() { - stream.removeListener('complete', onfinish); - stream.removeListener('abort', onclose); - stream.removeListener('request', onrequest); - if (stream.req) stream.req.removeListener('finish', onfinish); - stream.removeListener('end', onlegacyfinish); - stream.removeListener('close', onlegacyfinish); - stream.removeListener('finish', onfinish); - stream.removeListener('exit', onexit); - stream.removeListener('end', onend); - stream.removeListener('error', onerror); - stream.removeListener('close', onclose); - }; -}; +async function getChangesForProjects(projects, kbn, log) { + log.verbose('getting changed files'); + const { + stdout + } = await execa__WEBPACK_IMPORTED_MODULE_3___default()('git', ['ls-files', '-dmto', '--exclude-standard', '--', ...Array.from(projects.values()).filter(p => kbn.isPartOfRepo(p)).map(p => p.path)], { + cwd: kbn.getAbsolute() + }); + const output = stdout.trim(); + const unassignedChanges = new Map(); -module.exports = eos; + if (output) { + for (const line of output.split('\n')) { + const [tag, ...pathParts] = line.trim().split(' '); + const path = pathParts.join(' '); + switch (tag) { + case 'M': + case 'C': + // for some reason ls-files returns deleted files as both deleted + // and modified, so make sure not to overwrite changes already + // tracked as "deleted" + if (unassignedChanges.get(path) !== 'deleted') { + unassignedChanges.set(path, 'modified'); + } -/***/ }), -/* 275 */ -/***/ (function(module, exports, __webpack_require__) { + break; -"use strict"; + case 'R': + unassignedChanges.set(path, 'deleted'); + break; -const {PassThrough: PassThroughStream} = __webpack_require__(137); + case '?': + unassignedChanges.set(path, 'untracked'); + break; -module.exports = options => { - options = {...options}; + case 'H': + case 'S': + case 'K': + default: + log.warning(`unexpected modification status "${tag}" for ${path}, please report this!`); + unassignedChanges.set(path, 'invalid'); + break; + } + } + } - const {array} = options; - let {encoding} = options; - const isBuffer = encoding === 'buffer'; - let objectMode = false; + const sortedRelevantProjects = Array.from(projects.values()).sort(projectBySpecificitySorter); + const changesByProject = new Map(); - if (array) { - objectMode = !(encoding || isBuffer); - } else { - encoding = encoding || 'utf8'; - } + for (const project of sortedRelevantProjects) { + if (kbn.isOutsideRepo(project)) { + changesByProject.set(project, undefined); + continue; + } - if (isBuffer) { - encoding = null; - } + const ownChanges = new Map(); + const prefix = kbn.getRelative(project.path); - const stream = new PassThroughStream({objectMode}); + for (const [path, type] of unassignedChanges) { + if (path.startsWith(prefix)) { + ownChanges.set(path, type); + unassignedChanges.delete(path); + } + } - if (encoding) { - stream.setEncoding(encoding); - } + log.verbose(`[${project.name}] found ${ownChanges.size} changes`); + changesByProject.set(project, ownChanges); + } - let length = 0; - const chunks = []; + if (unassignedChanges.size) { + throw new Error(`unable to assign all change paths to a project: ${JSON.stringify(Array.from(unassignedChanges.entries()))}`); + } - stream.on('data', chunk => { - chunks.push(chunk); + return changesByProject; +} +/** Get the latest commit sha for a project */ - if (objectMode) { - length = chunks.length; - } else { - length += chunk.length; - } - }); - stream.getBufferedValue = () => { - if (array) { - return chunks; - } +async function getLatestSha(project, kbn) { + if (kbn.isOutsideRepo(project)) { + return; + } - return isBuffer ? Buffer.concat(chunks, length) : chunks.join(''); - }; + const { + stdout + } = await execa__WEBPACK_IMPORTED_MODULE_3___default()('git', ['log', '-n', '1', '--pretty=format:%H', '--', project.path], { + cwd: kbn.getAbsolute() + }); + return stdout.trim() || undefined; +} +/** + * Get a list of the absolute dependencies of this project, as resolved + * in the yarn.lock file, does not include other projects in the workspace + * or their dependencies + */ - stream.getBufferedLength = () => length; - return stream; -}; +function resolveDepsForProject(project, yarnLock, kbn, log) { + /** map of [name@range, name@resolved] */ + const resolved = new Map(); + const queue = Object.entries(project.allDependencies); + while (queue.length) { + const [name, versionRange] = queue.shift(); + const req = `${name}@${versionRange}`; -/***/ }), -/* 276 */ -/***/ (function(module, exports, __webpack_require__) { + if (resolved.has(req)) { + continue; + } -"use strict"; + if (!kbn.hasProject(name)) { + const pkg = yarnLock[req]; + if (!pkg) { + log.warning('yarn.lock file is out of date, please run `yarn kbn bootstrap` to re-enable caching'); + return; + } -const { PassThrough } = __webpack_require__(137); + const res = `${name}@${pkg.version}`; + resolved.set(req, res); + const allDepsEntries = [...Object.entries(pkg.dependencies || {}), ...Object.entries(pkg.optionalDependencies || {})]; -module.exports = function (/*streams...*/) { - var sources = [] - var output = new PassThrough({objectMode: true}) + for (const [childName, childVersionRange] of allDepsEntries) { + queue.push([childName, childVersionRange]); + } + } + } - output.setMaxListeners(0) + return Array.from(resolved.values()).sort((a, b) => a.localeCompare(b)); +} +/** + * Get the checksum for a specific project in the workspace + */ - output.add = add - output.isEmpty = isEmpty - output.on('unpipe', remove) +async function getChecksum(project, changes, yarnLock, kbn, log) { + const sha = await getLatestSha(project, kbn); - Array.prototype.slice.call(arguments).forEach(add) + if (sha) { + log.verbose(`[${project.name}] local sha:`, sha); + } - return output + if (!changes || Array.from(changes.values()).includes('invalid')) { + log.warning(`[${project.name}] unable to determine local changes, caching disabled`); + return; + } - function add (source) { - if (Array.isArray(source)) { - source.forEach(add) - return this + const changesSummary = await Promise.all(Array.from(changes).sort((a, b) => a[0].localeCompare(b[0])).map(async ([path, type]) => { + if (type === 'deleted') { + return `${path}:deleted`; } - sources.push(source); - source.once('end', remove.bind(null, source)) - source.once('error', output.emit.bind(output, 'error')) - source.pipe(output, {end: false}) - return this - } + const stats = await statAsync(kbn.getAbsolute(path)); + log.verbose(`[${project.name}] modified time ${stats.mtimeMs} for ${path}`); + return `${path}:${stats.mtimeMs}`; + })); + const deps = await resolveDepsForProject(project, yarnLock, kbn, log); - function isEmpty () { - return sources.length == 0; + if (!deps) { + return; } - function remove (source) { - sources = sources.filter(function (it) { return it !== source }) - if (!sources.length && output.readable) { output.end() } - } -} + log.verbose(`[${project.name}] resolved %d deps`, deps.length); + const checksum = JSON.stringify({ + sha, + changes: changesSummary, + deps + }, null, 2); + if (process.env.BOOTSTRAP_CACHE_DEBUG_CHECKSUM) { + return checksum; + } -/***/ }), -/* 277 */ -/***/ (function(module, exports, __webpack_require__) { + const hash = crypto__WEBPACK_IMPORTED_MODULE_1___default.a.createHash('sha1'); + hash.update(checksum); + return hash.digest('hex'); +} +/** + * Calculate checksums for all projects in the workspace based on + * - last git commit to project directory + * - un-committed changes + * - resolved dependencies from yarn.lock referenced by project package.json + */ -"use strict"; +async function getAllChecksums(kbn, log) { + const projects = kbn.getAllProjects(); + const changesByProject = await getChangesForProjects(projects, kbn, log); + const yarnLock = await Object(_yarn_lock__WEBPACK_IMPORTED_MODULE_4__["readYarnLock"])(kbn); + /** map of [project.name, cacheKey] */ -const nativePromisePrototype = (async () => {})().constructor.prototype; -const descriptors = ['then', 'catch', 'finally'].map(property => [ - property, - Reflect.getOwnPropertyDescriptor(nativePromisePrototype, property) -]); + const cacheKeys = new Map(); + await Promise.all(Array.from(projects.values()).map(async project => { + cacheKeys.set(project.name, await getChecksum(project, changesByProject.get(project), yarnLock, kbn, log)); + })); + return cacheKeys; +} -// The return value is a mixin of `childProcess` and `Promise` -const mergePromise = (spawned, promise) => { - for (const [property, descriptor] of descriptors) { - // Starting the main `promise` is deferred to avoid consuming streams - const value = typeof promise === 'function' ? - (...args) => Reflect.apply(descriptor.value, promise(), args) : - descriptor.value.bind(promise); +/***/ }), +/* 282 */ +/***/ (function(module, exports) { - Reflect.defineProperty(spawned, property, {...descriptor, value}); - } +module.exports = require("crypto"); - return spawned; -}; +/***/ }), +/* 283 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { -// Use promises instead of `child_process` events -const getSpawnedPromise = spawned => { - return new Promise((resolve, reject) => { - spawned.on('exit', (exitCode, signal) => { - resolve({exitCode, signal}); - }); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "readYarnLock", function() { return readYarnLock; }); +/* harmony import */ var _yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(284); +/* harmony import */ var _yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(130); +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +// @ts-ignore published types are worthless - spawned.on('error', error => { - reject(error); - }); - if (spawned.stdin) { - spawned.stdin.on('error', error => { - reject(error); - }); - } - }); -}; +async function readYarnLock(kbn) { + try { + const contents = await Object(_utils_fs__WEBPACK_IMPORTED_MODULE_1__["readFile"])(kbn.getAbsolute('yarn.lock'), 'utf8'); + const yarnLock = Object(_yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__["parse"])(contents); -module.exports = { - mergePromise, - getSpawnedPromise -}; + if (yarnLock.type === 'success') { + return yarnLock.object; + } + throw new Error('unable to read yarn.lock file, please run `yarn kbn bootstrap`'); + } catch (error) { + if (error.code !== 'ENOENT') { + throw error; + } + } + return {}; +} /***/ }), -/* 278 */ +/* 284 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 14); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { -const SPACES_REGEXP = / +/g; +module.exports = __webpack_require__(4); -const joinCommand = (file, args = []) => { - if (!Array.isArray(args)) { - return file; - } +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { - return [file, ...args].join(' '); -}; +"use strict"; -// Allow spaces to be escaped by a backslash if not meant as a delimiter -const handleEscaping = (tokens, token, index) => { - if (index === 0) { - return [token]; - } - const previousToken = tokens[tokens.length - 1]; +exports.__esModule = true; - if (previousToken.endsWith('\\')) { - return [...tokens.slice(0, -1), `${previousToken.slice(0, -1)} ${token}`]; - } +var _promise = __webpack_require__(173); - return [...tokens, token]; -}; +var _promise2 = _interopRequireDefault(_promise); -// Handle `execa.command()` -const parseCommand = command => { - return command - .trim() - .split(SPACES_REGEXP) - .reduce(handleEscaping, []); -}; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -module.exports = { - joinCommand, - parseCommand -}; +exports.default = function (fn) { + return function () { + var gen = fn.apply(this, arguments); + return new _promise2.default(function (resolve, reject) { + function step(key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + return _promise2.default.resolve(value).then(function (value) { + step("next", value); + }, function (err) { + step("throw", err); + }); + } + } + return step("next"); + }); + }; +}; /***/ }), -/* 279 */ -/***/ (function(module, exports, __webpack_require__) { +/* 2 */ +/***/ (function(module, exports) { -// Copyright IBM Corp. 2014,2018. All Rights Reserved. -// Node module: strong-log-transformer -// This file is licensed under the Apache License 2.0. -// License text available at https://opensource.org/licenses/Apache-2.0 +module.exports = __webpack_require__(111); -module.exports = __webpack_require__(280); -module.exports.cli = __webpack_require__(284); +/***/ }), +/* 3 */ +/***/ (function(module, exports) { +module.exports = __webpack_require__(133); /***/ }), -/* 280 */ +/* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -// Copyright IBM Corp. 2014,2018. All Rights Reserved. -// Node module: strong-log-transformer -// This file is licensed under the Apache License 2.0. -// License text available at https://opensource.org/licenses/Apache-2.0 - - - -var stream = __webpack_require__(137); -var util = __webpack_require__(111); -var fs = __webpack_require__(133); -var through = __webpack_require__(281); -var duplexer = __webpack_require__(282); -var StringDecoder = __webpack_require__(283).StringDecoder; -module.exports = Logger; - -Logger.DEFAULTS = { - format: 'text', - tag: '', - mergeMultiline: false, - timeStamp: false, -}; +Object.defineProperty(exports, "__esModule", { + value: true +}); +class MessageError extends Error { + constructor(msg, code) { + super(msg); + this.code = code; + } -var formatters = { - text: textFormatter, - json: jsonFormatter, } -function Logger(options) { - var defaults = JSON.parse(JSON.stringify(Logger.DEFAULTS)); - options = util._extend(defaults, options || {}); - var catcher = deLiner(); - var emitter = catcher; - var transforms = [ - objectifier(), - ]; - - if (options.tag) { - transforms.push(staticTagger(options.tag)); - } - - if (options.mergeMultiline) { - transforms.push(lineMerger()); +exports.MessageError = MessageError; +class ProcessSpawnError extends MessageError { + constructor(msg, code, process) { + super(msg, code); + this.process = process; } - // TODO - // if (options.pidStamp) { - // transforms.push(pidStamper(options.pid)); - // } - - // TODO - // if (options.workerStamp) { - // transforms.push(workerStamper(options.worker)); - // } +} - transforms.push(formatters[options.format](options)); +exports.ProcessSpawnError = ProcessSpawnError; +class SecurityError extends MessageError {} - // restore line endings that were removed by line splitting - transforms.push(reLiner()); +exports.SecurityError = SecurityError; +class ProcessTermError extends MessageError {} - for (var t in transforms) { - emitter = emitter.pipe(transforms[t]); +exports.ProcessTermError = ProcessTermError; +class ResponseError extends Error { + constructor(msg, responseCode) { + super(msg); + this.responseCode = responseCode; } - return duplexer(catcher, emitter); } +exports.ResponseError = ResponseError; -function deLiner() { - var decoder = new StringDecoder('utf8'); - var last = ''; +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { - return new stream.Transform({ - transform(chunk, _enc, callback) { - last += decoder.write(chunk); - var list = last.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g); - last = list.pop(); - for (var i = 0; i < list.length; i++) { - // swallow empty lines - if (list[i]) { - this.push(list[i]); - } - } - callback(); - }, - flush(callback) { - // incomplete UTF8 sequences become UTF8 replacement characters - last += decoder.end(); - if (last) { - this.push(last); - } - callback(); - }, - }); -} +"use strict"; -function reLiner() { - return through(appendNewline); - function appendNewline(line) { - this.emit('data', line + '\n'); - } -} +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getFirstSuitableFolder = exports.readFirstAvailableStream = exports.makeTempDir = exports.hardlinksWork = exports.writeFilePreservingEol = exports.getFileSizeOnDisk = exports.walk = exports.symlink = exports.find = exports.readJsonAndFile = exports.readJson = exports.readFileAny = exports.hardlinkBulk = exports.copyBulk = exports.unlink = exports.glob = exports.link = exports.chmod = exports.lstat = exports.exists = exports.mkdirp = exports.stat = exports.access = exports.rename = exports.readdir = exports.realpath = exports.readlink = exports.writeFile = exports.open = exports.readFileBuffer = exports.lockQueue = exports.constants = undefined; -function objectifier() { - return through(objectify, null, {autoDestroy: false}); +var _asyncToGenerator2; - function objectify(line) { - this.emit('data', { - msg: line, - time: Date.now(), - }); - } +function _load_asyncToGenerator() { + return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1)); } -function staticTagger(tag) { - return through(tagger); - - function tagger(logEvent) { - logEvent.tag = tag; - this.emit('data', logEvent); - } -} +let buildActionsForCopy = (() => { + var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) { -function textFormatter(options) { - return through(textify); + // + let build = (() => { + var _ref5 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { + const src = data.src, + dest = data.dest, + type = data.type; - function textify(logEvent) { - var line = util.format('%s%s', textifyTags(logEvent.tag), - logEvent.msg.toString()); - if (options.timeStamp) { - line = util.format('%s %s', new Date(logEvent.time).toISOString(), line); - } - this.emit('data', line.replace(/\n/g, '\\n')); - } + const onFresh = data.onFresh || noop; + const onDone = data.onDone || noop; - function textifyTags(tags) { - var str = ''; - if (typeof tags === 'string') { - str = tags + ' '; - } else if (typeof tags === 'object') { - for (var t in tags) { - str += t + ':' + tags[t] + ' '; - } - } - return str; - } -} + // TODO https://github.com/yarnpkg/yarn/issues/3751 + // related to bundled dependencies handling + if (files.has(dest.toLowerCase())) { + reporter.verbose(`The case-insensitive file ${dest} shouldn't be copied twice in one bulk copy`); + } else { + files.add(dest.toLowerCase()); + } -function jsonFormatter(options) { - return through(jsonify); + if (type === 'symlink') { + yield mkdirp((_path || _load_path()).default.dirname(dest)); + onFresh(); + actions.symlink.push({ + dest, + linkname: src + }); + onDone(); + return; + } - function jsonify(logEvent) { - if (options.timeStamp) { - logEvent.time = new Date(logEvent.time).toISOString(); - } else { - delete logEvent.time; - } - logEvent.msg = logEvent.msg.toString(); - this.emit('data', JSON.stringify(logEvent)); - } -} + if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) { + // ignored file + return; + } -function lineMerger(host) { - var previousLine = null; - var flushTimer = null; - var stream = through(lineMergerWrite, lineMergerEnd); - var flush = _flush.bind(stream); + const srcStat = yield lstat(src); + let srcFiles; - return stream; + if (srcStat.isDirectory()) { + srcFiles = yield readdir(src); + } - function lineMergerWrite(line) { - if (/^\s+/.test(line.msg)) { - if (previousLine) { - previousLine.msg += '\n' + line.msg; - } else { - previousLine = line; - } - } else { - flush(); - previousLine = line; - } - // rolling timeout - clearTimeout(flushTimer); - flushTimer = setTimeout(flush.bind(this), 10); - } + let destStat; + try { + // try accessing the destination + destStat = yield lstat(dest); + } catch (e) { + // proceed if destination doesn't exist, otherwise error + if (e.code !== 'ENOENT') { + throw e; + } + } - function _flush() { - if (previousLine) { - this.emit('data', previousLine); - previousLine = null; - } - } + // if destination exists + if (destStat) { + const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink(); + const bothFolders = srcStat.isDirectory() && destStat.isDirectory(); + const bothFiles = srcStat.isFile() && destStat.isFile(); - function lineMergerEnd() { - flush.call(this); - this.emit('end'); - } -} + // EINVAL access errors sometimes happen which shouldn't because node shouldn't be giving + // us modes that aren't valid. investigate this, it's generally safe to proceed. + /* if (srcStat.mode !== destStat.mode) { + try { + await access(dest, srcStat.mode); + } catch (err) {} + } */ -/***/ }), -/* 281 */ -/***/ (function(module, exports, __webpack_require__) { + if (bothFiles && artifactFiles.has(dest)) { + // this file gets changed during build, likely by a custom install script. Don't bother checking it. + onDone(); + reporter.verbose(reporter.lang('verboseFileSkipArtifact', src)); + return; + } -var Stream = __webpack_require__(137) + if (bothFiles && srcStat.size === destStat.size && (0, (_fsNormalized || _load_fsNormalized()).fileDatesEqual)(srcStat.mtime, destStat.mtime)) { + // we can safely assume this is the same file + onDone(); + reporter.verbose(reporter.lang('verboseFileSkip', src, dest, srcStat.size, +srcStat.mtime)); + return; + } -// through -// -// a stream that does nothing but re-emit the input. -// useful for aggregating a series of changing but not ending streams into one stream) + if (bothSymlinks) { + const srcReallink = yield readlink(src); + if (srcReallink === (yield readlink(dest))) { + // if both symlinks are the same then we can continue on + onDone(); + reporter.verbose(reporter.lang('verboseFileSkipSymlink', src, dest, srcReallink)); + return; + } + } -exports = module.exports = through -through.through = through + if (bothFolders) { + // mark files that aren't in this folder as possibly extraneous + const destFiles = yield readdir(dest); + invariant(srcFiles, 'src files not initialised'); -//create a readable writable stream. + for (var _iterator4 = destFiles, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { + var _ref6; -function through (write, end, opts) { - write = write || function (data) { this.queue(data) } - end = end || function () { this.queue(null) } + if (_isArray4) { + if (_i4 >= _iterator4.length) break; + _ref6 = _iterator4[_i4++]; + } else { + _i4 = _iterator4.next(); + if (_i4.done) break; + _ref6 = _i4.value; + } - var ended = false, destroyed = false, buffer = [], _ended = false - var stream = new Stream() - stream.readable = stream.writable = true - stream.paused = false + const file = _ref6; -// stream.autoPause = !(opts && opts.autoPause === false) - stream.autoDestroy = !(opts && opts.autoDestroy === false) + if (srcFiles.indexOf(file) < 0) { + const loc = (_path || _load_path()).default.join(dest, file); + possibleExtraneous.add(loc); - stream.write = function (data) { - write.call(this, data) - return !stream.paused - } + if ((yield lstat(loc)).isDirectory()) { + for (var _iterator5 = yield readdir(loc), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { + var _ref7; - function drain() { - while(buffer.length && !stream.paused) { - var data = buffer.shift() - if(null === data) - return stream.emit('end') - else - stream.emit('data', data) - } - } + if (_isArray5) { + if (_i5 >= _iterator5.length) break; + _ref7 = _iterator5[_i5++]; + } else { + _i5 = _iterator5.next(); + if (_i5.done) break; + _ref7 = _i5.value; + } - stream.queue = stream.push = function (data) { -// console.error(ended) - if(_ended) return stream - if(data === null) _ended = true - buffer.push(data) - drain() - return stream - } + const file = _ref7; - //this will be registered as the first 'end' listener - //must call destroy next tick, to make sure we're after any - //stream piped from here. - //this is only a problem if end is not emitted synchronously. - //a nicer way to do this is to make sure this is the last listener for 'end' + possibleExtraneous.add((_path || _load_path()).default.join(loc, file)); + } + } + } + } + } + } - stream.on('end', function () { - stream.readable = false - if(!stream.writable && stream.autoDestroy) - process.nextTick(function () { - stream.destroy() - }) - }) + if (destStat && destStat.isSymbolicLink()) { + yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest); + destStat = null; + } - function _end () { - stream.writable = false - end.call(stream) - if(!stream.readable && stream.autoDestroy) - stream.destroy() - } + if (srcStat.isSymbolicLink()) { + onFresh(); + const linkname = yield readlink(src); + actions.symlink.push({ + dest, + linkname + }); + onDone(); + } else if (srcStat.isDirectory()) { + if (!destStat) { + reporter.verbose(reporter.lang('verboseFileFolder', dest)); + yield mkdirp(dest); + } - stream.end = function (data) { - if(ended) return - ended = true - if(arguments.length) stream.write(data) - _end() // will emit or queue - return stream - } + const destParts = dest.split((_path || _load_path()).default.sep); + while (destParts.length) { + files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase()); + destParts.pop(); + } - stream.destroy = function () { - if(destroyed) return - destroyed = true - ended = true - buffer.length = 0 - stream.writable = stream.readable = false - stream.emit('close') - return stream - } + // push all files to queue + invariant(srcFiles, 'src files not initialised'); + let remaining = srcFiles.length; + if (!remaining) { + onDone(); + } + for (var _iterator6 = srcFiles, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { + var _ref8; - stream.pause = function () { - if(stream.paused) return - stream.paused = true - return stream - } + if (_isArray6) { + if (_i6 >= _iterator6.length) break; + _ref8 = _iterator6[_i6++]; + } else { + _i6 = _iterator6.next(); + if (_i6.done) break; + _ref8 = _i6.value; + } - stream.resume = function () { - if(stream.paused) { - stream.paused = false - stream.emit('resume') - } - drain() - //may have become paused again, - //as drain emits 'data'. - if(!stream.paused) - stream.emit('drain') - return stream - } - return stream -} + const file = _ref8; + queue.push({ + dest: (_path || _load_path()).default.join(dest, file), + onFresh, + onDone: function (_onDone) { + function onDone() { + return _onDone.apply(this, arguments); + } + onDone.toString = function () { + return _onDone.toString(); + }; -/***/ }), -/* 282 */ -/***/ (function(module, exports, __webpack_require__) { + return onDone; + }(function () { + if (--remaining === 0) { + onDone(); + } + }), + src: (_path || _load_path()).default.join(src, file) + }); + } + } else if (srcStat.isFile()) { + onFresh(); + actions.file.push({ + src, + dest, + atime: srcStat.atime, + mtime: srcStat.mtime, + mode: srcStat.mode + }); + onDone(); + } else { + throw new Error(`unsure how to copy this: ${src}`); + } + }); -var Stream = __webpack_require__(137) -var writeMethods = ["write", "end", "destroy"] -var readMethods = ["resume", "pause"] -var readEvents = ["data", "close"] -var slice = Array.prototype.slice + return function build(_x5) { + return _ref5.apply(this, arguments); + }; + })(); -module.exports = duplex + const artifactFiles = new Set(events.artifactFiles || []); + const files = new Set(); -function forEach (arr, fn) { - if (arr.forEach) { - return arr.forEach(fn) - } + // initialise events + for (var _iterator = queue, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { + var _ref2; - for (var i = 0; i < arr.length; i++) { - fn(arr[i], i) - } -} + if (_isArray) { + if (_i >= _iterator.length) break; + _ref2 = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref2 = _i.value; + } -function duplex(writer, reader) { - var stream = new Stream() - var ended = false + const item = _ref2; - forEach(writeMethods, proxyWriter) + const onDone = item.onDone; + item.onDone = function () { + events.onProgress(item.dest); + if (onDone) { + onDone(); + } + }; + } + events.onStart(queue.length); - forEach(readMethods, proxyReader) + // start building actions + const actions = { + file: [], + symlink: [], + link: [] + }; - forEach(readEvents, proxyStream) + // custom concurrency logic as we're always executing stacks of CONCURRENT_QUEUE_ITEMS queue items + // at a time due to the requirement to push items onto the queue + while (queue.length) { + const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS); + yield Promise.all(items.map(build)); + } - reader.on("end", handleEnd) + // simulate the existence of some files to prevent considering them extraneous + for (var _iterator2 = artifactFiles, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { + var _ref3; - writer.on("drain", function() { - stream.emit("drain") - }) + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref3 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref3 = _i2.value; + } - writer.on("error", reemit) - reader.on("error", reemit) + const file = _ref3; - stream.writable = writer.writable - stream.readable = reader.readable + if (possibleExtraneous.has(file)) { + reporter.verbose(reporter.lang('verboseFilePhantomExtraneous', file)); + possibleExtraneous.delete(file); + } + } - return stream + for (var _iterator3 = possibleExtraneous, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { + var _ref4; - function proxyWriter(methodName) { - stream[methodName] = method + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref4 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref4 = _i3.value; + } - function method() { - return writer[methodName].apply(writer, arguments) - } + const loc = _ref4; + + if (files.has(loc.toLowerCase())) { + possibleExtraneous.delete(loc); + } } - function proxyReader(methodName) { - stream[methodName] = method + return actions; + }); - function method() { - stream.emit(methodName) - var func = reader[methodName] - if (func) { - return func.apply(reader, arguments) - } - reader.emit(methodName) - } - } + return function buildActionsForCopy(_x, _x2, _x3, _x4) { + return _ref.apply(this, arguments); + }; +})(); - function proxyStream(methodName) { - reader.on(methodName, reemit) +let buildActionsForHardlink = (() => { + var _ref9 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) { - function reemit() { - var args = slice.call(arguments) - args.unshift(methodName) - stream.emit.apply(stream, args) - } - } + // + let build = (() => { + var _ref13 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { + const src = data.src, + dest = data.dest; - function handleEnd() { - if (ended) { - return + const onFresh = data.onFresh || noop; + const onDone = data.onDone || noop; + if (files.has(dest.toLowerCase())) { + // Fixes issue https://github.com/yarnpkg/yarn/issues/2734 + // When bulk hardlinking we have A -> B structure that we want to hardlink to A1 -> B1, + // package-linker passes that modules A1 and B1 need to be hardlinked, + // the recursive linking algorithm of A1 ends up scheduling files in B1 to be linked twice which will case + // an exception. + onDone(); + return; } - ended = true - var args = slice.call(arguments) - args.unshift("end") - stream.emit.apply(stream, args) - } + files.add(dest.toLowerCase()); - function reemit(err) { - stream.emit("error", err) - } -} + if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) { + // ignored file + return; + } + const srcStat = yield lstat(src); + let srcFiles; -/***/ }), -/* 283 */ -/***/ (function(module, exports) { + if (srcStat.isDirectory()) { + srcFiles = yield readdir(src); + } -module.exports = require("string_decoder"); + const destExists = yield exists(dest); + if (destExists) { + const destStat = yield lstat(dest); -/***/ }), -/* 284 */ -/***/ (function(module, exports, __webpack_require__) { + const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink(); + const bothFolders = srcStat.isDirectory() && destStat.isDirectory(); + const bothFiles = srcStat.isFile() && destStat.isFile(); -"use strict"; -// Copyright IBM Corp. 2014,2018. All Rights Reserved. -// Node module: strong-log-transformer -// This file is licensed under the Apache License 2.0. -// License text available at https://opensource.org/licenses/Apache-2.0 + if (srcStat.mode !== destStat.mode) { + try { + yield access(dest, srcStat.mode); + } catch (err) { + // EINVAL access errors sometimes happen which shouldn't because node shouldn't be giving + // us modes that aren't valid. investigate this, it's generally safe to proceed. + reporter.verbose(err); + } + } + if (bothFiles && artifactFiles.has(dest)) { + // this file gets changed during build, likely by a custom install script. Don't bother checking it. + onDone(); + reporter.verbose(reporter.lang('verboseFileSkipArtifact', src)); + return; + } + // correct hardlink + if (bothFiles && srcStat.ino !== null && srcStat.ino === destStat.ino) { + onDone(); + reporter.verbose(reporter.lang('verboseFileSkip', src, dest, srcStat.ino)); + return; + } -var minimist = __webpack_require__(285); -var path = __webpack_require__(4); + if (bothSymlinks) { + const srcReallink = yield readlink(src); + if (srcReallink === (yield readlink(dest))) { + // if both symlinks are the same then we can continue on + onDone(); + reporter.verbose(reporter.lang('verboseFileSkipSymlink', src, dest, srcReallink)); + return; + } + } -var Logger = __webpack_require__(280); -var pkg = __webpack_require__(286); + if (bothFolders) { + // mark files that aren't in this folder as possibly extraneous + const destFiles = yield readdir(dest); + invariant(srcFiles, 'src files not initialised'); -module.exports = cli; + for (var _iterator10 = destFiles, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) { + var _ref14; -function cli(args) { - var opts = minimist(args.slice(2)); - var $0 = path.basename(args[1]); - var p = console.log.bind(console); - if (opts.v || opts.version) { - version($0, p); - } else if (opts.h || opts.help) { - usage($0, p); - } else if (args.length < 3) { - process.stdin.pipe(Logger()).pipe(process.stdout); - } else { - process.stdin.pipe(Logger(opts)).pipe(process.stdout); - } -} + if (_isArray10) { + if (_i10 >= _iterator10.length) break; + _ref14 = _iterator10[_i10++]; + } else { + _i10 = _iterator10.next(); + if (_i10.done) break; + _ref14 = _i10.value; + } -function version($0, p) { - p('%s v%s', pkg.name, pkg.version); -} + const file = _ref14; -function usage($0, p) { - var PADDING = ' '; - var opt, def; - p('Usage: %s [options]', $0); - p(''); - p('%s', pkg.description); - p(''); - p('OPTIONS:'); - for (opt in Logger.DEFAULTS) { - def = Logger.DEFAULTS[opt]; - if (typeof def === 'boolean') - boolOpt(opt, Logger.DEFAULTS[opt]); - else - stdOpt(opt, Logger.DEFAULTS[opt]); - } - p(''); + if (srcFiles.indexOf(file) < 0) { + const loc = (_path || _load_path()).default.join(dest, file); + possibleExtraneous.add(loc); - function boolOpt(name, def) { - name = name + PADDING.slice(0, 20-name.length); - p(' --%s default: %s', name, def); - } + if ((yield lstat(loc)).isDirectory()) { + for (var _iterator11 = yield readdir(loc), _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) { + var _ref15; - function stdOpt(name, def) { - var value = name.toUpperCase() + - PADDING.slice(0, 19 - name.length*2); - p(' --%s %s default: %j', name, value, def); - } -} + if (_isArray11) { + if (_i11 >= _iterator11.length) break; + _ref15 = _iterator11[_i11++]; + } else { + _i11 = _iterator11.next(); + if (_i11.done) break; + _ref15 = _i11.value; + } + const file = _ref15; -/***/ }), -/* 285 */ -/***/ (function(module, exports) { + possibleExtraneous.add((_path || _load_path()).default.join(loc, file)); + } + } + } + } + } + } -module.exports = function (args, opts) { - if (!opts) opts = {}; - - var flags = { bools : {}, strings : {}, unknownFn: null }; + if (srcStat.isSymbolicLink()) { + onFresh(); + const linkname = yield readlink(src); + actions.symlink.push({ + dest, + linkname + }); + onDone(); + } else if (srcStat.isDirectory()) { + reporter.verbose(reporter.lang('verboseFileFolder', dest)); + yield mkdirp(dest); - if (typeof opts['unknown'] === 'function') { - flags.unknownFn = opts['unknown']; - } + const destParts = dest.split((_path || _load_path()).default.sep); + while (destParts.length) { + files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase()); + destParts.pop(); + } - if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { - flags.allBools = true; - } else { - [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { - flags.bools[key] = true; - }); - } - - var aliases = {}; - Object.keys(opts.alias || {}).forEach(function (key) { - aliases[key] = [].concat(opts.alias[key]); - aliases[key].forEach(function (x) { - aliases[x] = [key].concat(aliases[key].filter(function (y) { - return x !== y; - })); - }); - }); + // push all files to queue + invariant(srcFiles, 'src files not initialised'); + let remaining = srcFiles.length; + if (!remaining) { + onDone(); + } + for (var _iterator12 = srcFiles, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) { + var _ref16; - [].concat(opts.string).filter(Boolean).forEach(function (key) { - flags.strings[key] = true; - if (aliases[key]) { - flags.strings[aliases[key]] = true; - } - }); + if (_isArray12) { + if (_i12 >= _iterator12.length) break; + _ref16 = _iterator12[_i12++]; + } else { + _i12 = _iterator12.next(); + if (_i12.done) break; + _ref16 = _i12.value; + } - var defaults = opts['default'] || {}; - - var argv = { _ : [] }; - Object.keys(flags.bools).forEach(function (key) { - setArg(key, defaults[key] === undefined ? false : defaults[key]); - }); - - var notFlags = []; + const file = _ref16; - if (args.indexOf('--') !== -1) { - notFlags = args.slice(args.indexOf('--')+1); - args = args.slice(0, args.indexOf('--')); - } + queue.push({ + onFresh, + src: (_path || _load_path()).default.join(src, file), + dest: (_path || _load_path()).default.join(dest, file), + onDone: function (_onDone2) { + function onDone() { + return _onDone2.apply(this, arguments); + } - function argDefined(key, arg) { - return (flags.allBools && /^--[^=]+$/.test(arg)) || - flags.strings[key] || flags.bools[key] || aliases[key]; - } + onDone.toString = function () { + return _onDone2.toString(); + }; - function setArg (key, val, arg) { - if (arg && flags.unknownFn && !argDefined(key, arg)) { - if (flags.unknownFn(arg) === false) return; + return onDone; + }(function () { + if (--remaining === 0) { + onDone(); + } + }) + }); + } + } else if (srcStat.isFile()) { + onFresh(); + actions.link.push({ + src, + dest, + removeDest: destExists + }); + onDone(); + } else { + throw new Error(`unsure how to copy this: ${src}`); } + }); - var value = !flags.strings[key] && isNumber(val) - ? Number(val) : val - ; - setKey(argv, key.split('.'), value); - - (aliases[key] || []).forEach(function (x) { - setKey(argv, x.split('.'), value); - }); - } - - function setKey (obj, keys, value) { - var o = obj; - for (var i = 0; i < keys.length-1; i++) { - var key = keys[i]; - if (key === '__proto__') return; - if (o[key] === undefined) o[key] = {}; - if (o[key] === Object.prototype || o[key] === Number.prototype - || o[key] === String.prototype) o[key] = {}; - if (o[key] === Array.prototype) o[key] = []; - o = o[key]; - } + return function build(_x10) { + return _ref13.apply(this, arguments); + }; + })(); - var key = keys[keys.length - 1]; - if (key === '__proto__') return; - if (o === Object.prototype || o === Number.prototype - || o === String.prototype) o = {}; - if (o === Array.prototype) o = []; - if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { - o[key] = value; - } - else if (Array.isArray(o[key])) { - o[key].push(value); - } - else { - o[key] = [ o[key], value ]; - } - } - - function aliasIsBoolean(key) { - return aliases[key].some(function (x) { - return flags.bools[x]; - }); - } + const artifactFiles = new Set(events.artifactFiles || []); + const files = new Set(); - for (var i = 0; i < args.length; i++) { - var arg = args[i]; - - if (/^--.+=/.test(arg)) { - // Using [\s\S] instead of . because js doesn't support the - // 'dotall' regex modifier. See: - // http://stackoverflow.com/a/1068308/13216 - var m = arg.match(/^--([^=]+)=([\s\S]*)$/); - var key = m[1]; - var value = m[2]; - if (flags.bools[key]) { - value = value !== 'false'; - } - setArg(key, value, arg); - } - else if (/^--no-.+/.test(arg)) { - var key = arg.match(/^--no-(.+)/)[1]; - setArg(key, false, arg); - } - else if (/^--.+/.test(arg)) { - var key = arg.match(/^--(.+)/)[1]; - var next = args[i + 1]; - if (next !== undefined && !/^-/.test(next) - && !flags.bools[key] - && !flags.allBools - && (aliases[key] ? !aliasIsBoolean(key) : true)) { - setArg(key, next, arg); - i++; - } - else if (/^(true|false)$/.test(next)) { - setArg(key, next === 'true', arg); - i++; - } - else { - setArg(key, flags.strings[key] ? '' : true, arg); - } - } - else if (/^-[^-]+/.test(arg)) { - var letters = arg.slice(1,-1).split(''); - - var broken = false; - for (var j = 0; j < letters.length; j++) { - var next = arg.slice(j+2); - - if (next === '-') { - setArg(letters[j], next, arg) - continue; - } - - if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { - setArg(letters[j], next.split('=')[1], arg); - broken = true; - break; - } - - if (/[A-Za-z]/.test(letters[j]) - && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { - setArg(letters[j], next, arg); - broken = true; - break; - } - - if (letters[j+1] && letters[j+1].match(/\W/)) { - setArg(letters[j], arg.slice(j+2), arg); - broken = true; - break; - } - else { - setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); - } - } - - var key = arg.slice(-1)[0]; - if (!broken && key !== '-') { - if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1]) - && !flags.bools[key] - && (aliases[key] ? !aliasIsBoolean(key) : true)) { - setArg(key, args[i+1], arg); - i++; - } - else if (args[i+1] && /^(true|false)$/.test(args[i+1])) { - setArg(key, args[i+1] === 'true', arg); - i++; - } - else { - setArg(key, flags.strings[key] ? '' : true, arg); - } - } - } - else { - if (!flags.unknownFn || flags.unknownFn(arg) !== false) { - argv._.push( - flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) - ); - } - if (opts.stopEarly) { - argv._.push.apply(argv._, args.slice(i + 1)); - break; - } - } - } - - Object.keys(defaults).forEach(function (key) { - if (!hasKey(argv, key.split('.'))) { - setKey(argv, key.split('.'), defaults[key]); - - (aliases[key] || []).forEach(function (x) { - setKey(argv, x.split('.'), defaults[key]); - }); - } - }); - - if (opts['--']) { - argv['--'] = new Array(); - notFlags.forEach(function(key) { - argv['--'].push(key); - }); - } - else { - notFlags.forEach(function(key) { - argv._.push(key); - }); - } + // initialise events + for (var _iterator7 = queue, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { + var _ref10; - return argv; -}; + if (_isArray7) { + if (_i7 >= _iterator7.length) break; + _ref10 = _iterator7[_i7++]; + } else { + _i7 = _iterator7.next(); + if (_i7.done) break; + _ref10 = _i7.value; + } -function hasKey (obj, keys) { - var o = obj; - keys.slice(0,-1).forEach(function (key) { - o = (o[key] || {}); - }); + const item = _ref10; - var key = keys[keys.length - 1]; - return key in o; -} + const onDone = item.onDone || noop; + item.onDone = function () { + events.onProgress(item.dest); + onDone(); + }; + } + events.onStart(queue.length); -function isNumber (x) { - if (typeof x === 'number') return true; - if (/^0x[0-9a-f]+$/i.test(x)) return true; - return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); -} + // start building actions + const actions = { + file: [], + symlink: [], + link: [] + }; + // custom concurrency logic as we're always executing stacks of CONCURRENT_QUEUE_ITEMS queue items + // at a time due to the requirement to push items onto the queue + while (queue.length) { + const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS); + yield Promise.all(items.map(build)); + } + // simulate the existence of some files to prevent considering them extraneous + for (var _iterator8 = artifactFiles, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { + var _ref11; -/***/ }), -/* 286 */ -/***/ (function(module) { + if (_isArray8) { + if (_i8 >= _iterator8.length) break; + _ref11 = _iterator8[_i8++]; + } else { + _i8 = _iterator8.next(); + if (_i8.done) break; + _ref11 = _i8.value; + } -module.exports = JSON.parse("{\"name\":\"strong-log-transformer\",\"version\":\"2.1.0\",\"description\":\"Stream transformer that prefixes lines with timestamps and other things.\",\"author\":\"Ryan Graham \",\"license\":\"Apache-2.0\",\"repository\":{\"type\":\"git\",\"url\":\"git://github.com/strongloop/strong-log-transformer\"},\"keywords\":[\"logging\",\"streams\"],\"bugs\":{\"url\":\"https://github.com/strongloop/strong-log-transformer/issues\"},\"homepage\":\"https://github.com/strongloop/strong-log-transformer\",\"directories\":{\"test\":\"test\"},\"bin\":{\"sl-log-transformer\":\"bin/sl-log-transformer.js\"},\"main\":\"index.js\",\"scripts\":{\"test\":\"tap --100 test/test-*\"},\"dependencies\":{\"duplexer\":\"^0.1.1\",\"minimist\":\"^1.2.0\",\"through\":\"^2.3.4\"},\"devDependencies\":{\"tap\":\"^12.0.1\"},\"engines\":{\"node\":\">=4\"}}"); + const file = _ref11; -/***/ }), -/* 287 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { + if (possibleExtraneous.has(file)) { + reporter.verbose(reporter.lang('verboseFilePhantomExtraneous', file)); + possibleExtraneous.delete(file); + } + } -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "workspacePackagePaths", function() { return workspacePackagePaths; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "copyWorkspacePackages", function() { return copyWorkspacePackages; }); -/* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(146); -/* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(glob__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); -/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(111); -/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(288); -/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(130); -/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(164); -/* harmony import */ var _projects__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(145); -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ + for (var _iterator9 = possibleExtraneous, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { + var _ref12; + if (_isArray9) { + if (_i9 >= _iterator9.length) break; + _ref12 = _iterator9[_i9++]; + } else { + _i9 = _iterator9.next(); + if (_i9.done) break; + _ref12 = _i9.value; + } + const loc = _ref12; + if (files.has(loc.toLowerCase())) { + possibleExtraneous.delete(loc); + } + } + return actions; + }); + return function buildActionsForHardlink(_x6, _x7, _x8, _x9) { + return _ref9.apply(this, arguments); + }; +})(); +let copyBulk = exports.copyBulk = (() => { + var _ref17 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) { + const events = { + onStart: _events && _events.onStart || noop, + onProgress: _events && _events.onProgress || noop, + possibleExtraneous: _events ? _events.possibleExtraneous : new Set(), + ignoreBasenames: _events && _events.ignoreBasenames || [], + artifactFiles: _events && _events.artifactFiles || [] + }; -const glob = Object(util__WEBPACK_IMPORTED_MODULE_2__["promisify"])(glob__WEBPACK_IMPORTED_MODULE_0___default.a); -async function workspacePackagePaths(rootPath) { - const rootPkgJson = await Object(_package_json__WEBPACK_IMPORTED_MODULE_5__["readPackageJson"])(rootPath); + const actions = yield buildActionsForCopy(queue, events, events.possibleExtraneous, reporter); + events.onStart(actions.file.length + actions.symlink.length + actions.link.length); - if (!rootPkgJson.workspaces) { - return []; - } + const fileActions = actions.file; - const workspacesPathsPatterns = rootPkgJson.workspaces.packages; - let workspaceProjectsPaths = []; + const currentlyWriting = new Map(); - for (const pattern of workspacesPathsPatterns) { - workspaceProjectsPaths = workspaceProjectsPaths.concat(await packagesFromGlobPattern({ - pattern, - rootPath - })); - } // Filter out exclude glob patterns + yield (_promise || _load_promise()).queue(fileActions, (() => { + var _ref18 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { + let writePromise; + while (writePromise = currentlyWriting.get(data.dest)) { + yield writePromise; + } + reporter.verbose(reporter.lang('verboseFileCopy', data.src, data.dest)); + const copier = (0, (_fsNormalized || _load_fsNormalized()).copyFile)(data, function () { + return currentlyWriting.delete(data.dest); + }); + currentlyWriting.set(data.dest, copier); + events.onProgress(data.dest); + return copier; + }); - for (const pattern of workspacesPathsPatterns) { - if (pattern.startsWith('!')) { - const pathToRemove = path__WEBPACK_IMPORTED_MODULE_1___default.a.join(rootPath, pattern.slice(1), 'package.json'); - workspaceProjectsPaths = workspaceProjectsPaths.filter(p => p !== pathToRemove); - } - } + return function (_x14) { + return _ref18.apply(this, arguments); + }; + })(), CONCURRENT_QUEUE_ITEMS); - return workspaceProjectsPaths; -} -async function copyWorkspacePackages(rootPath) { - const projectPaths = Object(_config__WEBPACK_IMPORTED_MODULE_3__["getProjectPaths"])({ - rootPath + // we need to copy symlinks last as they could reference files we were copying + const symlinkActions = actions.symlink; + yield (_promise || _load_promise()).queue(symlinkActions, function (data) { + const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname); + reporter.verbose(reporter.lang('verboseFileSymlink', data.dest, linkname)); + return symlink(linkname, data.dest); + }); }); - const projects = await Object(_projects__WEBPACK_IMPORTED_MODULE_6__["getProjects"])(rootPath, projectPaths); - for (const project of projects.values()) { - const dest = path__WEBPACK_IMPORTED_MODULE_1___default.a.resolve(rootPath, 'node_modules', project.name); + return function copyBulk(_x11, _x12, _x13) { + return _ref17.apply(this, arguments); + }; +})(); - if ((await Object(_fs__WEBPACK_IMPORTED_MODULE_4__["isSymlink"])(dest)) === false) { - continue; - } // Remove the symlink +let hardlinkBulk = exports.hardlinkBulk = (() => { + var _ref19 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) { + const events = { + onStart: _events && _events.onStart || noop, + onProgress: _events && _events.onProgress || noop, + possibleExtraneous: _events ? _events.possibleExtraneous : new Set(), + artifactFiles: _events && _events.artifactFiles || [], + ignoreBasenames: [] + }; + const actions = yield buildActionsForHardlink(queue, events, events.possibleExtraneous, reporter); + events.onStart(actions.file.length + actions.symlink.length + actions.link.length); - await Object(_fs__WEBPACK_IMPORTED_MODULE_4__["unlink"])(dest); // Copy in the package + const fileActions = actions.link; - await Object(_fs__WEBPACK_IMPORTED_MODULE_4__["copyDirectory"])(project.path, dest); - } -} + yield (_promise || _load_promise()).queue(fileActions, (() => { + var _ref20 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { + reporter.verbose(reporter.lang('verboseFileLink', data.src, data.dest)); + if (data.removeDest) { + yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(data.dest); + } + yield link(data.src, data.dest); + }); -function packagesFromGlobPattern({ - pattern, - rootPath -}) { - const globOptions = { - cwd: rootPath, - // Should throw in case of unusual errors when reading the file system - strict: true, - // Always returns absolute paths for matched files - absolute: true, - // Do not match ** against multiple filenames - // (This is only specified because we currently don't have a need for it.) - noglobstar: true - }; - return glob(path__WEBPACK_IMPORTED_MODULE_1___default.a.join(pattern, 'package.json'), globOptions); -} + return function (_x18) { + return _ref20.apply(this, arguments); + }; + })(), CONCURRENT_QUEUE_ITEMS); -/***/ }), -/* 288 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { + // we need to copy symlinks last as they could reference files we were copying + const symlinkActions = actions.symlink; + yield (_promise || _load_promise()).queue(symlinkActions, function (data) { + const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname); + reporter.verbose(reporter.lang('verboseFileSymlink', data.dest, linkname)); + return symlink(linkname, data.dest); + }); + }); -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getProjectPaths", function() { return getProjectPaths; }); -/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); -/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ + return function hardlinkBulk(_x15, _x16, _x17) { + return _ref19.apply(this, arguments); + }; +})(); +let readFileAny = exports.readFileAny = (() => { + var _ref21 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (files) { + for (var _iterator13 = files, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) { + var _ref22; -/** - * Returns all the paths where plugins are located - */ -function getProjectPaths({ - rootPath, - ossOnly, - skipKibanaPlugins -}) { - const projectPaths = [rootPath, Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'packages/*')]; // This is needed in order to install the dependencies for the declared - // plugin functional used in the selenium functional tests. - // As we are now using the webpack dll for the client vendors dependencies - // when we run the plugin functional tests against the distributable - // dependencies used by such plugins like @eui, react and react-dom can't - // be loaded from the dll as the context is different from the one declared - // into the webpack dll reference plugin. - // In anyway, have a plugin declaring their own dependencies is the - // correct and the expect behavior. + if (_isArray13) { + if (_i13 >= _iterator13.length) break; + _ref22 = _iterator13[_i13++]; + } else { + _i13 = _iterator13.next(); + if (_i13.done) break; + _ref22 = _i13.value; + } - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'test/plugin_functional/plugins/*')); - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'test/interpreter_functional/plugins/*')); - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'examples/*')); + const file = _ref22; - if (!ossOnly) { - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'x-pack')); - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'x-pack/plugins/*')); - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'x-pack/legacy/plugins/*')); - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'x-pack/test/functional_with_es_ssl/fixtures/plugins/*')); - } + if (yield exists(file)) { + return readFile(file); + } + } + return null; + }); - if (!skipKibanaPlugins) { - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, '../kibana-extra/*')); - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, '../kibana-extra/*/packages/*')); - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, '../kibana-extra/*/plugins/*')); - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'plugins/*')); - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'plugins/*/packages/*')); - projectPaths.push(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(rootPath, 'plugins/*/plugins/*')); - } + return function readFileAny(_x19) { + return _ref21.apply(this, arguments); + }; +})(); - return projectPaths; -} +let readJson = exports.readJson = (() => { + var _ref23 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { + return (yield readJsonAndFile(loc)).object; + }); -/***/ }), -/* 289 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { + return function readJson(_x20) { + return _ref23.apply(this, arguments); + }; +})(); -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAllChecksums", function() { return getAllChecksums; }); -/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(133); -/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(290); -/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(crypto__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(111); -/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(244); -/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(execa__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _yarn_lock__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(291); -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ +let readJsonAndFile = exports.readJsonAndFile = (() => { + var _ref24 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { + const file = yield readFile(loc); + try { + return { + object: (0, (_map || _load_map()).default)(JSON.parse(stripBOM(file))), + content: file + }; + } catch (err) { + err.message = `${loc}: ${err.message}`; + throw err; + } + }); + return function readJsonAndFile(_x21) { + return _ref24.apply(this, arguments); + }; +})(); +let find = exports.find = (() => { + var _ref25 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (filename, dir) { + const parts = dir.split((_path || _load_path()).default.sep); + while (parts.length) { + const loc = parts.concat(filename).join((_path || _load_path()).default.sep); + if (yield exists(loc)) { + return loc; + } else { + parts.pop(); + } + } -const statAsync = Object(util__WEBPACK_IMPORTED_MODULE_2__["promisify"])(fs__WEBPACK_IMPORTED_MODULE_0___default.a.stat); + return false; + }); -const projectBySpecificitySorter = (a, b) => b.path.length - a.path.length; -/** Get the changed files for a set of projects */ + return function find(_x22, _x23) { + return _ref25.apply(this, arguments); + }; +})(); +let symlink = exports.symlink = (() => { + var _ref26 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src, dest) { + try { + const stats = yield lstat(dest); + if (stats.isSymbolicLink()) { + const resolved = yield realpath(dest); + if (resolved === src) { + return; + } + } + } catch (err) { + if (err.code !== 'ENOENT') { + throw err; + } + } + // We use rimraf for unlink which never throws an ENOENT on missing target + yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest); -async function getChangesForProjects(projects, kbn, log) { - log.verbose('getting changed files'); - const { - stdout - } = await execa__WEBPACK_IMPORTED_MODULE_3___default()('git', ['ls-files', '-dmto', '--exclude-standard', '--', ...Array.from(projects.values()).filter(p => kbn.isPartOfRepo(p)).map(p => p.path)], { - cwd: kbn.getAbsolute() + if (process.platform === 'win32') { + // use directory junctions if possible on win32, this requires absolute paths + yield fsSymlink(src, dest, 'junction'); + } else { + // use relative paths otherwise which will be retained if the directory is moved + let relative; + try { + relative = (_path || _load_path()).default.relative((_fs || _load_fs()).default.realpathSync((_path || _load_path()).default.dirname(dest)), (_fs || _load_fs()).default.realpathSync(src)); + } catch (err) { + if (err.code !== 'ENOENT') { + throw err; + } + relative = (_path || _load_path()).default.relative((_path || _load_path()).default.dirname(dest), src); + } + // When path.relative returns an empty string for the current directory, we should instead use + // '.', which is a valid fs.symlink target. + yield fsSymlink(relative || '.', dest); + } }); - const output = stdout.trim(); - const unassignedChanges = new Map(); - - if (output) { - for (const line of output.split('\n')) { - const [tag, ...pathParts] = line.trim().split(' '); - const path = pathParts.join(' '); - switch (tag) { - case 'M': - case 'C': - // for some reason ls-files returns deleted files as both deleted - // and modified, so make sure not to overwrite changes already - // tracked as "deleted" - if (unassignedChanges.get(path) !== 'deleted') { - unassignedChanges.set(path, 'modified'); - } + return function symlink(_x24, _x25) { + return _ref26.apply(this, arguments); + }; +})(); - break; +let walk = exports.walk = (() => { + var _ref27 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir, relativeDir, ignoreBasenames = new Set()) { + let files = []; - case 'R': - unassignedChanges.set(path, 'deleted'); - break; + let filenames = yield readdir(dir); + if (ignoreBasenames.size) { + filenames = filenames.filter(function (name) { + return !ignoreBasenames.has(name); + }); + } - case '?': - unassignedChanges.set(path, 'untracked'); - break; + for (var _iterator14 = filenames, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) { + var _ref28; - case 'H': - case 'S': - case 'K': - default: - log.warning(`unexpected modification status "${tag}" for ${path}, please report this!`); - unassignedChanges.set(path, 'invalid'); - break; + if (_isArray14) { + if (_i14 >= _iterator14.length) break; + _ref28 = _iterator14[_i14++]; + } else { + _i14 = _iterator14.next(); + if (_i14.done) break; + _ref28 = _i14.value; } - } - } - const sortedRelevantProjects = Array.from(projects.values()).sort(projectBySpecificitySorter); - const changesByProject = new Map(); + const name = _ref28; - for (const project of sortedRelevantProjects) { - if (kbn.isOutsideRepo(project)) { - changesByProject.set(project, undefined); - continue; - } + const relative = relativeDir ? (_path || _load_path()).default.join(relativeDir, name) : name; + const loc = (_path || _load_path()).default.join(dir, name); + const stat = yield lstat(loc); - const ownChanges = new Map(); - const prefix = kbn.getRelative(project.path); + files.push({ + relative, + basename: name, + absolute: loc, + mtime: +stat.mtime + }); - for (const [path, type] of unassignedChanges) { - if (path.startsWith(prefix)) { - ownChanges.set(path, type); - unassignedChanges.delete(path); + if (stat.isDirectory()) { + files = files.concat((yield walk(loc, relative, ignoreBasenames))); } } - log.verbose(`[${project.name}] found ${ownChanges.size} changes`); - changesByProject.set(project, ownChanges); - } - - if (unassignedChanges.size) { - throw new Error(`unable to assign all change paths to a project: ${JSON.stringify(Array.from(unassignedChanges.entries()))}`); - } + return files; + }); - return changesByProject; -} -/** Get the latest commit sha for a project */ + return function walk(_x26, _x27) { + return _ref27.apply(this, arguments); + }; +})(); +let getFileSizeOnDisk = exports.getFileSizeOnDisk = (() => { + var _ref29 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { + const stat = yield lstat(loc); + const size = stat.size, + blockSize = stat.blksize; -async function getLatestSha(project, kbn) { - if (kbn.isOutsideRepo(project)) { - return; - } - const { - stdout - } = await execa__WEBPACK_IMPORTED_MODULE_3___default()('git', ['log', '-n', '1', '--pretty=format:%H', '--', project.path], { - cwd: kbn.getAbsolute() + return Math.ceil(size / blockSize) * blockSize; }); - return stdout.trim() || undefined; -} -/** - * Get a list of the absolute dependencies of this project, as resolved - * in the yarn.lock file, does not include other projects in the workspace - * or their dependencies - */ + return function getFileSizeOnDisk(_x28) { + return _ref29.apply(this, arguments); + }; +})(); -function resolveDepsForProject(project, yarnLock, kbn, log) { - /** map of [name@range, name@resolved] */ - const resolved = new Map(); - const queue = Object.entries(project.allDependencies); +let getEolFromFile = (() => { + var _ref30 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path) { + if (!(yield exists(path))) { + return undefined; + } - while (queue.length) { - const [name, versionRange] = queue.shift(); - const req = `${name}@${versionRange}`; + const buffer = yield readFileBuffer(path); - if (resolved.has(req)) { - continue; + for (let i = 0; i < buffer.length; ++i) { + if (buffer[i] === cr) { + return '\r\n'; + } + if (buffer[i] === lf) { + return '\n'; + } } + return undefined; + }); - if (!kbn.hasProject(name)) { - const pkg = yarnLock[req]; + return function getEolFromFile(_x29) { + return _ref30.apply(this, arguments); + }; +})(); - if (!pkg) { - log.warning('yarn.lock file is out of date, please run `yarn kbn bootstrap` to re-enable caching'); - return; - } +let writeFilePreservingEol = exports.writeFilePreservingEol = (() => { + var _ref31 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path, data) { + const eol = (yield getEolFromFile(path)) || (_os || _load_os()).default.EOL; + if (eol !== '\n') { + data = data.replace(/\n/g, eol); + } + yield writeFile(path, data); + }); - const res = `${name}@${pkg.version}`; - resolved.set(req, res); - const allDepsEntries = [...Object.entries(pkg.dependencies || {}), ...Object.entries(pkg.optionalDependencies || {})]; + return function writeFilePreservingEol(_x30, _x31) { + return _ref31.apply(this, arguments); + }; +})(); - for (const [childName, childVersionRange] of allDepsEntries) { - queue.push([childName, childVersionRange]); - } +let hardlinksWork = exports.hardlinksWork = (() => { + var _ref32 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir) { + const filename = 'test-file' + Math.random(); + const file = (_path || _load_path()).default.join(dir, filename); + const fileLink = (_path || _load_path()).default.join(dir, filename + '-link'); + try { + yield writeFile(file, 'test'); + yield link(file, fileLink); + } catch (err) { + return false; + } finally { + yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(file); + yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(fileLink); } - } + return true; + }); - return Array.from(resolved.values()).sort((a, b) => a.localeCompare(b)); -} -/** - * Get the checksum for a specific project in the workspace - */ + return function hardlinksWork(_x32) { + return _ref32.apply(this, arguments); + }; +})(); +// not a strict polyfill for Node's fs.mkdtemp -async function getChecksum(project, changes, yarnLock, kbn, log) { - const sha = await getLatestSha(project, kbn); - if (sha) { - log.verbose(`[${project.name}] local sha:`, sha); - } +let makeTempDir = exports.makeTempDir = (() => { + var _ref33 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (prefix) { + const dir = (_path || _load_path()).default.join((_os || _load_os()).default.tmpdir(), `yarn-${prefix || ''}-${Date.now()}-${Math.random()}`); + yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dir); + yield mkdirp(dir); + return dir; + }); - if (!changes || Array.from(changes.values()).includes('invalid')) { - log.warning(`[${project.name}] unable to determine local changes, caching disabled`); - return; - } + return function makeTempDir(_x33) { + return _ref33.apply(this, arguments); + }; +})(); - const changesSummary = await Promise.all(Array.from(changes).sort((a, b) => a[0].localeCompare(b[0])).map(async ([path, type]) => { - if (type === 'deleted') { - return `${path}:deleted`; - } +let readFirstAvailableStream = exports.readFirstAvailableStream = (() => { + var _ref34 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths) { + for (var _iterator15 = paths, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) { + var _ref35; - const stats = await statAsync(kbn.getAbsolute(path)); - log.verbose(`[${project.name}] modified time ${stats.mtimeMs} for ${path}`); - return `${path}:${stats.mtimeMs}`; - })); - const deps = await resolveDepsForProject(project, yarnLock, kbn, log); + if (_isArray15) { + if (_i15 >= _iterator15.length) break; + _ref35 = _iterator15[_i15++]; + } else { + _i15 = _iterator15.next(); + if (_i15.done) break; + _ref35 = _i15.value; + } - if (!deps) { - return; - } + const path = _ref35; - log.verbose(`[${project.name}] resolved %d deps`, deps.length); - const checksum = JSON.stringify({ - sha, - changes: changesSummary, - deps - }, null, 2); + try { + const fd = yield open(path, 'r'); + return (_fs || _load_fs()).default.createReadStream(path, { fd }); + } catch (err) { + // Try the next one + } + } + return null; + }); - if (process.env.BOOTSTRAP_CACHE_DEBUG_CHECKSUM) { - return checksum; - } + return function readFirstAvailableStream(_x34) { + return _ref34.apply(this, arguments); + }; +})(); - const hash = crypto__WEBPACK_IMPORTED_MODULE_1___default.a.createHash('sha1'); - hash.update(checksum); - return hash.digest('hex'); -} -/** - * Calculate checksums for all projects in the workspace based on - * - last git commit to project directory - * - un-committed changes - * - resolved dependencies from yarn.lock referenced by project package.json - */ +let getFirstSuitableFolder = exports.getFirstSuitableFolder = (() => { + var _ref36 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths, mode = constants.W_OK | constants.X_OK) { + const result = { + skipped: [], + folder: null + }; + for (var _iterator16 = paths, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator]();;) { + var _ref37; -async function getAllChecksums(kbn, log) { - const projects = kbn.getAllProjects(); - const changesByProject = await getChangesForProjects(projects, kbn, log); - const yarnLock = await Object(_yarn_lock__WEBPACK_IMPORTED_MODULE_4__["readYarnLock"])(kbn); - /** map of [project.name, cacheKey] */ + if (_isArray16) { + if (_i16 >= _iterator16.length) break; + _ref37 = _iterator16[_i16++]; + } else { + _i16 = _iterator16.next(); + if (_i16.done) break; + _ref37 = _i16.value; + } - const cacheKeys = new Map(); - await Promise.all(Array.from(projects.values()).map(async project => { - cacheKeys.set(project.name, await getChecksum(project, changesByProject.get(project), yarnLock, kbn, log)); - })); - return cacheKeys; -} + const folder = _ref37; -/***/ }), -/* 290 */ -/***/ (function(module, exports) { + try { + yield mkdirp(folder); + yield access(folder, mode); -module.exports = require("crypto"); + result.folder = folder; -/***/ }), -/* 291 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { + return result; + } catch (error) { + result.skipped.push({ + error, + folder + }); + } + } + return result; + }); -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "readYarnLock", function() { return readYarnLock; }); -/* harmony import */ var _yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(292); -/* harmony import */ var _yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(130); -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -// @ts-ignore published types are worthless + return function getFirstSuitableFolder(_x35) { + return _ref36.apply(this, arguments); + }; +})(); +exports.copy = copy; +exports.readFile = readFile; +exports.readFileRaw = readFileRaw; +exports.normalizeOS = normalizeOS; -async function readYarnLock(kbn) { - try { - const contents = await Object(_utils_fs__WEBPACK_IMPORTED_MODULE_1__["readFile"])(kbn.getAbsolute('yarn.lock'), 'utf8'); - const yarnLock = Object(_yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__["parse"])(contents); +var _fs; - if (yarnLock.type === 'success') { - return yarnLock.object; - } +function _load_fs() { + return _fs = _interopRequireDefault(__webpack_require__(3)); +} - throw new Error('unable to read yarn.lock file, please run `yarn kbn bootstrap`'); - } catch (error) { - if (error.code !== 'ENOENT') { - throw error; - } - } +var _glob; - return {}; +function _load_glob() { + return _glob = _interopRequireDefault(__webpack_require__(75)); } -/***/ }), -/* 292 */ -/***/ (function(module, exports, __webpack_require__) { +var _os; -module.exports = -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 14); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { +function _load_os() { + return _os = _interopRequireDefault(__webpack_require__(36)); +} -module.exports = __webpack_require__(4); +var _path; -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { +function _load_path() { + return _path = _interopRequireDefault(__webpack_require__(0)); +} -"use strict"; +var _blockingQueue; +function _load_blockingQueue() { + return _blockingQueue = _interopRequireDefault(__webpack_require__(84)); +} -exports.__esModule = true; +var _promise; -var _promise = __webpack_require__(173); +function _load_promise() { + return _promise = _interopRequireWildcard(__webpack_require__(40)); +} -var _promise2 = _interopRequireDefault(_promise); +var _promise2; -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _load_promise2() { + return _promise2 = __webpack_require__(40); +} -exports.default = function (fn) { - return function () { - var gen = fn.apply(this, arguments); - return new _promise2.default(function (resolve, reject) { - function step(key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } +var _map; - if (info.done) { - resolve(value); - } else { - return _promise2.default.resolve(value).then(function (value) { - step("next", value); - }, function (err) { - step("throw", err); - }); - } - } +function _load_map() { + return _map = _interopRequireDefault(__webpack_require__(20)); +} - return step("next"); - }); - }; -}; +var _fsNormalized; -/***/ }), -/* 2 */ -/***/ (function(module, exports) { +function _load_fsNormalized() { + return _fsNormalized = __webpack_require__(164); +} -module.exports = __webpack_require__(111); +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } -/***/ }), -/* 3 */ -/***/ (function(module, exports) { +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -module.exports = __webpack_require__(133); +const constants = exports.constants = typeof (_fs || _load_fs()).default.constants !== 'undefined' ? (_fs || _load_fs()).default.constants : { + R_OK: (_fs || _load_fs()).default.R_OK, + W_OK: (_fs || _load_fs()).default.W_OK, + X_OK: (_fs || _load_fs()).default.X_OK +}; -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { +const lockQueue = exports.lockQueue = new (_blockingQueue || _load_blockingQueue()).default('fs lock'); -"use strict"; +const readFileBuffer = exports.readFileBuffer = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readFile); +const open = exports.open = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.open); +const writeFile = exports.writeFile = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.writeFile); +const readlink = exports.readlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readlink); +const realpath = exports.realpath = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.realpath); +const readdir = exports.readdir = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readdir); +const rename = exports.rename = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.rename); +const access = exports.access = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.access); +const stat = exports.stat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.stat); +const mkdirp = exports.mkdirp = (0, (_promise2 || _load_promise2()).promisify)(__webpack_require__(116)); +const exists = exports.exists = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.exists, true); +const lstat = exports.lstat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.lstat); +const chmod = exports.chmod = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.chmod); +const link = exports.link = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.link); +const glob = exports.glob = (0, (_promise2 || _load_promise2()).promisify)((_glob || _load_glob()).default); +exports.unlink = (_fsNormalized || _load_fsNormalized()).unlink; +// fs.copyFile uses the native file copying instructions on the system, performing much better +// than any JS-based solution and consumes fewer resources. Repeated testing to fine tune the +// concurrency level revealed 128 as the sweet spot on a quad-core, 16 CPU Intel system with SSD. -Object.defineProperty(exports, "__esModule", { - value: true -}); -class MessageError extends Error { - constructor(msg, code) { - super(msg); - this.code = code; - } +const CONCURRENT_QUEUE_ITEMS = (_fs || _load_fs()).default.copyFile ? 128 : 4; -} +const fsSymlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.symlink); +const invariant = __webpack_require__(7); +const stripBOM = __webpack_require__(122); -exports.MessageError = MessageError; -class ProcessSpawnError extends MessageError { - constructor(msg, code, process) { - super(msg, code); - this.process = process; - } +const noop = () => {}; +function copy(src, dest, reporter) { + return copyBulk([{ src, dest }], reporter); } -exports.ProcessSpawnError = ProcessSpawnError; -class SecurityError extends MessageError {} +function _readFile(loc, encoding) { + return new Promise((resolve, reject) => { + (_fs || _load_fs()).default.readFile(loc, encoding, function (err, content) { + if (err) { + reject(err); + } else { + resolve(content); + } + }); + }); +} -exports.SecurityError = SecurityError; -class ProcessTermError extends MessageError {} +function readFile(loc) { + return _readFile(loc, 'utf8').then(normalizeOS); +} -exports.ProcessTermError = ProcessTermError; -class ResponseError extends Error { - constructor(msg, responseCode) { - super(msg); - this.responseCode = responseCode; - } +function readFileRaw(loc) { + return _readFile(loc, 'binary'); +} +function normalizeOS(body) { + return body.replace(/\r\n/g, '\n'); } -exports.ResponseError = ResponseError; + +const cr = '\r'.charCodeAt(0); +const lf = '\n'.charCodeAt(0); /***/ }), -/* 5 */ +/* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -30863,1181 +30528,867 @@ exports.ResponseError = ResponseError; Object.defineProperty(exports, "__esModule", { value: true }); -exports.getFirstSuitableFolder = exports.readFirstAvailableStream = exports.makeTempDir = exports.hardlinksWork = exports.writeFilePreservingEol = exports.getFileSizeOnDisk = exports.walk = exports.symlink = exports.find = exports.readJsonAndFile = exports.readJson = exports.readFileAny = exports.hardlinkBulk = exports.copyBulk = exports.unlink = exports.glob = exports.link = exports.chmod = exports.lstat = exports.exists = exports.mkdirp = exports.stat = exports.access = exports.rename = exports.readdir = exports.realpath = exports.readlink = exports.writeFile = exports.open = exports.readFileBuffer = exports.lockQueue = exports.constants = undefined; +exports.getPathKey = getPathKey; +const os = __webpack_require__(36); +const path = __webpack_require__(0); +const userHome = __webpack_require__(45).default; -var _asyncToGenerator2; +var _require = __webpack_require__(171); -function _load_asyncToGenerator() { - return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1)); -} +const getCacheDir = _require.getCacheDir, + getConfigDir = _require.getConfigDir, + getDataDir = _require.getDataDir; -let buildActionsForCopy = (() => { - var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) { +const isWebpackBundle = __webpack_require__(227); - // - let build = (() => { - var _ref5 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - const src = data.src, - dest = data.dest, - type = data.type; +const DEPENDENCY_TYPES = exports.DEPENDENCY_TYPES = ['devDependencies', 'dependencies', 'optionalDependencies', 'peerDependencies']; +const RESOLUTIONS = exports.RESOLUTIONS = 'resolutions'; +const MANIFEST_FIELDS = exports.MANIFEST_FIELDS = [RESOLUTIONS, ...DEPENDENCY_TYPES]; - const onFresh = data.onFresh || noop; - const onDone = data.onDone || noop; +const SUPPORTED_NODE_VERSIONS = exports.SUPPORTED_NODE_VERSIONS = '^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0'; - // TODO https://github.com/yarnpkg/yarn/issues/3751 - // related to bundled dependencies handling - if (files.has(dest.toLowerCase())) { - reporter.verbose(`The case-insensitive file ${dest} shouldn't be copied twice in one bulk copy`); - } else { - files.add(dest.toLowerCase()); - } +const YARN_REGISTRY = exports.YARN_REGISTRY = 'https://registry.yarnpkg.com'; - if (type === 'symlink') { - yield mkdirp((_path || _load_path()).default.dirname(dest)); - onFresh(); - actions.symlink.push({ - dest, - linkname: src - }); - onDone(); - return; - } +const YARN_DOCS = exports.YARN_DOCS = 'https://yarnpkg.com/en/docs/cli/'; +const YARN_INSTALLER_SH = exports.YARN_INSTALLER_SH = 'https://yarnpkg.com/install.sh'; +const YARN_INSTALLER_MSI = exports.YARN_INSTALLER_MSI = 'https://yarnpkg.com/latest.msi'; - if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) { - // ignored file - return; - } +const SELF_UPDATE_VERSION_URL = exports.SELF_UPDATE_VERSION_URL = 'https://yarnpkg.com/latest-version'; - const srcStat = yield lstat(src); - let srcFiles; +// cache version, bump whenever we make backwards incompatible changes +const CACHE_VERSION = exports.CACHE_VERSION = 2; - if (srcStat.isDirectory()) { - srcFiles = yield readdir(src); - } +// lockfile version, bump whenever we make backwards incompatible changes +const LOCKFILE_VERSION = exports.LOCKFILE_VERSION = 1; - let destStat; - try { - // try accessing the destination - destStat = yield lstat(dest); - } catch (e) { - // proceed if destination doesn't exist, otherwise error - if (e.code !== 'ENOENT') { - throw e; - } - } +// max amount of network requests to perform concurrently +const NETWORK_CONCURRENCY = exports.NETWORK_CONCURRENCY = 8; - // if destination exists - if (destStat) { - const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink(); - const bothFolders = srcStat.isDirectory() && destStat.isDirectory(); - const bothFiles = srcStat.isFile() && destStat.isFile(); +// HTTP timeout used when downloading packages +const NETWORK_TIMEOUT = exports.NETWORK_TIMEOUT = 30 * 1000; // in milliseconds - // EINVAL access errors sometimes happen which shouldn't because node shouldn't be giving - // us modes that aren't valid. investigate this, it's generally safe to proceed. +// max amount of child processes to execute concurrently +const CHILD_CONCURRENCY = exports.CHILD_CONCURRENCY = 5; - /* if (srcStat.mode !== destStat.mode) { - try { - await access(dest, srcStat.mode); - } catch (err) {} - } */ +const REQUIRED_PACKAGE_KEYS = exports.REQUIRED_PACKAGE_KEYS = ['name', 'version', '_uid']; - if (bothFiles && artifactFiles.has(dest)) { - // this file gets changed during build, likely by a custom install script. Don't bother checking it. - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipArtifact', src)); - return; - } +function getPreferredCacheDirectories() { + const preferredCacheDirectories = [getCacheDir()]; - if (bothFiles && srcStat.size === destStat.size && (0, (_fsNormalized || _load_fsNormalized()).fileDatesEqual)(srcStat.mtime, destStat.mtime)) { - // we can safely assume this is the same file - onDone(); - reporter.verbose(reporter.lang('verboseFileSkip', src, dest, srcStat.size, +srcStat.mtime)); - return; - } + if (process.getuid) { + // $FlowFixMe: process.getuid exists, dammit + preferredCacheDirectories.push(path.join(os.tmpdir(), `.yarn-cache-${process.getuid()}`)); + } - if (bothSymlinks) { - const srcReallink = yield readlink(src); - if (srcReallink === (yield readlink(dest))) { - // if both symlinks are the same then we can continue on - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipSymlink', src, dest, srcReallink)); - return; - } - } + preferredCacheDirectories.push(path.join(os.tmpdir(), `.yarn-cache`)); - if (bothFolders) { - // mark files that aren't in this folder as possibly extraneous - const destFiles = yield readdir(dest); - invariant(srcFiles, 'src files not initialised'); + return preferredCacheDirectories; +} - for (var _iterator4 = destFiles, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { - var _ref6; +const PREFERRED_MODULE_CACHE_DIRECTORIES = exports.PREFERRED_MODULE_CACHE_DIRECTORIES = getPreferredCacheDirectories(); +const CONFIG_DIRECTORY = exports.CONFIG_DIRECTORY = getConfigDir(); +const DATA_DIRECTORY = exports.DATA_DIRECTORY = getDataDir(); +const LINK_REGISTRY_DIRECTORY = exports.LINK_REGISTRY_DIRECTORY = path.join(DATA_DIRECTORY, 'link'); +const GLOBAL_MODULE_DIRECTORY = exports.GLOBAL_MODULE_DIRECTORY = path.join(DATA_DIRECTORY, 'global'); - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref6 = _iterator4[_i4++]; - } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref6 = _i4.value; - } +const NODE_BIN_PATH = exports.NODE_BIN_PATH = process.execPath; +const YARN_BIN_PATH = exports.YARN_BIN_PATH = getYarnBinPath(); - const file = _ref6; +// Webpack needs to be configured with node.__dirname/__filename = false +function getYarnBinPath() { + if (isWebpackBundle) { + return __filename; + } else { + return path.join(__dirname, '..', 'bin', 'yarn.js'); + } +} - if (srcFiles.indexOf(file) < 0) { - const loc = (_path || _load_path()).default.join(dest, file); - possibleExtraneous.add(loc); +const NODE_MODULES_FOLDER = exports.NODE_MODULES_FOLDER = 'node_modules'; +const NODE_PACKAGE_JSON = exports.NODE_PACKAGE_JSON = 'package.json'; - if ((yield lstat(loc)).isDirectory()) { - for (var _iterator5 = yield readdir(loc), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { - var _ref7; +const POSIX_GLOBAL_PREFIX = exports.POSIX_GLOBAL_PREFIX = `${process.env.DESTDIR || ''}/usr/local`; +const FALLBACK_GLOBAL_PREFIX = exports.FALLBACK_GLOBAL_PREFIX = path.join(userHome, '.yarn'); - if (_isArray5) { - if (_i5 >= _iterator5.length) break; - _ref7 = _iterator5[_i5++]; - } else { - _i5 = _iterator5.next(); - if (_i5.done) break; - _ref7 = _i5.value; - } +const META_FOLDER = exports.META_FOLDER = '.yarn-meta'; +const INTEGRITY_FILENAME = exports.INTEGRITY_FILENAME = '.yarn-integrity'; +const LOCKFILE_FILENAME = exports.LOCKFILE_FILENAME = 'yarn.lock'; +const METADATA_FILENAME = exports.METADATA_FILENAME = '.yarn-metadata.json'; +const TARBALL_FILENAME = exports.TARBALL_FILENAME = '.yarn-tarball.tgz'; +const CLEAN_FILENAME = exports.CLEAN_FILENAME = '.yarnclean'; - const file = _ref7; +const NPM_LOCK_FILENAME = exports.NPM_LOCK_FILENAME = 'package-lock.json'; +const NPM_SHRINKWRAP_FILENAME = exports.NPM_SHRINKWRAP_FILENAME = 'npm-shrinkwrap.json'; - possibleExtraneous.add((_path || _load_path()).default.join(loc, file)); - } - } - } - } - } - } +const DEFAULT_INDENT = exports.DEFAULT_INDENT = ' '; +const SINGLE_INSTANCE_PORT = exports.SINGLE_INSTANCE_PORT = 31997; +const SINGLE_INSTANCE_FILENAME = exports.SINGLE_INSTANCE_FILENAME = '.yarn-single-instance'; - if (destStat && destStat.isSymbolicLink()) { - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest); - destStat = null; - } +const ENV_PATH_KEY = exports.ENV_PATH_KEY = getPathKey(process.platform, process.env); - if (srcStat.isSymbolicLink()) { - onFresh(); - const linkname = yield readlink(src); - actions.symlink.push({ - dest, - linkname - }); - onDone(); - } else if (srcStat.isDirectory()) { - if (!destStat) { - reporter.verbose(reporter.lang('verboseFileFolder', dest)); - yield mkdirp(dest); - } +function getPathKey(platform, env) { + let pathKey = 'PATH'; - const destParts = dest.split((_path || _load_path()).default.sep); - while (destParts.length) { - files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase()); - destParts.pop(); - } - - // push all files to queue - invariant(srcFiles, 'src files not initialised'); - let remaining = srcFiles.length; - if (!remaining) { - onDone(); - } - for (var _iterator6 = srcFiles, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { - var _ref8; - - if (_isArray6) { - if (_i6 >= _iterator6.length) break; - _ref8 = _iterator6[_i6++]; - } else { - _i6 = _iterator6.next(); - if (_i6.done) break; - _ref8 = _i6.value; - } + // windows calls its path "Path" usually, but this is not guaranteed. + if (platform === 'win32') { + pathKey = 'Path'; - const file = _ref8; + for (const key in env) { + if (key.toLowerCase() === 'path') { + pathKey = key; + } + } + } - queue.push({ - dest: (_path || _load_path()).default.join(dest, file), - onFresh, - onDone: function (_onDone) { - function onDone() { - return _onDone.apply(this, arguments); - } + return pathKey; +} - onDone.toString = function () { - return _onDone.toString(); - }; +const VERSION_COLOR_SCHEME = exports.VERSION_COLOR_SCHEME = { + major: 'red', + premajor: 'red', + minor: 'yellow', + preminor: 'yellow', + patch: 'green', + prepatch: 'green', + prerelease: 'red', + unchanged: 'white', + unknown: 'red' +}; - return onDone; - }(function () { - if (--remaining === 0) { - onDone(); - } - }), - src: (_path || _load_path()).default.join(src, file) - }); - } - } else if (srcStat.isFile()) { - onFresh(); - actions.file.push({ - src, - dest, - atime: srcStat.atime, - mtime: srcStat.mtime, - mode: srcStat.mode - }); - onDone(); - } else { - throw new Error(`unsure how to copy this: ${src}`); - } - }); +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { - return function build(_x5) { - return _ref5.apply(this, arguments); - }; - })(); +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ - const artifactFiles = new Set(events.artifactFiles || []); - const files = new Set(); - // initialise events - for (var _iterator = queue, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref2; - if (_isArray) { - if (_i >= _iterator.length) break; - _ref2 = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref2 = _i.value; - } +/** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ - const item = _ref2; +var NODE_ENV = "none"; - const onDone = item.onDone; - item.onDone = function () { - events.onProgress(item.dest); - if (onDone) { - onDone(); - } - }; +var invariant = function(condition, format, a, b, c, d, e, f) { + if (NODE_ENV !== 'production') { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); } - events.onStart(queue.length); - - // start building actions - const actions = { - file: [], - symlink: [], - link: [] - }; + } - // custom concurrency logic as we're always executing stacks of CONCURRENT_QUEUE_ITEMS queue items - // at a time due to the requirement to push items onto the queue - while (queue.length) { - const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS); - yield Promise.all(items.map(build)); + if (!condition) { + var error; + if (format === undefined) { + error = new Error( + 'Minified exception occurred; use the non-minified dev environment ' + + 'for the full error message and additional helpful warnings.' + ); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error( + format.replace(/%s/g, function() { return args[argIndex++]; }) + ); + error.name = 'Invariant Violation'; } - // simulate the existence of some files to prevent considering them extraneous - for (var _iterator2 = artifactFiles, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref3; + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } +}; - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref3 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref3 = _i2.value; - } +module.exports = invariant; - const file = _ref3; - if (possibleExtraneous.has(file)) { - reporter.verbose(reporter.lang('verboseFilePhantomExtraneous', file)); - possibleExtraneous.delete(file); - } - } +/***/ }), +/* 8 */, +/* 9 */ +/***/ (function(module, exports) { - for (var _iterator3 = possibleExtraneous, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref4; +module.exports = __webpack_require__(282); - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref4 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref4 = _i3.value; - } +/***/ }), +/* 10 */, +/* 11 */ +/***/ (function(module, exports) { - const loc = _ref4; +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef - if (files.has(loc.toLowerCase())) { - possibleExtraneous.delete(loc); - } - } - return actions; - }); +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { - return function buildActionsForCopy(_x, _x2, _x3, _x4) { - return _ref.apply(this, arguments); - }; -})(); +"use strict"; -let buildActionsForHardlink = (() => { - var _ref9 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) { - // - let build = (() => { - var _ref13 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - const src = data.src, - dest = data.dest; +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.sortAlpha = sortAlpha; +exports.entries = entries; +exports.removePrefix = removePrefix; +exports.removeSuffix = removeSuffix; +exports.addSuffix = addSuffix; +exports.hyphenate = hyphenate; +exports.camelCase = camelCase; +exports.compareSortedArrays = compareSortedArrays; +exports.sleep = sleep; +const _camelCase = __webpack_require__(176); - const onFresh = data.onFresh || noop; - const onDone = data.onDone || noop; - if (files.has(dest.toLowerCase())) { - // Fixes issue https://github.com/yarnpkg/yarn/issues/2734 - // When bulk hardlinking we have A -> B structure that we want to hardlink to A1 -> B1, - // package-linker passes that modules A1 and B1 need to be hardlinked, - // the recursive linking algorithm of A1 ends up scheduling files in B1 to be linked twice which will case - // an exception. - onDone(); - return; - } - files.add(dest.toLowerCase()); +function sortAlpha(a, b) { + // sort alphabetically in a deterministic way + const shortLen = Math.min(a.length, b.length); + for (let i = 0; i < shortLen; i++) { + const aChar = a.charCodeAt(i); + const bChar = b.charCodeAt(i); + if (aChar !== bChar) { + return aChar - bChar; + } + } + return a.length - b.length; +} - if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) { - // ignored file - return; - } +function entries(obj) { + const entries = []; + if (obj) { + for (const key in obj) { + entries.push([key, obj[key]]); + } + } + return entries; +} - const srcStat = yield lstat(src); - let srcFiles; +function removePrefix(pattern, prefix) { + if (pattern.startsWith(prefix)) { + pattern = pattern.slice(prefix.length); + } - if (srcStat.isDirectory()) { - srcFiles = yield readdir(src); - } + return pattern; +} - const destExists = yield exists(dest); - if (destExists) { - const destStat = yield lstat(dest); +function removeSuffix(pattern, suffix) { + if (pattern.endsWith(suffix)) { + return pattern.slice(0, -suffix.length); + } - const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink(); - const bothFolders = srcStat.isDirectory() && destStat.isDirectory(); - const bothFiles = srcStat.isFile() && destStat.isFile(); + return pattern; +} - if (srcStat.mode !== destStat.mode) { - try { - yield access(dest, srcStat.mode); - } catch (err) { - // EINVAL access errors sometimes happen which shouldn't because node shouldn't be giving - // us modes that aren't valid. investigate this, it's generally safe to proceed. - reporter.verbose(err); - } - } +function addSuffix(pattern, suffix) { + if (!pattern.endsWith(suffix)) { + return pattern + suffix; + } - if (bothFiles && artifactFiles.has(dest)) { - // this file gets changed during build, likely by a custom install script. Don't bother checking it. - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipArtifact', src)); - return; - } + return pattern; +} - // correct hardlink - if (bothFiles && srcStat.ino !== null && srcStat.ino === destStat.ino) { - onDone(); - reporter.verbose(reporter.lang('verboseFileSkip', src, dest, srcStat.ino)); - return; - } +function hyphenate(str) { + return str.replace(/[A-Z]/g, match => { + return '-' + match.charAt(0).toLowerCase(); + }); +} - if (bothSymlinks) { - const srcReallink = yield readlink(src); - if (srcReallink === (yield readlink(dest))) { - // if both symlinks are the same then we can continue on - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipSymlink', src, dest, srcReallink)); - return; - } - } +function camelCase(str) { + if (/[A-Z]/.test(str)) { + return null; + } else { + return _camelCase(str); + } +} - if (bothFolders) { - // mark files that aren't in this folder as possibly extraneous - const destFiles = yield readdir(dest); - invariant(srcFiles, 'src files not initialised'); +function compareSortedArrays(array1, array2) { + if (array1.length !== array2.length) { + return false; + } + for (let i = 0, len = array1.length; i < len; i++) { + if (array1[i] !== array2[i]) { + return false; + } + } + return true; +} - for (var _iterator10 = destFiles, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) { - var _ref14; +function sleep(ms) { + return new Promise(resolve => { + setTimeout(resolve, ms); + }); +} - if (_isArray10) { - if (_i10 >= _iterator10.length) break; - _ref14 = _iterator10[_i10++]; - } else { - _i10 = _iterator10.next(); - if (_i10.done) break; - _ref14 = _i10.value; - } +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { - const file = _ref14; +var store = __webpack_require__(107)('wks'); +var uid = __webpack_require__(111); +var Symbol = __webpack_require__(11).Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; - if (srcFiles.indexOf(file) < 0) { - const loc = (_path || _load_path()).default.join(dest, file); - possibleExtraneous.add(loc); +var $exports = module.exports = function (name) { + return store[name] || (store[name] = + USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; - if ((yield lstat(loc)).isDirectory()) { - for (var _iterator11 = yield readdir(loc), _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) { - var _ref15; +$exports.store = store; - if (_isArray11) { - if (_i11 >= _iterator11.length) break; - _ref15 = _iterator11[_i11++]; - } else { - _i11 = _iterator11.next(); - if (_i11.done) break; - _ref15 = _i11.value; - } - const file = _ref15; +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { - possibleExtraneous.add((_path || _load_path()).default.join(loc, file)); - } - } - } - } - } - } +"use strict"; - if (srcStat.isSymbolicLink()) { - onFresh(); - const linkname = yield readlink(src); - actions.symlink.push({ - dest, - linkname - }); - onDone(); - } else if (srcStat.isDirectory()) { - reporter.verbose(reporter.lang('verboseFileFolder', dest)); - yield mkdirp(dest); - const destParts = dest.split((_path || _load_path()).default.sep); - while (destParts.length) { - files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase()); - destParts.pop(); - } +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.stringify = exports.parse = undefined; - // push all files to queue - invariant(srcFiles, 'src files not initialised'); - let remaining = srcFiles.length; - if (!remaining) { - onDone(); - } - for (var _iterator12 = srcFiles, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) { - var _ref16; +var _asyncToGenerator2; - if (_isArray12) { - if (_i12 >= _iterator12.length) break; - _ref16 = _iterator12[_i12++]; - } else { - _i12 = _iterator12.next(); - if (_i12.done) break; - _ref16 = _i12.value; - } +function _load_asyncToGenerator() { + return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1)); +} - const file = _ref16; +var _parse; - queue.push({ - onFresh, - src: (_path || _load_path()).default.join(src, file), - dest: (_path || _load_path()).default.join(dest, file), - onDone: function (_onDone2) { - function onDone() { - return _onDone2.apply(this, arguments); - } +function _load_parse() { + return _parse = __webpack_require__(81); +} - onDone.toString = function () { - return _onDone2.toString(); - }; +Object.defineProperty(exports, 'parse', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_parse || _load_parse()).default; + } +}); - return onDone; - }(function () { - if (--remaining === 0) { - onDone(); - } - }) - }); - } - } else if (srcStat.isFile()) { - onFresh(); - actions.link.push({ - src, - dest, - removeDest: destExists - }); - onDone(); - } else { - throw new Error(`unsure how to copy this: ${src}`); - } - }); +var _stringify; - return function build(_x10) { - return _ref13.apply(this, arguments); - }; - })(); +function _load_stringify() { + return _stringify = __webpack_require__(150); +} - const artifactFiles = new Set(events.artifactFiles || []); - const files = new Set(); +Object.defineProperty(exports, 'stringify', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_stringify || _load_stringify()).default; + } +}); +exports.implodeEntry = implodeEntry; +exports.explodeEntry = explodeEntry; - // initialise events - for (var _iterator7 = queue, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { - var _ref10; - - if (_isArray7) { - if (_i7 >= _iterator7.length) break; - _ref10 = _iterator7[_i7++]; - } else { - _i7 = _iterator7.next(); - if (_i7.done) break; - _ref10 = _i7.value; - } - - const item = _ref10; - - const onDone = item.onDone || noop; - item.onDone = function () { - events.onProgress(item.dest); - onDone(); - }; - } - events.onStart(queue.length); +var _misc; - // start building actions - const actions = { - file: [], - symlink: [], - link: [] - }; +function _load_misc() { + return _misc = __webpack_require__(12); +} - // custom concurrency logic as we're always executing stacks of CONCURRENT_QUEUE_ITEMS queue items - // at a time due to the requirement to push items onto the queue - while (queue.length) { - const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS); - yield Promise.all(items.map(build)); - } +var _normalizePattern; - // simulate the existence of some files to prevent considering them extraneous - for (var _iterator8 = artifactFiles, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { - var _ref11; +function _load_normalizePattern() { + return _normalizePattern = __webpack_require__(29); +} - if (_isArray8) { - if (_i8 >= _iterator8.length) break; - _ref11 = _iterator8[_i8++]; - } else { - _i8 = _iterator8.next(); - if (_i8.done) break; - _ref11 = _i8.value; - } +var _parse2; - const file = _ref11; +function _load_parse2() { + return _parse2 = _interopRequireDefault(__webpack_require__(81)); +} - if (possibleExtraneous.has(file)) { - reporter.verbose(reporter.lang('verboseFilePhantomExtraneous', file)); - possibleExtraneous.delete(file); - } - } +var _constants; - for (var _iterator9 = possibleExtraneous, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { - var _ref12; +function _load_constants() { + return _constants = __webpack_require__(6); +} - if (_isArray9) { - if (_i9 >= _iterator9.length) break; - _ref12 = _iterator9[_i9++]; - } else { - _i9 = _iterator9.next(); - if (_i9.done) break; - _ref12 = _i9.value; - } +var _fs; - const loc = _ref12; +function _load_fs() { + return _fs = _interopRequireWildcard(__webpack_require__(5)); +} - if (files.has(loc.toLowerCase())) { - possibleExtraneous.delete(loc); - } - } +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - return actions; - }); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - return function buildActionsForHardlink(_x6, _x7, _x8, _x9) { - return _ref9.apply(this, arguments); - }; -})(); +const invariant = __webpack_require__(7); -let copyBulk = exports.copyBulk = (() => { - var _ref17 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) { - const events = { - onStart: _events && _events.onStart || noop, - onProgress: _events && _events.onProgress || noop, - possibleExtraneous: _events ? _events.possibleExtraneous : new Set(), - ignoreBasenames: _events && _events.ignoreBasenames || [], - artifactFiles: _events && _events.artifactFiles || [] - }; +const path = __webpack_require__(0); +const ssri = __webpack_require__(55); - const actions = yield buildActionsForCopy(queue, events, events.possibleExtraneous, reporter); - events.onStart(actions.file.length + actions.symlink.length + actions.link.length); +function getName(pattern) { + return (0, (_normalizePattern || _load_normalizePattern()).normalizePattern)(pattern).name; +} - const fileActions = actions.file; +function blankObjectUndefined(obj) { + return obj && Object.keys(obj).length ? obj : undefined; +} - const currentlyWriting = new Map(); +function keyForRemote(remote) { + return remote.resolved || (remote.reference && remote.hash ? `${remote.reference}#${remote.hash}` : null); +} - yield (_promise || _load_promise()).queue(fileActions, (() => { - var _ref18 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - let writePromise; - while (writePromise = currentlyWriting.get(data.dest)) { - yield writePromise; - } +function serializeIntegrity(integrity) { + // We need this because `Integrity.toString()` does not use sorting to ensure a stable string output + // See https://git.io/vx2Hy + return integrity.toString().split(' ').sort().join(' '); +} - reporter.verbose(reporter.lang('verboseFileCopy', data.src, data.dest)); - const copier = (0, (_fsNormalized || _load_fsNormalized()).copyFile)(data, function () { - return currentlyWriting.delete(data.dest); - }); - currentlyWriting.set(data.dest, copier); - events.onProgress(data.dest); - return copier; - }); +function implodeEntry(pattern, obj) { + const inferredName = getName(pattern); + const integrity = obj.integrity ? serializeIntegrity(obj.integrity) : ''; + const imploded = { + name: inferredName === obj.name ? undefined : obj.name, + version: obj.version, + uid: obj.uid === obj.version ? undefined : obj.uid, + resolved: obj.resolved, + registry: obj.registry === 'npm' ? undefined : obj.registry, + dependencies: blankObjectUndefined(obj.dependencies), + optionalDependencies: blankObjectUndefined(obj.optionalDependencies), + permissions: blankObjectUndefined(obj.permissions), + prebuiltVariants: blankObjectUndefined(obj.prebuiltVariants) + }; + if (integrity) { + imploded.integrity = integrity; + } + return imploded; +} - return function (_x14) { - return _ref18.apply(this, arguments); - }; - })(), CONCURRENT_QUEUE_ITEMS); +function explodeEntry(pattern, obj) { + obj.optionalDependencies = obj.optionalDependencies || {}; + obj.dependencies = obj.dependencies || {}; + obj.uid = obj.uid || obj.version; + obj.permissions = obj.permissions || {}; + obj.registry = obj.registry || 'npm'; + obj.name = obj.name || getName(pattern); + const integrity = obj.integrity; + if (integrity && integrity.isIntegrity) { + obj.integrity = ssri.parse(integrity); + } + return obj; +} - // we need to copy symlinks last as they could reference files we were copying - const symlinkActions = actions.symlink; - yield (_promise || _load_promise()).queue(symlinkActions, function (data) { - const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname); - reporter.verbose(reporter.lang('verboseFileSymlink', data.dest, linkname)); - return symlink(linkname, data.dest); - }); - }); +class Lockfile { + constructor({ cache, source, parseResultType } = {}) { + this.source = source || ''; + this.cache = cache; + this.parseResultType = parseResultType; + } - return function copyBulk(_x11, _x12, _x13) { - return _ref17.apply(this, arguments); - }; -})(); + // source string if the `cache` was parsed -let hardlinkBulk = exports.hardlinkBulk = (() => { - var _ref19 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) { - const events = { - onStart: _events && _events.onStart || noop, - onProgress: _events && _events.onProgress || noop, - possibleExtraneous: _events ? _events.possibleExtraneous : new Set(), - artifactFiles: _events && _events.artifactFiles || [], - ignoreBasenames: [] - }; - const actions = yield buildActionsForHardlink(queue, events, events.possibleExtraneous, reporter); - events.onStart(actions.file.length + actions.symlink.length + actions.link.length); + // if true, we're parsing an old yarn file and need to update integrity fields + hasEntriesExistWithoutIntegrity() { + if (!this.cache) { + return false; + } - const fileActions = actions.link; + for (const key in this.cache) { + // $FlowFixMe - `this.cache` is clearly defined at this point + if (!/^.*@(file:|http)/.test(key) && this.cache[key] && !this.cache[key].integrity) { + return true; + } + } - yield (_promise || _load_promise()).queue(fileActions, (() => { - var _ref20 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - reporter.verbose(reporter.lang('verboseFileLink', data.src, data.dest)); - if (data.removeDest) { - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(data.dest); - } - yield link(data.src, data.dest); - }); + return false; + } - return function (_x18) { - return _ref20.apply(this, arguments); - }; - })(), CONCURRENT_QUEUE_ITEMS); + static fromDirectory(dir, reporter) { + return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { + // read the manifest in this directory + const lockfileLoc = path.join(dir, (_constants || _load_constants()).LOCKFILE_FILENAME); - // we need to copy symlinks last as they could reference files we were copying - const symlinkActions = actions.symlink; - yield (_promise || _load_promise()).queue(symlinkActions, function (data) { - const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname); - reporter.verbose(reporter.lang('verboseFileSymlink', data.dest, linkname)); - return symlink(linkname, data.dest); - }); - }); + let lockfile; + let rawLockfile = ''; + let parseResult; - return function hardlinkBulk(_x15, _x16, _x17) { - return _ref19.apply(this, arguments); - }; -})(); + if (yield (_fs || _load_fs()).exists(lockfileLoc)) { + rawLockfile = yield (_fs || _load_fs()).readFile(lockfileLoc); + parseResult = (0, (_parse2 || _load_parse2()).default)(rawLockfile, lockfileLoc); -let readFileAny = exports.readFileAny = (() => { - var _ref21 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (files) { - for (var _iterator13 = files, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) { - var _ref22; + if (reporter) { + if (parseResult.type === 'merge') { + reporter.info(reporter.lang('lockfileMerged')); + } else if (parseResult.type === 'conflict') { + reporter.warn(reporter.lang('lockfileConflict')); + } + } - if (_isArray13) { - if (_i13 >= _iterator13.length) break; - _ref22 = _iterator13[_i13++]; - } else { - _i13 = _iterator13.next(); - if (_i13.done) break; - _ref22 = _i13.value; + lockfile = parseResult.object; + } else if (reporter) { + reporter.info(reporter.lang('noLockfileFound')); } - const file = _ref22; + return new Lockfile({ cache: lockfile, source: rawLockfile, parseResultType: parseResult && parseResult.type }); + })(); + } - if (yield exists(file)) { - return readFile(file); - } + getLocked(pattern) { + const cache = this.cache; + if (!cache) { + return undefined; } - return null; - }); - return function readFileAny(_x19) { - return _ref21.apply(this, arguments); - }; -})(); + const shrunk = pattern in cache && cache[pattern]; -let readJson = exports.readJson = (() => { - var _ref23 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { - return (yield readJsonAndFile(loc)).object; - }); + if (typeof shrunk === 'string') { + return this.getLocked(shrunk); + } else if (shrunk) { + explodeEntry(pattern, shrunk); + return shrunk; + } - return function readJson(_x20) { - return _ref23.apply(this, arguments); - }; -})(); + return undefined; + } -let readJsonAndFile = exports.readJsonAndFile = (() => { - var _ref24 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { - const file = yield readFile(loc); - try { - return { - object: (0, (_map || _load_map()).default)(JSON.parse(stripBOM(file))), - content: file - }; - } catch (err) { - err.message = `${loc}: ${err.message}`; - throw err; + removePattern(pattern) { + const cache = this.cache; + if (!cache) { + return; } - }); + delete cache[pattern]; + } - return function readJsonAndFile(_x21) { - return _ref24.apply(this, arguments); - }; -})(); + getLockfile(patterns) { + const lockfile = {}; + const seen = new Map(); -let find = exports.find = (() => { - var _ref25 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (filename, dir) { - const parts = dir.split((_path || _load_path()).default.sep); + // order by name so that lockfile manifest is assigned to the first dependency with this manifest + // the others that have the same remoteKey will just refer to the first + // ordering allows for consistency in lockfile when it is serialized + const sortedPatternsKeys = Object.keys(patterns).sort((_misc || _load_misc()).sortAlpha); - while (parts.length) { - const loc = parts.concat(filename).join((_path || _load_path()).default.sep); + for (var _iterator = sortedPatternsKeys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { + var _ref; - if (yield exists(loc)) { - return loc; + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; } else { - parts.pop(); + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; } - } - return false; - }); + const pattern = _ref; - return function find(_x22, _x23) { - return _ref25.apply(this, arguments); - }; -})(); + const pkg = patterns[pattern]; + const remote = pkg._remote, + ref = pkg._reference; -let symlink = exports.symlink = (() => { - var _ref26 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src, dest) { - try { - const stats = yield lstat(dest); - if (stats.isSymbolicLink()) { - const resolved = yield realpath(dest); - if (resolved === src) { - return; + invariant(ref, 'Package is missing a reference'); + invariant(remote, 'Package is missing a remote'); + + const remoteKey = keyForRemote(remote); + const seenPattern = remoteKey && seen.get(remoteKey); + if (seenPattern) { + // no point in duplicating it + lockfile[pattern] = seenPattern; + + // if we're relying on our name being inferred and two of the patterns have + // different inferred names then we need to set it + if (!seenPattern.name && getName(pattern) !== pkg.name) { + seenPattern.name = pkg.name; } + continue; } - } catch (err) { - if (err.code !== 'ENOENT') { - throw err; - } - } - // We use rimraf for unlink which never throws an ENOENT on missing target - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest); + const obj = implodeEntry(pattern, { + name: pkg.name, + version: pkg.version, + uid: pkg._uid, + resolved: remote.resolved, + integrity: remote.integrity, + registry: remote.registry, + dependencies: pkg.dependencies, + peerDependencies: pkg.peerDependencies, + optionalDependencies: pkg.optionalDependencies, + permissions: ref.permissions, + prebuiltVariants: pkg.prebuiltVariants + }); - if (process.platform === 'win32') { - // use directory junctions if possible on win32, this requires absolute paths - yield fsSymlink(src, dest, 'junction'); - } else { - // use relative paths otherwise which will be retained if the directory is moved - let relative; - try { - relative = (_path || _load_path()).default.relative((_fs || _load_fs()).default.realpathSync((_path || _load_path()).default.dirname(dest)), (_fs || _load_fs()).default.realpathSync(src)); - } catch (err) { - if (err.code !== 'ENOENT') { - throw err; - } - relative = (_path || _load_path()).default.relative((_path || _load_path()).default.dirname(dest), src); + lockfile[pattern] = obj; + + if (remoteKey) { + seen.set(remoteKey, obj); } - // When path.relative returns an empty string for the current directory, we should instead use - // '.', which is a valid fs.symlink target. - yield fsSymlink(relative || '.', dest); } - }); - return function symlink(_x24, _x25) { - return _ref26.apply(this, arguments); - }; -})(); + return lockfile; + } +} +exports.default = Lockfile; -let walk = exports.walk = (() => { - var _ref27 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir, relativeDir, ignoreBasenames = new Set()) { - let files = []; +/***/ }), +/* 15 */, +/* 16 */, +/* 17 */ +/***/ (function(module, exports) { - let filenames = yield readdir(dir); - if (ignoreBasenames.size) { - filenames = filenames.filter(function (name) { - return !ignoreBasenames.has(name); - }); - } +module.exports = __webpack_require__(137); - for (var _iterator14 = filenames, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) { - var _ref28; +/***/ }), +/* 18 */, +/* 19 */, +/* 20 */ +/***/ (function(module, exports, __webpack_require__) { - if (_isArray14) { - if (_i14 >= _iterator14.length) break; - _ref28 = _iterator14[_i14++]; +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = nullify; +function nullify(obj = {}) { + if (Array.isArray(obj)) { + for (var _iterator = obj, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; } else { - _i14 = _iterator14.next(); - if (_i14.done) break; - _ref28 = _i14.value; + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; } - const name = _ref28; - - const relative = relativeDir ? (_path || _load_path()).default.join(relativeDir, name) : name; - const loc = (_path || _load_path()).default.join(dir, name); - const stat = yield lstat(loc); + const item = _ref; - files.push({ - relative, - basename: name, - absolute: loc, - mtime: +stat.mtime - }); + nullify(item); + } + } else if (obj !== null && typeof obj === 'object' || typeof obj === 'function') { + Object.setPrototypeOf(obj, null); - if (stat.isDirectory()) { - files = files.concat((yield walk(loc, relative, ignoreBasenames))); + // for..in can only be applied to 'object', not 'function' + if (typeof obj === 'object') { + for (const key in obj) { + nullify(obj[key]); } } + } - return files; - }); - - return function walk(_x26, _x27) { - return _ref27.apply(this, arguments); - }; -})(); + return obj; +} -let getFileSizeOnDisk = exports.getFileSizeOnDisk = (() => { - var _ref29 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { - const stat = yield lstat(loc); - const size = stat.size, - blockSize = stat.blksize; - - - return Math.ceil(size / blockSize) * blockSize; - }); - - return function getFileSizeOnDisk(_x28) { - return _ref29.apply(this, arguments); - }; -})(); +/***/ }), +/* 21 */, +/* 22 */ +/***/ (function(module, exports) { -let getEolFromFile = (() => { - var _ref30 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path) { - if (!(yield exists(path))) { - return undefined; - } +module.exports = __webpack_require__(139); - const buffer = yield readFileBuffer(path); +/***/ }), +/* 23 */ +/***/ (function(module, exports) { - for (let i = 0; i < buffer.length; ++i) { - if (buffer[i] === cr) { - return '\r\n'; - } - if (buffer[i] === lf) { - return '\n'; - } - } - return undefined; - }); +var core = module.exports = { version: '2.5.7' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef - return function getEolFromFile(_x29) { - return _ref30.apply(this, arguments); - }; -})(); -let writeFilePreservingEol = exports.writeFilePreservingEol = (() => { - var _ref31 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path, data) { - const eol = (yield getEolFromFile(path)) || (_os || _load_os()).default.EOL; - if (eol !== '\n') { - data = data.replace(/\n/g, eol); - } - yield writeFile(path, data); - }); +/***/ }), +/* 24 */, +/* 25 */, +/* 26 */, +/* 27 */ +/***/ (function(module, exports, __webpack_require__) { - return function writeFilePreservingEol(_x30, _x31) { - return _ref31.apply(this, arguments); - }; -})(); +var isObject = __webpack_require__(34); +module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); + return it; +}; -let hardlinksWork = exports.hardlinksWork = (() => { - var _ref32 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir) { - const filename = 'test-file' + Math.random(); - const file = (_path || _load_path()).default.join(dir, filename); - const fileLink = (_path || _load_path()).default.join(dir, filename + '-link'); - try { - yield writeFile(file, 'test'); - yield link(file, fileLink); - } catch (err) { - return false; - } finally { - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(file); - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(fileLink); - } - return true; - }); - return function hardlinksWork(_x32) { - return _ref32.apply(this, arguments); - }; -})(); +/***/ }), +/* 28 */, +/* 29 */ +/***/ (function(module, exports, __webpack_require__) { -// not a strict polyfill for Node's fs.mkdtemp +"use strict"; -let makeTempDir = exports.makeTempDir = (() => { - var _ref33 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (prefix) { - const dir = (_path || _load_path()).default.join((_os || _load_os()).default.tmpdir(), `yarn-${prefix || ''}-${Date.now()}-${Math.random()}`); - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dir); - yield mkdirp(dir); - return dir; - }); +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.normalizePattern = normalizePattern; - return function makeTempDir(_x33) { - return _ref33.apply(this, arguments); - }; -})(); +/** + * Explode and normalize a pattern into its name and range. + */ -let readFirstAvailableStream = exports.readFirstAvailableStream = (() => { - var _ref34 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths) { - for (var _iterator15 = paths, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) { - var _ref35; +function normalizePattern(pattern) { + let hasVersion = false; + let range = 'latest'; + let name = pattern; - if (_isArray15) { - if (_i15 >= _iterator15.length) break; - _ref35 = _iterator15[_i15++]; - } else { - _i15 = _iterator15.next(); - if (_i15.done) break; - _ref35 = _i15.value; - } + // if we're a scope then remove the @ and add it back later + let isScoped = false; + if (name[0] === '@') { + isScoped = true; + name = name.slice(1); + } - const path = _ref35; + // take first part as the name + const parts = name.split('@'); + if (parts.length > 1) { + name = parts.shift(); + range = parts.join('@'); - try { - const fd = yield open(path, 'r'); - return (_fs || _load_fs()).default.createReadStream(path, { fd }); - } catch (err) { - // Try the next one - } + if (range) { + hasVersion = true; + } else { + range = '*'; } - return null; - }); - - return function readFirstAvailableStream(_x34) { - return _ref34.apply(this, arguments); - }; -})(); - -let getFirstSuitableFolder = exports.getFirstSuitableFolder = (() => { - var _ref36 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths, mode = constants.W_OK | constants.X_OK) { - const result = { - skipped: [], - folder: null - }; - - for (var _iterator16 = paths, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator]();;) { - var _ref37; - - if (_isArray16) { - if (_i16 >= _iterator16.length) break; - _ref37 = _iterator16[_i16++]; - } else { - _i16 = _iterator16.next(); - if (_i16.done) break; - _ref37 = _i16.value; - } + } - const folder = _ref37; + // add back @ scope suffix + if (isScoped) { + name = `@${name}`; + } - try { - yield mkdirp(folder); - yield access(folder, mode); + return { name, range, hasVersion }; +} - result.folder = folder; +/***/ }), +/* 30 */, +/* 31 */ +/***/ (function(module, exports, __webpack_require__) { - return result; - } catch (error) { - result.skipped.push({ - error, - folder - }); - } - } - return result; - }); +var dP = __webpack_require__(50); +var createDesc = __webpack_require__(106); +module.exports = __webpack_require__(33) ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; - return function getFirstSuitableFolder(_x35) { - return _ref36.apply(this, arguments); - }; -})(); -exports.copy = copy; -exports.readFile = readFile; -exports.readFileRaw = readFileRaw; -exports.normalizeOS = normalizeOS; +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { -var _fs; +/* eslint-disable node/no-deprecated-api */ +var buffer = __webpack_require__(63) +var Buffer = buffer.Buffer -function _load_fs() { - return _fs = _interopRequireDefault(__webpack_require__(3)); +// alternative to using Object.keys for old browsers +function copyProps (src, dst) { + for (var key in src) { + dst[key] = src[key] + } } - -var _glob; - -function _load_glob() { - return _glob = _interopRequireDefault(__webpack_require__(75)); +if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { + module.exports = buffer +} else { + // Copy properties from require('buffer') + copyProps(buffer, exports) + exports.Buffer = SafeBuffer } -var _os; - -function _load_os() { - return _os = _interopRequireDefault(__webpack_require__(36)); +function SafeBuffer (arg, encodingOrOffset, length) { + return Buffer(arg, encodingOrOffset, length) } -var _path; +// Copy static methods from Buffer +copyProps(Buffer, SafeBuffer) -function _load_path() { - return _path = _interopRequireDefault(__webpack_require__(0)); +SafeBuffer.from = function (arg, encodingOrOffset, length) { + if (typeof arg === 'number') { + throw new TypeError('Argument must not be a number') + } + return Buffer(arg, encodingOrOffset, length) } -var _blockingQueue; - -function _load_blockingQueue() { - return _blockingQueue = _interopRequireDefault(__webpack_require__(84)); +SafeBuffer.alloc = function (size, fill, encoding) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + var buf = Buffer(size) + if (fill !== undefined) { + if (typeof encoding === 'string') { + buf.fill(fill, encoding) + } else { + buf.fill(fill) + } + } else { + buf.fill(0) + } + return buf } -var _promise; - -function _load_promise() { - return _promise = _interopRequireWildcard(__webpack_require__(40)); +SafeBuffer.allocUnsafe = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return Buffer(size) } -var _promise2; - -function _load_promise2() { - return _promise2 = __webpack_require__(40); +SafeBuffer.allocUnsafeSlow = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return buffer.SlowBuffer(size) } -var _map; - -function _load_map() { - return _map = _interopRequireDefault(__webpack_require__(20)); -} -var _fsNormalized; +/***/ }), +/* 33 */ +/***/ (function(module, exports, __webpack_require__) { -function _load_fsNormalized() { - return _fsNormalized = __webpack_require__(164); -} +// Thank's IE8 for his funny defineProperty +module.exports = !__webpack_require__(85)(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +/***/ }), +/* 34 */ +/***/ (function(module, exports) { -const constants = exports.constants = typeof (_fs || _load_fs()).default.constants !== 'undefined' ? (_fs || _load_fs()).default.constants : { - R_OK: (_fs || _load_fs()).default.R_OK, - W_OK: (_fs || _load_fs()).default.W_OK, - X_OK: (_fs || _load_fs()).default.X_OK +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; }; -const lockQueue = exports.lockQueue = new (_blockingQueue || _load_blockingQueue()).default('fs lock'); - -const readFileBuffer = exports.readFileBuffer = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readFile); -const open = exports.open = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.open); -const writeFile = exports.writeFile = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.writeFile); -const readlink = exports.readlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readlink); -const realpath = exports.realpath = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.realpath); -const readdir = exports.readdir = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readdir); -const rename = exports.rename = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.rename); -const access = exports.access = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.access); -const stat = exports.stat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.stat); -const mkdirp = exports.mkdirp = (0, (_promise2 || _load_promise2()).promisify)(__webpack_require__(116)); -const exists = exports.exists = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.exists, true); -const lstat = exports.lstat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.lstat); -const chmod = exports.chmod = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.chmod); -const link = exports.link = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.link); -const glob = exports.glob = (0, (_promise2 || _load_promise2()).promisify)((_glob || _load_glob()).default); -exports.unlink = (_fsNormalized || _load_fsNormalized()).unlink; - -// fs.copyFile uses the native file copying instructions on the system, performing much better -// than any JS-based solution and consumes fewer resources. Repeated testing to fine tune the -// concurrency level revealed 128 as the sweet spot on a quad-core, 16 CPU Intel system with SSD. - -const CONCURRENT_QUEUE_ITEMS = (_fs || _load_fs()).default.copyFile ? 128 : 4; - -const fsSymlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.symlink); -const invariant = __webpack_require__(7); -const stripBOM = __webpack_require__(122); - -const noop = () => {}; - -function copy(src, dest, reporter) { - return copyBulk([{ src, dest }], reporter); -} -function _readFile(loc, encoding) { - return new Promise((resolve, reject) => { - (_fs || _load_fs()).default.readFile(loc, encoding, function (err, content) { - if (err) { - reject(err); - } else { - resolve(content); - } - }); - }); -} +/***/ }), +/* 35 */ +/***/ (function(module, exports) { -function readFile(loc) { - return _readFile(loc, 'utf8').then(normalizeOS); -} +module.exports = {}; -function readFileRaw(loc) { - return _readFile(loc, 'binary'); -} -function normalizeOS(body) { - return body.replace(/\r\n/g, '\n'); -} +/***/ }), +/* 36 */ +/***/ (function(module, exports) { -const cr = '\r'.charCodeAt(0); -const lf = '\n'.charCodeAt(0); +module.exports = __webpack_require__(120); /***/ }), -/* 6 */ +/* 37 */, +/* 38 */, +/* 39 */, +/* 40 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -32046,9807 +31397,9900 @@ const lf = '\n'.charCodeAt(0); Object.defineProperty(exports, "__esModule", { value: true }); -exports.getPathKey = getPathKey; -const os = __webpack_require__(36); -const path = __webpack_require__(0); -const userHome = __webpack_require__(45).default; - -var _require = __webpack_require__(171); - -const getCacheDir = _require.getCacheDir, - getConfigDir = _require.getConfigDir, - getDataDir = _require.getDataDir; - -const isWebpackBundle = __webpack_require__(227); - -const DEPENDENCY_TYPES = exports.DEPENDENCY_TYPES = ['devDependencies', 'dependencies', 'optionalDependencies', 'peerDependencies']; -const RESOLUTIONS = exports.RESOLUTIONS = 'resolutions'; -const MANIFEST_FIELDS = exports.MANIFEST_FIELDS = [RESOLUTIONS, ...DEPENDENCY_TYPES]; - -const SUPPORTED_NODE_VERSIONS = exports.SUPPORTED_NODE_VERSIONS = '^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0'; - -const YARN_REGISTRY = exports.YARN_REGISTRY = 'https://registry.yarnpkg.com'; +exports.wait = wait; +exports.promisify = promisify; +exports.queue = queue; +function wait(delay) { + return new Promise(resolve => { + setTimeout(resolve, delay); + }); +} -const YARN_DOCS = exports.YARN_DOCS = 'https://yarnpkg.com/en/docs/cli/'; -const YARN_INSTALLER_SH = exports.YARN_INSTALLER_SH = 'https://yarnpkg.com/install.sh'; -const YARN_INSTALLER_MSI = exports.YARN_INSTALLER_MSI = 'https://yarnpkg.com/latest.msi'; +function promisify(fn, firstData) { + return function (...args) { + return new Promise(function (resolve, reject) { + args.push(function (err, ...result) { + let res = result; -const SELF_UPDATE_VERSION_URL = exports.SELF_UPDATE_VERSION_URL = 'https://yarnpkg.com/latest-version'; + if (result.length <= 1) { + res = result[0]; + } -// cache version, bump whenever we make backwards incompatible changes -const CACHE_VERSION = exports.CACHE_VERSION = 2; + if (firstData) { + res = err; + err = null; + } -// lockfile version, bump whenever we make backwards incompatible changes -const LOCKFILE_VERSION = exports.LOCKFILE_VERSION = 1; + if (err) { + reject(err); + } else { + resolve(res); + } + }); -// max amount of network requests to perform concurrently -const NETWORK_CONCURRENCY = exports.NETWORK_CONCURRENCY = 8; + fn.apply(null, args); + }); + }; +} -// HTTP timeout used when downloading packages -const NETWORK_TIMEOUT = exports.NETWORK_TIMEOUT = 30 * 1000; // in milliseconds +function queue(arr, promiseProducer, concurrency = Infinity) { + concurrency = Math.min(concurrency, arr.length); -// max amount of child processes to execute concurrently -const CHILD_CONCURRENCY = exports.CHILD_CONCURRENCY = 5; + // clone + arr = arr.slice(); -const REQUIRED_PACKAGE_KEYS = exports.REQUIRED_PACKAGE_KEYS = ['name', 'version', '_uid']; + const results = []; + let total = arr.length; + if (!total) { + return Promise.resolve(results); + } -function getPreferredCacheDirectories() { - const preferredCacheDirectories = [getCacheDir()]; + return new Promise((resolve, reject) => { + for (let i = 0; i < concurrency; i++) { + next(); + } - if (process.getuid) { - // $FlowFixMe: process.getuid exists, dammit - preferredCacheDirectories.push(path.join(os.tmpdir(), `.yarn-cache-${process.getuid()}`)); - } + function next() { + const item = arr.shift(); + const promise = promiseProducer(item); - preferredCacheDirectories.push(path.join(os.tmpdir(), `.yarn-cache`)); + promise.then(function (result) { + results.push(result); - return preferredCacheDirectories; + total--; + if (total === 0) { + resolve(results); + } else { + if (arr.length) { + next(); + } + } + }, reject); + } + }); } -const PREFERRED_MODULE_CACHE_DIRECTORIES = exports.PREFERRED_MODULE_CACHE_DIRECTORIES = getPreferredCacheDirectories(); -const CONFIG_DIRECTORY = exports.CONFIG_DIRECTORY = getConfigDir(); -const DATA_DIRECTORY = exports.DATA_DIRECTORY = getDataDir(); -const LINK_REGISTRY_DIRECTORY = exports.LINK_REGISTRY_DIRECTORY = path.join(DATA_DIRECTORY, 'link'); -const GLOBAL_MODULE_DIRECTORY = exports.GLOBAL_MODULE_DIRECTORY = path.join(DATA_DIRECTORY, 'global'); +/***/ }), +/* 41 */ +/***/ (function(module, exports, __webpack_require__) { -const NODE_BIN_PATH = exports.NODE_BIN_PATH = process.execPath; -const YARN_BIN_PATH = exports.YARN_BIN_PATH = getYarnBinPath(); +var global = __webpack_require__(11); +var core = __webpack_require__(23); +var ctx = __webpack_require__(48); +var hide = __webpack_require__(31); +var has = __webpack_require__(49); +var PROTOTYPE = 'prototype'; -// Webpack needs to be configured with node.__dirname/__filename = false -function getYarnBinPath() { - if (isWebpackBundle) { - return __filename; - } else { - return path.join(__dirname, '..', 'bin', 'yarn.js'); +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var IS_WRAP = type & $export.W; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE]; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; + var key, own, out; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + if (own && has(exports, key)) continue; + // export native or passed + out = own ? target[key] : source[key]; + // prevent global pollution for namespaces + exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] + // bind timers to global for call from export context + : IS_BIND && own ? ctx(out, global) + // wrap global constructors for prevent change them in library + : IS_WRAP && target[key] == out ? (function (C) { + var F = function (a, b, c) { + if (this instanceof C) { + switch (arguments.length) { + case 0: return new C(); + case 1: return new C(a); + case 2: return new C(a, b); + } return new C(a, b, c); + } return C.apply(this, arguments); + }; + F[PROTOTYPE] = C[PROTOTYPE]; + return F; + // make static versions for prototype methods + })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% + if (IS_PROTO) { + (exports.virtual || (exports.virtual = {}))[key] = out; + // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% + if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); + } } -} - -const NODE_MODULES_FOLDER = exports.NODE_MODULES_FOLDER = 'node_modules'; -const NODE_PACKAGE_JSON = exports.NODE_PACKAGE_JSON = 'package.json'; - -const POSIX_GLOBAL_PREFIX = exports.POSIX_GLOBAL_PREFIX = `${process.env.DESTDIR || ''}/usr/local`; -const FALLBACK_GLOBAL_PREFIX = exports.FALLBACK_GLOBAL_PREFIX = path.join(userHome, '.yarn'); - -const META_FOLDER = exports.META_FOLDER = '.yarn-meta'; -const INTEGRITY_FILENAME = exports.INTEGRITY_FILENAME = '.yarn-integrity'; -const LOCKFILE_FILENAME = exports.LOCKFILE_FILENAME = 'yarn.lock'; -const METADATA_FILENAME = exports.METADATA_FILENAME = '.yarn-metadata.json'; -const TARBALL_FILENAME = exports.TARBALL_FILENAME = '.yarn-tarball.tgz'; -const CLEAN_FILENAME = exports.CLEAN_FILENAME = '.yarnclean'; - -const NPM_LOCK_FILENAME = exports.NPM_LOCK_FILENAME = 'package-lock.json'; -const NPM_SHRINKWRAP_FILENAME = exports.NPM_SHRINKWRAP_FILENAME = 'npm-shrinkwrap.json'; - -const DEFAULT_INDENT = exports.DEFAULT_INDENT = ' '; -const SINGLE_INSTANCE_PORT = exports.SINGLE_INSTANCE_PORT = 31997; -const SINGLE_INSTANCE_FILENAME = exports.SINGLE_INSTANCE_FILENAME = '.yarn-single-instance'; - -const ENV_PATH_KEY = exports.ENV_PATH_KEY = getPathKey(process.platform, process.env); - -function getPathKey(platform, env) { - let pathKey = 'PATH'; +}; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; - // windows calls its path "Path" usually, but this is not guaranteed. - if (platform === 'win32') { - pathKey = 'Path'; - for (const key in env) { - if (key.toLowerCase() === 'path') { - pathKey = key; - } - } - } +/***/ }), +/* 42 */ +/***/ (function(module, exports, __webpack_require__) { - return pathKey; +try { + var util = __webpack_require__(2); + if (typeof util.inherits !== 'function') throw ''; + module.exports = util.inherits; +} catch (e) { + module.exports = __webpack_require__(224); } -const VERSION_COLOR_SCHEME = exports.VERSION_COLOR_SCHEME = { - major: 'red', - premajor: 'red', - minor: 'yellow', - preminor: 'yellow', - patch: 'green', - prepatch: 'green', - prerelease: 'red', - unchanged: 'white', - unknown: 'red' -}; /***/ }), -/* 7 */ +/* 43 */, +/* 44 */, +/* 45 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.home = undefined; -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ +var _rootUser; -var NODE_ENV = "none"; +function _load_rootUser() { + return _rootUser = _interopRequireDefault(__webpack_require__(169)); +} -var invariant = function(condition, format, a, b, c, d, e, f) { - if (NODE_ENV !== 'production') { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - if (!condition) { - var error; - if (format === undefined) { - error = new Error( - 'Minified exception occurred; use the non-minified dev environment ' + - 'for the full error message and additional helpful warnings.' - ); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error( - format.replace(/%s/g, function() { return args[argIndex++]; }) - ); - error.name = 'Invariant Violation'; - } +const path = __webpack_require__(0); - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } -}; +const home = exports.home = __webpack_require__(36).homedir(); -module.exports = invariant; +const userHomeDir = (_rootUser || _load_rootUser()).default ? path.resolve('/usr/local/share') : home; +exports.default = userHomeDir; /***/ }), -/* 8 */, -/* 9 */ +/* 46 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(290); +module.exports = function (it) { + if (typeof it != 'function') throw TypeError(it + ' is not a function!'); + return it; +}; + /***/ }), -/* 10 */, -/* 11 */ +/* 47 */ /***/ (function(module, exports) { -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self - // eslint-disable-next-line no-new-func - : Function('return this')(); -if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; /***/ }), -/* 12 */ +/* 48 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.sortAlpha = sortAlpha; -exports.entries = entries; -exports.removePrefix = removePrefix; -exports.removeSuffix = removeSuffix; -exports.addSuffix = addSuffix; -exports.hyphenate = hyphenate; -exports.camelCase = camelCase; -exports.compareSortedArrays = compareSortedArrays; -exports.sleep = sleep; -const _camelCase = __webpack_require__(176); - -function sortAlpha(a, b) { - // sort alphabetically in a deterministic way - const shortLen = Math.min(a.length, b.length); - for (let i = 0; i < shortLen; i++) { - const aChar = a.charCodeAt(i); - const bChar = b.charCodeAt(i); - if (aChar !== bChar) { - return aChar - bChar; - } - } - return a.length - b.length; -} - -function entries(obj) { - const entries = []; - if (obj) { - for (const key in obj) { - entries.push([key, obj[key]]); - } - } - return entries; -} - -function removePrefix(pattern, prefix) { - if (pattern.startsWith(prefix)) { - pattern = pattern.slice(prefix.length); - } - - return pattern; -} - -function removeSuffix(pattern, suffix) { - if (pattern.endsWith(suffix)) { - return pattern.slice(0, -suffix.length); - } - - return pattern; -} - -function addSuffix(pattern, suffix) { - if (!pattern.endsWith(suffix)) { - return pattern + suffix; +// optional / simple context binding +var aFunction = __webpack_require__(46); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; - return pattern; -} - -function hyphenate(str) { - return str.replace(/[A-Z]/g, match => { - return '-' + match.charAt(0).toLowerCase(); - }); -} -function camelCase(str) { - if (/[A-Z]/.test(str)) { - return null; - } else { - return _camelCase(str); - } -} +/***/ }), +/* 49 */ +/***/ (function(module, exports) { -function compareSortedArrays(array1, array2) { - if (array1.length !== array2.length) { - return false; - } - for (let i = 0, len = array1.length; i < len; i++) { - if (array1[i] !== array2[i]) { - return false; - } - } - return true; -} +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; -function sleep(ms) { - return new Promise(resolve => { - setTimeout(resolve, ms); - }); -} /***/ }), -/* 13 */ +/* 50 */ /***/ (function(module, exports, __webpack_require__) { -var store = __webpack_require__(107)('wks'); -var uid = __webpack_require__(111); -var Symbol = __webpack_require__(11).Symbol; -var USE_SYMBOL = typeof Symbol == 'function'; +var anObject = __webpack_require__(27); +var IE8_DOM_DEFINE = __webpack_require__(184); +var toPrimitive = __webpack_require__(201); +var dP = Object.defineProperty; -var $exports = module.exports = function (name) { - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +exports.f = __webpack_require__(33) ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; }; -$exports.store = store; +/***/ }), +/* 51 */, +/* 52 */, +/* 53 */, +/* 54 */ +/***/ (function(module, exports) { + +module.exports = __webpack_require__(155); /***/ }), -/* 14 */ +/* 55 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.stringify = exports.parse = undefined; +const Buffer = __webpack_require__(32).Buffer -var _asyncToGenerator2; +const crypto = __webpack_require__(9) +const Transform = __webpack_require__(17).Transform -function _load_asyncToGenerator() { - return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1)); -} +const SPEC_ALGORITHMS = ['sha256', 'sha384', 'sha512'] -var _parse; +const BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i +const SRI_REGEX = /^([^-]+)-([^?]+)([?\S*]*)$/ +const STRICT_SRI_REGEX = /^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/ +const VCHAR_REGEX = /^[\x21-\x7E]+$/ -function _load_parse() { - return _parse = __webpack_require__(81); -} +class Hash { + get isHash () { return true } + constructor (hash, opts) { + const strict = !!(opts && opts.strict) + this.source = hash.trim() + // 3.1. Integrity metadata (called "Hash" by ssri) + // https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description + const match = this.source.match( + strict + ? STRICT_SRI_REGEX + : SRI_REGEX + ) + if (!match) { return } + if (strict && !SPEC_ALGORITHMS.some(a => a === match[1])) { return } + this.algorithm = match[1] + this.digest = match[2] -Object.defineProperty(exports, 'parse', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_parse || _load_parse()).default; + const rawOpts = match[3] + this.options = rawOpts ? rawOpts.slice(1).split('?') : [] } -}); - -var _stringify; - -function _load_stringify() { - return _stringify = __webpack_require__(150); -} - -Object.defineProperty(exports, 'stringify', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_stringify || _load_stringify()).default; + hexDigest () { + return this.digest && Buffer.from(this.digest, 'base64').toString('hex') + } + toJSON () { + return this.toString() + } + toString (opts) { + if (opts && opts.strict) { + // Strict mode enforces the standard as close to the foot of the + // letter as it can. + if (!( + // The spec has very restricted productions for algorithms. + // https://www.w3.org/TR/CSP2/#source-list-syntax + SPEC_ALGORITHMS.some(x => x === this.algorithm) && + // Usually, if someone insists on using a "different" base64, we + // leave it as-is, since there's multiple standards, and the + // specified is not a URL-safe variant. + // https://www.w3.org/TR/CSP2/#base64_value + this.digest.match(BASE64_REGEX) && + // Option syntax is strictly visual chars. + // https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression + // https://tools.ietf.org/html/rfc5234#appendix-B.1 + (this.options || []).every(opt => opt.match(VCHAR_REGEX)) + )) { + return '' + } + } + const options = this.options && this.options.length + ? `?${this.options.join('?')}` + : '' + return `${this.algorithm}-${this.digest}${options}` } -}); -exports.implodeEntry = implodeEntry; -exports.explodeEntry = explodeEntry; - -var _misc; - -function _load_misc() { - return _misc = __webpack_require__(12); } -var _normalizePattern; - -function _load_normalizePattern() { - return _normalizePattern = __webpack_require__(29); +class Integrity { + get isIntegrity () { return true } + toJSON () { + return this.toString() + } + toString (opts) { + opts = opts || {} + let sep = opts.sep || ' ' + if (opts.strict) { + // Entries must be separated by whitespace, according to spec. + sep = sep.replace(/\S+/g, ' ') + } + return Object.keys(this).map(k => { + return this[k].map(hash => { + return Hash.prototype.toString.call(hash, opts) + }).filter(x => x.length).join(sep) + }).filter(x => x.length).join(sep) + } + concat (integrity, opts) { + const other = typeof integrity === 'string' + ? integrity + : stringify(integrity, opts) + return parse(`${this.toString(opts)} ${other}`, opts) + } + hexDigest () { + return parse(this, {single: true}).hexDigest() + } + match (integrity, opts) { + const other = parse(integrity, opts) + const algo = other.pickAlgorithm(opts) + return ( + this[algo] && + other[algo] && + this[algo].find(hash => + other[algo].find(otherhash => + hash.digest === otherhash.digest + ) + ) + ) || false + } + pickAlgorithm (opts) { + const pickAlgorithm = (opts && opts.pickAlgorithm) || getPrioritizedHash + const keys = Object.keys(this) + if (!keys.length) { + throw new Error(`No algorithms available for ${ + JSON.stringify(this.toString()) + }`) + } + return keys.reduce((acc, algo) => { + return pickAlgorithm(acc, algo) || acc + }) + } } -var _parse2; - -function _load_parse2() { - return _parse2 = _interopRequireDefault(__webpack_require__(81)); +module.exports.parse = parse +function parse (sri, opts) { + opts = opts || {} + if (typeof sri === 'string') { + return _parse(sri, opts) + } else if (sri.algorithm && sri.digest) { + const fullSri = new Integrity() + fullSri[sri.algorithm] = [sri] + return _parse(stringify(fullSri, opts), opts) + } else { + return _parse(stringify(sri, opts), opts) + } } -var _constants; - -function _load_constants() { - return _constants = __webpack_require__(6); +function _parse (integrity, opts) { + // 3.4.3. Parse metadata + // https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata + if (opts.single) { + return new Hash(integrity, opts) + } + return integrity.trim().split(/\s+/).reduce((acc, string) => { + const hash = new Hash(string, opts) + if (hash.algorithm && hash.digest) { + const algo = hash.algorithm + if (!acc[algo]) { acc[algo] = [] } + acc[algo].push(hash) + } + return acc + }, new Integrity()) } -var _fs; - -function _load_fs() { - return _fs = _interopRequireWildcard(__webpack_require__(5)); +module.exports.stringify = stringify +function stringify (obj, opts) { + if (obj.algorithm && obj.digest) { + return Hash.prototype.toString.call(obj, opts) + } else if (typeof obj === 'string') { + return stringify(parse(obj, opts), opts) + } else { + return Integrity.prototype.toString.call(obj, opts) + } } -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const invariant = __webpack_require__(7); - -const path = __webpack_require__(0); -const ssri = __webpack_require__(55); +module.exports.fromHex = fromHex +function fromHex (hexDigest, algorithm, opts) { + const optString = (opts && opts.options && opts.options.length) + ? `?${opts.options.join('?')}` + : '' + return parse( + `${algorithm}-${ + Buffer.from(hexDigest, 'hex').toString('base64') + }${optString}`, opts + ) +} -function getName(pattern) { - return (0, (_normalizePattern || _load_normalizePattern()).normalizePattern)(pattern).name; +module.exports.fromData = fromData +function fromData (data, opts) { + opts = opts || {} + const algorithms = opts.algorithms || ['sha512'] + const optString = opts.options && opts.options.length + ? `?${opts.options.join('?')}` + : '' + return algorithms.reduce((acc, algo) => { + const digest = crypto.createHash(algo).update(data).digest('base64') + const hash = new Hash( + `${algo}-${digest}${optString}`, + opts + ) + if (hash.algorithm && hash.digest) { + const algo = hash.algorithm + if (!acc[algo]) { acc[algo] = [] } + acc[algo].push(hash) + } + return acc + }, new Integrity()) } -function blankObjectUndefined(obj) { - return obj && Object.keys(obj).length ? obj : undefined; +module.exports.fromStream = fromStream +function fromStream (stream, opts) { + opts = opts || {} + const P = opts.Promise || Promise + const istream = integrityStream(opts) + return new P((resolve, reject) => { + stream.pipe(istream) + stream.on('error', reject) + istream.on('error', reject) + let sri + istream.on('integrity', s => { sri = s }) + istream.on('end', () => resolve(sri)) + istream.on('data', () => {}) + }) } -function keyForRemote(remote) { - return remote.resolved || (remote.reference && remote.hash ? `${remote.reference}#${remote.hash}` : null); +module.exports.checkData = checkData +function checkData (data, sri, opts) { + opts = opts || {} + sri = parse(sri, opts) + if (!Object.keys(sri).length) { + if (opts.error) { + throw Object.assign( + new Error('No valid integrity hashes to check against'), { + code: 'EINTEGRITY' + } + ) + } else { + return false + } + } + const algorithm = sri.pickAlgorithm(opts) + const digest = crypto.createHash(algorithm).update(data).digest('base64') + const newSri = parse({algorithm, digest}) + const match = newSri.match(sri, opts) + if (match || !opts.error) { + return match + } else if (typeof opts.size === 'number' && (data.length !== opts.size)) { + const err = new Error(`data size mismatch when checking ${sri}.\n Wanted: ${opts.size}\n Found: ${data.length}`) + err.code = 'EBADSIZE' + err.found = data.length + err.expected = opts.size + err.sri = sri + throw err + } else { + const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`) + err.code = 'EINTEGRITY' + err.found = newSri + err.expected = sri + err.algorithm = algorithm + err.sri = sri + throw err + } } -function serializeIntegrity(integrity) { - // We need this because `Integrity.toString()` does not use sorting to ensure a stable string output - // See https://git.io/vx2Hy - return integrity.toString().split(' ').sort().join(' '); +module.exports.checkStream = checkStream +function checkStream (stream, sri, opts) { + opts = opts || {} + const P = opts.Promise || Promise + const checker = integrityStream(Object.assign({}, opts, { + integrity: sri + })) + return new P((resolve, reject) => { + stream.pipe(checker) + stream.on('error', reject) + checker.on('error', reject) + let sri + checker.on('verified', s => { sri = s }) + checker.on('end', () => resolve(sri)) + checker.on('data', () => {}) + }) } -function implodeEntry(pattern, obj) { - const inferredName = getName(pattern); - const integrity = obj.integrity ? serializeIntegrity(obj.integrity) : ''; - const imploded = { - name: inferredName === obj.name ? undefined : obj.name, - version: obj.version, - uid: obj.uid === obj.version ? undefined : obj.uid, - resolved: obj.resolved, - registry: obj.registry === 'npm' ? undefined : obj.registry, - dependencies: blankObjectUndefined(obj.dependencies), - optionalDependencies: blankObjectUndefined(obj.optionalDependencies), - permissions: blankObjectUndefined(obj.permissions), - prebuiltVariants: blankObjectUndefined(obj.prebuiltVariants) - }; - if (integrity) { - imploded.integrity = integrity; - } - return imploded; +module.exports.integrityStream = integrityStream +function integrityStream (opts) { + opts = opts || {} + // For verification + const sri = opts.integrity && parse(opts.integrity, opts) + const goodSri = sri && Object.keys(sri).length + const algorithm = goodSri && sri.pickAlgorithm(opts) + const digests = goodSri && sri[algorithm] + // Calculating stream + const algorithms = Array.from( + new Set( + (opts.algorithms || ['sha512']) + .concat(algorithm ? [algorithm] : []) + ) + ) + const hashes = algorithms.map(crypto.createHash) + let streamSize = 0 + const stream = new Transform({ + transform (chunk, enc, cb) { + streamSize += chunk.length + hashes.forEach(h => h.update(chunk, enc)) + cb(null, chunk, enc) + } + }).on('end', () => { + const optString = (opts.options && opts.options.length) + ? `?${opts.options.join('?')}` + : '' + const newSri = parse(hashes.map((h, i) => { + return `${algorithms[i]}-${h.digest('base64')}${optString}` + }).join(' '), opts) + // Integrity verification mode + const match = goodSri && newSri.match(sri, opts) + if (typeof opts.size === 'number' && streamSize !== opts.size) { + const err = new Error(`stream size mismatch when checking ${sri}.\n Wanted: ${opts.size}\n Found: ${streamSize}`) + err.code = 'EBADSIZE' + err.found = streamSize + err.expected = opts.size + err.sri = sri + stream.emit('error', err) + } else if (opts.integrity && !match) { + const err = new Error(`${sri} integrity checksum failed when using ${algorithm}: wanted ${digests} but got ${newSri}. (${streamSize} bytes)`) + err.code = 'EINTEGRITY' + err.found = newSri + err.expected = digests + err.algorithm = algorithm + err.sri = sri + stream.emit('error', err) + } else { + stream.emit('size', streamSize) + stream.emit('integrity', newSri) + match && stream.emit('verified', match) + } + }) + return stream } -function explodeEntry(pattern, obj) { - obj.optionalDependencies = obj.optionalDependencies || {}; - obj.dependencies = obj.dependencies || {}; - obj.uid = obj.uid || obj.version; - obj.permissions = obj.permissions || {}; - obj.registry = obj.registry || 'npm'; - obj.name = obj.name || getName(pattern); - const integrity = obj.integrity; - if (integrity && integrity.isIntegrity) { - obj.integrity = ssri.parse(integrity); +module.exports.create = createIntegrity +function createIntegrity (opts) { + opts = opts || {} + const algorithms = opts.algorithms || ['sha512'] + const optString = opts.options && opts.options.length + ? `?${opts.options.join('?')}` + : '' + + const hashes = algorithms.map(crypto.createHash) + + return { + update: function (chunk, enc) { + hashes.forEach(h => h.update(chunk, enc)) + return this + }, + digest: function (enc) { + const integrity = algorithms.reduce((acc, algo) => { + const digest = hashes.shift().digest('base64') + const hash = new Hash( + `${algo}-${digest}${optString}`, + opts + ) + if (hash.algorithm && hash.digest) { + const algo = hash.algorithm + if (!acc[algo]) { acc[algo] = [] } + acc[algo].push(hash) + } + return acc + }, new Integrity()) + + return integrity + } } - return obj; } -class Lockfile { - constructor({ cache, source, parseResultType } = {}) { - this.source = source || ''; - this.cache = cache; - this.parseResultType = parseResultType; - } +const NODE_HASHES = new Set(crypto.getHashes()) - // source string if the `cache` was parsed +// This is a Best Effort™ at a reasonable priority for hash algos +const DEFAULT_PRIORITY = [ + 'md5', 'whirlpool', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512', + // TODO - it's unclear _which_ of these Node will actually use as its name + // for the algorithm, so we guesswork it based on the OpenSSL names. + 'sha3', + 'sha3-256', 'sha3-384', 'sha3-512', + 'sha3_256', 'sha3_384', 'sha3_512' +].filter(algo => NODE_HASHES.has(algo)) +function getPrioritizedHash (algo1, algo2) { + return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) + ? algo1 + : algo2 +} - // if true, we're parsing an old yarn file and need to update integrity fields - hasEntriesExistWithoutIntegrity() { - if (!this.cache) { - return false; - } - for (const key in this.cache) { - // $FlowFixMe - `this.cache` is clearly defined at this point - if (!/^.*@(file:|http)/.test(key) && this.cache[key] && !this.cache[key].integrity) { - return true; - } - } +/***/ }), +/* 56 */, +/* 57 */, +/* 58 */, +/* 59 */, +/* 60 */ +/***/ (function(module, exports, __webpack_require__) { - return false; - } +module.exports = minimatch +minimatch.Minimatch = Minimatch - static fromDirectory(dir, reporter) { - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - // read the manifest in this directory - const lockfileLoc = path.join(dir, (_constants || _load_constants()).LOCKFILE_FILENAME); +var path = { sep: '/' } +try { + path = __webpack_require__(0) +} catch (er) {} - let lockfile; - let rawLockfile = ''; - let parseResult; +var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} +var expand = __webpack_require__(175) - if (yield (_fs || _load_fs()).exists(lockfileLoc)) { - rawLockfile = yield (_fs || _load_fs()).readFile(lockfileLoc); - parseResult = (0, (_parse2 || _load_parse2()).default)(rawLockfile, lockfileLoc); +var plTypes = { + '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, + '?': { open: '(?:', close: ')?' }, + '+': { open: '(?:', close: ')+' }, + '*': { open: '(?:', close: ')*' }, + '@': { open: '(?:', close: ')' } +} - if (reporter) { - if (parseResult.type === 'merge') { - reporter.info(reporter.lang('lockfileMerged')); - } else if (parseResult.type === 'conflict') { - reporter.warn(reporter.lang('lockfileConflict')); - } - } +// any single thing other than / +// don't need to escape / when using new RegExp() +var qmark = '[^/]' - lockfile = parseResult.object; - } else if (reporter) { - reporter.info(reporter.lang('noLockfileFound')); - } +// * => any number of characters +var star = qmark + '*?' - return new Lockfile({ cache: lockfile, source: rawLockfile, parseResultType: parseResult && parseResult.type }); - })(); - } +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' - getLocked(pattern) { - const cache = this.cache; - if (!cache) { - return undefined; - } +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' - const shrunk = pattern in cache && cache[pattern]; +// characters that need to be escaped in RegExp. +var reSpecials = charSet('().*{}+?[]^$\\!') - if (typeof shrunk === 'string') { - return this.getLocked(shrunk); - } else if (shrunk) { - explodeEntry(pattern, shrunk); - return shrunk; - } +// "abc" -> { a:true, b:true, c:true } +function charSet (s) { + return s.split('').reduce(function (set, c) { + set[c] = true + return set + }, {}) +} - return undefined; - } +// normalizes slashes. +var slashSplit = /\/+/ - removePattern(pattern) { - const cache = this.cache; - if (!cache) { - return; - } - delete cache[pattern]; +minimatch.filter = filter +function filter (pattern, options) { + options = options || {} + return function (p, i, list) { + return minimatch(p, pattern, options) } +} - getLockfile(patterns) { - const lockfile = {}; - const seen = new Map(); +function ext (a, b) { + a = a || {} + b = b || {} + var t = {} + Object.keys(b).forEach(function (k) { + t[k] = b[k] + }) + Object.keys(a).forEach(function (k) { + t[k] = a[k] + }) + return t +} - // order by name so that lockfile manifest is assigned to the first dependency with this manifest - // the others that have the same remoteKey will just refer to the first - // ordering allows for consistency in lockfile when it is serialized - const sortedPatternsKeys = Object.keys(patterns).sort((_misc || _load_misc()).sortAlpha); +minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return minimatch - for (var _iterator = sortedPatternsKeys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; + var orig = minimatch - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } + var m = function minimatch (p, pattern, options) { + return orig.minimatch(p, pattern, ext(def, options)) + } - const pattern = _ref; + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + } - const pkg = patterns[pattern]; - const remote = pkg._remote, - ref = pkg._reference; + return m +} - invariant(ref, 'Package is missing a reference'); - invariant(remote, 'Package is missing a remote'); +Minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return Minimatch + return minimatch.defaults(def).Minimatch +} - const remoteKey = keyForRemote(remote); - const seenPattern = remoteKey && seen.get(remoteKey); - if (seenPattern) { - // no point in duplicating it - lockfile[pattern] = seenPattern; +function minimatch (p, pattern, options) { + if (typeof pattern !== 'string') { + throw new TypeError('glob pattern string required') + } - // if we're relying on our name being inferred and two of the patterns have - // different inferred names then we need to set it - if (!seenPattern.name && getName(pattern) !== pkg.name) { - seenPattern.name = pkg.name; - } - continue; - } - const obj = implodeEntry(pattern, { - name: pkg.name, - version: pkg.version, - uid: pkg._uid, - resolved: remote.resolved, - integrity: remote.integrity, - registry: remote.registry, - dependencies: pkg.dependencies, - peerDependencies: pkg.peerDependencies, - optionalDependencies: pkg.optionalDependencies, - permissions: ref.permissions, - prebuiltVariants: pkg.prebuiltVariants - }); + if (!options) options = {} - lockfile[pattern] = obj; + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false + } - if (remoteKey) { - seen.set(remoteKey, obj); - } - } + // "" only matches "" + if (pattern.trim() === '') return p === '' - return lockfile; - } + return new Minimatch(pattern, options).match(p) } -exports.default = Lockfile; -/***/ }), -/* 15 */, -/* 16 */, -/* 17 */ -/***/ (function(module, exports) { +function Minimatch (pattern, options) { + if (!(this instanceof Minimatch)) { + return new Minimatch(pattern, options) + } -module.exports = __webpack_require__(137); + if (typeof pattern !== 'string') { + throw new TypeError('glob pattern string required') + } -/***/ }), -/* 18 */, -/* 19 */, -/* 20 */ -/***/ (function(module, exports, __webpack_require__) { + if (!options) options = {} + pattern = pattern.trim() -"use strict"; + // windows support: need to use /, not \ + if (path.sep !== '/') { + pattern = pattern.split(path.sep).join('/') + } + this.options = options + this.set = [] + this.pattern = pattern + this.regexp = null + this.negate = false + this.comment = false + this.empty = false -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = nullify; -function nullify(obj = {}) { - if (Array.isArray(obj)) { - for (var _iterator = obj, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - const item = _ref; - - nullify(item); - } - } else if (obj !== null && typeof obj === 'object' || typeof obj === 'function') { - Object.setPrototypeOf(obj, null); - - // for..in can only be applied to 'object', not 'function' - if (typeof obj === 'object') { - for (const key in obj) { - nullify(obj[key]); - } - } - } - - return obj; + // make the set of regexps etc. + this.make() } -/***/ }), -/* 21 */, -/* 22 */ -/***/ (function(module, exports) { - -module.exports = __webpack_require__(139); - -/***/ }), -/* 23 */ -/***/ (function(module, exports) { - -var core = module.exports = { version: '2.5.7' }; -if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef - +Minimatch.prototype.debug = function () {} -/***/ }), -/* 24 */, -/* 25 */, -/* 26 */, -/* 27 */ -/***/ (function(module, exports, __webpack_require__) { +Minimatch.prototype.make = make +function make () { + // don't do it more than once. + if (this._made) return -var isObject = __webpack_require__(34); -module.exports = function (it) { - if (!isObject(it)) throw TypeError(it + ' is not an object!'); - return it; -}; + var pattern = this.pattern + var options = this.options + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true + return + } + if (!pattern) { + this.empty = true + return + } -/***/ }), -/* 28 */, -/* 29 */ -/***/ (function(module, exports, __webpack_require__) { + // step 1: figure out negation, etc. + this.parseNegate() -"use strict"; + // step 2: expand braces + var set = this.globSet = this.braceExpand() + if (options.debug) this.debug = console.error -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.normalizePattern = normalizePattern; + this.debug(this.pattern, set) -/** - * Explode and normalize a pattern into its name and range. - */ + // step 3: now we have a set, so turn each one into a series of path-portion + // matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + set = this.globParts = set.map(function (s) { + return s.split(slashSplit) + }) -function normalizePattern(pattern) { - let hasVersion = false; - let range = 'latest'; - let name = pattern; + this.debug(this.pattern, set) - // if we're a scope then remove the @ and add it back later - let isScoped = false; - if (name[0] === '@') { - isScoped = true; - name = name.slice(1); - } + // glob --> regexps + set = set.map(function (s, si, set) { + return s.map(this.parse, this) + }, this) - // take first part as the name - const parts = name.split('@'); - if (parts.length > 1) { - name = parts.shift(); - range = parts.join('@'); + this.debug(this.pattern, set) - if (range) { - hasVersion = true; - } else { - range = '*'; - } - } + // filter out everything that didn't compile properly. + set = set.filter(function (s) { + return s.indexOf(false) === -1 + }) - // add back @ scope suffix - if (isScoped) { - name = `@${name}`; - } + this.debug(this.pattern, set) - return { name, range, hasVersion }; + this.set = set } -/***/ }), -/* 30 */, -/* 31 */ -/***/ (function(module, exports, __webpack_require__) { - -var dP = __webpack_require__(50); -var createDesc = __webpack_require__(106); -module.exports = __webpack_require__(33) ? function (object, key, value) { - return dP.f(object, key, createDesc(1, value)); -} : function (object, key, value) { - object[key] = value; - return object; -}; - - -/***/ }), -/* 32 */ -/***/ (function(module, exports, __webpack_require__) { +Minimatch.prototype.parseNegate = parseNegate +function parseNegate () { + var pattern = this.pattern + var negate = false + var options = this.options + var negateOffset = 0 -/* eslint-disable node/no-deprecated-api */ -var buffer = __webpack_require__(63) -var Buffer = buffer.Buffer + if (options.nonegate) return -// alternative to using Object.keys for old browsers -function copyProps (src, dst) { - for (var key in src) { - dst[key] = src[key] + for (var i = 0, l = pattern.length + ; i < l && pattern.charAt(i) === '!' + ; i++) { + negate = !negate + negateOffset++ } -} -if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { - module.exports = buffer -} else { - // Copy properties from require('buffer') - copyProps(buffer, exports) - exports.Buffer = SafeBuffer -} -function SafeBuffer (arg, encodingOrOffset, length) { - return Buffer(arg, encodingOrOffset, length) + if (negateOffset) this.pattern = pattern.substr(negateOffset) + this.negate = negate } -// Copy static methods from Buffer -copyProps(Buffer, SafeBuffer) - -SafeBuffer.from = function (arg, encodingOrOffset, length) { - if (typeof arg === 'number') { - throw new TypeError('Argument must not be a number') - } - return Buffer(arg, encodingOrOffset, length) +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +minimatch.braceExpand = function (pattern, options) { + return braceExpand(pattern, options) } -SafeBuffer.alloc = function (size, fill, encoding) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - var buf = Buffer(size) - if (fill !== undefined) { - if (typeof encoding === 'string') { - buf.fill(fill, encoding) +Minimatch.prototype.braceExpand = braceExpand + +function braceExpand (pattern, options) { + if (!options) { + if (this instanceof Minimatch) { + options = this.options } else { - buf.fill(fill) + options = {} } - } else { - buf.fill(0) } - return buf -} -SafeBuffer.allocUnsafe = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - return Buffer(size) -} + pattern = typeof pattern === 'undefined' + ? this.pattern : pattern -SafeBuffer.allocUnsafeSlow = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') + if (typeof pattern === 'undefined') { + throw new TypeError('undefined pattern') } - return buffer.SlowBuffer(size) -} + if (options.nobrace || + !pattern.match(/\{.*\}/)) { + // shortcut. no need to expand. + return [pattern] + } -/***/ }), -/* 33 */ -/***/ (function(module, exports, __webpack_require__) { + return expand(pattern) +} -// Thank's IE8 for his funny defineProperty -module.exports = !__webpack_require__(85)(function () { - return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; -}); +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +Minimatch.prototype.parse = parse +var SUBPARSE = {} +function parse (pattern, isSub) { + if (pattern.length > 1024 * 64) { + throw new TypeError('pattern is too long') + } + var options = this.options -/***/ }), -/* 34 */ -/***/ (function(module, exports) { + // shortcuts + if (!options.noglobstar && pattern === '**') return GLOBSTAR + if (pattern === '') return '' -module.exports = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; + var re = '' + var hasMagic = !!options.nocase + var escaping = false + // ? => one single character + var patternListStack = [] + var negativeLists = [] + var stateChar + var inClass = false + var reClassStart = -1 + var classStart = -1 + // . and .. never match anything that doesn't start with ., + // even when options.dot is set. + var patternStart = pattern.charAt(0) === '.' ? '' // anything + // not (start or / followed by . or .. followed by / or end) + : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' + : '(?!\\.)' + var self = this + function clearStateChar () { + if (stateChar) { + // we had some state-tracking character + // that wasn't consumed by this pass. + switch (stateChar) { + case '*': + re += star + hasMagic = true + break + case '?': + re += qmark + hasMagic = true + break + default: + re += '\\' + stateChar + break + } + self.debug('clearStateChar %j %j', stateChar, re) + stateChar = false + } + } -/***/ }), -/* 35 */ -/***/ (function(module, exports) { + for (var i = 0, len = pattern.length, c + ; (i < len) && (c = pattern.charAt(i)) + ; i++) { + this.debug('%s\t%s %s %j', pattern, i, re, c) -module.exports = {}; + // skip over any that are escaped. + if (escaping && reSpecials[c]) { + re += '\\' + c + escaping = false + continue + } + switch (c) { + case '/': + // completely not allowed, even escaped. + // Should already be path-split by now. + return false -/***/ }), -/* 36 */ -/***/ (function(module, exports) { + case '\\': + clearStateChar() + escaping = true + continue -module.exports = __webpack_require__(120); + // the various stateChar values + // for the "extglob" stuff. + case '?': + case '*': + case '+': + case '@': + case '!': + this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) -/***/ }), -/* 37 */, -/* 38 */, -/* 39 */, -/* 40 */ -/***/ (function(module, exports, __webpack_require__) { + // all of those are literals inside a class, except that + // the glob [!a] means [^a] in regexp + if (inClass) { + this.debug(' in class') + if (c === '!' && i === classStart + 1) c = '^' + re += c + continue + } -"use strict"; + // if we already have a stateChar, then it means + // that there was something like ** or +? in there. + // Handle the stateChar, then proceed with this one. + self.debug('call clearStateChar %j', stateChar) + clearStateChar() + stateChar = c + // if extglob is disabled, then +(asdf|foo) isn't a thing. + // just clear the statechar *now*, rather than even diving into + // the patternList stuff. + if (options.noext) clearStateChar() + continue + case '(': + if (inClass) { + re += '(' + continue + } -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.wait = wait; -exports.promisify = promisify; -exports.queue = queue; -function wait(delay) { - return new Promise(resolve => { - setTimeout(resolve, delay); - }); -} + if (!stateChar) { + re += '\\(' + continue + } -function promisify(fn, firstData) { - return function (...args) { - return new Promise(function (resolve, reject) { - args.push(function (err, ...result) { - let res = result; + patternListStack.push({ + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }) + // negation is (?:(?!js)[^/]*) + re += stateChar === '!' ? '(?:(?!(?:' : '(?:' + this.debug('plType %j %j', stateChar, re) + stateChar = false + continue - if (result.length <= 1) { - res = result[0]; + case ')': + if (inClass || !patternListStack.length) { + re += '\\)' + continue } - if (firstData) { - res = err; - err = null; + clearStateChar() + hasMagic = true + var pl = patternListStack.pop() + // negation is (?:(?!js)[^/]*) + // The others are (?:) + re += pl.close + if (pl.type === '!') { + negativeLists.push(pl) } + pl.reEnd = re.length + continue - if (err) { - reject(err); - } else { - resolve(res); + case '|': + if (inClass || !patternListStack.length || escaping) { + re += '\\|' + escaping = false + continue } - }); - - fn.apply(null, args); - }); - }; -} - -function queue(arr, promiseProducer, concurrency = Infinity) { - concurrency = Math.min(concurrency, arr.length); - // clone - arr = arr.slice(); + clearStateChar() + re += '|' + continue - const results = []; - let total = arr.length; - if (!total) { - return Promise.resolve(results); - } + // these are mostly the same in regexp and glob + case '[': + // swallow any state-tracking char before the [ + clearStateChar() - return new Promise((resolve, reject) => { - for (let i = 0; i < concurrency; i++) { - next(); - } + if (inClass) { + re += '\\' + c + continue + } - function next() { - const item = arr.shift(); - const promise = promiseProducer(item); + inClass = true + classStart = i + reClassStart = re.length + re += c + continue - promise.then(function (result) { - results.push(result); + case ']': + // a right bracket shall lose its special + // meaning and represent itself in + // a bracket expression if it occurs + // first in the list. -- POSIX.2 2.8.3.2 + if (i === classStart + 1 || !inClass) { + re += '\\' + c + escaping = false + continue + } - total--; - if (total === 0) { - resolve(results); - } else { - if (arr.length) { - next(); + // handle the case where we left a class open. + // "[z-a]" is valid, equivalent to "\[z-a\]" + if (inClass) { + // split where the last [ was, make sure we don't have + // an invalid re. if so, re-walk the contents of the + // would-be class to re-translate any characters that + // were passed through as-is + // TODO: It would probably be faster to determine this + // without a try/catch and a new RegExp, but it's tricky + // to do safely. For now, this is safe and works. + var cs = pattern.substring(classStart + 1, i) + try { + RegExp('[' + cs + ']') + } catch (er) { + // not a valid class! + var sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' + hasMagic = hasMagic || sp[1] + inClass = false + continue } } - }, reject); - } - }); -} -/***/ }), -/* 41 */ -/***/ (function(module, exports, __webpack_require__) { + // finish up the class. + hasMagic = true + inClass = false + re += c + continue -var global = __webpack_require__(11); -var core = __webpack_require__(23); -var ctx = __webpack_require__(48); -var hide = __webpack_require__(31); -var has = __webpack_require__(49); -var PROTOTYPE = 'prototype'; + default: + // swallow any state char that wasn't consumed + clearStateChar() -var $export = function (type, name, source) { - var IS_FORCED = type & $export.F; - var IS_GLOBAL = type & $export.G; - var IS_STATIC = type & $export.S; - var IS_PROTO = type & $export.P; - var IS_BIND = type & $export.B; - var IS_WRAP = type & $export.W; - var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); - var expProto = exports[PROTOTYPE]; - var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; - var key, own, out; - if (IS_GLOBAL) source = name; - for (key in source) { - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - if (own && has(exports, key)) continue; - // export native or passed - out = own ? target[key] : source[key]; - // prevent global pollution for namespaces - exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] - // bind timers to global for call from export context - : IS_BIND && own ? ctx(out, global) - // wrap global constructors for prevent change them in library - : IS_WRAP && target[key] == out ? (function (C) { - var F = function (a, b, c) { - if (this instanceof C) { - switch (arguments.length) { - case 0: return new C(); - case 1: return new C(a); - case 2: return new C(a, b); - } return new C(a, b, c); - } return C.apply(this, arguments); - }; - F[PROTOTYPE] = C[PROTOTYPE]; - return F; - // make static versions for prototype methods - })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% - if (IS_PROTO) { - (exports.virtual || (exports.virtual = {}))[key] = out; - // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% - if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); - } - } -}; -// type bitmap -$export.F = 1; // forced -$export.G = 2; // global -$export.S = 4; // static -$export.P = 8; // proto -$export.B = 16; // bind -$export.W = 32; // wrap -$export.U = 64; // safe -$export.R = 128; // real proto method for `library` -module.exports = $export; + if (escaping) { + // no need + escaping = false + } else if (reSpecials[c] + && !(c === '^' && inClass)) { + re += '\\' + } + re += c -/***/ }), -/* 42 */ -/***/ (function(module, exports, __webpack_require__) { + } // switch + } // for -try { - var util = __webpack_require__(2); - if (typeof util.inherits !== 'function') throw ''; - module.exports = util.inherits; -} catch (e) { - module.exports = __webpack_require__(224); -} + // handle the case where we left a class open. + // "[abc" is valid, equivalent to "\[abc" + if (inClass) { + // split where the last [ was, and escape it + // this is a huge pita. We now have to re-walk + // the contents of the would-be class to re-translate + // any characters that were passed through as-is + cs = pattern.substr(classStart + 1) + sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + hasMagic = hasMagic || sp[1] + } + // handle the case where we had a +( thing at the *end* + // of the pattern. + // each pattern list stack adds 3 chars, and we need to go through + // and escape any | chars that were passed through as-is for the regexp. + // Go through and escape them, taking care not to double-escape any + // | chars that were already escaped. + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + var tail = re.slice(pl.reStart + pl.open.length) + this.debug('setting tail', re, pl) + // maybe some even number of \, then maybe 1 \, followed by a | + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { + if (!$2) { + // the | isn't already escaped, so escape it. + $2 = '\\' + } -/***/ }), -/* 43 */, -/* 44 */, -/* 45 */ -/***/ (function(module, exports, __webpack_require__) { + // need to escape all those slashes *again*, without escaping the + // one that we need for escaping the | character. As it works out, + // escaping an even number of slashes can be done by simply repeating + // it exactly after itself. That's why this trick works. + // + // I am sorry that you have to see this. + return $1 + $1 + $2 + '|' + }) -"use strict"; + this.debug('tail=%j\n %s', tail, tail, pl, re) + var t = pl.type === '*' ? star + : pl.type === '?' ? qmark + : '\\' + pl.type + hasMagic = true + re = re.slice(0, pl.reStart) + t + '\\(' + tail + } -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.home = undefined; + // handle trailing things that only matter at the very end. + clearStateChar() + if (escaping) { + // trailing \\ + re += '\\\\' + } -var _rootUser; + // only need to apply the nodot start if the re starts with + // something that could conceivably capture a dot + var addPatternStart = false + switch (re.charAt(0)) { + case '.': + case '[': + case '(': addPatternStart = true + } -function _load_rootUser() { - return _rootUser = _interopRequireDefault(__webpack_require__(169)); -} + // Hack to work around lack of negative lookbehind in JS + // A pattern like: *.!(x).!(y|z) needs to ensure that a name + // like 'a.xyz.yz' doesn't match. So, the first negative + // lookahead, has to look ALL the way ahead, to the end of + // the pattern. + for (var n = negativeLists.length - 1; n > -1; n--) { + var nl = negativeLists[n] -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + var nlBefore = re.slice(0, nl.reStart) + var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) + var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + var nlAfter = re.slice(nl.reEnd) -const path = __webpack_require__(0); + nlLast += nlAfter -const home = exports.home = __webpack_require__(36).homedir(); + // Handle nested stuff like *(*.js|!(*.json)), where open parens + // mean that we should *not* include the ) in the bit that is considered + // "after" the negated section. + var openParensBefore = nlBefore.split('(').length - 1 + var cleanAfter = nlAfter + for (i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') + } + nlAfter = cleanAfter -const userHomeDir = (_rootUser || _load_rootUser()).default ? path.resolve('/usr/local/share') : home; + var dollar = '' + if (nlAfter === '' && isSub !== SUBPARSE) { + dollar = '$' + } + var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast + re = newRe + } -exports.default = userHomeDir; + // if the re is not "" at this point, then we need to make sure + // it doesn't match against an empty path part. + // Otherwise a/* will match a/, which it should not. + if (re !== '' && hasMagic) { + re = '(?=.)' + re + } -/***/ }), -/* 46 */ -/***/ (function(module, exports) { + if (addPatternStart) { + re = patternStart + re + } -module.exports = function (it) { - if (typeof it != 'function') throw TypeError(it + ' is not a function!'); - return it; -}; + // parsing just a piece of a larger pattern. + if (isSub === SUBPARSE) { + return [re, hasMagic] + } + // skip the regexp for non-magical patterns + // unescape anything in it, though, so that it'll be + // an exact match against a file etc. + if (!hasMagic) { + return globUnescape(pattern) + } -/***/ }), -/* 47 */ -/***/ (function(module, exports) { + var flags = options.nocase ? 'i' : '' + try { + var regExp = new RegExp('^' + re + '$', flags) + } catch (er) { + // If it was an invalid regular expression, then it can't match + // anything. This trick looks for a character after the end of + // the string, which is of course impossible, except in multi-line + // mode, but it's not a /m regex. + return new RegExp('$.') + } -var toString = {}.toString; + regExp._glob = pattern + regExp._src = re -module.exports = function (it) { - return toString.call(it).slice(8, -1); -}; + return regExp +} +minimatch.makeRe = function (pattern, options) { + return new Minimatch(pattern, options || {}).makeRe() +} -/***/ }), -/* 48 */ -/***/ (function(module, exports, __webpack_require__) { +Minimatch.prototype.makeRe = makeRe +function makeRe () { + if (this.regexp || this.regexp === false) return this.regexp -// optional / simple context binding -var aFunction = __webpack_require__(46); -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch (length) { - case 1: return function (a) { - return fn.call(that, a); - }; - case 2: return function (a, b) { - return fn.call(that, a, b); - }; - case 3: return function (a, b, c) { - return fn.call(that, a, b, c); - }; + // at this point, this.set is a 2d array of partial + // pattern strings, or "**". + // + // It's better to use .match(). This function shouldn't + // be used, really, but it's pretty convenient sometimes, + // when you just want to work with a regex. + var set = this.set + + if (!set.length) { + this.regexp = false + return this.regexp } - return function (/* ...args */) { - return fn.apply(that, arguments); - }; -}; + var options = this.options + var twoStar = options.noglobstar ? star + : options.dot ? twoStarDot + : twoStarNoDot + var flags = options.nocase ? 'i' : '' -/***/ }), -/* 49 */ -/***/ (function(module, exports) { + var re = set.map(function (pattern) { + return pattern.map(function (p) { + return (p === GLOBSTAR) ? twoStar + : (typeof p === 'string') ? regExpEscape(p) + : p._src + }).join('\\\/') + }).join('|') -var hasOwnProperty = {}.hasOwnProperty; -module.exports = function (it, key) { - return hasOwnProperty.call(it, key); -}; + // must match entire pattern + // ending in a * or ** will make it less strict. + re = '^(?:' + re + ')$' + // can match anything, as long as it's not this. + if (this.negate) re = '^(?!' + re + ').*$' -/***/ }), -/* 50 */ -/***/ (function(module, exports, __webpack_require__) { + try { + this.regexp = new RegExp(re, flags) + } catch (ex) { + this.regexp = false + } + return this.regexp +} -var anObject = __webpack_require__(27); -var IE8_DOM_DEFINE = __webpack_require__(184); -var toPrimitive = __webpack_require__(201); -var dP = Object.defineProperty; +minimatch.match = function (list, pattern, options) { + options = options || {} + var mm = new Minimatch(pattern, options) + list = list.filter(function (f) { + return mm.match(f) + }) + if (mm.options.nonull && !list.length) { + list.push(pattern) + } + return list +} -exports.f = __webpack_require__(33) ? Object.defineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) try { - return dP(O, P, Attributes); - } catch (e) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); - if ('value' in Attributes) O[P] = Attributes.value; - return O; -}; +Minimatch.prototype.match = match +function match (f, partial) { + this.debug('match', f, this.pattern) + // short-circuit in the case of busted things. + // comments, etc. + if (this.comment) return false + if (this.empty) return f === '' + if (f === '/' && partial) return true -/***/ }), -/* 51 */, -/* 52 */, -/* 53 */, -/* 54 */ -/***/ (function(module, exports) { + var options = this.options -module.exports = __webpack_require__(155); + // windows: need to use /, not \ + if (path.sep !== '/') { + f = f.split(path.sep).join('/') + } -/***/ }), -/* 55 */ -/***/ (function(module, exports, __webpack_require__) { + // treat the test path as a set of pathparts. + f = f.split(slashSplit) + this.debug(this.pattern, 'split', f) -"use strict"; + // just ONE of the pattern sets in this.set needs to match + // in order for it to be valid. If negating, then just one + // match means that we have failed. + // Either way, return on the first hit. + var set = this.set + this.debug(this.pattern, 'set', set) -const Buffer = __webpack_require__(32).Buffer + // Find the basename of the path by looking for the last non-empty segment + var filename + var i + for (i = f.length - 1; i >= 0; i--) { + filename = f[i] + if (filename) break + } -const crypto = __webpack_require__(9) -const Transform = __webpack_require__(17).Transform + for (i = 0; i < set.length; i++) { + var pattern = set[i] + var file = f + if (options.matchBase && pattern.length === 1) { + file = [filename] + } + var hit = this.matchOne(file, pattern, partial) + if (hit) { + if (options.flipNegate) return true + return !this.negate + } + } -const SPEC_ALGORITHMS = ['sha256', 'sha384', 'sha512'] + // didn't get any hits. this is success if it's a negative + // pattern, failure otherwise. + if (options.flipNegate) return false + return this.negate +} -const BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i -const SRI_REGEX = /^([^-]+)-([^?]+)([?\S*]*)$/ -const STRICT_SRI_REGEX = /^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/ -const VCHAR_REGEX = /^[\x21-\x7E]+$/ +// set partial to true to test if, for example, +// "/a/b" matches the start of "/*/b/*/d" +// Partial means, if you run out of file before you run +// out of pattern, then that's fine, as long as all +// the parts match. +Minimatch.prototype.matchOne = function (file, pattern, partial) { + var options = this.options -class Hash { - get isHash () { return true } - constructor (hash, opts) { - const strict = !!(opts && opts.strict) - this.source = hash.trim() - // 3.1. Integrity metadata (called "Hash" by ssri) - // https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description - const match = this.source.match( - strict - ? STRICT_SRI_REGEX - : SRI_REGEX - ) - if (!match) { return } - if (strict && !SPEC_ALGORITHMS.some(a => a === match[1])) { return } - this.algorithm = match[1] - this.digest = match[2] + this.debug('matchOne', + { 'this': this, file: file, pattern: pattern }) - const rawOpts = match[3] - this.options = rawOpts ? rawOpts.slice(1).split('?') : [] - } - hexDigest () { - return this.digest && Buffer.from(this.digest, 'base64').toString('hex') - } - toJSON () { - return this.toString() - } - toString (opts) { - if (opts && opts.strict) { - // Strict mode enforces the standard as close to the foot of the - // letter as it can. - if (!( - // The spec has very restricted productions for algorithms. - // https://www.w3.org/TR/CSP2/#source-list-syntax - SPEC_ALGORITHMS.some(x => x === this.algorithm) && - // Usually, if someone insists on using a "different" base64, we - // leave it as-is, since there's multiple standards, and the - // specified is not a URL-safe variant. - // https://www.w3.org/TR/CSP2/#base64_value - this.digest.match(BASE64_REGEX) && - // Option syntax is strictly visual chars. - // https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression - // https://tools.ietf.org/html/rfc5234#appendix-B.1 - (this.options || []).every(opt => opt.match(VCHAR_REGEX)) - )) { - return '' - } - } - const options = this.options && this.options.length - ? `?${this.options.join('?')}` - : '' - return `${this.algorithm}-${this.digest}${options}` - } -} + this.debug('matchOne', file.length, pattern.length) -class Integrity { - get isIntegrity () { return true } - toJSON () { - return this.toString() - } - toString (opts) { - opts = opts || {} - let sep = opts.sep || ' ' - if (opts.strict) { - // Entries must be separated by whitespace, according to spec. - sep = sep.replace(/\S+/g, ' ') - } - return Object.keys(this).map(k => { - return this[k].map(hash => { - return Hash.prototype.toString.call(hash, opts) - }).filter(x => x.length).join(sep) - }).filter(x => x.length).join(sep) - } - concat (integrity, opts) { - const other = typeof integrity === 'string' - ? integrity - : stringify(integrity, opts) - return parse(`${this.toString(opts)} ${other}`, opts) - } - hexDigest () { - return parse(this, {single: true}).hexDigest() - } - match (integrity, opts) { - const other = parse(integrity, opts) - const algo = other.pickAlgorithm(opts) - return ( - this[algo] && - other[algo] && - this[algo].find(hash => - other[algo].find(otherhash => - hash.digest === otherhash.digest - ) - ) - ) || false - } - pickAlgorithm (opts) { - const pickAlgorithm = (opts && opts.pickAlgorithm) || getPrioritizedHash - const keys = Object.keys(this) - if (!keys.length) { - throw new Error(`No algorithms available for ${ - JSON.stringify(this.toString()) - }`) - } - return keys.reduce((acc, algo) => { - return pickAlgorithm(acc, algo) || acc - }) - } -} + for (var fi = 0, + pi = 0, + fl = file.length, + pl = pattern.length + ; (fi < fl) && (pi < pl) + ; fi++, pi++) { + this.debug('matchOne loop') + var p = pattern[pi] + var f = file[fi] -module.exports.parse = parse -function parse (sri, opts) { - opts = opts || {} - if (typeof sri === 'string') { - return _parse(sri, opts) - } else if (sri.algorithm && sri.digest) { - const fullSri = new Integrity() - fullSri[sri.algorithm] = [sri] - return _parse(stringify(fullSri, opts), opts) - } else { - return _parse(stringify(sri, opts), opts) - } -} + this.debug(pattern, p, f) -function _parse (integrity, opts) { - // 3.4.3. Parse metadata - // https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata - if (opts.single) { - return new Hash(integrity, opts) - } - return integrity.trim().split(/\s+/).reduce((acc, string) => { - const hash = new Hash(string, opts) - if (hash.algorithm && hash.digest) { - const algo = hash.algorithm - if (!acc[algo]) { acc[algo] = [] } - acc[algo].push(hash) - } - return acc - }, new Integrity()) -} + // should be impossible. + // some invalid regexp stuff in the set. + if (p === false) return false -module.exports.stringify = stringify -function stringify (obj, opts) { - if (obj.algorithm && obj.digest) { - return Hash.prototype.toString.call(obj, opts) - } else if (typeof obj === 'string') { - return stringify(parse(obj, opts), opts) - } else { - return Integrity.prototype.toString.call(obj, opts) - } -} + if (p === GLOBSTAR) { + this.debug('GLOBSTAR', [pattern, p, f]) -module.exports.fromHex = fromHex -function fromHex (hexDigest, algorithm, opts) { - const optString = (opts && opts.options && opts.options.length) - ? `?${opts.options.join('?')}` - : '' - return parse( - `${algorithm}-${ - Buffer.from(hexDigest, 'hex').toString('base64') - }${optString}`, opts - ) -} + // "**" + // a/**/b/**/c would match the following: + // a/b/x/y/z/c + // a/x/y/z/b/c + // a/b/x/b/x/c + // a/b/c + // To do this, take the rest of the pattern after + // the **, and see if it would match the file remainder. + // If so, return success. + // If not, the ** "swallows" a segment, and try again. + // This is recursively awful. + // + // a/**/b/**/c matching a/b/x/y/z/c + // - a matches a + // - doublestar + // - matchOne(b/x/y/z/c, b/**/c) + // - b matches b + // - doublestar + // - matchOne(x/y/z/c, c) -> no + // - matchOne(y/z/c, c) -> no + // - matchOne(z/c, c) -> no + // - matchOne(c, c) yes, hit + var fr = fi + var pr = pi + 1 + if (pr === pl) { + this.debug('** at the end') + // a ** at the end will just swallow the rest. + // We have found a match. + // however, it will not swallow /.x, unless + // options.dot is set. + // . and .. are *never* matched by **, for explosively + // exponential reasons. + for (; fi < fl; fi++) { + if (file[fi] === '.' || file[fi] === '..' || + (!options.dot && file[fi].charAt(0) === '.')) return false + } + return true + } -module.exports.fromData = fromData -function fromData (data, opts) { - opts = opts || {} - const algorithms = opts.algorithms || ['sha512'] - const optString = opts.options && opts.options.length - ? `?${opts.options.join('?')}` - : '' - return algorithms.reduce((acc, algo) => { - const digest = crypto.createHash(algo).update(data).digest('base64') - const hash = new Hash( - `${algo}-${digest}${optString}`, - opts - ) - if (hash.algorithm && hash.digest) { - const algo = hash.algorithm - if (!acc[algo]) { acc[algo] = [] } - acc[algo].push(hash) - } - return acc - }, new Integrity()) -} + // ok, let's see if we can swallow whatever we can. + while (fr < fl) { + var swallowee = file[fr] -module.exports.fromStream = fromStream -function fromStream (stream, opts) { - opts = opts || {} - const P = opts.Promise || Promise - const istream = integrityStream(opts) - return new P((resolve, reject) => { - stream.pipe(istream) - stream.on('error', reject) - istream.on('error', reject) - let sri - istream.on('integrity', s => { sri = s }) - istream.on('end', () => resolve(sri)) - istream.on('data', () => {}) - }) -} + this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) -module.exports.checkData = checkData -function checkData (data, sri, opts) { - opts = opts || {} - sri = parse(sri, opts) - if (!Object.keys(sri).length) { - if (opts.error) { - throw Object.assign( - new Error('No valid integrity hashes to check against'), { - code: 'EINTEGRITY' + // XXX remove this slice. Just pass the start index. + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug('globstar found match!', fr, fl, swallowee) + // found a match. + return true + } else { + // can't swallow "." or ".." ever. + // can only swallow ".foo" when explicitly asked. + if (swallowee === '.' || swallowee === '..' || + (!options.dot && swallowee.charAt(0) === '.')) { + this.debug('dot detected!', file, fr, pattern, pr) + break + } + + // ** swallows a segment, and continue. + this.debug('globstar swallow a segment, and continue') + fr++ } - ) - } else { + } + + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then + if (partial) { + // ran out of file + this.debug('\n>>> no match, partial?', file, fr, pattern, pr) + if (fr === fl) return true + } return false } + + // something other than ** + // non-magic patterns just have to match exactly + // patterns with magic have been turned into regexps. + var hit + if (typeof p === 'string') { + if (options.nocase) { + hit = f.toLowerCase() === p.toLowerCase() + } else { + hit = f === p + } + this.debug('string match', p, f, hit) + } else { + hit = f.match(p) + this.debug('pattern match', p, f, hit) + } + + if (!hit) return false } - const algorithm = sri.pickAlgorithm(opts) - const digest = crypto.createHash(algorithm).update(data).digest('base64') - const newSri = parse({algorithm, digest}) - const match = newSri.match(sri, opts) - if (match || !opts.error) { - return match - } else if (typeof opts.size === 'number' && (data.length !== opts.size)) { - const err = new Error(`data size mismatch when checking ${sri}.\n Wanted: ${opts.size}\n Found: ${data.length}`) - err.code = 'EBADSIZE' - err.found = data.length - err.expected = opts.size - err.sri = sri - throw err - } else { - const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`) - err.code = 'EINTEGRITY' - err.found = newSri - err.expected = sri - err.algorithm = algorithm - err.sri = sri - throw err + + // Note: ending in / means that we'll get a final "" + // at the end of the pattern. This can only match a + // corresponding "" at the end of the file. + // If the file ends in /, then it can only match a + // a pattern that ends in /, unless the pattern just + // doesn't have any more for it. But, a/b/ should *not* + // match "a/b/*", even though "" matches against the + // [^/]*? pattern, except in partial mode, where it might + // simply not be reached yet. + // However, a/b/ should still satisfy a/* + + // now either we fell off the end of the pattern, or we're done. + if (fi === fl && pi === pl) { + // ran out of pattern and filename at the same time. + // an exact hit! + return true + } else if (fi === fl) { + // ran out of file, but still had pattern left. + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial + } else if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ + var emptyFileEnd = (fi === fl - 1) && (file[fi] === '') + return emptyFileEnd } + + // should be unreachable. + throw new Error('wtf?') } -module.exports.checkStream = checkStream -function checkStream (stream, sri, opts) { - opts = opts || {} - const P = opts.Promise || Promise - const checker = integrityStream(Object.assign({}, opts, { - integrity: sri - })) - return new P((resolve, reject) => { - stream.pipe(checker) - stream.on('error', reject) - checker.on('error', reject) - let sri - checker.on('verified', s => { sri = s }) - checker.on('end', () => resolve(sri)) - checker.on('data', () => {}) - }) +// replace stuff like \* with * +function globUnescape (s) { + return s.replace(/\\(.)/g, '$1') } -module.exports.integrityStream = integrityStream -function integrityStream (opts) { - opts = opts || {} - // For verification - const sri = opts.integrity && parse(opts.integrity, opts) - const goodSri = sri && Object.keys(sri).length - const algorithm = goodSri && sri.pickAlgorithm(opts) - const digests = goodSri && sri[algorithm] - // Calculating stream - const algorithms = Array.from( - new Set( - (opts.algorithms || ['sha512']) - .concat(algorithm ? [algorithm] : []) - ) - ) - const hashes = algorithms.map(crypto.createHash) - let streamSize = 0 - const stream = new Transform({ - transform (chunk, enc, cb) { - streamSize += chunk.length - hashes.forEach(h => h.update(chunk, enc)) - cb(null, chunk, enc) - } - }).on('end', () => { - const optString = (opts.options && opts.options.length) - ? `?${opts.options.join('?')}` - : '' - const newSri = parse(hashes.map((h, i) => { - return `${algorithms[i]}-${h.digest('base64')}${optString}` - }).join(' '), opts) - // Integrity verification mode - const match = goodSri && newSri.match(sri, opts) - if (typeof opts.size === 'number' && streamSize !== opts.size) { - const err = new Error(`stream size mismatch when checking ${sri}.\n Wanted: ${opts.size}\n Found: ${streamSize}`) - err.code = 'EBADSIZE' - err.found = streamSize - err.expected = opts.size - err.sri = sri - stream.emit('error', err) - } else if (opts.integrity && !match) { - const err = new Error(`${sri} integrity checksum failed when using ${algorithm}: wanted ${digests} but got ${newSri}. (${streamSize} bytes)`) - err.code = 'EINTEGRITY' - err.found = newSri - err.expected = digests - err.algorithm = algorithm - err.sri = sri - stream.emit('error', err) - } else { - stream.emit('size', streamSize) - stream.emit('integrity', newSri) - match && stream.emit('verified', match) - } - }) - return stream +function regExpEscape (s) { + return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') } -module.exports.create = createIntegrity -function createIntegrity (opts) { - opts = opts || {} - const algorithms = opts.algorithms || ['sha512'] - const optString = opts.options && opts.options.length - ? `?${opts.options.join('?')}` - : '' - const hashes = algorithms.map(crypto.createHash) +/***/ }), +/* 61 */ +/***/ (function(module, exports, __webpack_require__) { - return { - update: function (chunk, enc) { - hashes.forEach(h => h.update(chunk, enc)) - return this +var wrappy = __webpack_require__(123) +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) }, - digest: function (enc) { - const integrity = algorithms.reduce((acc, algo) => { - const digest = hashes.shift().digest('base64') - const hash = new Hash( - `${algo}-${digest}${optString}`, - opts - ) - if (hash.algorithm && hash.digest) { - const algo = hash.algorithm - if (!acc[algo]) { acc[algo] = [] } - acc[algo].push(hash) - } - return acc - }, new Integrity()) + configurable: true + }) - return integrity - } + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) } + f.called = false + return f } -const NODE_HASHES = new Set(crypto.getHashes()) +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} -// This is a Best Effort™ at a reasonable priority for hash algos -const DEFAULT_PRIORITY = [ - 'md5', 'whirlpool', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512', - // TODO - it's unclear _which_ of these Node will actually use as its name - // for the algorithm, so we guesswork it based on the OpenSSL names. - 'sha3', - 'sha3-256', 'sha3-384', 'sha3-512', - 'sha3_256', 'sha3_384', 'sha3_512' -].filter(algo => NODE_HASHES.has(algo)) -function getPrioritizedHash (algo1, algo2) { - return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) - ? algo1 - : algo2 -} +/***/ }), +/* 62 */, +/* 63 */ +/***/ (function(module, exports) { +module.exports = __webpack_require__(285); /***/ }), -/* 56 */, -/* 57 */, -/* 58 */, -/* 59 */, -/* 60 */ -/***/ (function(module, exports, __webpack_require__) { +/* 64 */, +/* 65 */, +/* 66 */, +/* 67 */ +/***/ (function(module, exports) { -module.exports = minimatch -minimatch.Minimatch = Minimatch +// 7.2.1 RequireObjectCoercible(argument) +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; -var path = { sep: '/' } -try { - path = __webpack_require__(0) -} catch (er) {} -var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} -var expand = __webpack_require__(175) +/***/ }), +/* 68 */ +/***/ (function(module, exports, __webpack_require__) { -var plTypes = { - '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, - '?': { open: '(?:', close: ')?' }, - '+': { open: '(?:', close: ')+' }, - '*': { open: '(?:', close: ')*' }, - '@': { open: '(?:', close: ')' } -} +var isObject = __webpack_require__(34); +var document = __webpack_require__(11).document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return is ? document.createElement(it) : {}; +}; -// any single thing other than / -// don't need to escape / when using new RegExp() -var qmark = '[^/]' -// * => any number of characters -var star = qmark + '*?' +/***/ }), +/* 69 */ +/***/ (function(module, exports) { -// ** when dots are allowed. Anything goes, except .. and . -// not (^ or / followed by one or two dots followed by $ or /), -// followed by anything, any number of times. -var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' +module.exports = true; -// not a ^ or / followed by a dot, -// followed by anything, any number of times. -var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' -// characters that need to be escaped in RegExp. -var reSpecials = charSet('().*{}+?[]^$\\!') +/***/ }), +/* 70 */ +/***/ (function(module, exports, __webpack_require__) { -// "abc" -> { a:true, b:true, c:true } -function charSet (s) { - return s.split('').reduce(function (set, c) { - set[c] = true - return set - }, {}) -} +"use strict"; -// normalizes slashes. -var slashSplit = /\/+/ +// 25.4.1.5 NewPromiseCapability(C) +var aFunction = __webpack_require__(46); -minimatch.filter = filter -function filter (pattern, options) { - options = options || {} - return function (p, i, list) { - return minimatch(p, pattern, options) - } +function PromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); } -function ext (a, b) { - a = a || {} - b = b || {} - var t = {} - Object.keys(b).forEach(function (k) { - t[k] = b[k] - }) - Object.keys(a).forEach(function (k) { - t[k] = a[k] - }) - return t -} +module.exports.f = function (C) { + return new PromiseCapability(C); +}; -minimatch.defaults = function (def) { - if (!def || !Object.keys(def).length) return minimatch - var orig = minimatch +/***/ }), +/* 71 */ +/***/ (function(module, exports, __webpack_require__) { - var m = function minimatch (p, pattern, options) { - return orig.minimatch(p, pattern, ext(def, options)) - } +var def = __webpack_require__(50).f; +var has = __webpack_require__(49); +var TAG = __webpack_require__(13)('toStringTag'); - m.Minimatch = function Minimatch (pattern, options) { - return new orig.Minimatch(pattern, ext(def, options)) - } +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; - return m -} -Minimatch.defaults = function (def) { - if (!def || !Object.keys(def).length) return Minimatch - return minimatch.defaults(def).Minimatch -} +/***/ }), +/* 72 */ +/***/ (function(module, exports, __webpack_require__) { -function minimatch (p, pattern, options) { - if (typeof pattern !== 'string') { - throw new TypeError('glob pattern string required') - } +var shared = __webpack_require__(107)('keys'); +var uid = __webpack_require__(111); +module.exports = function (key) { + return shared[key] || (shared[key] = uid(key)); +}; - if (!options) options = {} - // shortcut: comments match nothing. - if (!options.nocomment && pattern.charAt(0) === '#') { - return false - } +/***/ }), +/* 73 */ +/***/ (function(module, exports) { - // "" only matches "" - if (pattern.trim() === '') return p === '' +// 7.1.4 ToInteger +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); +}; - return new Minimatch(pattern, options).match(p) -} -function Minimatch (pattern, options) { - if (!(this instanceof Minimatch)) { - return new Minimatch(pattern, options) - } +/***/ }), +/* 74 */ +/***/ (function(module, exports, __webpack_require__) { - if (typeof pattern !== 'string') { - throw new TypeError('glob pattern string required') - } +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = __webpack_require__(131); +var defined = __webpack_require__(67); +module.exports = function (it) { + return IObject(defined(it)); +}; - if (!options) options = {} - pattern = pattern.trim() - // windows support: need to use /, not \ - if (path.sep !== '/') { - pattern = pattern.split(path.sep).join('/') - } +/***/ }), +/* 75 */ +/***/ (function(module, exports, __webpack_require__) { - this.options = options - this.set = [] - this.pattern = pattern - this.regexp = null - this.negate = false - this.comment = false - this.empty = false +// Approach: +// +// 1. Get the minimatch set +// 2. For each pattern in the set, PROCESS(pattern, false) +// 3. Store matches per-set, then uniq them +// +// PROCESS(pattern, inGlobStar) +// Get the first [n] items from pattern that are all strings +// Join these together. This is PREFIX. +// If there is no more remaining, then stat(PREFIX) and +// add to matches if it succeeds. END. +// +// If inGlobStar and PREFIX is symlink and points to dir +// set ENTRIES = [] +// else readdir(PREFIX) as ENTRIES +// If fail, END +// +// with ENTRIES +// If pattern[n] is GLOBSTAR +// // handle the case where the globstar match is empty +// // by pruning it out, and testing the resulting pattern +// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) +// // handle other cases. +// for ENTRY in ENTRIES (not dotfiles) +// // attach globstar + tail onto the entry +// // Mark that this entry is a globstar match +// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) +// +// else // not globstar +// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) +// Test ENTRY against pattern[n] +// If fails, continue +// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) +// +// Caveat: +// Cache all stats and readdirs results to minimize syscall. Since all +// we ever care about is existence and directory-ness, we can just keep +// `true` for files, and [children,...] for directories, or `false` for +// things that don't exist. - // make the set of regexps etc. - this.make() -} +module.exports = glob -Minimatch.prototype.debug = function () {} +var fs = __webpack_require__(3) +var rp = __webpack_require__(114) +var minimatch = __webpack_require__(60) +var Minimatch = minimatch.Minimatch +var inherits = __webpack_require__(42) +var EE = __webpack_require__(54).EventEmitter +var path = __webpack_require__(0) +var assert = __webpack_require__(22) +var isAbsolute = __webpack_require__(76) +var globSync = __webpack_require__(218) +var common = __webpack_require__(115) +var alphasort = common.alphasort +var alphasorti = common.alphasorti +var setopts = common.setopts +var ownProp = common.ownProp +var inflight = __webpack_require__(223) +var util = __webpack_require__(2) +var childrenIgnored = common.childrenIgnored +var isIgnored = common.isIgnored -Minimatch.prototype.make = make -function make () { - // don't do it more than once. - if (this._made) return +var once = __webpack_require__(61) - var pattern = this.pattern - var options = this.options +function glob (pattern, options, cb) { + if (typeof options === 'function') cb = options, options = {} + if (!options) options = {} - // empty patterns and comments match nothing. - if (!options.nocomment && pattern.charAt(0) === '#') { - this.comment = true - return - } - if (!pattern) { - this.empty = true - return + if (options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return globSync(pattern, options) } - // step 1: figure out negation, etc. - this.parseNegate() + return new Glob(pattern, options, cb) +} - // step 2: expand braces - var set = this.globSet = this.braceExpand() +glob.sync = globSync +var GlobSync = glob.GlobSync = globSync.GlobSync - if (options.debug) this.debug = console.error +// old api surface +glob.glob = glob - this.debug(this.pattern, set) +function extend (origin, add) { + if (add === null || typeof add !== 'object') { + return origin + } - // step 3: now we have a set, so turn each one into a series of path-portion - // matching patterns. - // These will be regexps, except in the case of "**", which is - // set to the GLOBSTAR object for globstar behavior, - // and will not contain any / characters - set = this.globParts = set.map(function (s) { - return s.split(slashSplit) - }) + var keys = Object.keys(add) + var i = keys.length + while (i--) { + origin[keys[i]] = add[keys[i]] + } + return origin +} - this.debug(this.pattern, set) +glob.hasMagic = function (pattern, options_) { + var options = extend({}, options_) + options.noprocess = true - // glob --> regexps - set = set.map(function (s, si, set) { - return s.map(this.parse, this) - }, this) + var g = new Glob(pattern, options) + var set = g.minimatch.set - this.debug(this.pattern, set) + if (!pattern) + return false - // filter out everything that didn't compile properly. - set = set.filter(function (s) { - return s.indexOf(false) === -1 - }) + if (set.length > 1) + return true - this.debug(this.pattern, set) + for (var j = 0; j < set[0].length; j++) { + if (typeof set[0][j] !== 'string') + return true + } - this.set = set + return false } -Minimatch.prototype.parseNegate = parseNegate -function parseNegate () { - var pattern = this.pattern - var negate = false - var options = this.options - var negateOffset = 0 - - if (options.nonegate) return - - for (var i = 0, l = pattern.length - ; i < l && pattern.charAt(i) === '!' - ; i++) { - negate = !negate - negateOffset++ +glob.Glob = Glob +inherits(Glob, EE) +function Glob (pattern, options, cb) { + if (typeof options === 'function') { + cb = options + options = null } - if (negateOffset) this.pattern = pattern.substr(negateOffset) - this.negate = negate -} - -// Brace expansion: -// a{b,c}d -> abd acd -// a{b,}c -> abc ac -// a{0..3}d -> a0d a1d a2d a3d -// a{b,c{d,e}f}g -> abg acdfg acefg -// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg -// -// Invalid sets are not expanded. -// a{2..}b -> a{2..}b -// a{b}c -> a{b}c -minimatch.braceExpand = function (pattern, options) { - return braceExpand(pattern, options) -} + if (options && options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return new GlobSync(pattern, options) + } -Minimatch.prototype.braceExpand = braceExpand + if (!(this instanceof Glob)) + return new Glob(pattern, options, cb) -function braceExpand (pattern, options) { - if (!options) { - if (this instanceof Minimatch) { - options = this.options - } else { - options = {} - } - } + setopts(this, pattern, options) + this._didRealPath = false - pattern = typeof pattern === 'undefined' - ? this.pattern : pattern + // process each pattern in the minimatch set + var n = this.minimatch.set.length - if (typeof pattern === 'undefined') { - throw new TypeError('undefined pattern') - } + // The matches are stored as {: true,...} so that + // duplicates are automagically pruned. + // Later, we do an Object.keys() on these. + // Keep them as a list so we can fill in when nonull is set. + this.matches = new Array(n) - if (options.nobrace || - !pattern.match(/\{.*\}/)) { - // shortcut. no need to expand. - return [pattern] + if (typeof cb === 'function') { + cb = once(cb) + this.on('error', cb) + this.on('end', function (matches) { + cb(null, matches) + }) } - return expand(pattern) -} + var self = this + this._processing = 0 -// parse a component of the expanded set. -// At this point, no pattern may contain "/" in it -// so we're going to return a 2d array, where each entry is the full -// pattern, split on '/', and then turned into a regular expression. -// A regexp is made at the end which joins each array with an -// escaped /, and another full one which joins each regexp with |. -// -// Following the lead of Bash 4.1, note that "**" only has special meaning -// when it is the *only* thing in a path portion. Otherwise, any series -// of * is equivalent to a single *. Globstar behavior is enabled by -// default, and can be disabled by setting options.noglobstar. -Minimatch.prototype.parse = parse -var SUBPARSE = {} -function parse (pattern, isSub) { - if (pattern.length > 1024 * 64) { - throw new TypeError('pattern is too long') - } + this._emitQueue = [] + this._processQueue = [] + this.paused = false - var options = this.options + if (this.noprocess) + return this - // shortcuts - if (!options.noglobstar && pattern === '**') return GLOBSTAR - if (pattern === '') return '' + if (n === 0) + return done() - var re = '' - var hasMagic = !!options.nocase - var escaping = false - // ? => one single character - var patternListStack = [] - var negativeLists = [] - var stateChar - var inClass = false - var reClassStart = -1 - var classStart = -1 - // . and .. never match anything that doesn't start with ., - // even when options.dot is set. - var patternStart = pattern.charAt(0) === '.' ? '' // anything - // not (start or / followed by . or .. followed by / or end) - : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' - : '(?!\\.)' - var self = this + var sync = true + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false, done) + } + sync = false - function clearStateChar () { - if (stateChar) { - // we had some state-tracking character - // that wasn't consumed by this pass. - switch (stateChar) { - case '*': - re += star - hasMagic = true - break - case '?': - re += qmark - hasMagic = true - break - default: - re += '\\' + stateChar - break + function done () { + --self._processing + if (self._processing <= 0) { + if (sync) { + process.nextTick(function () { + self._finish() + }) + } else { + self._finish() } - self.debug('clearStateChar %j %j', stateChar, re) - stateChar = false } } +} - for (var i = 0, len = pattern.length, c - ; (i < len) && (c = pattern.charAt(i)) - ; i++) { - this.debug('%s\t%s %s %j', pattern, i, re, c) +Glob.prototype._finish = function () { + assert(this instanceof Glob) + if (this.aborted) + return - // skip over any that are escaped. - if (escaping && reSpecials[c]) { - re += '\\' + c - escaping = false - continue - } + if (this.realpath && !this._didRealpath) + return this._realpath() - switch (c) { - case '/': - // completely not allowed, even escaped. - // Should already be path-split by now. - return false + common.finish(this) + this.emit('end', this.found) +} - case '\\': - clearStateChar() - escaping = true - continue +Glob.prototype._realpath = function () { + if (this._didRealpath) + return - // the various stateChar values - // for the "extglob" stuff. - case '?': - case '*': - case '+': - case '@': - case '!': - this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) + this._didRealpath = true - // all of those are literals inside a class, except that - // the glob [!a] means [^a] in regexp - if (inClass) { - this.debug(' in class') - if (c === '!' && i === classStart + 1) c = '^' - re += c - continue - } + var n = this.matches.length + if (n === 0) + return this._finish() - // if we already have a stateChar, then it means - // that there was something like ** or +? in there. - // Handle the stateChar, then proceed with this one. - self.debug('call clearStateChar %j', stateChar) - clearStateChar() - stateChar = c - // if extglob is disabled, then +(asdf|foo) isn't a thing. - // just clear the statechar *now*, rather than even diving into - // the patternList stuff. - if (options.noext) clearStateChar() - continue + var self = this + for (var i = 0; i < this.matches.length; i++) + this._realpathSet(i, next) - case '(': - if (inClass) { - re += '(' - continue - } + function next () { + if (--n === 0) + self._finish() + } +} - if (!stateChar) { - re += '\\(' - continue - } +Glob.prototype._realpathSet = function (index, cb) { + var matchset = this.matches[index] + if (!matchset) + return cb() - patternListStack.push({ - type: stateChar, - start: i - 1, - reStart: re.length, - open: plTypes[stateChar].open, - close: plTypes[stateChar].close - }) - // negation is (?:(?!js)[^/]*) - re += stateChar === '!' ? '(?:(?!(?:' : '(?:' - this.debug('plType %j %j', stateChar, re) - stateChar = false - continue + var found = Object.keys(matchset) + var self = this + var n = found.length - case ')': - if (inClass || !patternListStack.length) { - re += '\\)' - continue - } + if (n === 0) + return cb() - clearStateChar() - hasMagic = true - var pl = patternListStack.pop() - // negation is (?:(?!js)[^/]*) - // The others are (?:) - re += pl.close - if (pl.type === '!') { - negativeLists.push(pl) - } - pl.reEnd = re.length - continue + var set = this.matches[index] = Object.create(null) + found.forEach(function (p, i) { + // If there's a problem with the stat, then it means that + // one or more of the links in the realpath couldn't be + // resolved. just return the abs value in that case. + p = self._makeAbs(p) + rp.realpath(p, self.realpathCache, function (er, real) { + if (!er) + set[real] = true + else if (er.syscall === 'stat') + set[p] = true + else + self.emit('error', er) // srsly wtf right here - case '|': - if (inClass || !patternListStack.length || escaping) { - re += '\\|' - escaping = false - continue - } + if (--n === 0) { + self.matches[index] = set + cb() + } + }) + }) +} - clearStateChar() - re += '|' - continue +Glob.prototype._mark = function (p) { + return common.mark(this, p) +} - // these are mostly the same in regexp and glob - case '[': - // swallow any state-tracking char before the [ - clearStateChar() +Glob.prototype._makeAbs = function (f) { + return common.makeAbs(this, f) +} - if (inClass) { - re += '\\' + c - continue - } +Glob.prototype.abort = function () { + this.aborted = true + this.emit('abort') +} - inClass = true - classStart = i - reClassStart = re.length - re += c - continue +Glob.prototype.pause = function () { + if (!this.paused) { + this.paused = true + this.emit('pause') + } +} - case ']': - // a right bracket shall lose its special - // meaning and represent itself in - // a bracket expression if it occurs - // first in the list. -- POSIX.2 2.8.3.2 - if (i === classStart + 1 || !inClass) { - re += '\\' + c - escaping = false - continue - } +Glob.prototype.resume = function () { + if (this.paused) { + this.emit('resume') + this.paused = false + if (this._emitQueue.length) { + var eq = this._emitQueue.slice(0) + this._emitQueue.length = 0 + for (var i = 0; i < eq.length; i ++) { + var e = eq[i] + this._emitMatch(e[0], e[1]) + } + } + if (this._processQueue.length) { + var pq = this._processQueue.slice(0) + this._processQueue.length = 0 + for (var i = 0; i < pq.length; i ++) { + var p = pq[i] + this._processing-- + this._process(p[0], p[1], p[2], p[3]) + } + } + } +} - // handle the case where we left a class open. - // "[z-a]" is valid, equivalent to "\[z-a\]" - if (inClass) { - // split where the last [ was, make sure we don't have - // an invalid re. if so, re-walk the contents of the - // would-be class to re-translate any characters that - // were passed through as-is - // TODO: It would probably be faster to determine this - // without a try/catch and a new RegExp, but it's tricky - // to do safely. For now, this is safe and works. - var cs = pattern.substring(classStart + 1, i) - try { - RegExp('[' + cs + ']') - } catch (er) { - // not a valid class! - var sp = this.parse(cs, SUBPARSE) - re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' - hasMagic = hasMagic || sp[1] - inClass = false - continue - } - } +Glob.prototype._process = function (pattern, index, inGlobStar, cb) { + assert(this instanceof Glob) + assert(typeof cb === 'function') - // finish up the class. - hasMagic = true - inClass = false - re += c - continue + if (this.aborted) + return - default: - // swallow any state char that wasn't consumed - clearStateChar() + this._processing++ + if (this.paused) { + this._processQueue.push([pattern, index, inGlobStar, cb]) + return + } - if (escaping) { - // no need - escaping = false - } else if (reSpecials[c] - && !(c === '^' && inClass)) { - re += '\\' - } + //console.error('PROCESS %d', this._processing, pattern) - re += c + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === 'string') { + n ++ + } + // now n is the index of the first one that is *not* a string. - } // switch - } // for + // see if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index, cb) + return - // handle the case where we left a class open. - // "[abc" is valid, equivalent to "\[abc" - if (inClass) { - // split where the last [ was, and escape it - // this is a huge pita. We now have to re-walk - // the contents of the would-be class to re-translate - // any characters that were passed through as-is - cs = pattern.substr(classStart + 1) - sp = this.parse(cs, SUBPARSE) - re = re.substr(0, reClassStart) + '\\[' + sp[0] - hasMagic = hasMagic || sp[1] - } + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break - // handle the case where we had a +( thing at the *end* - // of the pattern. - // each pattern list stack adds 3 chars, and we need to go through - // and escape any | chars that were passed through as-is for the regexp. - // Go through and escape them, taking care not to double-escape any - // | chars that were already escaped. - for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { - var tail = re.slice(pl.reStart + pl.open.length) - this.debug('setting tail', re, pl) - // maybe some even number of \, then maybe 1 \, followed by a | - tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { - if (!$2) { - // the | isn't already escaped, so escape it. - $2 = '\\' - } + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/') + break + } - // need to escape all those slashes *again*, without escaping the - // one that we need for escaping the | character. As it works out, - // escaping an even number of slashes can be done by simply repeating - // it exactly after itself. That's why this trick works. - // - // I am sorry that you have to see this. - return $1 + $1 + $2 + '|' - }) + var remain = pattern.slice(n) - this.debug('tail=%j\n %s', tail, tail, pl, re) - var t = pl.type === '*' ? star - : pl.type === '?' ? qmark - : '\\' + pl.type + // get the list of entries. + var read + if (prefix === null) + read = '.' + else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { + if (!prefix || !isAbsolute(prefix)) + prefix = '/' + prefix + read = prefix + } else + read = prefix - hasMagic = true - re = re.slice(0, pl.reStart) + t + '\\(' + tail - } + var abs = this._makeAbs(read) - // handle trailing things that only matter at the very end. - clearStateChar() - if (escaping) { - // trailing \\ - re += '\\\\' - } + //if ignored, skip _processing + if (childrenIgnored(this, read)) + return cb() - // only need to apply the nodot start if the re starts with - // something that could conceivably capture a dot - var addPatternStart = false - switch (re.charAt(0)) { - case '.': - case '[': - case '(': addPatternStart = true - } + var isGlobStar = remain[0] === minimatch.GLOBSTAR + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb) + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb) +} - // Hack to work around lack of negative lookbehind in JS - // A pattern like: *.!(x).!(y|z) needs to ensure that a name - // like 'a.xyz.yz' doesn't match. So, the first negative - // lookahead, has to look ALL the way ahead, to the end of - // the pattern. - for (var n = negativeLists.length - 1; n > -1; n--) { - var nl = negativeLists[n] +Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this + this._readdir(abs, inGlobStar, function (er, entries) { + return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }) +} - var nlBefore = re.slice(0, nl.reStart) - var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) - var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) - var nlAfter = re.slice(nl.reEnd) +Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { - nlLast += nlAfter + // if the abs isn't a dir, then nothing can match! + if (!entries) + return cb() - // Handle nested stuff like *(*.js|!(*.json)), where open parens - // mean that we should *not* include the ) in the bit that is considered - // "after" the negated section. - var openParensBefore = nlBefore.split('(').length - 1 - var cleanAfter = nlAfter - for (i = 0; i < openParensBefore; i++) { - cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') - } - nlAfter = cleanAfter + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0] + var negate = !!this.minimatch.negate + var rawGlob = pn._glob + var dotOk = this.dot || rawGlob.charAt(0) === '.' - var dollar = '' - if (nlAfter === '' && isSub !== SUBPARSE) { - dollar = '$' + var matchedEntries = [] + for (var i = 0; i < entries.length; i++) { + var e = entries[i] + if (e.charAt(0) !== '.' || dotOk) { + var m + if (negate && !prefix) { + m = !e.match(pn) + } else { + m = e.match(pn) + } + if (m) + matchedEntries.push(e) } - var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast - re = newRe - } - - // if the re is not "" at this point, then we need to make sure - // it doesn't match against an empty path part. - // Otherwise a/* will match a/, which it should not. - if (re !== '' && hasMagic) { - re = '(?=.)' + re } - if (addPatternStart) { - re = patternStart + re - } + //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) - // parsing just a piece of a larger pattern. - if (isSub === SUBPARSE) { - return [re, hasMagic] - } + var len = matchedEntries.length + // If there are no matched entries, then nothing matches. + if (len === 0) + return cb() - // skip the regexp for non-magical patterns - // unescape anything in it, though, so that it'll be - // an exact match against a file etc. - if (!hasMagic) { - return globUnescape(pattern) - } + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. - var flags = options.nocase ? 'i' : '' - try { - var regExp = new RegExp('^' + re + '$', flags) - } catch (er) { - // If it was an invalid regular expression, then it can't match - // anything. This trick looks for a character after the end of - // the string, which is of course impossible, except in multi-line - // mode, but it's not a /m regex. - return new RegExp('$.') - } + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) - regExp._glob = pattern - regExp._src = re + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e + else + e = prefix + e + } - return regExp -} + if (e.charAt(0) === '/' && !this.nomount) { + e = path.join(this.root, e) + } + this._emitMatch(index, e) + } + // This was the last one, and no stats were needed + return cb() + } -minimatch.makeRe = function (pattern, options) { - return new Minimatch(pattern, options || {}).makeRe() + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift() + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + var newPattern + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + this._process([e].concat(remain), index, inGlobStar, cb) + } + cb() } -Minimatch.prototype.makeRe = makeRe -function makeRe () { - if (this.regexp || this.regexp === false) return this.regexp +Glob.prototype._emitMatch = function (index, e) { + if (this.aborted) + return - // at this point, this.set is a 2d array of partial - // pattern strings, or "**". - // - // It's better to use .match(). This function shouldn't - // be used, really, but it's pretty convenient sometimes, - // when you just want to work with a regex. - var set = this.set + if (isIgnored(this, e)) + return - if (!set.length) { - this.regexp = false - return this.regexp + if (this.paused) { + this._emitQueue.push([index, e]) + return } - var options = this.options - var twoStar = options.noglobstar ? star - : options.dot ? twoStarDot - : twoStarNoDot - var flags = options.nocase ? 'i' : '' + var abs = isAbsolute(e) ? e : this._makeAbs(e) - var re = set.map(function (pattern) { - return pattern.map(function (p) { - return (p === GLOBSTAR) ? twoStar - : (typeof p === 'string') ? regExpEscape(p) - : p._src - }).join('\\\/') - }).join('|') + if (this.mark) + e = this._mark(e) - // must match entire pattern - // ending in a * or ** will make it less strict. - re = '^(?:' + re + ')$' + if (this.absolute) + e = abs - // can match anything, as long as it's not this. - if (this.negate) re = '^(?!' + re + ').*$' + if (this.matches[index][e]) + return - try { - this.regexp = new RegExp(re, flags) - } catch (ex) { - this.regexp = false + if (this.nodir) { + var c = this.cache[abs] + if (c === 'DIR' || Array.isArray(c)) + return } - return this.regexp -} -minimatch.match = function (list, pattern, options) { - options = options || {} - var mm = new Minimatch(pattern, options) - list = list.filter(function (f) { - return mm.match(f) - }) - if (mm.options.nonull && !list.length) { - list.push(pattern) - } - return list + this.matches[index][e] = true + + var st = this.statCache[abs] + if (st) + this.emit('stat', e, st) + + this.emit('match', e) } -Minimatch.prototype.match = match -function match (f, partial) { - this.debug('match', f, this.pattern) - // short-circuit in the case of busted things. - // comments, etc. - if (this.comment) return false - if (this.empty) return f === '' +Glob.prototype._readdirInGlobStar = function (abs, cb) { + if (this.aborted) + return - if (f === '/' && partial) return true + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false, cb) - var options = this.options + var lstatkey = 'lstat\0' + abs + var self = this + var lstatcb = inflight(lstatkey, lstatcb_) - // windows: need to use /, not \ - if (path.sep !== '/') { - f = f.split(path.sep).join('/') - } + if (lstatcb) + fs.lstat(abs, lstatcb) - // treat the test path as a set of pathparts. - f = f.split(slashSplit) - this.debug(this.pattern, 'split', f) + function lstatcb_ (er, lstat) { + if (er && er.code === 'ENOENT') + return cb() - // just ONE of the pattern sets in this.set needs to match - // in order for it to be valid. If negating, then just one - // match means that we have failed. - // Either way, return on the first hit. - - var set = this.set - this.debug(this.pattern, 'set', set) - - // Find the basename of the path by looking for the last non-empty segment - var filename - var i - for (i = f.length - 1; i >= 0; i--) { - filename = f[i] - if (filename) break - } + var isSym = lstat && lstat.isSymbolicLink() + self.symlinks[abs] = isSym - for (i = 0; i < set.length; i++) { - var pattern = set[i] - var file = f - if (options.matchBase && pattern.length === 1) { - file = [filename] - } - var hit = this.matchOne(file, pattern, partial) - if (hit) { - if (options.flipNegate) return true - return !this.negate - } + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && lstat && !lstat.isDirectory()) { + self.cache[abs] = 'FILE' + cb() + } else + self._readdir(abs, false, cb) } - - // didn't get any hits. this is success if it's a negative - // pattern, failure otherwise. - if (options.flipNegate) return false - return this.negate } -// set partial to true to test if, for example, -// "/a/b" matches the start of "/*/b/*/d" -// Partial means, if you run out of file before you run -// out of pattern, then that's fine, as long as all -// the parts match. -Minimatch.prototype.matchOne = function (file, pattern, partial) { - var options = this.options +Glob.prototype._readdir = function (abs, inGlobStar, cb) { + if (this.aborted) + return - this.debug('matchOne', - { 'this': this, file: file, pattern: pattern }) + cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb) + if (!cb) + return - this.debug('matchOne', file.length, pattern.length) + //console.error('RD %j %j', +inGlobStar, abs) + if (inGlobStar && !ownProp(this.symlinks, abs)) + return this._readdirInGlobStar(abs, cb) - for (var fi = 0, - pi = 0, - fl = file.length, - pl = pattern.length - ; (fi < fl) && (pi < pl) - ; fi++, pi++) { - this.debug('matchOne loop') - var p = pattern[pi] - var f = file[fi] + if (ownProp(this.cache, abs)) { + var c = this.cache[abs] + if (!c || c === 'FILE') + return cb() - this.debug(pattern, p, f) + if (Array.isArray(c)) + return cb(null, c) + } - // should be impossible. - // some invalid regexp stuff in the set. - if (p === false) return false + var self = this + fs.readdir(abs, readdirCb(this, abs, cb)) +} - if (p === GLOBSTAR) { - this.debug('GLOBSTAR', [pattern, p, f]) +function readdirCb (self, abs, cb) { + return function (er, entries) { + if (er) + self._readdirError(abs, er, cb) + else + self._readdirEntries(abs, entries, cb) + } +} - // "**" - // a/**/b/**/c would match the following: - // a/b/x/y/z/c - // a/x/y/z/b/c - // a/b/x/b/x/c - // a/b/c - // To do this, take the rest of the pattern after - // the **, and see if it would match the file remainder. - // If so, return success. - // If not, the ** "swallows" a segment, and try again. - // This is recursively awful. - // - // a/**/b/**/c matching a/b/x/y/z/c - // - a matches a - // - doublestar - // - matchOne(b/x/y/z/c, b/**/c) - // - b matches b - // - doublestar - // - matchOne(x/y/z/c, c) -> no - // - matchOne(y/z/c, c) -> no - // - matchOne(z/c, c) -> no - // - matchOne(c, c) yes, hit - var fr = fi - var pr = pi + 1 - if (pr === pl) { - this.debug('** at the end') - // a ** at the end will just swallow the rest. - // We have found a match. - // however, it will not swallow /.x, unless - // options.dot is set. - // . and .. are *never* matched by **, for explosively - // exponential reasons. - for (; fi < fl; fi++) { - if (file[fi] === '.' || file[fi] === '..' || - (!options.dot && file[fi].charAt(0) === '.')) return false - } - return true - } +Glob.prototype._readdirEntries = function (abs, entries, cb) { + if (this.aborted) + return - // ok, let's see if we can swallow whatever we can. - while (fr < fl) { - var swallowee = file[fr] + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i] + if (abs === '/') + e = abs + e + else + e = abs + '/' + e + this.cache[e] = true + } + } - this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) + this.cache[abs] = entries + return cb(null, entries) +} - // XXX remove this slice. Just pass the start index. - if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { - this.debug('globstar found match!', fr, fl, swallowee) - // found a match. - return true - } else { - // can't swallow "." or ".." ever. - // can only swallow ".foo" when explicitly asked. - if (swallowee === '.' || swallowee === '..' || - (!options.dot && swallowee.charAt(0) === '.')) { - this.debug('dot detected!', file, fr, pattern, pr) - break - } +Glob.prototype._readdirError = function (f, er, cb) { + if (this.aborted) + return - // ** swallows a segment, and continue. - this.debug('globstar swallow a segment, and continue') - fr++ - } + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + var abs = this._makeAbs(f) + this.cache[abs] = 'FILE' + if (abs === this.cwdAbs) { + var error = new Error(er.code + ' invalid cwd ' + this.cwd) + error.path = this.cwd + error.code = er.code + this.emit('error', error) + this.abort() } + break - // no match was found. - // However, in partial mode, we can't say this is necessarily over. - // If there's more *pattern* left, then - if (partial) { - // ran out of file - this.debug('\n>>> no match, partial?', file, fr, pattern, pr) - if (fr === fl) return true - } - return false - } + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false + break - // something other than ** - // non-magic patterns just have to match exactly - // patterns with magic have been turned into regexps. - var hit - if (typeof p === 'string') { - if (options.nocase) { - hit = f.toLowerCase() === p.toLowerCase() - } else { - hit = f === p + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false + if (this.strict) { + this.emit('error', er) + // If the error is handled, then we abort + // if not, we threw out of here + this.abort() } - this.debug('string match', p, f, hit) - } else { - hit = f.match(p) - this.debug('pattern match', p, f, hit) - } - - if (!hit) return false - } - - // Note: ending in / means that we'll get a final "" - // at the end of the pattern. This can only match a - // corresponding "" at the end of the file. - // If the file ends in /, then it can only match a - // a pattern that ends in /, unless the pattern just - // doesn't have any more for it. But, a/b/ should *not* - // match "a/b/*", even though "" matches against the - // [^/]*? pattern, except in partial mode, where it might - // simply not be reached yet. - // However, a/b/ should still satisfy a/* - - // now either we fell off the end of the pattern, or we're done. - if (fi === fl && pi === pl) { - // ran out of pattern and filename at the same time. - // an exact hit! - return true - } else if (fi === fl) { - // ran out of file, but still had pattern left. - // this is ok if we're doing the match as part of - // a glob fs traversal. - return partial - } else if (pi === pl) { - // ran out of pattern, still have file left. - // this is only acceptable if we're on the very last - // empty segment of a file with a trailing slash. - // a/* should match a/b/ - var emptyFileEnd = (fi === fl - 1) && (file[fi] === '') - return emptyFileEnd + if (!this.silent) + console.error('glob error', er) + break } - // should be unreachable. - throw new Error('wtf?') + return cb() } -// replace stuff like \* with * -function globUnescape (s) { - return s.replace(/\\(.)/g, '$1') +Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this + this._readdir(abs, inGlobStar, function (er, entries) { + self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }) } -function regExpEscape (s) { - return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') -} +Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + //console.error('pgs2', prefix, remain[0], entries) -/***/ }), -/* 61 */ -/***/ (function(module, exports, __webpack_require__) { + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return cb() -var wrappy = __webpack_require__(123) -module.exports = wrappy(once) -module.exports.strict = wrappy(onceStrict) + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1) + var gspref = prefix ? [ prefix ] : [] + var noGlobStar = gspref.concat(remainWithoutGlobStar) -once.proto = once(function () { - Object.defineProperty(Function.prototype, 'once', { - value: function () { - return once(this) - }, - configurable: true - }) + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false, cb) - Object.defineProperty(Function.prototype, 'onceStrict', { - value: function () { - return onceStrict(this) - }, - configurable: true - }) -}) + var isSym = this.symlinks[abs] + var len = entries.length -function once (fn) { - var f = function () { - if (f.called) return f.value - f.called = true - return f.value = fn.apply(this, arguments) + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return cb() + + for (var i = 0; i < len; i++) { + var e = entries[i] + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar) + this._process(instead, index, true, cb) + + var below = gspref.concat(entries[i], remain) + this._process(below, index, true, cb) } - f.called = false - return f + + cb() } -function onceStrict (fn) { - var f = function () { - if (f.called) - throw new Error(f.onceError) - f.called = true - return f.value = fn.apply(this, arguments) - } - var name = fn.name || 'Function wrapped with `once`' - f.onceError = name + " shouldn't be called more than once" - f.called = false - return f +Glob.prototype._processSimple = function (prefix, index, cb) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var self = this + this._stat(prefix, function (er, exists) { + self._processSimple2(prefix, index, er, exists, cb) + }) } +Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { + //console.error('ps2', prefix, exists) -/***/ }), -/* 62 */, -/* 63 */ -/***/ (function(module, exports) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) -module.exports = __webpack_require__(293); + // If it doesn't exist, then just mark the lack of results + if (!exists) + return cb() -/***/ }), -/* 64 */, -/* 65 */, -/* 66 */, -/* 67 */ -/***/ (function(module, exports) { + if (prefix && isAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix) + if (prefix.charAt(0) === '/') { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + if (trail) + prefix += '/' + } + } -// 7.2.1 RequireObjectCoercible(argument) -module.exports = function (it) { - if (it == undefined) throw TypeError("Can't call method on " + it); - return it; -}; + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/') + // Mark this as a match + this._emitMatch(index, prefix) + cb() +} -/***/ }), -/* 68 */ -/***/ (function(module, exports, __webpack_require__) { +// Returns either 'DIR', 'FILE', or false +Glob.prototype._stat = function (f, cb) { + var abs = this._makeAbs(f) + var needDir = f.slice(-1) === '/' -var isObject = __webpack_require__(34); -var document = __webpack_require__(11).document; -// typeof document.createElement is 'object' in old IE -var is = isObject(document) && isObject(document.createElement); -module.exports = function (it) { - return is ? document.createElement(it) : {}; -}; + if (f.length > this.maxLength) + return cb() + if (!this.stat && ownProp(this.cache, abs)) { + var c = this.cache[abs] -/***/ }), -/* 69 */ -/***/ (function(module, exports) { + if (Array.isArray(c)) + c = 'DIR' -module.exports = true; + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return cb(null, c) + if (needDir && c === 'FILE') + return cb() -/***/ }), -/* 70 */ -/***/ (function(module, exports, __webpack_require__) { + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } -"use strict"; + var exists + var stat = this.statCache[abs] + if (stat !== undefined) { + if (stat === false) + return cb(null, stat) + else { + var type = stat.isDirectory() ? 'DIR' : 'FILE' + if (needDir && type === 'FILE') + return cb() + else + return cb(null, type, stat) + } + } -// 25.4.1.5 NewPromiseCapability(C) -var aFunction = __webpack_require__(46); + var self = this + var statcb = inflight('stat\0' + abs, lstatcb_) + if (statcb) + fs.lstat(abs, statcb) -function PromiseCapability(C) { - var resolve, reject; - this.promise = new C(function ($$resolve, $$reject) { - if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); + function lstatcb_ (er, lstat) { + if (lstat && lstat.isSymbolicLink()) { + // If it's a symlink, then treat it as the target, unless + // the target does not exist, then treat it as a file. + return fs.stat(abs, function (er, stat) { + if (er) + self._stat2(f, abs, null, lstat, cb) + else + self._stat2(f, abs, er, stat, cb) + }) + } else { + self._stat2(f, abs, er, lstat, cb) + } + } } -module.exports.f = function (C) { - return new PromiseCapability(C); -}; +Glob.prototype._stat2 = function (f, abs, er, stat, cb) { + if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { + this.statCache[abs] = false + return cb() + } + var needDir = f.slice(-1) === '/' + this.statCache[abs] = stat -/***/ }), -/* 71 */ -/***/ (function(module, exports, __webpack_require__) { + if (abs.slice(-1) === '/' && stat && !stat.isDirectory()) + return cb(null, false, stat) -var def = __webpack_require__(50).f; -var has = __webpack_require__(49); -var TAG = __webpack_require__(13)('toStringTag'); + var c = true + if (stat) + c = stat.isDirectory() ? 'DIR' : 'FILE' + this.cache[abs] = this.cache[abs] || c -module.exports = function (it, tag, stat) { - if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); -}; + if (needDir && c === 'FILE') + return cb() + + return cb(null, c, stat) +} /***/ }), -/* 72 */ +/* 76 */ /***/ (function(module, exports, __webpack_require__) { -var shared = __webpack_require__(107)('keys'); -var uid = __webpack_require__(111); -module.exports = function (key) { - return shared[key] || (shared[key] = uid(key)); -}; +"use strict"; -/***/ }), -/* 73 */ -/***/ (function(module, exports) { +function posix(path) { + return path.charAt(0) === '/'; +} -// 7.1.4 ToInteger -var ceil = Math.ceil; -var floor = Math.floor; -module.exports = function (it) { - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); -}; +function win32(path) { + // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 + var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; + var result = splitDeviceRe.exec(path); + var device = result[1] || ''; + var isUnc = Boolean(device && device.charAt(1) !== ':'); + // UNC paths are always absolute + return Boolean(result[2] || isUnc); +} -/***/ }), -/* 74 */ -/***/ (function(module, exports, __webpack_require__) { +module.exports = process.platform === 'win32' ? win32 : posix; +module.exports.posix = posix; +module.exports.win32 = win32; -// to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = __webpack_require__(131); -var defined = __webpack_require__(67); -module.exports = function (it) { - return IObject(defined(it)); -}; +/***/ }), +/* 77 */, +/* 78 */, +/* 79 */ +/***/ (function(module, exports) { + +module.exports = __webpack_require__(121); /***/ }), -/* 75 */ +/* 80 */, +/* 81 */ /***/ (function(module, exports, __webpack_require__) { -// Approach: -// -// 1. Get the minimatch set -// 2. For each pattern in the set, PROCESS(pattern, false) -// 3. Store matches per-set, then uniq them -// -// PROCESS(pattern, inGlobStar) -// Get the first [n] items from pattern that are all strings -// Join these together. This is PREFIX. -// If there is no more remaining, then stat(PREFIX) and -// add to matches if it succeeds. END. -// -// If inGlobStar and PREFIX is symlink and points to dir -// set ENTRIES = [] -// else readdir(PREFIX) as ENTRIES -// If fail, END -// -// with ENTRIES -// If pattern[n] is GLOBSTAR -// // handle the case where the globstar match is empty -// // by pruning it out, and testing the resulting pattern -// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) -// // handle other cases. -// for ENTRY in ENTRIES (not dotfiles) -// // attach globstar + tail onto the entry -// // Mark that this entry is a globstar match -// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) -// -// else // not globstar -// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) -// Test ENTRY against pattern[n] -// If fails, continue -// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) -// -// Caveat: -// Cache all stats and readdirs results to minimize syscall. Since all -// we ever care about is existence and directory-ness, we can just keep -// `true` for files, and [children,...] for directories, or `false` for -// things that don't exist. - -module.exports = glob +"use strict"; -var fs = __webpack_require__(3) -var rp = __webpack_require__(114) -var minimatch = __webpack_require__(60) -var Minimatch = minimatch.Minimatch -var inherits = __webpack_require__(42) -var EE = __webpack_require__(54).EventEmitter -var path = __webpack_require__(0) -var assert = __webpack_require__(22) -var isAbsolute = __webpack_require__(76) -var globSync = __webpack_require__(218) -var common = __webpack_require__(115) -var alphasort = common.alphasort -var alphasorti = common.alphasorti -var setopts = common.setopts -var ownProp = common.ownProp -var inflight = __webpack_require__(223) -var util = __webpack_require__(2) -var childrenIgnored = common.childrenIgnored -var isIgnored = common.isIgnored -var once = __webpack_require__(61) +Object.defineProperty(exports, "__esModule", { + value: true +}); -function glob (pattern, options, cb) { - if (typeof options === 'function') cb = options, options = {} - if (!options) options = {} +exports.default = function (str, fileLoc = 'lockfile') { + str = (0, (_stripBom || _load_stripBom()).default)(str); + return hasMergeConflicts(str) ? parseWithConflict(str, fileLoc) : { type: 'success', object: parse(str, fileLoc) }; +}; - if (options.sync) { - if (cb) - throw new TypeError('callback provided to sync glob') - return globSync(pattern, options) - } +var _util; - return new Glob(pattern, options, cb) +function _load_util() { + return _util = _interopRequireDefault(__webpack_require__(2)); } -glob.sync = globSync -var GlobSync = glob.GlobSync = globSync.GlobSync +var _invariant; -// old api surface -glob.glob = glob +function _load_invariant() { + return _invariant = _interopRequireDefault(__webpack_require__(7)); +} -function extend (origin, add) { - if (add === null || typeof add !== 'object') { - return origin - } +var _stripBom; - var keys = Object.keys(add) - var i = keys.length - while (i--) { - origin[keys[i]] = add[keys[i]] - } - return origin +function _load_stripBom() { + return _stripBom = _interopRequireDefault(__webpack_require__(122)); } -glob.hasMagic = function (pattern, options_) { - var options = extend({}, options_) - options.noprocess = true +var _constants; - var g = new Glob(pattern, options) - var set = g.minimatch.set +function _load_constants() { + return _constants = __webpack_require__(6); +} - if (!pattern) - return false +var _errors; - if (set.length > 1) - return true +function _load_errors() { + return _errors = __webpack_require__(4); +} - for (var j = 0; j < set[0].length; j++) { - if (typeof set[0][j] !== 'string') - return true - } +var _map; - return false +function _load_map() { + return _map = _interopRequireDefault(__webpack_require__(20)); } -glob.Glob = Glob -inherits(Glob, EE) -function Glob (pattern, options, cb) { - if (typeof options === 'function') { - cb = options - options = null - } - - if (options && options.sync) { - if (cb) - throw new TypeError('callback provided to sync glob') - return new GlobSync(pattern, options) - } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - if (!(this instanceof Glob)) - return new Glob(pattern, options, cb) +/* eslint quotes: 0 */ - setopts(this, pattern, options) - this._didRealPath = false +const VERSION_REGEX = /^yarn lockfile v(\d+)$/; - // process each pattern in the minimatch set - var n = this.minimatch.set.length +const TOKEN_TYPES = { + boolean: 'BOOLEAN', + string: 'STRING', + identifier: 'IDENTIFIER', + eof: 'EOF', + colon: 'COLON', + newline: 'NEWLINE', + comment: 'COMMENT', + indent: 'INDENT', + invalid: 'INVALID', + number: 'NUMBER', + comma: 'COMMA' +}; - // The matches are stored as {: true,...} so that - // duplicates are automagically pruned. - // Later, we do an Object.keys() on these. - // Keep them as a list so we can fill in when nonull is set. - this.matches = new Array(n) +const VALID_PROP_VALUE_TOKENS = [TOKEN_TYPES.boolean, TOKEN_TYPES.string, TOKEN_TYPES.number]; - if (typeof cb === 'function') { - cb = once(cb) - this.on('error', cb) - this.on('end', function (matches) { - cb(null, matches) - }) - } +function isValidPropValueToken(token) { + return VALID_PROP_VALUE_TOKENS.indexOf(token.type) >= 0; +} - var self = this - this._processing = 0 +function* tokenise(input) { + let lastNewline = false; + let line = 1; + let col = 0; - this._emitQueue = [] - this._processQueue = [] - this.paused = false + function buildToken(type, value) { + return { line, col, type, value }; + } - if (this.noprocess) - return this + while (input.length) { + let chop = 0; - if (n === 0) - return done() + if (input[0] === '\n' || input[0] === '\r') { + chop++; + // If this is a \r\n line, ignore both chars but only add one new line + if (input[1] === '\n') { + chop++; + } + line++; + col = 0; + yield buildToken(TOKEN_TYPES.newline); + } else if (input[0] === '#') { + chop++; - var sync = true - for (var i = 0; i < n; i ++) { - this._process(this.minimatch.set[i], i, false, done) - } - sync = false + let val = ''; + while (input[chop] !== '\n') { + val += input[chop]; + chop++; + } + yield buildToken(TOKEN_TYPES.comment, val); + } else if (input[0] === ' ') { + if (lastNewline) { + let indent = ''; + for (let i = 0; input[i] === ' '; i++) { + indent += input[i]; + } - function done () { - --self._processing - if (self._processing <= 0) { - if (sync) { - process.nextTick(function () { - self._finish() - }) + if (indent.length % 2) { + throw new TypeError('Invalid number of spaces'); + } else { + chop = indent.length; + yield buildToken(TOKEN_TYPES.indent, indent.length / 2); + } } else { - self._finish() + chop++; } - } - } -} + } else if (input[0] === '"') { + let val = ''; -Glob.prototype._finish = function () { - assert(this instanceof Glob) - if (this.aborted) - return + for (let i = 0;; i++) { + const currentChar = input[i]; + val += currentChar; - if (this.realpath && !this._didRealpath) - return this._realpath() + if (i > 0 && currentChar === '"') { + const isEscaped = input[i - 1] === '\\' && input[i - 2] !== '\\'; + if (!isEscaped) { + break; + } + } + } - common.finish(this) - this.emit('end', this.found) -} + chop = val.length; -Glob.prototype._realpath = function () { - if (this._didRealpath) - return + try { + yield buildToken(TOKEN_TYPES.string, JSON.parse(val)); + } catch (err) { + if (err instanceof SyntaxError) { + yield buildToken(TOKEN_TYPES.invalid); + } else { + throw err; + } + } + } else if (/^[0-9]/.test(input)) { + let val = ''; + for (let i = 0; /^[0-9]$/.test(input[i]); i++) { + val += input[i]; + } + chop = val.length; - this._didRealpath = true + yield buildToken(TOKEN_TYPES.number, +val); + } else if (/^true/.test(input)) { + yield buildToken(TOKEN_TYPES.boolean, true); + chop = 4; + } else if (/^false/.test(input)) { + yield buildToken(TOKEN_TYPES.boolean, false); + chop = 5; + } else if (input[0] === ':') { + yield buildToken(TOKEN_TYPES.colon); + chop++; + } else if (input[0] === ',') { + yield buildToken(TOKEN_TYPES.comma); + chop++; + } else if (/^[a-zA-Z\/-]/g.test(input)) { + let name = ''; + for (let i = 0; i < input.length; i++) { + const char = input[i]; + if (char === ':' || char === ' ' || char === '\n' || char === '\r' || char === ',') { + break; + } else { + name += char; + } + } + chop = name.length; - var n = this.matches.length - if (n === 0) - return this._finish() + yield buildToken(TOKEN_TYPES.string, name); + } else { + yield buildToken(TOKEN_TYPES.invalid); + } - var self = this - for (var i = 0; i < this.matches.length; i++) - this._realpathSet(i, next) + if (!chop) { + // will trigger infinite recursion + yield buildToken(TOKEN_TYPES.invalid); + } - function next () { - if (--n === 0) - self._finish() + col += chop; + lastNewline = input[0] === '\n' || input[0] === '\r' && input[1] === '\n'; + input = input.slice(chop); } -} -Glob.prototype._realpathSet = function (index, cb) { - var matchset = this.matches[index] - if (!matchset) - return cb() + yield buildToken(TOKEN_TYPES.eof); +} - var found = Object.keys(matchset) - var self = this - var n = found.length +class Parser { + constructor(input, fileLoc = 'lockfile') { + this.comments = []; + this.tokens = tokenise(input); + this.fileLoc = fileLoc; + } - if (n === 0) - return cb() + onComment(token) { + const value = token.value; + (0, (_invariant || _load_invariant()).default)(typeof value === 'string', 'expected token value to be a string'); - var set = this.matches[index] = Object.create(null) - found.forEach(function (p, i) { - // If there's a problem with the stat, then it means that - // one or more of the links in the realpath couldn't be - // resolved. just return the abs value in that case. - p = self._makeAbs(p) - rp.realpath(p, self.realpathCache, function (er, real) { - if (!er) - set[real] = true - else if (er.syscall === 'stat') - set[p] = true - else - self.emit('error', er) // srsly wtf right here + const comment = value.trim(); - if (--n === 0) { - self.matches[index] = set - cb() + const versionMatch = comment.match(VERSION_REGEX); + if (versionMatch) { + const version = +versionMatch[1]; + if (version > (_constants || _load_constants()).LOCKFILE_VERSION) { + throw new (_errors || _load_errors()).MessageError(`Can't install from a lockfile of version ${version} as you're on an old yarn version that only supports ` + `versions up to ${(_constants || _load_constants()).LOCKFILE_VERSION}. Run \`$ yarn self-update\` to upgrade to the latest version.`); } - }) - }) -} - -Glob.prototype._mark = function (p) { - return common.mark(this, p) -} + } -Glob.prototype._makeAbs = function (f) { - return common.makeAbs(this, f) -} + this.comments.push(comment); + } -Glob.prototype.abort = function () { - this.aborted = true - this.emit('abort') -} + next() { + const item = this.tokens.next(); + (0, (_invariant || _load_invariant()).default)(item, 'expected a token'); -Glob.prototype.pause = function () { - if (!this.paused) { - this.paused = true - this.emit('pause') - } -} + const done = item.done, + value = item.value; -Glob.prototype.resume = function () { - if (this.paused) { - this.emit('resume') - this.paused = false - if (this._emitQueue.length) { - var eq = this._emitQueue.slice(0) - this._emitQueue.length = 0 - for (var i = 0; i < eq.length; i ++) { - var e = eq[i] - this._emitMatch(e[0], e[1]) - } - } - if (this._processQueue.length) { - var pq = this._processQueue.slice(0) - this._processQueue.length = 0 - for (var i = 0; i < pq.length; i ++) { - var p = pq[i] - this._processing-- - this._process(p[0], p[1], p[2], p[3]) - } + if (done || !value) { + throw new Error('No more tokens'); + } else if (value.type === TOKEN_TYPES.comment) { + this.onComment(value); + return this.next(); + } else { + return this.token = value; } } -} - -Glob.prototype._process = function (pattern, index, inGlobStar, cb) { - assert(this instanceof Glob) - assert(typeof cb === 'function') - if (this.aborted) - return - - this._processing++ - if (this.paused) { - this._processQueue.push([pattern, index, inGlobStar, cb]) - return + unexpected(msg = 'Unexpected token') { + throw new SyntaxError(`${msg} ${this.token.line}:${this.token.col} in ${this.fileLoc}`); } - //console.error('PROCESS %d', this._processing, pattern) + expect(tokType) { + if (this.token.type === tokType) { + this.next(); + } else { + this.unexpected(); + } + } - // Get the first [n] parts of pattern that are all strings. - var n = 0 - while (typeof pattern[n] === 'string') { - n ++ + eat(tokType) { + if (this.token.type === tokType) { + this.next(); + return true; + } else { + return false; + } } - // now n is the index of the first one that is *not* a string. - // see if there's anything else - var prefix - switch (n) { - // if not, then this is rather simple - case pattern.length: - this._processSimple(pattern.join('/'), index, cb) - return + parse(indent = 0) { + const obj = (0, (_map || _load_map()).default)(); - case 0: - // pattern *starts* with some non-trivial item. - // going to readdir(cwd), but not include the prefix in matches. - prefix = null - break + while (true) { + const propToken = this.token; - default: - // pattern has some string bits in the front. - // whatever it starts with, whether that's 'absolute' like /foo/bar, - // or 'relative' like '../baz' - prefix = pattern.slice(0, n).join('/') - break - } + if (propToken.type === TOKEN_TYPES.newline) { + const nextToken = this.next(); + if (!indent) { + // if we have 0 indentation then the next token doesn't matter + continue; + } - var remain = pattern.slice(n) + if (nextToken.type !== TOKEN_TYPES.indent) { + // if we have no indentation after a newline then we've gone down a level + break; + } - // get the list of entries. - var read - if (prefix === null) - read = '.' - else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { - if (!prefix || !isAbsolute(prefix)) - prefix = '/' + prefix - read = prefix - } else - read = prefix + if (nextToken.value === indent) { + // all is good, the indent is on our level + this.next(); + } else { + // the indentation is less than our level + break; + } + } else if (propToken.type === TOKEN_TYPES.indent) { + if (propToken.value === indent) { + this.next(); + } else { + break; + } + } else if (propToken.type === TOKEN_TYPES.eof) { + break; + } else if (propToken.type === TOKEN_TYPES.string) { + // property key + const key = propToken.value; + (0, (_invariant || _load_invariant()).default)(key, 'Expected a key'); - var abs = this._makeAbs(read) + const keys = [key]; + this.next(); - //if ignored, skip _processing - if (childrenIgnored(this, read)) - return cb() + // support multiple keys + while (this.token.type === TOKEN_TYPES.comma) { + this.next(); // skip comma - var isGlobStar = remain[0] === minimatch.GLOBSTAR - if (isGlobStar) - this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb) - else - this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb) -} + const keyToken = this.token; + if (keyToken.type !== TOKEN_TYPES.string) { + this.unexpected('Expected string'); + } -Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { - var self = this - this._readdir(abs, inGlobStar, function (er, entries) { - return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) - }) -} + const key = keyToken.value; + (0, (_invariant || _load_invariant()).default)(key, 'Expected a key'); + keys.push(key); + this.next(); + } -Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + const valToken = this.token; - // if the abs isn't a dir, then nothing can match! - if (!entries) - return cb() + if (valToken.type === TOKEN_TYPES.colon) { + // object + this.next(); - // It will only match dot entries if it starts with a dot, or if - // dot is set. Stuff like @(.foo|.bar) isn't allowed. - var pn = remain[0] - var negate = !!this.minimatch.negate - var rawGlob = pn._glob - var dotOk = this.dot || rawGlob.charAt(0) === '.' + // parse object + const val = this.parse(indent + 1); - var matchedEntries = [] - for (var i = 0; i < entries.length; i++) { - var e = entries[i] - if (e.charAt(0) !== '.' || dotOk) { - var m - if (negate && !prefix) { - m = !e.match(pn) - } else { - m = e.match(pn) - } - if (m) - matchedEntries.push(e) - } - } + for (var _iterator = keys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { + var _ref; - //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } - var len = matchedEntries.length - // If there are no matched entries, then nothing matches. - if (len === 0) - return cb() + const key = _ref; - // if this is the last remaining pattern bit, then no need for - // an additional stat *unless* the user has specified mark or - // stat explicitly. We know they exist, since readdir returned - // them. + obj[key] = val; + } - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = Object.create(null) + if (indent && this.token.type !== TOKEN_TYPES.indent) { + break; + } + } else if (isValidPropValueToken(valToken)) { + // plain value + for (var _iterator2 = keys, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { + var _ref2; - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - if (prefix) { - if (prefix !== '/') - e = prefix + '/' + e - else - e = prefix + e - } + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } - if (e.charAt(0) === '/' && !this.nomount) { - e = path.join(this.root, e) + const key = _ref2; + + obj[key] = valToken.value; + } + + this.next(); + } else { + this.unexpected('Invalid value type'); + } + } else { + this.unexpected(`Unknown token: ${(_util || _load_util()).default.inspect(propToken)}`); } - this._emitMatch(index, e) } - // This was the last one, and no stats were needed - return cb() - } - // now test all matched entries as stand-ins for that part - // of the pattern. - remain.shift() - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - var newPattern - if (prefix) { - if (prefix !== '/') - e = prefix + '/' + e - else - e = prefix + e - } - this._process([e].concat(remain), index, inGlobStar, cb) + return obj; } - cb() } -Glob.prototype._emitMatch = function (index, e) { - if (this.aborted) - return - - if (isIgnored(this, e)) - return - - if (this.paused) { - this._emitQueue.push([index, e]) - return - } - - var abs = isAbsolute(e) ? e : this._makeAbs(e) - - if (this.mark) - e = this._mark(e) +const MERGE_CONFLICT_ANCESTOR = '|||||||'; +const MERGE_CONFLICT_END = '>>>>>>>'; +const MERGE_CONFLICT_SEP = '======='; +const MERGE_CONFLICT_START = '<<<<<<<'; - if (this.absolute) - e = abs +/** + * Extract the two versions of the lockfile from a merge conflict. + */ +function extractConflictVariants(str) { + const variants = [[], []]; + const lines = str.split(/\r?\n/g); + let skip = false; - if (this.matches[index][e]) - return + while (lines.length) { + const line = lines.shift(); + if (line.startsWith(MERGE_CONFLICT_START)) { + // get the first variant + while (lines.length) { + const conflictLine = lines.shift(); + if (conflictLine === MERGE_CONFLICT_SEP) { + skip = false; + break; + } else if (skip || conflictLine.startsWith(MERGE_CONFLICT_ANCESTOR)) { + skip = true; + continue; + } else { + variants[0].push(conflictLine); + } + } - if (this.nodir) { - var c = this.cache[abs] - if (c === 'DIR' || Array.isArray(c)) - return + // get the second variant + while (lines.length) { + const conflictLine = lines.shift(); + if (conflictLine.startsWith(MERGE_CONFLICT_END)) { + break; + } else { + variants[1].push(conflictLine); + } + } + } else { + variants[0].push(line); + variants[1].push(line); + } } - this.matches[index][e] = true + return [variants[0].join('\n'), variants[1].join('\n')]; +} - var st = this.statCache[abs] - if (st) - this.emit('stat', e, st) +/** + * Check if a lockfile has merge conflicts. + */ +function hasMergeConflicts(str) { + return str.includes(MERGE_CONFLICT_START) && str.includes(MERGE_CONFLICT_SEP) && str.includes(MERGE_CONFLICT_END); +} - this.emit('match', e) +/** + * Parse the lockfile. + */ +function parse(str, fileLoc) { + const parser = new Parser(str, fileLoc); + parser.next(); + return parser.parse(); } -Glob.prototype._readdirInGlobStar = function (abs, cb) { - if (this.aborted) - return +/** + * Parse and merge the two variants in a conflicted lockfile. + */ +function parseWithConflict(str, fileLoc) { + const variants = extractConflictVariants(str); + try { + return { type: 'merge', object: Object.assign({}, parse(variants[0], fileLoc), parse(variants[1], fileLoc)) }; + } catch (err) { + if (err instanceof SyntaxError) { + return { type: 'conflict', object: {} }; + } else { + throw err; + } + } +} - // follow all symlinked directories forever - // just proceed as if this is a non-globstar situation - if (this.follow) - return this._readdir(abs, false, cb) +/***/ }), +/* 82 */, +/* 83 */, +/* 84 */ +/***/ (function(module, exports, __webpack_require__) { - var lstatkey = 'lstat\0' + abs - var self = this - var lstatcb = inflight(lstatkey, lstatcb_) +"use strict"; - if (lstatcb) - fs.lstat(abs, lstatcb) - function lstatcb_ (er, lstat) { - if (er && er.code === 'ENOENT') - return cb() +Object.defineProperty(exports, "__esModule", { + value: true +}); - var isSym = lstat && lstat.isSymbolicLink() - self.symlinks[abs] = isSym +var _map; - // If it's not a symlink or a dir, then it's definitely a regular file. - // don't bother doing a readdir in that case. - if (!isSym && lstat && !lstat.isDirectory()) { - self.cache[abs] = 'FILE' - cb() - } else - self._readdir(abs, false, cb) - } +function _load_map() { + return _map = _interopRequireDefault(__webpack_require__(20)); } -Glob.prototype._readdir = function (abs, inGlobStar, cb) { - if (this.aborted) - return +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb) - if (!cb) - return +const debug = __webpack_require__(212)('yarn'); - //console.error('RD %j %j', +inGlobStar, abs) - if (inGlobStar && !ownProp(this.symlinks, abs)) - return this._readdirInGlobStar(abs, cb) +class BlockingQueue { + constructor(alias, maxConcurrency = Infinity) { + this.concurrencyQueue = []; + this.maxConcurrency = maxConcurrency; + this.runningCount = 0; + this.warnedStuck = false; + this.alias = alias; + this.first = true; - if (ownProp(this.cache, abs)) { - var c = this.cache[abs] - if (!c || c === 'FILE') - return cb() + this.running = (0, (_map || _load_map()).default)(); + this.queue = (0, (_map || _load_map()).default)(); - if (Array.isArray(c)) - return cb(null, c) + this.stuckTick = this.stuckTick.bind(this); } - var self = this - fs.readdir(abs, readdirCb(this, abs, cb)) -} + stillActive() { + if (this.stuckTimer) { + clearTimeout(this.stuckTimer); + } -function readdirCb (self, abs, cb) { - return function (er, entries) { - if (er) - self._readdirError(abs, er, cb) - else - self._readdirEntries(abs, entries, cb) - } -} + this.stuckTimer = setTimeout(this.stuckTick, 5000); -Glob.prototype._readdirEntries = function (abs, entries, cb) { - if (this.aborted) - return + // We need to check the existence of unref because of https://github.com/facebook/jest/issues/4559 + // $FlowFixMe: Node's setInterval returns a Timeout, not a Number + this.stuckTimer.unref && this.stuckTimer.unref(); + } - // if we haven't asked to stat everything, then just - // assume that everything in there exists, so we can avoid - // having to stat it a second time. - if (!this.mark && !this.stat) { - for (var i = 0; i < entries.length; i ++) { - var e = entries[i] - if (abs === '/') - e = abs + e - else - e = abs + '/' + e - this.cache[e] = true + stuckTick() { + if (this.runningCount === 1) { + this.warnedStuck = true; + debug(`The ${JSON.stringify(this.alias)} blocking queue may be stuck. 5 seconds ` + `without any activity with 1 worker: ${Object.keys(this.running)[0]}`); } } - this.cache[abs] = entries - return cb(null, entries) -} - -Glob.prototype._readdirError = function (f, er, cb) { - if (this.aborted) - return - - // handle errors, and cache the information - switch (er.code) { - case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 - case 'ENOTDIR': // totally normal. means it *does* exist. - var abs = this._makeAbs(f) - this.cache[abs] = 'FILE' - if (abs === this.cwdAbs) { - var error = new Error(er.code + ' invalid cwd ' + this.cwd) - error.path = this.cwd - error.code = er.code - this.emit('error', error) - this.abort() - } - break + push(key, factory) { + if (this.first) { + this.first = false; + } else { + this.stillActive(); + } - case 'ENOENT': // not terribly unusual - case 'ELOOP': - case 'ENAMETOOLONG': - case 'UNKNOWN': - this.cache[this._makeAbs(f)] = false - break + return new Promise((resolve, reject) => { + // we're already running so push ourselves to the queue + const queue = this.queue[key] = this.queue[key] || []; + queue.push({ factory, resolve, reject }); - default: // some unusual error. Treat as failure. - this.cache[this._makeAbs(f)] = false - if (this.strict) { - this.emit('error', er) - // If the error is handled, then we abort - // if not, we threw out of here - this.abort() + if (!this.running[key]) { + this.shift(key); } - if (!this.silent) - console.error('glob error', er) - break + }); } - return cb() -} + shift(key) { + if (this.running[key]) { + delete this.running[key]; + this.runningCount--; -Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { - var self = this - this._readdir(abs, inGlobStar, function (er, entries) { - self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) - }) -} + if (this.stuckTimer) { + clearTimeout(this.stuckTimer); + this.stuckTimer = null; + } + if (this.warnedStuck) { + this.warnedStuck = false; + debug(`${JSON.stringify(this.alias)} blocking queue finally resolved. Nothing to worry about.`); + } + } -Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { - //console.error('pgs2', prefix, remain[0], entries) + const queue = this.queue[key]; + if (!queue) { + return; + } - // no entries means not a dir, so it can never have matches - // foo.txt/** doesn't match foo.txt - if (!entries) - return cb() + var _queue$shift = queue.shift(); - // test without the globstar, and with every child both below - // and replacing the globstar. - var remainWithoutGlobStar = remain.slice(1) - var gspref = prefix ? [ prefix ] : [] - var noGlobStar = gspref.concat(remainWithoutGlobStar) + const resolve = _queue$shift.resolve, + reject = _queue$shift.reject, + factory = _queue$shift.factory; - // the noGlobStar pattern exits the inGlobStar state - this._process(noGlobStar, index, false, cb) + if (!queue.length) { + delete this.queue[key]; + } - var isSym = this.symlinks[abs] - var len = entries.length + const next = () => { + this.shift(key); + this.shiftConcurrencyQueue(); + }; - // If it's a symlink, and we're in a globstar, then stop - if (isSym && inGlobStar) - return cb() + const run = () => { + this.running[key] = true; + this.runningCount++; - for (var i = 0; i < len; i++) { - var e = entries[i] - if (e.charAt(0) === '.' && !this.dot) - continue + factory().then(function (val) { + resolve(val); + next(); + return null; + }).catch(function (err) { + reject(err); + next(); + }); + }; - // these two cases enter the inGlobStar state - var instead = gspref.concat(entries[i], remainWithoutGlobStar) - this._process(instead, index, true, cb) + this.maybePushConcurrencyQueue(run); + } - var below = gspref.concat(entries[i], remain) - this._process(below, index, true, cb) + maybePushConcurrencyQueue(run) { + if (this.runningCount < this.maxConcurrency) { + run(); + } else { + this.concurrencyQueue.push(run); + } } - cb() + shiftConcurrencyQueue() { + if (this.runningCount < this.maxConcurrency) { + const fn = this.concurrencyQueue.shift(); + if (fn) { + fn(); + } + } + } } +exports.default = BlockingQueue; -Glob.prototype._processSimple = function (prefix, index, cb) { - // XXX review this. Shouldn't it be doing the mounting etc - // before doing stat? kinda weird? - var self = this - this._stat(prefix, function (er, exists) { - self._processSimple2(prefix, index, er, exists, cb) - }) -} -Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { +/***/ }), +/* 85 */ +/***/ (function(module, exports) { - //console.error('ps2', prefix, exists) +module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } +}; - if (!this.matches[index]) - this.matches[index] = Object.create(null) - // If it doesn't exist, then just mark the lack of results - if (!exists) - return cb() +/***/ }), +/* 86 */, +/* 87 */, +/* 88 */, +/* 89 */, +/* 90 */, +/* 91 */, +/* 92 */, +/* 93 */, +/* 94 */, +/* 95 */, +/* 96 */, +/* 97 */, +/* 98 */, +/* 99 */, +/* 100 */ +/***/ (function(module, exports, __webpack_require__) { - if (prefix && isAbsolute(prefix) && !this.nomount) { - var trail = /[\/\\]$/.test(prefix) - if (prefix.charAt(0) === '/') { - prefix = path.join(this.root, prefix) - } else { - prefix = path.resolve(this.root, prefix) - if (trail) - prefix += '/' - } - } +// getting tag from 19.1.3.6 Object.prototype.toString() +var cof = __webpack_require__(47); +var TAG = __webpack_require__(13)('toStringTag'); +// ES3 wrong here +var ARG = cof(function () { return arguments; }()) == 'Arguments'; - if (process.platform === 'win32') - prefix = prefix.replace(/\\/g, '/') +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (e) { /* empty */ } +}; - // Mark this as a match - this._emitMatch(index, prefix) - cb() -} +module.exports = function (it) { + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; +}; -// Returns either 'DIR', 'FILE', or false -Glob.prototype._stat = function (f, cb) { - var abs = this._makeAbs(f) - var needDir = f.slice(-1) === '/' - if (f.length > this.maxLength) - return cb() +/***/ }), +/* 101 */ +/***/ (function(module, exports) { - if (!this.stat && ownProp(this.cache, abs)) { - var c = this.cache[abs] +// IE 8- don't enum bug keys +module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' +).split(','); - if (Array.isArray(c)) - c = 'DIR' - // It exists, but maybe not how we need it - if (!needDir || c === 'DIR') - return cb(null, c) +/***/ }), +/* 102 */ +/***/ (function(module, exports, __webpack_require__) { - if (needDir && c === 'FILE') - return cb() +var document = __webpack_require__(11).document; +module.exports = document && document.documentElement; - // otherwise we have to stat, because maybe c=true - // if we know it exists, but not what it is. - } - var exists - var stat = this.statCache[abs] - if (stat !== undefined) { - if (stat === false) - return cb(null, stat) - else { - var type = stat.isDirectory() ? 'DIR' : 'FILE' - if (needDir && type === 'FILE') - return cb() - else - return cb(null, type, stat) - } - } +/***/ }), +/* 103 */ +/***/ (function(module, exports, __webpack_require__) { - var self = this - var statcb = inflight('stat\0' + abs, lstatcb_) - if (statcb) - fs.lstat(abs, statcb) +"use strict"; - function lstatcb_ (er, lstat) { - if (lstat && lstat.isSymbolicLink()) { - // If it's a symlink, then treat it as the target, unless - // the target does not exist, then treat it as a file. - return fs.stat(abs, function (er, stat) { - if (er) - self._stat2(f, abs, null, lstat, cb) - else - self._stat2(f, abs, er, stat, cb) - }) - } else { - self._stat2(f, abs, er, lstat, cb) +var LIBRARY = __webpack_require__(69); +var $export = __webpack_require__(41); +var redefine = __webpack_require__(197); +var hide = __webpack_require__(31); +var Iterators = __webpack_require__(35); +var $iterCreate = __webpack_require__(188); +var setToStringTag = __webpack_require__(71); +var getPrototypeOf = __webpack_require__(194); +var ITERATOR = __webpack_require__(13)('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; + +var returnThis = function () { return this; }; + +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); } } -} - -Glob.prototype._stat2 = function (f, abs, er, stat, cb) { - if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { - this.statCache[abs] = false - return cb() + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { return $native.call(this); }; } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; - var needDir = f.slice(-1) === '/' - this.statCache[abs] = stat - - if (abs.slice(-1) === '/' && stat && !stat.isDirectory()) - return cb(null, false, stat) - - var c = true - if (stat) - c = stat.isDirectory() ? 'DIR' : 'FILE' - this.cache[abs] = this.cache[abs] || c - if (needDir && c === 'FILE') - return cb() +/***/ }), +/* 104 */ +/***/ (function(module, exports) { - return cb(null, c, stat) -} +module.exports = function (exec) { + try { + return { e: false, v: exec() }; + } catch (e) { + return { e: true, v: e }; + } +}; /***/ }), -/* 76 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - - -function posix(path) { - return path.charAt(0) === '/'; -} - -function win32(path) { - // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 - var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; - var result = splitDeviceRe.exec(path); - var device = result[1] || ''; - var isUnc = Boolean(device && device.charAt(1) !== ':'); - - // UNC paths are always absolute - return Boolean(result[2] || isUnc); -} +var anObject = __webpack_require__(27); +var isObject = __webpack_require__(34); +var newPromiseCapability = __webpack_require__(70); -module.exports = process.platform === 'win32' ? win32 : posix; -module.exports.posix = posix; -module.exports.win32 = win32; +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; /***/ }), -/* 77 */, -/* 78 */, -/* 79 */ +/* 106 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(121); +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + /***/ }), -/* 80 */, -/* 81 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - +var core = __webpack_require__(23); +var global = __webpack_require__(11); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); -Object.defineProperty(exports, "__esModule", { - value: true +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: __webpack_require__(69) ? 'pure' : 'global', + copyright: '© 2018 Denis Pushkarev (zloirock.ru)' }); -exports.default = function (str, fileLoc = 'lockfile') { - str = (0, (_stripBom || _load_stripBom()).default)(str); - return hasMergeConflicts(str) ? parseWithConflict(str, fileLoc) : { type: 'success', object: parse(str, fileLoc) }; + +/***/ }), +/* 108 */ +/***/ (function(module, exports, __webpack_require__) { + +// 7.3.20 SpeciesConstructor(O, defaultConstructor) +var anObject = __webpack_require__(27); +var aFunction = __webpack_require__(46); +var SPECIES = __webpack_require__(13)('species'); +module.exports = function (O, D) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); }; -var _util; -function _load_util() { - return _util = _interopRequireDefault(__webpack_require__(2)); +/***/ }), +/* 109 */ +/***/ (function(module, exports, __webpack_require__) { + +var ctx = __webpack_require__(48); +var invoke = __webpack_require__(185); +var html = __webpack_require__(102); +var cel = __webpack_require__(68); +var global = __webpack_require__(11); +var process = global.process; +var setTask = global.setImmediate; +var clearTask = global.clearImmediate; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; +var run = function () { + var id = +this; + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var listener = function (event) { + run.call(event.data); +}; +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func + invoke(typeof fn == 'function' ? fn : Function(fn), args); + }; + defer(counter); + return counter; + }; + clearTask = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (__webpack_require__(47)(process) == 'process') { + defer = function (id) { + process.nextTick(ctx(run, id, 1)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(ctx(run, id, 1)); + }; + // Browsers with MessageChannel, includes WebWorkers + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = ctx(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function (id) { + global.postMessage(id + '', '*'); + }; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function (id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run.call(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(ctx(run, id, 1), 0); + }; + } } +module.exports = { + set: setTask, + clear: clearTask +}; -var _invariant; -function _load_invariant() { - return _invariant = _interopRequireDefault(__webpack_require__(7)); -} +/***/ }), +/* 110 */ +/***/ (function(module, exports, __webpack_require__) { -var _stripBom; +// 7.1.15 ToLength +var toInteger = __webpack_require__(73); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; -function _load_stripBom() { - return _stripBom = _interopRequireDefault(__webpack_require__(122)); -} -var _constants; +/***/ }), +/* 111 */ +/***/ (function(module, exports) { -function _load_constants() { - return _constants = __webpack_require__(6); -} +var id = 0; +var px = Math.random(); +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; -var _errors; -function _load_errors() { - return _errors = __webpack_require__(4); -} +/***/ }), +/* 112 */ +/***/ (function(module, exports, __webpack_require__) { -var _map; -function _load_map() { - return _map = _interopRequireDefault(__webpack_require__(20)); -} +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + * + * Expose `debug()` as the module. + */ -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; +exports.coerce = coerce; +exports.disable = disable; +exports.enable = enable; +exports.enabled = enabled; +exports.humanize = __webpack_require__(229); -/* eslint quotes: 0 */ +/** + * Active `debug` instances. + */ +exports.instances = []; -const VERSION_REGEX = /^yarn lockfile v(\d+)$/; +/** + * The currently active debug mode names, and names to skip. + */ -const TOKEN_TYPES = { - boolean: 'BOOLEAN', - string: 'STRING', - identifier: 'IDENTIFIER', - eof: 'EOF', - colon: 'COLON', - newline: 'NEWLINE', - comment: 'COMMENT', - indent: 'INDENT', - invalid: 'INVALID', - number: 'NUMBER', - comma: 'COMMA' -}; +exports.names = []; +exports.skips = []; -const VALID_PROP_VALUE_TOKENS = [TOKEN_TYPES.boolean, TOKEN_TYPES.string, TOKEN_TYPES.number]; +/** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ -function isValidPropValueToken(token) { - return VALID_PROP_VALUE_TOKENS.indexOf(token.type) >= 0; -} +exports.formatters = {}; -function* tokenise(input) { - let lastNewline = false; - let line = 1; - let col = 0; +/** + * Select a color. + * @param {String} namespace + * @return {Number} + * @api private + */ - function buildToken(type, value) { - return { line, col, type, value }; +function selectColor(namespace) { + var hash = 0, i; + + for (i in namespace) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer } - while (input.length) { - let chop = 0; + return exports.colors[Math.abs(hash) % exports.colors.length]; +} - if (input[0] === '\n' || input[0] === '\r') { - chop++; - // If this is a \r\n line, ignore both chars but only add one new line - if (input[1] === '\n') { - chop++; - } - line++; - col = 0; - yield buildToken(TOKEN_TYPES.newline); - } else if (input[0] === '#') { - chop++; +/** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ - let val = ''; - while (input[chop] !== '\n') { - val += input[chop]; - chop++; - } - yield buildToken(TOKEN_TYPES.comment, val); - } else if (input[0] === ' ') { - if (lastNewline) { - let indent = ''; - for (let i = 0; input[i] === ' '; i++) { - indent += input[i]; - } +function createDebug(namespace) { - if (indent.length % 2) { - throw new TypeError('Invalid number of spaces'); - } else { - chop = indent.length; - yield buildToken(TOKEN_TYPES.indent, indent.length / 2); - } - } else { - chop++; - } - } else if (input[0] === '"') { - let val = ''; + var prevTime; - for (let i = 0;; i++) { - const currentChar = input[i]; - val += currentChar; + function debug() { + // disabled? + if (!debug.enabled) return; - if (i > 0 && currentChar === '"') { - const isEscaped = input[i - 1] === '\\' && input[i - 2] !== '\\'; - if (!isEscaped) { - break; - } - } - } + var self = debug; - chop = val.length; + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; - try { - yield buildToken(TOKEN_TYPES.string, JSON.parse(val)); - } catch (err) { - if (err instanceof SyntaxError) { - yield buildToken(TOKEN_TYPES.invalid); - } else { - throw err; - } - } - } else if (/^[0-9]/.test(input)) { - let val = ''; - for (let i = 0; /^[0-9]$/.test(input[i]); i++) { - val += input[i]; - } - chop = val.length; + // turn the `arguments` into a proper Array + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } - yield buildToken(TOKEN_TYPES.number, +val); - } else if (/^true/.test(input)) { - yield buildToken(TOKEN_TYPES.boolean, true); - chop = 4; - } else if (/^false/.test(input)) { - yield buildToken(TOKEN_TYPES.boolean, false); - chop = 5; - } else if (input[0] === ':') { - yield buildToken(TOKEN_TYPES.colon); - chop++; - } else if (input[0] === ',') { - yield buildToken(TOKEN_TYPES.comma); - chop++; - } else if (/^[a-zA-Z\/-]/g.test(input)) { - let name = ''; - for (let i = 0; i < input.length; i++) { - const char = input[i]; - if (char === ':' || char === ' ' || char === '\n' || char === '\r' || char === ',') { - break; - } else { - name += char; - } - } - chop = name.length; + args[0] = exports.coerce(args[0]); - yield buildToken(TOKEN_TYPES.string, name); - } else { - yield buildToken(TOKEN_TYPES.invalid); + if ('string' !== typeof args[0]) { + // anything else let's inspect with %O + args.unshift('%O'); } - if (!chop) { - // will trigger infinite recursion - yield buildToken(TOKEN_TYPES.invalid); - } + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); - col += chop; - lastNewline = input[0] === '\n' || input[0] === '\r' && input[1] === '\n'; - input = input.slice(chop); - } + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); - yield buildToken(TOKEN_TYPES.eof); -} + // apply env-specific formatting (colors, etc.) + exports.formatArgs.call(self, args); -class Parser { - constructor(input, fileLoc = 'lockfile') { - this.comments = []; - this.tokens = tokenise(input); - this.fileLoc = fileLoc; + var logFn = debug.log || exports.log || console.log.bind(console); + logFn.apply(self, args); } - onComment(token) { - const value = token.value; - (0, (_invariant || _load_invariant()).default)(typeof value === 'string', 'expected token value to be a string'); + debug.namespace = namespace; + debug.enabled = exports.enabled(namespace); + debug.useColors = exports.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; - const comment = value.trim(); + // env-specific initialization logic for debug instances + if ('function' === typeof exports.init) { + exports.init(debug); + } - const versionMatch = comment.match(VERSION_REGEX); - if (versionMatch) { - const version = +versionMatch[1]; - if (version > (_constants || _load_constants()).LOCKFILE_VERSION) { - throw new (_errors || _load_errors()).MessageError(`Can't install from a lockfile of version ${version} as you're on an old yarn version that only supports ` + `versions up to ${(_constants || _load_constants()).LOCKFILE_VERSION}. Run \`$ yarn self-update\` to upgrade to the latest version.`); - } - } + exports.instances.push(debug); - this.comments.push(comment); + return debug; +} + +function destroy () { + var index = exports.instances.indexOf(this); + if (index !== -1) { + exports.instances.splice(index, 1); + return true; + } else { + return false; } +} - next() { - const item = this.tokens.next(); - (0, (_invariant || _load_invariant()).default)(item, 'expected a token'); +/** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ - const done = item.done, - value = item.value; +function enable(namespaces) { + exports.save(namespaces); - if (done || !value) { - throw new Error('No more tokens'); - } else if (value.type === TOKEN_TYPES.comment) { - this.onComment(value); - return this.next(); + exports.names = []; + exports.skips = []; + + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); } else { - return this.token = value; + exports.names.push(new RegExp('^' + namespaces + '$')); } } - unexpected(msg = 'Unexpected token') { - throw new SyntaxError(`${msg} ${this.token.line}:${this.token.col} in ${this.fileLoc}`); + for (i = 0; i < exports.instances.length; i++) { + var instance = exports.instances[i]; + instance.enabled = exports.enabled(instance.namespace); } +} - expect(tokType) { - if (this.token.type === tokType) { - this.next(); - } else { - this.unexpected(); +/** + * Disable debug output. + * + * @api public + */ + +function disable() { + exports.enable(''); +} + +/** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + +function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; } } - - eat(tokType) { - if (this.token.type === tokType) { - this.next(); + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { return true; - } else { - return false; } } + return false; +} - parse(indent = 0) { - const obj = (0, (_map || _load_map()).default)(); +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ - while (true) { - const propToken = this.token; +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} - if (propToken.type === TOKEN_TYPES.newline) { - const nextToken = this.next(); - if (!indent) { - // if we have 0 indentation then the next token doesn't matter - continue; - } - if (nextToken.type !== TOKEN_TYPES.indent) { - // if we have no indentation after a newline then we've gone down a level - break; - } +/***/ }), +/* 113 */, +/* 114 */ +/***/ (function(module, exports, __webpack_require__) { - if (nextToken.value === indent) { - // all is good, the indent is on our level - this.next(); - } else { - // the indentation is less than our level - break; - } - } else if (propToken.type === TOKEN_TYPES.indent) { - if (propToken.value === indent) { - this.next(); - } else { - break; - } - } else if (propToken.type === TOKEN_TYPES.eof) { - break; - } else if (propToken.type === TOKEN_TYPES.string) { - // property key - const key = propToken.value; - (0, (_invariant || _load_invariant()).default)(key, 'Expected a key'); +module.exports = realpath +realpath.realpath = realpath +realpath.sync = realpathSync +realpath.realpathSync = realpathSync +realpath.monkeypatch = monkeypatch +realpath.unmonkeypatch = unmonkeypatch - const keys = [key]; - this.next(); +var fs = __webpack_require__(3) +var origRealpath = fs.realpath +var origRealpathSync = fs.realpathSync - // support multiple keys - while (this.token.type === TOKEN_TYPES.comma) { - this.next(); // skip comma +var version = process.version +var ok = /^v[0-5]\./.test(version) +var old = __webpack_require__(217) - const keyToken = this.token; - if (keyToken.type !== TOKEN_TYPES.string) { - this.unexpected('Expected string'); - } +function newError (er) { + return er && er.syscall === 'realpath' && ( + er.code === 'ELOOP' || + er.code === 'ENOMEM' || + er.code === 'ENAMETOOLONG' + ) +} - const key = keyToken.value; - (0, (_invariant || _load_invariant()).default)(key, 'Expected a key'); - keys.push(key); - this.next(); - } +function realpath (p, cache, cb) { + if (ok) { + return origRealpath(p, cache, cb) + } - const valToken = this.token; + if (typeof cache === 'function') { + cb = cache + cache = null + } + origRealpath(p, cache, function (er, result) { + if (newError(er)) { + old.realpath(p, cache, cb) + } else { + cb(er, result) + } + }) +} - if (valToken.type === TOKEN_TYPES.colon) { - // object - this.next(); +function realpathSync (p, cache) { + if (ok) { + return origRealpathSync(p, cache) + } - // parse object - const val = this.parse(indent + 1); + try { + return origRealpathSync(p, cache) + } catch (er) { + if (newError(er)) { + return old.realpathSync(p, cache) + } else { + throw er + } + } +} - for (var _iterator = keys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; +function monkeypatch () { + fs.realpath = realpath + fs.realpathSync = realpathSync +} - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } +function unmonkeypatch () { + fs.realpath = origRealpath + fs.realpathSync = origRealpathSync +} - const key = _ref; - obj[key] = val; - } +/***/ }), +/* 115 */ +/***/ (function(module, exports, __webpack_require__) { - if (indent && this.token.type !== TOKEN_TYPES.indent) { - break; - } - } else if (isValidPropValueToken(valToken)) { - // plain value - for (var _iterator2 = keys, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; +exports.alphasort = alphasort +exports.alphasorti = alphasorti +exports.setopts = setopts +exports.ownProp = ownProp +exports.makeAbs = makeAbs +exports.finish = finish +exports.mark = mark +exports.isIgnored = isIgnored +exports.childrenIgnored = childrenIgnored - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } +function ownProp (obj, field) { + return Object.prototype.hasOwnProperty.call(obj, field) +} - const key = _ref2; +var path = __webpack_require__(0) +var minimatch = __webpack_require__(60) +var isAbsolute = __webpack_require__(76) +var Minimatch = minimatch.Minimatch - obj[key] = valToken.value; - } +function alphasorti (a, b) { + return a.toLowerCase().localeCompare(b.toLowerCase()) +} - this.next(); - } else { - this.unexpected('Invalid value type'); - } - } else { - this.unexpected(`Unknown token: ${(_util || _load_util()).default.inspect(propToken)}`); - } - } +function alphasort (a, b) { + return a.localeCompare(b) +} - return obj; +function setupIgnores (self, options) { + self.ignore = options.ignore || [] + + if (!Array.isArray(self.ignore)) + self.ignore = [self.ignore] + + if (self.ignore.length) { + self.ignore = self.ignore.map(ignoreMap) } } -const MERGE_CONFLICT_ANCESTOR = '|||||||'; -const MERGE_CONFLICT_END = '>>>>>>>'; -const MERGE_CONFLICT_SEP = '======='; -const MERGE_CONFLICT_START = '<<<<<<<'; +// ignore patterns are always in dot:true mode. +function ignoreMap (pattern) { + var gmatcher = null + if (pattern.slice(-3) === '/**') { + var gpattern = pattern.replace(/(\/\*\*)+$/, '') + gmatcher = new Minimatch(gpattern, { dot: true }) + } -/** - * Extract the two versions of the lockfile from a merge conflict. - */ -function extractConflictVariants(str) { - const variants = [[], []]; - const lines = str.split(/\r?\n/g); - let skip = false; + return { + matcher: new Minimatch(pattern, { dot: true }), + gmatcher: gmatcher + } +} - while (lines.length) { - const line = lines.shift(); - if (line.startsWith(MERGE_CONFLICT_START)) { - // get the first variant - while (lines.length) { - const conflictLine = lines.shift(); - if (conflictLine === MERGE_CONFLICT_SEP) { - skip = false; - break; - } else if (skip || conflictLine.startsWith(MERGE_CONFLICT_ANCESTOR)) { - skip = true; - continue; - } else { - variants[0].push(conflictLine); - } - } +function setopts (self, pattern, options) { + if (!options) + options = {} - // get the second variant - while (lines.length) { - const conflictLine = lines.shift(); - if (conflictLine.startsWith(MERGE_CONFLICT_END)) { - break; - } else { - variants[1].push(conflictLine); - } - } - } else { - variants[0].push(line); - variants[1].push(line); + // base-matching: just use globstar for that. + if (options.matchBase && -1 === pattern.indexOf("/")) { + if (options.noglobstar) { + throw new Error("base matching requires globstar") } + pattern = "**/" + pattern } - return [variants[0].join('\n'), variants[1].join('\n')]; -} + self.silent = !!options.silent + self.pattern = pattern + self.strict = options.strict !== false + self.realpath = !!options.realpath + self.realpathCache = options.realpathCache || Object.create(null) + self.follow = !!options.follow + self.dot = !!options.dot + self.mark = !!options.mark + self.nodir = !!options.nodir + if (self.nodir) + self.mark = true + self.sync = !!options.sync + self.nounique = !!options.nounique + self.nonull = !!options.nonull + self.nosort = !!options.nosort + self.nocase = !!options.nocase + self.stat = !!options.stat + self.noprocess = !!options.noprocess + self.absolute = !!options.absolute -/** - * Check if a lockfile has merge conflicts. - */ -function hasMergeConflicts(str) { - return str.includes(MERGE_CONFLICT_START) && str.includes(MERGE_CONFLICT_SEP) && str.includes(MERGE_CONFLICT_END); -} + self.maxLength = options.maxLength || Infinity + self.cache = options.cache || Object.create(null) + self.statCache = options.statCache || Object.create(null) + self.symlinks = options.symlinks || Object.create(null) -/** - * Parse the lockfile. - */ -function parse(str, fileLoc) { - const parser = new Parser(str, fileLoc); - parser.next(); - return parser.parse(); -} + setupIgnores(self, options) -/** - * Parse and merge the two variants in a conflicted lockfile. - */ -function parseWithConflict(str, fileLoc) { - const variants = extractConflictVariants(str); - try { - return { type: 'merge', object: Object.assign({}, parse(variants[0], fileLoc), parse(variants[1], fileLoc)) }; - } catch (err) { - if (err instanceof SyntaxError) { - return { type: 'conflict', object: {} }; - } else { - throw err; - } + self.changedCwd = false + var cwd = process.cwd() + if (!ownProp(options, "cwd")) + self.cwd = cwd + else { + self.cwd = path.resolve(options.cwd) + self.changedCwd = self.cwd !== cwd } -} - -/***/ }), -/* 82 */, -/* 83 */, -/* 84 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; + self.root = options.root || path.resolve(self.cwd, "/") + self.root = path.resolve(self.root) + if (process.platform === "win32") + self.root = self.root.replace(/\\/g, "/") -Object.defineProperty(exports, "__esModule", { - value: true -}); + // TODO: is an absolute `cwd` supposed to be resolved against `root`? + // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test') + self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd) + if (process.platform === "win32") + self.cwdAbs = self.cwdAbs.replace(/\\/g, "/") + self.nomount = !!options.nomount -var _map; + // disable comments and negation in Minimatch. + // Note that they are not supported in Glob itself anyway. + options.nonegate = true + options.nocomment = true -function _load_map() { - return _map = _interopRequireDefault(__webpack_require__(20)); + self.minimatch = new Minimatch(pattern, options) + self.options = self.minimatch.options } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function finish (self) { + var nou = self.nounique + var all = nou ? [] : Object.create(null) -const debug = __webpack_require__(212)('yarn'); + for (var i = 0, l = self.matches.length; i < l; i ++) { + var matches = self.matches[i] + if (!matches || Object.keys(matches).length === 0) { + if (self.nonull) { + // do like the shell, and spit out the literal glob + var literal = self.minimatch.globSet[i] + if (nou) + all.push(literal) + else + all[literal] = true + } + } else { + // had matches + var m = Object.keys(matches) + if (nou) + all.push.apply(all, m) + else + m.forEach(function (m) { + all[m] = true + }) + } + } -class BlockingQueue { - constructor(alias, maxConcurrency = Infinity) { - this.concurrencyQueue = []; - this.maxConcurrency = maxConcurrency; - this.runningCount = 0; - this.warnedStuck = false; - this.alias = alias; - this.first = true; + if (!nou) + all = Object.keys(all) - this.running = (0, (_map || _load_map()).default)(); - this.queue = (0, (_map || _load_map()).default)(); + if (!self.nosort) + all = all.sort(self.nocase ? alphasorti : alphasort) - this.stuckTick = this.stuckTick.bind(this); + // at *some* point we statted all of these + if (self.mark) { + for (var i = 0; i < all.length; i++) { + all[i] = self._mark(all[i]) + } + if (self.nodir) { + all = all.filter(function (e) { + var notDir = !(/\/$/.test(e)) + var c = self.cache[e] || self.cache[makeAbs(self, e)] + if (notDir && c) + notDir = c !== 'DIR' && !Array.isArray(c) + return notDir + }) + } } - stillActive() { - if (this.stuckTimer) { - clearTimeout(this.stuckTimer); - } + if (self.ignore.length) + all = all.filter(function(m) { + return !isIgnored(self, m) + }) - this.stuckTimer = setTimeout(this.stuckTick, 5000); + self.found = all +} - // We need to check the existence of unref because of https://github.com/facebook/jest/issues/4559 - // $FlowFixMe: Node's setInterval returns a Timeout, not a Number - this.stuckTimer.unref && this.stuckTimer.unref(); - } +function mark (self, p) { + var abs = makeAbs(self, p) + var c = self.cache[abs] + var m = p + if (c) { + var isDir = c === 'DIR' || Array.isArray(c) + var slash = p.slice(-1) === '/' - stuckTick() { - if (this.runningCount === 1) { - this.warnedStuck = true; - debug(`The ${JSON.stringify(this.alias)} blocking queue may be stuck. 5 seconds ` + `without any activity with 1 worker: ${Object.keys(this.running)[0]}`); - } - } + if (isDir && !slash) + m += '/' + else if (!isDir && slash) + m = m.slice(0, -1) - push(key, factory) { - if (this.first) { - this.first = false; - } else { - this.stillActive(); + if (m !== p) { + var mabs = makeAbs(self, m) + self.statCache[mabs] = self.statCache[abs] + self.cache[mabs] = self.cache[abs] } + } - return new Promise((resolve, reject) => { - // we're already running so push ourselves to the queue - const queue = this.queue[key] = this.queue[key] || []; - queue.push({ factory, resolve, reject }); + return m +} - if (!this.running[key]) { - this.shift(key); - } - }); +// lotta situps... +function makeAbs (self, f) { + var abs = f + if (f.charAt(0) === '/') { + abs = path.join(self.root, f) + } else if (isAbsolute(f) || f === '') { + abs = f + } else if (self.changedCwd) { + abs = path.resolve(self.cwd, f) + } else { + abs = path.resolve(f) } - shift(key) { - if (this.running[key]) { - delete this.running[key]; - this.runningCount--; + if (process.platform === 'win32') + abs = abs.replace(/\\/g, '/') - if (this.stuckTimer) { - clearTimeout(this.stuckTimer); - this.stuckTimer = null; - } + return abs +} - if (this.warnedStuck) { - this.warnedStuck = false; - debug(`${JSON.stringify(this.alias)} blocking queue finally resolved. Nothing to worry about.`); - } - } - const queue = this.queue[key]; - if (!queue) { - return; - } +// Return true, if pattern ends with globstar '**', for the accompanying parent directory. +// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents +function isIgnored (self, path) { + if (!self.ignore.length) + return false - var _queue$shift = queue.shift(); + return self.ignore.some(function(item) { + return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) + }) +} - const resolve = _queue$shift.resolve, - reject = _queue$shift.reject, - factory = _queue$shift.factory; +function childrenIgnored (self, path) { + if (!self.ignore.length) + return false - if (!queue.length) { - delete this.queue[key]; - } + return self.ignore.some(function(item) { + return !!(item.gmatcher && item.gmatcher.match(path)) + }) +} - const next = () => { - this.shift(key); - this.shiftConcurrencyQueue(); - }; - const run = () => { - this.running[key] = true; - this.runningCount++; +/***/ }), +/* 116 */ +/***/ (function(module, exports, __webpack_require__) { - factory().then(function (val) { - resolve(val); - next(); - return null; - }).catch(function (err) { - reject(err); - next(); - }); - }; +var path = __webpack_require__(0); +var fs = __webpack_require__(3); +var _0777 = parseInt('0777', 8); - this.maybePushConcurrencyQueue(run); - } +module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; - maybePushConcurrencyQueue(run) { - if (this.runningCount < this.maxConcurrency) { - run(); - } else { - this.concurrencyQueue.push(run); +function mkdirP (p, opts, f, made) { + if (typeof opts === 'function') { + f = opts; + opts = {}; } - } - - shiftConcurrencyQueue() { - if (this.runningCount < this.maxConcurrency) { - const fn = this.concurrencyQueue.shift(); - if (fn) { - fn(); - } + else if (!opts || typeof opts !== 'object') { + opts = { mode: opts }; } - } + + var mode = opts.mode; + var xfs = opts.fs || fs; + + if (mode === undefined) { + mode = _0777 & (~process.umask()); + } + if (!made) made = null; + + var cb = f || function () {}; + p = path.resolve(p); + + xfs.mkdir(p, mode, function (er) { + if (!er) { + made = made || p; + return cb(null, made); + } + switch (er.code) { + case 'ENOENT': + mkdirP(path.dirname(p), opts, function (er, made) { + if (er) cb(er, made); + else mkdirP(p, opts, cb, made); + }); + break; + + // In the case of any other error, just see if there's a dir + // there already. If so, then hooray! If not, then something + // is borked. + default: + xfs.stat(p, function (er2, stat) { + // if the stat fails, then that's super weird. + // let the original error be the failure reason. + if (er2 || !stat.isDirectory()) cb(er, made) + else cb(null, made); + }); + break; + } + }); } -exports.default = BlockingQueue; -/***/ }), -/* 85 */ -/***/ (function(module, exports) { +mkdirP.sync = function sync (p, opts, made) { + if (!opts || typeof opts !== 'object') { + opts = { mode: opts }; + } + + var mode = opts.mode; + var xfs = opts.fs || fs; + + if (mode === undefined) { + mode = _0777 & (~process.umask()); + } + if (!made) made = null; -module.exports = function (exec) { - try { - return !!exec(); - } catch (e) { - return true; - } + p = path.resolve(p); + + try { + xfs.mkdirSync(p, mode); + made = made || p; + } + catch (err0) { + switch (err0.code) { + case 'ENOENT' : + made = sync(path.dirname(p), opts, made); + sync(p, opts, made); + break; + + // In the case of any other error, just see if there's a dir + // there already. If so, then hooray! If not, then something + // is borked. + default: + var stat; + try { + stat = xfs.statSync(p); + } + catch (err1) { + throw err0; + } + if (!stat.isDirectory()) throw err0; + break; + } + } + + return made; }; /***/ }), -/* 86 */, -/* 87 */, -/* 88 */, -/* 89 */, -/* 90 */, -/* 91 */, -/* 92 */, -/* 93 */, -/* 94 */, -/* 95 */, -/* 96 */, -/* 97 */, -/* 98 */, -/* 99 */, -/* 100 */ +/* 117 */, +/* 118 */, +/* 119 */, +/* 120 */, +/* 121 */, +/* 122 */ /***/ (function(module, exports, __webpack_require__) { -// getting tag from 19.1.3.6 Object.prototype.toString() -var cof = __webpack_require__(47); -var TAG = __webpack_require__(13)('toStringTag'); -// ES3 wrong here -var ARG = cof(function () { return arguments; }()) == 'Arguments'; +"use strict"; -// fallback for IE11 Script Access Denied error -var tryGet = function (it, key) { - try { - return it[key]; - } catch (e) { /* empty */ } -}; +module.exports = x => { + if (typeof x !== 'string') { + throw new TypeError('Expected a string, got ' + typeof x); + } -module.exports = function (it) { - var O, T, B; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T - // builtinTag case - : ARG ? cof(O) - // ES3 arguments fallback - : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; + // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string + // conversion translates it to FEFF (UTF-16 BOM) + if (x.charCodeAt(0) === 0xFEFF) { + return x.slice(1); + } + + return x; }; /***/ }), -/* 101 */ +/* 123 */ /***/ (function(module, exports) { -// IE 8- don't enum bug keys -module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' -).split(','); - - -/***/ }), -/* 102 */ -/***/ (function(module, exports, __webpack_require__) { - -var document = __webpack_require__(11).document; -module.exports = document && document.documentElement; +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') -/***/ }), -/* 103 */ -/***/ (function(module, exports, __webpack_require__) { + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) -"use strict"; + return wrapper -var LIBRARY = __webpack_require__(69); -var $export = __webpack_require__(41); -var redefine = __webpack_require__(197); -var hide = __webpack_require__(31); -var Iterators = __webpack_require__(35); -var $iterCreate = __webpack_require__(188); -var setToStringTag = __webpack_require__(71); -var getPrototypeOf = __webpack_require__(194); -var ITERATOR = __webpack_require__(13)('iterator'); -var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` -var FF_ITERATOR = '@@iterator'; -var KEYS = 'keys'; -var VALUES = 'values'; - -var returnThis = function () { return this; }; - -module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { - $iterCreate(Constructor, NAME, next); - var getMethod = function (kind) { - if (!BUGGY && kind in proto) return proto[kind]; - switch (kind) { - case KEYS: return function keys() { return new Constructor(this, kind); }; - case VALUES: return function values() { return new Constructor(this, kind); }; - } return function entries() { return new Constructor(this, kind); }; - }; - var TAG = NAME + ' Iterator'; - var DEF_VALUES = DEFAULT == VALUES; - var VALUES_BUG = false; - var proto = Base.prototype; - var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; - var $default = $native || getMethod(DEFAULT); - var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; - var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; - var methods, key, IteratorPrototype; - // Fix native - if ($anyNative) { - IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); - if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret } - // fix Array#{values, @@iterator}.name in V8 / FF - if (DEF_VALUES && $native && $native.name !== VALUES) { - VALUES_BUG = true; - $default = function values() { return $native.call(this); }; - } - // Define iterator - if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { - hide(proto, ITERATOR, $default); - } - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if (DEFAULT) { - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - if (FORCED) for (key in methods) { - if (!(key in proto)) redefine(proto, key, methods[key]); - } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); - } - return methods; -}; - - -/***/ }), -/* 104 */ -/***/ (function(module, exports) { - -module.exports = function (exec) { - try { - return { e: false, v: exec() }; - } catch (e) { - return { e: true, v: e }; - } -}; +} /***/ }), -/* 105 */ +/* 124 */, +/* 125 */, +/* 126 */, +/* 127 */, +/* 128 */, +/* 129 */, +/* 130 */, +/* 131 */ /***/ (function(module, exports, __webpack_require__) { -var anObject = __webpack_require__(27); -var isObject = __webpack_require__(34); -var newPromiseCapability = __webpack_require__(70); - -module.exports = function (C, x) { - anObject(C); - if (isObject(x) && x.constructor === C) return x; - var promiseCapability = newPromiseCapability.f(C); - var resolve = promiseCapability.resolve; - resolve(x); - return promiseCapability.promise; -}; - - -/***/ }), -/* 106 */ -/***/ (function(module, exports) { - -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var cof = __webpack_require__(47); +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { + return cof(it) == 'String' ? it.split('') : Object(it); }; /***/ }), -/* 107 */ -/***/ (function(module, exports, __webpack_require__) { - -var core = __webpack_require__(23); -var global = __webpack_require__(11); -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || (global[SHARED] = {}); - -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: core.version, - mode: __webpack_require__(69) ? 'pure' : 'global', - copyright: '© 2018 Denis Pushkarev (zloirock.ru)' -}); - - -/***/ }), -/* 108 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { -// 7.3.20 SpeciesConstructor(O, defaultConstructor) -var anObject = __webpack_require__(27); -var aFunction = __webpack_require__(46); -var SPECIES = __webpack_require__(13)('species'); -module.exports = function (O, D) { - var C = anObject(O).constructor; - var S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); -}; - - -/***/ }), -/* 109 */ -/***/ (function(module, exports, __webpack_require__) { +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__(195); +var enumBugKeys = __webpack_require__(101); -var ctx = __webpack_require__(48); -var invoke = __webpack_require__(185); -var html = __webpack_require__(102); -var cel = __webpack_require__(68); -var global = __webpack_require__(11); -var process = global.process; -var setTask = global.setImmediate; -var clearTask = global.clearImmediate; -var MessageChannel = global.MessageChannel; -var Dispatch = global.Dispatch; -var counter = 0; -var queue = {}; -var ONREADYSTATECHANGE = 'onreadystatechange'; -var defer, channel, port; -var run = function () { - var id = +this; - // eslint-disable-next-line no-prototype-builtins - if (queue.hasOwnProperty(id)) { - var fn = queue[id]; - delete queue[id]; - fn(); - } -}; -var listener = function (event) { - run.call(event.data); -}; -// Node.js 0.9+ & IE10+ has setImmediate, otherwise: -if (!setTask || !clearTask) { - setTask = function setImmediate(fn) { - var args = []; - var i = 1; - while (arguments.length > i) args.push(arguments[i++]); - queue[++counter] = function () { - // eslint-disable-next-line no-new-func - invoke(typeof fn == 'function' ? fn : Function(fn), args); - }; - defer(counter); - return counter; - }; - clearTask = function clearImmediate(id) { - delete queue[id]; - }; - // Node.js 0.8- - if (__webpack_require__(47)(process) == 'process') { - defer = function (id) { - process.nextTick(ctx(run, id, 1)); - }; - // Sphere (JS game engine) Dispatch API - } else if (Dispatch && Dispatch.now) { - defer = function (id) { - Dispatch.now(ctx(run, id, 1)); - }; - // Browsers with MessageChannel, includes WebWorkers - } else if (MessageChannel) { - channel = new MessageChannel(); - port = channel.port2; - channel.port1.onmessage = listener; - defer = ctx(port.postMessage, port, 1); - // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { - defer = function (id) { - global.postMessage(id + '', '*'); - }; - global.addEventListener('message', listener, false); - // IE8- - } else if (ONREADYSTATECHANGE in cel('script')) { - defer = function (id) { - html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { - html.removeChild(this); - run.call(id); - }; - }; - // Rest old browsers - } else { - defer = function (id) { - setTimeout(ctx(run, id, 1), 0); - }; - } -} -module.exports = { - set: setTask, - clear: clearTask +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); }; /***/ }), -/* 110 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { -// 7.1.15 ToLength -var toInteger = __webpack_require__(73); -var min = Math.min; +// 7.1.13 ToObject(argument) +var defined = __webpack_require__(67); module.exports = function (it) { - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 + return Object(defined(it)); }; /***/ }), -/* 111 */ +/* 134 */, +/* 135 */, +/* 136 */, +/* 137 */, +/* 138 */, +/* 139 */, +/* 140 */, +/* 141 */, +/* 142 */, +/* 143 */, +/* 144 */, +/* 145 */ /***/ (function(module, exports) { -var id = 0; -var px = Math.random(); -module.exports = function (key) { - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); -}; - +module.exports = {"name":"yarn","installationMethod":"unknown","version":"1.10.0-0","license":"BSD-2-Clause","preferGlobal":true,"description":"📦🐈 Fast, reliable, and secure dependency management.","dependencies":{"@zkochan/cmd-shim":"^2.2.4","babel-runtime":"^6.26.0","bytes":"^3.0.0","camelcase":"^4.0.0","chalk":"^2.1.0","commander":"^2.9.0","death":"^1.0.0","debug":"^3.0.0","deep-equal":"^1.0.1","detect-indent":"^5.0.0","dnscache":"^1.0.1","glob":"^7.1.1","gunzip-maybe":"^1.4.0","hash-for-dep":"^1.2.3","imports-loader":"^0.8.0","ini":"^1.3.4","inquirer":"^3.0.1","invariant":"^2.2.0","is-builtin-module":"^2.0.0","is-ci":"^1.0.10","is-webpack-bundle":"^1.0.0","leven":"^2.0.0","loud-rejection":"^1.2.0","micromatch":"^2.3.11","mkdirp":"^0.5.1","node-emoji":"^1.6.1","normalize-url":"^2.0.0","npm-logical-tree":"^1.2.1","object-path":"^0.11.2","proper-lockfile":"^2.0.0","puka":"^1.0.0","read":"^1.0.7","request":"^2.87.0","request-capture-har":"^1.2.2","rimraf":"^2.5.0","semver":"^5.1.0","ssri":"^5.3.0","strip-ansi":"^4.0.0","strip-bom":"^3.0.0","tar-fs":"^1.16.0","tar-stream":"^1.6.1","uuid":"^3.0.1","v8-compile-cache":"^2.0.0","validate-npm-package-license":"^3.0.3","yn":"^2.0.0"},"devDependencies":{"babel-core":"^6.26.0","babel-eslint":"^7.2.3","babel-loader":"^6.2.5","babel-plugin-array-includes":"^2.0.3","babel-plugin-transform-builtin-extend":"^1.1.2","babel-plugin-transform-inline-imports-commonjs":"^1.0.0","babel-plugin-transform-runtime":"^6.4.3","babel-preset-env":"^1.6.0","babel-preset-flow":"^6.23.0","babel-preset-stage-0":"^6.0.0","babylon":"^6.5.0","commitizen":"^2.9.6","cz-conventional-changelog":"^2.0.0","eslint":"^4.3.0","eslint-config-fb-strict":"^22.0.0","eslint-plugin-babel":"^5.0.0","eslint-plugin-flowtype":"^2.35.0","eslint-plugin-jasmine":"^2.6.2","eslint-plugin-jest":"^21.0.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-prefer-object-spread":"^1.2.1","eslint-plugin-prettier":"^2.1.2","eslint-plugin-react":"^7.1.0","eslint-plugin-relay":"^0.0.24","eslint-plugin-yarn-internal":"file:scripts/eslint-rules","execa":"^0.10.0","flow-bin":"^0.66.0","git-release-notes":"^3.0.0","gulp":"^3.9.0","gulp-babel":"^7.0.0","gulp-if":"^2.0.1","gulp-newer":"^1.0.0","gulp-plumber":"^1.0.1","gulp-sourcemaps":"^2.2.0","gulp-util":"^3.0.7","gulp-watch":"^5.0.0","jest":"^22.4.4","jsinspect":"^0.12.6","minimatch":"^3.0.4","mock-stdin":"^0.3.0","prettier":"^1.5.2","temp":"^0.8.3","webpack":"^2.1.0-beta.25","yargs":"^6.3.0"},"resolutions":{"sshpk":"^1.14.2"},"engines":{"node":">=4.0.0"},"repository":"yarnpkg/yarn","bin":{"yarn":"./bin/yarn.js","yarnpkg":"./bin/yarn.js"},"scripts":{"build":"gulp build","build-bundle":"node ./scripts/build-webpack.js","build-chocolatey":"powershell ./scripts/build-chocolatey.ps1","build-deb":"./scripts/build-deb.sh","build-dist":"bash ./scripts/build-dist.sh","build-win-installer":"scripts\\build-windows-installer.bat","changelog":"git-release-notes $(git describe --tags --abbrev=0 $(git describe --tags --abbrev=0)^)..$(git describe --tags --abbrev=0) scripts/changelog.md","dupe-check":"yarn jsinspect ./src","lint":"eslint . && flow check","pkg-tests":"yarn --cwd packages/pkg-tests jest yarn.test.js","prettier":"eslint src __tests__ --fix","release-branch":"./scripts/release-branch.sh","test":"yarn lint && yarn test-only","test-only":"node --max_old_space_size=4096 node_modules/jest/bin/jest.js --verbose","test-only-debug":"node --inspect-brk --max_old_space_size=4096 node_modules/jest/bin/jest.js --runInBand --verbose","test-coverage":"node --max_old_space_size=4096 node_modules/jest/bin/jest.js --coverage --verbose","watch":"gulp watch","commit":"git-cz"},"jest":{"collectCoverageFrom":["src/**/*.js"],"testEnvironment":"node","modulePathIgnorePatterns":["__tests__/fixtures/","packages/pkg-tests/pkg-tests-fixtures","dist/"],"testPathIgnorePatterns":["__tests__/(fixtures|__mocks__)/","updates/","_(temp|mock|install|init|helpers).js$","packages/pkg-tests"]},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}}} /***/ }), -/* 112 */ +/* 146 */, +/* 147 */, +/* 148 */, +/* 149 */, +/* 150 */ /***/ (function(module, exports, __webpack_require__) { +"use strict"; -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - * - * Expose `debug()` as the module. - */ -exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; -exports.coerce = coerce; -exports.disable = disable; -exports.enable = enable; -exports.enabled = enabled; -exports.humanize = __webpack_require__(229); +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = stringify; -/** - * Active `debug` instances. - */ -exports.instances = []; +var _misc; -/** - * The currently active debug mode names, and names to skip. - */ +function _load_misc() { + return _misc = __webpack_require__(12); +} -exports.names = []; -exports.skips = []; +var _constants; -/** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ +function _load_constants() { + return _constants = __webpack_require__(6); +} -exports.formatters = {}; +var _package; -/** - * Select a color. - * @param {String} namespace - * @return {Number} - * @api private - */ +function _load_package() { + return _package = __webpack_require__(145); +} -function selectColor(namespace) { - var hash = 0, i; +const NODE_VERSION = process.version; - for (i in namespace) { - hash = ((hash << 5) - hash) + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } +function shouldWrapKey(str) { + return str.indexOf('true') === 0 || str.indexOf('false') === 0 || /[:\s\n\\",\[\]]/g.test(str) || /^[0-9]/g.test(str) || !/^[a-zA-Z]/g.test(str); +} - return exports.colors[Math.abs(hash) % exports.colors.length]; +function maybeWrap(str) { + if (typeof str === 'boolean' || typeof str === 'number' || shouldWrapKey(str)) { + return JSON.stringify(str); + } else { + return str; + } } -/** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ +const priorities = { + name: 1, + version: 2, + uid: 3, + resolved: 4, + integrity: 5, + registry: 6, + dependencies: 7 +}; -function createDebug(namespace) { +function priorityThenAlphaSort(a, b) { + if (priorities[a] || priorities[b]) { + return (priorities[a] || 100) > (priorities[b] || 100) ? 1 : -1; + } else { + return (0, (_misc || _load_misc()).sortAlpha)(a, b); + } +} - var prevTime; +function _stringify(obj, options) { + if (typeof obj !== 'object') { + throw new TypeError(); + } - function debug() { - // disabled? - if (!debug.enabled) return; + const indent = options.indent; + const lines = []; - var self = debug; + // Sorting order needs to be consistent between runs, we run native sort by name because there are no + // problems with it being unstable because there are no to keys the same + // However priorities can be duplicated and native sort can shuffle things from run to run + const keys = Object.keys(obj).sort(priorityThenAlphaSort); - // set `diff` timestamp - var curr = +new Date(); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; + let addedKeys = []; - // turn the `arguments` into a proper Array - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const val = obj[key]; + if (val == null || addedKeys.indexOf(key) >= 0) { + continue; } - args[0] = exports.coerce(args[0]); + const valKeys = [key]; - if ('string' !== typeof args[0]) { - // anything else let's inspect with %O - args.unshift('%O'); + // get all keys that have the same value equality, we only want this for objects + if (typeof val === 'object') { + for (let j = i + 1; j < keys.length; j++) { + const key = keys[j]; + if (val === obj[key]) { + valKeys.push(key); + } + } } - // apply any `formatters` transformations - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { - // if we encounter an escaped % then don't increase the array index - if (match === '%%') return match; - index++; - var formatter = exports.formatters[format]; - if ('function' === typeof formatter) { - var val = args[index]; - match = formatter.call(self, val); - - // now we need to remove `args[index]` since it's inlined in the `format` - args.splice(index, 1); - index--; - } - return match; - }); + const keyLine = valKeys.sort((_misc || _load_misc()).sortAlpha).map(maybeWrap).join(', '); - // apply env-specific formatting (colors, etc.) - exports.formatArgs.call(self, args); + if (typeof val === 'string' || typeof val === 'boolean' || typeof val === 'number') { + lines.push(`${keyLine} ${maybeWrap(val)}`); + } else if (typeof val === 'object') { + lines.push(`${keyLine}:\n${_stringify(val, { indent: indent + ' ' })}` + (options.topLevel ? '\n' : '')); + } else { + throw new TypeError(); + } - var logFn = debug.log || exports.log || console.log.bind(console); - logFn.apply(self, args); + addedKeys = addedKeys.concat(valKeys); } - debug.namespace = namespace; - debug.enabled = exports.enabled(namespace); - debug.useColors = exports.useColors(); - debug.color = selectColor(namespace); - debug.destroy = destroy; + return indent + lines.join(`\n${indent}`); +} - // env-specific initialization logic for debug instances - if ('function' === typeof exports.init) { - exports.init(debug); +function stringify(obj, noHeader, enableVersions) { + const val = _stringify(obj, { + indent: '', + topLevel: true + }); + if (noHeader) { + return val; } - exports.instances.push(debug); + const lines = []; + lines.push('# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.'); + lines.push(`# yarn lockfile v${(_constants || _load_constants()).LOCKFILE_VERSION}`); + if (enableVersions) { + lines.push(`# yarn v${(_package || _load_package()).version}`); + lines.push(`# node ${NODE_VERSION}`); + } + lines.push('\n'); + lines.push(val); - return debug; + return lines.join('\n'); } -function destroy () { - var index = exports.instances.indexOf(this); - if (index !== -1) { - exports.instances.splice(index, 1); - return true; - } else { - return false; - } -} +/***/ }), +/* 151 */, +/* 152 */, +/* 153 */, +/* 154 */, +/* 155 */, +/* 156 */, +/* 157 */, +/* 158 */, +/* 159 */, +/* 160 */, +/* 161 */, +/* 162 */, +/* 163 */, +/* 164 */ +/***/ (function(module, exports, __webpack_require__) { -/** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ +"use strict"; -function enable(namespaces) { - exports.save(namespaces); - exports.names = []; - exports.skips = []; +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.fileDatesEqual = exports.copyFile = exports.unlink = undefined; - var i; - var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - var len = split.length; +var _asyncToGenerator2; - for (i = 0; i < len; i++) { - if (!split[i]) continue; // ignore empty strings - namespaces = split[i].replace(/\*/g, '.*?'); - if (namespaces[0] === '-') { - exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - exports.names.push(new RegExp('^' + namespaces + '$')); +function _load_asyncToGenerator() { + return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1)); +} + +// We want to preserve file timestamps when copying a file, since yarn uses them to decide if a file has +// changed compared to the cache. +// There are some OS specific cases here: +// * On linux, fs.copyFile does not preserve timestamps, but does on OSX and Win. +// * On windows, you must open a file with write permissions to call `fs.futimes`. +// * On OSX you can open with read permissions and still call `fs.futimes`. +let fixTimes = (() => { + var _ref3 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (fd, dest, data) { + const doOpen = fd === undefined; + let openfd = fd ? fd : -1; + + if (disableTimestampCorrection === undefined) { + // if timestamps match already, no correction is needed. + // the need to correct timestamps varies based on OS and node versions. + const destStat = yield lstat(dest); + disableTimestampCorrection = fileDatesEqual(destStat.mtime, data.mtime); } - } - for (i = 0; i < exports.instances.length; i++) { - var instance = exports.instances[i]; - instance.enabled = exports.enabled(instance.namespace); - } + if (disableTimestampCorrection) { + return; + } + + if (doOpen) { + try { + openfd = yield open(dest, 'a', data.mode); + } catch (er) { + // file is likely read-only + try { + openfd = yield open(dest, 'r', data.mode); + } catch (err) { + // We can't even open this file for reading. + return; + } + } + } + + try { + if (openfd) { + yield futimes(openfd, data.atime, data.mtime); + } + } catch (er) { + // If `futimes` throws an exception, we probably have a case of a read-only file on Windows. + // In this case we can just return. The incorrect timestamp will just cause that file to be recopied + // on subsequent installs, which will effect yarn performance but not break anything. + } finally { + if (doOpen && openfd) { + yield close(openfd); + } + } + }); + + return function fixTimes(_x7, _x8, _x9) { + return _ref3.apply(this, arguments); + }; +})(); + +// Compare file timestamps. +// Some versions of Node on windows zero the milliseconds when utime is used. + + +var _fs; + +function _load_fs() { + return _fs = _interopRequireDefault(__webpack_require__(3)); } -/** - * Disable debug output. - * - * @api public - */ +var _promise; -function disable() { - exports.enable(''); +function _load_promise() { + return _promise = __webpack_require__(40); } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This module serves as a wrapper for file operations that are inconsistant across node and OS versions. + +let disableTimestampCorrection = undefined; // OS dependent. will be detected on first file copy. + +const readFileBuffer = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.readFile); +const close = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.close); +const lstat = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.lstat); +const open = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.open); +const futimes = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.futimes); + +const write = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.write); + +const unlink = exports.unlink = (0, (_promise || _load_promise()).promisify)(__webpack_require__(233)); + /** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public + * Unlinks the destination to force a recreation. This is needed on case-insensitive file systems + * to force the correct naming when the filename has changed only in character-casing. (Jest -> jest). */ +const copyFile = exports.copyFile = (() => { + var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data, cleanup) { + try { + yield unlink(data.dest); + yield copyFilePoly(data.src, data.dest, 0, data); + } finally { + if (cleanup) { + cleanup(); + } + } + }); -function enabled(name) { - if (name[name.length - 1] === '*') { - return true; + return function copyFile(_x, _x2) { + return _ref.apply(this, arguments); + }; +})(); + +// Node 8.5.0 introduced `fs.copyFile` which is much faster, so use that when available. +// Otherwise we fall back to reading and writing files as buffers. +const copyFilePoly = (src, dest, flags, data) => { + if ((_fs || _load_fs()).default.copyFile) { + return new Promise((resolve, reject) => (_fs || _load_fs()).default.copyFile(src, dest, flags, err => { + if (err) { + reject(err); + } else { + fixTimes(undefined, dest, data).then(() => resolve()).catch(ex => reject(ex)); + } + })); + } else { + return copyWithBuffer(src, dest, flags, data); } - var i, len; - for (i = 0, len = exports.skips.length; i < len; i++) { - if (exports.skips[i].test(name)) { - return false; +}; + +const copyWithBuffer = (() => { + var _ref2 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src, dest, flags, data) { + // Use open -> write -> futimes -> close sequence to avoid opening the file twice: + // one with writeFile and one with utimes + const fd = yield open(dest, 'w', data.mode); + try { + const buffer = yield readFileBuffer(src); + yield write(fd, buffer, 0, buffer.length); + yield fixTimes(fd, dest, data); + } finally { + yield close(fd); } + }); + + return function copyWithBuffer(_x3, _x4, _x5, _x6) { + return _ref2.apply(this, arguments); + }; +})();const fileDatesEqual = exports.fileDatesEqual = (a, b) => { + const aTime = a.getTime(); + const bTime = b.getTime(); + + if (process.platform !== 'win32') { + return aTime === bTime; } - for (i = 0, len = exports.names.length; i < len; i++) { - if (exports.names[i].test(name)) { - return true; - } + + // See https://github.com/nodejs/node/pull/12607 + // Submillisecond times from stat and utimes are truncated on Windows, + // causing a file with mtime 8.0079998 and 8.0081144 to become 8.007 and 8.008 + // and making it impossible to update these files to their correct timestamps. + if (Math.abs(aTime - bTime) <= 1) { + return true; } - return false; -} -/** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ + const aTimeSec = Math.floor(aTime / 1000); + const bTimeSec = Math.floor(bTime / 1000); -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} + // See https://github.com/nodejs/node/issues/2069 + // Some versions of Node on windows zero the milliseconds when utime is used + // So if any of the time has a milliseconds part of zero we suspect that the + // bug is present and compare only seconds. + if (aTime - aTimeSec * 1000 === 0 || bTime - bTimeSec * 1000 === 0) { + return aTimeSec === bTimeSec; + } + return aTime === bTime; +}; /***/ }), -/* 113 */, -/* 114 */ +/* 165 */, +/* 166 */, +/* 167 */, +/* 168 */, +/* 169 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = realpath -realpath.realpath = realpath -realpath.sync = realpathSync -realpath.realpathSync = realpathSync -realpath.monkeypatch = monkeypatch -realpath.unmonkeypatch = unmonkeypatch +"use strict"; -var fs = __webpack_require__(3) -var origRealpath = fs.realpath -var origRealpathSync = fs.realpathSync -var version = process.version -var ok = /^v[0-5]\./.test(version) -var old = __webpack_require__(217) +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isFakeRoot = isFakeRoot; +exports.isRootUser = isRootUser; +function getUid() { + if (process.platform !== 'win32' && process.getuid) { + return process.getuid(); + } + return null; +} -function newError (er) { - return er && er.syscall === 'realpath' && ( - er.code === 'ELOOP' || - er.code === 'ENOMEM' || - er.code === 'ENAMETOOLONG' - ) +exports.default = isRootUser(getUid()) && !isFakeRoot(); +function isFakeRoot() { + return Boolean(process.env.FAKEROOTKEY); } -function realpath (p, cache, cb) { - if (ok) { - return origRealpath(p, cache, cb) - } +function isRootUser(uid) { + return uid === 0; +} - if (typeof cache === 'function') { - cb = cache - cache = null +/***/ }), +/* 170 */, +/* 171 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getDataDir = getDataDir; +exports.getCacheDir = getCacheDir; +exports.getConfigDir = getConfigDir; +const path = __webpack_require__(0); +const userHome = __webpack_require__(45).default; + +const FALLBACK_CONFIG_DIR = path.join(userHome, '.config', 'yarn'); +const FALLBACK_CACHE_DIR = path.join(userHome, '.cache', 'yarn'); + +function getDataDir() { + if (process.platform === 'win32') { + const WIN32_APPDATA_DIR = getLocalAppDataDir(); + return WIN32_APPDATA_DIR == null ? FALLBACK_CONFIG_DIR : path.join(WIN32_APPDATA_DIR, 'Data'); + } else if (process.env.XDG_DATA_HOME) { + return path.join(process.env.XDG_DATA_HOME, 'yarn'); + } else { + // This could arguably be ~/Library/Application Support/Yarn on Macs, + // but that feels unintuitive for a cli tool + + // Instead, use our prior fallback. Some day this could be + // path.join(userHome, '.local', 'share', 'yarn') + // or return path.join(WIN32_APPDATA_DIR, 'Data') on win32 + return FALLBACK_CONFIG_DIR; } - origRealpath(p, cache, function (er, result) { - if (newError(er)) { - old.realpath(p, cache, cb) - } else { - cb(er, result) - } - }) } -function realpathSync (p, cache) { - if (ok) { - return origRealpathSync(p, cache) +function getCacheDir() { + if (process.platform === 'win32') { + // process.env.TEMP also exists, but most apps put caches here + return path.join(getLocalAppDataDir() || path.join(userHome, 'AppData', 'Local', 'Yarn'), 'Cache'); + } else if (process.env.XDG_CACHE_HOME) { + return path.join(process.env.XDG_CACHE_HOME, 'yarn'); + } else if (process.platform === 'darwin') { + return path.join(userHome, 'Library', 'Caches', 'Yarn'); + } else { + return FALLBACK_CACHE_DIR; } +} - try { - return origRealpathSync(p, cache) - } catch (er) { - if (newError(er)) { - return old.realpathSync(p, cache) - } else { - throw er - } +function getConfigDir() { + if (process.platform === 'win32') { + // Use our prior fallback. Some day this could be + // return path.join(WIN32_APPDATA_DIR, 'Config') + const WIN32_APPDATA_DIR = getLocalAppDataDir(); + return WIN32_APPDATA_DIR == null ? FALLBACK_CONFIG_DIR : path.join(WIN32_APPDATA_DIR, 'Config'); + } else if (process.env.XDG_CONFIG_HOME) { + return path.join(process.env.XDG_CONFIG_HOME, 'yarn'); + } else { + return FALLBACK_CONFIG_DIR; } } -function monkeypatch () { - fs.realpath = realpath - fs.realpathSync = realpathSync +function getLocalAppDataDir() { + return process.env.LOCALAPPDATA ? path.join(process.env.LOCALAPPDATA, 'Yarn') : null; } -function unmonkeypatch () { - fs.realpath = origRealpath - fs.realpathSync = origRealpathSync -} +/***/ }), +/* 172 */, +/* 173 */ +/***/ (function(module, exports, __webpack_require__) { +module.exports = { "default": __webpack_require__(179), __esModule: true }; /***/ }), -/* 115 */ +/* 174 */ /***/ (function(module, exports, __webpack_require__) { -exports.alphasort = alphasort -exports.alphasorti = alphasorti -exports.setopts = setopts -exports.ownProp = ownProp -exports.makeAbs = makeAbs -exports.finish = finish -exports.mark = mark -exports.isIgnored = isIgnored -exports.childrenIgnored = childrenIgnored +"use strict"; -function ownProp (obj, field) { - return Object.prototype.hasOwnProperty.call(obj, field) -} +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); -var path = __webpack_require__(0) -var minimatch = __webpack_require__(60) -var isAbsolute = __webpack_require__(76) -var Minimatch = minimatch.Minimatch + var r = range(a, b, str); -function alphasorti (a, b) { - return a.toLowerCase().localeCompare(b.toLowerCase()) + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; } -function alphasort (a, b) { - return a.localeCompare(b) +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; } -function setupIgnores (self, options) { - self.ignore = options.ignore || [] - - if (!Array.isArray(self.ignore)) - self.ignore = [self.ignore] +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; - if (self.ignore.length) { - self.ignore = self.ignore.map(ignoreMap) - } -} + if (ai >= 0 && bi > 0) { + begs = []; + left = str.length; -// ignore patterns are always in dot:true mode. -function ignoreMap (pattern) { - var gmatcher = null - if (pattern.slice(-3) === '/**') { - var gpattern = pattern.replace(/(\/\*\*)+$/, '') - gmatcher = new Minimatch(gpattern, { dot: true }) - } + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } - return { - matcher: new Minimatch(pattern, { dot: true }), - gmatcher: gmatcher - } -} + bi = str.indexOf(b, i + 1); + } -function setopts (self, pattern, options) { - if (!options) - options = {} + i = ai < bi && ai >= 0 ? ai : bi; + } - // base-matching: just use globstar for that. - if (options.matchBase && -1 === pattern.indexOf("/")) { - if (options.noglobstar) { - throw new Error("base matching requires globstar") + if (begs.length) { + result = [ left, right ]; } - pattern = "**/" + pattern } - self.silent = !!options.silent - self.pattern = pattern - self.strict = options.strict !== false - self.realpath = !!options.realpath - self.realpathCache = options.realpathCache || Object.create(null) - self.follow = !!options.follow - self.dot = !!options.dot - self.mark = !!options.mark - self.nodir = !!options.nodir - if (self.nodir) - self.mark = true - self.sync = !!options.sync - self.nounique = !!options.nounique - self.nonull = !!options.nonull - self.nosort = !!options.nosort - self.nocase = !!options.nocase - self.stat = !!options.stat - self.noprocess = !!options.noprocess - self.absolute = !!options.absolute - - self.maxLength = options.maxLength || Infinity - self.cache = options.cache || Object.create(null) - self.statCache = options.statCache || Object.create(null) - self.symlinks = options.symlinks || Object.create(null) + return result; +} - setupIgnores(self, options) - self.changedCwd = false - var cwd = process.cwd() - if (!ownProp(options, "cwd")) - self.cwd = cwd - else { - self.cwd = path.resolve(options.cwd) - self.changedCwd = self.cwd !== cwd - } +/***/ }), +/* 175 */ +/***/ (function(module, exports, __webpack_require__) { - self.root = options.root || path.resolve(self.cwd, "/") - self.root = path.resolve(self.root) - if (process.platform === "win32") - self.root = self.root.replace(/\\/g, "/") +var concatMap = __webpack_require__(178); +var balanced = __webpack_require__(174); - // TODO: is an absolute `cwd` supposed to be resolved against `root`? - // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test') - self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd) - if (process.platform === "win32") - self.cwdAbs = self.cwdAbs.replace(/\\/g, "/") - self.nomount = !!options.nomount +module.exports = expandTop; - // disable comments and negation in Minimatch. - // Note that they are not supported in Glob itself anyway. - options.nonegate = true - options.nocomment = true +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; - self.minimatch = new Minimatch(pattern, options) - self.options = self.minimatch.options +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); } -function finish (self) { - var nou = self.nounique - var all = nou ? [] : Object.create(null) - - for (var i = 0, l = self.matches.length; i < l; i ++) { - var matches = self.matches[i] - if (!matches || Object.keys(matches).length === 0) { - if (self.nonull) { - // do like the shell, and spit out the literal glob - var literal = self.minimatch.globSet[i] - if (nou) - all.push(literal) - else - all[literal] = true - } - } else { - // had matches - var m = Object.keys(matches) - if (nou) - all.push.apply(all, m) - else - m.forEach(function (m) { - all[m] = true - }) - } - } - - if (!nou) - all = Object.keys(all) - - if (!self.nosort) - all = all.sort(self.nocase ? alphasorti : alphasort) - - // at *some* point we statted all of these - if (self.mark) { - for (var i = 0; i < all.length; i++) { - all[i] = self._mark(all[i]) - } - if (self.nodir) { - all = all.filter(function (e) { - var notDir = !(/\/$/.test(e)) - var c = self.cache[e] || self.cache[makeAbs(self, e)] - if (notDir && c) - notDir = c !== 'DIR' && !Array.isArray(c) - return notDir - }) - } - } - - if (self.ignore.length) - all = all.filter(function(m) { - return !isIgnored(self, m) - }) +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} - self.found = all +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); } -function mark (self, p) { - var abs = makeAbs(self, p) - var c = self.cache[abs] - var m = p - if (c) { - var isDir = c === 'DIR' || Array.isArray(c) - var slash = p.slice(-1) === '/' - if (isDir && !slash) - m += '/' - else if (!isDir && slash) - m = m.slice(0, -1) +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; - if (m !== p) { - var mabs = makeAbs(self, m) - self.statCache[mabs] = self.statCache[abs] - self.cache[mabs] = self.cache[abs] - } - } + var parts = []; + var m = balanced('{', '}', str); - return m -} + if (!m) + return str.split(','); -// lotta situps... -function makeAbs (self, f) { - var abs = f - if (f.charAt(0) === '/') { - abs = path.join(self.root, f) - } else if (isAbsolute(f) || f === '') { - abs = f - } else if (self.changedCwd) { - abs = path.resolve(self.cwd, f) - } else { - abs = path.resolve(f) + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); } - if (process.platform === 'win32') - abs = abs.replace(/\\/g, '/') + parts.push.apply(parts, p); - return abs + return parts; } +function expandTop(str) { + if (!str) + return []; -// Return true, if pattern ends with globstar '**', for the accompanying parent directory. -// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents -function isIgnored (self, path) { - if (!self.ignore.length) - return false + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } - return self.ignore.some(function(item) { - return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) - }) + return expand(escapeBraces(str), true).map(unescapeBraces); } -function childrenIgnored (self, path) { - if (!self.ignore.length) - return false - - return self.ignore.some(function(item) { - return !!(item.gmatcher && item.gmatcher.match(path)) - }) +function identity(e) { + return e; } +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} -/***/ }), -/* 116 */ -/***/ (function(module, exports, __webpack_require__) { +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} -var path = __webpack_require__(0); -var fs = __webpack_require__(3); -var _0777 = parseInt('0777', 8); +function expand(str, isTop) { + var expansions = []; -module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; + var m = balanced('{', '}', str); + if (!m || /\$$/.test(m.pre)) return [str]; -function mkdirP (p, opts, f, made) { - if (typeof opts === 'function') { - f = opts; - opts = {}; - } - else if (!opts || typeof opts !== 'object') { - opts = { mode: opts }; + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); } - - var mode = opts.mode; - var xfs = opts.fs || fs; - - if (mode === undefined) { - mode = _0777 & (~process.umask()); + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + var post = m.post.length + ? expand(m.post, false) + : ['']; + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } } - if (!made) made = null; - - var cb = f || function () {}; - p = path.resolve(p); - - xfs.mkdir(p, mode, function (er) { - if (!er) { - made = made || p; - return cb(null, made); - } - switch (er.code) { - case 'ENOENT': - mkdirP(path.dirname(p), opts, function (er, made) { - if (er) cb(er, made); - else mkdirP(p, opts, cb, made); - }); - break; + } - // In the case of any other error, just see if there's a dir - // there already. If so, then hooray! If not, then something - // is borked. - default: - xfs.stat(p, function (er2, stat) { - // if the stat fails, then that's super weird. - // let the original error be the failure reason. - if (er2 || !stat.isDirectory()) cb(er, made) - else cb(null, made); - }); - break; - } - }); -} + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. -mkdirP.sync = function sync (p, opts, made) { - if (!opts || typeof opts !== 'object') { - opts = { mode: opts }; - } - - var mode = opts.mode; - var xfs = opts.fs || fs; - - if (mode === undefined) { - mode = _0777 & (~process.umask()); - } - if (!made) made = null; + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; - p = path.resolve(p); + var N; - try { - xfs.mkdirSync(p, mode); - made = made || p; + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; } - catch (err0) { - switch (err0.code) { - case 'ENOENT' : - made = sync(path.dirname(p), opts, made); - sync(p, opts, made); - break; + var pad = n.some(isPadded); - // In the case of any other error, just see if there's a dir - // there already. If so, then hooray! If not, then something - // is borked. - default: - var stat; - try { - stat = xfs.statSync(p); - } - catch (err1) { - throw err0; - } - if (!stat.isDirectory()) throw err0; - break; + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } } + } + N.push(c); } + } else { + N = concatMap(n, function(el) { return expand(el, false) }); + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + + return expansions; +} - return made; -}; /***/ }), -/* 117 */, -/* 118 */, -/* 119 */, -/* 120 */, -/* 121 */, -/* 122 */ +/* 176 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -module.exports = x => { - if (typeof x !== 'string') { - throw new TypeError('Expected a string, got ' + typeof x); - } - - // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string - // conversion translates it to FEFF (UTF-16 BOM) - if (x.charCodeAt(0) === 0xFEFF) { - return x.slice(1); - } - return x; -}; +function preserveCamelCase(str) { + let isLastCharLower = false; + let isLastCharUpper = false; + let isLastLastCharUpper = false; + for (let i = 0; i < str.length; i++) { + const c = str[i]; -/***/ }), -/* 123 */ -/***/ (function(module, exports) { + if (isLastCharLower && /[a-zA-Z]/.test(c) && c.toUpperCase() === c) { + str = str.substr(0, i) + '-' + str.substr(i); + isLastCharLower = false; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = true; + i++; + } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(c) && c.toLowerCase() === c) { + str = str.substr(0, i - 1) + '-' + str.substr(i - 1); + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = false; + isLastCharLower = true; + } else { + isLastCharLower = c.toLowerCase() === c; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = c.toUpperCase() === c; + } + } -// Returns a wrapper function that returns a wrapped callback -// The wrapper function should do some stuff, and return a -// presumably different callback function. -// This makes sure that own properties are retained, so that -// decorations and such are not lost along the way. -module.exports = wrappy -function wrappy (fn, cb) { - if (fn && cb) return wrappy(fn)(cb) + return str; +} - if (typeof fn !== 'function') - throw new TypeError('need wrapper function') +module.exports = function (str) { + if (arguments.length > 1) { + str = Array.from(arguments) + .map(x => x.trim()) + .filter(x => x.length) + .join('-'); + } else { + str = str.trim(); + } - Object.keys(fn).forEach(function (k) { - wrapper[k] = fn[k] - }) + if (str.length === 0) { + return ''; + } - return wrapper + if (str.length === 1) { + return str.toLowerCase(); + } - function wrapper() { - var args = new Array(arguments.length) - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i] - } - var ret = fn.apply(this, args) - var cb = args[args.length-1] - if (typeof ret === 'function' && ret !== cb) { - Object.keys(cb).forEach(function (k) { - ret[k] = cb[k] - }) - } - return ret - } -} + if (/^[a-z0-9]+$/.test(str)) { + return str; + } + const hasUpperCase = str !== str.toLowerCase(); -/***/ }), -/* 124 */, -/* 125 */, -/* 126 */, -/* 127 */, -/* 128 */, -/* 129 */, -/* 130 */, -/* 131 */ -/***/ (function(module, exports, __webpack_require__) { + if (hasUpperCase) { + str = preserveCamelCase(str); + } -// fallback for non-array-like ES3 and non-enumerable old V8 strings -var cof = __webpack_require__(47); -// eslint-disable-next-line no-prototype-builtins -module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { - return cof(it) == 'String' ? it.split('') : Object(it); + return str + .replace(/^[_.\- ]+/, '') + .toLowerCase() + .replace(/[_.\- ]+(\w|$)/g, (m, p1) => p1.toUpperCase()); }; /***/ }), -/* 132 */ -/***/ (function(module, exports, __webpack_require__) { +/* 177 */, +/* 178 */ +/***/ (function(module, exports) { -// 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = __webpack_require__(195); -var enumBugKeys = __webpack_require__(101); +module.exports = function (xs, fn) { + var res = []; + for (var i = 0; i < xs.length; i++) { + var x = fn(xs[i], i); + if (isArray(x)) res.push.apply(res, x); + else res.push(x); + } + return res; +}; -module.exports = Object.keys || function keys(O) { - return $keys(O, enumBugKeys); +var isArray = Array.isArray || function (xs) { + return Object.prototype.toString.call(xs) === '[object Array]'; }; /***/ }), -/* 133 */ +/* 179 */ /***/ (function(module, exports, __webpack_require__) { -// 7.1.13 ToObject(argument) -var defined = __webpack_require__(67); -module.exports = function (it) { - return Object(defined(it)); -}; +__webpack_require__(205); +__webpack_require__(207); +__webpack_require__(210); +__webpack_require__(206); +__webpack_require__(208); +__webpack_require__(209); +module.exports = __webpack_require__(23).Promise; /***/ }), -/* 134 */, -/* 135 */, -/* 136 */, -/* 137 */, -/* 138 */, -/* 139 */, -/* 140 */, -/* 141 */, -/* 142 */, -/* 143 */, -/* 144 */, -/* 145 */ +/* 180 */ /***/ (function(module, exports) { -module.exports = {"name":"yarn","installationMethod":"unknown","version":"1.10.0-0","license":"BSD-2-Clause","preferGlobal":true,"description":"📦🐈 Fast, reliable, and secure dependency management.","dependencies":{"@zkochan/cmd-shim":"^2.2.4","babel-runtime":"^6.26.0","bytes":"^3.0.0","camelcase":"^4.0.0","chalk":"^2.1.0","commander":"^2.9.0","death":"^1.0.0","debug":"^3.0.0","deep-equal":"^1.0.1","detect-indent":"^5.0.0","dnscache":"^1.0.1","glob":"^7.1.1","gunzip-maybe":"^1.4.0","hash-for-dep":"^1.2.3","imports-loader":"^0.8.0","ini":"^1.3.4","inquirer":"^3.0.1","invariant":"^2.2.0","is-builtin-module":"^2.0.0","is-ci":"^1.0.10","is-webpack-bundle":"^1.0.0","leven":"^2.0.0","loud-rejection":"^1.2.0","micromatch":"^2.3.11","mkdirp":"^0.5.1","node-emoji":"^1.6.1","normalize-url":"^2.0.0","npm-logical-tree":"^1.2.1","object-path":"^0.11.2","proper-lockfile":"^2.0.0","puka":"^1.0.0","read":"^1.0.7","request":"^2.87.0","request-capture-har":"^1.2.2","rimraf":"^2.5.0","semver":"^5.1.0","ssri":"^5.3.0","strip-ansi":"^4.0.0","strip-bom":"^3.0.0","tar-fs":"^1.16.0","tar-stream":"^1.6.1","uuid":"^3.0.1","v8-compile-cache":"^2.0.0","validate-npm-package-license":"^3.0.3","yn":"^2.0.0"},"devDependencies":{"babel-core":"^6.26.0","babel-eslint":"^7.2.3","babel-loader":"^6.2.5","babel-plugin-array-includes":"^2.0.3","babel-plugin-transform-builtin-extend":"^1.1.2","babel-plugin-transform-inline-imports-commonjs":"^1.0.0","babel-plugin-transform-runtime":"^6.4.3","babel-preset-env":"^1.6.0","babel-preset-flow":"^6.23.0","babel-preset-stage-0":"^6.0.0","babylon":"^6.5.0","commitizen":"^2.9.6","cz-conventional-changelog":"^2.0.0","eslint":"^4.3.0","eslint-config-fb-strict":"^22.0.0","eslint-plugin-babel":"^5.0.0","eslint-plugin-flowtype":"^2.35.0","eslint-plugin-jasmine":"^2.6.2","eslint-plugin-jest":"^21.0.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-prefer-object-spread":"^1.2.1","eslint-plugin-prettier":"^2.1.2","eslint-plugin-react":"^7.1.0","eslint-plugin-relay":"^0.0.24","eslint-plugin-yarn-internal":"file:scripts/eslint-rules","execa":"^0.10.0","flow-bin":"^0.66.0","git-release-notes":"^3.0.0","gulp":"^3.9.0","gulp-babel":"^7.0.0","gulp-if":"^2.0.1","gulp-newer":"^1.0.0","gulp-plumber":"^1.0.1","gulp-sourcemaps":"^2.2.0","gulp-util":"^3.0.7","gulp-watch":"^5.0.0","jest":"^22.4.4","jsinspect":"^0.12.6","minimatch":"^3.0.4","mock-stdin":"^0.3.0","prettier":"^1.5.2","temp":"^0.8.3","webpack":"^2.1.0-beta.25","yargs":"^6.3.0"},"resolutions":{"sshpk":"^1.14.2"},"engines":{"node":">=4.0.0"},"repository":"yarnpkg/yarn","bin":{"yarn":"./bin/yarn.js","yarnpkg":"./bin/yarn.js"},"scripts":{"build":"gulp build","build-bundle":"node ./scripts/build-webpack.js","build-chocolatey":"powershell ./scripts/build-chocolatey.ps1","build-deb":"./scripts/build-deb.sh","build-dist":"bash ./scripts/build-dist.sh","build-win-installer":"scripts\\build-windows-installer.bat","changelog":"git-release-notes $(git describe --tags --abbrev=0 $(git describe --tags --abbrev=0)^)..$(git describe --tags --abbrev=0) scripts/changelog.md","dupe-check":"yarn jsinspect ./src","lint":"eslint . && flow check","pkg-tests":"yarn --cwd packages/pkg-tests jest yarn.test.js","prettier":"eslint src __tests__ --fix","release-branch":"./scripts/release-branch.sh","test":"yarn lint && yarn test-only","test-only":"node --max_old_space_size=4096 node_modules/jest/bin/jest.js --verbose","test-only-debug":"node --inspect-brk --max_old_space_size=4096 node_modules/jest/bin/jest.js --runInBand --verbose","test-coverage":"node --max_old_space_size=4096 node_modules/jest/bin/jest.js --coverage --verbose","watch":"gulp watch","commit":"git-cz"},"jest":{"collectCoverageFrom":["src/**/*.js"],"testEnvironment":"node","modulePathIgnorePatterns":["__tests__/fixtures/","packages/pkg-tests/pkg-tests-fixtures","dist/"],"testPathIgnorePatterns":["__tests__/(fixtures|__mocks__)/","updates/","_(temp|mock|install|init|helpers).js$","packages/pkg-tests"]},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}}} +module.exports = function () { /* empty */ }; + /***/ }), -/* 146 */, -/* 147 */, -/* 148 */, -/* 149 */, -/* 150 */ -/***/ (function(module, exports, __webpack_require__) { +/* 181 */ +/***/ (function(module, exports) { -"use strict"; +module.exports = function (it, Constructor, name, forbiddenField) { + if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { + throw TypeError(name + ': incorrect invocation!'); + } return it; +}; -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = stringify; +/***/ }), +/* 182 */ +/***/ (function(module, exports, __webpack_require__) { -var _misc; +// false -> Array#indexOf +// true -> Array#includes +var toIObject = __webpack_require__(74); +var toLength = __webpack_require__(110); +var toAbsoluteIndex = __webpack_require__(200); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; -function _load_misc() { - return _misc = __webpack_require__(12); -} -var _constants; +/***/ }), +/* 183 */ +/***/ (function(module, exports, __webpack_require__) { -function _load_constants() { - return _constants = __webpack_require__(6); -} +var ctx = __webpack_require__(48); +var call = __webpack_require__(187); +var isArrayIter = __webpack_require__(186); +var anObject = __webpack_require__(27); +var toLength = __webpack_require__(110); +var getIterFn = __webpack_require__(203); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { + result = call(iterator, f, step.value, entries); + if (result === BREAK || result === RETURN) return result; + } +}; +exports.BREAK = BREAK; +exports.RETURN = RETURN; -var _package; -function _load_package() { - return _package = __webpack_require__(145); -} +/***/ }), +/* 184 */ +/***/ (function(module, exports, __webpack_require__) { -const NODE_VERSION = process.version; +module.exports = !__webpack_require__(33) && !__webpack_require__(85)(function () { + return Object.defineProperty(__webpack_require__(68)('div'), 'a', { get: function () { return 7; } }).a != 7; +}); -function shouldWrapKey(str) { - return str.indexOf('true') === 0 || str.indexOf('false') === 0 || /[:\s\n\\",\[\]]/g.test(str) || /^[0-9]/g.test(str) || !/^[a-zA-Z]/g.test(str); -} -function maybeWrap(str) { - if (typeof str === 'boolean' || typeof str === 'number' || shouldWrapKey(str)) { - return JSON.stringify(str); - } else { - return str; - } -} +/***/ }), +/* 185 */ +/***/ (function(module, exports) { -const priorities = { - name: 1, - version: 2, - uid: 3, - resolved: 4, - integrity: 5, - registry: 6, - dependencies: 7 +// fast apply, http://jsperf.lnkit.com/fast-apply/5 +module.exports = function (fn, args, that) { + var un = that === undefined; + switch (args.length) { + case 0: return un ? fn() + : fn.call(that); + case 1: return un ? fn(args[0]) + : fn.call(that, args[0]); + case 2: return un ? fn(args[0], args[1]) + : fn.call(that, args[0], args[1]); + case 3: return un ? fn(args[0], args[1], args[2]) + : fn.call(that, args[0], args[1], args[2]); + case 4: return un ? fn(args[0], args[1], args[2], args[3]) + : fn.call(that, args[0], args[1], args[2], args[3]); + } return fn.apply(that, args); }; -function priorityThenAlphaSort(a, b) { - if (priorities[a] || priorities[b]) { - return (priorities[a] || 100) > (priorities[b] || 100) ? 1 : -1; - } else { - return (0, (_misc || _load_misc()).sortAlpha)(a, b); - } -} - -function _stringify(obj, options) { - if (typeof obj !== 'object') { - throw new TypeError(); - } - const indent = options.indent; - const lines = []; +/***/ }), +/* 186 */ +/***/ (function(module, exports, __webpack_require__) { - // Sorting order needs to be consistent between runs, we run native sort by name because there are no - // problems with it being unstable because there are no to keys the same - // However priorities can be duplicated and native sort can shuffle things from run to run - const keys = Object.keys(obj).sort(priorityThenAlphaSort); +// check on default Array iterator +var Iterators = __webpack_require__(35); +var ITERATOR = __webpack_require__(13)('iterator'); +var ArrayProto = Array.prototype; - let addedKeys = []; +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); +}; - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const val = obj[key]; - if (val == null || addedKeys.indexOf(key) >= 0) { - continue; - } - const valKeys = [key]; +/***/ }), +/* 187 */ +/***/ (function(module, exports, __webpack_require__) { - // get all keys that have the same value equality, we only want this for objects - if (typeof val === 'object') { - for (let j = i + 1; j < keys.length; j++) { - const key = keys[j]; - if (val === obj[key]) { - valKeys.push(key); - } - } - } +// call something on iterator step with safe closing on error +var anObject = __webpack_require__(27); +module.exports = function (iterator, fn, value, entries) { + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (e) { + var ret = iterator['return']; + if (ret !== undefined) anObject(ret.call(iterator)); + throw e; + } +}; - const keyLine = valKeys.sort((_misc || _load_misc()).sortAlpha).map(maybeWrap).join(', '); - if (typeof val === 'string' || typeof val === 'boolean' || typeof val === 'number') { - lines.push(`${keyLine} ${maybeWrap(val)}`); - } else if (typeof val === 'object') { - lines.push(`${keyLine}:\n${_stringify(val, { indent: indent + ' ' })}` + (options.topLevel ? '\n' : '')); - } else { - throw new TypeError(); - } +/***/ }), +/* 188 */ +/***/ (function(module, exports, __webpack_require__) { - addedKeys = addedKeys.concat(valKeys); - } +"use strict"; - return indent + lines.join(`\n${indent}`); -} +var create = __webpack_require__(192); +var descriptor = __webpack_require__(106); +var setToStringTag = __webpack_require__(71); +var IteratorPrototype = {}; -function stringify(obj, noHeader, enableVersions) { - const val = _stringify(obj, { - indent: '', - topLevel: true - }); - if (noHeader) { - return val; - } +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +__webpack_require__(31)(IteratorPrototype, __webpack_require__(13)('iterator'), function () { return this; }); - const lines = []; - lines.push('# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.'); - lines.push(`# yarn lockfile v${(_constants || _load_constants()).LOCKFILE_VERSION}`); - if (enableVersions) { - lines.push(`# yarn v${(_package || _load_package()).version}`); - lines.push(`# node ${NODE_VERSION}`); - } - lines.push('\n'); - lines.push(val); +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); + setToStringTag(Constructor, NAME + ' Iterator'); +}; - return lines.join('\n'); -} /***/ }), -/* 151 */, -/* 152 */, -/* 153 */, -/* 154 */, -/* 155 */, -/* 156 */, -/* 157 */, -/* 158 */, -/* 159 */, -/* 160 */, -/* 161 */, -/* 162 */, -/* 163 */, -/* 164 */ +/* 189 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; +var ITERATOR = __webpack_require__(13)('iterator'); +var SAFE_CLOSING = false; +try { + var riter = [7][ITERATOR](); + riter['return'] = function () { SAFE_CLOSING = true; }; + // eslint-disable-next-line no-throw-literal + Array.from(riter, function () { throw 2; }); +} catch (e) { /* empty */ } -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.fileDatesEqual = exports.copyFile = exports.unlink = undefined; +module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; + var safe = false; + try { + var arr = [7]; + var iter = arr[ITERATOR](); + iter.next = function () { return { done: safe = true }; }; + arr[ITERATOR] = function () { return iter; }; + exec(arr); + } catch (e) { /* empty */ } + return safe; +}; -var _asyncToGenerator2; -function _load_asyncToGenerator() { - return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1)); -} +/***/ }), +/* 190 */ +/***/ (function(module, exports) { -// We want to preserve file timestamps when copying a file, since yarn uses them to decide if a file has -// changed compared to the cache. -// There are some OS specific cases here: -// * On linux, fs.copyFile does not preserve timestamps, but does on OSX and Win. -// * On windows, you must open a file with write permissions to call `fs.futimes`. -// * On OSX you can open with read permissions and still call `fs.futimes`. -let fixTimes = (() => { - var _ref3 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (fd, dest, data) { - const doOpen = fd === undefined; - let openfd = fd ? fd : -1; +module.exports = function (done, value) { + return { value: value, done: !!done }; +}; - if (disableTimestampCorrection === undefined) { - // if timestamps match already, no correction is needed. - // the need to correct timestamps varies based on OS and node versions. - const destStat = yield lstat(dest); - disableTimestampCorrection = fileDatesEqual(destStat.mtime, data.mtime); - } - if (disableTimestampCorrection) { - return; - } +/***/ }), +/* 191 */ +/***/ (function(module, exports, __webpack_require__) { - if (doOpen) { +var global = __webpack_require__(11); +var macrotask = __webpack_require__(109).set; +var Observer = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var isNode = __webpack_require__(47)(process) == 'process'; + +module.exports = function () { + var head, last, notify; + + var flush = function () { + var parent, fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; try { - openfd = yield open(dest, 'a', data.mode); - } catch (er) { - // file is likely read-only - try { - openfd = yield open(dest, 'r', data.mode); - } catch (err) { - // We can't even open this file for reading. - return; - } + fn(); + } catch (e) { + if (head) notify(); + else last = undefined; + throw e; } - } + } last = undefined; + if (parent) parent.enter(); + }; - try { - if (openfd) { - yield futimes(openfd, data.atime, data.mtime); - } - } catch (er) { - // If `futimes` throws an exception, we probably have a case of a read-only file on Windows. - // In this case we can just return. The incorrect timestamp will just cause that file to be recopied - // on subsequent installs, which will effect yarn performance but not break anything. - } finally { - if (doOpen && openfd) { - yield close(openfd); - } - } - }); + // Node.js + if (isNode) { + notify = function () { + process.nextTick(flush); + }; + // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 + } else if (Observer && !(global.navigator && global.navigator.standalone)) { + var toggle = true; + var node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + var promise = Promise.resolve(undefined); + notify = function () { + promise.then(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } - return function fixTimes(_x7, _x8, _x9) { - return _ref3.apply(this, arguments); + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; }; -})(); +}; -// Compare file timestamps. -// Some versions of Node on windows zero the milliseconds when utime is used. +/***/ }), +/* 192 */ +/***/ (function(module, exports, __webpack_require__) { -var _fs; +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +var anObject = __webpack_require__(27); +var dPs = __webpack_require__(193); +var enumBugKeys = __webpack_require__(101); +var IE_PROTO = __webpack_require__(72)('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; -function _load_fs() { - return _fs = _interopRequireDefault(__webpack_require__(3)); -} +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = __webpack_require__(68)('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; + iframe.style.display = 'none'; + __webpack_require__(102).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; + return createDict(); +}; -var _promise; +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : dPs(result, Properties); +}; -function _load_promise() { - return _promise = __webpack_require__(40); -} -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +/***/ }), +/* 193 */ +/***/ (function(module, exports, __webpack_require__) { -// This module serves as a wrapper for file operations that are inconsistant across node and OS versions. +var dP = __webpack_require__(50); +var anObject = __webpack_require__(27); +var getKeys = __webpack_require__(132); -let disableTimestampCorrection = undefined; // OS dependent. will be detected on first file copy. +module.exports = __webpack_require__(33) ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); + return O; +}; -const readFileBuffer = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.readFile); -const close = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.close); -const lstat = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.lstat); -const open = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.open); -const futimes = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.futimes); -const write = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.write); +/***/ }), +/* 194 */ +/***/ (function(module, exports, __webpack_require__) { -const unlink = exports.unlink = (0, (_promise || _load_promise()).promisify)(__webpack_require__(233)); +// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) +var has = __webpack_require__(49); +var toObject = __webpack_require__(133); +var IE_PROTO = __webpack_require__(72)('IE_PROTO'); +var ObjectProto = Object.prototype; -/** - * Unlinks the destination to force a recreation. This is needed on case-insensitive file systems - * to force the correct naming when the filename has changed only in character-casing. (Jest -> jest). - */ -const copyFile = exports.copyFile = (() => { - var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data, cleanup) { - try { - yield unlink(data.dest); - yield copyFilePoly(data.src, data.dest, 0, data); - } finally { - if (cleanup) { - cleanup(); - } - } - }); +module.exports = Object.getPrototypeOf || function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectProto : null; +}; - return function copyFile(_x, _x2) { - return _ref.apply(this, arguments); - }; -})(); - -// Node 8.5.0 introduced `fs.copyFile` which is much faster, so use that when available. -// Otherwise we fall back to reading and writing files as buffers. -const copyFilePoly = (src, dest, flags, data) => { - if ((_fs || _load_fs()).default.copyFile) { - return new Promise((resolve, reject) => (_fs || _load_fs()).default.copyFile(src, dest, flags, err => { - if (err) { - reject(err); - } else { - fixTimes(undefined, dest, data).then(() => resolve()).catch(ex => reject(ex)); - } - })); - } else { - return copyWithBuffer(src, dest, flags, data); - } -}; - -const copyWithBuffer = (() => { - var _ref2 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src, dest, flags, data) { - // Use open -> write -> futimes -> close sequence to avoid opening the file twice: - // one with writeFile and one with utimes - const fd = yield open(dest, 'w', data.mode); - try { - const buffer = yield readFileBuffer(src); - yield write(fd, buffer, 0, buffer.length); - yield fixTimes(fd, dest, data); - } finally { - yield close(fd); - } - }); - - return function copyWithBuffer(_x3, _x4, _x5, _x6) { - return _ref2.apply(this, arguments); - }; -})();const fileDatesEqual = exports.fileDatesEqual = (a, b) => { - const aTime = a.getTime(); - const bTime = b.getTime(); - - if (process.platform !== 'win32') { - return aTime === bTime; - } - - // See https://github.com/nodejs/node/pull/12607 - // Submillisecond times from stat and utimes are truncated on Windows, - // causing a file with mtime 8.0079998 and 8.0081144 to become 8.007 and 8.008 - // and making it impossible to update these files to their correct timestamps. - if (Math.abs(aTime - bTime) <= 1) { - return true; - } - - const aTimeSec = Math.floor(aTime / 1000); - const bTimeSec = Math.floor(bTime / 1000); - - // See https://github.com/nodejs/node/issues/2069 - // Some versions of Node on windows zero the milliseconds when utime is used - // So if any of the time has a milliseconds part of zero we suspect that the - // bug is present and compare only seconds. - if (aTime - aTimeSec * 1000 === 0 || bTime - bTimeSec * 1000 === 0) { - return aTimeSec === bTimeSec; - } - - return aTime === bTime; -}; /***/ }), -/* 165 */, -/* 166 */, -/* 167 */, -/* 168 */, -/* 169 */ +/* 195 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - +var has = __webpack_require__(49); +var toIObject = __webpack_require__(74); +var arrayIndexOf = __webpack_require__(182)(false); +var IE_PROTO = __webpack_require__(72)('IE_PROTO'); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.isFakeRoot = isFakeRoot; -exports.isRootUser = isRootUser; -function getUid() { - if (process.platform !== 'win32' && process.getuid) { - return process.getuid(); +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); } - return null; -} - -exports.default = isRootUser(getUid()) && !isFakeRoot(); -function isFakeRoot() { - return Boolean(process.env.FAKEROOTKEY); -} + return result; +}; -function isRootUser(uid) { - return uid === 0; -} /***/ }), -/* 170 */, -/* 171 */ +/* 196 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getDataDir = getDataDir; -exports.getCacheDir = getCacheDir; -exports.getConfigDir = getConfigDir; -const path = __webpack_require__(0); -const userHome = __webpack_require__(45).default; - -const FALLBACK_CONFIG_DIR = path.join(userHome, '.config', 'yarn'); -const FALLBACK_CACHE_DIR = path.join(userHome, '.cache', 'yarn'); - -function getDataDir() { - if (process.platform === 'win32') { - const WIN32_APPDATA_DIR = getLocalAppDataDir(); - return WIN32_APPDATA_DIR == null ? FALLBACK_CONFIG_DIR : path.join(WIN32_APPDATA_DIR, 'Data'); - } else if (process.env.XDG_DATA_HOME) { - return path.join(process.env.XDG_DATA_HOME, 'yarn'); - } else { - // This could arguably be ~/Library/Application Support/Yarn on Macs, - // but that feels unintuitive for a cli tool - - // Instead, use our prior fallback. Some day this could be - // path.join(userHome, '.local', 'share', 'yarn') - // or return path.join(WIN32_APPDATA_DIR, 'Data') on win32 - return FALLBACK_CONFIG_DIR; - } -} - -function getCacheDir() { - if (process.platform === 'win32') { - // process.env.TEMP also exists, but most apps put caches here - return path.join(getLocalAppDataDir() || path.join(userHome, 'AppData', 'Local', 'Yarn'), 'Cache'); - } else if (process.env.XDG_CACHE_HOME) { - return path.join(process.env.XDG_CACHE_HOME, 'yarn'); - } else if (process.platform === 'darwin') { - return path.join(userHome, 'Library', 'Caches', 'Yarn'); - } else { - return FALLBACK_CACHE_DIR; - } -} - -function getConfigDir() { - if (process.platform === 'win32') { - // Use our prior fallback. Some day this could be - // return path.join(WIN32_APPDATA_DIR, 'Config') - const WIN32_APPDATA_DIR = getLocalAppDataDir(); - return WIN32_APPDATA_DIR == null ? FALLBACK_CONFIG_DIR : path.join(WIN32_APPDATA_DIR, 'Config'); - } else if (process.env.XDG_CONFIG_HOME) { - return path.join(process.env.XDG_CONFIG_HOME, 'yarn'); - } else { - return FALLBACK_CONFIG_DIR; - } -} +var hide = __webpack_require__(31); +module.exports = function (target, src, safe) { + for (var key in src) { + if (safe && target[key]) target[key] = src[key]; + else hide(target, key, src[key]); + } return target; +}; -function getLocalAppDataDir() { - return process.env.LOCALAPPDATA ? path.join(process.env.LOCALAPPDATA, 'Yarn') : null; -} /***/ }), -/* 172 */, -/* 173 */ +/* 197 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__(179), __esModule: true }; +module.exports = __webpack_require__(31); + /***/ }), -/* 174 */ +/* 198 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -module.exports = balanced; -function balanced(a, b, str) { - if (a instanceof RegExp) a = maybeMatch(a, str); - if (b instanceof RegExp) b = maybeMatch(b, str); - - var r = range(a, b, str); - - return r && { - start: r[0], - end: r[1], - pre: str.slice(0, r[0]), - body: str.slice(r[0] + a.length, r[1]), - post: str.slice(r[1] + b.length) - }; -} - -function maybeMatch(reg, str) { - var m = str.match(reg); - return m ? m[0] : null; -} - -balanced.range = range; -function range(a, b, str) { - var begs, beg, left, right, result; - var ai = str.indexOf(a); - var bi = str.indexOf(b, ai + 1); - var i = ai; - - if (ai >= 0 && bi > 0) { - begs = []; - left = str.length; - - while (i >= 0 && !result) { - if (i == ai) { - begs.push(i); - ai = str.indexOf(a, i + 1); - } else if (begs.length == 1) { - result = [ begs.pop(), bi ]; - } else { - beg = begs.pop(); - if (beg < left) { - left = beg; - right = bi; - } +var global = __webpack_require__(11); +var core = __webpack_require__(23); +var dP = __webpack_require__(50); +var DESCRIPTORS = __webpack_require__(33); +var SPECIES = __webpack_require__(13)('species'); - bi = str.indexOf(b, i + 1); - } +module.exports = function (KEY) { + var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY]; + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { + configurable: true, + get: function () { return this; } + }); +}; - i = ai < bi && ai >= 0 ? ai : bi; - } - if (begs.length) { - result = [ left, right ]; - } - } +/***/ }), +/* 199 */ +/***/ (function(module, exports, __webpack_require__) { - return result; -} +var toInteger = __webpack_require__(73); +var defined = __webpack_require__(67); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; /***/ }), -/* 175 */ +/* 200 */ /***/ (function(module, exports, __webpack_require__) { -var concatMap = __webpack_require__(178); -var balanced = __webpack_require__(174); +var toInteger = __webpack_require__(73); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; -module.exports = expandTop; -var escSlash = '\0SLASH'+Math.random()+'\0'; -var escOpen = '\0OPEN'+Math.random()+'\0'; -var escClose = '\0CLOSE'+Math.random()+'\0'; -var escComma = '\0COMMA'+Math.random()+'\0'; -var escPeriod = '\0PERIOD'+Math.random()+'\0'; +/***/ }), +/* 201 */ +/***/ (function(module, exports, __webpack_require__) { -function numeric(str) { - return parseInt(str, 10) == str - ? parseInt(str, 10) - : str.charCodeAt(0); -} +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = __webpack_require__(34); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); +}; -function escapeBraces(str) { - return str.split('\\\\').join(escSlash) - .split('\\{').join(escOpen) - .split('\\}').join(escClose) - .split('\\,').join(escComma) - .split('\\.').join(escPeriod); -} -function unescapeBraces(str) { - return str.split(escSlash).join('\\') - .split(escOpen).join('{') - .split(escClose).join('}') - .split(escComma).join(',') - .split(escPeriod).join('.'); -} +/***/ }), +/* 202 */ +/***/ (function(module, exports, __webpack_require__) { +var global = __webpack_require__(11); +var navigator = global.navigator; -// Basically just str.split(","), but handling cases -// where we have nested braced sections, which should be -// treated as individual members, like {a,{b,c},d} -function parseCommaParts(str) { - if (!str) - return ['']; +module.exports = navigator && navigator.userAgent || ''; - var parts = []; - var m = balanced('{', '}', str); - if (!m) - return str.split(','); +/***/ }), +/* 203 */ +/***/ (function(module, exports, __webpack_require__) { - var pre = m.pre; - var body = m.body; - var post = m.post; - var p = pre.split(','); +var classof = __webpack_require__(100); +var ITERATOR = __webpack_require__(13)('iterator'); +var Iterators = __webpack_require__(35); +module.exports = __webpack_require__(23).getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; - p[p.length-1] += '{' + body + '}'; - var postParts = parseCommaParts(post); - if (post.length) { - p[p.length-1] += postParts.shift(); - p.push.apply(p, postParts); - } - parts.push.apply(parts, p); +/***/ }), +/* 204 */ +/***/ (function(module, exports, __webpack_require__) { - return parts; -} +"use strict"; -function expandTop(str) { - if (!str) - return []; +var addToUnscopables = __webpack_require__(180); +var step = __webpack_require__(190); +var Iterators = __webpack_require__(35); +var toIObject = __webpack_require__(74); - // I don't know why Bash 4.3 does this, but it does. - // Anything starting with {} will have the first two bytes preserved - // but *only* at the top level, so {},a}b will not expand to anything, - // but a{},b}c will be expanded to [a}c,abc]. - // One could argue that this is a bug in Bash, but since the goal of - // this module is to match Bash's rules, we escape a leading {} - if (str.substr(0, 2) === '{}') { - str = '\\{\\}' + str.substr(2); +// 22.1.3.4 Array.prototype.entries() +// 22.1.3.13 Array.prototype.keys() +// 22.1.3.29 Array.prototype.values() +// 22.1.3.30 Array.prototype[@@iterator]() +module.exports = __webpack_require__(103)(Array, 'Array', function (iterated, kind) { + this._t = toIObject(iterated); // target + this._i = 0; // next index + this._k = kind; // kind +// 22.1.5.2.1 %ArrayIteratorPrototype%.next() +}, function () { + var O = this._t; + var kind = this._k; + var index = this._i++; + if (!O || index >= O.length) { + this._t = undefined; + return step(1); } + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); + return step(0, [index, O[index]]); +}, 'values'); - return expand(escapeBraces(str), true).map(unescapeBraces); -} - -function identity(e) { - return e; -} +// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) +Iterators.Arguments = Iterators.Array; -function embrace(str) { - return '{' + str + '}'; -} -function isPadded(el) { - return /^-?0\d/.test(el); -} +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); -function lte(i, y) { - return i <= y; -} -function gte(i, y) { - return i >= y; -} -function expand(str, isTop) { - var expansions = []; +/***/ }), +/* 205 */ +/***/ (function(module, exports) { - var m = balanced('{', '}', str); - if (!m || /\$$/.test(m.pre)) return [str]; - var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); - var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); - var isSequence = isNumericSequence || isAlphaSequence; - var isOptions = m.body.indexOf(',') >= 0; - if (!isSequence && !isOptions) { - // {a},b} - if (m.post.match(/,.*\}/)) { - str = m.pre + '{' + m.body + escClose + m.post; - return expand(str); - } - return [str]; - } - var n; - if (isSequence) { - n = m.body.split(/\.\./); - } else { - n = parseCommaParts(m.body); - if (n.length === 1) { - // x{{a,b}}y ==> x{a}y x{b}y - n = expand(n[0], false).map(embrace); - if (n.length === 1) { - var post = m.post.length - ? expand(m.post, false) - : ['']; - return post.map(function(p) { - return m.pre + n[0] + p; - }); - } - } - } +/***/ }), +/* 206 */ +/***/ (function(module, exports, __webpack_require__) { - // at this point, n is the parts, and we know it's not a comma set - // with a single entry. +"use strict"; - // no need to expand pre, since it is guaranteed to be free of brace-sets - var pre = m.pre; - var post = m.post.length - ? expand(m.post, false) - : ['']; +var LIBRARY = __webpack_require__(69); +var global = __webpack_require__(11); +var ctx = __webpack_require__(48); +var classof = __webpack_require__(100); +var $export = __webpack_require__(41); +var isObject = __webpack_require__(34); +var aFunction = __webpack_require__(46); +var anInstance = __webpack_require__(181); +var forOf = __webpack_require__(183); +var speciesConstructor = __webpack_require__(108); +var task = __webpack_require__(109).set; +var microtask = __webpack_require__(191)(); +var newPromiseCapabilityModule = __webpack_require__(70); +var perform = __webpack_require__(104); +var userAgent = __webpack_require__(202); +var promiseResolve = __webpack_require__(105); +var PROMISE = 'Promise'; +var TypeError = global.TypeError; +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8 || ''; +var $Promise = global[PROMISE]; +var isNode = classof(process) == 'process'; +var empty = function () { /* empty */ }; +var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; +var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; - var N; +var USE_NATIVE = !!function () { + try { + // correct subclassing with @@species support + var promise = $Promise.resolve(1); + var FakePromise = (promise.constructor = {})[__webpack_require__(13)('species')] = function (exec) { + exec(empty, empty); + }; + // unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return (isNode || typeof PromiseRejectionEvent == 'function') + && promise.then(empty) instanceof FakePromise + // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // we can't detect it synchronously, so just check versions + && v8.indexOf('6.6') !== 0 + && userAgent.indexOf('Chrome/66') === -1; + } catch (e) { /* empty */ } +}(); - if (isSequence) { - var x = numeric(n[0]); - var y = numeric(n[1]); - var width = Math.max(n[0].length, n[1].length) - var incr = n.length == 3 - ? Math.abs(numeric(n[2])) - : 1; - var test = lte; - var reverse = y < x; - if (reverse) { - incr *= -1; - test = gte; - } - var pad = n.some(isPadded); - - N = []; - - for (var i = x; test(i, y); i += incr) { - var c; - if (isAlphaSequence) { - c = String.fromCharCode(i); - if (c === '\\') - c = ''; - } else { - c = String(i); - if (pad) { - var need = width - c.length; - if (need > 0) { - var z = new Array(need + 1).join('0'); - if (i < 0) - c = '-' + z + c.slice(1); - else - c = z + c; +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; +var notify = function (promise, isReject) { + if (promise._n) return; + promise._n = true; + var chain = promise._c; + microtask(function () { + var value = promise._v; + var ok = promise._s == 1; + var i = 0; + var run = function (reaction) { + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); + promise._h = 1; } - } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // may throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (e) { + if (domain && !exited) domain.exit(); + reject(e); } - N.push(c); + }; + while (chain.length > i) run(chain[i++]); // variable length - can't use forEach + promise._c = []; + promise._n = false; + if (isReject && !promise._h) onUnhandled(promise); + }); +}; +var onUnhandled = function (promise) { + task.call(global, function () { + var value = promise._v; + var unhandled = isUnhandled(promise); + var result, handler, console; + if (unhandled) { + result = perform(function () { + if (isNode) { + process.emit('unhandledRejection', value, promise); + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { + console.error('Unhandled promise rejection', value); + } + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + promise._h = isNode || isUnhandled(promise) ? 2 : 1; + } promise._a = undefined; + if (unhandled && result.e) throw result.v; + }); +}; +var isUnhandled = function (promise) { + return promise._h !== 1 && (promise._a || promise._c).length === 0; +}; +var onHandleUnhandled = function (promise) { + task.call(global, function () { + var handler; + if (isNode) { + process.emit('rejectionHandled', promise); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); } - } else { - N = concatMap(n, function(el) { return expand(el, false) }); - } - - for (var j = 0; j < N.length; j++) { - for (var k = 0; k < post.length; k++) { - var expansion = pre + N[j] + post[k]; - if (!isTop || isSequence || expansion) - expansions.push(expansion); + }); +}; +var $reject = function (value) { + var promise = this; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + promise._v = value; + promise._s = 2; + if (!promise._a) promise._a = promise._c.slice(); + notify(promise, true); +}; +var $resolve = function (value) { + var promise = this; + var then; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap + try { + then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); + } catch (e) { + $reject.call(wrapper, e); + } + }); + } else { + promise._v = value; + promise._s = 1; + notify(promise, false); } + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap } +}; - return expansions; +// constructor polyfill +if (!USE_NATIVE) { + // 25.4.3.1 Promise(executor) + $Promise = function Promise(executor) { + anInstance(this, $Promise, PROMISE, '_h'); + aFunction(executor); + Internal.call(this); + try { + executor(ctx($resolve, this, 1), ctx($reject, this, 1)); + } catch (err) { + $reject.call(this, err); + } + }; + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { + this._c = []; // <- awaiting reactions + this._a = undefined; // <- checked in isUnhandled reactions + this._s = 0; // <- state + this._d = false; // <- done + this._v = undefined; // <- value + this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled + this._n = false; // <- notify + }; + Internal.prototype = __webpack_require__(196)($Promise.prototype, { + // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = isNode ? process.domain : undefined; + this._c.push(reaction); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); + return reaction.promise; + }, + // 25.4.5.1 Promise.prototype.catch(onRejected) + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + this.promise = promise; + this.resolve = ctx($resolve, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === $Promise || C === Wrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; } +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); +__webpack_require__(71)($Promise, PROMISE); +__webpack_require__(198)(PROMISE); +Wrapper = __webpack_require__(23)[PROMISE]; + +// statics +$export($export.S + $export.F * !USE_NATIVE, PROMISE, { + // 25.4.4.5 Promise.reject(r) + reject: function reject(r) { + var capability = newPromiseCapability(this); + var $$reject = capability.reject; + $$reject(r); + return capability.promise; + } +}); +$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { + // 25.4.4.6 Promise.resolve(x) + resolve: function resolve(x) { + return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); + } +}); +$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(189)(function (iter) { + $Promise.all(iter)['catch'](empty); +})), PROMISE, { + // 25.4.4.1 Promise.all(iterable) + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var values = []; + var index = 0; + var remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[$index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.e) reject(result.v); + return capability.promise; + }, + // 25.4.4.4 Promise.race(iterable) + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + forOf(iterable, false, function (promise) { + C.resolve(promise).then(capability.resolve, reject); + }); + }); + if (result.e) reject(result.v); + return capability.promise; + } +}); /***/ }), -/* 176 */ +/* 207 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var $at = __webpack_require__(199)(true); -function preserveCamelCase(str) { - let isLastCharLower = false; - let isLastCharUpper = false; - let isLastLastCharUpper = false; +// 21.1.3.27 String.prototype[@@iterator]() +__webpack_require__(103)(String, 'String', function (iterated) { + this._t = String(iterated); // target + this._i = 0; // next index +// 21.1.5.2.1 %StringIteratorPrototype%.next() +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; + point = $at(O, index); + this._i += point.length; + return { value: point, done: false }; +}); - for (let i = 0; i < str.length; i++) { - const c = str[i]; - if (isLastCharLower && /[a-zA-Z]/.test(c) && c.toUpperCase() === c) { - str = str.substr(0, i) + '-' + str.substr(i); - isLastCharLower = false; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = true; - i++; - } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(c) && c.toLowerCase() === c) { - str = str.substr(0, i - 1) + '-' + str.substr(i - 1); - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = false; - isLastCharLower = true; - } else { - isLastCharLower = c.toLowerCase() === c; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = c.toUpperCase() === c; - } - } +/***/ }), +/* 208 */ +/***/ (function(module, exports, __webpack_require__) { - return str; -} +"use strict"; +// https://github.com/tc39/proposal-promise-finally -module.exports = function (str) { - if (arguments.length > 1) { - str = Array.from(arguments) - .map(x => x.trim()) - .filter(x => x.length) - .join('-'); - } else { - str = str.trim(); - } +var $export = __webpack_require__(41); +var core = __webpack_require__(23); +var global = __webpack_require__(11); +var speciesConstructor = __webpack_require__(108); +var promiseResolve = __webpack_require__(105); - if (str.length === 0) { - return ''; - } +$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { + var C = speciesConstructor(this, core.Promise || global.Promise); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); +} }); - if (str.length === 1) { - return str.toLowerCase(); - } - if (/^[a-z0-9]+$/.test(str)) { - return str; - } +/***/ }), +/* 209 */ +/***/ (function(module, exports, __webpack_require__) { - const hasUpperCase = str !== str.toLowerCase(); +"use strict"; - if (hasUpperCase) { - str = preserveCamelCase(str); - } +// https://github.com/tc39/proposal-promise-try +var $export = __webpack_require__(41); +var newPromiseCapability = __webpack_require__(70); +var perform = __webpack_require__(104); - return str - .replace(/^[_.\- ]+/, '') - .toLowerCase() - .replace(/[_.\- ]+(\w|$)/g, (m, p1) => p1.toUpperCase()); -}; +$export($export.S, 'Promise', { 'try': function (callbackfn) { + var promiseCapability = newPromiseCapability.f(this); + var result = perform(callbackfn); + (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); + return promiseCapability.promise; +} }); /***/ }), -/* 177 */, -/* 178 */ -/***/ (function(module, exports) { +/* 210 */ +/***/ (function(module, exports, __webpack_require__) { -module.exports = function (xs, fn) { - var res = []; - for (var i = 0; i < xs.length; i++) { - var x = fn(xs[i], i); - if (isArray(x)) res.push.apply(res, x); - else res.push(x); - } - return res; -}; +__webpack_require__(204); +var global = __webpack_require__(11); +var hide = __webpack_require__(31); +var Iterators = __webpack_require__(35); +var TO_STRING_TAG = __webpack_require__(13)('toStringTag'); -var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; -}; +var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + + 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + + 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + + 'TextTrackList,TouchList').split(','); + +for (var i = 0; i < DOMIterables.length; i++) { + var NAME = DOMIterables[i]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = Iterators.Array; +} /***/ }), -/* 179 */ +/* 211 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(205); -__webpack_require__(207); -__webpack_require__(210); -__webpack_require__(206); -__webpack_require__(208); -__webpack_require__(209); -module.exports = __webpack_require__(23).Promise; +/** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ +exports = module.exports = __webpack_require__(112); +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); -/***/ }), -/* 180 */ -/***/ (function(module, exports) { +/** + * Colors. + */ -module.exports = function () { /* empty */ }; +exports.colors = [ + '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', + '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', + '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', + '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', + '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', + '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', + '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', + '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', + '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', + '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', + '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' +]; +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ -/***/ }), -/* 181 */ -/***/ (function(module, exports) { +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + return true; + } -module.exports = function (it, Constructor, name, forbiddenField) { - if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { - throw TypeError(name + ': incorrect invocation!'); - } return it; + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (err) { + return '[UnexpectedJSONParseError]: ' + err.message; + } }; -/***/ }), -/* 182 */ -/***/ (function(module, exports, __webpack_require__) { +/** + * Colorize log arguments if enabled. + * + * @api public + */ -// false -> Array#indexOf -// true -> Array#includes -var toIObject = __webpack_require__(74); -var toLength = __webpack_require__(110); -var toAbsoluteIndex = __webpack_require__(200); -module.exports = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; - // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - if (IS_INCLUDES && el != el) while (length > index) { - value = O[index++]; - // eslint-disable-next-line no-self-compare - if (value != value) return true; - // Array#indexOf ignores holes, Array#includes - not - } else for (;length > index; index++) if (IS_INCLUDES || index in O) { - if (O[index] === el) return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; -}; +function formatArgs(args) { + var useColors = this.useColors; + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); -/***/ }), -/* 183 */ -/***/ (function(module, exports, __webpack_require__) { + if (!useColors) return; -var ctx = __webpack_require__(48); -var call = __webpack_require__(187); -var isArrayIter = __webpack_require__(186); -var anObject = __webpack_require__(27); -var toLength = __webpack_require__(110); -var getIterFn = __webpack_require__(203); -var BREAK = {}; -var RETURN = {}; -var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { - var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); - var f = ctx(fn, that, entries ? 2 : 1); + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit') + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into var index = 0; - var length, step, iterator, result; - if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); - // fast case for arrays with default iterator - if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { - result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if (result === BREAK || result === RETURN) return result; - } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { - result = call(iterator, f, step.value, entries); - if (result === BREAK || result === RETURN) return result; - } -}; -exports.BREAK = BREAK; -exports.RETURN = RETURN; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + args.splice(lastC, 0, c); +} -/***/ }), -/* 184 */ -/***/ (function(module, exports, __webpack_require__) { +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ -module.exports = !__webpack_require__(33) && !__webpack_require__(85)(function () { - return Object.defineProperty(__webpack_require__(68)('div'), 'a', { get: function () { return 7; } }).a != 7; -}); +function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); +} +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ -/***/ }), -/* 185 */ -/***/ (function(module, exports) { +function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} +} -// fast apply, http://jsperf.lnkit.com/fast-apply/5 -module.exports = function (fn, args, that) { - var un = that === undefined; - switch (args.length) { - case 0: return un ? fn() - : fn.call(that); - case 1: return un ? fn(args[0]) - : fn.call(that, args[0]); - case 2: return un ? fn(args[0], args[1]) - : fn.call(that, args[0], args[1]); - case 3: return un ? fn(args[0], args[1], args[2]) - : fn.call(that, args[0], args[1], args[2]); - case 4: return un ? fn(args[0], args[1], args[2], args[3]) - : fn.call(that, args[0], args[1], args[2], args[3]); - } return fn.apply(that, args); -}; +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ +function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} -/***/ }), -/* 186 */ -/***/ (function(module, exports, __webpack_require__) { + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } -// check on default Array iterator -var Iterators = __webpack_require__(35); -var ITERATOR = __webpack_require__(13)('iterator'); -var ArrayProto = Array.prototype; + return r; +} -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); -}; +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ +exports.enable(load()); -/***/ }), -/* 187 */ -/***/ (function(module, exports, __webpack_require__) { +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ -// call something on iterator step with safe closing on error -var anObject = __webpack_require__(27); -module.exports = function (iterator, fn, value, entries) { +function localstorage() { try { - return entries ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch (e) { - var ret = iterator['return']; - if (ret !== undefined) anObject(ret.call(iterator)); - throw e; - } -}; + return window.localStorage; + } catch (e) {} +} /***/ }), -/* 188 */ +/* 212 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -var create = __webpack_require__(192); -var descriptor = __webpack_require__(106); -var setToStringTag = __webpack_require__(71); -var IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -__webpack_require__(31)(IteratorPrototype, __webpack_require__(13)('iterator'), function () { return this; }); +/** + * Detect Electron renderer process, which is node, but we should + * treat as a browser. + */ -module.exports = function (Constructor, NAME, next) { - Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); - setToStringTag(Constructor, NAME + ' Iterator'); -}; +if (typeof process === 'undefined' || process.type === 'renderer') { + module.exports = __webpack_require__(211); +} else { + module.exports = __webpack_require__(213); +} /***/ }), -/* 189 */ +/* 213 */ /***/ (function(module, exports, __webpack_require__) { -var ITERATOR = __webpack_require__(13)('iterator'); -var SAFE_CLOSING = false; +/** + * Module dependencies. + */ -try { - var riter = [7][ITERATOR](); - riter['return'] = function () { SAFE_CLOSING = true; }; - // eslint-disable-next-line no-throw-literal - Array.from(riter, function () { throw 2; }); -} catch (e) { /* empty */ } +var tty = __webpack_require__(79); +var util = __webpack_require__(2); -module.exports = function (exec, skipClosing) { - if (!skipClosing && !SAFE_CLOSING) return false; - var safe = false; - try { - var arr = [7]; - var iter = arr[ITERATOR](); - iter.next = function () { return { done: safe = true }; }; - arr[ITERATOR] = function () { return iter; }; - exec(arr); - } catch (e) { /* empty */ } - return safe; -}; +/** + * This is the Node.js implementation of `debug()`. + * + * Expose `debug()` as the module. + */ +exports = module.exports = __webpack_require__(112); +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; -/***/ }), -/* 190 */ -/***/ (function(module, exports) { +/** + * Colors. + */ -module.exports = function (done, value) { - return { value: value, done: !!done }; -}; +exports.colors = [ 6, 2, 3, 4, 5, 1 ]; +try { + var supportsColor = __webpack_require__(239); + if (supportsColor && supportsColor.level >= 2) { + exports.colors = [ + 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, + 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, + 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 214, 215, 220, 221 + ]; + } +} catch (err) { + // swallow - we only care if `supports-color` is available; it doesn't have to be. +} -/***/ }), -/* 191 */ -/***/ (function(module, exports, __webpack_require__) { +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ -var global = __webpack_require__(11); -var macrotask = __webpack_require__(109).set; -var Observer = global.MutationObserver || global.WebKitMutationObserver; -var process = global.process; -var Promise = global.Promise; -var isNode = __webpack_require__(47)(process) == 'process'; +exports.inspectOpts = Object.keys(process.env).filter(function (key) { + return /^debug_/i.test(key); +}).reduce(function (obj, key) { + // camel-case + var prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); -module.exports = function () { - var head, last, notify; + // coerce string value into JS value + var val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) val = true; + else if (/^(no|off|false|disabled)$/i.test(val)) val = false; + else if (val === 'null') val = null; + else val = Number(val); - var flush = function () { - var parent, fn; - if (isNode && (parent = process.domain)) parent.exit(); - while (head) { - fn = head.fn; - head = head.next; - try { - fn(); - } catch (e) { - if (head) notify(); - else last = undefined; - throw e; - } - } last = undefined; - if (parent) parent.enter(); - }; + obj[prop] = val; + return obj; +}, {}); - // Node.js - if (isNode) { - notify = function () { - process.nextTick(flush); - }; - // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 - } else if (Observer && !(global.navigator && global.navigator.standalone)) { - var toggle = true; - var node = document.createTextNode(''); - new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new - notify = function () { - node.data = toggle = !toggle; - }; - // environments with maybe non-completely correct, but existent Promise - } else if (Promise && Promise.resolve) { - // Promise.resolve without an argument throws an error in LG WebOS 2 - var promise = Promise.resolve(undefined); - notify = function () { - promise.then(flush); - }; - // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - } else { - notify = function () { - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; - } +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ - return function (fn) { - var task = { fn: fn, next: undefined }; - if (last) last.next = task; - if (!head) { - head = task; - notify(); - } last = task; - }; -}; +function useColors() { + return 'colors' in exports.inspectOpts + ? Boolean(exports.inspectOpts.colors) + : tty.isatty(process.stderr.fd); +} +/** + * Map %o to `util.inspect()`, all on a single line. + */ -/***/ }), -/* 192 */ -/***/ (function(module, exports, __webpack_require__) { +exports.formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n').map(function(str) { + return str.trim() + }).join(' '); +}; -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = __webpack_require__(27); -var dPs = __webpack_require__(193); -var enumBugKeys = __webpack_require__(101); -var IE_PROTO = __webpack_require__(72)('IE_PROTO'); -var Empty = function () { /* empty */ }; -var PROTOTYPE = 'prototype'; +/** + * Map %o to `util.inspect()`, allowing multiple lines if needed. + */ -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function () { - // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(68)('iframe'); - var i = enumBugKeys.length; - var lt = '<'; - var gt = '>'; - var iframeDocument; - iframe.style.display = 'none'; - __webpack_require__(102).appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); +exports.formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); }; -module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); -}; +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ +function formatArgs(args) { + var name = this.namespace; + var useColors = this.useColors; -/***/ }), -/* 193 */ -/***/ (function(module, exports, __webpack_require__) { + if (useColors) { + var c = this.color; + var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); + var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; -var dP = __webpack_require__(50); -var anObject = __webpack_require__(27); -var getKeys = __webpack_require__(132); + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} -module.exports = __webpack_require__(33) ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = getKeys(Properties); - var length = keys.length; - var i = 0; - var P; - while (length > i) dP.f(O, P = keys[i++], Properties[P]); - return O; -}; +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } else { + return new Date().toISOString() + ' '; + } +} +/** + * Invokes `util.format()` with the specified arguments and writes to stderr. + */ -/***/ }), -/* 194 */ -/***/ (function(module, exports, __webpack_require__) { +function log() { + return process.stderr.write(util.format.apply(util, arguments) + '\n'); +} -// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) -var has = __webpack_require__(49); -var toObject = __webpack_require__(133); -var IE_PROTO = __webpack_require__(72)('IE_PROTO'); -var ObjectProto = Object.prototype; +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ -module.exports = Object.getPrototypeOf || function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectProto : null; -}; +function save(namespaces) { + if (null == namespaces) { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } else { + process.env.DEBUG = namespaces; + } +} +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ -/***/ }), -/* 195 */ -/***/ (function(module, exports, __webpack_require__) { +function load() { + return process.env.DEBUG; +} -var has = __webpack_require__(49); -var toIObject = __webpack_require__(74); -var arrayIndexOf = __webpack_require__(182)(false); -var IE_PROTO = __webpack_require__(72)('IE_PROTO'); +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ -module.exports = function (object, names) { - var O = toIObject(object); - var i = 0; - var result = []; - var key; - for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while (names.length > i) if (has(O, key = names[i++])) { - ~arrayIndexOf(result, key) || result.push(key); +function init (debug) { + debug.inspectOpts = {}; + + var keys = Object.keys(exports.inspectOpts); + for (var i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; } - return result; -}; +} + +/** + * Enable namespaces listed in `process.env.DEBUG` initially. + */ + +exports.enable(load()); /***/ }), -/* 196 */ +/* 214 */, +/* 215 */, +/* 216 */, +/* 217 */ /***/ (function(module, exports, __webpack_require__) { -var hide = __webpack_require__(31); -module.exports = function (target, src, safe) { - for (var key in src) { - if (safe && target[key]) target[key] = src[key]; - else hide(target, key, src[key]); - } return target; -}; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. +var pathModule = __webpack_require__(0); +var isWindows = process.platform === 'win32'; +var fs = __webpack_require__(3); -/***/ }), -/* 197 */ -/***/ (function(module, exports, __webpack_require__) { +// JavaScript implementation of realpath, ported from node pre-v6 -module.exports = __webpack_require__(31); +var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG); +function rethrow() { + // Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and + // is fairly slow to generate. + var callback; + if (DEBUG) { + var backtrace = new Error; + callback = debugCallback; + } else + callback = missingCallback; -/***/ }), -/* 198 */ -/***/ (function(module, exports, __webpack_require__) { + return callback; -"use strict"; + function debugCallback(err) { + if (err) { + backtrace.message = err.message; + err = backtrace; + missingCallback(err); + } + } -var global = __webpack_require__(11); -var core = __webpack_require__(23); -var dP = __webpack_require__(50); -var DESCRIPTORS = __webpack_require__(33); -var SPECIES = __webpack_require__(13)('species'); + function missingCallback(err) { + if (err) { + if (process.throwDeprecation) + throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs + else if (!process.noDeprecation) { + var msg = 'fs: missing callback ' + (err.stack || err.message); + if (process.traceDeprecation) + console.trace(msg); + else + console.error(msg); + } + } + } +} -module.exports = function (KEY) { - var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY]; - if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { - configurable: true, - get: function () { return this; } - }); -}; +function maybeCallback(cb) { + return typeof cb === 'function' ? cb : rethrow(); +} +var normalize = pathModule.normalize; -/***/ }), -/* 199 */ -/***/ (function(module, exports, __webpack_require__) { +// Regexp that finds the next partion of a (partial) path +// result is [base_with_slash, base], e.g. ['somedir/', 'somedir'] +if (isWindows) { + var nextPartRe = /(.*?)(?:[\/\\]+|$)/g; +} else { + var nextPartRe = /(.*?)(?:[\/]+|$)/g; +} -var toInteger = __webpack_require__(73); -var defined = __webpack_require__(67); -// true -> String#at -// false -> String#codePointAt -module.exports = function (TO_STRING) { - return function (that, pos) { - var s = String(defined(that)); - var i = toInteger(pos); - var l = s.length; - var a, b; - if (i < 0 || i >= l) return TO_STRING ? '' : undefined; - a = s.charCodeAt(i); - return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff - ? TO_STRING ? s.charAt(i) : a - : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; - }; -}; +// Regex to find the device root, including trailing slash. E.g. 'c:\\'. +if (isWindows) { + var splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/; +} else { + var splitRootRe = /^[\/]*/; +} +exports.realpathSync = function realpathSync(p, cache) { + // make p is absolute + p = pathModule.resolve(p); -/***/ }), -/* 200 */ -/***/ (function(module, exports, __webpack_require__) { + if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { + return cache[p]; + } -var toInteger = __webpack_require__(73); -var max = Math.max; -var min = Math.min; -module.exports = function (index, length) { - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); -}; + var original = p, + seenLinks = {}, + knownHard = {}; + // current character position in p + var pos; + // the partial path so far, including a trailing slash if any + var current; + // the partial path without a trailing slash (except when pointing at a root) + var base; + // the partial path scanned in the previous round, with slash + var previous; -/***/ }), -/* 201 */ -/***/ (function(module, exports, __webpack_require__) { + start(); -// 7.1.1 ToPrimitive(input [, PreferredType]) -var isObject = __webpack_require__(34); -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function (it, S) { - if (!isObject(it)) return it; - var fn, val; - if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; - if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - throw TypeError("Can't convert object to primitive value"); -}; + function start() { + // Skip over roots + var m = splitRootRe.exec(p); + pos = m[0].length; + current = m[0]; + base = m[0]; + previous = ''; + // On windows, check that the root exists. On unix there is no need. + if (isWindows && !knownHard[base]) { + fs.lstatSync(base); + knownHard[base] = true; + } + } -/***/ }), -/* 202 */ -/***/ (function(module, exports, __webpack_require__) { + // walk down the path, swapping out linked pathparts for their real + // values + // NB: p.length changes. + while (pos < p.length) { + // find the next part + nextPartRe.lastIndex = pos; + var result = nextPartRe.exec(p); + previous = current; + current += result[0]; + base = previous + result[1]; + pos = nextPartRe.lastIndex; -var global = __webpack_require__(11); -var navigator = global.navigator; + // continue if not a symlink + if (knownHard[base] || (cache && cache[base] === base)) { + continue; + } -module.exports = navigator && navigator.userAgent || ''; + var resolvedLink; + if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { + // some known symbolic link. no need to stat again. + resolvedLink = cache[base]; + } else { + var stat = fs.lstatSync(base); + if (!stat.isSymbolicLink()) { + knownHard[base] = true; + if (cache) cache[base] = base; + continue; + } + + // read the link if it wasn't read before + // dev/ino always return 0 on windows, so skip the check. + var linkTarget = null; + if (!isWindows) { + var id = stat.dev.toString(32) + ':' + stat.ino.toString(32); + if (seenLinks.hasOwnProperty(id)) { + linkTarget = seenLinks[id]; + } + } + if (linkTarget === null) { + fs.statSync(base); + linkTarget = fs.readlinkSync(base); + } + resolvedLink = pathModule.resolve(previous, linkTarget); + // track this, if given a cache. + if (cache) cache[base] = resolvedLink; + if (!isWindows) seenLinks[id] = linkTarget; + } + // resolve the link, then start over + p = pathModule.resolve(resolvedLink, p.slice(pos)); + start(); + } -/***/ }), -/* 203 */ -/***/ (function(module, exports, __webpack_require__) { + if (cache) cache[original] = p; -var classof = __webpack_require__(100); -var ITERATOR = __webpack_require__(13)('iterator'); -var Iterators = __webpack_require__(35); -module.exports = __webpack_require__(23).getIteratorMethod = function (it) { - if (it != undefined) return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; + return p; }; -/***/ }), -/* 204 */ -/***/ (function(module, exports, __webpack_require__) { +exports.realpath = function realpath(p, cache, cb) { + if (typeof cb !== 'function') { + cb = maybeCallback(cache); + cache = null; + } -"use strict"; + // make p is absolute + p = pathModule.resolve(p); -var addToUnscopables = __webpack_require__(180); -var step = __webpack_require__(190); -var Iterators = __webpack_require__(35); -var toIObject = __webpack_require__(74); + if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { + return process.nextTick(cb.bind(null, null, cache[p])); + } -// 22.1.3.4 Array.prototype.entries() -// 22.1.3.13 Array.prototype.keys() -// 22.1.3.29 Array.prototype.values() -// 22.1.3.30 Array.prototype[@@iterator]() -module.exports = __webpack_require__(103)(Array, 'Array', function (iterated, kind) { - this._t = toIObject(iterated); // target - this._i = 0; // next index - this._k = kind; // kind -// 22.1.5.2.1 %ArrayIteratorPrototype%.next() -}, function () { - var O = this._t; - var kind = this._k; - var index = this._i++; - if (!O || index >= O.length) { - this._t = undefined; - return step(1); + var original = p, + seenLinks = {}, + knownHard = {}; + + // current character position in p + var pos; + // the partial path so far, including a trailing slash if any + var current; + // the partial path without a trailing slash (except when pointing at a root) + var base; + // the partial path scanned in the previous round, with slash + var previous; + + start(); + + function start() { + // Skip over roots + var m = splitRootRe.exec(p); + pos = m[0].length; + current = m[0]; + base = m[0]; + previous = ''; + + // On windows, check that the root exists. On unix there is no need. + if (isWindows && !knownHard[base]) { + fs.lstat(base, function(err) { + if (err) return cb(err); + knownHard[base] = true; + LOOP(); + }); + } else { + process.nextTick(LOOP); + } } - if (kind == 'keys') return step(0, index); - if (kind == 'values') return step(0, O[index]); - return step(0, [index, O[index]]); -}, 'values'); -// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) -Iterators.Arguments = Iterators.Array; + // walk down the path, swapping out linked pathparts for their real + // values + function LOOP() { + // stop if scanned past end of path + if (pos >= p.length) { + if (cache) cache[original] = p; + return cb(null, p); + } -addToUnscopables('keys'); -addToUnscopables('values'); -addToUnscopables('entries'); + // find the next part + nextPartRe.lastIndex = pos; + var result = nextPartRe.exec(p); + previous = current; + current += result[0]; + base = previous + result[1]; + pos = nextPartRe.lastIndex; + // continue if not a symlink + if (knownHard[base] || (cache && cache[base] === base)) { + return process.nextTick(LOOP); + } -/***/ }), -/* 205 */ -/***/ (function(module, exports) { + if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { + // known symbolic link. no need to stat again. + return gotResolvedLink(cache[base]); + } + + return fs.lstat(base, gotStat); + } + + function gotStat(err, stat) { + if (err) return cb(err); + + // if not a symlink, skip to the next path part + if (!stat.isSymbolicLink()) { + knownHard[base] = true; + if (cache) cache[base] = base; + return process.nextTick(LOOP); + } + + // stat & read the link if not read before + // call gotTarget as soon as the link target is known + // dev/ino always return 0 on windows, so skip the check. + if (!isWindows) { + var id = stat.dev.toString(32) + ':' + stat.ino.toString(32); + if (seenLinks.hasOwnProperty(id)) { + return gotTarget(null, seenLinks[id], base); + } + } + fs.stat(base, function(err) { + if (err) return cb(err); + + fs.readlink(base, function(err, target) { + if (!isWindows) seenLinks[id] = target; + gotTarget(err, target); + }); + }); + } + + function gotTarget(err, target, base) { + if (err) return cb(err); + var resolvedLink = pathModule.resolve(previous, target); + if (cache) cache[base] = resolvedLink; + gotResolvedLink(resolvedLink); + } + + function gotResolvedLink(resolvedLink) { + // resolve the link, then start over + p = pathModule.resolve(resolvedLink, p.slice(pos)); + start(); + } +}; /***/ }), -/* 206 */ +/* 218 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; +module.exports = globSync +globSync.GlobSync = GlobSync -var LIBRARY = __webpack_require__(69); -var global = __webpack_require__(11); -var ctx = __webpack_require__(48); -var classof = __webpack_require__(100); -var $export = __webpack_require__(41); -var isObject = __webpack_require__(34); -var aFunction = __webpack_require__(46); -var anInstance = __webpack_require__(181); -var forOf = __webpack_require__(183); -var speciesConstructor = __webpack_require__(108); -var task = __webpack_require__(109).set; -var microtask = __webpack_require__(191)(); -var newPromiseCapabilityModule = __webpack_require__(70); -var perform = __webpack_require__(104); -var userAgent = __webpack_require__(202); -var promiseResolve = __webpack_require__(105); -var PROMISE = 'Promise'; -var TypeError = global.TypeError; -var process = global.process; -var versions = process && process.versions; -var v8 = versions && versions.v8 || ''; -var $Promise = global[PROMISE]; -var isNode = classof(process) == 'process'; -var empty = function () { /* empty */ }; -var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; -var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; +var fs = __webpack_require__(3) +var rp = __webpack_require__(114) +var minimatch = __webpack_require__(60) +var Minimatch = minimatch.Minimatch +var Glob = __webpack_require__(75).Glob +var util = __webpack_require__(2) +var path = __webpack_require__(0) +var assert = __webpack_require__(22) +var isAbsolute = __webpack_require__(76) +var common = __webpack_require__(115) +var alphasort = common.alphasort +var alphasorti = common.alphasorti +var setopts = common.setopts +var ownProp = common.ownProp +var childrenIgnored = common.childrenIgnored +var isIgnored = common.isIgnored -var USE_NATIVE = !!function () { - try { - // correct subclassing with @@species support - var promise = $Promise.resolve(1); - var FakePromise = (promise.constructor = {})[__webpack_require__(13)('species')] = function (exec) { - exec(empty, empty); - }; - // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return (isNode || typeof PromiseRejectionEvent == 'function') - && promise.then(empty) instanceof FakePromise - // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables - // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 - // we can't detect it synchronously, so just check versions - && v8.indexOf('6.6') !== 0 - && userAgent.indexOf('Chrome/66') === -1; - } catch (e) { /* empty */ } -}(); +function globSync (pattern, options) { + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') -// helpers -var isThenable = function (it) { - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; -}; -var notify = function (promise, isReject) { - if (promise._n) return; - promise._n = true; - var chain = promise._c; - microtask(function () { - var value = promise._v; - var ok = promise._s == 1; - var i = 0; - var run = function (reaction) { - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - try { - if (handler) { - if (!ok) { - if (promise._h == 2) onHandleUnhandled(promise); - promise._h = 1; - } - if (handler === true) result = value; - else { - if (domain) domain.enter(); - result = handler(value); // may throw - if (domain) { - domain.exit(); - exited = true; - } - } - if (result === reaction.promise) { - reject(TypeError('Promise-chain cycle')); - } else if (then = isThenable(result)) { - then.call(result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch (e) { - if (domain && !exited) domain.exit(); - reject(e); - } - }; - while (chain.length > i) run(chain[i++]); // variable length - can't use forEach - promise._c = []; - promise._n = false; - if (isReject && !promise._h) onUnhandled(promise); - }); -}; -var onUnhandled = function (promise) { - task.call(global, function () { - var value = promise._v; - var unhandled = isUnhandled(promise); - var result, handler, console; - if (unhandled) { - result = perform(function () { - if (isNode) { - process.emit('unhandledRejection', value, promise); - } else if (handler = global.onunhandledrejection) { - handler({ promise: promise, reason: value }); - } else if ((console = global.console) && console.error) { - console.error('Unhandled promise rejection', value); - } - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - promise._h = isNode || isUnhandled(promise) ? 2 : 1; - } promise._a = undefined; - if (unhandled && result.e) throw result.v; - }); -}; -var isUnhandled = function (promise) { - return promise._h !== 1 && (promise._a || promise._c).length === 0; -}; -var onHandleUnhandled = function (promise) { - task.call(global, function () { - var handler; - if (isNode) { - process.emit('rejectionHandled', promise); - } else if (handler = global.onrejectionhandled) { - handler({ promise: promise, reason: promise._v }); - } - }); -}; -var $reject = function (value) { - var promise = this; - if (promise._d) return; - promise._d = true; - promise = promise._w || promise; // unwrap - promise._v = value; - promise._s = 2; - if (!promise._a) promise._a = promise._c.slice(); - notify(promise, true); -}; -var $resolve = function (value) { - var promise = this; - var then; - if (promise._d) return; - promise._d = true; - promise = promise._w || promise; // unwrap - try { - if (promise === value) throw TypeError("Promise can't be resolved itself"); - if (then = isThenable(value)) { - microtask(function () { - var wrapper = { _w: promise, _d: false }; // wrap + return new GlobSync(pattern, options).found +} + +function GlobSync (pattern, options) { + if (!pattern) + throw new Error('must provide pattern') + + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + if (!(this instanceof GlobSync)) + return new GlobSync(pattern, options) + + setopts(this, pattern, options) + + if (this.noprocess) + return this + + var n = this.minimatch.set.length + this.matches = new Array(n) + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false) + } + this._finish() +} + +GlobSync.prototype._finish = function () { + assert(this instanceof GlobSync) + if (this.realpath) { + var self = this + this.matches.forEach(function (matchset, index) { + var set = self.matches[index] = Object.create(null) + for (var p in matchset) { try { - then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); - } catch (e) { - $reject.call(wrapper, e); + p = self._makeAbs(p) + var real = rp.realpathSync(p, self.realpathCache) + set[real] = true + } catch (er) { + if (er.syscall === 'stat') + set[self._makeAbs(p)] = true + else + throw er } - }); - } else { - promise._v = value; - promise._s = 1; - notify(promise, false); - } - } catch (e) { - $reject.call({ _w: promise, _d: false }, e); // wrap + } + }) } -}; - -// constructor polyfill -if (!USE_NATIVE) { - // 25.4.3.1 Promise(executor) - $Promise = function Promise(executor) { - anInstance(this, $Promise, PROMISE, '_h'); - aFunction(executor); - Internal.call(this); - try { - executor(ctx($resolve, this, 1), ctx($reject, this, 1)); - } catch (err) { - $reject.call(this, err); - } - }; - // eslint-disable-next-line no-unused-vars - Internal = function Promise(executor) { - this._c = []; // <- awaiting reactions - this._a = undefined; // <- checked in isUnhandled reactions - this._s = 0; // <- state - this._d = false; // <- done - this._v = undefined; // <- value - this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled - this._n = false; // <- notify - }; - Internal.prototype = __webpack_require__(196)($Promise.prototype, { - // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) - then: function then(onFulfilled, onRejected) { - var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = isNode ? process.domain : undefined; - this._c.push(reaction); - if (this._a) this._a.push(reaction); - if (this._s) notify(this, false); - return reaction.promise; - }, - // 25.4.5.1 Promise.prototype.catch(onRejected) - 'catch': function (onRejected) { - return this.then(undefined, onRejected); - } - }); - OwnPromiseCapability = function () { - var promise = new Internal(); - this.promise = promise; - this.resolve = ctx($resolve, promise, 1); - this.reject = ctx($reject, promise, 1); - }; - newPromiseCapabilityModule.f = newPromiseCapability = function (C) { - return C === $Promise || C === Wrapper - ? new OwnPromiseCapability(C) - : newGenericPromiseCapability(C); - }; + common.finish(this) } -$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); -__webpack_require__(71)($Promise, PROMISE); -__webpack_require__(198)(PROMISE); -Wrapper = __webpack_require__(23)[PROMISE]; -// statics -$export($export.S + $export.F * !USE_NATIVE, PROMISE, { - // 25.4.4.5 Promise.reject(r) - reject: function reject(r) { - var capability = newPromiseCapability(this); - var $$reject = capability.reject; - $$reject(r); - return capability.promise; - } -}); -$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { - // 25.4.4.6 Promise.resolve(x) - resolve: function resolve(x) { - return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); +GlobSync.prototype._process = function (pattern, index, inGlobStar) { + assert(this instanceof GlobSync) + + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === 'string') { + n ++ } -}); -$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(189)(function (iter) { - $Promise.all(iter)['catch'](empty); -})), PROMISE, { - // 25.4.4.1 Promise.all(iterable) - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var values = []; - var index = 0; - var remaining = 1; - forOf(iterable, false, function (promise) { - var $index = index++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - C.resolve(promise).then(function (value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[$index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.e) reject(result.v); - return capability.promise; - }, - // 25.4.4.4 Promise.race(iterable) - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var reject = capability.reject; - var result = perform(function () { - forOf(iterable, false, function (promise) { - C.resolve(promise).then(capability.resolve, reject); - }); - }); - if (result.e) reject(result.v); - return capability.promise; + // now n is the index of the first one that is *not* a string. + + // See if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index) + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/') + break } -}); + var remain = pattern.slice(n) -/***/ }), -/* 207 */ -/***/ (function(module, exports, __webpack_require__) { + // get the list of entries. + var read + if (prefix === null) + read = '.' + else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { + if (!prefix || !isAbsolute(prefix)) + prefix = '/' + prefix + read = prefix + } else + read = prefix -"use strict"; + var abs = this._makeAbs(read) -var $at = __webpack_require__(199)(true); + //if ignored, skip processing + if (childrenIgnored(this, read)) + return -// 21.1.3.27 String.prototype[@@iterator]() -__webpack_require__(103)(String, 'String', function (iterated) { - this._t = String(iterated); // target - this._i = 0; // next index -// 21.1.5.2.1 %StringIteratorPrototype%.next() -}, function () { - var O = this._t; - var index = this._i; - var point; - if (index >= O.length) return { value: undefined, done: true }; - point = $at(O, index); - this._i += point.length; - return { value: point, done: false }; -}); + var isGlobStar = remain[0] === minimatch.GLOBSTAR + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar) + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar) +} -/***/ }), -/* 208 */ -/***/ (function(module, exports, __webpack_require__) { +GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { + var entries = this._readdir(abs, inGlobStar) -"use strict"; -// https://github.com/tc39/proposal-promise-finally + // if the abs isn't a dir, then nothing can match! + if (!entries) + return -var $export = __webpack_require__(41); -var core = __webpack_require__(23); -var global = __webpack_require__(11); -var speciesConstructor = __webpack_require__(108); -var promiseResolve = __webpack_require__(105); + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0] + var negate = !!this.minimatch.negate + var rawGlob = pn._glob + var dotOk = this.dot || rawGlob.charAt(0) === '.' -$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { - var C = speciesConstructor(this, core.Promise || global.Promise); - var isFunction = typeof onFinally == 'function'; - return this.then( - isFunction ? function (x) { - return promiseResolve(C, onFinally()).then(function () { return x; }); - } : onFinally, - isFunction ? function (e) { - return promiseResolve(C, onFinally()).then(function () { throw e; }); - } : onFinally - ); -} }); + var matchedEntries = [] + for (var i = 0; i < entries.length; i++) { + var e = entries[i] + if (e.charAt(0) !== '.' || dotOk) { + var m + if (negate && !prefix) { + m = !e.match(pn) + } else { + m = e.match(pn) + } + if (m) + matchedEntries.push(e) + } + } + var len = matchedEntries.length + // If there are no matched entries, then nothing matches. + if (len === 0) + return -/***/ }), -/* 209 */ -/***/ (function(module, exports, __webpack_require__) { + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. -"use strict"; + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) -// https://github.com/tc39/proposal-promise-try -var $export = __webpack_require__(41); -var newPromiseCapability = __webpack_require__(70); -var perform = __webpack_require__(104); + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + if (prefix) { + if (prefix.slice(-1) !== '/') + e = prefix + '/' + e + else + e = prefix + e + } -$export($export.S, 'Promise', { 'try': function (callbackfn) { - var promiseCapability = newPromiseCapability.f(this); - var result = perform(callbackfn); - (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); - return promiseCapability.promise; -} }); + if (e.charAt(0) === '/' && !this.nomount) { + e = path.join(this.root, e) + } + this._emitMatch(index, e) + } + // This was the last one, and no stats were needed + return + } + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift() + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + var newPattern + if (prefix) + newPattern = [prefix, e] + else + newPattern = [e] + this._process(newPattern.concat(remain), index, inGlobStar) + } +} -/***/ }), -/* 210 */ -/***/ (function(module, exports, __webpack_require__) { -__webpack_require__(204); -var global = __webpack_require__(11); -var hide = __webpack_require__(31); -var Iterators = __webpack_require__(35); -var TO_STRING_TAG = __webpack_require__(13)('toStringTag'); +GlobSync.prototype._emitMatch = function (index, e) { + if (isIgnored(this, e)) + return -var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + - 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + - 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + - 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + - 'TextTrackList,TouchList').split(','); + var abs = this._makeAbs(e) -for (var i = 0; i < DOMIterables.length; i++) { - var NAME = DOMIterables[i]; - var Collection = global[NAME]; - var proto = Collection && Collection.prototype; - if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); - Iterators[NAME] = Iterators.Array; -} + if (this.mark) + e = this._mark(e) + if (this.absolute) { + e = abs + } -/***/ }), -/* 211 */ -/***/ (function(module, exports, __webpack_require__) { + if (this.matches[index][e]) + return -/** - * This is the web browser implementation of `debug()`. - * - * Expose `debug()` as the module. - */ + if (this.nodir) { + var c = this.cache[abs] + if (c === 'DIR' || Array.isArray(c)) + return + } -exports = module.exports = __webpack_require__(112); -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = 'undefined' != typeof chrome - && 'undefined' != typeof chrome.storage - ? chrome.storage.local - : localstorage(); + this.matches[index][e] = true -/** - * Colors. - */ + if (this.stat) + this._stat(e) +} -exports.colors = [ - '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', - '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', - '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', - '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', - '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', - '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', - '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', - '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', - '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', - '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', - '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' -]; -/** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. - * - * TODO: add a `localStorage` variable to explicitly enable/disable colors - */ - -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { - return true; - } - - // Internet Explorer and Edge do not support colors. - if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - - // is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 - return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || - // is firebug? http://stackoverflow.com/a/398120/376773 - (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || - // is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || - // double check webkit in userAgent just in case we are in a worker - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); -} - -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ +GlobSync.prototype._readdirInGlobStar = function (abs) { + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false) -exports.formatters.j = function(v) { + var entries + var lstat + var stat try { - return JSON.stringify(v); - } catch (err) { - return '[UnexpectedJSONParseError]: ' + err.message; + lstat = fs.lstatSync(abs) + } catch (er) { + if (er.code === 'ENOENT') { + // lstat failed, doesn't exist + return null + } } -}; - - -/** - * Colorize log arguments if enabled. - * - * @api public - */ - -function formatArgs(args) { - var useColors = this.useColors; - - args[0] = (useColors ? '%c' : '') - + this.namespace - + (useColors ? ' %c' : ' ') - + args[0] - + (useColors ? '%c ' : ' ') - + '+' + exports.humanize(this.diff); - if (!useColors) return; - - var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit') + var isSym = lstat && lstat.isSymbolicLink() + this.symlinks[abs] = isSym - // the final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into - var index = 0; - var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function(match) { - if ('%%' === match) return; - index++; - if ('%c' === match) { - // we only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && lstat && !lstat.isDirectory()) + this.cache[abs] = 'FILE' + else + entries = this._readdir(abs, false) - args.splice(lastC, 0, c); + return entries } -/** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". - * - * @api public - */ - -function log() { - // this hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return 'object' === typeof console - && console.log - && Function.prototype.apply.call(console.log, console, arguments); -} +GlobSync.prototype._readdir = function (abs, inGlobStar) { + var entries -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ + if (inGlobStar && !ownProp(this.symlinks, abs)) + return this._readdirInGlobStar(abs) -function save(namespaces) { - try { - if (null == namespaces) { - exports.storage.removeItem('debug'); - } else { - exports.storage.debug = namespaces; - } - } catch(e) {} -} + if (ownProp(this.cache, abs)) { + var c = this.cache[abs] + if (!c || c === 'FILE') + return null -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ + if (Array.isArray(c)) + return c + } -function load() { - var r; try { - r = exports.storage.debug; - } catch(e) {} - - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; + return this._readdirEntries(abs, fs.readdirSync(abs)) + } catch (er) { + this._readdirError(abs, er) + return null } - - return r; } -/** - * Enable namespaces listed in `localStorage.debug` initially. - */ - -exports.enable(load()); +GlobSync.prototype._readdirEntries = function (abs, entries) { + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i] + if (abs === '/') + e = abs + e + else + e = abs + '/' + e + this.cache[e] = true + } + } -/** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. - * - * @return {LocalStorage} - * @api private - */ + this.cache[abs] = entries -function localstorage() { - try { - return window.localStorage; - } catch (e) {} + // mark and cache dir-ness + return entries } +GlobSync.prototype._readdirError = function (f, er) { + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + var abs = this._makeAbs(f) + this.cache[abs] = 'FILE' + if (abs === this.cwdAbs) { + var error = new Error(er.code + ' invalid cwd ' + this.cwd) + error.path = this.cwd + error.code = er.code + throw error + } + break -/***/ }), -/* 212 */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * Detect Electron renderer process, which is node, but we should - * treat as a browser. - */ + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false + break -if (typeof process === 'undefined' || process.type === 'renderer') { - module.exports = __webpack_require__(211); -} else { - module.exports = __webpack_require__(213); + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false + if (this.strict) + throw er + if (!this.silent) + console.error('glob error', er) + break + } } +GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { -/***/ }), -/* 213 */ -/***/ (function(module, exports, __webpack_require__) { + var entries = this._readdir(abs, inGlobStar) -/** - * Module dependencies. - */ + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return -var tty = __webpack_require__(79); -var util = __webpack_require__(2); + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1) + var gspref = prefix ? [ prefix ] : [] + var noGlobStar = gspref.concat(remainWithoutGlobStar) -/** - * This is the Node.js implementation of `debug()`. - * - * Expose `debug()` as the module. - */ + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false) -exports = module.exports = __webpack_require__(112); -exports.init = init; -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; + var len = entries.length + var isSym = this.symlinks[abs] -/** - * Colors. - */ + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return -exports.colors = [ 6, 2, 3, 4, 5, 1 ]; + for (var i = 0; i < len; i++) { + var e = entries[i] + if (e.charAt(0) === '.' && !this.dot) + continue -try { - var supportsColor = __webpack_require__(239); - if (supportsColor && supportsColor.level >= 2) { - exports.colors = [ - 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, - 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, - 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 214, 215, 220, 221 - ]; + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar) + this._process(instead, index, true) + + var below = gspref.concat(entries[i], remain) + this._process(below, index, true) } -} catch (err) { - // swallow - we only care if `supports-color` is available; it doesn't have to be. } -/** - * Build up the default `inspectOpts` object from the environment variables. - * - * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js - */ +GlobSync.prototype._processSimple = function (prefix, index) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var exists = this._stat(prefix) -exports.inspectOpts = Object.keys(process.env).filter(function (key) { - return /^debug_/i.test(key); -}).reduce(function (obj, key) { - // camel-case - var prop = key - .substring(6) - .toLowerCase() - .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); + if (!this.matches[index]) + this.matches[index] = Object.create(null) - // coerce string value into JS value - var val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) val = true; - else if (/^(no|off|false|disabled)$/i.test(val)) val = false; - else if (val === 'null') val = null; - else val = Number(val); + // If it doesn't exist, then just mark the lack of results + if (!exists) + return - obj[prop] = val; - return obj; -}, {}); + if (prefix && isAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix) + if (prefix.charAt(0) === '/') { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + if (trail) + prefix += '/' + } + } -/** - * Is stdout a TTY? Colored output is enabled when `true`. - */ + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/') -function useColors() { - return 'colors' in exports.inspectOpts - ? Boolean(exports.inspectOpts.colors) - : tty.isatty(process.stderr.fd); + // Mark this as a match + this._emitMatch(index, prefix) } -/** - * Map %o to `util.inspect()`, all on a single line. - */ - -exports.formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts) - .split('\n').map(function(str) { - return str.trim() - }).join(' '); -}; +// Returns either 'DIR', 'FILE', or false +GlobSync.prototype._stat = function (f) { + var abs = this._makeAbs(f) + var needDir = f.slice(-1) === '/' -/** - * Map %o to `util.inspect()`, allowing multiple lines if needed. - */ + if (f.length > this.maxLength) + return false -exports.formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); -}; + if (!this.stat && ownProp(this.cache, abs)) { + var c = this.cache[abs] -/** - * Adds ANSI color escape codes if enabled. - * - * @api public - */ + if (Array.isArray(c)) + c = 'DIR' -function formatArgs(args) { - var name = this.namespace; - var useColors = this.useColors; + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return c - if (useColors) { - var c = this.color; - var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); - var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; + if (needDir && c === 'FILE') + return false - args[0] = prefix + args[0].split('\n').join('\n' + prefix); - args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); - } else { - args[0] = getDate() + name + ' ' + args[0]; + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. } -} -function getDate() { - if (exports.inspectOpts.hideDate) { - return ''; - } else { - return new Date().toISOString() + ' '; + var exists + var stat = this.statCache[abs] + if (!stat) { + var lstat + try { + lstat = fs.lstatSync(abs) + } catch (er) { + if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { + this.statCache[abs] = false + return false + } + } + + if (lstat && lstat.isSymbolicLink()) { + try { + stat = fs.statSync(abs) + } catch (er) { + stat = lstat + } + } else { + stat = lstat + } } -} -/** - * Invokes `util.format()` with the specified arguments and writes to stderr. - */ + this.statCache[abs] = stat -function log() { - return process.stderr.write(util.format.apply(util, arguments) + '\n'); -} + var c = true + if (stat) + c = stat.isDirectory() ? 'DIR' : 'FILE' -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ + this.cache[abs] = this.cache[abs] || c -function save(namespaces) { - if (null == namespaces) { - // If you set a process.env field to null or undefined, it gets cast to the - // string 'null' or 'undefined'. Just delete instead. - delete process.env.DEBUG; - } else { - process.env.DEBUG = namespaces; - } + if (needDir && c === 'FILE') + return false + + return c } -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ +GlobSync.prototype._mark = function (p) { + return common.mark(this, p) +} -function load() { - return process.env.DEBUG; +GlobSync.prototype._makeAbs = function (f) { + return common.makeAbs(this, f) } -/** - * Init logic for `debug` instances. - * - * Create a new `inspectOpts` object in case `useColors` is set - * differently for a particular `debug` instance. - */ -function init (debug) { - debug.inspectOpts = {}; +/***/ }), +/* 219 */, +/* 220 */, +/* 221 */ +/***/ (function(module, exports, __webpack_require__) { - var keys = Object.keys(exports.inspectOpts); - for (var i = 0; i < keys.length; i++) { - debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; - } -} +"use strict"; -/** - * Enable namespaces listed in `process.env.DEBUG` initially. - */ +module.exports = function (flag, argv) { + argv = argv || process.argv; -exports.enable(load()); + var terminatorPos = argv.indexOf('--'); + var prefix = /^--/.test(flag) ? '' : '--'; + var pos = argv.indexOf(prefix + flag); + + return pos !== -1 && (terminatorPos !== -1 ? pos < terminatorPos : true); +}; /***/ }), -/* 214 */, -/* 215 */, -/* 216 */, -/* 217 */ +/* 222 */, +/* 223 */ /***/ (function(module, exports, __webpack_require__) { -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -var pathModule = __webpack_require__(0); -var isWindows = process.platform === 'win32'; -var fs = __webpack_require__(3); - -// JavaScript implementation of realpath, ported from node pre-v6 - -var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG); - -function rethrow() { - // Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and - // is fairly slow to generate. - var callback; - if (DEBUG) { - var backtrace = new Error; - callback = debugCallback; - } else - callback = missingCallback; +var wrappy = __webpack_require__(123) +var reqs = Object.create(null) +var once = __webpack_require__(61) - return callback; +module.exports = wrappy(inflight) - function debugCallback(err) { - if (err) { - backtrace.message = err.message; - err = backtrace; - missingCallback(err); - } +function inflight (key, cb) { + if (reqs[key]) { + reqs[key].push(cb) + return null + } else { + reqs[key] = [cb] + return makeres(key) } +} - function missingCallback(err) { - if (err) { - if (process.throwDeprecation) - throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs - else if (!process.noDeprecation) { - var msg = 'fs: missing callback ' + (err.stack || err.message); - if (process.traceDeprecation) - console.trace(msg); - else - console.error(msg); +function makeres (key) { + return once(function RES () { + var cbs = reqs[key] + var len = cbs.length + var args = slice(arguments) + + // XXX It's somewhat ambiguous whether a new callback added in this + // pass should be queued for later execution if something in the + // list of callbacks throws, or if it should just be discarded. + // However, it's such an edge case that it hardly matters, and either + // choice is likely as surprising as the other. + // As it happens, we do go ahead and schedule it for later execution. + try { + for (var i = 0; i < len; i++) { + cbs[i].apply(null, args) + } + } finally { + if (cbs.length > len) { + // added more in the interim. + // de-zalgo, just in case, but don't call again. + cbs.splice(0, len) + process.nextTick(function () { + RES.apply(null, args) + }) + } else { + delete reqs[key] } } - } + }) } -function maybeCallback(cb) { - return typeof cb === 'function' ? cb : rethrow(); +function slice (args) { + var length = args.length + var array = [] + + for (var i = 0; i < length; i++) array[i] = args[i] + return array } -var normalize = pathModule.normalize; -// Regexp that finds the next partion of a (partial) path -// result is [base_with_slash, base], e.g. ['somedir/', 'somedir'] -if (isWindows) { - var nextPartRe = /(.*?)(?:[\/\\]+|$)/g; -} else { - var nextPartRe = /(.*?)(?:[\/]+|$)/g; -} +/***/ }), +/* 224 */ +/***/ (function(module, exports) { -// Regex to find the device root, including trailing slash. E.g. 'c:\\'. -if (isWindows) { - var splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/; +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; } else { - var splitRootRe = /^[\/]*/; + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } } -exports.realpathSync = function realpathSync(p, cache) { - // make p is absolute - p = pathModule.resolve(p); - - if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { - return cache[p]; - } - var original = p, - seenLinks = {}, - knownHard = {}; +/***/ }), +/* 225 */, +/* 226 */, +/* 227 */ +/***/ (function(module, exports, __webpack_require__) { - // current character position in p - var pos; - // the partial path so far, including a trailing slash if any - var current; - // the partial path without a trailing slash (except when pointing at a root) - var base; - // the partial path scanned in the previous round, with slash - var previous; +// @flow - start(); +/*:: +declare var __webpack_require__: mixed; +*/ - function start() { - // Skip over roots - var m = splitRootRe.exec(p); - pos = m[0].length; - current = m[0]; - base = m[0]; - previous = ''; +module.exports = typeof __webpack_require__ !== "undefined"; - // On windows, check that the root exists. On unix there is no need. - if (isWindows && !knownHard[base]) { - fs.lstatSync(base); - knownHard[base] = true; - } - } - // walk down the path, swapping out linked pathparts for their real - // values - // NB: p.length changes. - while (pos < p.length) { - // find the next part - nextPartRe.lastIndex = pos; - var result = nextPartRe.exec(p); - previous = current; - current += result[0]; - base = previous + result[1]; - pos = nextPartRe.lastIndex; +/***/ }), +/* 228 */, +/* 229 */ +/***/ (function(module, exports) { - // continue if not a symlink - if (knownHard[base] || (cache && cache[base] === base)) { - continue; - } +/** + * Helpers. + */ - var resolvedLink; - if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { - // some known symbolic link. no need to stat again. - resolvedLink = cache[base]; - } else { - var stat = fs.lstatSync(base); - if (!stat.isSymbolicLink()) { - knownHard[base] = true; - if (cache) cache[base] = base; - continue; - } +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var y = d * 365.25; - // read the link if it wasn't read before - // dev/ino always return 0 on windows, so skip the check. - var linkTarget = null; - if (!isWindows) { - var id = stat.dev.toString(32) + ':' + stat.ino.toString(32); - if (seenLinks.hasOwnProperty(id)) { - linkTarget = seenLinks[id]; - } - } - if (linkTarget === null) { - fs.statSync(base); - linkTarget = fs.readlinkSync(base); - } - resolvedLink = pathModule.resolve(previous, linkTarget); - // track this, if given a cache. - if (cache) cache[base] = resolvedLink; - if (!isWindows) seenLinks[id] = linkTarget; - } +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ - // resolve the link, then start over - p = pathModule.resolve(resolvedLink, p.slice(pos)); - start(); +module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isNaN(val) === false) { + return options.long ? fmtLong(val) : fmtShort(val); } - - if (cache) cache[original] = p; - - return p; + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); }; +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ -exports.realpath = function realpath(p, cache, cb) { - if (typeof cb !== 'function') { - cb = maybeCallback(cache); - cache = null; +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; } +} - // make p is absolute - p = pathModule.resolve(p); +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ - if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { - return process.nextTick(cb.bind(null, null, cache[p])); +function fmtShort(ms) { + if (ms >= d) { + return Math.round(ms / d) + 'd'; } + if (ms >= h) { + return Math.round(ms / h) + 'h'; + } + if (ms >= m) { + return Math.round(ms / m) + 'm'; + } + if (ms >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} - var original = p, - seenLinks = {}, - knownHard = {}; - - // current character position in p - var pos; - // the partial path so far, including a trailing slash if any - var current; - // the partial path without a trailing slash (except when pointing at a root) - var base; - // the partial path scanned in the previous round, with slash - var previous; +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ - start(); +function fmtLong(ms) { + return plural(ms, d, 'day') || + plural(ms, h, 'hour') || + plural(ms, m, 'minute') || + plural(ms, s, 'second') || + ms + ' ms'; +} - function start() { - // Skip over roots - var m = splitRootRe.exec(p); - pos = m[0].length; - current = m[0]; - base = m[0]; - previous = ''; +/** + * Pluralization helper. + */ - // On windows, check that the root exists. On unix there is no need. - if (isWindows && !knownHard[base]) { - fs.lstat(base, function(err) { - if (err) return cb(err); - knownHard[base] = true; - LOOP(); - }); - } else { - process.nextTick(LOOP); - } +function plural(ms, n, name) { + if (ms < n) { + return; } + if (ms < n * 1.5) { + return Math.floor(ms / n) + ' ' + name; + } + return Math.ceil(ms / n) + ' ' + name + 's'; +} - // walk down the path, swapping out linked pathparts for their real - // values - function LOOP() { - // stop if scanned past end of path - if (pos >= p.length) { - if (cache) cache[original] = p; - return cb(null, p); - } - // find the next part - nextPartRe.lastIndex = pos; - var result = nextPartRe.exec(p); - previous = current; - current += result[0]; - base = previous + result[1]; - pos = nextPartRe.lastIndex; +/***/ }), +/* 230 */, +/* 231 */, +/* 232 */, +/* 233 */ +/***/ (function(module, exports, __webpack_require__) { - // continue if not a symlink - if (knownHard[base] || (cache && cache[base] === base)) { - return process.nextTick(LOOP); - } +module.exports = rimraf +rimraf.sync = rimrafSync - if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { - // known symbolic link. no need to stat again. - return gotResolvedLink(cache[base]); - } +var assert = __webpack_require__(22) +var path = __webpack_require__(0) +var fs = __webpack_require__(3) +var glob = __webpack_require__(75) +var _0666 = parseInt('666', 8) - return fs.lstat(base, gotStat); - } +var defaultGlobOpts = { + nosort: true, + silent: true +} - function gotStat(err, stat) { - if (err) return cb(err); +// for EMFILE handling +var timeout = 0 - // if not a symlink, skip to the next path part - if (!stat.isSymbolicLink()) { - knownHard[base] = true; - if (cache) cache[base] = base; - return process.nextTick(LOOP); - } +var isWindows = (process.platform === "win32") - // stat & read the link if not read before - // call gotTarget as soon as the link target is known - // dev/ino always return 0 on windows, so skip the check. - if (!isWindows) { - var id = stat.dev.toString(32) + ':' + stat.ino.toString(32); - if (seenLinks.hasOwnProperty(id)) { - return gotTarget(null, seenLinks[id], base); - } - } - fs.stat(base, function(err) { - if (err) return cb(err); +function defaults (options) { + var methods = [ + 'unlink', + 'chmod', + 'stat', + 'lstat', + 'rmdir', + 'readdir' + ] + methods.forEach(function(m) { + options[m] = options[m] || fs[m] + m = m + 'Sync' + options[m] = options[m] || fs[m] + }) - fs.readlink(base, function(err, target) { - if (!isWindows) seenLinks[id] = target; - gotTarget(err, target); - }); - }); + options.maxBusyTries = options.maxBusyTries || 3 + options.emfileWait = options.emfileWait || 1000 + if (options.glob === false) { + options.disableGlob = true } + options.disableGlob = options.disableGlob || false + options.glob = options.glob || defaultGlobOpts +} - function gotTarget(err, target, base) { - if (err) return cb(err); - - var resolvedLink = pathModule.resolve(previous, target); - if (cache) cache[base] = resolvedLink; - gotResolvedLink(resolvedLink); +function rimraf (p, options, cb) { + if (typeof options === 'function') { + cb = options + options = {} } - function gotResolvedLink(resolvedLink) { - // resolve the link, then start over - p = pathModule.resolve(resolvedLink, p.slice(pos)); - start(); - } -}; + assert(p, 'rimraf: missing path') + assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert.equal(typeof cb, 'function', 'rimraf: callback function required') + assert(options, 'rimraf: invalid options argument provided') + assert.equal(typeof options, 'object', 'rimraf: options should be object') + defaults(options) -/***/ }), -/* 218 */ -/***/ (function(module, exports, __webpack_require__) { + var busyTries = 0 + var errState = null + var n = 0 -module.exports = globSync -globSync.GlobSync = GlobSync + if (options.disableGlob || !glob.hasMagic(p)) + return afterGlob(null, [p]) -var fs = __webpack_require__(3) -var rp = __webpack_require__(114) -var minimatch = __webpack_require__(60) -var Minimatch = minimatch.Minimatch -var Glob = __webpack_require__(75).Glob -var util = __webpack_require__(2) -var path = __webpack_require__(0) -var assert = __webpack_require__(22) -var isAbsolute = __webpack_require__(76) -var common = __webpack_require__(115) -var alphasort = common.alphasort -var alphasorti = common.alphasorti -var setopts = common.setopts -var ownProp = common.ownProp -var childrenIgnored = common.childrenIgnored -var isIgnored = common.isIgnored + options.lstat(p, function (er, stat) { + if (!er) + return afterGlob(null, [p]) -function globSync (pattern, options) { - if (typeof options === 'function' || arguments.length === 3) - throw new TypeError('callback provided to sync glob\n'+ - 'See: https://github.com/isaacs/node-glob/issues/167') + glob(p, options.glob, afterGlob) + }) - return new GlobSync(pattern, options).found -} + function next (er) { + errState = errState || er + if (--n === 0) + cb(errState) + } -function GlobSync (pattern, options) { - if (!pattern) - throw new Error('must provide pattern') + function afterGlob (er, results) { + if (er) + return cb(er) - if (typeof options === 'function' || arguments.length === 3) - throw new TypeError('callback provided to sync glob\n'+ - 'See: https://github.com/isaacs/node-glob/issues/167') + n = results.length + if (n === 0) + return cb() - if (!(this instanceof GlobSync)) - return new GlobSync(pattern, options) + results.forEach(function (p) { + rimraf_(p, options, function CB (er) { + if (er) { + if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && + busyTries < options.maxBusyTries) { + busyTries ++ + var time = busyTries * 100 + // try again, with the same exact callback as this one. + return setTimeout(function () { + rimraf_(p, options, CB) + }, time) + } - setopts(this, pattern, options) + // this one won't happen if graceful-fs is used. + if (er.code === "EMFILE" && timeout < options.emfileWait) { + return setTimeout(function () { + rimraf_(p, options, CB) + }, timeout ++) + } - if (this.noprocess) - return this + // already gone + if (er.code === "ENOENT") er = null + } - var n = this.minimatch.set.length - this.matches = new Array(n) - for (var i = 0; i < n; i ++) { - this._process(this.minimatch.set[i], i, false) + timeout = 0 + next(er) + }) + }) } - this._finish() } -GlobSync.prototype._finish = function () { - assert(this instanceof GlobSync) - if (this.realpath) { - var self = this - this.matches.forEach(function (matchset, index) { - var set = self.matches[index] = Object.create(null) - for (var p in matchset) { - try { - p = self._makeAbs(p) - var real = rp.realpathSync(p, self.realpathCache) - set[real] = true - } catch (er) { - if (er.syscall === 'stat') - set[self._makeAbs(p)] = true - else - throw er - } +// Two possible strategies. +// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR +// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR +// +// Both result in an extra syscall when you guess wrong. However, there +// are likely far more normal files in the world than directories. This +// is based on the assumption that a the average number of files per +// directory is >= 1. +// +// If anyone ever complains about this, then I guess the strategy could +// be made configurable somehow. But until then, YAGNI. +function rimraf_ (p, options, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + + // sunos lets the root user unlink directories, which is... weird. + // so we have to lstat here and make sure it's not a dir. + options.lstat(p, function (er, st) { + if (er && er.code === "ENOENT") + return cb(null) + + // Windows can EPERM on stat. Life is suffering. + if (er && er.code === "EPERM" && isWindows) + fixWinEPERM(p, options, er, cb) + + if (st && st.isDirectory()) + return rmdir(p, options, er, cb) + + options.unlink(p, function (er) { + if (er) { + if (er.code === "ENOENT") + return cb(null) + if (er.code === "EPERM") + return (isWindows) + ? fixWinEPERM(p, options, er, cb) + : rmdir(p, options, er, cb) + if (er.code === "EISDIR") + return rmdir(p, options, er, cb) } + return cb(er) }) - } - common.finish(this) + }) } +function fixWinEPERM (p, options, er, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + if (er) + assert(er instanceof Error) -GlobSync.prototype._process = function (pattern, index, inGlobStar) { - assert(this instanceof GlobSync) + options.chmod(p, _0666, function (er2) { + if (er2) + cb(er2.code === "ENOENT" ? null : er) + else + options.stat(p, function(er3, stats) { + if (er3) + cb(er3.code === "ENOENT" ? null : er) + else if (stats.isDirectory()) + rmdir(p, options, er, cb) + else + options.unlink(p, cb) + }) + }) +} - // Get the first [n] parts of pattern that are all strings. - var n = 0 - while (typeof pattern[n] === 'string') { - n ++ - } - // now n is the index of the first one that is *not* a string. +function fixWinEPERMSync (p, options, er) { + assert(p) + assert(options) + if (er) + assert(er instanceof Error) - // See if there's anything else - var prefix - switch (n) { - // if not, then this is rather simple - case pattern.length: - this._processSimple(pattern.join('/'), index) + try { + options.chmodSync(p, _0666) + } catch (er2) { + if (er2.code === "ENOENT") return + else + throw er + } - case 0: - // pattern *starts* with some non-trivial item. - // going to readdir(cwd), but not include the prefix in matches. - prefix = null - break - - default: - // pattern has some string bits in the front. - // whatever it starts with, whether that's 'absolute' like /foo/bar, - // or 'relative' like '../baz' - prefix = pattern.slice(0, n).join('/') - break + try { + var stats = options.statSync(p) + } catch (er3) { + if (er3.code === "ENOENT") + return + else + throw er } - var remain = pattern.slice(n) + if (stats.isDirectory()) + rmdirSync(p, options, er) + else + options.unlinkSync(p) +} - // get the list of entries. - var read - if (prefix === null) - read = '.' - else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { - if (!prefix || !isAbsolute(prefix)) - prefix = '/' + prefix - read = prefix - } else - read = prefix +function rmdir (p, options, originalEr, cb) { + assert(p) + assert(options) + if (originalEr) + assert(originalEr instanceof Error) + assert(typeof cb === 'function') - var abs = this._makeAbs(read) + // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS) + // if we guessed wrong, and it's not a directory, then + // raise the original error. + options.rmdir(p, function (er) { + if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) + rmkids(p, options, cb) + else if (er && er.code === "ENOTDIR") + cb(originalEr) + else + cb(er) + }) +} - //if ignored, skip processing - if (childrenIgnored(this, read)) - return +function rmkids(p, options, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') - var isGlobStar = remain[0] === minimatch.GLOBSTAR - if (isGlobStar) - this._processGlobStar(prefix, read, abs, remain, index, inGlobStar) - else - this._processReaddir(prefix, read, abs, remain, index, inGlobStar) + options.readdir(p, function (er, files) { + if (er) + return cb(er) + var n = files.length + if (n === 0) + return options.rmdir(p, cb) + var errState + files.forEach(function (f) { + rimraf(path.join(p, f), options, function (er) { + if (errState) + return + if (er) + return cb(errState = er) + if (--n === 0) + options.rmdir(p, cb) + }) + }) + }) } +// this looks simpler, and is strictly *faster*, but will +// tie up the JavaScript thread and fail on excessively +// deep directory trees. +function rimrafSync (p, options) { + options = options || {} + defaults(options) -GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { - var entries = this._readdir(abs, inGlobStar) - - // if the abs isn't a dir, then nothing can match! - if (!entries) - return + assert(p, 'rimraf: missing path') + assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert(options, 'rimraf: missing options') + assert.equal(typeof options, 'object', 'rimraf: options should be object') - // It will only match dot entries if it starts with a dot, or if - // dot is set. Stuff like @(.foo|.bar) isn't allowed. - var pn = remain[0] - var negate = !!this.minimatch.negate - var rawGlob = pn._glob - var dotOk = this.dot || rawGlob.charAt(0) === '.' + var results - var matchedEntries = [] - for (var i = 0; i < entries.length; i++) { - var e = entries[i] - if (e.charAt(0) !== '.' || dotOk) { - var m - if (negate && !prefix) { - m = !e.match(pn) - } else { - m = e.match(pn) - } - if (m) - matchedEntries.push(e) + if (options.disableGlob || !glob.hasMagic(p)) { + results = [p] + } else { + try { + options.lstatSync(p) + results = [p] + } catch (er) { + results = glob.sync(p, options.glob) } } - var len = matchedEntries.length - // If there are no matched entries, then nothing matches. - if (len === 0) + if (!results.length) return - // if this is the last remaining pattern bit, then no need for - // an additional stat *unless* the user has specified mark or - // stat explicitly. We know they exist, since readdir returned - // them. - - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = Object.create(null) + for (var i = 0; i < results.length; i++) { + var p = results[i] - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - if (prefix) { - if (prefix.slice(-1) !== '/') - e = prefix + '/' + e - else - e = prefix + e - } + try { + var st = options.lstatSync(p) + } catch (er) { + if (er.code === "ENOENT") + return - if (e.charAt(0) === '/' && !this.nomount) { - e = path.join(this.root, e) - } - this._emitMatch(index, e) + // Windows can EPERM on stat. Life is suffering. + if (er.code === "EPERM" && isWindows) + fixWinEPERMSync(p, options, er) } - // This was the last one, and no stats were needed - return - } - - // now test all matched entries as stand-ins for that part - // of the pattern. - remain.shift() - for (var i = 0; i < len; i ++) { - var e = matchedEntries[i] - var newPattern - if (prefix) - newPattern = [prefix, e] - else - newPattern = [e] - this._process(newPattern.concat(remain), index, inGlobStar) - } -} - - -GlobSync.prototype._emitMatch = function (index, e) { - if (isIgnored(this, e)) - return - - var abs = this._makeAbs(e) - if (this.mark) - e = this._mark(e) + try { + // sunos lets the root user unlink directories, which is... weird. + if (st && st.isDirectory()) + rmdirSync(p, options, null) + else + options.unlinkSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + if (er.code === "EPERM") + return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er) + if (er.code !== "EISDIR") + throw er - if (this.absolute) { - e = abs + rmdirSync(p, options, er) + } } +} - if (this.matches[index][e]) - return +function rmdirSync (p, options, originalEr) { + assert(p) + assert(options) + if (originalEr) + assert(originalEr instanceof Error) - if (this.nodir) { - var c = this.cache[abs] - if (c === 'DIR' || Array.isArray(c)) + try { + options.rmdirSync(p) + } catch (er) { + if (er.code === "ENOENT") return + if (er.code === "ENOTDIR") + throw originalEr + if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") + rmkidsSync(p, options) } - - this.matches[index][e] = true - - if (this.stat) - this._stat(e) } +function rmkidsSync (p, options) { + assert(p) + assert(options) + options.readdirSync(p).forEach(function (f) { + rimrafSync(path.join(p, f), options) + }) -GlobSync.prototype._readdirInGlobStar = function (abs) { - // follow all symlinked directories forever - // just proceed as if this is a non-globstar situation - if (this.follow) - return this._readdir(abs, false) - - var entries - var lstat - var stat - try { - lstat = fs.lstatSync(abs) - } catch (er) { - if (er.code === 'ENOENT') { - // lstat failed, doesn't exist - return null + // We only end up here once we got ENOTEMPTY at least once, and + // at this point, we are guaranteed to have removed all the kids. + // So, we know that it won't be ENOENT or ENOTDIR or anything else. + // try really hard to delete stuff on windows, because it has a + // PROFOUNDLY annoying habit of not closing handles promptly when + // files are deleted, resulting in spurious ENOTEMPTY errors. + var retries = isWindows ? 100 : 1 + var i = 0 + do { + var threw = true + try { + var ret = options.rmdirSync(p, options) + threw = false + return ret + } finally { + if (++i < retries && threw) + continue } - } + } while (true) +} - var isSym = lstat && lstat.isSymbolicLink() - this.symlinks[abs] = isSym - // If it's not a symlink or a dir, then it's definitely a regular file. - // don't bother doing a readdir in that case. - if (!isSym && lstat && !lstat.isDirectory()) - this.cache[abs] = 'FILE' - else - entries = this._readdir(abs, false) +/***/ }), +/* 234 */, +/* 235 */, +/* 236 */, +/* 237 */, +/* 238 */, +/* 239 */ +/***/ (function(module, exports, __webpack_require__) { - return entries -} +"use strict"; -GlobSync.prototype._readdir = function (abs, inGlobStar) { - var entries +var hasFlag = __webpack_require__(221); - if (inGlobStar && !ownProp(this.symlinks, abs)) - return this._readdirInGlobStar(abs) +var support = function (level) { + if (level === 0) { + return false; + } - if (ownProp(this.cache, abs)) { - var c = this.cache[abs] - if (!c || c === 'FILE') - return null + return { + level: level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +}; - if (Array.isArray(c)) - return c - } +var supportLevel = (function () { + if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + return 0; + } - try { - return this._readdirEntries(abs, fs.readdirSync(abs)) - } catch (er) { - this._readdirError(abs, er) - return null - } -} + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } -GlobSync.prototype._readdirEntries = function (abs, entries) { - // if we haven't asked to stat everything, then just - // assume that everything in there exists, so we can avoid - // having to stat it a second time. - if (!this.mark && !this.stat) { - for (var i = 0; i < entries.length; i ++) { - var e = entries[i] - if (abs === '/') - e = abs + e - else - e = abs + '/' + e - this.cache[e] = true - } - } + if (hasFlag('color=256')) { + return 2; + } - this.cache[abs] = entries + if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + return 1; + } - // mark and cache dir-ness - return entries -} + if (process.stdout && !process.stdout.isTTY) { + return 0; + } -GlobSync.prototype._readdirError = function (f, er) { - // handle errors, and cache the information - switch (er.code) { - case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 - case 'ENOTDIR': // totally normal. means it *does* exist. - var abs = this._makeAbs(f) - this.cache[abs] = 'FILE' - if (abs === this.cwdAbs) { - var error = new Error(er.code + ' invalid cwd ' + this.cwd) - error.path = this.cwd - error.code = er.code - throw error - } - break + if (process.platform === 'win32') { + return 1; + } - case 'ENOENT': // not terribly unusual - case 'ELOOP': - case 'ENAMETOOLONG': - case 'UNKNOWN': - this.cache[this._makeAbs(f)] = false - break + if ('CI' in process.env) { + if ('TRAVIS' in process.env || process.env.CI === 'Travis') { + return 1; + } - default: // some unusual error. Treat as failure. - this.cache[this._makeAbs(f)] = false - if (this.strict) - throw er - if (!this.silent) - console.error('glob error', er) - break - } -} + return 0; + } -GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { + if ('TEAMCITY_VERSION' in process.env) { + return process.env.TEAMCITY_VERSION.match(/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/) === null ? 0 : 1; + } - var entries = this._readdir(abs, inGlobStar) + if (/^(screen|xterm)-256(?:color)?/.test(process.env.TERM)) { + return 2; + } - // no entries means not a dir, so it can never have matches - // foo.txt/** doesn't match foo.txt - if (!entries) - return + if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { + return 1; + } - // test without the globstar, and with every child both below - // and replacing the globstar. - var remainWithoutGlobStar = remain.slice(1) - var gspref = prefix ? [ prefix ] : [] - var noGlobStar = gspref.concat(remainWithoutGlobStar) + if ('COLORTERM' in process.env) { + return 1; + } - // the noGlobStar pattern exits the inGlobStar state - this._process(noGlobStar, index, false) + if (process.env.TERM === 'dumb') { + return 0; + } - var len = entries.length - var isSym = this.symlinks[abs] + return 0; +})(); - // If it's a symlink, and we're in a globstar, then stop - if (isSym && inGlobStar) - return +if (supportLevel === 0 && 'FORCE_COLOR' in process.env) { + supportLevel = 1; +} - for (var i = 0; i < len; i++) { - var e = entries[i] - if (e.charAt(0) === '.' && !this.dot) - continue +module.exports = process && support(supportLevel); - // these two cases enter the inGlobStar state - var instead = gspref.concat(entries[i], remainWithoutGlobStar) - this._process(instead, index, true) - var below = gspref.concat(entries[i], remain) - this._process(below, index, true) - } -} +/***/ }) +/******/ ]); -GlobSync.prototype._processSimple = function (prefix, index) { - // XXX review this. Shouldn't it be doing the mounting etc - // before doing stat? kinda weird? - var exists = this._stat(prefix) +/***/ }), +/* 285 */ +/***/ (function(module, exports) { - if (!this.matches[index]) - this.matches[index] = Object.create(null) +module.exports = require("buffer"); - // If it doesn't exist, then just mark the lack of results - if (!exists) - return +/***/ }), +/* 286 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { - if (prefix && isAbsolute(prefix) && !this.nomount) { - var trail = /[\/\\]$/.test(prefix) - if (prefix.charAt(0) === '/') { - prefix = path.join(this.root, prefix) - } else { - prefix = path.resolve(this.root, prefix) - if (trail) - prefix += '/' - } - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BootstrapCacheFile", function() { return BootstrapCacheFile; }); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(133); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - if (process.platform === 'win32') - prefix = prefix.replace(/\\/g, '/') +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ - // Mark this as a match - this._emitMatch(index, prefix) -} -// Returns either 'DIR', 'FILE', or false -GlobSync.prototype._stat = function (f) { - var abs = this._makeAbs(f) - var needDir = f.slice(-1) === '/' +class BootstrapCacheFile { + constructor(kbn, project, checksums) { + _defineProperty(this, "path", void 0); - if (f.length > this.maxLength) - return false + _defineProperty(this, "expectedValue", void 0); - if (!this.stat && ownProp(this.cache, abs)) { - var c = this.cache[abs] + this.path = path__WEBPACK_IMPORTED_MODULE_1___default.a.resolve(project.targetLocation, '.bootstrap-cache'); - if (Array.isArray(c)) - c = 'DIR' + if (!checksums) { + return; + } - // It exists, but maybe not how we need it - if (!needDir || c === 'DIR') - return c + const projectAndDepCacheKeys = Array.from(kbn.getProjectAndDeps(project.name).values()) // sort deps by name so that the key is stable + .sort((a, b) => a.name.localeCompare(b.name)) // get the cacheKey for each project, return undefined if the cache key couldn't be determined + .map(p => { + const cacheKey = checksums.get(p.name); - if (needDir && c === 'FILE') - return false + if (cacheKey) { + return `${p.name}:${cacheKey}`; + } + }); // if any of the relevant cache keys are undefined then the projectCacheKey must be too - // otherwise we have to stat, because maybe c=true - // if we know it exists, but not what it is. + this.expectedValue = projectAndDepCacheKeys.some(k => !k) ? undefined : [`# this is only human readable for debugging, please don't try to parse this`, ...projectAndDepCacheKeys].join('\n'); } - var exists - var stat = this.statCache[abs] - if (!stat) { - var lstat + isValid() { + if (!this.expectedValue) { + return false; + } + try { - lstat = fs.lstatSync(abs) - } catch (er) { - if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { - this.statCache[abs] = false - return false + return fs__WEBPACK_IMPORTED_MODULE_0___default.a.readFileSync(this.path, 'utf8') === this.expectedValue; + } catch (error) { + if (error.code === 'ENOENT') { + return false; } + + throw error; } + } - if (lstat && lstat.isSymbolicLink()) { - try { - stat = fs.statSync(abs) - } catch (er) { - stat = lstat + delete() { + try { + fs__WEBPACK_IMPORTED_MODULE_0___default.a.unlinkSync(this.path); + } catch (error) { + if (error.code !== 'ENOENT') { + throw error; } - } else { - stat = lstat } } - this.statCache[abs] = stat - - var c = true - if (stat) - c = stat.isDirectory() ? 'DIR' : 'FILE' - - this.cache[abs] = this.cache[abs] || c - - if (needDir && c === 'FILE') - return false - - return c -} + write() { + if (!this.expectedValue) { + return; + } -GlobSync.prototype._mark = function (p) { - return common.mark(this, p) -} + fs__WEBPACK_IMPORTED_MODULE_0___default.a.mkdirSync(path__WEBPACK_IMPORTED_MODULE_1___default.a.dirname(this.path), { + recursive: true + }); + fs__WEBPACK_IMPORTED_MODULE_0___default.a.writeFileSync(this.path, this.expectedValue); + } -GlobSync.prototype._makeAbs = function (f) { - return common.makeAbs(this, f) } - /***/ }), -/* 219 */, -/* 220 */, -/* 221 */ -/***/ (function(module, exports, __webpack_require__) { +/* 287 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CleanCommand", function() { return CleanCommand; }); +/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(288); +/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(375); +/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(ora__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(130); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(143); +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ -module.exports = function (flag, argv) { - argv = argv || process.argv; - var terminatorPos = argv.indexOf('--'); - var prefix = /^--/.test(flag) ? '' : '--'; - var pos = argv.indexOf(prefix + flag); - return pos !== -1 && (terminatorPos !== -1 ? pos < terminatorPos : true); -}; -/***/ }), -/* 222 */, -/* 223 */ -/***/ (function(module, exports, __webpack_require__) { +const CleanCommand = { + description: 'Remove the node_modules and target directories from all projects.', + name: 'clean', -var wrappy = __webpack_require__(123) -var reqs = Object.create(null) -var once = __webpack_require__(61) + async run(projects) { + const toDelete = []; -module.exports = wrappy(inflight) + for (const project of projects.values()) { + if (await Object(_utils_fs__WEBPACK_IMPORTED_MODULE_3__["isDirectory"])(project.nodeModulesLocation)) { + toDelete.push({ + cwd: project.path, + pattern: Object(path__WEBPACK_IMPORTED_MODULE_2__["relative"])(project.path, project.nodeModulesLocation) + }); + } -function inflight (key, cb) { - if (reqs[key]) { - reqs[key].push(cb) - return null - } else { - reqs[key] = [cb] - return makeres(key) - } -} + if (await Object(_utils_fs__WEBPACK_IMPORTED_MODULE_3__["isDirectory"])(project.targetLocation)) { + toDelete.push({ + cwd: project.path, + pattern: Object(path__WEBPACK_IMPORTED_MODULE_2__["relative"])(project.path, project.targetLocation) + }); + } -function makeres (key) { - return once(function RES () { - var cbs = reqs[key] - var len = cbs.length - var args = slice(arguments) + const { + extraPatterns + } = project.getCleanConfig(); - // XXX It's somewhat ambiguous whether a new callback added in this - // pass should be queued for later execution if something in the - // list of callbacks throws, or if it should just be discarded. - // However, it's such an edge case that it hardly matters, and either - // choice is likely as surprising as the other. - // As it happens, we do go ahead and schedule it for later execution. - try { - for (var i = 0; i < len; i++) { - cbs[i].apply(null, args) - } - } finally { - if (cbs.length > len) { - // added more in the interim. - // de-zalgo, just in case, but don't call again. - cbs.splice(0, len) - process.nextTick(function () { - RES.apply(null, args) - }) - } else { - delete reqs[key] + if (extraPatterns) { + toDelete.push({ + cwd: project.path, + pattern: extraPatterns + }); } } - }) -} - -function slice (args) { - var length = args.length - var array = [] - for (var i = 0; i < length; i++) array[i] = args[i] - return array -} + if (toDelete.length === 0) { + _utils_log__WEBPACK_IMPORTED_MODULE_4__["log"].success('Nothing to delete'); + } else { + /** + * In order to avoid patterns like `/build` in packages from accidentally + * impacting files outside the package we use `process.chdir()` to change + * the cwd to the package and execute `del()` without the `force` option + * so it will check that each file being deleted is within the package. + * + * `del()` does support a `cwd` option, but it's only for resolving the + * patterns and does not impact the cwd check. + */ + const originalCwd = process.cwd(); + try { + for (const { + pattern, + cwd + } of toDelete) { + process.chdir(cwd); + const promise = del__WEBPACK_IMPORTED_MODULE_0___default()(pattern); -/***/ }), -/* 224 */ -/***/ (function(module, exports) { + if (_utils_log__WEBPACK_IMPORTED_MODULE_4__["log"].wouldLogLevel('info')) { + ora__WEBPACK_IMPORTED_MODULE_1___default.a.promise(promise, Object(path__WEBPACK_IMPORTED_MODULE_2__["relative"])(originalCwd, Object(path__WEBPACK_IMPORTED_MODULE_2__["join"])(cwd, String(pattern)))); + } -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true + await promise; + } + } finally { + process.chdir(originalCwd); } - }); - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor + } } -} +}; /***/ }), -/* 225 */, -/* 226 */, -/* 227 */ +/* 288 */ /***/ (function(module, exports, __webpack_require__) { -// @flow +"use strict"; -/*:: -declare var __webpack_require__: mixed; -*/ +const {promisify} = __webpack_require__(111); +const path = __webpack_require__(4); +const globby = __webpack_require__(289); +const isGlob = __webpack_require__(367); +const slash = __webpack_require__(365); +const gracefulFs = __webpack_require__(132); +const isPathCwd = __webpack_require__(368); +const isPathInside = __webpack_require__(369); +const rimraf = __webpack_require__(370); +const pMap = __webpack_require__(371); -module.exports = typeof __webpack_require__ !== "undefined"; +const rimrafP = promisify(rimraf); +const rimrafOptions = { + glob: false, + unlink: gracefulFs.unlink, + unlinkSync: gracefulFs.unlinkSync, + chmod: gracefulFs.chmod, + chmodSync: gracefulFs.chmodSync, + stat: gracefulFs.stat, + statSync: gracefulFs.statSync, + lstat: gracefulFs.lstat, + lstatSync: gracefulFs.lstatSync, + rmdir: gracefulFs.rmdir, + rmdirSync: gracefulFs.rmdirSync, + readdir: gracefulFs.readdir, + readdirSync: gracefulFs.readdirSync +}; -/***/ }), -/* 228 */, -/* 229 */ -/***/ (function(module, exports) { +function safeCheck(file, cwd) { + if (isPathCwd(file)) { + throw new Error('Cannot delete the current working directory. Can be overridden with the `force` option.'); + } -/** - * Helpers. - */ + if (!isPathInside(file, cwd)) { + throw new Error('Cannot delete files/directories outside the current working directory. Can be overridden with the `force` option.'); + } +} -var s = 1000; -var m = s * 60; -var h = m * 60; -var d = h * 24; -var y = d * 365.25; - -/** - * Parse or format the given `val`. - * - * Options: - * - * - `long` verbose formatting [false] - * - * @param {String|Number} val - * @param {Object} [options] - * @throws {Error} throw an error if val is not a non-empty string or a number - * @return {String|Number} - * @api public - */ +function normalizePatterns(patterns) { + patterns = Array.isArray(patterns) ? patterns : [patterns]; -module.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === 'string' && val.length > 0) { - return parse(val); - } else if (type === 'number' && isNaN(val) === false) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - 'val is not a non-empty string or a valid number. val=' + - JSON.stringify(val) - ); -}; + patterns = patterns.map(pattern => { + if (process.platform === 'win32' && isGlob(pattern) === false) { + return slash(pattern); + } -/** - * Parse the given `str` and return milliseconds. - * - * @param {String} str - * @return {Number} - * @api private - */ + return pattern; + }); -function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || 'ms').toLowerCase(); - switch (type) { - case 'years': - case 'year': - case 'yrs': - case 'yr': - case 'y': - return n * y; - case 'days': - case 'day': - case 'd': - return n * d; - case 'hours': - case 'hour': - case 'hrs': - case 'hr': - case 'h': - return n * h; - case 'minutes': - case 'minute': - case 'mins': - case 'min': - case 'm': - return n * m; - case 'seconds': - case 'second': - case 'secs': - case 'sec': - case 's': - return n * s; - case 'milliseconds': - case 'millisecond': - case 'msecs': - case 'msec': - case 'ms': - return n; - default: - return undefined; - } + return patterns; } -/** - * Short format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ - -function fmtShort(ms) { - if (ms >= d) { - return Math.round(ms / d) + 'd'; - } - if (ms >= h) { - return Math.round(ms / h) + 'h'; - } - if (ms >= m) { - return Math.round(ms / m) + 'm'; - } - if (ms >= s) { - return Math.round(ms / s) + 's'; - } - return ms + 'ms'; -} +module.exports = async (patterns, {force, dryRun, cwd = process.cwd(), ...options} = {}) => { + options = { + expandDirectories: false, + onlyFiles: false, + followSymbolicLinks: false, + cwd, + ...options + }; -/** - * Long format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ + patterns = normalizePatterns(patterns); -function fmtLong(ms) { - return plural(ms, d, 'day') || - plural(ms, h, 'hour') || - plural(ms, m, 'minute') || - plural(ms, s, 'second') || - ms + ' ms'; -} + const files = (await globby(patterns, options)) + .sort((a, b) => b.localeCompare(a)); -/** - * Pluralization helper. - */ + const mapper = async file => { + file = path.resolve(cwd, file); -function plural(ms, n, name) { - if (ms < n) { - return; - } - if (ms < n * 1.5) { - return Math.floor(ms / n) + ' ' + name; - } - return Math.ceil(ms / n) + ' ' + name + 's'; -} + if (!force) { + safeCheck(file, cwd); + } + if (!dryRun) { + await rimrafP(file, rimrafOptions); + } -/***/ }), -/* 230 */, -/* 231 */, -/* 232 */, -/* 233 */ -/***/ (function(module, exports, __webpack_require__) { + return file; + }; -module.exports = rimraf -rimraf.sync = rimrafSync + const removedFiles = await pMap(files, mapper, options); -var assert = __webpack_require__(22) -var path = __webpack_require__(0) -var fs = __webpack_require__(3) -var glob = __webpack_require__(75) -var _0666 = parseInt('666', 8) + removedFiles.sort((a, b) => a.localeCompare(b)); -var defaultGlobOpts = { - nosort: true, - silent: true -} + return removedFiles; +}; -// for EMFILE handling -var timeout = 0 +module.exports.sync = (patterns, {force, dryRun, cwd = process.cwd(), ...options} = {}) => { + options = { + expandDirectories: false, + onlyFiles: false, + followSymbolicLinks: false, + cwd, + ...options + }; -var isWindows = (process.platform === "win32") + patterns = normalizePatterns(patterns); -function defaults (options) { - var methods = [ - 'unlink', - 'chmod', - 'stat', - 'lstat', - 'rmdir', - 'readdir' - ] - methods.forEach(function(m) { - options[m] = options[m] || fs[m] - m = m + 'Sync' - options[m] = options[m] || fs[m] - }) + const files = globby.sync(patterns, options) + .sort((a, b) => b.localeCompare(a)); - options.maxBusyTries = options.maxBusyTries || 3 - options.emfileWait = options.emfileWait || 1000 - if (options.glob === false) { - options.disableGlob = true - } - options.disableGlob = options.disableGlob || false - options.glob = options.glob || defaultGlobOpts -} + const removedFiles = files.map(file => { + file = path.resolve(cwd, file); -function rimraf (p, options, cb) { - if (typeof options === 'function') { - cb = options - options = {} - } + if (!force) { + safeCheck(file, cwd); + } - assert(p, 'rimraf: missing path') - assert.equal(typeof p, 'string', 'rimraf: path should be a string') - assert.equal(typeof cb, 'function', 'rimraf: callback function required') - assert(options, 'rimraf: invalid options argument provided') - assert.equal(typeof options, 'object', 'rimraf: options should be object') + if (!dryRun) { + rimraf.sync(file, rimrafOptions); + } - defaults(options) + return file; + }); - var busyTries = 0 - var errState = null - var n = 0 + removedFiles.sort((a, b) => a.localeCompare(b)); - if (options.disableGlob || !glob.hasMagic(p)) - return afterGlob(null, [p]) + return removedFiles; +}; - options.lstat(p, function (er, stat) { - if (!er) - return afterGlob(null, [p]) - glob(p, options.glob, afterGlob) - }) +/***/ }), +/* 289 */ +/***/ (function(module, exports, __webpack_require__) { - function next (er) { - errState = errState || er - if (--n === 0) - cb(errState) - } +"use strict"; - function afterGlob (er, results) { - if (er) - return cb(er) +const fs = __webpack_require__(133); +const arrayUnion = __webpack_require__(290); +const merge2 = __webpack_require__(291); +const glob = __webpack_require__(146); +const fastGlob = __webpack_require__(292); +const dirGlob = __webpack_require__(361); +const gitignore = __webpack_require__(363); +const {FilterStream, UniqueStream} = __webpack_require__(366); - n = results.length - if (n === 0) - return cb() +const DEFAULT_FILTER = () => false; - results.forEach(function (p) { - rimraf_(p, options, function CB (er) { - if (er) { - if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && - busyTries < options.maxBusyTries) { - busyTries ++ - var time = busyTries * 100 - // try again, with the same exact callback as this one. - return setTimeout(function () { - rimraf_(p, options, CB) - }, time) - } +const isNegative = pattern => pattern[0] === '!'; - // this one won't happen if graceful-fs is used. - if (er.code === "EMFILE" && timeout < options.emfileWait) { - return setTimeout(function () { - rimraf_(p, options, CB) - }, timeout ++) - } +const assertPatternsInput = patterns => { + if (!patterns.every(pattern => typeof pattern === 'string')) { + throw new TypeError('Patterns must be a string or an array of strings'); + } +}; - // already gone - if (er.code === "ENOENT") er = null - } +const checkCwdOption = (options = {}) => { + if (!options.cwd) { + return; + } - timeout = 0 - next(er) - }) - }) - } -} + let stat; + try { + stat = fs.statSync(options.cwd); + } catch (_) { + return; + } -// Two possible strategies. -// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR -// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR -// -// Both result in an extra syscall when you guess wrong. However, there -// are likely far more normal files in the world than directories. This -// is based on the assumption that a the average number of files per -// directory is >= 1. -// -// If anyone ever complains about this, then I guess the strategy could -// be made configurable somehow. But until then, YAGNI. -function rimraf_ (p, options, cb) { - assert(p) - assert(options) - assert(typeof cb === 'function') + if (!stat.isDirectory()) { + throw new Error('The `cwd` option must be a path to a directory'); + } +}; - // sunos lets the root user unlink directories, which is... weird. - // so we have to lstat here and make sure it's not a dir. - options.lstat(p, function (er, st) { - if (er && er.code === "ENOENT") - return cb(null) +const getPathString = p => p.stats instanceof fs.Stats ? p.path : p; - // Windows can EPERM on stat. Life is suffering. - if (er && er.code === "EPERM" && isWindows) - fixWinEPERM(p, options, er, cb) +const generateGlobTasks = (patterns, taskOptions) => { + patterns = arrayUnion([].concat(patterns)); + assertPatternsInput(patterns); + checkCwdOption(taskOptions); - if (st && st.isDirectory()) - return rmdir(p, options, er, cb) + const globTasks = []; - options.unlink(p, function (er) { - if (er) { - if (er.code === "ENOENT") - return cb(null) - if (er.code === "EPERM") - return (isWindows) - ? fixWinEPERM(p, options, er, cb) - : rmdir(p, options, er, cb) - if (er.code === "EISDIR") - return rmdir(p, options, er, cb) - } - return cb(er) - }) - }) -} + taskOptions = { + ignore: [], + expandDirectories: true, + ...taskOptions + }; -function fixWinEPERM (p, options, er, cb) { - assert(p) - assert(options) - assert(typeof cb === 'function') - if (er) - assert(er instanceof Error) + for (const [index, pattern] of patterns.entries()) { + if (isNegative(pattern)) { + continue; + } - options.chmod(p, _0666, function (er2) { - if (er2) - cb(er2.code === "ENOENT" ? null : er) - else - options.stat(p, function(er3, stats) { - if (er3) - cb(er3.code === "ENOENT" ? null : er) - else if (stats.isDirectory()) - rmdir(p, options, er, cb) - else - options.unlink(p, cb) - }) - }) -} + const ignore = patterns + .slice(index) + .filter(isNegative) + .map(pattern => pattern.slice(1)); -function fixWinEPERMSync (p, options, er) { - assert(p) - assert(options) - if (er) - assert(er instanceof Error) + const options = { + ...taskOptions, + ignore: taskOptions.ignore.concat(ignore) + }; - try { - options.chmodSync(p, _0666) - } catch (er2) { - if (er2.code === "ENOENT") - return - else - throw er - } + globTasks.push({pattern, options}); + } - try { - var stats = options.statSync(p) - } catch (er3) { - if (er3.code === "ENOENT") - return - else - throw er - } + return globTasks; +}; - if (stats.isDirectory()) - rmdirSync(p, options, er) - else - options.unlinkSync(p) -} +const globDirs = (task, fn) => { + let options = {}; + if (task.options.cwd) { + options.cwd = task.options.cwd; + } -function rmdir (p, options, originalEr, cb) { - assert(p) - assert(options) - if (originalEr) - assert(originalEr instanceof Error) - assert(typeof cb === 'function') + if (Array.isArray(task.options.expandDirectories)) { + options = { + ...options, + files: task.options.expandDirectories + }; + } else if (typeof task.options.expandDirectories === 'object') { + options = { + ...options, + ...task.options.expandDirectories + }; + } - // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS) - // if we guessed wrong, and it's not a directory, then - // raise the original error. - options.rmdir(p, function (er) { - if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) - rmkids(p, options, cb) - else if (er && er.code === "ENOTDIR") - cb(originalEr) - else - cb(er) - }) -} + return fn(task.pattern, options); +}; -function rmkids(p, options, cb) { - assert(p) - assert(options) - assert(typeof cb === 'function') +const getPattern = (task, fn) => task.options.expandDirectories ? globDirs(task, fn) : [task.pattern]; - options.readdir(p, function (er, files) { - if (er) - return cb(er) - var n = files.length - if (n === 0) - return options.rmdir(p, cb) - var errState - files.forEach(function (f) { - rimraf(path.join(p, f), options, function (er) { - if (errState) - return - if (er) - return cb(errState = er) - if (--n === 0) - options.rmdir(p, cb) - }) - }) - }) -} +const getFilterSync = options => { + return options && options.gitignore ? + gitignore.sync({cwd: options.cwd, ignore: options.ignore}) : + DEFAULT_FILTER; +}; -// this looks simpler, and is strictly *faster*, but will -// tie up the JavaScript thread and fail on excessively -// deep directory trees. -function rimrafSync (p, options) { - options = options || {} - defaults(options) - - assert(p, 'rimraf: missing path') - assert.equal(typeof p, 'string', 'rimraf: path should be a string') - assert(options, 'rimraf: missing options') - assert.equal(typeof options, 'object', 'rimraf: options should be object') - - var results - - if (options.disableGlob || !glob.hasMagic(p)) { - results = [p] - } else { - try { - options.lstatSync(p) - results = [p] - } catch (er) { - results = glob.sync(p, options.glob) - } - } - - if (!results.length) - return - - for (var i = 0; i < results.length; i++) { - var p = results[i] - - try { - var st = options.lstatSync(p) - } catch (er) { - if (er.code === "ENOENT") - return - - // Windows can EPERM on stat. Life is suffering. - if (er.code === "EPERM" && isWindows) - fixWinEPERMSync(p, options, er) - } - - try { - // sunos lets the root user unlink directories, which is... weird. - if (st && st.isDirectory()) - rmdirSync(p, options, null) - else - options.unlinkSync(p) - } catch (er) { - if (er.code === "ENOENT") - return - if (er.code === "EPERM") - return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er) - if (er.code !== "EISDIR") - throw er - - rmdirSync(p, options, er) - } - } -} - -function rmdirSync (p, options, originalEr) { - assert(p) - assert(options) - if (originalEr) - assert(originalEr instanceof Error) - - try { - options.rmdirSync(p) - } catch (er) { - if (er.code === "ENOENT") - return - if (er.code === "ENOTDIR") - throw originalEr - if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") - rmkidsSync(p, options) - } -} - -function rmkidsSync (p, options) { - assert(p) - assert(options) - options.readdirSync(p).forEach(function (f) { - rimrafSync(path.join(p, f), options) - }) - - // We only end up here once we got ENOTEMPTY at least once, and - // at this point, we are guaranteed to have removed all the kids. - // So, we know that it won't be ENOENT or ENOTDIR or anything else. - // try really hard to delete stuff on windows, because it has a - // PROFOUNDLY annoying habit of not closing handles promptly when - // files are deleted, resulting in spurious ENOTEMPTY errors. - var retries = isWindows ? 100 : 1 - var i = 0 - do { - var threw = true - try { - var ret = options.rmdirSync(p, options) - threw = false - return ret - } finally { - if (++i < retries && threw) - continue - } - } while (true) -} - - -/***/ }), -/* 234 */, -/* 235 */, -/* 236 */, -/* 237 */, -/* 238 */, -/* 239 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var hasFlag = __webpack_require__(221); - -var support = function (level) { - if (level === 0) { - return false; - } +const globToTask = task => glob => { + const {options} = task; + if (options.ignore && Array.isArray(options.ignore) && options.expandDirectories) { + options.ignore = dirGlob.sync(options.ignore); + } return { - level: level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 + pattern: glob, + options }; }; -var supportLevel = (function () { - if (hasFlag('no-color') || - hasFlag('no-colors') || - hasFlag('color=false')) { - return 0; - } +module.exports = async (patterns, options) => { + const globTasks = generateGlobTasks(patterns, options); - if (hasFlag('color=16m') || - hasFlag('color=full') || - hasFlag('color=truecolor')) { - return 3; - } + const getFilter = async () => { + return options && options.gitignore ? + gitignore({cwd: options.cwd, ignore: options.ignore}) : + DEFAULT_FILTER; + }; - if (hasFlag('color=256')) { - return 2; - } + const getTasks = async () => { + const tasks = await Promise.all(globTasks.map(async task => { + const globs = await getPattern(task, dirGlob); + return Promise.all(globs.map(globToTask(task))); + })); - if (hasFlag('color') || - hasFlag('colors') || - hasFlag('color=true') || - hasFlag('color=always')) { - return 1; - } + return arrayUnion(...tasks); + }; - if (process.stdout && !process.stdout.isTTY) { - return 0; - } + const [filter, tasks] = await Promise.all([getFilter(), getTasks()]); + const paths = await Promise.all(tasks.map(task => fastGlob(task.pattern, task.options))); - if (process.platform === 'win32') { - return 1; - } + return arrayUnion(...paths).filter(path_ => !filter(getPathString(path_))); +}; - if ('CI' in process.env) { - if ('TRAVIS' in process.env || process.env.CI === 'Travis') { - return 1; - } +module.exports.sync = (patterns, options) => { + const globTasks = generateGlobTasks(patterns, options); - return 0; - } + const tasks = globTasks.reduce((tasks, task) => { + const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); + return tasks.concat(newTask); + }, []); - if ('TEAMCITY_VERSION' in process.env) { - return process.env.TEAMCITY_VERSION.match(/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/) === null ? 0 : 1; - } + const filter = getFilterSync(options); - if (/^(screen|xterm)-256(?:color)?/.test(process.env.TERM)) { - return 2; - } + return tasks.reduce( + (matches, task) => arrayUnion(matches, fastGlob.sync(task.pattern, task.options)), + [] + ).filter(path_ => !filter(path_)); +}; - if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { - return 1; - } +module.exports.stream = (patterns, options) => { + const globTasks = generateGlobTasks(patterns, options); - if ('COLORTERM' in process.env) { - return 1; - } + const tasks = globTasks.reduce((tasks, task) => { + const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); + return tasks.concat(newTask); + }, []); - if (process.env.TERM === 'dumb') { - return 0; - } + const filter = getFilterSync(options); + const filterStream = new FilterStream(p => !filter(p)); + const uniqueStream = new UniqueStream(); - return 0; -})(); + return merge2(tasks.map(task => fastGlob.stream(task.pattern, task.options))) + .pipe(filterStream) + .pipe(uniqueStream); +}; -if (supportLevel === 0 && 'FORCE_COLOR' in process.env) { - supportLevel = 1; -} +module.exports.generateGlobTasks = generateGlobTasks; -module.exports = process && support(supportLevel); +module.exports.hasMagic = (patterns, options) => [] + .concat(patterns) + .some(pattern => glob.hasMagic(pattern, options)); +module.exports.gitignore = gitignore; -/***/ }) -/******/ ]); /***/ }), -/* 293 */ -/***/ (function(module, exports) { +/* 290 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = (...arguments_) => { + return [...new Set([].concat(...arguments_))]; +}; -module.exports = require("buffer"); /***/ }), -/* 294 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/* 291 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BootstrapCacheFile", function() { return BootstrapCacheFile; }); -/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(133); -/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); -/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 + * merge2 + * https://github.com/teambition/merge2 * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. + * Copyright (c) 2014-2020 Teambition + * Licensed under the MIT license. */ +const Stream = __webpack_require__(137) +const PassThrough = Stream.PassThrough +const slice = Array.prototype.slice +module.exports = merge2 -class BootstrapCacheFile { - constructor(kbn, project, checksums) { - _defineProperty(this, "path", void 0); +function merge2 () { + const streamsQueue = [] + const args = slice.call(arguments) + let merging = false + let options = args[args.length - 1] - _defineProperty(this, "expectedValue", void 0); + if (options && !Array.isArray(options) && options.pipe == null) { + args.pop() + } else { + options = {} + } - this.path = path__WEBPACK_IMPORTED_MODULE_1___default.a.resolve(project.targetLocation, '.bootstrap-cache'); + const doEnd = options.end !== false + const doPipeError = options.pipeError === true + if (options.objectMode == null) { + options.objectMode = true + } + if (options.highWaterMark == null) { + options.highWaterMark = 64 * 1024 + } + const mergedStream = PassThrough(options) - if (!checksums) { - return; + function addStream () { + for (let i = 0, len = arguments.length; i < len; i++) { + streamsQueue.push(pauseStreams(arguments[i], options)) } + mergeStream() + return this + } - const projectAndDepCacheKeys = Array.from(kbn.getProjectAndDeps(project.name).values()) // sort deps by name so that the key is stable - .sort((a, b) => a.name.localeCompare(b.name)) // get the cacheKey for each project, return undefined if the cache key couldn't be determined - .map(p => { - const cacheKey = checksums.get(p.name); + function mergeStream () { + if (merging) { + return + } + merging = true - if (cacheKey) { - return `${p.name}:${cacheKey}`; - } - }); // if any of the relevant cache keys are undefined then the projectCacheKey must be too + let streams = streamsQueue.shift() + if (!streams) { + process.nextTick(endStream) + return + } + if (!Array.isArray(streams)) { + streams = [streams] + } - this.expectedValue = projectAndDepCacheKeys.some(k => !k) ? undefined : [`# this is only human readable for debugging, please don't try to parse this`, ...projectAndDepCacheKeys].join('\n'); - } + let pipesCount = streams.length + 1 - isValid() { - if (!this.expectedValue) { - return false; + function next () { + if (--pipesCount > 0) { + return + } + merging = false + mergeStream() } - try { - return fs__WEBPACK_IMPORTED_MODULE_0___default.a.readFileSync(this.path, 'utf8') === this.expectedValue; - } catch (error) { - if (error.code === 'ENOENT') { - return false; + function pipe (stream) { + function onend () { + stream.removeListener('merge2UnpipeEnd', onend) + stream.removeListener('end', onend) + if (doPipeError) { + stream.removeListener('error', onerror) + } + next() + } + function onerror (err) { + mergedStream.emit('error', err) + } + // skip ended stream + if (stream._readableState.endEmitted) { + return next() } - throw error; - } - } + stream.on('merge2UnpipeEnd', onend) + stream.on('end', onend) - delete() { - try { - fs__WEBPACK_IMPORTED_MODULE_0___default.a.unlinkSync(this.path); - } catch (error) { - if (error.code !== 'ENOENT') { - throw error; + if (doPipeError) { + stream.on('error', onerror) } + + stream.pipe(mergedStream, { end: false }) + // compatible for old stream + stream.resume() + } + + for (let i = 0; i < streams.length; i++) { + pipe(streams[i]) } + + next() } - write() { - if (!this.expectedValue) { - return; + function endStream () { + merging = false + // emit 'queueDrain' when all streams merged. + mergedStream.emit('queueDrain') + if (doEnd) { + mergedStream.end() } + } - fs__WEBPACK_IMPORTED_MODULE_0___default.a.mkdirSync(path__WEBPACK_IMPORTED_MODULE_1___default.a.dirname(this.path), { - recursive: true - }); - fs__WEBPACK_IMPORTED_MODULE_0___default.a.writeFileSync(this.path, this.expectedValue); + mergedStream.setMaxListeners(0) + mergedStream.add = addStream + mergedStream.on('unpipe', function (stream) { + stream.emit('merge2UnpipeEnd') + }) + + if (args.length) { + addStream.apply(null, args) } + return mergedStream +} +// check and pause streams for pipe. +function pauseStreams (streams, options) { + if (!Array.isArray(streams)) { + // Backwards-compat with old-style streams + if (!streams._readableState && streams.pipe) { + streams = streams.pipe(PassThrough(options)) + } + if (!streams._readableState || !streams.pause || !streams.pipe) { + throw new Error('Only readable stream can be merged.') + } + streams.pause() + } else { + for (let i = 0, len = streams.length; i < len; i++) { + streams[i] = pauseStreams(streams[i], options) + } + } + return streams } + /***/ }), -/* 295 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/* 292 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CleanCommand", function() { return CleanCommand; }); -/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(296); -/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(383); -/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(ora__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); -/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(130); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(143); -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - - + +const taskManager = __webpack_require__(293); +const async_1 = __webpack_require__(322); +const stream_1 = __webpack_require__(357); +const sync_1 = __webpack_require__(358); +const settings_1 = __webpack_require__(360); +const utils = __webpack_require__(294); +async function FastGlob(source, options) { + assertPatternsInput(source); + const works = getWorks(source, async_1.default, options); + const result = await Promise.all(works); + return utils.array.flatten(result); +} +// https://github.com/typescript-eslint/typescript-eslint/issues/60 +// eslint-disable-next-line no-redeclare +(function (FastGlob) { + function sync(source, options) { + assertPatternsInput(source); + const works = getWorks(source, sync_1.default, options); + return utils.array.flatten(works); + } + FastGlob.sync = sync; + function stream(source, options) { + assertPatternsInput(source); + const works = getWorks(source, stream_1.default, options); + /** + * The stream returned by the provider cannot work with an asynchronous iterator. + * To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams. + * This affects performance (+25%). I don't see best solution right now. + */ + return utils.stream.merge(works); + } + FastGlob.stream = stream; + function generateTasks(source, options) { + assertPatternsInput(source); + const patterns = [].concat(source); + const settings = new settings_1.default(options); + return taskManager.generate(patterns, settings); + } + FastGlob.generateTasks = generateTasks; + function isDynamicPattern(source, options) { + assertPatternsInput(source); + const settings = new settings_1.default(options); + return utils.pattern.isDynamicPattern(source, settings); + } + FastGlob.isDynamicPattern = isDynamicPattern; + function escapePath(source) { + assertPatternsInput(source); + return utils.path.escape(source); + } + FastGlob.escapePath = escapePath; +})(FastGlob || (FastGlob = {})); +function getWorks(source, _Provider, options) { + const patterns = [].concat(source); + const settings = new settings_1.default(options); + const tasks = taskManager.generate(patterns, settings); + const provider = new _Provider(settings); + return tasks.map(provider.read, provider); +} +function assertPatternsInput(input) { + const source = [].concat(input); + const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item)); + if (!isValidSource) { + throw new TypeError('Patterns must be a string (non empty) or an array of strings'); + } +} +module.exports = FastGlob; +/***/ }), +/* 293 */ +/***/ (function(module, exports, __webpack_require__) { -const CleanCommand = { - description: 'Remove the node_modules and target directories from all projects.', - name: 'clean', +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const utils = __webpack_require__(294); +function generate(patterns, settings) { + const positivePatterns = getPositivePatterns(patterns); + const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); + const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings)); + const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings)); + const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, /* dynamic */ false); + const dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, /* dynamic */ true); + return staticTasks.concat(dynamicTasks); +} +exports.generate = generate; +function convertPatternsToTasks(positive, negative, dynamic) { + const positivePatternsGroup = groupPatternsByBaseDirectory(positive); + // When we have a global group – there is no reason to divide the patterns into independent tasks. + // In this case, the global task covers the rest. + if ('.' in positivePatternsGroup) { + const task = convertPatternGroupToTask('.', positive, negative, dynamic); + return [task]; + } + return convertPatternGroupsToTasks(positivePatternsGroup, negative, dynamic); +} +exports.convertPatternsToTasks = convertPatternsToTasks; +function getPositivePatterns(patterns) { + return utils.pattern.getPositivePatterns(patterns); +} +exports.getPositivePatterns = getPositivePatterns; +function getNegativePatternsAsPositive(patterns, ignore) { + const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore); + const positive = negative.map(utils.pattern.convertToPositivePattern); + return positive; +} +exports.getNegativePatternsAsPositive = getNegativePatternsAsPositive; +function groupPatternsByBaseDirectory(patterns) { + const group = {}; + return patterns.reduce((collection, pattern) => { + const base = utils.pattern.getBaseDirectory(pattern); + if (base in collection) { + collection[base].push(pattern); + } + else { + collection[base] = [pattern]; + } + return collection; + }, group); +} +exports.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory; +function convertPatternGroupsToTasks(positive, negative, dynamic) { + return Object.keys(positive).map((base) => { + return convertPatternGroupToTask(base, positive[base], negative, dynamic); + }); +} +exports.convertPatternGroupsToTasks = convertPatternGroupsToTasks; +function convertPatternGroupToTask(base, positive, negative, dynamic) { + return { + dynamic, + positive, + negative, + base, + patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern)) + }; +} +exports.convertPatternGroupToTask = convertPatternGroupToTask; - async run(projects) { - const toDelete = []; - for (const project of projects.values()) { - if (await Object(_utils_fs__WEBPACK_IMPORTED_MODULE_3__["isDirectory"])(project.nodeModulesLocation)) { - toDelete.push({ - cwd: project.path, - pattern: Object(path__WEBPACK_IMPORTED_MODULE_2__["relative"])(project.path, project.nodeModulesLocation) - }); - } +/***/ }), +/* 294 */ +/***/ (function(module, exports, __webpack_require__) { - if (await Object(_utils_fs__WEBPACK_IMPORTED_MODULE_3__["isDirectory"])(project.targetLocation)) { - toDelete.push({ - cwd: project.path, - pattern: Object(path__WEBPACK_IMPORTED_MODULE_2__["relative"])(project.path, project.targetLocation) - }); - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const array = __webpack_require__(295); +exports.array = array; +const errno = __webpack_require__(296); +exports.errno = errno; +const fs = __webpack_require__(297); +exports.fs = fs; +const path = __webpack_require__(298); +exports.path = path; +const pattern = __webpack_require__(299); +exports.pattern = pattern; +const stream = __webpack_require__(320); +exports.stream = stream; +const string = __webpack_require__(321); +exports.string = string; - const { - extraPatterns - } = project.getCleanConfig(); - if (extraPatterns) { - toDelete.push({ - cwd: project.path, - pattern: extraPatterns - }); - } - } +/***/ }), +/* 295 */ +/***/ (function(module, exports, __webpack_require__) { - if (toDelete.length === 0) { - _utils_log__WEBPACK_IMPORTED_MODULE_4__["log"].success('Nothing to delete'); - } else { - /** - * In order to avoid patterns like `/build` in packages from accidentally - * impacting files outside the package we use `process.chdir()` to change - * the cwd to the package and execute `del()` without the `force` option - * so it will check that each file being deleted is within the package. - * - * `del()` does support a `cwd` option, but it's only for resolving the - * patterns and does not impact the cwd check. - */ - const originalCwd = process.cwd(); +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function flatten(items) { + return items.reduce((collection, item) => [].concat(collection, item), []); +} +exports.flatten = flatten; +function splitWhen(items, predicate) { + const result = [[]]; + let groupIndex = 0; + for (const item of items) { + if (predicate(item)) { + groupIndex++; + result[groupIndex] = []; + } + else { + result[groupIndex].push(item); + } + } + return result; +} +exports.splitWhen = splitWhen; - try { - for (const { - pattern, - cwd - } of toDelete) { - process.chdir(cwd); - const promise = del__WEBPACK_IMPORTED_MODULE_0___default()(pattern); - if (_utils_log__WEBPACK_IMPORTED_MODULE_4__["log"].wouldLogLevel('info')) { - ora__WEBPACK_IMPORTED_MODULE_1___default.a.promise(promise, Object(path__WEBPACK_IMPORTED_MODULE_2__["relative"])(originalCwd, Object(path__WEBPACK_IMPORTED_MODULE_2__["join"])(cwd, String(pattern)))); - } +/***/ }), +/* 296 */ +/***/ (function(module, exports, __webpack_require__) { - await promise; - } - } finally { - process.chdir(originalCwd); - } - } - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function isEnoentCodeError(error) { + return error.code === 'ENOENT'; +} +exports.isEnoentCodeError = isEnoentCodeError; -}; /***/ }), -/* 296 */ +/* 297 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +class DirentFromStats { + constructor(name, stats) { + this.name = name; + this.isBlockDevice = stats.isBlockDevice.bind(stats); + this.isCharacterDevice = stats.isCharacterDevice.bind(stats); + this.isDirectory = stats.isDirectory.bind(stats); + this.isFIFO = stats.isFIFO.bind(stats); + this.isFile = stats.isFile.bind(stats); + this.isSocket = stats.isSocket.bind(stats); + this.isSymbolicLink = stats.isSymbolicLink.bind(stats); + } +} +function createDirentFromStats(name, stats) { + return new DirentFromStats(name, stats); +} +exports.createDirentFromStats = createDirentFromStats; -const {promisify} = __webpack_require__(111); -const path = __webpack_require__(4); -const globby = __webpack_require__(297); -const isGlob = __webpack_require__(375); -const slash = __webpack_require__(373); -const gracefulFs = __webpack_require__(132); -const isPathCwd = __webpack_require__(376); -const isPathInside = __webpack_require__(377); -const rimraf = __webpack_require__(378); -const pMap = __webpack_require__(379); - -const rimrafP = promisify(rimraf); -const rimrafOptions = { - glob: false, - unlink: gracefulFs.unlink, - unlinkSync: gracefulFs.unlinkSync, - chmod: gracefulFs.chmod, - chmodSync: gracefulFs.chmodSync, - stat: gracefulFs.stat, - statSync: gracefulFs.statSync, - lstat: gracefulFs.lstat, - lstatSync: gracefulFs.lstatSync, - rmdir: gracefulFs.rmdir, - rmdirSync: gracefulFs.rmdirSync, - readdir: gracefulFs.readdir, - readdirSync: gracefulFs.readdirSync -}; +/***/ }), +/* 298 */ +/***/ (function(module, exports, __webpack_require__) { -function safeCheck(file, cwd) { - if (isPathCwd(file)) { - throw new Error('Cannot delete the current working directory. Can be overridden with the `force` option.'); - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const path = __webpack_require__(4); +const LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; // ./ or .\\ +const UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g; +/** + * Designed to work only with simple paths: `dir\\file`. + */ +function unixify(filepath) { + return filepath.replace(/\\/g, '/'); +} +exports.unixify = unixify; +function makeAbsolute(cwd, filepath) { + return path.resolve(cwd, filepath); +} +exports.makeAbsolute = makeAbsolute; +function escape(pattern) { + return pattern.replace(UNESCAPED_GLOB_SYMBOLS_RE, '\\$2'); +} +exports.escape = escape; +function removeLeadingDotSegment(entry) { + // We do not use `startsWith` because this is 10x slower than current implementation for some cases. + // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with + if (entry.charAt(0) === '.') { + const secondCharactery = entry.charAt(1); + if (secondCharactery === '/' || secondCharactery === '\\') { + return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT); + } + } + return entry; +} +exports.removeLeadingDotSegment = removeLeadingDotSegment; - if (!isPathInside(file, cwd)) { - throw new Error('Cannot delete files/directories outside the current working directory. Can be overridden with the `force` option.'); - } -} -function normalizePatterns(patterns) { - patterns = Array.isArray(patterns) ? patterns : [patterns]; +/***/ }), +/* 299 */ +/***/ (function(module, exports, __webpack_require__) { - patterns = patterns.map(pattern => { - if (process.platform === 'win32' && isGlob(pattern) === false) { - return slash(pattern); - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const path = __webpack_require__(4); +const globParent = __webpack_require__(300); +const micromatch = __webpack_require__(303); +const picomatch = __webpack_require__(314); +const GLOBSTAR = '**'; +const ESCAPE_SYMBOL = '\\'; +const COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; +const REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[.*]/; +const REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\(.*\|.*\)/; +const GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\(.*\)/; +const BRACE_EXPANSIONS_SYMBOLS_RE = /{.*(?:,|\.\.).*}/; +function isStaticPattern(pattern, options = {}) { + return !isDynamicPattern(pattern, options); +} +exports.isStaticPattern = isStaticPattern; +function isDynamicPattern(pattern, options = {}) { + /** + * When the `caseSensitiveMatch` option is disabled, all patterns must be marked as dynamic, because we cannot check + * filepath directly (without read directory). + */ + if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) { + return true; + } + if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) { + return true; + } + if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) { + return true; + } + if (options.braceExpansion !== false && BRACE_EXPANSIONS_SYMBOLS_RE.test(pattern)) { + return true; + } + return false; +} +exports.isDynamicPattern = isDynamicPattern; +function convertToPositivePattern(pattern) { + return isNegativePattern(pattern) ? pattern.slice(1) : pattern; +} +exports.convertToPositivePattern = convertToPositivePattern; +function convertToNegativePattern(pattern) { + return '!' + pattern; +} +exports.convertToNegativePattern = convertToNegativePattern; +function isNegativePattern(pattern) { + return pattern.startsWith('!') && pattern[1] !== '('; +} +exports.isNegativePattern = isNegativePattern; +function isPositivePattern(pattern) { + return !isNegativePattern(pattern); +} +exports.isPositivePattern = isPositivePattern; +function getNegativePatterns(patterns) { + return patterns.filter(isNegativePattern); +} +exports.getNegativePatterns = getNegativePatterns; +function getPositivePatterns(patterns) { + return patterns.filter(isPositivePattern); +} +exports.getPositivePatterns = getPositivePatterns; +function getBaseDirectory(pattern) { + return globParent(pattern, { flipBackslashes: false }); +} +exports.getBaseDirectory = getBaseDirectory; +function hasGlobStar(pattern) { + return pattern.includes(GLOBSTAR); +} +exports.hasGlobStar = hasGlobStar; +function endsWithSlashGlobStar(pattern) { + return pattern.endsWith('/' + GLOBSTAR); +} +exports.endsWithSlashGlobStar = endsWithSlashGlobStar; +function isAffectDepthOfReadingPattern(pattern) { + const basename = path.basename(pattern); + return endsWithSlashGlobStar(pattern) || isStaticPattern(basename); +} +exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern; +function expandPatternsWithBraceExpansion(patterns) { + return patterns.reduce((collection, pattern) => { + return collection.concat(expandBraceExpansion(pattern)); + }, []); +} +exports.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion; +function expandBraceExpansion(pattern) { + return micromatch.braces(pattern, { + expand: true, + nodupes: true + }); +} +exports.expandBraceExpansion = expandBraceExpansion; +function getPatternParts(pattern, options) { + const info = picomatch.scan(pattern, Object.assign(Object.assign({}, options), { parts: true })); + // See micromatch/picomatch#58 for more details + if (info.parts.length === 0) { + return [pattern]; + } + return info.parts; +} +exports.getPatternParts = getPatternParts; +function makeRe(pattern, options) { + return micromatch.makeRe(pattern, options); +} +exports.makeRe = makeRe; +function convertPatternsToRe(patterns, options) { + return patterns.map((pattern) => makeRe(pattern, options)); +} +exports.convertPatternsToRe = convertPatternsToRe; +function matchAny(entry, patternsRe) { + return patternsRe.some((patternRe) => patternRe.test(entry)); +} +exports.matchAny = matchAny; - return pattern; - }); - return patterns; -} +/***/ }), +/* 300 */ +/***/ (function(module, exports, __webpack_require__) { -module.exports = async (patterns, {force, dryRun, cwd = process.cwd(), ...options} = {}) => { - options = { - expandDirectories: false, - onlyFiles: false, - followSymbolicLinks: false, - cwd, - ...options - }; +"use strict"; - patterns = normalizePatterns(patterns); - const files = (await globby(patterns, options)) - .sort((a, b) => b.localeCompare(a)); +var isGlob = __webpack_require__(301); +var pathPosixDirname = __webpack_require__(4).posix.dirname; +var isWin32 = __webpack_require__(120).platform() === 'win32'; - const mapper = async file => { - file = path.resolve(cwd, file); +var slash = '/'; +var backslash = /\\/g; +var enclosure = /[\{\[].*[\/]*.*[\}\]]$/; +var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; +var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; - if (!force) { - safeCheck(file, cwd); - } +/** + * @param {string} str + * @param {Object} opts + * @param {boolean} [opts.flipBackslashes=true] + */ +module.exports = function globParent(str, opts) { + var options = Object.assign({ flipBackslashes: true }, opts); - if (!dryRun) { - await rimrafP(file, rimrafOptions); - } + // flip windows path separators + if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { + str = str.replace(backslash, slash); + } - return file; - }; + // special case for strings ending in enclosure containing path separator + if (enclosure.test(str)) { + str += slash; + } - const removedFiles = await pMap(files, mapper, options); + // preserves full path in case of trailing path separator + str += 'a'; - removedFiles.sort((a, b) => a.localeCompare(b)); + // remove path parts that are globby + do { + str = pathPosixDirname(str); + } while (isGlob(str) || globby.test(str)); - return removedFiles; + // remove escape chars and return result + return str.replace(escaped, '$1'); }; -module.exports.sync = (patterns, {force, dryRun, cwd = process.cwd(), ...options} = {}) => { - options = { - expandDirectories: false, - onlyFiles: false, - followSymbolicLinks: false, - cwd, - ...options - }; - patterns = normalizePatterns(patterns); +/***/ }), +/* 301 */ +/***/ (function(module, exports, __webpack_require__) { - const files = globby.sync(patterns, options) - .sort((a, b) => b.localeCompare(a)); +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ - const removedFiles = files.map(file => { - file = path.resolve(cwd, file); +var isExtglob = __webpack_require__(302); +var chars = { '{': '}', '(': ')', '[': ']'}; +var strictRegex = /\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; +var relaxedRegex = /\\(.)|(^!|[*?{}()[\]]|\(\?)/; - if (!force) { - safeCheck(file, cwd); - } +module.exports = function isGlob(str, options) { + if (typeof str !== 'string' || str === '') { + return false; + } - if (!dryRun) { - rimraf.sync(file, rimrafOptions); - } + if (isExtglob(str)) { + return true; + } - return file; - }); + var regex = strictRegex; + var match; - removedFiles.sort((a, b) => a.localeCompare(b)); + // optionally relax regex + if (options && options.strict === false) { + regex = relaxedRegex; + } - return removedFiles; + while ((match = regex.exec(str))) { + if (match[2]) return true; + var idx = match.index + match[0].length; + + // if an open bracket/brace/paren is escaped, + // set the index to the next closing character + var open = match[1]; + var close = open ? chars[open] : null; + if (open && close) { + var n = str.indexOf(close, idx); + if (n !== -1) { + idx = n + 1; + } + } + + str = str.slice(idx); + } + return false; }; /***/ }), -/* 297 */ -/***/ (function(module, exports, __webpack_require__) { +/* 302 */ +/***/ (function(module, exports) { -"use strict"; - -const fs = __webpack_require__(133); -const arrayUnion = __webpack_require__(298); -const merge2 = __webpack_require__(299); -const glob = __webpack_require__(146); -const fastGlob = __webpack_require__(300); -const dirGlob = __webpack_require__(369); -const gitignore = __webpack_require__(371); -const {FilterStream, UniqueStream} = __webpack_require__(374); +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ -const DEFAULT_FILTER = () => false; +module.exports = function isExtglob(str) { + if (typeof str !== 'string' || str === '') { + return false; + } -const isNegative = pattern => pattern[0] === '!'; + var match; + while ((match = /(\\).|([@?!+*]\(.*\))/g.exec(str))) { + if (match[2]) return true; + str = str.slice(match.index + match[0].length); + } -const assertPatternsInput = patterns => { - if (!patterns.every(pattern => typeof pattern === 'string')) { - throw new TypeError('Patterns must be a string or an array of strings'); - } + return false; }; -const checkCwdOption = (options = {}) => { - if (!options.cwd) { - return; - } - let stat; - try { - stat = fs.statSync(options.cwd); - } catch (_) { - return; - } +/***/ }), +/* 303 */ +/***/ (function(module, exports, __webpack_require__) { - if (!stat.isDirectory()) { - throw new Error('The `cwd` option must be a path to a directory'); - } -}; +"use strict"; -const getPathString = p => p.stats instanceof fs.Stats ? p.path : p; -const generateGlobTasks = (patterns, taskOptions) => { - patterns = arrayUnion([].concat(patterns)); - assertPatternsInput(patterns); - checkCwdOption(taskOptions); +const util = __webpack_require__(111); +const braces = __webpack_require__(304); +const picomatch = __webpack_require__(314); +const utils = __webpack_require__(317); +const isEmptyString = val => typeof val === 'string' && (val === '' || val === './'); - const globTasks = []; +/** + * Returns an array of strings that match one or more glob patterns. + * + * ```js + * const mm = require('micromatch'); + * // mm(list, patterns[, options]); + * + * console.log(mm(['a.js', 'a.txt'], ['*.js'])); + * //=> [ 'a.js' ] + * ``` + * @param {String|Array} list List of strings to match. + * @param {String|Array} patterns One or more glob patterns to use for matching. + * @param {Object} options See available [options](#options) + * @return {Array} Returns an array of matches + * @summary false + * @api public + */ - taskOptions = { - ignore: [], - expandDirectories: true, - ...taskOptions - }; +const micromatch = (list, patterns, options) => { + patterns = [].concat(patterns); + list = [].concat(list); - for (const [index, pattern] of patterns.entries()) { - if (isNegative(pattern)) { - continue; - } + let omit = new Set(); + let keep = new Set(); + let items = new Set(); + let negatives = 0; - const ignore = patterns - .slice(index) - .filter(isNegative) - .map(pattern => pattern.slice(1)); + let onResult = state => { + items.add(state.output); + if (options && options.onResult) { + options.onResult(state); + } + }; - const options = { - ...taskOptions, - ignore: taskOptions.ignore.concat(ignore) - }; + for (let i = 0; i < patterns.length; i++) { + let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true); + let negated = isMatch.state.negated || isMatch.state.negatedExtglob; + if (negated) negatives++; - globTasks.push({pattern, options}); - } + for (let item of list) { + let matched = isMatch(item, true); - return globTasks; -}; + let match = negated ? !matched.isMatch : matched.isMatch; + if (!match) continue; -const globDirs = (task, fn) => { - let options = {}; - if (task.options.cwd) { - options.cwd = task.options.cwd; - } + if (negated) { + omit.add(matched.output); + } else { + omit.delete(matched.output); + keep.add(matched.output); + } + } + } - if (Array.isArray(task.options.expandDirectories)) { - options = { - ...options, - files: task.options.expandDirectories - }; - } else if (typeof task.options.expandDirectories === 'object') { - options = { - ...options, - ...task.options.expandDirectories - }; - } + let result = negatives === patterns.length ? [...items] : [...keep]; + let matches = result.filter(item => !omit.has(item)); - return fn(task.pattern, options); -}; + if (options && matches.length === 0) { + if (options.failglob === true) { + throw new Error(`No matches found for "${patterns.join(', ')}"`); + } -const getPattern = (task, fn) => task.options.expandDirectories ? globDirs(task, fn) : [task.pattern]; + if (options.nonull === true || options.nullglob === true) { + return options.unescape ? patterns.map(p => p.replace(/\\/g, '')) : patterns; + } + } -const getFilterSync = options => { - return options && options.gitignore ? - gitignore.sync({cwd: options.cwd, ignore: options.ignore}) : - DEFAULT_FILTER; + return matches; }; -const globToTask = task => glob => { - const {options} = task; - if (options.ignore && Array.isArray(options.ignore) && options.expandDirectories) { - options.ignore = dirGlob.sync(options.ignore); - } +/** + * Backwards compatibility + */ - return { - pattern: glob, - options - }; -}; +micromatch.match = micromatch; -module.exports = async (patterns, options) => { - const globTasks = generateGlobTasks(patterns, options); +/** + * Returns a matcher function from the given glob `pattern` and `options`. + * The returned function takes a string to match as its only argument and returns + * true if the string is a match. + * + * ```js + * const mm = require('micromatch'); + * // mm.matcher(pattern[, options]); + * + * const isMatch = mm.matcher('*.!(*a)'); + * console.log(isMatch('a.a')); //=> false + * console.log(isMatch('a.b')); //=> true + * ``` + * @param {String} `pattern` Glob pattern + * @param {Object} `options` + * @return {Function} Returns a matcher function. + * @api public + */ - const getFilter = async () => { - return options && options.gitignore ? - gitignore({cwd: options.cwd, ignore: options.ignore}) : - DEFAULT_FILTER; - }; +micromatch.matcher = (pattern, options) => picomatch(pattern, options); - const getTasks = async () => { - const tasks = await Promise.all(globTasks.map(async task => { - const globs = await getPattern(task, dirGlob); - return Promise.all(globs.map(globToTask(task))); - })); +/** + * Returns true if **any** of the given glob `patterns` match the specified `string`. + * + * ```js + * const mm = require('micromatch'); + * // mm.isMatch(string, patterns[, options]); + * + * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true + * console.log(mm.isMatch('a.a', 'b.*')); //=> false + * ``` + * @param {String} str The string to test. + * @param {String|Array} patterns One or more glob patterns to use for matching. + * @param {Object} [options] See available [options](#options). + * @return {Boolean} Returns true if any patterns match `str` + * @api public + */ - return arrayUnion(...tasks); - }; +micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); - const [filter, tasks] = await Promise.all([getFilter(), getTasks()]); - const paths = await Promise.all(tasks.map(task => fastGlob(task.pattern, task.options))); +/** + * Backwards compatibility + */ - return arrayUnion(...paths).filter(path_ => !filter(getPathString(path_))); -}; +micromatch.any = micromatch.isMatch; -module.exports.sync = (patterns, options) => { - const globTasks = generateGlobTasks(patterns, options); +/** + * Returns a list of strings that _**do not match any**_ of the given `patterns`. + * + * ```js + * const mm = require('micromatch'); + * // mm.not(list, patterns[, options]); + * + * console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a')); + * //=> ['b.b', 'c.c'] + * ``` + * @param {Array} `list` Array of strings to match. + * @param {String|Array} `patterns` One or more glob pattern to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Array} Returns an array of strings that **do not match** the given patterns. + * @api public + */ - const tasks = globTasks.reduce((tasks, task) => { - const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); - return tasks.concat(newTask); - }, []); +micromatch.not = (list, patterns, options = {}) => { + patterns = [].concat(patterns).map(String); + let result = new Set(); + let items = []; - const filter = getFilterSync(options); + let onResult = state => { + if (options.onResult) options.onResult(state); + items.push(state.output); + }; - return tasks.reduce( - (matches, task) => arrayUnion(matches, fastGlob.sync(task.pattern, task.options)), - [] - ).filter(path_ => !filter(path_)); -}; + let matches = micromatch(list, patterns, { ...options, onResult }); -module.exports.stream = (patterns, options) => { - const globTasks = generateGlobTasks(patterns, options); + for (let item of items) { + if (!matches.includes(item)) { + result.add(item); + } + } + return [...result]; +}; - const tasks = globTasks.reduce((tasks, task) => { - const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); - return tasks.concat(newTask); - }, []); +/** + * Returns true if the given `string` contains the given pattern. Similar + * to [.isMatch](#isMatch) but the pattern can match any part of the string. + * + * ```js + * var mm = require('micromatch'); + * // mm.contains(string, pattern[, options]); + * + * console.log(mm.contains('aa/bb/cc', '*b')); + * //=> true + * console.log(mm.contains('aa/bb/cc', '*d')); + * //=> false + * ``` + * @param {String} `str` The string to match. + * @param {String|Array} `patterns` Glob pattern to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if the patter matches any part of `str`. + * @api public + */ - const filter = getFilterSync(options); - const filterStream = new FilterStream(p => !filter(p)); - const uniqueStream = new UniqueStream(); +micromatch.contains = (str, pattern, options) => { + if (typeof str !== 'string') { + throw new TypeError(`Expected a string: "${util.inspect(str)}"`); + } - return merge2(tasks.map(task => fastGlob.stream(task.pattern, task.options))) - .pipe(filterStream) - .pipe(uniqueStream); -}; + if (Array.isArray(pattern)) { + return pattern.some(p => micromatch.contains(str, p, options)); + } -module.exports.generateGlobTasks = generateGlobTasks; + if (typeof pattern === 'string') { + if (isEmptyString(str) || isEmptyString(pattern)) { + return false; + } -module.exports.hasMagic = (patterns, options) => [] - .concat(patterns) - .some(pattern => glob.hasMagic(pattern, options)); + if (str.includes(pattern) || (str.startsWith('./') && str.slice(2).includes(pattern))) { + return true; + } + } -module.exports.gitignore = gitignore; + return micromatch.isMatch(str, pattern, { ...options, contains: true }); +}; +/** + * Filter the keys of the given object with the given `glob` pattern + * and `options`. Does not attempt to match nested keys. If you need this feature, + * use [glob-object][] instead. + * + * ```js + * const mm = require('micromatch'); + * // mm.matchKeys(object, patterns[, options]); + * + * const obj = { aa: 'a', ab: 'b', ac: 'c' }; + * console.log(mm.matchKeys(obj, '*b')); + * //=> { ab: 'b' } + * ``` + * @param {Object} `object` The object with keys to filter. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Object} Returns an object with only keys that match the given patterns. + * @api public + */ -/***/ }), -/* 298 */ -/***/ (function(module, exports, __webpack_require__) { +micromatch.matchKeys = (obj, patterns, options) => { + if (!utils.isObject(obj)) { + throw new TypeError('Expected the first argument to be an object'); + } + let keys = micromatch(Object.keys(obj), patterns, options); + let res = {}; + for (let key of keys) res[key] = obj[key]; + return res; +}; -"use strict"; +/** + * Returns true if some of the strings in the given `list` match any of the given glob `patterns`. + * + * ```js + * const mm = require('micromatch'); + * // mm.some(list, patterns[, options]); + * + * console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); + * // true + * console.log(mm.some(['foo.js'], ['*.js', '!foo.js'])); + * // false + * ``` + * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if any patterns match `str` + * @api public + */ +micromatch.some = (list, patterns, options) => { + let items = [].concat(list); -module.exports = (...arguments_) => { - return [...new Set([].concat(...arguments_))]; + for (let pattern of [].concat(patterns)) { + let isMatch = picomatch(String(pattern), options); + if (items.some(item => isMatch(item))) { + return true; + } + } + return false; }; +/** + * Returns true if every string in the given `list` matches + * any of the given glob `patterns`. + * + * ```js + * const mm = require('micromatch'); + * // mm.every(list, patterns[, options]); + * + * console.log(mm.every('foo.js', ['foo.js'])); + * // true + * console.log(mm.every(['foo.js', 'bar.js'], ['*.js'])); + * // true + * console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); + * // false + * console.log(mm.every(['foo.js'], ['*.js', '!foo.js'])); + * // false + * ``` + * @param {String|Array} `list` The string or array of strings to test. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if any patterns match `str` + * @api public + */ -/***/ }), -/* 299 */ -/***/ (function(module, exports, __webpack_require__) { +micromatch.every = (list, patterns, options) => { + let items = [].concat(list); -"use strict"; + for (let pattern of [].concat(patterns)) { + let isMatch = picomatch(String(pattern), options); + if (!items.every(item => isMatch(item))) { + return false; + } + } + return true; +}; -/* - * merge2 - * https://github.com/teambition/merge2 +/** + * Returns true if **all** of the given `patterns` match + * the specified string. * - * Copyright (c) 2014-2020 Teambition - * Licensed under the MIT license. + * ```js + * const mm = require('micromatch'); + * // mm.all(string, patterns[, options]); + * + * console.log(mm.all('foo.js', ['foo.js'])); + * // true + * + * console.log(mm.all('foo.js', ['*.js', '!foo.js'])); + * // false + * + * console.log(mm.all('foo.js', ['*.js', 'foo.js'])); + * // true + * + * console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js'])); + * // true + * ``` + * @param {String|Array} `str` The string to test. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if any patterns match `str` + * @api public */ -const Stream = __webpack_require__(137) -const PassThrough = Stream.PassThrough -const slice = Array.prototype.slice -module.exports = merge2 +micromatch.all = (str, patterns, options) => { + if (typeof str !== 'string') { + throw new TypeError(`Expected a string: "${util.inspect(str)}"`); + } -function merge2 () { - const streamsQueue = [] - const args = slice.call(arguments) - let merging = false - let options = args[args.length - 1] + return [].concat(patterns).every(p => picomatch(p, options)(str)); +}; - if (options && !Array.isArray(options) && options.pipe == null) { - args.pop() - } else { - options = {} - } +/** + * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match. + * + * ```js + * const mm = require('micromatch'); + * // mm.capture(pattern, string[, options]); + * + * console.log(mm.capture('test/*.js', 'test/foo.js')); + * //=> ['foo'] + * console.log(mm.capture('test/*.js', 'foo/bar.css')); + * //=> null + * ``` + * @param {String} `glob` Glob pattern to use for matching. + * @param {String} `input` String to match + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns an array of captures if the input matches the glob pattern, otherwise `null`. + * @api public + */ - const doEnd = options.end !== false - const doPipeError = options.pipeError === true - if (options.objectMode == null) { - options.objectMode = true - } - if (options.highWaterMark == null) { - options.highWaterMark = 64 * 1024 - } - const mergedStream = PassThrough(options) +micromatch.capture = (glob, input, options) => { + let posix = utils.isWindows(options); + let regex = picomatch.makeRe(String(glob), { ...options, capture: true }); + let match = regex.exec(posix ? utils.toPosixSlashes(input) : input); - function addStream () { - for (let i = 0, len = arguments.length; i < len; i++) { - streamsQueue.push(pauseStreams(arguments[i], options)) - } - mergeStream() - return this + if (match) { + return match.slice(1).map(v => v === void 0 ? '' : v); } +}; - function mergeStream () { - if (merging) { - return - } - merging = true +/** + * Create a regular expression from the given glob `pattern`. + * + * ```js + * const mm = require('micromatch'); + * // mm.makeRe(pattern[, options]); + * + * console.log(mm.makeRe('*.js')); + * //=> /^(?:(\.[\\\/])?(?!\.)(?=.)[^\/]*?\.js)$/ + * ``` + * @param {String} `pattern` A glob pattern to convert to regex. + * @param {Object} `options` + * @return {RegExp} Returns a regex created from the given pattern. + * @api public + */ - let streams = streamsQueue.shift() - if (!streams) { - process.nextTick(endStream) - return - } - if (!Array.isArray(streams)) { - streams = [streams] - } +micromatch.makeRe = (...args) => picomatch.makeRe(...args); - let pipesCount = streams.length + 1 +/** + * Scan a glob pattern to separate the pattern into segments. Used + * by the [split](#split) method. + * + * ```js + * const mm = require('micromatch'); + * const state = mm.scan(pattern[, options]); + * ``` + * @param {String} `pattern` + * @param {Object} `options` + * @return {Object} Returns an object with + * @api public + */ - function next () { - if (--pipesCount > 0) { - return - } - merging = false - mergeStream() +micromatch.scan = (...args) => picomatch.scan(...args); + +/** + * Parse a glob pattern to create the source string for a regular + * expression. + * + * ```js + * const mm = require('micromatch'); + * const state = mm(pattern[, options]); + * ``` + * @param {String} `glob` + * @param {Object} `options` + * @return {Object} Returns an object with useful properties and output to be used as regex source string. + * @api public + */ + +micromatch.parse = (patterns, options) => { + let res = []; + for (let pattern of [].concat(patterns || [])) { + for (let str of braces(String(pattern), options)) { + res.push(picomatch.parse(str, options)); } + } + return res; +}; - function pipe (stream) { - function onend () { - stream.removeListener('merge2UnpipeEnd', onend) - stream.removeListener('end', onend) - if (doPipeError) { - stream.removeListener('error', onerror) - } - next() - } - function onerror (err) { - mergedStream.emit('error', err) - } - // skip ended stream - if (stream._readableState.endEmitted) { - return next() - } +/** + * Process the given brace `pattern`. + * + * ```js + * const { braces } = require('micromatch'); + * console.log(braces('foo/{a,b,c}/bar')); + * //=> [ 'foo/(a|b|c)/bar' ] + * + * console.log(braces('foo/{a,b,c}/bar', { expand: true })); + * //=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ] + * ``` + * @param {String} `pattern` String with brace pattern to process. + * @param {Object} `options` Any [options](#options) to change how expansion is performed. See the [braces][] library for all available options. + * @return {Array} + * @api public + */ - stream.on('merge2UnpipeEnd', onend) - stream.on('end', onend) +micromatch.braces = (pattern, options) => { + if (typeof pattern !== 'string') throw new TypeError('Expected a string'); + if ((options && options.nobrace === true) || !/\{.*\}/.test(pattern)) { + return [pattern]; + } + return braces(pattern, options); +}; - if (doPipeError) { - stream.on('error', onerror) - } +/** + * Expand braces + */ - stream.pipe(mergedStream, { end: false }) - // compatible for old stream - stream.resume() - } +micromatch.braceExpand = (pattern, options) => { + if (typeof pattern !== 'string') throw new TypeError('Expected a string'); + return micromatch.braces(pattern, { ...options, expand: true }); +}; - for (let i = 0; i < streams.length; i++) { - pipe(streams[i]) - } +/** + * Expose micromatch + */ - next() - } +module.exports = micromatch; - function endStream () { - merging = false - // emit 'queueDrain' when all streams merged. - mergedStream.emit('queueDrain') - if (doEnd) { - mergedStream.end() - } - } - mergedStream.setMaxListeners(0) - mergedStream.add = addStream - mergedStream.on('unpipe', function (stream) { - stream.emit('merge2UnpipeEnd') - }) +/***/ }), +/* 304 */ +/***/ (function(module, exports, __webpack_require__) { - if (args.length) { - addStream.apply(null, args) - } - return mergedStream -} +"use strict"; -// check and pause streams for pipe. -function pauseStreams (streams, options) { - if (!Array.isArray(streams)) { - // Backwards-compat with old-style streams - if (!streams._readableState && streams.pipe) { - streams = streams.pipe(PassThrough(options)) - } - if (!streams._readableState || !streams.pause || !streams.pipe) { - throw new Error('Only readable stream can be merged.') + +const stringify = __webpack_require__(305); +const compile = __webpack_require__(307); +const expand = __webpack_require__(311); +const parse = __webpack_require__(312); + +/** + * Expand the given pattern or create a regex-compatible string. + * + * ```js + * const braces = require('braces'); + * console.log(braces('{a,b,c}', { compile: true })); //=> ['(a|b|c)'] + * console.log(braces('{a,b,c}')); //=> ['a', 'b', 'c'] + * ``` + * @param {String} `str` + * @param {Object} `options` + * @return {String} + * @api public + */ + +const braces = (input, options = {}) => { + let output = []; + + if (Array.isArray(input)) { + for (let pattern of input) { + let result = braces.create(pattern, options); + if (Array.isArray(result)) { + output.push(...result); + } else { + output.push(result); + } } - streams.pause() } else { - for (let i = 0, len = streams.length; i < len; i++) { - streams[i] = pauseStreams(streams[i], options) - } + output = [].concat(braces.create(input, options)); } - return streams -} + if (options && options.expand === true && options.nodupes === true) { + output = [...new Set(output)]; + } + return output; +}; -/***/ }), -/* 300 */ -/***/ (function(module, exports, __webpack_require__) { +/** + * Parse the given `str` with the given `options`. + * + * ```js + * // braces.parse(pattern, [, options]); + * const ast = braces.parse('a/{b,c}/d'); + * console.log(ast); + * ``` + * @param {String} pattern Brace pattern to parse + * @param {Object} options + * @return {Object} Returns an AST + * @api public + */ -"use strict"; - -const taskManager = __webpack_require__(301); -const async_1 = __webpack_require__(330); -const stream_1 = __webpack_require__(365); -const sync_1 = __webpack_require__(366); -const settings_1 = __webpack_require__(368); -const utils = __webpack_require__(302); -async function FastGlob(source, options) { - assertPatternsInput(source); - const works = getWorks(source, async_1.default, options); - const result = await Promise.all(works); - return utils.array.flatten(result); -} -// https://github.com/typescript-eslint/typescript-eslint/issues/60 -// eslint-disable-next-line no-redeclare -(function (FastGlob) { - function sync(source, options) { - assertPatternsInput(source); - const works = getWorks(source, sync_1.default, options); - return utils.array.flatten(works); - } - FastGlob.sync = sync; - function stream(source, options) { - assertPatternsInput(source); - const works = getWorks(source, stream_1.default, options); - /** - * The stream returned by the provider cannot work with an asynchronous iterator. - * To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams. - * This affects performance (+25%). I don't see best solution right now. - */ - return utils.stream.merge(works); - } - FastGlob.stream = stream; - function generateTasks(source, options) { - assertPatternsInput(source); - const patterns = [].concat(source); - const settings = new settings_1.default(options); - return taskManager.generate(patterns, settings); - } - FastGlob.generateTasks = generateTasks; - function isDynamicPattern(source, options) { - assertPatternsInput(source); - const settings = new settings_1.default(options); - return utils.pattern.isDynamicPattern(source, settings); - } - FastGlob.isDynamicPattern = isDynamicPattern; - function escapePath(source) { - assertPatternsInput(source); - return utils.path.escape(source); - } - FastGlob.escapePath = escapePath; -})(FastGlob || (FastGlob = {})); -function getWorks(source, _Provider, options) { - const patterns = [].concat(source); - const settings = new settings_1.default(options); - const tasks = taskManager.generate(patterns, settings); - const provider = new _Provider(settings); - return tasks.map(provider.read, provider); -} -function assertPatternsInput(input) { - const source = [].concat(input); - const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item)); - if (!isValidSource) { - throw new TypeError('Patterns must be a string (non empty) or an array of strings'); - } -} -module.exports = FastGlob; +braces.parse = (input, options = {}) => parse(input, options); +/** + * Creates a braces string from an AST, or an AST node. + * + * ```js + * const braces = require('braces'); + * let ast = braces.parse('foo/{a,b}/bar'); + * console.log(stringify(ast.nodes[2])); //=> '{a,b}' + * ``` + * @param {String} `input` Brace pattern or AST. + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ -/***/ }), -/* 301 */ -/***/ (function(module, exports, __webpack_require__) { +braces.stringify = (input, options = {}) => { + if (typeof input === 'string') { + return stringify(braces.parse(input, options), options); + } + return stringify(input, options); +}; -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(302); -function generate(patterns, settings) { - const positivePatterns = getPositivePatterns(patterns); - const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); - const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings)); - const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings)); - const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, /* dynamic */ false); - const dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, /* dynamic */ true); - return staticTasks.concat(dynamicTasks); -} -exports.generate = generate; -function convertPatternsToTasks(positive, negative, dynamic) { - const positivePatternsGroup = groupPatternsByBaseDirectory(positive); - // When we have a global group – there is no reason to divide the patterns into independent tasks. - // In this case, the global task covers the rest. - if ('.' in positivePatternsGroup) { - const task = convertPatternGroupToTask('.', positive, negative, dynamic); - return [task]; - } - return convertPatternGroupsToTasks(positivePatternsGroup, negative, dynamic); -} -exports.convertPatternsToTasks = convertPatternsToTasks; -function getPositivePatterns(patterns) { - return utils.pattern.getPositivePatterns(patterns); -} -exports.getPositivePatterns = getPositivePatterns; -function getNegativePatternsAsPositive(patterns, ignore) { - const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore); - const positive = negative.map(utils.pattern.convertToPositivePattern); - return positive; -} -exports.getNegativePatternsAsPositive = getNegativePatternsAsPositive; -function groupPatternsByBaseDirectory(patterns) { - const group = {}; - return patterns.reduce((collection, pattern) => { - const base = utils.pattern.getBaseDirectory(pattern); - if (base in collection) { - collection[base].push(pattern); - } - else { - collection[base] = [pattern]; - } - return collection; - }, group); -} -exports.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory; -function convertPatternGroupsToTasks(positive, negative, dynamic) { - return Object.keys(positive).map((base) => { - return convertPatternGroupToTask(base, positive[base], negative, dynamic); - }); -} -exports.convertPatternGroupsToTasks = convertPatternGroupsToTasks; -function convertPatternGroupToTask(base, positive, negative, dynamic) { - return { - dynamic, - positive, - negative, - base, - patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern)) - }; -} -exports.convertPatternGroupToTask = convertPatternGroupToTask; +/** + * Compiles a brace pattern into a regex-compatible, optimized string. + * This method is called by the main [braces](#braces) function by default. + * + * ```js + * const braces = require('braces'); + * console.log(braces.compile('a/{b,c}/d')); + * //=> ['a/(b|c)/d'] + * ``` + * @param {String} `input` Brace pattern or AST. + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ +braces.compile = (input, options = {}) => { + if (typeof input === 'string') { + input = braces.parse(input, options); + } + return compile(input, options); +}; -/***/ }), -/* 302 */ -/***/ (function(module, exports, __webpack_require__) { +/** + * Expands a brace pattern into an array. This method is called by the + * main [braces](#braces) function when `options.expand` is true. Before + * using this method it's recommended that you read the [performance notes](#performance)) + * and advantages of using [.compile](#compile) instead. + * + * ```js + * const braces = require('braces'); + * console.log(braces.expand('a/{b,c}/d')); + * //=> ['a/b/d', 'a/c/d']; + * ``` + * @param {String} `pattern` Brace pattern + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const array = __webpack_require__(303); -exports.array = array; -const errno = __webpack_require__(304); -exports.errno = errno; -const fs = __webpack_require__(305); -exports.fs = fs; -const path = __webpack_require__(306); -exports.path = path; -const pattern = __webpack_require__(307); -exports.pattern = pattern; -const stream = __webpack_require__(328); -exports.stream = stream; -const string = __webpack_require__(329); -exports.string = string; +braces.expand = (input, options = {}) => { + if (typeof input === 'string') { + input = braces.parse(input, options); + } + let result = expand(input, options); -/***/ }), -/* 303 */ -/***/ (function(module, exports, __webpack_require__) { + // filter out empty strings if specified + if (options.noempty === true) { + result = result.filter(Boolean); + } -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -function flatten(items) { - return items.reduce((collection, item) => [].concat(collection, item), []); -} -exports.flatten = flatten; -function splitWhen(items, predicate) { - const result = [[]]; - let groupIndex = 0; - for (const item of items) { - if (predicate(item)) { - groupIndex++; - result[groupIndex] = []; - } - else { - result[groupIndex].push(item); - } - } - return result; -} -exports.splitWhen = splitWhen; + // filter out duplicates if specified + if (options.nodupes === true) { + result = [...new Set(result)]; + } + return result; +}; -/***/ }), -/* 304 */ -/***/ (function(module, exports, __webpack_require__) { +/** + * Processes a brace pattern and returns either an expanded array + * (if `options.expand` is true), a highly optimized regex-compatible string. + * This method is called by the main [braces](#braces) function. + * + * ```js + * const braces = require('braces'); + * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}')) + * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)' + * ``` + * @param {String} `pattern` Brace pattern + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -function isEnoentCodeError(error) { - return error.code === 'ENOENT'; -} -exports.isEnoentCodeError = isEnoentCodeError; +braces.create = (input, options = {}) => { + if (input === '' || input.length < 3) { + return [input]; + } + + return options.expand !== true + ? braces.compile(input, options) + : braces.expand(input, options); +}; + +/** + * Expose "braces" + */ + +module.exports = braces; /***/ }), @@ -41854,6159 +41298,6203 @@ exports.isEnoentCodeError = isEnoentCodeError; /***/ (function(module, exports, __webpack_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -class DirentFromStats { - constructor(name, stats) { - this.name = name; - this.isBlockDevice = stats.isBlockDevice.bind(stats); - this.isCharacterDevice = stats.isCharacterDevice.bind(stats); - this.isDirectory = stats.isDirectory.bind(stats); - this.isFIFO = stats.isFIFO.bind(stats); - this.isFile = stats.isFile.bind(stats); - this.isSocket = stats.isSocket.bind(stats); - this.isSymbolicLink = stats.isSymbolicLink.bind(stats); - } -} -function createDirentFromStats(name, stats) { - return new DirentFromStats(name, stats); -} -exports.createDirentFromStats = createDirentFromStats; -/***/ }), -/* 306 */ -/***/ (function(module, exports, __webpack_require__) { +const utils = __webpack_require__(306); -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const path = __webpack_require__(4); -const LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; // ./ or .\\ -const UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g; -/** - * Designed to work only with simple paths: `dir\\file`. - */ -function unixify(filepath) { - return filepath.replace(/\\/g, '/'); -} -exports.unixify = unixify; -function makeAbsolute(cwd, filepath) { - return path.resolve(cwd, filepath); -} -exports.makeAbsolute = makeAbsolute; -function escape(pattern) { - return pattern.replace(UNESCAPED_GLOB_SYMBOLS_RE, '\\$2'); -} -exports.escape = escape; -function removeLeadingDotSegment(entry) { - // We do not use `startsWith` because this is 10x slower than current implementation for some cases. - // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with - if (entry.charAt(0) === '.') { - const secondCharactery = entry.charAt(1); - if (secondCharactery === '/' || secondCharactery === '\\') { - return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT); - } - } - return entry; -} -exports.removeLeadingDotSegment = removeLeadingDotSegment; +module.exports = (ast, options = {}) => { + let stringify = (node, parent = {}) => { + let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); + let invalidNode = node.invalid === true && options.escapeInvalid === true; + let output = ''; + if (node.value) { + if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { + return '\\' + node.value; + } + return node.value; + } -/***/ }), -/* 307 */ -/***/ (function(module, exports, __webpack_require__) { + if (node.value) { + return node.value; + } + + if (node.nodes) { + for (let child of node.nodes) { + output += stringify(child); + } + } + return output; + }; + + return stringify(ast); +}; -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const path = __webpack_require__(4); -const globParent = __webpack_require__(308); -const micromatch = __webpack_require__(311); -const picomatch = __webpack_require__(322); -const GLOBSTAR = '**'; -const ESCAPE_SYMBOL = '\\'; -const COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; -const REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[.*]/; -const REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\(.*\|.*\)/; -const GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\(.*\)/; -const BRACE_EXPANSIONS_SYMBOLS_RE = /{.*(?:,|\.\.).*}/; -function isStaticPattern(pattern, options = {}) { - return !isDynamicPattern(pattern, options); -} -exports.isStaticPattern = isStaticPattern; -function isDynamicPattern(pattern, options = {}) { - /** - * When the `caseSensitiveMatch` option is disabled, all patterns must be marked as dynamic, because we cannot check - * filepath directly (without read directory). - */ - if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) { - return true; - } - if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) { - return true; - } - if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) { - return true; - } - if (options.braceExpansion !== false && BRACE_EXPANSIONS_SYMBOLS_RE.test(pattern)) { - return true; - } - return false; -} -exports.isDynamicPattern = isDynamicPattern; -function convertToPositivePattern(pattern) { - return isNegativePattern(pattern) ? pattern.slice(1) : pattern; -} -exports.convertToPositivePattern = convertToPositivePattern; -function convertToNegativePattern(pattern) { - return '!' + pattern; -} -exports.convertToNegativePattern = convertToNegativePattern; -function isNegativePattern(pattern) { - return pattern.startsWith('!') && pattern[1] !== '('; -} -exports.isNegativePattern = isNegativePattern; -function isPositivePattern(pattern) { - return !isNegativePattern(pattern); -} -exports.isPositivePattern = isPositivePattern; -function getNegativePatterns(patterns) { - return patterns.filter(isNegativePattern); -} -exports.getNegativePatterns = getNegativePatterns; -function getPositivePatterns(patterns) { - return patterns.filter(isPositivePattern); -} -exports.getPositivePatterns = getPositivePatterns; -function getBaseDirectory(pattern) { - return globParent(pattern, { flipBackslashes: false }); -} -exports.getBaseDirectory = getBaseDirectory; -function hasGlobStar(pattern) { - return pattern.includes(GLOBSTAR); -} -exports.hasGlobStar = hasGlobStar; -function endsWithSlashGlobStar(pattern) { - return pattern.endsWith('/' + GLOBSTAR); -} -exports.endsWithSlashGlobStar = endsWithSlashGlobStar; -function isAffectDepthOfReadingPattern(pattern) { - const basename = path.basename(pattern); - return endsWithSlashGlobStar(pattern) || isStaticPattern(basename); -} -exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern; -function expandPatternsWithBraceExpansion(patterns) { - return patterns.reduce((collection, pattern) => { - return collection.concat(expandBraceExpansion(pattern)); - }, []); -} -exports.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion; -function expandBraceExpansion(pattern) { - return micromatch.braces(pattern, { - expand: true, - nodupes: true - }); -} -exports.expandBraceExpansion = expandBraceExpansion; -function getPatternParts(pattern, options) { - const info = picomatch.scan(pattern, Object.assign(Object.assign({}, options), { parts: true })); - // See micromatch/picomatch#58 for more details - if (info.parts.length === 0) { - return [pattern]; - } - return info.parts; -} -exports.getPatternParts = getPatternParts; -function makeRe(pattern, options) { - return micromatch.makeRe(pattern, options); -} -exports.makeRe = makeRe; -function convertPatternsToRe(patterns, options) { - return patterns.map((pattern) => makeRe(pattern, options)); -} -exports.convertPatternsToRe = convertPatternsToRe; -function matchAny(entry, patternsRe) { - return patternsRe.some((patternRe) => patternRe.test(entry)); -} -exports.matchAny = matchAny; /***/ }), -/* 308 */ +/* 306 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isGlob = __webpack_require__(309); -var pathPosixDirname = __webpack_require__(4).posix.dirname; -var isWin32 = __webpack_require__(120).platform() === 'win32'; - -var slash = '/'; -var backslash = /\\/g; -var enclosure = /[\{\[].*[\/]*.*[\}\]]$/; -var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; -var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; +exports.isInteger = num => { + if (typeof num === 'number') { + return Number.isInteger(num); + } + if (typeof num === 'string' && num.trim() !== '') { + return Number.isInteger(Number(num)); + } + return false; +}; /** - * @param {string} str - * @param {Object} opts - * @param {boolean} [opts.flipBackslashes=true] + * Find a node of the given type */ -module.exports = function globParent(str, opts) { - var options = Object.assign({ flipBackslashes: true }, opts); - - // flip windows path separators - if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { - str = str.replace(backslash, slash); - } - - // special case for strings ending in enclosure containing path separator - if (enclosure.test(str)) { - str += slash; - } - // preserves full path in case of trailing path separator - str += 'a'; +exports.find = (node, type) => node.nodes.find(node => node.type === type); - // remove path parts that are globby - do { - str = pathPosixDirname(str); - } while (isGlob(str) || globby.test(str)); +/** + * Find a node of the given type + */ - // remove escape chars and return result - return str.replace(escaped, '$1'); +exports.exceedsLimit = (min, max, step = 1, limit) => { + if (limit === false) return false; + if (!exports.isInteger(min) || !exports.isInteger(max)) return false; + return ((Number(max) - Number(min)) / Number(step)) >= limit; }; - -/***/ }), -/* 309 */ -/***/ (function(module, exports, __webpack_require__) { - -/*! - * is-glob - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. +/** + * Escape the given node with '\\' before node.value */ -var isExtglob = __webpack_require__(310); -var chars = { '{': '}', '(': ')', '[': ']'}; -var strictRegex = /\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; -var relaxedRegex = /\\(.)|(^!|[*?{}()[\]]|\(\?)/; +exports.escapeNode = (block, n = 0, type) => { + let node = block.nodes[n]; + if (!node) return; -module.exports = function isGlob(str, options) { - if (typeof str !== 'string' || str === '') { - return false; + if ((type && node.type === type) || node.type === 'open' || node.type === 'close') { + if (node.escaped !== true) { + node.value = '\\' + node.value; + node.escaped = true; + } } +}; - if (isExtglob(str)) { +/** + * Returns true if the given brace node should be enclosed in literal braces + */ + +exports.encloseBrace = node => { + if (node.type !== 'brace') return false; + if ((node.commas >> 0 + node.ranges >> 0) === 0) { + node.invalid = true; return true; } + return false; +}; - var regex = strictRegex; - var match; +/** + * Returns true if a brace node is invalid. + */ - // optionally relax regex - if (options && options.strict === false) { - regex = relaxedRegex; +exports.isInvalidBrace = block => { + if (block.type !== 'brace') return false; + if (block.invalid === true || block.dollar) return true; + if ((block.commas >> 0 + block.ranges >> 0) === 0) { + block.invalid = true; + return true; } - - while ((match = regex.exec(str))) { - if (match[2]) return true; - var idx = match.index + match[0].length; - - // if an open bracket/brace/paren is escaped, - // set the index to the next closing character - var open = match[1]; - var close = open ? chars[open] : null; - if (open && close) { - var n = str.indexOf(close, idx); - if (n !== -1) { - idx = n + 1; - } - } - - str = str.slice(idx); + if (block.open !== true || block.close !== true) { + block.invalid = true; + return true; } return false; }; +/** + * Returns true if a node is an open or close node + */ -/***/ }), -/* 310 */ -/***/ (function(module, exports) { +exports.isOpenOrClose = node => { + if (node.type === 'open' || node.type === 'close') { + return true; + } + return node.open === true || node.close === true; +}; -/*! - * is-extglob - * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. +/** + * Reduce an array of text nodes. */ -module.exports = function isExtglob(str) { - if (typeof str !== 'string' || str === '') { - return false; - } +exports.reduce = nodes => nodes.reduce((acc, node) => { + if (node.type === 'text') acc.push(node.value); + if (node.type === 'range') node.type = 'text'; + return acc; +}, []); - var match; - while ((match = /(\\).|([@?!+*]\(.*\))/g.exec(str))) { - if (match[2]) return true; - str = str.slice(match.index + match[0].length); - } +/** + * Flatten an array + */ - return false; +exports.flatten = (...args) => { + const result = []; + const flat = arr => { + for (let i = 0; i < arr.length; i++) { + let ele = arr[i]; + Array.isArray(ele) ? flat(ele, result) : ele !== void 0 && result.push(ele); + } + return result; + }; + flat(args); + return result; }; /***/ }), -/* 311 */ +/* 307 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const util = __webpack_require__(111); -const braces = __webpack_require__(312); -const picomatch = __webpack_require__(322); -const utils = __webpack_require__(325); -const isEmptyString = val => typeof val === 'string' && (val === '' || val === './'); - -/** - * Returns an array of strings that match one or more glob patterns. - * - * ```js - * const mm = require('micromatch'); - * // mm(list, patterns[, options]); - * - * console.log(mm(['a.js', 'a.txt'], ['*.js'])); - * //=> [ 'a.js' ] - * ``` - * @param {String|Array} list List of strings to match. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} options See available [options](#options) - * @return {Array} Returns an array of matches - * @summary false - * @api public - */ - -const micromatch = (list, patterns, options) => { - patterns = [].concat(patterns); - list = [].concat(list); +const fill = __webpack_require__(308); +const utils = __webpack_require__(306); - let omit = new Set(); - let keep = new Set(); - let items = new Set(); - let negatives = 0; +const compile = (ast, options = {}) => { + let walk = (node, parent = {}) => { + let invalidBlock = utils.isInvalidBrace(parent); + let invalidNode = node.invalid === true && options.escapeInvalid === true; + let invalid = invalidBlock === true || invalidNode === true; + let prefix = options.escapeInvalid === true ? '\\' : ''; + let output = ''; - let onResult = state => { - items.add(state.output); - if (options && options.onResult) { - options.onResult(state); + if (node.isOpen === true) { + return prefix + node.value; + } + if (node.isClose === true) { + return prefix + node.value; } - }; - for (let i = 0; i < patterns.length; i++) { - let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true); - let negated = isMatch.state.negated || isMatch.state.negatedExtglob; - if (negated) negatives++; + if (node.type === 'open') { + return invalid ? (prefix + node.value) : '('; + } - for (let item of list) { - let matched = isMatch(item, true); + if (node.type === 'close') { + return invalid ? (prefix + node.value) : ')'; + } - let match = negated ? !matched.isMatch : matched.isMatch; - if (!match) continue; + if (node.type === 'comma') { + return node.prev.type === 'comma' ? '' : (invalid ? node.value : '|'); + } - if (negated) { - omit.add(matched.output); - } else { - omit.delete(matched.output); - keep.add(matched.output); - } + if (node.value) { + return node.value; } - } - let result = negatives === patterns.length ? [...items] : [...keep]; - let matches = result.filter(item => !omit.has(item)); + if (node.nodes && node.ranges > 0) { + let args = utils.reduce(node.nodes); + let range = fill(...args, { ...options, wrap: false, toRegex: true }); - if (options && matches.length === 0) { - if (options.failglob === true) { - throw new Error(`No matches found for "${patterns.join(', ')}"`); + if (range.length !== 0) { + return args.length > 1 && range.length > 1 ? `(${range})` : range; + } } - if (options.nonull === true || options.nullglob === true) { - return options.unescape ? patterns.map(p => p.replace(/\\/g, '')) : patterns; + if (node.nodes) { + for (let child of node.nodes) { + output += walk(child, node); + } } - } + return output; + }; - return matches; + return walk(ast); }; -/** - * Backwards compatibility - */ +module.exports = compile; -micromatch.match = micromatch; -/** - * Returns a matcher function from the given glob `pattern` and `options`. - * The returned function takes a string to match as its only argument and returns - * true if the string is a match. - * - * ```js - * const mm = require('micromatch'); - * // mm.matcher(pattern[, options]); +/***/ }), +/* 308 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*! + * fill-range * - * const isMatch = mm.matcher('*.!(*a)'); - * console.log(isMatch('a.a')); //=> false - * console.log(isMatch('a.b')); //=> true - * ``` - * @param {String} `pattern` Glob pattern - * @param {Object} `options` - * @return {Function} Returns a matcher function. - * @api public + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. */ -micromatch.matcher = (pattern, options) => picomatch(pattern, options); -/** - * Returns true if **any** of the given glob `patterns` match the specified `string`. - * - * ```js - * const mm = require('micromatch'); - * // mm.isMatch(string, patterns[, options]); - * - * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true - * console.log(mm.isMatch('a.a', 'b.*')); //=> false - * ``` - * @param {String} str The string to test. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} [options] See available [options](#options). - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ -micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); +const util = __webpack_require__(111); +const toRegexRange = __webpack_require__(309); -/** - * Backwards compatibility - */ +const isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); -micromatch.any = micromatch.isMatch; +const transform = toNumber => { + return value => toNumber === true ? Number(value) : String(value); +}; -/** - * Returns a list of strings that _**do not match any**_ of the given `patterns`. - * - * ```js - * const mm = require('micromatch'); - * // mm.not(list, patterns[, options]); - * - * console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a')); - * //=> ['b.b', 'c.c'] - * ``` - * @param {Array} `list` Array of strings to match. - * @param {String|Array} `patterns` One or more glob pattern to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Array} Returns an array of strings that **do not match** the given patterns. - * @api public - */ +const isValidValue = value => { + return typeof value === 'number' || (typeof value === 'string' && value !== ''); +}; -micromatch.not = (list, patterns, options = {}) => { - patterns = [].concat(patterns).map(String); - let result = new Set(); - let items = []; +const isNumber = num => Number.isInteger(+num); - let onResult = state => { - if (options.onResult) options.onResult(state); - items.push(state.output); - }; +const zeros = input => { + let value = `${input}`; + let index = -1; + if (value[0] === '-') value = value.slice(1); + if (value === '0') return false; + while (value[++index] === '0'); + return index > 0; +}; - let matches = micromatch(list, patterns, { ...options, onResult }); +const stringify = (start, end, options) => { + if (typeof start === 'string' || typeof end === 'string') { + return true; + } + return options.stringify === true; +}; - for (let item of items) { - if (!matches.includes(item)) { - result.add(item); - } +const pad = (input, maxLength, toNumber) => { + if (maxLength > 0) { + let dash = input[0] === '-' ? '-' : ''; + if (dash) input = input.slice(1); + input = (dash + input.padStart(dash ? maxLength - 1 : maxLength, '0')); } - return [...result]; + if (toNumber === false) { + return String(input); + } + return input; }; -/** - * Returns true if the given `string` contains the given pattern. Similar - * to [.isMatch](#isMatch) but the pattern can match any part of the string. - * - * ```js - * var mm = require('micromatch'); - * // mm.contains(string, pattern[, options]); - * - * console.log(mm.contains('aa/bb/cc', '*b')); - * //=> true - * console.log(mm.contains('aa/bb/cc', '*d')); - * //=> false - * ``` - * @param {String} `str` The string to match. - * @param {String|Array} `patterns` Glob pattern to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if the patter matches any part of `str`. - * @api public - */ +const toMaxLen = (input, maxLength) => { + let negative = input[0] === '-' ? '-' : ''; + if (negative) { + input = input.slice(1); + maxLength--; + } + while (input.length < maxLength) input = '0' + input; + return negative ? ('-' + input) : input; +}; -micromatch.contains = (str, pattern, options) => { - if (typeof str !== 'string') { - throw new TypeError(`Expected a string: "${util.inspect(str)}"`); +const toSequence = (parts, options) => { + parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); + parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); + + let prefix = options.capture ? '' : '?:'; + let positives = ''; + let negatives = ''; + let result; + + if (parts.positives.length) { + positives = parts.positives.join('|'); } - if (Array.isArray(pattern)) { - return pattern.some(p => micromatch.contains(str, p, options)); + if (parts.negatives.length) { + negatives = `-(${prefix}${parts.negatives.join('|')})`; } - if (typeof pattern === 'string') { - if (isEmptyString(str) || isEmptyString(pattern)) { - return false; - } + if (positives && negatives) { + result = `${positives}|${negatives}`; + } else { + result = positives || negatives; + } - if (str.includes(pattern) || (str.startsWith('./') && str.slice(2).includes(pattern))) { - return true; - } + if (options.wrap) { + return `(${prefix}${result})`; } - return micromatch.isMatch(str, pattern, { ...options, contains: true }); + return result; }; -/** - * Filter the keys of the given object with the given `glob` pattern - * and `options`. Does not attempt to match nested keys. If you need this feature, - * use [glob-object][] instead. - * - * ```js - * const mm = require('micromatch'); - * // mm.matchKeys(object, patterns[, options]); - * - * const obj = { aa: 'a', ab: 'b', ac: 'c' }; - * console.log(mm.matchKeys(obj, '*b')); - * //=> { ab: 'b' } - * ``` - * @param {Object} `object` The object with keys to filter. - * @param {String|Array} `patterns` One or more glob patterns to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Object} Returns an object with only keys that match the given patterns. - * @api public - */ - -micromatch.matchKeys = (obj, patterns, options) => { - if (!utils.isObject(obj)) { - throw new TypeError('Expected the first argument to be an object'); +const toRange = (a, b, isNumbers, options) => { + if (isNumbers) { + return toRegexRange(a, b, { wrap: false, ...options }); } - let keys = micromatch(Object.keys(obj), patterns, options); - let res = {}; - for (let key of keys) res[key] = obj[key]; - return res; -}; -/** - * Returns true if some of the strings in the given `list` match any of the given glob `patterns`. - * - * ```js - * const mm = require('micromatch'); - * // mm.some(list, patterns[, options]); - * - * console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); - * // true - * console.log(mm.some(['foo.js'], ['*.js', '!foo.js'])); - * // false - * ``` - * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found. - * @param {String|Array} `patterns` One or more glob patterns to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ + let start = String.fromCharCode(a); + if (a === b) return start; -micromatch.some = (list, patterns, options) => { - let items = [].concat(list); + let stop = String.fromCharCode(b); + return `[${start}-${stop}]`; +}; - for (let pattern of [].concat(patterns)) { - let isMatch = picomatch(String(pattern), options); - if (items.some(item => isMatch(item))) { - return true; - } +const toRegex = (start, end, options) => { + if (Array.isArray(start)) { + let wrap = options.wrap === true; + let prefix = options.capture ? '' : '?:'; + return wrap ? `(${prefix}${start.join('|')})` : start.join('|'); } - return false; + return toRegexRange(start, end, options); }; -/** - * Returns true if every string in the given `list` matches - * any of the given glob `patterns`. - * - * ```js - * const mm = require('micromatch'); - * // mm.every(list, patterns[, options]); - * - * console.log(mm.every('foo.js', ['foo.js'])); - * // true - * console.log(mm.every(['foo.js', 'bar.js'], ['*.js'])); - * // true - * console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); - * // false - * console.log(mm.every(['foo.js'], ['*.js', '!foo.js'])); - * // false - * ``` - * @param {String|Array} `list` The string or array of strings to test. - * @param {String|Array} `patterns` One or more glob patterns to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ +const rangeError = (...args) => { + return new RangeError('Invalid range arguments: ' + util.inspect(...args)); +}; -micromatch.every = (list, patterns, options) => { - let items = [].concat(list); +const invalidRange = (start, end, options) => { + if (options.strictRanges === true) throw rangeError([start, end]); + return []; +}; - for (let pattern of [].concat(patterns)) { - let isMatch = picomatch(String(pattern), options); - if (!items.every(item => isMatch(item))) { - return false; - } +const invalidStep = (step, options) => { + if (options.strictRanges === true) { + throw new TypeError(`Expected step "${step}" to be a number`); } - return true; + return []; }; -/** - * Returns true if **all** of the given `patterns` match - * the specified string. - * - * ```js - * const mm = require('micromatch'); - * // mm.all(string, patterns[, options]); - * - * console.log(mm.all('foo.js', ['foo.js'])); - * // true - * - * console.log(mm.all('foo.js', ['*.js', '!foo.js'])); - * // false - * - * console.log(mm.all('foo.js', ['*.js', 'foo.js'])); - * // true - * - * console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js'])); - * // true - * ``` - * @param {String|Array} `str` The string to test. - * @param {String|Array} `patterns` One or more glob patterns to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ +const fillNumbers = (start, end, step = 1, options = {}) => { + let a = Number(start); + let b = Number(end); -micromatch.all = (str, patterns, options) => { - if (typeof str !== 'string') { - throw new TypeError(`Expected a string: "${util.inspect(str)}"`); + if (!Number.isInteger(a) || !Number.isInteger(b)) { + if (options.strictRanges === true) throw rangeError([start, end]); + return []; } - return [].concat(patterns).every(p => picomatch(p, options)(str)); -}; + // fix negative zero + if (a === 0) a = 0; + if (b === 0) b = 0; -/** - * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match. - * - * ```js - * const mm = require('micromatch'); - * // mm.capture(pattern, string[, options]); - * - * console.log(mm.capture('test/*.js', 'test/foo.js')); - * //=> ['foo'] - * console.log(mm.capture('test/*.js', 'foo/bar.css')); - * //=> null - * ``` - * @param {String} `glob` Glob pattern to use for matching. - * @param {String} `input` String to match - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns an array of captures if the input matches the glob pattern, otherwise `null`. - * @api public - */ + let descending = a > b; + let startString = String(start); + let endString = String(end); + let stepString = String(step); + step = Math.max(Math.abs(step), 1); -micromatch.capture = (glob, input, options) => { - let posix = utils.isWindows(options); - let regex = picomatch.makeRe(String(glob), { ...options, capture: true }); - let match = regex.exec(posix ? utils.toPosixSlashes(input) : input); + let padded = zeros(startString) || zeros(endString) || zeros(stepString); + let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; + let toNumber = padded === false && stringify(start, end, options) === false; + let format = options.transform || transform(toNumber); - if (match) { - return match.slice(1).map(v => v === void 0 ? '' : v); + if (options.toRegex && step === 1) { + return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options); + } + + let parts = { negatives: [], positives: [] }; + let push = num => parts[num < 0 ? 'negatives' : 'positives'].push(Math.abs(num)); + let range = []; + let index = 0; + + while (descending ? a >= b : a <= b) { + if (options.toRegex === true && step > 1) { + push(a); + } else { + range.push(pad(format(a, index), maxLen, toNumber)); + } + a = descending ? a - step : a + step; + index++; + } + + if (options.toRegex === true) { + return step > 1 + ? toSequence(parts, options) + : toRegex(range, null, { wrap: false, ...options }); } + + return range; }; -/** - * Create a regular expression from the given glob `pattern`. - * - * ```js - * const mm = require('micromatch'); - * // mm.makeRe(pattern[, options]); - * - * console.log(mm.makeRe('*.js')); - * //=> /^(?:(\.[\\\/])?(?!\.)(?=.)[^\/]*?\.js)$/ - * ``` - * @param {String} `pattern` A glob pattern to convert to regex. - * @param {Object} `options` - * @return {RegExp} Returns a regex created from the given pattern. - * @api public - */ +const fillLetters = (start, end, step = 1, options = {}) => { + if ((!isNumber(start) && start.length > 1) || (!isNumber(end) && end.length > 1)) { + return invalidRange(start, end, options); + } -micromatch.makeRe = (...args) => picomatch.makeRe(...args); -/** - * Scan a glob pattern to separate the pattern into segments. Used - * by the [split](#split) method. - * - * ```js - * const mm = require('micromatch'); - * const state = mm.scan(pattern[, options]); - * ``` - * @param {String} `pattern` - * @param {Object} `options` - * @return {Object} Returns an object with - * @api public - */ + let format = options.transform || (val => String.fromCharCode(val)); + let a = `${start}`.charCodeAt(0); + let b = `${end}`.charCodeAt(0); -micromatch.scan = (...args) => picomatch.scan(...args); + let descending = a > b; + let min = Math.min(a, b); + let max = Math.max(a, b); -/** - * Parse a glob pattern to create the source string for a regular - * expression. - * - * ```js - * const mm = require('micromatch'); - * const state = mm(pattern[, options]); - * ``` - * @param {String} `glob` - * @param {Object} `options` - * @return {Object} Returns an object with useful properties and output to be used as regex source string. - * @api public - */ + if (options.toRegex && step === 1) { + return toRange(min, max, false, options); + } -micromatch.parse = (patterns, options) => { - let res = []; - for (let pattern of [].concat(patterns || [])) { - for (let str of braces(String(pattern), options)) { - res.push(picomatch.parse(str, options)); - } + let range = []; + let index = 0; + + while (descending ? a >= b : a <= b) { + range.push(format(a, index)); + a = descending ? a - step : a + step; + index++; } - return res; + + if (options.toRegex === true) { + return toRegex(range, null, { wrap: false, options }); + } + + return range; }; -/** - * Process the given brace `pattern`. - * - * ```js - * const { braces } = require('micromatch'); - * console.log(braces('foo/{a,b,c}/bar')); - * //=> [ 'foo/(a|b|c)/bar' ] - * - * console.log(braces('foo/{a,b,c}/bar', { expand: true })); - * //=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ] - * ``` - * @param {String} `pattern` String with brace pattern to process. - * @param {Object} `options` Any [options](#options) to change how expansion is performed. See the [braces][] library for all available options. - * @return {Array} - * @api public - */ +const fill = (start, end, step, options = {}) => { + if (end == null && isValidValue(start)) { + return [start]; + } -micromatch.braces = (pattern, options) => { - if (typeof pattern !== 'string') throw new TypeError('Expected a string'); - if ((options && options.nobrace === true) || !/\{.*\}/.test(pattern)) { - return [pattern]; + if (!isValidValue(start) || !isValidValue(end)) { + return invalidRange(start, end, options); } - return braces(pattern, options); -}; -/** - * Expand braces - */ + if (typeof step === 'function') { + return fill(start, end, 1, { transform: step }); + } -micromatch.braceExpand = (pattern, options) => { - if (typeof pattern !== 'string') throw new TypeError('Expected a string'); - return micromatch.braces(pattern, { ...options, expand: true }); -}; + if (isObject(step)) { + return fill(start, end, 0, step); + } -/** - * Expose micromatch - */ + let opts = { ...options }; + if (opts.capture === true) opts.wrap = true; + step = step || opts.step || 1; -module.exports = micromatch; + if (!isNumber(step)) { + if (step != null && !isObject(step)) return invalidStep(step, opts); + return fill(start, end, 1, step); + } + + if (isNumber(start) && isNumber(end)) { + return fillNumbers(start, end, step, opts); + } + + return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); +}; + +module.exports = fill; /***/ }), -/* 312 */ +/* 309 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ -const stringify = __webpack_require__(313); -const compile = __webpack_require__(315); -const expand = __webpack_require__(319); -const parse = __webpack_require__(320); -/** - * Expand the given pattern or create a regex-compatible string. - * - * ```js - * const braces = require('braces'); - * console.log(braces('{a,b,c}', { compile: true })); //=> ['(a|b|c)'] - * console.log(braces('{a,b,c}')); //=> ['a', 'b', 'c'] - * ``` - * @param {String} `str` - * @param {Object} `options` - * @return {String} - * @api public - */ +const isNumber = __webpack_require__(310); -const braces = (input, options = {}) => { - let output = []; +const toRegexRange = (min, max, options) => { + if (isNumber(min) === false) { + throw new TypeError('toRegexRange: expected the first argument to be a number'); + } - if (Array.isArray(input)) { - for (let pattern of input) { - let result = braces.create(pattern, options); - if (Array.isArray(result)) { - output.push(...result); - } else { - output.push(result); - } - } - } else { - output = [].concat(braces.create(input, options)); + if (max === void 0 || min === max) { + return String(min); } - if (options && options.expand === true && options.nodupes === true) { - output = [...new Set(output)]; + if (isNumber(max) === false) { + throw new TypeError('toRegexRange: expected the second argument to be a number.'); } - return output; -}; -/** - * Parse the given `str` with the given `options`. - * - * ```js - * // braces.parse(pattern, [, options]); - * const ast = braces.parse('a/{b,c}/d'); - * console.log(ast); - * ``` - * @param {String} pattern Brace pattern to parse - * @param {Object} options - * @return {Object} Returns an AST - * @api public - */ - -braces.parse = (input, options = {}) => parse(input, options); + let opts = { relaxZeros: true, ...options }; + if (typeof opts.strictZeros === 'boolean') { + opts.relaxZeros = opts.strictZeros === false; + } -/** - * Creates a braces string from an AST, or an AST node. - * - * ```js - * const braces = require('braces'); - * let ast = braces.parse('foo/{a,b}/bar'); - * console.log(stringify(ast.nodes[2])); //=> '{a,b}' - * ``` - * @param {String} `input` Brace pattern or AST. - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ + let relax = String(opts.relaxZeros); + let shorthand = String(opts.shorthand); + let capture = String(opts.capture); + let wrap = String(opts.wrap); + let cacheKey = min + ':' + max + '=' + relax + shorthand + capture + wrap; -braces.stringify = (input, options = {}) => { - if (typeof input === 'string') { - return stringify(braces.parse(input, options), options); + if (toRegexRange.cache.hasOwnProperty(cacheKey)) { + return toRegexRange.cache[cacheKey].result; } - return stringify(input, options); -}; -/** - * Compiles a brace pattern into a regex-compatible, optimized string. - * This method is called by the main [braces](#braces) function by default. - * - * ```js - * const braces = require('braces'); - * console.log(braces.compile('a/{b,c}/d')); - * //=> ['a/(b|c)/d'] - * ``` - * @param {String} `input` Brace pattern or AST. - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ + let a = Math.min(min, max); + let b = Math.max(min, max); -braces.compile = (input, options = {}) => { - if (typeof input === 'string') { - input = braces.parse(input, options); + if (Math.abs(a - b) === 1) { + let result = min + '|' + max; + if (opts.capture) { + return `(${result})`; + } + if (opts.wrap === false) { + return result; + } + return `(?:${result})`; } - return compile(input, options); -}; -/** - * Expands a brace pattern into an array. This method is called by the - * main [braces](#braces) function when `options.expand` is true. Before - * using this method it's recommended that you read the [performance notes](#performance)) - * and advantages of using [.compile](#compile) instead. - * - * ```js - * const braces = require('braces'); - * console.log(braces.expand('a/{b,c}/d')); - * //=> ['a/b/d', 'a/c/d']; - * ``` - * @param {String} `pattern` Brace pattern - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ + let isPadded = hasPadding(min) || hasPadding(max); + let state = { min, max, a, b }; + let positives = []; + let negatives = []; -braces.expand = (input, options = {}) => { - if (typeof input === 'string') { - input = braces.parse(input, options); + if (isPadded) { + state.isPadded = isPadded; + state.maxLen = String(state.max).length; } - let result = expand(input, options); + if (a < 0) { + let newMin = b < 0 ? Math.abs(b) : 1; + negatives = splitToPatterns(newMin, Math.abs(a), state, opts); + a = state.a = 0; + } - // filter out empty strings if specified - if (options.noempty === true) { - result = result.filter(Boolean); + if (b >= 0) { + positives = splitToPatterns(a, b, state, opts); } - // filter out duplicates if specified - if (options.nodupes === true) { - result = [...new Set(result)]; + state.negatives = negatives; + state.positives = positives; + state.result = collatePatterns(negatives, positives, opts); + + if (opts.capture === true) { + state.result = `(${state.result})`; + } else if (opts.wrap !== false && (positives.length + negatives.length) > 1) { + state.result = `(?:${state.result})`; } - return result; + toRegexRange.cache[cacheKey] = state; + return state.result; }; -/** - * Processes a brace pattern and returns either an expanded array - * (if `options.expand` is true), a highly optimized regex-compatible string. - * This method is called by the main [braces](#braces) function. - * - * ```js - * const braces = require('braces'); - * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}')) - * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)' - * ``` - * @param {String} `pattern` Brace pattern - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ +function collatePatterns(neg, pos, options) { + let onlyNegative = filterPatterns(neg, pos, '-', false, options) || []; + let onlyPositive = filterPatterns(pos, neg, '', false, options) || []; + let intersected = filterPatterns(neg, pos, '-?', true, options) || []; + let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); + return subpatterns.join('|'); +} -braces.create = (input, options = {}) => { - if (input === '' || input.length < 3) { - return [input]; +function splitToRanges(min, max) { + let nines = 1; + let zeros = 1; + + let stop = countNines(min, nines); + let stops = new Set([max]); + + while (min <= stop && stop <= max) { + stops.add(stop); + nines += 1; + stop = countNines(min, nines); } - return options.expand !== true - ? braces.compile(input, options) - : braces.expand(input, options); -}; + stop = countZeros(max + 1, zeros) - 1; + + while (min < stop && stop <= max) { + stops.add(stop); + zeros += 1; + stop = countZeros(max + 1, zeros) - 1; + } + + stops = [...stops]; + stops.sort(compare); + return stops; +} /** - * Expose "braces" + * Convert a range to a regex pattern + * @param {Number} `start` + * @param {Number} `stop` + * @return {String} */ -module.exports = braces; +function rangeToPattern(start, stop, options) { + if (start === stop) { + return { pattern: start, count: [], digits: 0 }; + } + + let zipped = zip(start, stop); + let digits = zipped.length; + let pattern = ''; + let count = 0; + for (let i = 0; i < digits; i++) { + let [startDigit, stopDigit] = zipped[i]; -/***/ }), -/* 313 */ -/***/ (function(module, exports, __webpack_require__) { + if (startDigit === stopDigit) { + pattern += startDigit; -"use strict"; + } else if (startDigit !== '0' || stopDigit !== '9') { + pattern += toCharacterClass(startDigit, stopDigit, options); + + } else { + count++; + } + } + if (count) { + pattern += options.shorthand === true ? '\\d' : '[0-9]'; + } -const utils = __webpack_require__(314); + return { pattern, count: [count], digits }; +} -module.exports = (ast, options = {}) => { - let stringify = (node, parent = {}) => { - let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); - let invalidNode = node.invalid === true && options.escapeInvalid === true; - let output = ''; +function splitToPatterns(min, max, tok, options) { + let ranges = splitToRanges(min, max); + let tokens = []; + let start = min; + let prev; - if (node.value) { - if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { - return '\\' + node.value; + for (let i = 0; i < ranges.length; i++) { + let max = ranges[i]; + let obj = rangeToPattern(String(start), String(max), options); + let zeros = ''; + + if (!tok.isPadded && prev && prev.pattern === obj.pattern) { + if (prev.count.length > 1) { + prev.count.pop(); } - return node.value; - } - if (node.value) { - return node.value; + prev.count.push(obj.count[0]); + prev.string = prev.pattern + toQuantifier(prev.count); + start = max + 1; + continue; } - if (node.nodes) { - for (let child of node.nodes) { - output += stringify(child); - } + if (tok.isPadded) { + zeros = padZeros(max, tok, options); } - return output; - }; - - return stringify(ast); -}; + obj.string = zeros + obj.pattern + toQuantifier(obj.count); + tokens.push(obj); + start = max + 1; + prev = obj; + } + return tokens; +} -/***/ }), -/* 314 */ -/***/ (function(module, exports, __webpack_require__) { +function filterPatterns(arr, comparison, prefix, intersection, options) { + let result = []; -"use strict"; + for (let ele of arr) { + let { string } = ele; + // only push if _both_ are negative... + if (!intersection && !contains(comparison, 'string', string)) { + result.push(prefix + string); + } -exports.isInteger = num => { - if (typeof num === 'number') { - return Number.isInteger(num); - } - if (typeof num === 'string' && num.trim() !== '') { - return Number.isInteger(Number(num)); + // or _both_ are positive + if (intersection && contains(comparison, 'string', string)) { + result.push(prefix + string); + } } - return false; -}; + return result; +} /** - * Find a node of the given type + * Zip strings */ -exports.find = (node, type) => node.nodes.find(node => node.type === type); +function zip(a, b) { + let arr = []; + for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]); + return arr; +} -/** - * Find a node of the given type - */ +function compare(a, b) { + return a > b ? 1 : b > a ? -1 : 0; +} -exports.exceedsLimit = (min, max, step = 1, limit) => { - if (limit === false) return false; - if (!exports.isInteger(min) || !exports.isInteger(max)) return false; - return ((Number(max) - Number(min)) / Number(step)) >= limit; -}; +function contains(arr, key, val) { + return arr.some(ele => ele[key] === val); +} -/** - * Escape the given node with '\\' before node.value - */ +function countNines(min, len) { + return Number(String(min).slice(0, -len) + '9'.repeat(len)); +} -exports.escapeNode = (block, n = 0, type) => { - let node = block.nodes[n]; - if (!node) return; +function countZeros(integer, zeros) { + return integer - (integer % Math.pow(10, zeros)); +} - if ((type && node.type === type) || node.type === 'open' || node.type === 'close') { - if (node.escaped !== true) { - node.value = '\\' + node.value; - node.escaped = true; - } +function toQuantifier(digits) { + let [start = 0, stop = ''] = digits; + if (stop || start > 1) { + return `{${start + (stop ? ',' + stop : '')}}`; } -}; + return ''; +} -/** - * Returns true if the given brace node should be enclosed in literal braces - */ +function toCharacterClass(a, b, options) { + return `[${a}${(b - a === 1) ? '' : '-'}${b}]`; +} -exports.encloseBrace = node => { - if (node.type !== 'brace') return false; - if ((node.commas >> 0 + node.ranges >> 0) === 0) { - node.invalid = true; - return true; +function hasPadding(str) { + return /^-?(0+)\d/.test(str); +} + +function padZeros(value, tok, options) { + if (!tok.isPadded) { + return value; } - return false; -}; -/** - * Returns true if a brace node is invalid. - */ + let diff = Math.abs(tok.maxLen - String(value).length); + let relax = options.relaxZeros !== false; -exports.isInvalidBrace = block => { - if (block.type !== 'brace') return false; - if (block.invalid === true || block.dollar) return true; - if ((block.commas >> 0 + block.ranges >> 0) === 0) { - block.invalid = true; - return true; - } - if (block.open !== true || block.close !== true) { - block.invalid = true; - return true; + switch (diff) { + case 0: + return ''; + case 1: + return relax ? '0?' : '0'; + case 2: + return relax ? '0{0,2}' : '00'; + default: { + return relax ? `0{0,${diff}}` : `0{${diff}}`; + } } - return false; -}; +} /** - * Returns true if a node is an open or close node + * Cache */ -exports.isOpenOrClose = node => { - if (node.type === 'open' || node.type === 'close') { - return true; - } - return node.open === true || node.close === true; -}; +toRegexRange.cache = {}; +toRegexRange.clearCache = () => (toRegexRange.cache = {}); /** - * Reduce an array of text nodes. + * Expose `toRegexRange` */ -exports.reduce = nodes => nodes.reduce((acc, node) => { - if (node.type === 'text') acc.push(node.value); - if (node.type === 'range') node.type = 'text'; - return acc; -}, []); +module.exports = toRegexRange; -/** - * Flatten an array + +/***/ }), +/* 310 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. */ -exports.flatten = (...args) => { - const result = []; - const flat = arr => { - for (let i = 0; i < arr.length; i++) { - let ele = arr[i]; - Array.isArray(ele) ? flat(ele, result) : ele !== void 0 && result.push(ele); - } - return result; - }; - flat(args); - return result; + + +module.exports = function(num) { + if (typeof num === 'number') { + return num - num === 0; + } + if (typeof num === 'string' && num.trim() !== '') { + return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); + } + return false; }; /***/ }), -/* 315 */ +/* 311 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fill = __webpack_require__(316); -const utils = __webpack_require__(314); +const fill = __webpack_require__(308); +const stringify = __webpack_require__(305); +const utils = __webpack_require__(306); -const compile = (ast, options = {}) => { - let walk = (node, parent = {}) => { - let invalidBlock = utils.isInvalidBrace(parent); - let invalidNode = node.invalid === true && options.escapeInvalid === true; - let invalid = invalidBlock === true || invalidNode === true; - let prefix = options.escapeInvalid === true ? '\\' : ''; - let output = ''; +const append = (queue = '', stash = '', enclose = false) => { + let result = []; - if (node.isOpen === true) { - return prefix + node.value; - } - if (node.isClose === true) { - return prefix + node.value; - } + queue = [].concat(queue); + stash = [].concat(stash); - if (node.type === 'open') { - return invalid ? (prefix + node.value) : '('; + if (!stash.length) return queue; + if (!queue.length) { + return enclose ? utils.flatten(stash).map(ele => `{${ele}}`) : stash; + } + + for (let item of queue) { + if (Array.isArray(item)) { + for (let value of item) { + result.push(append(value, stash, enclose)); + } + } else { + for (let ele of stash) { + if (enclose === true && typeof ele === 'string') ele = `{${ele}}`; + result.push(Array.isArray(ele) ? append(item, ele, enclose) : (item + ele)); + } } + } + return utils.flatten(result); +}; - if (node.type === 'close') { - return invalid ? (prefix + node.value) : ')'; +const expand = (ast, options = {}) => { + let rangeLimit = options.rangeLimit === void 0 ? 1000 : options.rangeLimit; + + let walk = (node, parent = {}) => { + node.queue = []; + + let p = parent; + let q = parent.queue; + + while (p.type !== 'brace' && p.type !== 'root' && p.parent) { + p = p.parent; + q = p.queue; } - if (node.type === 'comma') { - return node.prev.type === 'comma' ? '' : (invalid ? node.value : '|'); + if (node.invalid || node.dollar) { + q.push(append(q.pop(), stringify(node, options))); + return; } - if (node.value) { - return node.value; + if (node.type === 'brace' && node.invalid !== true && node.nodes.length === 2) { + q.push(append(q.pop(), ['{}'])); + return; } if (node.nodes && node.ranges > 0) { let args = utils.reduce(node.nodes); - let range = fill(...args, { ...options, wrap: false, toRegex: true }); - if (range.length !== 0) { - return args.length > 1 && range.length > 1 ? `(${range})` : range; + if (utils.exceedsLimit(...args, options.step, rangeLimit)) { + throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.'); } - } - if (node.nodes) { - for (let child of node.nodes) { - output += walk(child, node); + let range = fill(...args, options); + if (range.length === 0) { + range = stringify(node, options); } + + q.push(append(q.pop(), range)); + node.nodes = []; + return; } - return output; - }; - return walk(ast); -}; + let enclose = utils.encloseBrace(node); + let queue = node.queue; + let block = node; -module.exports = compile; + while (block.type !== 'brace' && block.type !== 'root' && block.parent) { + block = block.parent; + queue = block.queue; + } + for (let i = 0; i < node.nodes.length; i++) { + let child = node.nodes[i]; -/***/ }), -/* 316 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/*! - * fill-range - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Licensed under the MIT License. - */ + if (child.type === 'comma' && node.type === 'brace') { + if (i === 1) queue.push(''); + queue.push(''); + continue; + } + if (child.type === 'close') { + q.push(append(q.pop(), queue, enclose)); + continue; + } + if (child.value && child.type !== 'open') { + queue.push(append(queue.pop(), child.value)); + continue; + } -const util = __webpack_require__(111); -const toRegexRange = __webpack_require__(317); + if (child.nodes) { + walk(child, node); + } + } -const isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); + return queue; + }; -const transform = toNumber => { - return value => toNumber === true ? Number(value) : String(value); + return utils.flatten(walk(ast)); }; -const isValidValue = value => { - return typeof value === 'number' || (typeof value === 'string' && value !== ''); -}; +module.exports = expand; -const isNumber = num => Number.isInteger(+num); -const zeros = input => { - let value = `${input}`; - let index = -1; - if (value[0] === '-') value = value.slice(1); - if (value === '0') return false; - while (value[++index] === '0'); - return index > 0; -}; +/***/ }), +/* 312 */ +/***/ (function(module, exports, __webpack_require__) { -const stringify = (start, end, options) => { - if (typeof start === 'string' || typeof end === 'string') { - return true; - } - return options.stringify === true; -}; +"use strict"; -const pad = (input, maxLength, toNumber) => { - if (maxLength > 0) { - let dash = input[0] === '-' ? '-' : ''; - if (dash) input = input.slice(1); - input = (dash + input.padStart(dash ? maxLength - 1 : maxLength, '0')); - } - if (toNumber === false) { - return String(input); - } - return input; -}; -const toMaxLen = (input, maxLength) => { - let negative = input[0] === '-' ? '-' : ''; - if (negative) { - input = input.slice(1); - maxLength--; - } - while (input.length < maxLength) input = '0' + input; - return negative ? ('-' + input) : input; -}; +const stringify = __webpack_require__(305); -const toSequence = (parts, options) => { - parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); - parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); +/** + * Constants + */ - let prefix = options.capture ? '' : '?:'; - let positives = ''; - let negatives = ''; - let result; +const { + MAX_LENGTH, + CHAR_BACKSLASH, /* \ */ + CHAR_BACKTICK, /* ` */ + CHAR_COMMA, /* , */ + CHAR_DOT, /* . */ + CHAR_LEFT_PARENTHESES, /* ( */ + CHAR_RIGHT_PARENTHESES, /* ) */ + CHAR_LEFT_CURLY_BRACE, /* { */ + CHAR_RIGHT_CURLY_BRACE, /* } */ + CHAR_LEFT_SQUARE_BRACKET, /* [ */ + CHAR_RIGHT_SQUARE_BRACKET, /* ] */ + CHAR_DOUBLE_QUOTE, /* " */ + CHAR_SINGLE_QUOTE, /* ' */ + CHAR_NO_BREAK_SPACE, + CHAR_ZERO_WIDTH_NOBREAK_SPACE +} = __webpack_require__(313); - if (parts.positives.length) { - positives = parts.positives.join('|'); - } +/** + * parse + */ - if (parts.negatives.length) { - negatives = `-(${prefix}${parts.negatives.join('|')})`; +const parse = (input, options = {}) => { + if (typeof input !== 'string') { + throw new TypeError('Expected a string'); } - if (positives && negatives) { - result = `${positives}|${negatives}`; - } else { - result = positives || negatives; + let opts = options || {}; + let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + if (input.length > max) { + throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); } - if (options.wrap) { - return `(${prefix}${result})`; - } + let ast = { type: 'root', input, nodes: [] }; + let stack = [ast]; + let block = ast; + let prev = ast; + let brackets = 0; + let length = input.length; + let index = 0; + let depth = 0; + let value; + let memo = {}; - return result; -}; + /** + * Helpers + */ -const toRange = (a, b, isNumbers, options) => { - if (isNumbers) { - return toRegexRange(a, b, { wrap: false, ...options }); - } + const advance = () => input[index++]; + const push = node => { + if (node.type === 'text' && prev.type === 'dot') { + prev.type = 'text'; + } - let start = String.fromCharCode(a); - if (a === b) return start; + if (prev && prev.type === 'text' && node.type === 'text') { + prev.value += node.value; + return; + } - let stop = String.fromCharCode(b); - return `[${start}-${stop}]`; -}; + block.nodes.push(node); + node.parent = block; + node.prev = prev; + prev = node; + return node; + }; -const toRegex = (start, end, options) => { - if (Array.isArray(start)) { - let wrap = options.wrap === true; - let prefix = options.capture ? '' : '?:'; - return wrap ? `(${prefix}${start.join('|')})` : start.join('|'); - } - return toRegexRange(start, end, options); -}; + push({ type: 'bos' }); -const rangeError = (...args) => { - return new RangeError('Invalid range arguments: ' + util.inspect(...args)); -}; + while (index < length) { + block = stack[stack.length - 1]; + value = advance(); -const invalidRange = (start, end, options) => { - if (options.strictRanges === true) throw rangeError([start, end]); - return []; -}; + /** + * Invalid chars + */ -const invalidStep = (step, options) => { - if (options.strictRanges === true) { - throw new TypeError(`Expected step "${step}" to be a number`); - } - return []; -}; + if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) { + continue; + } -const fillNumbers = (start, end, step = 1, options = {}) => { - let a = Number(start); - let b = Number(end); + /** + * Escaped chars + */ - if (!Number.isInteger(a) || !Number.isInteger(b)) { - if (options.strictRanges === true) throw rangeError([start, end]); - return []; - } + if (value === CHAR_BACKSLASH) { + push({ type: 'text', value: (options.keepEscaping ? value : '') + advance() }); + continue; + } - // fix negative zero - if (a === 0) a = 0; - if (b === 0) b = 0; + /** + * Right square bracket (literal): ']' + */ - let descending = a > b; - let startString = String(start); - let endString = String(end); - let stepString = String(step); - step = Math.max(Math.abs(step), 1); + if (value === CHAR_RIGHT_SQUARE_BRACKET) { + push({ type: 'text', value: '\\' + value }); + continue; + } - let padded = zeros(startString) || zeros(endString) || zeros(stepString); - let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; - let toNumber = padded === false && stringify(start, end, options) === false; - let format = options.transform || transform(toNumber); + /** + * Left square bracket: '[' + */ - if (options.toRegex && step === 1) { - return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options); - } + if (value === CHAR_LEFT_SQUARE_BRACKET) { + brackets++; - let parts = { negatives: [], positives: [] }; - let push = num => parts[num < 0 ? 'negatives' : 'positives'].push(Math.abs(num)); - let range = []; - let index = 0; + let closed = true; + let next; - while (descending ? a >= b : a <= b) { - if (options.toRegex === true && step > 1) { - push(a); - } else { - range.push(pad(format(a, index), maxLen, toNumber)); - } - a = descending ? a - step : a + step; - index++; - } + while (index < length && (next = advance())) { + value += next; - if (options.toRegex === true) { - return step > 1 - ? toSequence(parts, options) - : toRegex(range, null, { wrap: false, ...options }); - } + if (next === CHAR_LEFT_SQUARE_BRACKET) { + brackets++; + continue; + } - return range; -}; + if (next === CHAR_BACKSLASH) { + value += advance(); + continue; + } -const fillLetters = (start, end, step = 1, options = {}) => { - if ((!isNumber(start) && start.length > 1) || (!isNumber(end) && end.length > 1)) { - return invalidRange(start, end, options); - } + if (next === CHAR_RIGHT_SQUARE_BRACKET) { + brackets--; + if (brackets === 0) { + break; + } + } + } - let format = options.transform || (val => String.fromCharCode(val)); - let a = `${start}`.charCodeAt(0); - let b = `${end}`.charCodeAt(0); + push({ type: 'text', value }); + continue; + } - let descending = a > b; - let min = Math.min(a, b); - let max = Math.max(a, b); + /** + * Parentheses + */ - if (options.toRegex && step === 1) { - return toRange(min, max, false, options); - } + if (value === CHAR_LEFT_PARENTHESES) { + block = push({ type: 'paren', nodes: [] }); + stack.push(block); + push({ type: 'text', value }); + continue; + } - let range = []; - let index = 0; + if (value === CHAR_RIGHT_PARENTHESES) { + if (block.type !== 'paren') { + push({ type: 'text', value }); + continue; + } + block = stack.pop(); + push({ type: 'text', value }); + block = stack[stack.length - 1]; + continue; + } - while (descending ? a >= b : a <= b) { - range.push(format(a, index)); - a = descending ? a - step : a + step; - index++; - } + /** + * Quotes: '|"|` + */ - if (options.toRegex === true) { - return toRegex(range, null, { wrap: false, options }); - } + if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) { + let open = value; + let next; - return range; -}; + if (options.keepQuotes !== true) { + value = ''; + } -const fill = (start, end, step, options = {}) => { - if (end == null && isValidValue(start)) { - return [start]; - } + while (index < length && (next = advance())) { + if (next === CHAR_BACKSLASH) { + value += next + advance(); + continue; + } - if (!isValidValue(start) || !isValidValue(end)) { - return invalidRange(start, end, options); - } + if (next === open) { + if (options.keepQuotes === true) value += next; + break; + } - if (typeof step === 'function') { - return fill(start, end, 1, { transform: step }); - } + value += next; + } - if (isObject(step)) { - return fill(start, end, 0, step); - } + push({ type: 'text', value }); + continue; + } - let opts = { ...options }; - if (opts.capture === true) opts.wrap = true; - step = step || opts.step || 1; + /** + * Left curly brace: '{' + */ - if (!isNumber(step)) { - if (step != null && !isObject(step)) return invalidStep(step, opts); - return fill(start, end, 1, step); - } + if (value === CHAR_LEFT_CURLY_BRACE) { + depth++; - if (isNumber(start) && isNumber(end)) { - return fillNumbers(start, end, step, opts); - } + let dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true; + let brace = { + type: 'brace', + open: true, + close: false, + dollar, + depth, + commas: 0, + ranges: 0, + nodes: [] + }; - return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); -}; + block = push(brace); + stack.push(block); + push({ type: 'open', value }); + continue; + } -module.exports = fill; + /** + * Right curly brace: '}' + */ + if (value === CHAR_RIGHT_CURLY_BRACE) { + if (block.type !== 'brace') { + push({ type: 'text', value }); + continue; + } -/***/ }), -/* 317 */ -/***/ (function(module, exports, __webpack_require__) { + let type = 'close'; + block = stack.pop(); + block.close = true; -"use strict"; -/*! - * to-regex-range - * - * Copyright (c) 2015-present, Jon Schlinkert. - * Released under the MIT License. - */ + push({ type, value }); + depth--; + block = stack[stack.length - 1]; + continue; + } + /** + * Comma: ',' + */ -const isNumber = __webpack_require__(318); + if (value === CHAR_COMMA && depth > 0) { + if (block.ranges > 0) { + block.ranges = 0; + let open = block.nodes.shift(); + block.nodes = [open, { type: 'text', value: stringify(block) }]; + } -const toRegexRange = (min, max, options) => { - if (isNumber(min) === false) { - throw new TypeError('toRegexRange: expected the first argument to be a number'); - } + push({ type: 'comma', value }); + block.commas++; + continue; + } - if (max === void 0 || min === max) { - return String(min); - } + /** + * Dot: '.' + */ - if (isNumber(max) === false) { - throw new TypeError('toRegexRange: expected the second argument to be a number.'); - } + if (value === CHAR_DOT && depth > 0 && block.commas === 0) { + let siblings = block.nodes; - let opts = { relaxZeros: true, ...options }; - if (typeof opts.strictZeros === 'boolean') { - opts.relaxZeros = opts.strictZeros === false; - } + if (depth === 0 || siblings.length === 0) { + push({ type: 'text', value }); + continue; + } - let relax = String(opts.relaxZeros); - let shorthand = String(opts.shorthand); - let capture = String(opts.capture); - let wrap = String(opts.wrap); - let cacheKey = min + ':' + max + '=' + relax + shorthand + capture + wrap; + if (prev.type === 'dot') { + block.range = []; + prev.value += value; + prev.type = 'range'; - if (toRegexRange.cache.hasOwnProperty(cacheKey)) { - return toRegexRange.cache[cacheKey].result; - } + if (block.nodes.length !== 3 && block.nodes.length !== 5) { + block.invalid = true; + block.ranges = 0; + prev.type = 'text'; + continue; + } - let a = Math.min(min, max); - let b = Math.max(min, max); + block.ranges++; + block.args = []; + continue; + } - if (Math.abs(a - b) === 1) { - let result = min + '|' + max; - if (opts.capture) { - return `(${result})`; - } - if (opts.wrap === false) { - return result; + if (prev.type === 'range') { + siblings.pop(); + + let before = siblings[siblings.length - 1]; + before.value += prev.value + value; + prev = before; + block.ranges--; + continue; + } + + push({ type: 'dot', value }); + continue; } - return `(?:${result})`; - } - let isPadded = hasPadding(min) || hasPadding(max); - let state = { min, max, a, b }; - let positives = []; - let negatives = []; + /** + * Text + */ - if (isPadded) { - state.isPadded = isPadded; - state.maxLen = String(state.max).length; + push({ type: 'text', value }); } - if (a < 0) { - let newMin = b < 0 ? Math.abs(b) : 1; - negatives = splitToPatterns(newMin, Math.abs(a), state, opts); - a = state.a = 0; - } - - if (b >= 0) { - positives = splitToPatterns(a, b, state, opts); - } + // Mark imbalanced braces and brackets as invalid + do { + block = stack.pop(); - state.negatives = negatives; - state.positives = positives; - state.result = collatePatterns(negatives, positives, opts); + if (block.type !== 'root') { + block.nodes.forEach(node => { + if (!node.nodes) { + if (node.type === 'open') node.isOpen = true; + if (node.type === 'close') node.isClose = true; + if (!node.nodes) node.type = 'text'; + node.invalid = true; + } + }); - if (opts.capture === true) { - state.result = `(${state.result})`; - } else if (opts.wrap !== false && (positives.length + negatives.length) > 1) { - state.result = `(?:${state.result})`; - } + // get the location of the block on parent.nodes (block's siblings) + let parent = stack[stack.length - 1]; + let index = parent.nodes.indexOf(block); + // replace the (invalid) block with it's nodes + parent.nodes.splice(index, 1, ...block.nodes); + } + } while (stack.length > 0); - toRegexRange.cache[cacheKey] = state; - return state.result; + push({ type: 'eos' }); + return ast; }; -function collatePatterns(neg, pos, options) { - let onlyNegative = filterPatterns(neg, pos, '-', false, options) || []; - let onlyPositive = filterPatterns(pos, neg, '', false, options) || []; - let intersected = filterPatterns(neg, pos, '-?', true, options) || []; - let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); - return subpatterns.join('|'); -} +module.exports = parse; -function splitToRanges(min, max) { - let nines = 1; - let zeros = 1; - let stop = countNines(min, nines); - let stops = new Set([max]); +/***/ }), +/* 313 */ +/***/ (function(module, exports, __webpack_require__) { - while (min <= stop && stop <= max) { - stops.add(stop); - nines += 1; - stop = countNines(min, nines); - } +"use strict"; - stop = countZeros(max + 1, zeros) - 1; - while (min < stop && stop <= max) { - stops.add(stop); - zeros += 1; - stop = countZeros(max + 1, zeros) - 1; - } +module.exports = { + MAX_LENGTH: 1024 * 64, - stops = [...stops]; - stops.sort(compare); - return stops; -} + // Digits + CHAR_0: '0', /* 0 */ + CHAR_9: '9', /* 9 */ -/** - * Convert a range to a regex pattern - * @param {Number} `start` - * @param {Number} `stop` - * @return {String} - */ + // Alphabet chars. + CHAR_UPPERCASE_A: 'A', /* A */ + CHAR_LOWERCASE_A: 'a', /* a */ + CHAR_UPPERCASE_Z: 'Z', /* Z */ + CHAR_LOWERCASE_Z: 'z', /* z */ -function rangeToPattern(start, stop, options) { - if (start === stop) { - return { pattern: start, count: [], digits: 0 }; - } + CHAR_LEFT_PARENTHESES: '(', /* ( */ + CHAR_RIGHT_PARENTHESES: ')', /* ) */ - let zipped = zip(start, stop); - let digits = zipped.length; - let pattern = ''; - let count = 0; + CHAR_ASTERISK: '*', /* * */ - for (let i = 0; i < digits; i++) { - let [startDigit, stopDigit] = zipped[i]; + // Non-alphabetic chars. + CHAR_AMPERSAND: '&', /* & */ + CHAR_AT: '@', /* @ */ + CHAR_BACKSLASH: '\\', /* \ */ + CHAR_BACKTICK: '`', /* ` */ + CHAR_CARRIAGE_RETURN: '\r', /* \r */ + CHAR_CIRCUMFLEX_ACCENT: '^', /* ^ */ + CHAR_COLON: ':', /* : */ + CHAR_COMMA: ',', /* , */ + CHAR_DOLLAR: '$', /* . */ + CHAR_DOT: '.', /* . */ + CHAR_DOUBLE_QUOTE: '"', /* " */ + CHAR_EQUAL: '=', /* = */ + CHAR_EXCLAMATION_MARK: '!', /* ! */ + CHAR_FORM_FEED: '\f', /* \f */ + CHAR_FORWARD_SLASH: '/', /* / */ + CHAR_HASH: '#', /* # */ + CHAR_HYPHEN_MINUS: '-', /* - */ + CHAR_LEFT_ANGLE_BRACKET: '<', /* < */ + CHAR_LEFT_CURLY_BRACE: '{', /* { */ + CHAR_LEFT_SQUARE_BRACKET: '[', /* [ */ + CHAR_LINE_FEED: '\n', /* \n */ + CHAR_NO_BREAK_SPACE: '\u00A0', /* \u00A0 */ + CHAR_PERCENT: '%', /* % */ + CHAR_PLUS: '+', /* + */ + CHAR_QUESTION_MARK: '?', /* ? */ + CHAR_RIGHT_ANGLE_BRACKET: '>', /* > */ + CHAR_RIGHT_CURLY_BRACE: '}', /* } */ + CHAR_RIGHT_SQUARE_BRACKET: ']', /* ] */ + CHAR_SEMICOLON: ';', /* ; */ + CHAR_SINGLE_QUOTE: '\'', /* ' */ + CHAR_SPACE: ' ', /* */ + CHAR_TAB: '\t', /* \t */ + CHAR_UNDERSCORE: '_', /* _ */ + CHAR_VERTICAL_LINE: '|', /* | */ + CHAR_ZERO_WIDTH_NOBREAK_SPACE: '\uFEFF' /* \uFEFF */ +}; - if (startDigit === stopDigit) { - pattern += startDigit; - } else if (startDigit !== '0' || stopDigit !== '9') { - pattern += toCharacterClass(startDigit, stopDigit, options); +/***/ }), +/* 314 */ +/***/ (function(module, exports, __webpack_require__) { - } else { - count++; - } - } +"use strict"; - if (count) { - pattern += options.shorthand === true ? '\\d' : '[0-9]'; - } - return { pattern, count: [count], digits }; -} +module.exports = __webpack_require__(315); -function splitToPatterns(min, max, tok, options) { - let ranges = splitToRanges(min, max); - let tokens = []; - let start = min; - let prev; - for (let i = 0; i < ranges.length; i++) { - let max = ranges[i]; - let obj = rangeToPattern(String(start), String(max), options); - let zeros = ''; +/***/ }), +/* 315 */ +/***/ (function(module, exports, __webpack_require__) { - if (!tok.isPadded && prev && prev.pattern === obj.pattern) { - if (prev.count.length > 1) { - prev.count.pop(); - } +"use strict"; - prev.count.push(obj.count[0]); - prev.string = prev.pattern + toQuantifier(prev.count); - start = max + 1; - continue; - } - if (tok.isPadded) { - zeros = padZeros(max, tok, options); - } +const path = __webpack_require__(4); +const scan = __webpack_require__(316); +const parse = __webpack_require__(319); +const utils = __webpack_require__(317); +const constants = __webpack_require__(318); +const isObject = val => val && typeof val === 'object' && !Array.isArray(val); - obj.string = zeros + obj.pattern + toQuantifier(obj.count); - tokens.push(obj); - start = max + 1; - prev = obj; +/** + * Creates a matcher function from one or more glob patterns. The + * returned function takes a string to match as its first argument, + * and returns true if the string is a match. The returned matcher + * function also takes a boolean as the second argument that, when true, + * returns an object with additional information. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch(glob[, options]); + * + * const isMatch = picomatch('*.!(*a)'); + * console.log(isMatch('a.a')); //=> false + * console.log(isMatch('a.b')); //=> true + * ``` + * @name picomatch + * @param {String|Array} `globs` One or more glob patterns. + * @param {Object=} `options` + * @return {Function=} Returns a matcher function. + * @api public + */ + +const picomatch = (glob, options, returnState = false) => { + if (Array.isArray(glob)) { + const fns = glob.map(input => picomatch(input, options, returnState)); + const arrayMatcher = str => { + for (const isMatch of fns) { + const state = isMatch(str); + if (state) return state; + } + return false; + }; + return arrayMatcher; } - return tokens; -} + const isState = isObject(glob) && glob.tokens && glob.input; -function filterPatterns(arr, comparison, prefix, intersection, options) { - let result = []; + if (glob === '' || (typeof glob !== 'string' && !isState)) { + throw new TypeError('Expected pattern to be a non-empty string'); + } - for (let ele of arr) { - let { string } = ele; + const opts = options || {}; + const posix = utils.isWindows(options); + const regex = isState + ? picomatch.compileRe(glob, options) + : picomatch.makeRe(glob, options, false, true); - // only push if _both_ are negative... - if (!intersection && !contains(comparison, 'string', string)) { - result.push(prefix + string); - } + const state = regex.state; + delete regex.state; - // or _both_ are positive - if (intersection && contains(comparison, 'string', string)) { - result.push(prefix + string); - } + let isIgnored = () => false; + if (opts.ignore) { + const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null }; + isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); } - return result; -} - -/** - * Zip strings - */ -function zip(a, b) { - let arr = []; - for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]); - return arr; -} + const matcher = (input, returnObject = false) => { + const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix }); + const result = { glob, state, regex, posix, input, output, match, isMatch }; -function compare(a, b) { - return a > b ? 1 : b > a ? -1 : 0; -} + if (typeof opts.onResult === 'function') { + opts.onResult(result); + } -function contains(arr, key, val) { - return arr.some(ele => ele[key] === val); -} + if (isMatch === false) { + result.isMatch = false; + return returnObject ? result : false; + } -function countNines(min, len) { - return Number(String(min).slice(0, -len) + '9'.repeat(len)); -} + if (isIgnored(input)) { + if (typeof opts.onIgnore === 'function') { + opts.onIgnore(result); + } + result.isMatch = false; + return returnObject ? result : false; + } -function countZeros(integer, zeros) { - return integer - (integer % Math.pow(10, zeros)); -} + if (typeof opts.onMatch === 'function') { + opts.onMatch(result); + } + return returnObject ? result : true; + }; -function toQuantifier(digits) { - let [start = 0, stop = ''] = digits; - if (stop || start > 1) { - return `{${start + (stop ? ',' + stop : '')}}`; + if (returnState) { + matcher.state = state; } - return ''; -} -function toCharacterClass(a, b, options) { - return `[${a}${(b - a === 1) ? '' : '-'}${b}]`; -} + return matcher; +}; -function hasPadding(str) { - return /^-?(0+)\d/.test(str); -} +/** + * Test `input` with the given `regex`. This is used by the main + * `picomatch()` function to test the input string. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.test(input, regex[, options]); + * + * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/)); + * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' } + * ``` + * @param {String} `input` String to test. + * @param {RegExp} `regex` + * @return {Object} Returns an object with matching info. + * @api public + */ -function padZeros(value, tok, options) { - if (!tok.isPadded) { - return value; +picomatch.test = (input, regex, options, { glob, posix } = {}) => { + if (typeof input !== 'string') { + throw new TypeError('Expected input to be a string'); } - let diff = Math.abs(tok.maxLen - String(value).length); - let relax = options.relaxZeros !== false; + if (input === '') { + return { isMatch: false, output: '' }; + } - switch (diff) { - case 0: - return ''; - case 1: - return relax ? '0?' : '0'; - case 2: - return relax ? '0{0,2}' : '00'; - default: { - return relax ? `0{0,${diff}}` : `0{${diff}}`; + const opts = options || {}; + const format = opts.format || (posix ? utils.toPosixSlashes : null); + let match = input === glob; + let output = (match && format) ? format(input) : input; + + if (match === false) { + output = format ? format(input) : input; + match = output === glob; + } + + if (match === false || opts.capture === true) { + if (opts.matchBase === true || opts.basename === true) { + match = picomatch.matchBase(input, regex, options, posix); + } else { + match = regex.exec(output); } } -} + + return { isMatch: Boolean(match), match, output }; +}; /** - * Cache + * Match the basename of a filepath. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.matchBase(input, glob[, options]); + * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true + * ``` + * @param {String} `input` String to test. + * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe). + * @return {Boolean} + * @api public */ -toRegexRange.cache = {}; -toRegexRange.clearCache = () => (toRegexRange.cache = {}); +picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => { + const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); + return regex.test(path.basename(input)); +}; /** - * Expose `toRegexRange` + * Returns true if **any** of the given glob `patterns` match the specified `string`. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.isMatch(string, patterns[, options]); + * + * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true + * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false + * ``` + * @param {String|Array} str The string to test. + * @param {String|Array} patterns One or more glob patterns to use for matching. + * @param {Object} [options] See available [options](#options). + * @return {Boolean} Returns true if any patterns match `str` + * @api public */ -module.exports = toRegexRange; +picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); +/** + * Parse a glob pattern to create the source string for a regular + * expression. + * + * ```js + * const picomatch = require('picomatch'); + * const result = picomatch.parse(pattern[, options]); + * ``` + * @param {String} `pattern` + * @param {Object} `options` + * @return {Object} Returns an object with useful properties and output to be used as a regex source string. + * @api public + */ -/***/ }), -/* 318 */ -/***/ (function(module, exports, __webpack_require__) { +picomatch.parse = (pattern, options) => { + if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options)); + return parse(pattern, { ...options, fastpaths: false }); +}; -"use strict"; -/*! - * is-number +/** + * Scan a glob pattern to separate the pattern into segments. * - * Copyright (c) 2014-present, Jon Schlinkert. - * Released under the MIT License. + * ```js + * const picomatch = require('picomatch'); + * // picomatch.scan(input[, options]); + * + * const result = picomatch.scan('!./foo/*.js'); + * console.log(result); + * { prefix: '!./', + * input: '!./foo/*.js', + * start: 3, + * base: 'foo', + * glob: '*.js', + * isBrace: false, + * isBracket: false, + * isGlob: true, + * isExtglob: false, + * isGlobstar: false, + * negated: true } + * ``` + * @param {String} `input` Glob pattern to scan. + * @param {Object} `options` + * @return {Object} Returns an object with + * @api public */ +picomatch.scan = (input, options) => scan(input, options); +/** + * Create a regular expression from a parsed glob pattern. + * + * ```js + * const picomatch = require('picomatch'); + * const state = picomatch.parse('*.js'); + * // picomatch.compileRe(state[, options]); + * + * console.log(picomatch.compileRe(state)); + * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ + * ``` + * @param {String} `state` The object returned from the `.parse` method. + * @param {Object} `options` + * @return {RegExp} Returns a regex created from the given pattern. + * @api public + */ -module.exports = function(num) { - if (typeof num === 'number') { - return num - num === 0; - } - if (typeof num === 'string' && num.trim() !== '') { - return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); +picomatch.compileRe = (parsed, options, returnOutput = false, returnState = false) => { + if (returnOutput === true) { + return parsed.output; } - return false; -}; - -/***/ }), -/* 319 */ -/***/ (function(module, exports, __webpack_require__) { + const opts = options || {}; + const prepend = opts.contains ? '' : '^'; + const append = opts.contains ? '' : '$'; -"use strict"; + let source = `${prepend}(?:${parsed.output})${append}`; + if (parsed && parsed.negated === true) { + source = `^(?!${source}).*$`; + } + const regex = picomatch.toRegex(source, options); + if (returnState === true) { + regex.state = parsed; + } -const fill = __webpack_require__(316); -const stringify = __webpack_require__(313); -const utils = __webpack_require__(314); + return regex; +}; -const append = (queue = '', stash = '', enclose = false) => { - let result = []; +picomatch.makeRe = (input, options, returnOutput = false, returnState = false) => { + if (!input || typeof input !== 'string') { + throw new TypeError('Expected a non-empty string'); + } - queue = [].concat(queue); - stash = [].concat(stash); + const opts = options || {}; + let parsed = { negated: false, fastpaths: true }; + let prefix = ''; + let output; - if (!stash.length) return queue; - if (!queue.length) { - return enclose ? utils.flatten(stash).map(ele => `{${ele}}`) : stash; + if (input.startsWith('./')) { + input = input.slice(2); + prefix = parsed.prefix = './'; } - for (let item of queue) { - if (Array.isArray(item)) { - for (let value of item) { - result.push(append(value, stash, enclose)); - } - } else { - for (let ele of stash) { - if (enclose === true && typeof ele === 'string') ele = `{${ele}}`; - result.push(Array.isArray(ele) ? append(item, ele, enclose) : (item + ele)); - } - } + if (opts.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { + output = parse.fastpaths(input, options); } - return utils.flatten(result); -}; - -const expand = (ast, options = {}) => { - let rangeLimit = options.rangeLimit === void 0 ? 1000 : options.rangeLimit; - - let walk = (node, parent = {}) => { - node.queue = []; - - let p = parent; - let q = parent.queue; - - while (p.type !== 'brace' && p.type !== 'root' && p.parent) { - p = p.parent; - q = p.queue; - } - - if (node.invalid || node.dollar) { - q.push(append(q.pop(), stringify(node, options))); - return; - } - - if (node.type === 'brace' && node.invalid !== true && node.nodes.length === 2) { - q.push(append(q.pop(), ['{}'])); - return; - } - - if (node.nodes && node.ranges > 0) { - let args = utils.reduce(node.nodes); - - if (utils.exceedsLimit(...args, options.step, rangeLimit)) { - throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.'); - } - - let range = fill(...args, options); - if (range.length === 0) { - range = stringify(node, options); - } - - q.push(append(q.pop(), range)); - node.nodes = []; - return; - } - - let enclose = utils.encloseBrace(node); - let queue = node.queue; - let block = node; - - while (block.type !== 'brace' && block.type !== 'root' && block.parent) { - block = block.parent; - queue = block.queue; - } - for (let i = 0; i < node.nodes.length; i++) { - let child = node.nodes[i]; + if (output === undefined) { + parsed = parse(input, options); + parsed.prefix = prefix + (parsed.prefix || ''); + } else { + parsed.output = output; + } - if (child.type === 'comma' && node.type === 'brace') { - if (i === 1) queue.push(''); - queue.push(''); - continue; - } + return picomatch.compileRe(parsed, options, returnOutput, returnState); +}; - if (child.type === 'close') { - q.push(append(q.pop(), queue, enclose)); - continue; - } +/** + * Create a regular expression from the given regex source string. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.toRegex(source[, options]); + * + * const { output } = picomatch.parse('*.js'); + * console.log(picomatch.toRegex(output)); + * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ + * ``` + * @param {String} `source` Regular expression source string. + * @param {Object} `options` + * @return {RegExp} + * @api public + */ - if (child.value && child.type !== 'open') { - queue.push(append(queue.pop(), child.value)); - continue; - } +picomatch.toRegex = (source, options) => { + try { + const opts = options || {}; + return new RegExp(source, opts.flags || (opts.nocase ? 'i' : '')); + } catch (err) { + if (options && options.debug === true) throw err; + return /$^/; + } +}; - if (child.nodes) { - walk(child, node); - } - } +/** + * Picomatch constants. + * @return {Object} + */ - return queue; - }; +picomatch.constants = constants; - return utils.flatten(walk(ast)); -}; +/** + * Expose "picomatch" + */ -module.exports = expand; +module.exports = picomatch; /***/ }), -/* 320 */ +/* 316 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const stringify = __webpack_require__(313); - -/** - * Constants - */ - +const utils = __webpack_require__(317); const { - MAX_LENGTH, - CHAR_BACKSLASH, /* \ */ - CHAR_BACKTICK, /* ` */ - CHAR_COMMA, /* , */ - CHAR_DOT, /* . */ - CHAR_LEFT_PARENTHESES, /* ( */ - CHAR_RIGHT_PARENTHESES, /* ) */ - CHAR_LEFT_CURLY_BRACE, /* { */ - CHAR_RIGHT_CURLY_BRACE, /* } */ - CHAR_LEFT_SQUARE_BRACKET, /* [ */ - CHAR_RIGHT_SQUARE_BRACKET, /* ] */ - CHAR_DOUBLE_QUOTE, /* " */ - CHAR_SINGLE_QUOTE, /* ' */ - CHAR_NO_BREAK_SPACE, - CHAR_ZERO_WIDTH_NOBREAK_SPACE -} = __webpack_require__(321); - -/** - * parse - */ + CHAR_ASTERISK, /* * */ + CHAR_AT, /* @ */ + CHAR_BACKWARD_SLASH, /* \ */ + CHAR_COMMA, /* , */ + CHAR_DOT, /* . */ + CHAR_EXCLAMATION_MARK, /* ! */ + CHAR_FORWARD_SLASH, /* / */ + CHAR_LEFT_CURLY_BRACE, /* { */ + CHAR_LEFT_PARENTHESES, /* ( */ + CHAR_LEFT_SQUARE_BRACKET, /* [ */ + CHAR_PLUS, /* + */ + CHAR_QUESTION_MARK, /* ? */ + CHAR_RIGHT_CURLY_BRACE, /* } */ + CHAR_RIGHT_PARENTHESES, /* ) */ + CHAR_RIGHT_SQUARE_BRACKET /* ] */ +} = __webpack_require__(318); -const parse = (input, options = {}) => { - if (typeof input !== 'string') { - throw new TypeError('Expected a string'); - } +const isPathSeparator = code => { + return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; +}; - let opts = options || {}; - let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - if (input.length > max) { - throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); +const depth = token => { + if (token.isPrefix !== true) { + token.depth = token.isGlobstar ? Infinity : 1; } +}; - let ast = { type: 'root', input, nodes: [] }; - let stack = [ast]; - let block = ast; - let prev = ast; - let brackets = 0; - let length = input.length; - let index = 0; - let depth = 0; - let value; - let memo = {}; +/** + * Quickly scans a glob pattern and returns an object with a handful of + * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists), + * `glob` (the actual pattern), and `negated` (true if the path starts with `!`). + * + * ```js + * const pm = require('picomatch'); + * console.log(pm.scan('foo/bar/*.js')); + * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' } + * ``` + * @param {String} `str` + * @param {Object} `options` + * @return {Object} Returns an object with tokens and regex source string. + * @api public + */ - /** - * Helpers - */ +const scan = (input, options) => { + const opts = options || {}; - const advance = () => input[index++]; - const push = node => { - if (node.type === 'text' && prev.type === 'dot') { - prev.type = 'text'; - } + const length = input.length - 1; + const scanToEnd = opts.parts === true || opts.scanToEnd === true; + const slashes = []; + const tokens = []; + const parts = []; - if (prev && prev.type === 'text' && node.type === 'text') { - prev.value += node.value; - return; - } + let str = input; + let index = -1; + let start = 0; + let lastIndex = 0; + let isBrace = false; + let isBracket = false; + let isGlob = false; + let isExtglob = false; + let isGlobstar = false; + let braceEscaped = false; + let backslashes = false; + let negated = false; + let finished = false; + let braces = 0; + let prev; + let code; + let token = { value: '', depth: 0, isGlob: false }; - block.nodes.push(node); - node.parent = block; - node.prev = prev; - prev = node; - return node; + const eos = () => index >= length; + const peek = () => str.charCodeAt(index + 1); + const advance = () => { + prev = code; + return str.charCodeAt(++index); }; - push({ type: 'bos' }); - while (index < length) { - block = stack[stack.length - 1]; - value = advance(); + code = advance(); + let next; - /** - * Invalid chars - */ + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + code = advance(); - if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) { + if (code === CHAR_LEFT_CURLY_BRACE) { + braceEscaped = true; + } continue; } - /** - * Escaped chars - */ - - if (value === CHAR_BACKSLASH) { - push({ type: 'text', value: (options.keepEscaping ? value : '') + advance() }); - continue; - } + if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { + braces++; - /** - * Right square bracket (literal): ']' - */ + while (eos() !== true && (code = advance())) { + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + advance(); + continue; + } - if (value === CHAR_RIGHT_SQUARE_BRACKET) { - push({ type: 'text', value: '\\' + value }); - continue; - } + if (code === CHAR_LEFT_CURLY_BRACE) { + braces++; + continue; + } - /** - * Left square bracket: '[' - */ + if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { + isBrace = token.isBrace = true; + isGlob = token.isGlob = true; + finished = true; - if (value === CHAR_LEFT_SQUARE_BRACKET) { - brackets++; + if (scanToEnd === true) { + continue; + } - let closed = true; - let next; + break; + } - while (index < length && (next = advance())) { - value += next; + if (braceEscaped !== true && code === CHAR_COMMA) { + isBrace = token.isBrace = true; + isGlob = token.isGlob = true; + finished = true; - if (next === CHAR_LEFT_SQUARE_BRACKET) { - brackets++; - continue; - } + if (scanToEnd === true) { + continue; + } - if (next === CHAR_BACKSLASH) { - value += advance(); - continue; + break; } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - brackets--; + if (code === CHAR_RIGHT_CURLY_BRACE) { + braces--; - if (brackets === 0) { + if (braces === 0) { + braceEscaped = false; + isBrace = token.isBrace = true; + finished = true; break; } } } - push({ type: 'text', value }); - continue; - } - - /** - * Parentheses - */ + if (scanToEnd === true) { + continue; + } - if (value === CHAR_LEFT_PARENTHESES) { - block = push({ type: 'paren', nodes: [] }); - stack.push(block); - push({ type: 'text', value }); - continue; + break; } - if (value === CHAR_RIGHT_PARENTHESES) { - if (block.type !== 'paren') { - push({ type: 'text', value }); + if (code === CHAR_FORWARD_SLASH) { + slashes.push(index); + tokens.push(token); + token = { value: '', depth: 0, isGlob: false }; + + if (finished === true) continue; + if (prev === CHAR_DOT && index === (start + 1)) { + start += 2; continue; } - block = stack.pop(); - push({ type: 'text', value }); - block = stack[stack.length - 1]; + + lastIndex = index + 1; continue; } - /** - * Quotes: '|"|` - */ + if (opts.noext !== true) { + const isExtglobChar = code === CHAR_PLUS + || code === CHAR_AT + || code === CHAR_ASTERISK + || code === CHAR_QUESTION_MARK + || code === CHAR_EXCLAMATION_MARK; - if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) { - let open = value; - let next; + if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { + isGlob = token.isGlob = true; + isExtglob = token.isExtglob = true; + finished = true; - if (options.keepQuotes !== true) { - value = ''; - } + if (scanToEnd === true) { + while (eos() !== true && (code = advance())) { + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + code = advance(); + continue; + } - while (index < length && (next = advance())) { - if (next === CHAR_BACKSLASH) { - value += next + advance(); + if (code === CHAR_RIGHT_PARENTHESES) { + isGlob = token.isGlob = true; + finished = true; + break; + } + } continue; } + break; + } + } - if (next === open) { - if (options.keepQuotes === true) value += next; - break; - } + if (code === CHAR_ASTERISK) { + if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true; + isGlob = token.isGlob = true; + finished = true; - value += next; + if (scanToEnd === true) { + continue; } + break; + } - push({ type: 'text', value }); - continue; + if (code === CHAR_QUESTION_MARK) { + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + break; } - /** - * Left curly brace: '{' - */ + if (code === CHAR_LEFT_SQUARE_BRACKET) { + while (eos() !== true && (next = advance())) { + if (next === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + advance(); + continue; + } - if (value === CHAR_LEFT_CURLY_BRACE) { - depth++; + if (next === CHAR_RIGHT_SQUARE_BRACKET) { + isBracket = token.isBracket = true; + isGlob = token.isGlob = true; + finished = true; - let dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true; - let brace = { - type: 'brace', - open: true, - close: false, - dollar, - depth, - commas: 0, - ranges: 0, - nodes: [] - }; + if (scanToEnd === true) { + continue; + } + break; + } + } + } - block = push(brace); - stack.push(block); - push({ type: 'open', value }); + if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { + negated = token.negated = true; + start++; continue; } - /** - * Right curly brace: '}' - */ + if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { + isGlob = token.isGlob = true; - if (value === CHAR_RIGHT_CURLY_BRACE) { - if (block.type !== 'brace') { - push({ type: 'text', value }); + if (scanToEnd === true) { + while (eos() !== true && (code = advance())) { + if (code === CHAR_LEFT_PARENTHESES) { + backslashes = token.backslashes = true; + code = advance(); + continue; + } + + if (code === CHAR_RIGHT_PARENTHESES) { + finished = true; + break; + } + } continue; } + break; + } - let type = 'close'; - block = stack.pop(); - block.close = true; + if (isGlob === true) { + finished = true; - push({ type, value }); - depth--; + if (scanToEnd === true) { + continue; + } - block = stack[stack.length - 1]; - continue; + break; } + } - /** - * Comma: ',' - */ + if (opts.noext === true) { + isExtglob = false; + isGlob = false; + } - if (value === CHAR_COMMA && depth > 0) { - if (block.ranges > 0) { - block.ranges = 0; - let open = block.nodes.shift(); - block.nodes = [open, { type: 'text', value: stringify(block) }]; - } + let base = str; + let prefix = ''; + let glob = ''; - push({ type: 'comma', value }); - block.commas++; - continue; + if (start > 0) { + prefix = str.slice(0, start); + str = str.slice(start); + lastIndex -= start; + } + + if (base && isGlob === true && lastIndex > 0) { + base = str.slice(0, lastIndex); + glob = str.slice(lastIndex); + } else if (isGlob === true) { + base = ''; + glob = str; + } else { + base = str; + } + + if (base && base !== '' && base !== '/' && base !== str) { + if (isPathSeparator(base.charCodeAt(base.length - 1))) { + base = base.slice(0, -1); } + } - /** - * Dot: '.' - */ + if (opts.unescape === true) { + if (glob) glob = utils.removeBackslashes(glob); - if (value === CHAR_DOT && depth > 0 && block.commas === 0) { - let siblings = block.nodes; + if (base && backslashes === true) { + base = utils.removeBackslashes(base); + } + } - if (depth === 0 || siblings.length === 0) { - push({ type: 'text', value }); - continue; - } + const state = { + prefix, + input, + start, + base, + glob, + isBrace, + isBracket, + isGlob, + isExtglob, + isGlobstar, + negated + }; - if (prev.type === 'dot') { - block.range = []; - prev.value += value; - prev.type = 'range'; + if (opts.tokens === true) { + state.maxDepth = 0; + if (!isPathSeparator(code)) { + tokens.push(token); + } + state.tokens = tokens; + } - if (block.nodes.length !== 3 && block.nodes.length !== 5) { - block.invalid = true; - block.ranges = 0; - prev.type = 'text'; - continue; - } + if (opts.parts === true || opts.tokens === true) { + let prevIndex; - block.ranges++; - block.args = []; - continue; + for (let idx = 0; idx < slashes.length; idx++) { + const n = prevIndex ? prevIndex + 1 : start; + const i = slashes[idx]; + const value = input.slice(n, i); + if (opts.tokens) { + if (idx === 0 && start !== 0) { + tokens[idx].isPrefix = true; + tokens[idx].value = prefix; + } else { + tokens[idx].value = value; + } + depth(tokens[idx]); + state.maxDepth += tokens[idx].depth; + } + if (idx !== 0 || value !== '') { + parts.push(value); } + prevIndex = i; + } - if (prev.type === 'range') { - siblings.pop(); + if (prevIndex && prevIndex + 1 < input.length) { + const value = input.slice(prevIndex + 1); + parts.push(value); - let before = siblings[siblings.length - 1]; - before.value += prev.value + value; - prev = before; - block.ranges--; - continue; + if (opts.tokens) { + tokens[tokens.length - 1].value = value; + depth(tokens[tokens.length - 1]); + state.maxDepth += tokens[tokens.length - 1].depth; } - - push({ type: 'dot', value }); - continue; } - /** - * Text - */ - - push({ type: 'text', value }); + state.slashes = slashes; + state.parts = parts; } - // Mark imbalanced braces and brackets as invalid - do { - block = stack.pop(); - - if (block.type !== 'root') { - block.nodes.forEach(node => { - if (!node.nodes) { - if (node.type === 'open') node.isOpen = true; - if (node.type === 'close') node.isClose = true; - if (!node.nodes) node.type = 'text'; - node.invalid = true; - } - }); - - // get the location of the block on parent.nodes (block's siblings) - let parent = stack[stack.length - 1]; - let index = parent.nodes.indexOf(block); - // replace the (invalid) block with it's nodes - parent.nodes.splice(index, 1, ...block.nodes); - } - } while (stack.length > 0); - - push({ type: 'eos' }); - return ast; + return state; }; -module.exports = parse; +module.exports = scan; /***/ }), -/* 321 */ +/* 317 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -module.exports = { - MAX_LENGTH: 1024 * 64, - - // Digits - CHAR_0: '0', /* 0 */ - CHAR_9: '9', /* 9 */ - - // Alphabet chars. - CHAR_UPPERCASE_A: 'A', /* A */ - CHAR_LOWERCASE_A: 'a', /* a */ - CHAR_UPPERCASE_Z: 'Z', /* Z */ - CHAR_LOWERCASE_Z: 'z', /* z */ +const path = __webpack_require__(4); +const win32 = process.platform === 'win32'; +const { + REGEX_BACKSLASH, + REGEX_REMOVE_BACKSLASH, + REGEX_SPECIAL_CHARS, + REGEX_SPECIAL_CHARS_GLOBAL +} = __webpack_require__(318); - CHAR_LEFT_PARENTHESES: '(', /* ( */ - CHAR_RIGHT_PARENTHESES: ')', /* ) */ +exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); +exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str); +exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str); +exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1'); +exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/'); - CHAR_ASTERISK: '*', /* * */ +exports.removeBackslashes = str => { + return str.replace(REGEX_REMOVE_BACKSLASH, match => { + return match === '\\' ? '' : match; + }); +}; - // Non-alphabetic chars. - CHAR_AMPERSAND: '&', /* & */ - CHAR_AT: '@', /* @ */ - CHAR_BACKSLASH: '\\', /* \ */ - CHAR_BACKTICK: '`', /* ` */ - CHAR_CARRIAGE_RETURN: '\r', /* \r */ - CHAR_CIRCUMFLEX_ACCENT: '^', /* ^ */ - CHAR_COLON: ':', /* : */ - CHAR_COMMA: ',', /* , */ - CHAR_DOLLAR: '$', /* . */ - CHAR_DOT: '.', /* . */ - CHAR_DOUBLE_QUOTE: '"', /* " */ - CHAR_EQUAL: '=', /* = */ - CHAR_EXCLAMATION_MARK: '!', /* ! */ - CHAR_FORM_FEED: '\f', /* \f */ - CHAR_FORWARD_SLASH: '/', /* / */ - CHAR_HASH: '#', /* # */ - CHAR_HYPHEN_MINUS: '-', /* - */ - CHAR_LEFT_ANGLE_BRACKET: '<', /* < */ - CHAR_LEFT_CURLY_BRACE: '{', /* { */ - CHAR_LEFT_SQUARE_BRACKET: '[', /* [ */ - CHAR_LINE_FEED: '\n', /* \n */ - CHAR_NO_BREAK_SPACE: '\u00A0', /* \u00A0 */ - CHAR_PERCENT: '%', /* % */ - CHAR_PLUS: '+', /* + */ - CHAR_QUESTION_MARK: '?', /* ? */ - CHAR_RIGHT_ANGLE_BRACKET: '>', /* > */ - CHAR_RIGHT_CURLY_BRACE: '}', /* } */ - CHAR_RIGHT_SQUARE_BRACKET: ']', /* ] */ - CHAR_SEMICOLON: ';', /* ; */ - CHAR_SINGLE_QUOTE: '\'', /* ' */ - CHAR_SPACE: ' ', /* */ - CHAR_TAB: '\t', /* \t */ - CHAR_UNDERSCORE: '_', /* _ */ - CHAR_VERTICAL_LINE: '|', /* | */ - CHAR_ZERO_WIDTH_NOBREAK_SPACE: '\uFEFF' /* \uFEFF */ +exports.supportsLookbehinds = () => { + const segs = process.version.slice(1).split('.').map(Number); + if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) { + return true; + } + return false; }; +exports.isWindows = options => { + if (options && typeof options.windows === 'boolean') { + return options.windows; + } + return win32 === true || path.sep === '\\'; +}; -/***/ }), -/* 322 */ -/***/ (function(module, exports, __webpack_require__) { +exports.escapeLast = (input, char, lastIdx) => { + const idx = input.lastIndexOf(char, lastIdx); + if (idx === -1) return input; + if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1); + return `${input.slice(0, idx)}\\${input.slice(idx)}`; +}; -"use strict"; +exports.removePrefix = (input, state = {}) => { + let output = input; + if (output.startsWith('./')) { + output = output.slice(2); + state.prefix = './'; + } + return output; +}; +exports.wrapOutput = (input, state = {}, options = {}) => { + const prepend = options.contains ? '' : '^'; + const append = options.contains ? '' : '$'; -module.exports = __webpack_require__(323); + let output = `${prepend}(?:${input})${append}`; + if (state.negated === true) { + output = `(?:^(?!${output}).*$)`; + } + return output; +}; /***/ }), -/* 323 */ +/* 318 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const scan = __webpack_require__(324); -const parse = __webpack_require__(327); -const utils = __webpack_require__(325); -const constants = __webpack_require__(326); -const isObject = val => val && typeof val === 'object' && !Array.isArray(val); +const WIN_SLASH = '\\\\/'; +const WIN_NO_SLASH = `[^${WIN_SLASH}]`; /** - * Creates a matcher function from one or more glob patterns. The - * returned function takes a string to match as its first argument, - * and returns true if the string is a match. The returned matcher - * function also takes a boolean as the second argument that, when true, - * returns an object with additional information. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch(glob[, options]); - * - * const isMatch = picomatch('*.!(*a)'); - * console.log(isMatch('a.a')); //=> false - * console.log(isMatch('a.b')); //=> true - * ``` - * @name picomatch - * @param {String|Array} `globs` One or more glob patterns. - * @param {Object=} `options` - * @return {Function=} Returns a matcher function. - * @api public + * Posix glob regex */ -const picomatch = (glob, options, returnState = false) => { - if (Array.isArray(glob)) { - const fns = glob.map(input => picomatch(input, options, returnState)); - const arrayMatcher = str => { - for (const isMatch of fns) { - const state = isMatch(str); - if (state) return state; - } - return false; - }; - return arrayMatcher; - } - - const isState = isObject(glob) && glob.tokens && glob.input; - - if (glob === '' || (typeof glob !== 'string' && !isState)) { - throw new TypeError('Expected pattern to be a non-empty string'); - } - - const opts = options || {}; - const posix = utils.isWindows(options); - const regex = isState - ? picomatch.compileRe(glob, options) - : picomatch.makeRe(glob, options, false, true); - - const state = regex.state; - delete regex.state; - - let isIgnored = () => false; - if (opts.ignore) { - const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null }; - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); - } - - const matcher = (input, returnObject = false) => { - const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix }); - const result = { glob, state, regex, posix, input, output, match, isMatch }; - - if (typeof opts.onResult === 'function') { - opts.onResult(result); - } - - if (isMatch === false) { - result.isMatch = false; - return returnObject ? result : false; - } +const DOT_LITERAL = '\\.'; +const PLUS_LITERAL = '\\+'; +const QMARK_LITERAL = '\\?'; +const SLASH_LITERAL = '\\/'; +const ONE_CHAR = '(?=.)'; +const QMARK = '[^/]'; +const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; +const START_ANCHOR = `(?:^|${SLASH_LITERAL})`; +const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; +const NO_DOT = `(?!${DOT_LITERAL})`; +const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; +const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; +const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; +const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; +const STAR = `${QMARK}*?`; - if (isIgnored(input)) { - if (typeof opts.onIgnore === 'function') { - opts.onIgnore(result); - } - result.isMatch = false; - return returnObject ? result : false; - } +const POSIX_CHARS = { + DOT_LITERAL, + PLUS_LITERAL, + QMARK_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + QMARK, + END_ANCHOR, + DOTS_SLASH, + NO_DOT, + NO_DOTS, + NO_DOT_SLASH, + NO_DOTS_SLASH, + QMARK_NO_DOT, + STAR, + START_ANCHOR +}; - if (typeof opts.onMatch === 'function') { - opts.onMatch(result); - } - return returnObject ? result : true; - }; +/** + * Windows glob regex + */ - if (returnState) { - matcher.state = state; - } +const WINDOWS_CHARS = { + ...POSIX_CHARS, - return matcher; + SLASH_LITERAL: `[${WIN_SLASH}]`, + QMARK: WIN_NO_SLASH, + STAR: `${WIN_NO_SLASH}*?`, + DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, + NO_DOT: `(?!${DOT_LITERAL})`, + NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, + NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, + NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, + QMARK_NO_DOT: `[^.${WIN_SLASH}]`, + START_ANCHOR: `(?:^|[${WIN_SLASH}])`, + END_ANCHOR: `(?:[${WIN_SLASH}]|$)` }; /** - * Test `input` with the given `regex`. This is used by the main - * `picomatch()` function to test the input string. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.test(input, regex[, options]); - * - * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/)); - * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' } - * ``` - * @param {String} `input` String to test. - * @param {RegExp} `regex` - * @return {Object} Returns an object with matching info. - * @api public + * POSIX Bracket Regex */ -picomatch.test = (input, regex, options, { glob, posix } = {}) => { - if (typeof input !== 'string') { - throw new TypeError('Expected input to be a string'); - } +const POSIX_REGEX_SOURCE = { + alnum: 'a-zA-Z0-9', + alpha: 'a-zA-Z', + ascii: '\\x00-\\x7F', + blank: ' \\t', + cntrl: '\\x00-\\x1F\\x7F', + digit: '0-9', + graph: '\\x21-\\x7E', + lower: 'a-z', + print: '\\x20-\\x7E ', + punct: '\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~', + space: ' \\t\\r\\n\\v\\f', + upper: 'A-Z', + word: 'A-Za-z0-9_', + xdigit: 'A-Fa-f0-9' +}; - if (input === '') { - return { isMatch: false, output: '' }; - } +module.exports = { + MAX_LENGTH: 1024 * 64, + POSIX_REGEX_SOURCE, - const opts = options || {}; - const format = opts.format || (posix ? utils.toPosixSlashes : null); - let match = input === glob; - let output = (match && format) ? format(input) : input; + // regular expressions + REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, + REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, + REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, + REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, + REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, + REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g, - if (match === false) { - output = format ? format(input) : input; - match = output === glob; - } + // Replace globs with equivalent patterns to reduce parsing time. + REPLACEMENTS: { + '***': '*', + '**/**': '**', + '**/**/**': '**' + }, - if (match === false || opts.capture === true) { - if (opts.matchBase === true || opts.basename === true) { - match = picomatch.matchBase(input, regex, options, posix); - } else { - match = regex.exec(output); - } - } + // Digits + CHAR_0: 48, /* 0 */ + CHAR_9: 57, /* 9 */ - return { isMatch: Boolean(match), match, output }; -}; + // Alphabet chars. + CHAR_UPPERCASE_A: 65, /* A */ + CHAR_LOWERCASE_A: 97, /* a */ + CHAR_UPPERCASE_Z: 90, /* Z */ + CHAR_LOWERCASE_Z: 122, /* z */ -/** - * Match the basename of a filepath. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.matchBase(input, glob[, options]); - * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true - * ``` - * @param {String} `input` String to test. - * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe). - * @return {Boolean} - * @api public - */ + CHAR_LEFT_PARENTHESES: 40, /* ( */ + CHAR_RIGHT_PARENTHESES: 41, /* ) */ -picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => { - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); - return regex.test(path.basename(input)); -}; + CHAR_ASTERISK: 42, /* * */ -/** - * Returns true if **any** of the given glob `patterns` match the specified `string`. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.isMatch(string, patterns[, options]); - * - * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true - * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false - * ``` - * @param {String|Array} str The string to test. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} [options] See available [options](#options). - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ + // Non-alphabetic chars. + CHAR_AMPERSAND: 38, /* & */ + CHAR_AT: 64, /* @ */ + CHAR_BACKWARD_SLASH: 92, /* \ */ + CHAR_CARRIAGE_RETURN: 13, /* \r */ + CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */ + CHAR_COLON: 58, /* : */ + CHAR_COMMA: 44, /* , */ + CHAR_DOT: 46, /* . */ + CHAR_DOUBLE_QUOTE: 34, /* " */ + CHAR_EQUAL: 61, /* = */ + CHAR_EXCLAMATION_MARK: 33, /* ! */ + CHAR_FORM_FEED: 12, /* \f */ + CHAR_FORWARD_SLASH: 47, /* / */ + CHAR_GRAVE_ACCENT: 96, /* ` */ + CHAR_HASH: 35, /* # */ + CHAR_HYPHEN_MINUS: 45, /* - */ + CHAR_LEFT_ANGLE_BRACKET: 60, /* < */ + CHAR_LEFT_CURLY_BRACE: 123, /* { */ + CHAR_LEFT_SQUARE_BRACKET: 91, /* [ */ + CHAR_LINE_FEED: 10, /* \n */ + CHAR_NO_BREAK_SPACE: 160, /* \u00A0 */ + CHAR_PERCENT: 37, /* % */ + CHAR_PLUS: 43, /* + */ + CHAR_QUESTION_MARK: 63, /* ? */ + CHAR_RIGHT_ANGLE_BRACKET: 62, /* > */ + CHAR_RIGHT_CURLY_BRACE: 125, /* } */ + CHAR_RIGHT_SQUARE_BRACKET: 93, /* ] */ + CHAR_SEMICOLON: 59, /* ; */ + CHAR_SINGLE_QUOTE: 39, /* ' */ + CHAR_SPACE: 32, /* */ + CHAR_TAB: 9, /* \t */ + CHAR_UNDERSCORE: 95, /* _ */ + CHAR_VERTICAL_LINE: 124, /* | */ + CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */ -picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); + SEP: path.sep, -/** - * Parse a glob pattern to create the source string for a regular - * expression. - * - * ```js - * const picomatch = require('picomatch'); - * const result = picomatch.parse(pattern[, options]); - * ``` - * @param {String} `pattern` - * @param {Object} `options` - * @return {Object} Returns an object with useful properties and output to be used as a regex source string. - * @api public - */ + /** + * Create EXTGLOB_CHARS + */ -picomatch.parse = (pattern, options) => { - if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options)); - return parse(pattern, { ...options, fastpaths: false }); -}; + extglobChars(chars) { + return { + '!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` }, + '?': { type: 'qmark', open: '(?:', close: ')?' }, + '+': { type: 'plus', open: '(?:', close: ')+' }, + '*': { type: 'star', open: '(?:', close: ')*' }, + '@': { type: 'at', open: '(?:', close: ')' } + }; + }, -/** - * Scan a glob pattern to separate the pattern into segments. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.scan(input[, options]); - * - * const result = picomatch.scan('!./foo/*.js'); - * console.log(result); - * { prefix: '!./', - * input: '!./foo/*.js', - * start: 3, - * base: 'foo', - * glob: '*.js', - * isBrace: false, - * isBracket: false, - * isGlob: true, - * isExtglob: false, - * isGlobstar: false, - * negated: true } - * ``` - * @param {String} `input` Glob pattern to scan. - * @param {Object} `options` - * @return {Object} Returns an object with - * @api public - */ + /** + * Create GLOB_CHARS + */ -picomatch.scan = (input, options) => scan(input, options); + globChars(win32) { + return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; + } +}; -/** - * Create a regular expression from a parsed glob pattern. - * - * ```js - * const picomatch = require('picomatch'); - * const state = picomatch.parse('*.js'); - * // picomatch.compileRe(state[, options]); - * - * console.log(picomatch.compileRe(state)); - * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ - * ``` - * @param {String} `state` The object returned from the `.parse` method. - * @param {Object} `options` - * @return {RegExp} Returns a regex created from the given pattern. - * @api public - */ -picomatch.compileRe = (parsed, options, returnOutput = false, returnState = false) => { - if (returnOutput === true) { - return parsed.output; - } +/***/ }), +/* 319 */ +/***/ (function(module, exports, __webpack_require__) { - const opts = options || {}; - const prepend = opts.contains ? '' : '^'; - const append = opts.contains ? '' : '$'; +"use strict"; - let source = `${prepend}(?:${parsed.output})${append}`; - if (parsed && parsed.negated === true) { - source = `^(?!${source}).*$`; - } - const regex = picomatch.toRegex(source, options); - if (returnState === true) { - regex.state = parsed; - } +const constants = __webpack_require__(318); +const utils = __webpack_require__(317); - return regex; -}; +/** + * Constants + */ -picomatch.makeRe = (input, options, returnOutput = false, returnState = false) => { - if (!input || typeof input !== 'string') { - throw new TypeError('Expected a non-empty string'); - } +const { + MAX_LENGTH, + POSIX_REGEX_SOURCE, + REGEX_NON_SPECIAL_CHARS, + REGEX_SPECIAL_CHARS_BACKREF, + REPLACEMENTS +} = constants; - const opts = options || {}; - let parsed = { negated: false, fastpaths: true }; - let prefix = ''; - let output; +/** + * Helpers + */ - if (input.startsWith('./')) { - input = input.slice(2); - prefix = parsed.prefix = './'; +const expandRange = (args, options) => { + if (typeof options.expandRange === 'function') { + return options.expandRange(...args, options); } - if (opts.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { - output = parse.fastpaths(input, options); - } + args.sort(); + const value = `[${args.join('-')}]`; - if (output === undefined) { - parsed = parse(input, options); - parsed.prefix = prefix + (parsed.prefix || ''); - } else { - parsed.output = output; + try { + /* eslint-disable-next-line no-new */ + new RegExp(value); + } catch (ex) { + return args.map(v => utils.escapeRegex(v)).join('..'); } - return picomatch.compileRe(parsed, options, returnOutput, returnState); + return value; }; /** - * Create a regular expression from the given regex source string. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.toRegex(source[, options]); - * - * const { output } = picomatch.parse('*.js'); - * console.log(picomatch.toRegex(output)); - * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ - * ``` - * @param {String} `source` Regular expression source string. - * @param {Object} `options` - * @return {RegExp} - * @api public + * Create the message for a syntax error */ -picomatch.toRegex = (source, options) => { - try { - const opts = options || {}; - return new RegExp(source, opts.flags || (opts.nocase ? 'i' : '')); - } catch (err) { - if (options && options.debug === true) throw err; - return /$^/; - } +const syntaxError = (type, char) => { + return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; }; /** - * Picomatch constants. + * Parse the given input string. + * @param {String} input + * @param {Object} options * @return {Object} */ -picomatch.constants = constants; +const parse = (input, options) => { + if (typeof input !== 'string') { + throw new TypeError('Expected a string'); + } -/** - * Expose "picomatch" - */ + input = REPLACEMENTS[input] || input; -module.exports = picomatch; + const opts = { ...options }; + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + let len = input.length; + if (len > max) { + throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); + } -/***/ }), -/* 324 */ -/***/ (function(module, exports, __webpack_require__) { + const bos = { type: 'bos', value: '', output: opts.prepend || '' }; + const tokens = [bos]; -"use strict"; + const capture = opts.capture ? '' : '?:'; + const win32 = utils.isWindows(options); + // create constants based on platform, for windows or posix + const PLATFORM_CHARS = constants.globChars(win32); + const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS); -const utils = __webpack_require__(325); -const { - CHAR_ASTERISK, /* * */ - CHAR_AT, /* @ */ - CHAR_BACKWARD_SLASH, /* \ */ - CHAR_COMMA, /* , */ - CHAR_DOT, /* . */ - CHAR_EXCLAMATION_MARK, /* ! */ - CHAR_FORWARD_SLASH, /* / */ - CHAR_LEFT_CURLY_BRACE, /* { */ - CHAR_LEFT_PARENTHESES, /* ( */ - CHAR_LEFT_SQUARE_BRACKET, /* [ */ - CHAR_PLUS, /* + */ - CHAR_QUESTION_MARK, /* ? */ - CHAR_RIGHT_CURLY_BRACE, /* } */ - CHAR_RIGHT_PARENTHESES, /* ) */ - CHAR_RIGHT_SQUARE_BRACKET /* ] */ -} = __webpack_require__(326); + const { + DOT_LITERAL, + PLUS_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + DOTS_SLASH, + NO_DOT, + NO_DOT_SLASH, + NO_DOTS_SLASH, + QMARK, + QMARK_NO_DOT, + STAR, + START_ANCHOR + } = PLATFORM_CHARS; -const isPathSeparator = code => { - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; -}; + const globstar = (opts) => { + return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; + }; -const depth = token => { - if (token.isPrefix !== true) { - token.depth = token.isGlobstar ? Infinity : 1; + const nodot = opts.dot ? '' : NO_DOT; + const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; + let star = opts.bash === true ? globstar(opts) : STAR; + + if (opts.capture) { + star = `(${star})`; } -}; -/** - * Quickly scans a glob pattern and returns an object with a handful of - * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists), - * `glob` (the actual pattern), and `negated` (true if the path starts with `!`). - * - * ```js - * const pm = require('picomatch'); - * console.log(pm.scan('foo/bar/*.js')); - * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' } - * ``` - * @param {String} `str` - * @param {Object} `options` - * @return {Object} Returns an object with tokens and regex source string. - * @api public - */ + // minimatch options support + if (typeof opts.noext === 'boolean') { + opts.noextglob = opts.noext; + } -const scan = (input, options) => { - const opts = options || {}; + const state = { + input, + index: -1, + start: 0, + dot: opts.dot === true, + consumed: '', + output: '', + prefix: '', + backtrack: false, + negated: false, + brackets: 0, + braces: 0, + parens: 0, + quotes: 0, + globstar: false, + tokens + }; - const length = input.length - 1; - const scanToEnd = opts.parts === true || opts.scanToEnd === true; - const slashes = []; - const tokens = []; - const parts = []; + input = utils.removePrefix(input, state); + len = input.length; - let str = input; - let index = -1; - let start = 0; - let lastIndex = 0; - let isBrace = false; - let isBracket = false; - let isGlob = false; - let isExtglob = false; - let isGlobstar = false; - let braceEscaped = false; - let backslashes = false; - let negated = false; - let finished = false; - let braces = 0; - let prev; - let code; - let token = { value: '', depth: 0, isGlob: false }; + const extglobs = []; + const braces = []; + const stack = []; + let prev = bos; + let value; - const eos = () => index >= length; - const peek = () => str.charCodeAt(index + 1); - const advance = () => { - prev = code; - return str.charCodeAt(++index); + /** + * Tokenizing helpers + */ + + const eos = () => state.index === len - 1; + const peek = state.peek = (n = 1) => input[state.index + n]; + const advance = state.advance = () => input[++state.index]; + const remaining = () => input.slice(state.index + 1); + const consume = (value = '', num = 0) => { + state.consumed += value; + state.index += num; + }; + const append = token => { + state.output += token.output != null ? token.output : token.value; + consume(token.value); }; - while (index < length) { - code = advance(); - let next; + const negate = () => { + let count = 1; - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); + while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) { + advance(); + state.start++; + count++; + } - if (code === CHAR_LEFT_CURLY_BRACE) { - braceEscaped = true; - } - continue; + if (count % 2 === 0) { + return false; } - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { - braces++; + state.negated = true; + state.start++; + return true; + }; - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } + const increment = type => { + state[type]++; + stack.push(type); + }; - if (code === CHAR_LEFT_CURLY_BRACE) { - braces++; - continue; - } + const decrement = type => { + state[type]--; + stack.pop(); + }; - if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; + /** + * Push tokens onto the tokens array. This helper speeds up + * tokenizing by 1) helping us avoid backtracking as much as possible, + * and 2) helping us avoid creating extra tokens when consecutive + * characters are plain text. This improves performance and simplifies + * lookbehinds. + */ - if (scanToEnd === true) { - continue; - } + const push = tok => { + if (prev.type === 'globstar') { + const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace'); + const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren')); - break; - } + if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) { + state.output = state.output.slice(0, -prev.output.length); + prev.type = 'star'; + prev.value = '*'; + prev.output = star; + state.output += prev.output; + } + } - if (braceEscaped !== true && code === CHAR_COMMA) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; + if (extglobs.length && tok.type !== 'paren' && !EXTGLOB_CHARS[tok.value]) { + extglobs[extglobs.length - 1].inner += tok.value; + } - if (scanToEnd === true) { - continue; - } + if (tok.value || tok.output) append(tok); + if (prev && prev.type === 'text' && tok.type === 'text') { + prev.value += tok.value; + prev.output = (prev.output || '') + tok.value; + return; + } - break; - } + tok.prev = prev; + tokens.push(tok); + prev = tok; + }; - if (code === CHAR_RIGHT_CURLY_BRACE) { - braces--; + const extglobOpen = (type, value) => { + const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' }; - if (braces === 0) { - braceEscaped = false; - isBrace = token.isBrace = true; - finished = true; - break; - } - } - } + token.prev = prev; + token.parens = state.parens; + token.output = state.output; + const output = (opts.capture ? '(' : '') + token.open; - if (scanToEnd === true) { - continue; - } + increment('parens'); + push({ type, value, output: state.output ? '' : ONE_CHAR }); + push({ type: 'paren', extglob: true, value: advance(), output }); + extglobs.push(token); + }; - break; - } + const extglobClose = token => { + let output = token.close + (opts.capture ? ')' : ''); - if (code === CHAR_FORWARD_SLASH) { - slashes.push(index); - tokens.push(token); - token = { value: '', depth: 0, isGlob: false }; + if (token.type === 'negate') { + let extglobStar = star; - if (finished === true) continue; - if (prev === CHAR_DOT && index === (start + 1)) { - start += 2; - continue; + if (token.inner && token.inner.length > 1 && token.inner.includes('/')) { + extglobStar = globstar(opts); } - lastIndex = index + 1; - continue; - } - - if (opts.noext !== true) { - const isExtglobChar = code === CHAR_PLUS - || code === CHAR_AT - || code === CHAR_ASTERISK - || code === CHAR_QUESTION_MARK - || code === CHAR_EXCLAMATION_MARK; - - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - isExtglob = token.isExtglob = true; - finished = true; - - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } + if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { + output = token.close = `)$))${extglobStar}`; + } - if (code === CHAR_RIGHT_PARENTHESES) { - isGlob = token.isGlob = true; - finished = true; - break; - } - } - continue; - } - break; + if (token.prev.type === 'bos' && eos()) { + state.negatedExtglob = true; } } - if (code === CHAR_ASTERISK) { - if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true; - isGlob = token.isGlob = true; - finished = true; + push({ type: 'paren', extglob: true, value, output }); + decrement('parens'); + }; - if (scanToEnd === true) { - continue; - } - break; - } + /** + * Fast paths + */ - if (code === CHAR_QUESTION_MARK) { - isGlob = token.isGlob = true; - finished = true; + if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { + let backslashes = false; - if (scanToEnd === true) { - continue; + let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { + if (first === '\\') { + backslashes = true; + return m; } - break; - } - if (code === CHAR_LEFT_SQUARE_BRACKET) { - while (eos() !== true && (next = advance())) { - if (next === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; + if (first === '?') { + if (esc) { + return esc + first + (rest ? QMARK.repeat(rest.length) : ''); + } + if (index === 0) { + return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ''); } + return QMARK.repeat(chars.length); + } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - isBracket = token.isBracket = true; - isGlob = token.isGlob = true; - finished = true; + if (first === '.') { + return DOT_LITERAL.repeat(chars.length); + } - if (scanToEnd === true) { - continue; - } - break; + if (first === '*') { + if (esc) { + return esc + first + (rest ? star : ''); } + return star; + } + return esc ? m : `\\${m}`; + }); + + if (backslashes === true) { + if (opts.unescape === true) { + output = output.replace(/\\/g, ''); + } else { + output = output.replace(/\\+/g, m => { + return m.length % 2 === 0 ? '\\\\' : (m ? '\\' : ''); + }); } } - if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { - negated = token.negated = true; - start++; + if (output === input && opts.contains === true) { + state.output = input; + return state; + } + + state.output = utils.wrapOutput(output, state, options); + return state; + } + + /** + * Tokenize input until we reach end-of-string + */ + + while (!eos()) { + value = advance(); + + if (value === '\u0000') { continue; } - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; + /** + * Escaped characters + */ - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_LEFT_PARENTHESES) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } + if (value === '\\') { + const next = peek(); - if (code === CHAR_RIGHT_PARENTHESES) { - finished = true; - break; - } - } + if (next === '/' && opts.bash !== true) { continue; } - break; - } - if (isGlob === true) { - finished = true; + if (next === '.' || next === ';') { + continue; + } - if (scanToEnd === true) { + if (!next) { + value += '\\'; + push({ type: 'text', value }); continue; } - break; + // collapse slashes to reduce potential for exploits + const match = /^\\+/.exec(remaining()); + let slashes = 0; + + if (match && match[0].length > 2) { + slashes = match[0].length; + state.index += slashes; + if (slashes % 2 !== 0) { + value += '\\'; + } + } + + if (opts.unescape === true) { + value = advance() || ''; + } else { + value += advance() || ''; + } + + if (state.brackets === 0) { + push({ type: 'text', value }); + continue; + } } - } - if (opts.noext === true) { - isExtglob = false; - isGlob = false; - } + /** + * If we're inside a regex character class, continue + * until we reach the closing bracket. + */ - let base = str; - let prefix = ''; - let glob = ''; + if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) { + if (opts.posix !== false && value === ':') { + const inner = prev.value.slice(1); + if (inner.includes('[')) { + prev.posix = true; - if (start > 0) { - prefix = str.slice(0, start); - str = str.slice(start); - lastIndex -= start; - } + if (inner.includes(':')) { + const idx = prev.value.lastIndexOf('['); + const pre = prev.value.slice(0, idx); + const rest = prev.value.slice(idx + 2); + const posix = POSIX_REGEX_SOURCE[rest]; + if (posix) { + prev.value = pre + posix; + state.backtrack = true; + advance(); - if (base && isGlob === true && lastIndex > 0) { - base = str.slice(0, lastIndex); - glob = str.slice(lastIndex); - } else if (isGlob === true) { - base = ''; - glob = str; - } else { - base = str; - } + if (!bos.output && tokens.indexOf(prev) === 1) { + bos.output = ONE_CHAR; + } + continue; + } + } + } + } - if (base && base !== '' && base !== '/' && base !== str) { - if (isPathSeparator(base.charCodeAt(base.length - 1))) { - base = base.slice(0, -1); + if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) { + value = `\\${value}`; + } + + if (value === ']' && (prev.value === '[' || prev.value === '[^')) { + value = `\\${value}`; + } + + if (opts.posix === true && value === '!' && prev.value === '[') { + value = '^'; + } + + prev.value += value; + append({ value }); + continue; } - } - if (opts.unescape === true) { - if (glob) glob = utils.removeBackslashes(glob); + /** + * If we're inside a quoted string, continue + * until we reach the closing double quote. + */ - if (base && backslashes === true) { - base = utils.removeBackslashes(base); + if (state.quotes === 1 && value !== '"') { + value = utils.escapeRegex(value); + prev.value += value; + append({ value }); + continue; } - } - const state = { - prefix, - input, - start, - base, - glob, - isBrace, - isBracket, - isGlob, - isExtglob, - isGlobstar, - negated - }; + /** + * Double quotes + */ - if (opts.tokens === true) { - state.maxDepth = 0; - if (!isPathSeparator(code)) { - tokens.push(token); + if (value === '"') { + state.quotes = state.quotes === 1 ? 0 : 1; + if (opts.keepQuotes === true) { + push({ type: 'text', value }); + } + continue; } - state.tokens = tokens; - } - if (opts.parts === true || opts.tokens === true) { - let prevIndex; + /** + * Parentheses + */ - for (let idx = 0; idx < slashes.length; idx++) { - const n = prevIndex ? prevIndex + 1 : start; - const i = slashes[idx]; - const value = input.slice(n, i); - if (opts.tokens) { - if (idx === 0 && start !== 0) { - tokens[idx].isPrefix = true; - tokens[idx].value = prefix; - } else { - tokens[idx].value = value; - } - depth(tokens[idx]); - state.maxDepth += tokens[idx].depth; + if (value === '(') { + increment('parens'); + push({ type: 'paren', value }); + continue; + } + + if (value === ')') { + if (state.parens === 0 && opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('opening', '(')); } - if (idx !== 0 || value !== '') { - parts.push(value); + + const extglob = extglobs[extglobs.length - 1]; + if (extglob && state.parens === extglob.parens + 1) { + extglobClose(extglobs.pop()); + continue; } - prevIndex = i; + + push({ type: 'paren', value, output: state.parens ? ')' : '\\)' }); + decrement('parens'); + continue; } - if (prevIndex && prevIndex + 1 < input.length) { - const value = input.slice(prevIndex + 1); - parts.push(value); + /** + * Square brackets + */ - if (opts.tokens) { - tokens[tokens.length - 1].value = value; - depth(tokens[tokens.length - 1]); - state.maxDepth += tokens[tokens.length - 1].depth; + if (value === '[') { + if (opts.nobracket === true || !remaining().includes(']')) { + if (opts.nobracket !== true && opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('closing', ']')); + } + + value = `\\${value}`; + } else { + increment('brackets'); } + + push({ type: 'bracket', value }); + continue; } - state.slashes = slashes; - state.parts = parts; - } + if (value === ']') { + if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) { + push({ type: 'text', value, output: `\\${value}` }); + continue; + } - return state; -}; + if (state.brackets === 0) { + if (opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('opening', '[')); + } -module.exports = scan; + push({ type: 'text', value, output: `\\${value}` }); + continue; + } + decrement('brackets'); -/***/ }), -/* 325 */ -/***/ (function(module, exports, __webpack_require__) { + const prevValue = prev.value.slice(1); + if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) { + value = `/${value}`; + } -"use strict"; + prev.value += value; + append({ value }); + // when literal brackets are explicitly disabled + // assume we should match with a regex character class + if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) { + continue; + } -const path = __webpack_require__(4); -const win32 = process.platform === 'win32'; -const { - REGEX_BACKSLASH, - REGEX_REMOVE_BACKSLASH, - REGEX_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_GLOBAL -} = __webpack_require__(326); + const escaped = utils.escapeRegex(prev.value); + state.output = state.output.slice(0, -prev.value.length); -exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); -exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str); -exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str); -exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1'); -exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/'); + // when literal brackets are explicitly enabled + // assume we should escape the brackets to match literal characters + if (opts.literalBrackets === true) { + state.output += escaped; + prev.value = escaped; + continue; + } -exports.removeBackslashes = str => { - return str.replace(REGEX_REMOVE_BACKSLASH, match => { - return match === '\\' ? '' : match; - }); -}; + // when the user specifies nothing, try to match both + prev.value = `(${capture}${escaped}|${prev.value})`; + state.output += prev.value; + continue; + } -exports.supportsLookbehinds = () => { - const segs = process.version.slice(1).split('.').map(Number); - if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) { - return true; - } - return false; -}; + /** + * Braces + */ -exports.isWindows = options => { - if (options && typeof options.windows === 'boolean') { - return options.windows; - } - return win32 === true || path.sep === '\\'; -}; + if (value === '{' && opts.nobrace !== true) { + increment('braces'); -exports.escapeLast = (input, char, lastIdx) => { - const idx = input.lastIndexOf(char, lastIdx); - if (idx === -1) return input; - if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1); - return `${input.slice(0, idx)}\\${input.slice(idx)}`; -}; + const open = { + type: 'brace', + value, + output: '(', + outputIndex: state.output.length, + tokensIndex: state.tokens.length + }; -exports.removePrefix = (input, state = {}) => { - let output = input; - if (output.startsWith('./')) { - output = output.slice(2); - state.prefix = './'; - } - return output; -}; + braces.push(open); + push(open); + continue; + } -exports.wrapOutput = (input, state = {}, options = {}) => { - const prepend = options.contains ? '' : '^'; - const append = options.contains ? '' : '$'; + if (value === '}') { + const brace = braces[braces.length - 1]; - let output = `${prepend}(?:${input})${append}`; - if (state.negated === true) { - output = `(?:^(?!${output}).*$)`; - } - return output; -}; + if (opts.nobrace === true || !brace) { + push({ type: 'text', value, output: value }); + continue; + } + let output = ')'; -/***/ }), -/* 326 */ -/***/ (function(module, exports, __webpack_require__) { + if (brace.dots === true) { + const arr = tokens.slice(); + const range = []; -"use strict"; + for (let i = arr.length - 1; i >= 0; i--) { + tokens.pop(); + if (arr[i].type === 'brace') { + break; + } + if (arr[i].type !== 'dots') { + range.unshift(arr[i].value); + } + } + output = expandRange(range, opts); + state.backtrack = true; + } -const path = __webpack_require__(4); -const WIN_SLASH = '\\\\/'; -const WIN_NO_SLASH = `[^${WIN_SLASH}]`; + if (brace.comma !== true && brace.dots !== true) { + const out = state.output.slice(0, brace.outputIndex); + const toks = state.tokens.slice(brace.tokensIndex); + brace.value = brace.output = '\\{'; + value = output = '\\}'; + state.output = out; + for (const t of toks) { + state.output += (t.output || t.value); + } + } -/** - * Posix glob regex - */ + push({ type: 'brace', value, output }); + decrement('braces'); + braces.pop(); + continue; + } -const DOT_LITERAL = '\\.'; -const PLUS_LITERAL = '\\+'; -const QMARK_LITERAL = '\\?'; -const SLASH_LITERAL = '\\/'; -const ONE_CHAR = '(?=.)'; -const QMARK = '[^/]'; -const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; -const START_ANCHOR = `(?:^|${SLASH_LITERAL})`; -const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; -const NO_DOT = `(?!${DOT_LITERAL})`; -const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; -const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; -const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; -const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; -const STAR = `${QMARK}*?`; - -const POSIX_CHARS = { - DOT_LITERAL, - PLUS_LITERAL, - QMARK_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - QMARK, - END_ANCHOR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK_NO_DOT, - STAR, - START_ANCHOR -}; + /** + * Pipes + */ -/** - * Windows glob regex - */ + if (value === '|') { + if (extglobs.length > 0) { + extglobs[extglobs.length - 1].conditions++; + } + push({ type: 'text', value }); + continue; + } -const WINDOWS_CHARS = { - ...POSIX_CHARS, + /** + * Commas + */ - SLASH_LITERAL: `[${WIN_SLASH}]`, - QMARK: WIN_NO_SLASH, - STAR: `${WIN_NO_SLASH}*?`, - DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, - NO_DOT: `(?!${DOT_LITERAL})`, - NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, - NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - QMARK_NO_DOT: `[^.${WIN_SLASH}]`, - START_ANCHOR: `(?:^|[${WIN_SLASH}])`, - END_ANCHOR: `(?:[${WIN_SLASH}]|$)` -}; + if (value === ',') { + let output = value; -/** - * POSIX Bracket Regex - */ + const brace = braces[braces.length - 1]; + if (brace && stack[stack.length - 1] === 'braces') { + brace.comma = true; + output = '|'; + } -const POSIX_REGEX_SOURCE = { - alnum: 'a-zA-Z0-9', - alpha: 'a-zA-Z', - ascii: '\\x00-\\x7F', - blank: ' \\t', - cntrl: '\\x00-\\x1F\\x7F', - digit: '0-9', - graph: '\\x21-\\x7E', - lower: 'a-z', - print: '\\x20-\\x7E ', - punct: '\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~', - space: ' \\t\\r\\n\\v\\f', - upper: 'A-Z', - word: 'A-Za-z0-9_', - xdigit: 'A-Fa-f0-9' -}; + push({ type: 'comma', value, output }); + continue; + } -module.exports = { - MAX_LENGTH: 1024 * 64, - POSIX_REGEX_SOURCE, + /** + * Slashes + */ - // regular expressions - REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, - REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, - REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, - REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, - REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, - REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g, + if (value === '/') { + // if the beginning of the glob is "./", advance the start + // to the current index, and don't add the "./" characters + // to the state. This greatly simplifies lookbehinds when + // checking for BOS characters like "!" and "." (not "./") + if (prev.type === 'dot' && state.index === state.start + 1) { + state.start = state.index + 1; + state.consumed = ''; + state.output = ''; + tokens.pop(); + prev = bos; // reset "prev" to the first token + continue; + } - // Replace globs with equivalent patterns to reduce parsing time. - REPLACEMENTS: { - '***': '*', - '**/**': '**', - '**/**/**': '**' - }, + push({ type: 'slash', value, output: SLASH_LITERAL }); + continue; + } - // Digits - CHAR_0: 48, /* 0 */ - CHAR_9: 57, /* 9 */ + /** + * Dots + */ - // Alphabet chars. - CHAR_UPPERCASE_A: 65, /* A */ - CHAR_LOWERCASE_A: 97, /* a */ - CHAR_UPPERCASE_Z: 90, /* Z */ - CHAR_LOWERCASE_Z: 122, /* z */ + if (value === '.') { + if (state.braces > 0 && prev.type === 'dot') { + if (prev.value === '.') prev.output = DOT_LITERAL; + const brace = braces[braces.length - 1]; + prev.type = 'dots'; + prev.output += value; + prev.value += value; + brace.dots = true; + continue; + } - CHAR_LEFT_PARENTHESES: 40, /* ( */ - CHAR_RIGHT_PARENTHESES: 41, /* ) */ + if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') { + push({ type: 'text', value, output: DOT_LITERAL }); + continue; + } - CHAR_ASTERISK: 42, /* * */ + push({ type: 'dot', value, output: DOT_LITERAL }); + continue; + } - // Non-alphabetic chars. - CHAR_AMPERSAND: 38, /* & */ - CHAR_AT: 64, /* @ */ - CHAR_BACKWARD_SLASH: 92, /* \ */ - CHAR_CARRIAGE_RETURN: 13, /* \r */ - CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */ - CHAR_COLON: 58, /* : */ - CHAR_COMMA: 44, /* , */ - CHAR_DOT: 46, /* . */ - CHAR_DOUBLE_QUOTE: 34, /* " */ - CHAR_EQUAL: 61, /* = */ - CHAR_EXCLAMATION_MARK: 33, /* ! */ - CHAR_FORM_FEED: 12, /* \f */ - CHAR_FORWARD_SLASH: 47, /* / */ - CHAR_GRAVE_ACCENT: 96, /* ` */ - CHAR_HASH: 35, /* # */ - CHAR_HYPHEN_MINUS: 45, /* - */ - CHAR_LEFT_ANGLE_BRACKET: 60, /* < */ - CHAR_LEFT_CURLY_BRACE: 123, /* { */ - CHAR_LEFT_SQUARE_BRACKET: 91, /* [ */ - CHAR_LINE_FEED: 10, /* \n */ - CHAR_NO_BREAK_SPACE: 160, /* \u00A0 */ - CHAR_PERCENT: 37, /* % */ - CHAR_PLUS: 43, /* + */ - CHAR_QUESTION_MARK: 63, /* ? */ - CHAR_RIGHT_ANGLE_BRACKET: 62, /* > */ - CHAR_RIGHT_CURLY_BRACE: 125, /* } */ - CHAR_RIGHT_SQUARE_BRACKET: 93, /* ] */ - CHAR_SEMICOLON: 59, /* ; */ - CHAR_SINGLE_QUOTE: 39, /* ' */ - CHAR_SPACE: 32, /* */ - CHAR_TAB: 9, /* \t */ - CHAR_UNDERSCORE: 95, /* _ */ - CHAR_VERTICAL_LINE: 124, /* | */ - CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */ + /** + * Question marks + */ - SEP: path.sep, + if (value === '?') { + const isGroup = prev && prev.value === '('; + if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + extglobOpen('qmark', value); + continue; + } - /** - * Create EXTGLOB_CHARS - */ + if (prev && prev.type === 'paren') { + const next = peek(); + let output = value; - extglobChars(chars) { - return { - '!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` }, - '?': { type: 'qmark', open: '(?:', close: ')?' }, - '+': { type: 'plus', open: '(?:', close: ')+' }, - '*': { type: 'star', open: '(?:', close: ')*' }, - '@': { type: 'at', open: '(?:', close: ')' } - }; - }, + if (next === '<' && !utils.supportsLookbehinds()) { + throw new Error('Node.js v10 or higher is required for regex lookbehinds'); + } - /** - * Create GLOB_CHARS - */ + if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\w+>)/.test(remaining()))) { + output = `\\${value}`; + } - globChars(win32) { - return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; - } -}; + push({ type: 'text', value, output }); + continue; + } + if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) { + push({ type: 'qmark', value, output: QMARK_NO_DOT }); + continue; + } -/***/ }), -/* 327 */ -/***/ (function(module, exports, __webpack_require__) { + push({ type: 'qmark', value, output: QMARK }); + continue; + } -"use strict"; + /** + * Exclamation + */ + if (value === '!') { + if (opts.noextglob !== true && peek() === '(') { + if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) { + extglobOpen('negate', value); + continue; + } + } -const constants = __webpack_require__(326); -const utils = __webpack_require__(325); + if (opts.nonegate !== true && state.index === 0) { + negate(); + continue; + } + } -/** - * Constants - */ + /** + * Plus + */ -const { - MAX_LENGTH, - POSIX_REGEX_SOURCE, - REGEX_NON_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_BACKREF, - REPLACEMENTS -} = constants; + if (value === '+') { + if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + extglobOpen('plus', value); + continue; + } -/** - * Helpers - */ + if ((prev && prev.value === '(') || opts.regex === false) { + push({ type: 'plus', value, output: PLUS_LITERAL }); + continue; + } -const expandRange = (args, options) => { - if (typeof options.expandRange === 'function') { - return options.expandRange(...args, options); - } + if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) { + push({ type: 'plus', value }); + continue; + } - args.sort(); - const value = `[${args.join('-')}]`; + push({ type: 'plus', value: PLUS_LITERAL }); + continue; + } - try { - /* eslint-disable-next-line no-new */ - new RegExp(value); - } catch (ex) { - return args.map(v => utils.escapeRegex(v)).join('..'); - } + /** + * Plain text + */ - return value; -}; + if (value === '@') { + if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + push({ type: 'at', extglob: true, value, output: '' }); + continue; + } -/** - * Create the message for a syntax error - */ + push({ type: 'text', value }); + continue; + } -const syntaxError = (type, char) => { - return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; -}; + /** + * Plain text + */ -/** - * Parse the given input string. - * @param {String} input - * @param {Object} options - * @return {Object} - */ + if (value !== '*') { + if (value === '$' || value === '^') { + value = `\\${value}`; + } -const parse = (input, options) => { - if (typeof input !== 'string') { - throw new TypeError('Expected a string'); - } + const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); + if (match) { + value += match[0]; + state.index += match[0].length; + } - input = REPLACEMENTS[input] || input; + push({ type: 'text', value }); + continue; + } - const opts = { ...options }; - const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + /** + * Stars + */ - let len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } + if (prev && (prev.type === 'globstar' || prev.star === true)) { + prev.type = 'star'; + prev.star = true; + prev.value += value; + prev.output = star; + state.backtrack = true; + state.globstar = true; + consume(value); + continue; + } - const bos = { type: 'bos', value: '', output: opts.prepend || '' }; - const tokens = [bos]; + let rest = remaining(); + if (opts.noextglob !== true && /^\([^?]/.test(rest)) { + extglobOpen('star', value); + continue; + } - const capture = opts.capture ? '' : '?:'; - const win32 = utils.isWindows(options); + if (prev.type === 'star') { + if (opts.noglobstar === true) { + consume(value); + continue; + } - // create constants based on platform, for windows or posix - const PLATFORM_CHARS = constants.globChars(win32); - const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS); + const prior = prev.prev; + const before = prior.prev; + const isStart = prior.type === 'slash' || prior.type === 'bos'; + const afterStar = before && (before.type === 'star' || before.type === 'globstar'); - const { - DOT_LITERAL, - PLUS_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK, - QMARK_NO_DOT, - STAR, - START_ANCHOR - } = PLATFORM_CHARS; + if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) { + push({ type: 'star', value, output: '' }); + continue; + } - const globstar = (opts) => { - return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; + const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace'); + const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren'); + if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) { + push({ type: 'star', value, output: '' }); + continue; + } - const nodot = opts.dot ? '' : NO_DOT; - const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; - let star = opts.bash === true ? globstar(opts) : STAR; + // strip consecutive `/**/` + while (rest.slice(0, 3) === '/**') { + const after = input[state.index + 4]; + if (after && after !== '/') { + break; + } + rest = rest.slice(3); + consume('/**', 3); + } - if (opts.capture) { - star = `(${star})`; - } + if (prior.type === 'bos' && eos()) { + prev.type = 'globstar'; + prev.value += value; + prev.output = globstar(opts); + state.output = prev.output; + state.globstar = true; + consume(value); + continue; + } - // minimatch options support - if (typeof opts.noext === 'boolean') { - opts.noextglob = opts.noext; - } + if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) { + state.output = state.output.slice(0, -(prior.output + prev.output).length); + prior.output = `(?:${prior.output}`; - const state = { - input, - index: -1, - start: 0, - dot: opts.dot === true, - consumed: '', - output: '', - prefix: '', - backtrack: false, - negated: false, - brackets: 0, - braces: 0, - parens: 0, - quotes: 0, - globstar: false, - tokens - }; + prev.type = 'globstar'; + prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)'); + prev.value += value; + state.globstar = true; + state.output += prior.output + prev.output; + consume(value); + continue; + } - input = utils.removePrefix(input, state); - len = input.length; + if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') { + const end = rest[1] !== void 0 ? '|$' : ''; - const extglobs = []; - const braces = []; - const stack = []; - let prev = bos; - let value; + state.output = state.output.slice(0, -(prior.output + prev.output).length); + prior.output = `(?:${prior.output}`; - /** - * Tokenizing helpers - */ + prev.type = 'globstar'; + prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; + prev.value += value; - const eos = () => state.index === len - 1; - const peek = state.peek = (n = 1) => input[state.index + n]; - const advance = state.advance = () => input[++state.index]; - const remaining = () => input.slice(state.index + 1); - const consume = (value = '', num = 0) => { - state.consumed += value; - state.index += num; - }; - const append = token => { - state.output += token.output != null ? token.output : token.value; - consume(token.value); - }; + state.output += prior.output + prev.output; + state.globstar = true; - const negate = () => { - let count = 1; + consume(value + advance()); - while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) { - advance(); - state.start++; - count++; - } + push({ type: 'slash', value: '/', output: '' }); + continue; + } - if (count % 2 === 0) { - return false; - } - - state.negated = true; - state.start++; - return true; - }; + if (prior.type === 'bos' && rest[0] === '/') { + prev.type = 'globstar'; + prev.value += value; + prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; + state.output = prev.output; + state.globstar = true; + consume(value + advance()); + push({ type: 'slash', value: '/', output: '' }); + continue; + } - const increment = type => { - state[type]++; - stack.push(type); - }; + // remove single star from output + state.output = state.output.slice(0, -prev.output.length); - const decrement = type => { - state[type]--; - stack.pop(); - }; + // reset previous token to globstar + prev.type = 'globstar'; + prev.output = globstar(opts); + prev.value += value; - /** - * Push tokens onto the tokens array. This helper speeds up - * tokenizing by 1) helping us avoid backtracking as much as possible, - * and 2) helping us avoid creating extra tokens when consecutive - * characters are plain text. This improves performance and simplifies - * lookbehinds. - */ + // reset output with globstar + state.output += prev.output; + state.globstar = true; + consume(value); + continue; + } - const push = tok => { - if (prev.type === 'globstar') { - const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace'); - const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren')); + const token = { type: 'star', value, output: star }; - if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) { - state.output = state.output.slice(0, -prev.output.length); - prev.type = 'star'; - prev.value = '*'; - prev.output = star; - state.output += prev.output; + if (opts.bash === true) { + token.output = '.*?'; + if (prev.type === 'bos' || prev.type === 'slash') { + token.output = nodot + token.output; } + push(token); + continue; } - if (extglobs.length && tok.type !== 'paren' && !EXTGLOB_CHARS[tok.value]) { - extglobs[extglobs.length - 1].inner += tok.value; - } - - if (tok.value || tok.output) append(tok); - if (prev && prev.type === 'text' && tok.type === 'text') { - prev.value += tok.value; - prev.output = (prev.output || '') + tok.value; - return; + if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) { + token.output = value; + push(token); + continue; } - tok.prev = prev; - tokens.push(tok); - prev = tok; - }; - - const extglobOpen = (type, value) => { - const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' }; - - token.prev = prev; - token.parens = state.parens; - token.output = state.output; - const output = (opts.capture ? '(' : '') + token.open; - - increment('parens'); - push({ type, value, output: state.output ? '' : ONE_CHAR }); - push({ type: 'paren', extglob: true, value: advance(), output }); - extglobs.push(token); - }; - - const extglobClose = token => { - let output = token.close + (opts.capture ? ')' : ''); - - if (token.type === 'negate') { - let extglobStar = star; + if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') { + if (prev.type === 'dot') { + state.output += NO_DOT_SLASH; + prev.output += NO_DOT_SLASH; - if (token.inner && token.inner.length > 1 && token.inner.includes('/')) { - extglobStar = globstar(opts); - } + } else if (opts.dot === true) { + state.output += NO_DOTS_SLASH; + prev.output += NO_DOTS_SLASH; - if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { - output = token.close = `)$))${extglobStar}`; + } else { + state.output += nodot; + prev.output += nodot; } - if (token.prev.type === 'bos' && eos()) { - state.negatedExtglob = true; + if (peek() !== '*') { + state.output += ONE_CHAR; + prev.output += ONE_CHAR; } } - push({ type: 'paren', extglob: true, value, output }); - decrement('parens'); - }; + push(token); + } - /** - * Fast paths - */ + while (state.brackets > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']')); + state.output = utils.escapeLast(state.output, '['); + decrement('brackets'); + } - if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { - let backslashes = false; + while (state.parens > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')')); + state.output = utils.escapeLast(state.output, '('); + decrement('parens'); + } - let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { - if (first === '\\') { - backslashes = true; - return m; - } + while (state.braces > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}')); + state.output = utils.escapeLast(state.output, '{'); + decrement('braces'); + } - if (first === '?') { - if (esc) { - return esc + first + (rest ? QMARK.repeat(rest.length) : ''); - } - if (index === 0) { - return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ''); - } - return QMARK.repeat(chars.length); - } + if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) { + push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` }); + } - if (first === '.') { - return DOT_LITERAL.repeat(chars.length); - } + // rebuild the output if we had to backtrack at any point + if (state.backtrack === true) { + state.output = ''; - if (first === '*') { - if (esc) { - return esc + first + (rest ? star : ''); - } - return star; - } - return esc ? m : `\\${m}`; - }); + for (const token of state.tokens) { + state.output += token.output != null ? token.output : token.value; - if (backslashes === true) { - if (opts.unescape === true) { - output = output.replace(/\\/g, ''); - } else { - output = output.replace(/\\+/g, m => { - return m.length % 2 === 0 ? '\\\\' : (m ? '\\' : ''); - }); + if (token.suffix) { + state.output += token.suffix; } } - - if (output === input && opts.contains === true) { - state.output = input; - return state; - } - - state.output = utils.wrapOutput(output, state, options); - return state; } - /** - * Tokenize input until we reach end-of-string - */ - - while (!eos()) { - value = advance(); - - if (value === '\u0000') { - continue; - } - - /** - * Escaped characters - */ - - if (value === '\\') { - const next = peek(); - - if (next === '/' && opts.bash !== true) { - continue; - } + return state; +}; - if (next === '.' || next === ';') { - continue; - } +/** + * Fast paths for creating regular expressions for common glob patterns. + * This can significantly speed up processing and has very little downside + * impact when none of the fast paths match. + */ - if (!next) { - value += '\\'; - push({ type: 'text', value }); - continue; - } +parse.fastpaths = (input, options) => { + const opts = { ...options }; + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + const len = input.length; + if (len > max) { + throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); + } - // collapse slashes to reduce potential for exploits - const match = /^\\+/.exec(remaining()); - let slashes = 0; + input = REPLACEMENTS[input] || input; + const win32 = utils.isWindows(options); - if (match && match[0].length > 2) { - slashes = match[0].length; - state.index += slashes; - if (slashes % 2 !== 0) { - value += '\\'; - } - } + // create constants based on platform, for windows or posix + const { + DOT_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + DOTS_SLASH, + NO_DOT, + NO_DOTS, + NO_DOTS_SLASH, + STAR, + START_ANCHOR + } = constants.globChars(win32); - if (opts.unescape === true) { - value = advance() || ''; - } else { - value += advance() || ''; - } + const nodot = opts.dot ? NO_DOTS : NO_DOT; + const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; + const capture = opts.capture ? '' : '?:'; + const state = { negated: false, prefix: '' }; + let star = opts.bash === true ? '.*?' : STAR; - if (state.brackets === 0) { - push({ type: 'text', value }); - continue; - } - } + if (opts.capture) { + star = `(${star})`; + } - /** - * If we're inside a regex character class, continue - * until we reach the closing bracket. - */ + const globstar = (opts) => { + if (opts.noglobstar === true) return star; + return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; + }; - if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) { - if (opts.posix !== false && value === ':') { - const inner = prev.value.slice(1); - if (inner.includes('[')) { - prev.posix = true; + const create = str => { + switch (str) { + case '*': + return `${nodot}${ONE_CHAR}${star}`; - if (inner.includes(':')) { - const idx = prev.value.lastIndexOf('['); - const pre = prev.value.slice(0, idx); - const rest = prev.value.slice(idx + 2); - const posix = POSIX_REGEX_SOURCE[rest]; - if (posix) { - prev.value = pre + posix; - state.backtrack = true; - advance(); + case '.*': + return `${DOT_LITERAL}${ONE_CHAR}${star}`; - if (!bos.output && tokens.indexOf(prev) === 1) { - bos.output = ONE_CHAR; - } - continue; - } - } - } - } + case '*.*': + return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) { - value = `\\${value}`; - } + case '*/*': + return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; - if (value === ']' && (prev.value === '[' || prev.value === '[^')) { - value = `\\${value}`; - } + case '**': + return nodot + globstar(opts); - if (opts.posix === true && value === '!' && prev.value === '[') { - value = '^'; - } + case '**/*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; - prev.value += value; - append({ value }); - continue; - } + case '**/*.*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - /** - * If we're inside a quoted string, continue - * until we reach the closing double quote. - */ + case '**/.*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; - if (state.quotes === 1 && value !== '"') { - value = utils.escapeRegex(value); - prev.value += value; - append({ value }); - continue; - } + default: { + const match = /^(.*?)\.(\w+)$/.exec(str); + if (!match) return; - /** - * Double quotes - */ + const source = create(match[1]); + if (!source) return; - if (value === '"') { - state.quotes = state.quotes === 1 ? 0 : 1; - if (opts.keepQuotes === true) { - push({ type: 'text', value }); + return source + DOT_LITERAL + match[2]; } - continue; } + }; - /** - * Parentheses - */ + const output = utils.removePrefix(input, state); + let source = create(output); - if (value === '(') { - increment('parens'); - push({ type: 'paren', value }); - continue; - } + if (source && opts.strictSlashes !== true) { + source += `${SLASH_LITERAL}?`; + } - if (value === ')') { - if (state.parens === 0 && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError('opening', '(')); - } + return source; +}; - const extglob = extglobs[extglobs.length - 1]; - if (extglob && state.parens === extglob.parens + 1) { - extglobClose(extglobs.pop()); - continue; - } +module.exports = parse; - push({ type: 'paren', value, output: state.parens ? ')' : '\\)' }); - decrement('parens'); - continue; - } - /** - * Square brackets - */ +/***/ }), +/* 320 */ +/***/ (function(module, exports, __webpack_require__) { - if (value === '[') { - if (opts.nobracket === true || !remaining().includes(']')) { - if (opts.nobracket !== true && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError('closing', ']')); - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const merge2 = __webpack_require__(291); +function merge(streams) { + const mergedStream = merge2(streams); + streams.forEach((stream) => { + stream.once('error', (error) => mergedStream.emit('error', error)); + }); + mergedStream.once('close', () => propagateCloseEventToSources(streams)); + mergedStream.once('end', () => propagateCloseEventToSources(streams)); + return mergedStream; +} +exports.merge = merge; +function propagateCloseEventToSources(streams) { + streams.forEach((stream) => stream.emit('close')); +} - value = `\\${value}`; - } else { - increment('brackets'); - } - push({ type: 'bracket', value }); - continue; - } +/***/ }), +/* 321 */ +/***/ (function(module, exports, __webpack_require__) { - if (value === ']') { - if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) { - push({ type: 'text', value, output: `\\${value}` }); - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function isString(input) { + return typeof input === 'string'; +} +exports.isString = isString; +function isEmpty(input) { + return input === ''; +} +exports.isEmpty = isEmpty; - if (state.brackets === 0) { - if (opts.strictBrackets === true) { - throw new SyntaxError(syntaxError('opening', '[')); - } - push({ type: 'text', value, output: `\\${value}` }); - continue; - } +/***/ }), +/* 322 */ +/***/ (function(module, exports, __webpack_require__) { - decrement('brackets'); +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const stream_1 = __webpack_require__(323); +const provider_1 = __webpack_require__(350); +class ProviderAsync extends provider_1.default { + constructor() { + super(...arguments); + this._reader = new stream_1.default(this._settings); + } + read(task) { + const root = this._getRootDirectory(task); + const options = this._getReaderOptions(task); + const entries = []; + return new Promise((resolve, reject) => { + const stream = this.api(root, task, options); + stream.once('error', reject); + stream.on('data', (entry) => entries.push(options.transform(entry))); + stream.once('end', () => resolve(entries)); + }); + } + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + return this._reader.static(task.patterns, options); + } +} +exports.default = ProviderAsync; - const prevValue = prev.value.slice(1); - if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) { - value = `/${value}`; - } - prev.value += value; - append({ value }); +/***/ }), +/* 323 */ +/***/ (function(module, exports, __webpack_require__) { - // when literal brackets are explicitly disabled - // assume we should match with a regex character class - if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) { - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const stream_1 = __webpack_require__(137); +const fsStat = __webpack_require__(324); +const fsWalk = __webpack_require__(329); +const reader_1 = __webpack_require__(349); +class ReaderStream extends reader_1.default { + constructor() { + super(...arguments); + this._walkStream = fsWalk.walkStream; + this._stat = fsStat.stat; + } + dynamic(root, options) { + return this._walkStream(root, options); + } + static(patterns, options) { + const filepaths = patterns.map(this._getFullEntryPath, this); + const stream = new stream_1.PassThrough({ objectMode: true }); + stream._write = (index, _enc, done) => { + return this._getEntry(filepaths[index], patterns[index], options) + .then((entry) => { + if (entry !== null && options.entryFilter(entry)) { + stream.push(entry); + } + if (index === filepaths.length - 1) { + stream.end(); + } + done(); + }) + .catch(done); + }; + for (let i = 0; i < filepaths.length; i++) { + stream.write(i); + } + return stream; + } + _getEntry(filepath, pattern, options) { + return this._getStat(filepath) + .then((stats) => this._makeEntry(stats, pattern)) + .catch((error) => { + if (options.errorFilter(error)) { + return null; + } + throw error; + }); + } + _getStat(filepath) { + return new Promise((resolve, reject) => { + this._stat(filepath, this._fsStatSettings, (error, stats) => { + return error === null ? resolve(stats) : reject(error); + }); + }); + } +} +exports.default = ReaderStream; - const escaped = utils.escapeRegex(prev.value); - state.output = state.output.slice(0, -prev.value.length); - // when literal brackets are explicitly enabled - // assume we should escape the brackets to match literal characters - if (opts.literalBrackets === true) { - state.output += escaped; - prev.value = escaped; - continue; - } +/***/ }), +/* 324 */ +/***/ (function(module, exports, __webpack_require__) { - // when the user specifies nothing, try to match both - prev.value = `(${capture}${escaped}|${prev.value})`; - state.output += prev.value; - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const async = __webpack_require__(325); +const sync = __webpack_require__(326); +const settings_1 = __webpack_require__(327); +exports.Settings = settings_1.default; +function stat(path, optionsOrSettingsOrCallback, callback) { + if (typeof optionsOrSettingsOrCallback === 'function') { + return async.read(path, getSettings(), optionsOrSettingsOrCallback); + } + async.read(path, getSettings(optionsOrSettingsOrCallback), callback); +} +exports.stat = stat; +function statSync(path, optionsOrSettings) { + const settings = getSettings(optionsOrSettings); + return sync.read(path, settings); +} +exports.statSync = statSync; +function getSettings(settingsOrOptions = {}) { + if (settingsOrOptions instanceof settings_1.default) { + return settingsOrOptions; + } + return new settings_1.default(settingsOrOptions); +} - /** - * Braces - */ - if (value === '{' && opts.nobrace !== true) { - increment('braces'); +/***/ }), +/* 325 */ +/***/ (function(module, exports, __webpack_require__) { - const open = { - type: 'brace', - value, - output: '(', - outputIndex: state.output.length, - tokensIndex: state.tokens.length - }; +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function read(path, settings, callback) { + settings.fs.lstat(path, (lstatError, lstat) => { + if (lstatError !== null) { + return callFailureCallback(callback, lstatError); + } + if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { + return callSuccessCallback(callback, lstat); + } + settings.fs.stat(path, (statError, stat) => { + if (statError !== null) { + if (settings.throwErrorOnBrokenSymbolicLink) { + return callFailureCallback(callback, statError); + } + return callSuccessCallback(callback, lstat); + } + if (settings.markSymbolicLink) { + stat.isSymbolicLink = () => true; + } + callSuccessCallback(callback, stat); + }); + }); +} +exports.read = read; +function callFailureCallback(callback, error) { + callback(error); +} +function callSuccessCallback(callback, result) { + callback(null, result); +} - braces.push(open); - push(open); - continue; - } - if (value === '}') { - const brace = braces[braces.length - 1]; +/***/ }), +/* 326 */ +/***/ (function(module, exports, __webpack_require__) { - if (opts.nobrace === true || !brace) { - push({ type: 'text', value, output: value }); - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function read(path, settings) { + const lstat = settings.fs.lstatSync(path); + if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { + return lstat; + } + try { + const stat = settings.fs.statSync(path); + if (settings.markSymbolicLink) { + stat.isSymbolicLink = () => true; + } + return stat; + } + catch (error) { + if (!settings.throwErrorOnBrokenSymbolicLink) { + return lstat; + } + throw error; + } +} +exports.read = read; - let output = ')'; - if (brace.dots === true) { - const arr = tokens.slice(); - const range = []; +/***/ }), +/* 327 */ +/***/ (function(module, exports, __webpack_require__) { - for (let i = arr.length - 1; i >= 0; i--) { - tokens.pop(); - if (arr[i].type === 'brace') { - break; - } - if (arr[i].type !== 'dots') { - range.unshift(arr[i].value); - } - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = __webpack_require__(328); +class Settings { + constructor(_options = {}) { + this._options = _options; + this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); + this.fs = fs.createFileSystemAdapter(this._options.fs); + this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); + this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); + } + _getValue(option, value) { + return option === undefined ? value : option; + } +} +exports.default = Settings; - output = expandRange(range, opts); - state.backtrack = true; - } - if (brace.comma !== true && brace.dots !== true) { - const out = state.output.slice(0, brace.outputIndex); - const toks = state.tokens.slice(brace.tokensIndex); - brace.value = brace.output = '\\{'; - value = output = '\\}'; - state.output = out; - for (const t of toks) { - state.output += (t.output || t.value); - } - } +/***/ }), +/* 328 */ +/***/ (function(module, exports, __webpack_require__) { - push({ type: 'brace', value, output }); - decrement('braces'); - braces.pop(); - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = __webpack_require__(133); +exports.FILE_SYSTEM_ADAPTER = { + lstat: fs.lstat, + stat: fs.stat, + lstatSync: fs.lstatSync, + statSync: fs.statSync +}; +function createFileSystemAdapter(fsMethods) { + if (fsMethods === undefined) { + return exports.FILE_SYSTEM_ADAPTER; + } + return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods); +} +exports.createFileSystemAdapter = createFileSystemAdapter; - /** - * Pipes - */ - if (value === '|') { - if (extglobs.length > 0) { - extglobs[extglobs.length - 1].conditions++; - } - push({ type: 'text', value }); - continue; - } +/***/ }), +/* 329 */ +/***/ (function(module, exports, __webpack_require__) { - /** - * Commas - */ +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const async_1 = __webpack_require__(330); +const stream_1 = __webpack_require__(345); +const sync_1 = __webpack_require__(346); +const settings_1 = __webpack_require__(348); +exports.Settings = settings_1.default; +function walk(directory, optionsOrSettingsOrCallback, callback) { + if (typeof optionsOrSettingsOrCallback === 'function') { + return new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback); + } + new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); +} +exports.walk = walk; +function walkSync(directory, optionsOrSettings) { + const settings = getSettings(optionsOrSettings); + const provider = new sync_1.default(directory, settings); + return provider.read(); +} +exports.walkSync = walkSync; +function walkStream(directory, optionsOrSettings) { + const settings = getSettings(optionsOrSettings); + const provider = new stream_1.default(directory, settings); + return provider.read(); +} +exports.walkStream = walkStream; +function getSettings(settingsOrOptions = {}) { + if (settingsOrOptions instanceof settings_1.default) { + return settingsOrOptions; + } + return new settings_1.default(settingsOrOptions); +} - if (value === ',') { - let output = value; - const brace = braces[braces.length - 1]; - if (brace && stack[stack.length - 1] === 'braces') { - brace.comma = true; - output = '|'; - } +/***/ }), +/* 330 */ +/***/ (function(module, exports, __webpack_require__) { - push({ type: 'comma', value, output }); - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const async_1 = __webpack_require__(331); +class AsyncProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new async_1.default(this._root, this._settings); + this._storage = new Set(); + } + read(callback) { + this._reader.onError((error) => { + callFailureCallback(callback, error); + }); + this._reader.onEntry((entry) => { + this._storage.add(entry); + }); + this._reader.onEnd(() => { + callSuccessCallback(callback, [...this._storage]); + }); + this._reader.read(); + } +} +exports.default = AsyncProvider; +function callFailureCallback(callback, error) { + callback(error); +} +function callSuccessCallback(callback, entries) { + callback(null, entries); +} - /** - * Slashes - */ - if (value === '/') { - // if the beginning of the glob is "./", advance the start - // to the current index, and don't add the "./" characters - // to the state. This greatly simplifies lookbehinds when - // checking for BOS characters like "!" and "." (not "./") - if (prev.type === 'dot' && state.index === state.start + 1) { - state.start = state.index + 1; - state.consumed = ''; - state.output = ''; - tokens.pop(); - prev = bos; // reset "prev" to the first token - continue; - } +/***/ }), +/* 331 */ +/***/ (function(module, exports, __webpack_require__) { - push({ type: 'slash', value, output: SLASH_LITERAL }); - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const events_1 = __webpack_require__(155); +const fsScandir = __webpack_require__(332); +const fastq = __webpack_require__(341); +const common = __webpack_require__(343); +const reader_1 = __webpack_require__(344); +class AsyncReader extends reader_1.default { + constructor(_root, _settings) { + super(_root, _settings); + this._settings = _settings; + this._scandir = fsScandir.scandir; + this._emitter = new events_1.EventEmitter(); + this._queue = fastq(this._worker.bind(this), this._settings.concurrency); + this._isFatalError = false; + this._isDestroyed = false; + this._queue.drain = () => { + if (!this._isFatalError) { + this._emitter.emit('end'); + } + }; + } + read() { + this._isFatalError = false; + this._isDestroyed = false; + setImmediate(() => { + this._pushToQueue(this._root, this._settings.basePath); + }); + return this._emitter; + } + destroy() { + if (this._isDestroyed) { + throw new Error('The reader is already destroyed'); + } + this._isDestroyed = true; + this._queue.killAndDrain(); + } + onEntry(callback) { + this._emitter.on('entry', callback); + } + onError(callback) { + this._emitter.once('error', callback); + } + onEnd(callback) { + this._emitter.once('end', callback); + } + _pushToQueue(directory, base) { + const queueItem = { directory, base }; + this._queue.push(queueItem, (error) => { + if (error !== null) { + this._handleError(error); + } + }); + } + _worker(item, done) { + this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { + if (error !== null) { + return done(error, undefined); + } + for (const entry of entries) { + this._handleEntry(entry, item.base); + } + done(null, undefined); + }); + } + _handleError(error) { + if (!common.isFatalError(this._settings, error)) { + return; + } + this._isFatalError = true; + this._isDestroyed = true; + this._emitter.emit('error', error); + } + _handleEntry(entry, base) { + if (this._isDestroyed || this._isFatalError) { + return; + } + const fullpath = entry.path; + if (base !== undefined) { + entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); + } + if (common.isAppliedFilter(this._settings.entryFilter, entry)) { + this._emitEntry(entry); + } + if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { + this._pushToQueue(fullpath, entry.path); + } + } + _emitEntry(entry) { + this._emitter.emit('entry', entry); + } +} +exports.default = AsyncReader; - /** - * Dots - */ - if (value === '.') { - if (state.braces > 0 && prev.type === 'dot') { - if (prev.value === '.') prev.output = DOT_LITERAL; - const brace = braces[braces.length - 1]; - prev.type = 'dots'; - prev.output += value; - prev.value += value; - brace.dots = true; - continue; - } +/***/ }), +/* 332 */ +/***/ (function(module, exports, __webpack_require__) { - if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') { - push({ type: 'text', value, output: DOT_LITERAL }); - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const async = __webpack_require__(333); +const sync = __webpack_require__(338); +const settings_1 = __webpack_require__(339); +exports.Settings = settings_1.default; +function scandir(path, optionsOrSettingsOrCallback, callback) { + if (typeof optionsOrSettingsOrCallback === 'function') { + return async.read(path, getSettings(), optionsOrSettingsOrCallback); + } + async.read(path, getSettings(optionsOrSettingsOrCallback), callback); +} +exports.scandir = scandir; +function scandirSync(path, optionsOrSettings) { + const settings = getSettings(optionsOrSettings); + return sync.read(path, settings); +} +exports.scandirSync = scandirSync; +function getSettings(settingsOrOptions = {}) { + if (settingsOrOptions instanceof settings_1.default) { + return settingsOrOptions; + } + return new settings_1.default(settingsOrOptions); +} - push({ type: 'dot', value, output: DOT_LITERAL }); - continue; - } - /** - * Question marks - */ +/***/ }), +/* 333 */ +/***/ (function(module, exports, __webpack_require__) { - if (value === '?') { - const isGroup = prev && prev.value === '('; - if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { - extglobOpen('qmark', value); - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const fsStat = __webpack_require__(324); +const rpl = __webpack_require__(334); +const constants_1 = __webpack_require__(335); +const utils = __webpack_require__(336); +function read(directory, settings, callback) { + if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { + return readdirWithFileTypes(directory, settings, callback); + } + return readdir(directory, settings, callback); +} +exports.read = read; +function readdirWithFileTypes(directory, settings, callback) { + settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => { + if (readdirError !== null) { + return callFailureCallback(callback, readdirError); + } + const entries = dirents.map((dirent) => ({ + dirent, + name: dirent.name, + path: `${directory}${settings.pathSegmentSeparator}${dirent.name}` + })); + if (!settings.followSymbolicLinks) { + return callSuccessCallback(callback, entries); + } + const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings)); + rpl(tasks, (rplError, rplEntries) => { + if (rplError !== null) { + return callFailureCallback(callback, rplError); + } + callSuccessCallback(callback, rplEntries); + }); + }); +} +exports.readdirWithFileTypes = readdirWithFileTypes; +function makeRplTaskEntry(entry, settings) { + return (done) => { + if (!entry.dirent.isSymbolicLink()) { + return done(null, entry); + } + settings.fs.stat(entry.path, (statError, stats) => { + if (statError !== null) { + if (settings.throwErrorOnBrokenSymbolicLink) { + return done(statError); + } + return done(null, entry); + } + entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); + return done(null, entry); + }); + }; +} +function readdir(directory, settings, callback) { + settings.fs.readdir(directory, (readdirError, names) => { + if (readdirError !== null) { + return callFailureCallback(callback, readdirError); + } + const filepaths = names.map((name) => `${directory}${settings.pathSegmentSeparator}${name}`); + const tasks = filepaths.map((filepath) => { + return (done) => fsStat.stat(filepath, settings.fsStatSettings, done); + }); + rpl(tasks, (rplError, results) => { + if (rplError !== null) { + return callFailureCallback(callback, rplError); + } + const entries = []; + names.forEach((name, index) => { + const stats = results[index]; + const entry = { + name, + path: filepaths[index], + dirent: utils.fs.createDirentFromStats(name, stats) + }; + if (settings.stats) { + entry.stats = stats; + } + entries.push(entry); + }); + callSuccessCallback(callback, entries); + }); + }); +} +exports.readdir = readdir; +function callFailureCallback(callback, error) { + callback(error); +} +function callSuccessCallback(callback, result) { + callback(null, result); +} - if (prev && prev.type === 'paren') { - const next = peek(); - let output = value; - if (next === '<' && !utils.supportsLookbehinds()) { - throw new Error('Node.js v10 or higher is required for regex lookbehinds'); - } +/***/ }), +/* 334 */ +/***/ (function(module, exports) { - if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\w+>)/.test(remaining()))) { - output = `\\${value}`; - } +module.exports = runParallel - push({ type: 'text', value, output }); - continue; - } +function runParallel (tasks, cb) { + var results, pending, keys + var isSync = true - if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) { - push({ type: 'qmark', value, output: QMARK_NO_DOT }); - continue; - } + if (Array.isArray(tasks)) { + results = [] + pending = tasks.length + } else { + keys = Object.keys(tasks) + results = {} + pending = keys.length + } - push({ type: 'qmark', value, output: QMARK }); - continue; + function done (err) { + function end () { + if (cb) cb(err, results) + cb = null } + if (isSync) process.nextTick(end) + else end() + } - /** - * Exclamation - */ - - if (value === '!') { - if (opts.noextglob !== true && peek() === '(') { - if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) { - extglobOpen('negate', value); - continue; - } - } - - if (opts.nonegate !== true && state.index === 0) { - negate(); - continue; - } + function each (i, err, result) { + results[i] = result + if (--pending === 0 || err) { + done(err) } + } - /** - * Plus - */ - - if (value === '+') { - if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { - extglobOpen('plus', value); - continue; - } - - if ((prev && prev.value === '(') || opts.regex === false) { - push({ type: 'plus', value, output: PLUS_LITERAL }); - continue; - } - - if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) { - push({ type: 'plus', value }); - continue; - } + if (!pending) { + // empty + done(null) + } else if (keys) { + // object + keys.forEach(function (key) { + tasks[key](function (err, result) { each(key, err, result) }) + }) + } else { + // array + tasks.forEach(function (task, i) { + task(function (err, result) { each(i, err, result) }) + }) + } - push({ type: 'plus', value: PLUS_LITERAL }); - continue; - } + isSync = false +} - /** - * Plain text - */ - if (value === '@') { - if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { - push({ type: 'at', extglob: true, value, output: '' }); - continue; - } +/***/ }), +/* 335 */ +/***/ (function(module, exports, __webpack_require__) { - push({ type: 'text', value }); - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const NODE_PROCESS_VERSION_PARTS = process.versions.node.split('.'); +const MAJOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); +const MINOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); +const SUPPORTED_MAJOR_VERSION = 10; +const SUPPORTED_MINOR_VERSION = 10; +const IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION; +const IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION; +/** + * IS `true` for Node.js 10.10 and greater. + */ +exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR; - /** - * Plain text - */ - if (value !== '*') { - if (value === '$' || value === '^') { - value = `\\${value}`; - } +/***/ }), +/* 336 */ +/***/ (function(module, exports, __webpack_require__) { - const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); - if (match) { - value += match[0]; - state.index += match[0].length; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = __webpack_require__(337); +exports.fs = fs; - push({ type: 'text', value }); - continue; - } - /** - * Stars - */ +/***/ }), +/* 337 */ +/***/ (function(module, exports, __webpack_require__) { - if (prev && (prev.type === 'globstar' || prev.star === true)) { - prev.type = 'star'; - prev.star = true; - prev.value += value; - prev.output = star; - state.backtrack = true; - state.globstar = true; - consume(value); - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +class DirentFromStats { + constructor(name, stats) { + this.name = name; + this.isBlockDevice = stats.isBlockDevice.bind(stats); + this.isCharacterDevice = stats.isCharacterDevice.bind(stats); + this.isDirectory = stats.isDirectory.bind(stats); + this.isFIFO = stats.isFIFO.bind(stats); + this.isFile = stats.isFile.bind(stats); + this.isSocket = stats.isSocket.bind(stats); + this.isSymbolicLink = stats.isSymbolicLink.bind(stats); + } +} +function createDirentFromStats(name, stats) { + return new DirentFromStats(name, stats); +} +exports.createDirentFromStats = createDirentFromStats; - let rest = remaining(); - if (opts.noextglob !== true && /^\([^?]/.test(rest)) { - extglobOpen('star', value); - continue; - } - if (prev.type === 'star') { - if (opts.noglobstar === true) { - consume(value); - continue; - } +/***/ }), +/* 338 */ +/***/ (function(module, exports, __webpack_require__) { - const prior = prev.prev; - const before = prior.prev; - const isStart = prior.type === 'slash' || prior.type === 'bos'; - const afterStar = before && (before.type === 'star' || before.type === 'globstar'); +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const fsStat = __webpack_require__(324); +const constants_1 = __webpack_require__(335); +const utils = __webpack_require__(336); +function read(directory, settings) { + if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { + return readdirWithFileTypes(directory, settings); + } + return readdir(directory, settings); +} +exports.read = read; +function readdirWithFileTypes(directory, settings) { + const dirents = settings.fs.readdirSync(directory, { withFileTypes: true }); + return dirents.map((dirent) => { + const entry = { + dirent, + name: dirent.name, + path: `${directory}${settings.pathSegmentSeparator}${dirent.name}` + }; + if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { + try { + const stats = settings.fs.statSync(entry.path); + entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); + } + catch (error) { + if (settings.throwErrorOnBrokenSymbolicLink) { + throw error; + } + } + } + return entry; + }); +} +exports.readdirWithFileTypes = readdirWithFileTypes; +function readdir(directory, settings) { + const names = settings.fs.readdirSync(directory); + return names.map((name) => { + const entryPath = `${directory}${settings.pathSegmentSeparator}${name}`; + const stats = fsStat.statSync(entryPath, settings.fsStatSettings); + const entry = { + name, + path: entryPath, + dirent: utils.fs.createDirentFromStats(name, stats) + }; + if (settings.stats) { + entry.stats = stats; + } + return entry; + }); +} +exports.readdir = readdir; - if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) { - push({ type: 'star', value, output: '' }); - continue; - } - const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace'); - const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren'); - if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) { - push({ type: 'star', value, output: '' }); - continue; - } +/***/ }), +/* 339 */ +/***/ (function(module, exports, __webpack_require__) { - // strip consecutive `/**/` - while (rest.slice(0, 3) === '/**') { - const after = input[state.index + 4]; - if (after && after !== '/') { - break; - } - rest = rest.slice(3); - consume('/**', 3); - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const path = __webpack_require__(4); +const fsStat = __webpack_require__(324); +const fs = __webpack_require__(340); +class Settings { + constructor(_options = {}) { + this._options = _options; + this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); + this.fs = fs.createFileSystemAdapter(this._options.fs); + this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); + this.stats = this._getValue(this._options.stats, false); + this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); + this.fsStatSettings = new fsStat.Settings({ + followSymbolicLink: this.followSymbolicLinks, + fs: this.fs, + throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink + }); + } + _getValue(option, value) { + return option === undefined ? value : option; + } +} +exports.default = Settings; - if (prior.type === 'bos' && eos()) { - prev.type = 'globstar'; - prev.value += value; - prev.output = globstar(opts); - state.output = prev.output; - state.globstar = true; - consume(value); - continue; - } - if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) { - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; +/***/ }), +/* 340 */ +/***/ (function(module, exports, __webpack_require__) { - prev.type = 'globstar'; - prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)'); - prev.value += value; - state.globstar = true; - state.output += prior.output + prev.output; - consume(value); - continue; - } +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = __webpack_require__(133); +exports.FILE_SYSTEM_ADAPTER = { + lstat: fs.lstat, + stat: fs.stat, + lstatSync: fs.lstatSync, + statSync: fs.statSync, + readdir: fs.readdir, + readdirSync: fs.readdirSync +}; +function createFileSystemAdapter(fsMethods) { + if (fsMethods === undefined) { + return exports.FILE_SYSTEM_ADAPTER; + } + return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods); +} +exports.createFileSystemAdapter = createFileSystemAdapter; - if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') { - const end = rest[1] !== void 0 ? '|$' : ''; - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; +/***/ }), +/* 341 */ +/***/ (function(module, exports, __webpack_require__) { - prev.type = 'globstar'; - prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; - prev.value += value; +"use strict"; - state.output += prior.output + prev.output; - state.globstar = true; - consume(value + advance()); +var reusify = __webpack_require__(342) - push({ type: 'slash', value: '/', output: '' }); - continue; - } +function fastqueue (context, worker, concurrency) { + if (typeof context === 'function') { + concurrency = worker + worker = context + context = null + } - if (prior.type === 'bos' && rest[0] === '/') { - prev.type = 'globstar'; - prev.value += value; - prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; - state.output = prev.output; - state.globstar = true; - consume(value + advance()); - push({ type: 'slash', value: '/', output: '' }); - continue; - } + var cache = reusify(Task) + var queueHead = null + var queueTail = null + var _running = 0 - // remove single star from output - state.output = state.output.slice(0, -prev.output.length); + var self = { + push: push, + drain: noop, + saturated: noop, + pause: pause, + paused: false, + concurrency: concurrency, + running: running, + resume: resume, + idle: idle, + length: length, + unshift: unshift, + empty: noop, + kill: kill, + killAndDrain: killAndDrain + } - // reset previous token to globstar - prev.type = 'globstar'; - prev.output = globstar(opts); - prev.value += value; + return self - // reset output with globstar - state.output += prev.output; - state.globstar = true; - consume(value); - continue; - } + function running () { + return _running + } - const token = { type: 'star', value, output: star }; + function pause () { + self.paused = true + } - if (opts.bash === true) { - token.output = '.*?'; - if (prev.type === 'bos' || prev.type === 'slash') { - token.output = nodot + token.output; - } - push(token); - continue; + function length () { + var current = queueHead + var counter = 0 + + while (current) { + current = current.next + counter++ } - if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) { - token.output = value; - push(token); - continue; + return counter + } + + function resume () { + if (!self.paused) return + self.paused = false + for (var i = 0; i < self.concurrency; i++) { + _running++ + release() } + } - if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') { - if (prev.type === 'dot') { - state.output += NO_DOT_SLASH; - prev.output += NO_DOT_SLASH; + function idle () { + return _running === 0 && self.length() === 0 + } - } else if (opts.dot === true) { - state.output += NO_DOTS_SLASH; - prev.output += NO_DOTS_SLASH; + function push (value, done) { + var current = cache.get() + + current.context = context + current.release = release + current.value = value + current.callback = done || noop + if (_running === self.concurrency || self.paused) { + if (queueTail) { + queueTail.next = current + queueTail = current } else { - state.output += nodot; - prev.output += nodot; + queueHead = current + queueTail = current + self.saturated() } + } else { + _running++ + worker.call(context, current.value, current.worked) + } + } - if (peek() !== '*') { - state.output += ONE_CHAR; - prev.output += ONE_CHAR; + function unshift (value, done) { + var current = cache.get() + + current.context = context + current.release = release + current.value = value + current.callback = done || noop + + if (_running === self.concurrency || self.paused) { + if (queueHead) { + current.next = queueHead + queueHead = current + } else { + queueHead = current + queueTail = current + self.saturated() } + } else { + _running++ + worker.call(context, current.value, current.worked) } - - push(token); } - while (state.brackets > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']')); - state.output = utils.escapeLast(state.output, '['); - decrement('brackets'); + function release (holder) { + if (holder) { + cache.release(holder) + } + var next = queueHead + if (next) { + if (!self.paused) { + if (queueTail === queueHead) { + queueTail = null + } + queueHead = next.next + next.next = null + worker.call(context, next.value, next.worked) + if (queueTail === null) { + self.empty() + } + } else { + _running-- + } + } else if (--_running === 0) { + self.drain() + } } - while (state.parens > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')')); - state.output = utils.escapeLast(state.output, '('); - decrement('parens'); + function kill () { + queueHead = null + queueTail = null + self.drain = noop } - while (state.braces > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}')); - state.output = utils.escapeLast(state.output, '{'); - decrement('braces'); + function killAndDrain () { + queueHead = null + queueTail = null + self.drain() + self.drain = noop } +} - if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) { - push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` }); - } +function noop () {} - // rebuild the output if we had to backtrack at any point - if (state.backtrack === true) { - state.output = ''; +function Task () { + this.value = null + this.callback = noop + this.next = null + this.release = noop + this.context = null - for (const token of state.tokens) { - state.output += token.output != null ? token.output : token.value; + var self = this - if (token.suffix) { - state.output += token.suffix; - } - } + this.worked = function worked (err, result) { + var callback = self.callback + self.value = null + self.callback = noop + callback.call(self.context, err, result) + self.release(self) } +} - return state; -}; +module.exports = fastqueue -/** - * Fast paths for creating regular expressions for common glob patterns. - * This can significantly speed up processing and has very little downside - * impact when none of the fast paths match. - */ -parse.fastpaths = (input, options) => { - const opts = { ...options }; - const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - const len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } +/***/ }), +/* 342 */ +/***/ (function(module, exports, __webpack_require__) { - input = REPLACEMENTS[input] || input; - const win32 = utils.isWindows(options); +"use strict"; - // create constants based on platform, for windows or posix - const { - DOT_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOTS_SLASH, - STAR, - START_ANCHOR - } = constants.globChars(win32); - const nodot = opts.dot ? NO_DOTS : NO_DOT; - const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; - const capture = opts.capture ? '' : '?:'; - const state = { negated: false, prefix: '' }; - let star = opts.bash === true ? '.*?' : STAR; +function reusify (Constructor) { + var head = new Constructor() + var tail = head - if (opts.capture) { - star = `(${star})`; - } + function get () { + var current = head - const globstar = (opts) => { - if (opts.noglobstar === true) return star; - return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; + if (current.next) { + head = current.next + } else { + head = new Constructor() + tail = head + } - const create = str => { - switch (str) { - case '*': - return `${nodot}${ONE_CHAR}${star}`; + current.next = null - case '.*': - return `${DOT_LITERAL}${ONE_CHAR}${star}`; + return current + } - case '*.*': - return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; + function release (obj) { + tail.next = obj + tail = obj + } - case '*/*': - return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; + return { + get: get, + release: release + } +} - case '**': - return nodot + globstar(opts); +module.exports = reusify - case '**/*': - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; - case '**/*.*': - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; +/***/ }), +/* 343 */ +/***/ (function(module, exports, __webpack_require__) { - case '**/.*': - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function isFatalError(settings, error) { + if (settings.errorFilter === null) { + return true; + } + return !settings.errorFilter(error); +} +exports.isFatalError = isFatalError; +function isAppliedFilter(filter, value) { + return filter === null || filter(value); +} +exports.isAppliedFilter = isAppliedFilter; +function replacePathSegmentSeparator(filepath, separator) { + return filepath.split(/[\\/]/).join(separator); +} +exports.replacePathSegmentSeparator = replacePathSegmentSeparator; +function joinPathSegments(a, b, separator) { + if (a === '') { + return b; + } + return a + separator + b; +} +exports.joinPathSegments = joinPathSegments; - default: { - const match = /^(.*?)\.(\w+)$/.exec(str); - if (!match) return; - const source = create(match[1]); - if (!source) return; +/***/ }), +/* 344 */ +/***/ (function(module, exports, __webpack_require__) { - return source + DOT_LITERAL + match[2]; - } - } - }; +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const common = __webpack_require__(343); +class Reader { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); + } +} +exports.default = Reader; - const output = utils.removePrefix(input, state); - let source = create(output); - if (source && opts.strictSlashes !== true) { - source += `${SLASH_LITERAL}?`; - } +/***/ }), +/* 345 */ +/***/ (function(module, exports, __webpack_require__) { - return source; -}; +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const stream_1 = __webpack_require__(137); +const async_1 = __webpack_require__(331); +class StreamProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new async_1.default(this._root, this._settings); + this._stream = new stream_1.Readable({ + objectMode: true, + read: () => { }, + destroy: this._reader.destroy.bind(this._reader) + }); + } + read() { + this._reader.onError((error) => { + this._stream.emit('error', error); + }); + this._reader.onEntry((entry) => { + this._stream.push(entry); + }); + this._reader.onEnd(() => { + this._stream.push(null); + }); + this._reader.read(); + return this._stream; + } +} +exports.default = StreamProvider; -module.exports = parse; + +/***/ }), +/* 346 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const sync_1 = __webpack_require__(347); +class SyncProvider { + constructor(_root, _settings) { + this._root = _root; + this._settings = _settings; + this._reader = new sync_1.default(this._root, this._settings); + } + read() { + return this._reader.read(); + } +} +exports.default = SyncProvider; /***/ }), -/* 328 */ +/* 347 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const merge2 = __webpack_require__(299); -function merge(streams) { - const mergedStream = merge2(streams); - streams.forEach((stream) => { - stream.once('error', (error) => mergedStream.emit('error', error)); - }); - mergedStream.once('close', () => propagateCloseEventToSources(streams)); - mergedStream.once('end', () => propagateCloseEventToSources(streams)); - return mergedStream; +const fsScandir = __webpack_require__(332); +const common = __webpack_require__(343); +const reader_1 = __webpack_require__(344); +class SyncReader extends reader_1.default { + constructor() { + super(...arguments); + this._scandir = fsScandir.scandirSync; + this._storage = new Set(); + this._queue = new Set(); + } + read() { + this._pushToQueue(this._root, this._settings.basePath); + this._handleQueue(); + return [...this._storage]; + } + _pushToQueue(directory, base) { + this._queue.add({ directory, base }); + } + _handleQueue() { + for (const item of this._queue.values()) { + this._handleDirectory(item.directory, item.base); + } + } + _handleDirectory(directory, base) { + try { + const entries = this._scandir(directory, this._settings.fsScandirSettings); + for (const entry of entries) { + this._handleEntry(entry, base); + } + } + catch (error) { + this._handleError(error); + } + } + _handleError(error) { + if (!common.isFatalError(this._settings, error)) { + return; + } + throw error; + } + _handleEntry(entry, base) { + const fullpath = entry.path; + if (base !== undefined) { + entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); + } + if (common.isAppliedFilter(this._settings.entryFilter, entry)) { + this._pushToStorage(entry); + } + if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { + this._pushToQueue(fullpath, entry.path); + } + } + _pushToStorage(entry) { + this._storage.add(entry); + } } -exports.merge = merge; -function propagateCloseEventToSources(streams) { - streams.forEach((stream) => stream.emit('close')); +exports.default = SyncReader; + + +/***/ }), +/* 348 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const path = __webpack_require__(4); +const fsScandir = __webpack_require__(332); +class Settings { + constructor(_options = {}) { + this._options = _options; + this.basePath = this._getValue(this._options.basePath, undefined); + this.concurrency = this._getValue(this._options.concurrency, Infinity); + this.deepFilter = this._getValue(this._options.deepFilter, null); + this.entryFilter = this._getValue(this._options.entryFilter, null); + this.errorFilter = this._getValue(this._options.errorFilter, null); + this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); + this.fsScandirSettings = new fsScandir.Settings({ + followSymbolicLinks: this._options.followSymbolicLinks, + fs: this._options.fs, + pathSegmentSeparator: this._options.pathSegmentSeparator, + stats: this._options.stats, + throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink + }); + } + _getValue(option, value) { + return option === undefined ? value : option; + } } +exports.default = Settings; /***/ }), -/* 329 */ +/* 349 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -function isString(input) { - return typeof input === 'string'; -} -exports.isString = isString; -function isEmpty(input) { - return input === ''; +const path = __webpack_require__(4); +const fsStat = __webpack_require__(324); +const utils = __webpack_require__(294); +class Reader { + constructor(_settings) { + this._settings = _settings; + this._fsStatSettings = new fsStat.Settings({ + followSymbolicLink: this._settings.followSymbolicLinks, + fs: this._settings.fs, + throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks + }); + } + _getFullEntryPath(filepath) { + return path.resolve(this._settings.cwd, filepath); + } + _makeEntry(stats, pattern) { + const entry = { + name: pattern, + path: pattern, + dirent: utils.fs.createDirentFromStats(pattern, stats) + }; + if (this._settings.stats) { + entry.stats = stats; + } + return entry; + } + _isFatalError(error) { + return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; + } } -exports.isEmpty = isEmpty; +exports.default = Reader; /***/ }), -/* 330 */ +/* 350 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(331); -const provider_1 = __webpack_require__(358); -class ProviderAsync extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new stream_1.default(this._settings); +const path = __webpack_require__(4); +const deep_1 = __webpack_require__(351); +const entry_1 = __webpack_require__(354); +const error_1 = __webpack_require__(355); +const entry_2 = __webpack_require__(356); +class Provider { + constructor(_settings) { + this._settings = _settings; + this.errorFilter = new error_1.default(this._settings); + this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions()); + this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions()); + this.entryTransformer = new entry_2.default(this._settings); } - read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const entries = []; - return new Promise((resolve, reject) => { - const stream = this.api(root, task, options); - stream.once('error', reject); - stream.on('data', (entry) => entries.push(options.transform(entry))); - stream.once('end', () => resolve(entries)); - }); + _getRootDirectory(task) { + return path.resolve(this._settings.cwd, task.base); } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); + _getReaderOptions(task) { + const basePath = task.base === '.' ? '' : task.base; + return { + basePath, + pathSegmentSeparator: '/', + concurrency: this._settings.concurrency, + deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), + entryFilter: this.entryFilter.getFilter(task.positive, task.negative), + errorFilter: this.errorFilter.getFilter(), + followSymbolicLinks: this._settings.followSymbolicLinks, + fs: this._settings.fs, + stats: this._settings.stats, + throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, + transform: this.entryTransformer.getTransformer() + }; + } + _getMicromatchOptions() { + return { + dot: this._settings.dot, + matchBase: this._settings.baseNameMatch, + nobrace: !this._settings.braceExpansion, + nocase: !this._settings.caseSensitiveMatch, + noext: !this._settings.extglob, + noglobstar: !this._settings.globstar, + posix: true, + strictSlashes: false + }; } } -exports.default = ProviderAsync; +exports.default = Provider; /***/ }), -/* 331 */ +/* 351 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(137); -const fsStat = __webpack_require__(332); -const fsWalk = __webpack_require__(337); -const reader_1 = __webpack_require__(357); -class ReaderStream extends reader_1.default { - constructor() { - super(...arguments); - this._walkStream = fsWalk.walkStream; - this._stat = fsStat.stat; +const utils = __webpack_require__(294); +const partial_1 = __webpack_require__(352); +class DeepFilter { + constructor(_settings, _micromatchOptions) { + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; } - dynamic(root, options) { - return this._walkStream(root, options); + getFilter(basePath, positive, negative) { + const matcher = this._getMatcher(positive); + const negativeRe = this._getNegativePatternsRe(negative); + return (entry) => this._filter(basePath, entry, matcher, negativeRe); } - static(patterns, options) { - const filepaths = patterns.map(this._getFullEntryPath, this); - const stream = new stream_1.PassThrough({ objectMode: true }); - stream._write = (index, _enc, done) => { - return this._getEntry(filepaths[index], patterns[index], options) - .then((entry) => { - if (entry !== null && options.entryFilter(entry)) { - stream.push(entry); - } - if (index === filepaths.length - 1) { - stream.end(); - } - done(); - }) - .catch(done); - }; - for (let i = 0; i < filepaths.length; i++) { - stream.write(i); + _getMatcher(patterns) { + return new partial_1.default(patterns, this._settings, this._micromatchOptions); + } + _getNegativePatternsRe(patterns) { + const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern); + return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); + } + _filter(basePath, entry, matcher, negativeRe) { + const depth = this._getEntryLevel(basePath, entry.path); + if (this._isSkippedByDeep(depth)) { + return false; } - return stream; + if (this._isSkippedSymbolicLink(entry)) { + return false; + } + const filepath = utils.path.removeLeadingDotSegment(entry.path); + if (this._isSkippedByPositivePatterns(filepath, matcher)) { + return false; + } + return this._isSkippedByNegativePatterns(filepath, negativeRe); } - _getEntry(filepath, pattern, options) { - return this._getStat(filepath) - .then((stats) => this._makeEntry(stats, pattern)) - .catch((error) => { - if (options.errorFilter(error)) { - return null; - } - throw error; - }); + _isSkippedByDeep(entryDepth) { + return entryDepth >= this._settings.deep; } - _getStat(filepath) { - return new Promise((resolve, reject) => { - this._stat(filepath, this._fsStatSettings, (error, stats) => { - return error === null ? resolve(stats) : reject(error); - }); - }); + _isSkippedSymbolicLink(entry) { + return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); + } + _getEntryLevel(basePath, entryPath) { + const basePathDepth = basePath.split('/').length; + const entryPathDepth = entryPath.split('/').length; + return entryPathDepth - (basePath === '' ? 0 : basePathDepth); + } + _isSkippedByPositivePatterns(entryPath, matcher) { + return !this._settings.baseNameMatch && !matcher.match(entryPath); + } + _isSkippedByNegativePatterns(entryPath, negativeRe) { + return !utils.pattern.matchAny(entryPath, negativeRe); } } -exports.default = ReaderStream; +exports.default = DeepFilter; /***/ }), -/* 332 */ +/* 352 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const async = __webpack_require__(333); -const sync = __webpack_require__(334); -const settings_1 = __webpack_require__(335); -exports.Settings = settings_1.default; -function stat(path, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === 'function') { - return async.read(path, getSettings(), optionsOrSettingsOrCallback); - } - async.read(path, getSettings(optionsOrSettingsOrCallback), callback); -} -exports.stat = stat; -function statSync(path, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - return sync.read(path, settings); -} -exports.statSync = statSync; -function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; +const matcher_1 = __webpack_require__(353); +class PartialMatcher extends matcher_1.default { + match(filepath) { + const parts = filepath.split('/'); + const levels = parts.length; + const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels); + for (const pattern of patterns) { + const section = pattern.sections[0]; + /** + * In this case, the pattern has a globstar and we must read all directories unconditionally, + * but only if the level has reached the end of the first group. + * + * fixtures/{a,b}/** + * ^ true/false ^ always true + */ + if (!pattern.complete && levels > section.length) { + return true; + } + const match = parts.every((part, index) => { + const segment = pattern.segments[index]; + if (segment.dynamic && segment.patternRe.test(part)) { + return true; + } + if (!segment.dynamic && segment.pattern === part) { + return true; + } + return false; + }); + if (match) { + return true; + } + } + return false; } - return new settings_1.default(settingsOrOptions); } +exports.default = PartialMatcher; /***/ }), -/* 333 */ +/* 353 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -function read(path, settings, callback) { - settings.fs.lstat(path, (lstatError, lstat) => { - if (lstatError !== null) { - return callFailureCallback(callback, lstatError); - } - if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - return callSuccessCallback(callback, lstat); +const utils = __webpack_require__(294); +class Matcher { + constructor(_patterns, _settings, _micromatchOptions) { + this._patterns = _patterns; + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + this._storage = []; + this._fillStorage(); + } + _fillStorage() { + /** + * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level). + * So, before expand patterns with brace expansion into separated patterns. + */ + const patterns = utils.pattern.expandPatternsWithBraceExpansion(this._patterns); + for (const pattern of patterns) { + const segments = this._getPatternSegments(pattern); + const sections = this._splitSegmentsIntoSections(segments); + this._storage.push({ + complete: sections.length <= 1, + pattern, + segments, + sections + }); } - settings.fs.stat(path, (statError, stat) => { - if (statError !== null) { - if (settings.throwErrorOnBrokenSymbolicLink) { - return callFailureCallback(callback, statError); - } - return callSuccessCallback(callback, lstat); - } - if (settings.markSymbolicLink) { - stat.isSymbolicLink = () => true; + } + _getPatternSegments(pattern) { + const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions); + return parts.map((part) => { + const dynamic = utils.pattern.isDynamicPattern(part, this._settings); + if (!dynamic) { + return { + dynamic: false, + pattern: part + }; } - callSuccessCallback(callback, stat); + return { + dynamic: true, + pattern: part, + patternRe: utils.pattern.makeRe(part, this._micromatchOptions) + }; }); - }); -} -exports.read = read; -function callFailureCallback(callback, error) { - callback(error); -} -function callSuccessCallback(callback, result) { - callback(null, result); + } + _splitSegmentsIntoSections(segments) { + return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern)); + } } +exports.default = Matcher; /***/ }), -/* 334 */ +/* 354 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -function read(path, settings) { - const lstat = settings.fs.lstatSync(path); - if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - return lstat; +const utils = __webpack_require__(294); +class EntryFilter { + constructor(_settings, _micromatchOptions) { + this._settings = _settings; + this._micromatchOptions = _micromatchOptions; + this.index = new Map(); } - try { - const stat = settings.fs.statSync(path); - if (settings.markSymbolicLink) { - stat.isSymbolicLink = () => true; + getFilter(positive, negative) { + const positiveRe = utils.pattern.convertPatternsToRe(positive, this._micromatchOptions); + const negativeRe = utils.pattern.convertPatternsToRe(negative, this._micromatchOptions); + return (entry) => this._filter(entry, positiveRe, negativeRe); + } + _filter(entry, positiveRe, negativeRe) { + if (this._settings.unique) { + if (this._isDuplicateEntry(entry)) { + return false; + } + this._createIndexRecord(entry); } - return stat; + if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { + return false; + } + if (this._isSkippedByAbsoluteNegativePatterns(entry, negativeRe)) { + return false; + } + const filepath = this._settings.baseNameMatch ? entry.name : entry.path; + return this._isMatchToPatterns(filepath, positiveRe) && !this._isMatchToPatterns(entry.path, negativeRe); } - catch (error) { - if (!settings.throwErrorOnBrokenSymbolicLink) { - return lstat; + _isDuplicateEntry(entry) { + return this.index.has(entry.path); + } + _createIndexRecord(entry) { + this.index.set(entry.path, undefined); + } + _onlyFileFilter(entry) { + return this._settings.onlyFiles && !entry.dirent.isFile(); + } + _onlyDirectoryFilter(entry) { + return this._settings.onlyDirectories && !entry.dirent.isDirectory(); + } + _isSkippedByAbsoluteNegativePatterns(entry, negativeRe) { + if (!this._settings.absolute) { + return false; } - throw error; + const fullpath = utils.path.makeAbsolute(this._settings.cwd, entry.path); + return this._isMatchToPatterns(fullpath, negativeRe); + } + _isMatchToPatterns(entryPath, patternsRe) { + const filepath = utils.path.removeLeadingDotSegment(entryPath); + return utils.pattern.matchAny(filepath, patternsRe); } } -exports.read = read; +exports.default = EntryFilter; /***/ }), -/* 335 */ +/* 355 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fs = __webpack_require__(336); -class Settings { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); - this.fs = fs.createFileSystemAdapter(this._options.fs); - this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); +const utils = __webpack_require__(294); +class ErrorFilter { + constructor(_settings) { + this._settings = _settings; } - _getValue(option, value) { - return option === undefined ? value : option; + getFilter() { + return (error) => this._isNonFatalError(error); } -} -exports.default = Settings; - - -/***/ }), -/* 336 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const fs = __webpack_require__(133); -exports.FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - stat: fs.stat, - lstatSync: fs.lstatSync, - statSync: fs.statSync -}; -function createFileSystemAdapter(fsMethods) { - if (fsMethods === undefined) { - return exports.FILE_SYSTEM_ADAPTER; + _isNonFatalError(error) { + return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors; } - return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods); } -exports.createFileSystemAdapter = createFileSystemAdapter; +exports.default = ErrorFilter; /***/ }), -/* 337 */ +/* 356 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const async_1 = __webpack_require__(338); -const stream_1 = __webpack_require__(353); -const sync_1 = __webpack_require__(354); -const settings_1 = __webpack_require__(356); -exports.Settings = settings_1.default; -function walk(directory, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === 'function') { - return new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback); +const utils = __webpack_require__(294); +class EntryTransformer { + constructor(_settings) { + this._settings = _settings; } - new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); -} -exports.walk = walk; -function walkSync(directory, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - const provider = new sync_1.default(directory, settings); - return provider.read(); -} -exports.walkSync = walkSync; -function walkStream(directory, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - const provider = new stream_1.default(directory, settings); - return provider.read(); -} -exports.walkStream = walkStream; -function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; + getTransformer() { + return (entry) => this._transform(entry); + } + _transform(entry) { + let filepath = entry.path; + if (this._settings.absolute) { + filepath = utils.path.makeAbsolute(this._settings.cwd, filepath); + filepath = utils.path.unixify(filepath); + } + if (this._settings.markDirectories && entry.dirent.isDirectory()) { + filepath += '/'; + } + if (!this._settings.objectMode) { + return filepath; + } + return Object.assign(Object.assign({}, entry), { path: filepath }); } - return new settings_1.default(settingsOrOptions); } +exports.default = EntryTransformer; /***/ }), -/* 338 */ +/* 357 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const async_1 = __webpack_require__(339); -class AsyncProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async_1.default(this._root, this._settings); - this._storage = new Set(); +const stream_1 = __webpack_require__(137); +const stream_2 = __webpack_require__(323); +const provider_1 = __webpack_require__(350); +class ProviderStream extends provider_1.default { + constructor() { + super(...arguments); + this._reader = new stream_2.default(this._settings); } - read(callback) { - this._reader.onError((error) => { - callFailureCallback(callback, error); - }); - this._reader.onEntry((entry) => { - this._storage.add(entry); - }); - this._reader.onEnd(() => { - callSuccessCallback(callback, [...this._storage]); - }); - this._reader.read(); + read(task) { + const root = this._getRootDirectory(task); + const options = this._getReaderOptions(task); + const source = this.api(root, task, options); + const destination = new stream_1.Readable({ objectMode: true, read: () => { } }); + source + .once('error', (error) => destination.emit('error', error)) + .on('data', (entry) => destination.emit('data', options.transform(entry))) + .once('end', () => destination.emit('end')); + destination + .once('close', () => source.destroy()); + return destination; + } + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); + } + return this._reader.static(task.patterns, options); } } -exports.default = AsyncProvider; -function callFailureCallback(callback, error) { - callback(error); -} -function callSuccessCallback(callback, entries) { - callback(null, entries); -} +exports.default = ProviderStream; /***/ }), -/* 339 */ +/* 358 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const events_1 = __webpack_require__(155); -const fsScandir = __webpack_require__(340); -const fastq = __webpack_require__(349); -const common = __webpack_require__(351); -const reader_1 = __webpack_require__(352); -class AsyncReader extends reader_1.default { - constructor(_root, _settings) { - super(_root, _settings); - this._settings = _settings; - this._scandir = fsScandir.scandir; - this._emitter = new events_1.EventEmitter(); - this._queue = fastq(this._worker.bind(this), this._settings.concurrency); - this._isFatalError = false; - this._isDestroyed = false; - this._queue.drain = () => { - if (!this._isFatalError) { - this._emitter.emit('end'); - } - }; +const sync_1 = __webpack_require__(359); +const provider_1 = __webpack_require__(350); +class ProviderSync extends provider_1.default { + constructor() { + super(...arguments); + this._reader = new sync_1.default(this._settings); } - read() { - this._isFatalError = false; - this._isDestroyed = false; - setImmediate(() => { - this._pushToQueue(this._root, this._settings.basePath); - }); - return this._emitter; + read(task) { + const root = this._getRootDirectory(task); + const options = this._getReaderOptions(task); + const entries = this.api(root, task, options); + return entries.map(options.transform); } - destroy() { - if (this._isDestroyed) { - throw new Error('The reader is already destroyed'); + api(root, task, options) { + if (task.dynamic) { + return this._reader.dynamic(root, options); } - this._isDestroyed = true; - this._queue.killAndDrain(); - } - onEntry(callback) { - this._emitter.on('entry', callback); - } - onError(callback) { - this._emitter.once('error', callback); + return this._reader.static(task.patterns, options); } - onEnd(callback) { - this._emitter.once('end', callback); +} +exports.default = ProviderSync; + + +/***/ }), +/* 359 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const fsStat = __webpack_require__(324); +const fsWalk = __webpack_require__(329); +const reader_1 = __webpack_require__(349); +class ReaderSync extends reader_1.default { + constructor() { + super(...arguments); + this._walkSync = fsWalk.walkSync; + this._statSync = fsStat.statSync; } - _pushToQueue(directory, base) { - const queueItem = { directory, base }; - this._queue.push(queueItem, (error) => { - if (error !== null) { - this._handleError(error); - } - }); + dynamic(root, options) { + return this._walkSync(root, options); } - _worker(item, done) { - this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { - if (error !== null) { - return done(error, undefined); - } - for (const entry of entries) { - this._handleEntry(entry, item.base); + static(patterns, options) { + const entries = []; + for (const pattern of patterns) { + const filepath = this._getFullEntryPath(pattern); + const entry = this._getEntry(filepath, pattern, options); + if (entry === null || !options.entryFilter(entry)) { + continue; } - done(null, undefined); - }); - } - _handleError(error) { - if (!common.isFatalError(this._settings, error)) { - return; + entries.push(entry); } - this._isFatalError = true; - this._isDestroyed = true; - this._emitter.emit('error', error); + return entries; } - _handleEntry(entry, base) { - if (this._isDestroyed || this._isFatalError) { - return; - } - const fullpath = entry.path; - if (base !== undefined) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._emitEntry(entry); + _getEntry(filepath, pattern, options) { + try { + const stats = this._getStat(filepath); + return this._makeEntry(stats, pattern); } - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, entry.path); + catch (error) { + if (options.errorFilter(error)) { + return null; + } + throw error; } } - _emitEntry(entry) { - this._emitter.emit('entry', entry); + _getStat(filepath) { + return this._statSync(filepath, this._fsStatSettings); } } -exports.default = AsyncReader; +exports.default = ReaderSync; /***/ }), -/* 340 */ +/* 360 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const async = __webpack_require__(341); -const sync = __webpack_require__(346); -const settings_1 = __webpack_require__(347); -exports.Settings = settings_1.default; -function scandir(path, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === 'function') { - return async.read(path, getSettings(), optionsOrSettingsOrCallback); +const fs = __webpack_require__(133); +const os = __webpack_require__(120); +const CPU_COUNT = os.cpus().length; +exports.DEFAULT_FILE_SYSTEM_ADAPTER = { + lstat: fs.lstat, + lstatSync: fs.lstatSync, + stat: fs.stat, + statSync: fs.statSync, + readdir: fs.readdir, + readdirSync: fs.readdirSync +}; +class Settings { + constructor(_options = {}) { + this._options = _options; + this.absolute = this._getValue(this._options.absolute, false); + this.baseNameMatch = this._getValue(this._options.baseNameMatch, false); + this.braceExpansion = this._getValue(this._options.braceExpansion, true); + this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true); + this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT); + this.cwd = this._getValue(this._options.cwd, process.cwd()); + this.deep = this._getValue(this._options.deep, Infinity); + this.dot = this._getValue(this._options.dot, false); + this.extglob = this._getValue(this._options.extglob, true); + this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true); + this.fs = this._getFileSystemMethods(this._options.fs); + this.globstar = this._getValue(this._options.globstar, true); + this.ignore = this._getValue(this._options.ignore, []); + this.markDirectories = this._getValue(this._options.markDirectories, false); + this.objectMode = this._getValue(this._options.objectMode, false); + this.onlyDirectories = this._getValue(this._options.onlyDirectories, false); + this.onlyFiles = this._getValue(this._options.onlyFiles, true); + this.stats = this._getValue(this._options.stats, false); + this.suppressErrors = this._getValue(this._options.suppressErrors, false); + this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false); + this.unique = this._getValue(this._options.unique, true); + if (this.onlyDirectories) { + this.onlyFiles = false; + } + if (this.stats) { + this.objectMode = true; + } } - async.read(path, getSettings(optionsOrSettingsOrCallback), callback); -} -exports.scandir = scandir; -function scandirSync(path, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - return sync.read(path, settings); -} -exports.scandirSync = scandirSync; -function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; + _getValue(option, value) { + return option === undefined ? value : option; + } + _getFileSystemMethods(methods = {}) { + return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods); } - return new settings_1.default(settingsOrOptions); } +exports.default = Settings; /***/ }), -/* 341 */ +/* 361 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const fsStat = __webpack_require__(332); -const rpl = __webpack_require__(342); -const constants_1 = __webpack_require__(343); -const utils = __webpack_require__(344); -function read(directory, settings, callback) { - if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - return readdirWithFileTypes(directory, settings, callback); - } - return readdir(directory, settings, callback); -} -exports.read = read; -function readdirWithFileTypes(directory, settings, callback) { - settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => { - if (readdirError !== null) { - return callFailureCallback(callback, readdirError); - } - const entries = dirents.map((dirent) => ({ - dirent, - name: dirent.name, - path: `${directory}${settings.pathSegmentSeparator}${dirent.name}` - })); - if (!settings.followSymbolicLinks) { - return callSuccessCallback(callback, entries); - } - const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings)); - rpl(tasks, (rplError, rplEntries) => { - if (rplError !== null) { - return callFailureCallback(callback, rplError); - } - callSuccessCallback(callback, rplEntries); - }); - }); -} -exports.readdirWithFileTypes = readdirWithFileTypes; -function makeRplTaskEntry(entry, settings) { - return (done) => { - if (!entry.dirent.isSymbolicLink()) { - return done(null, entry); - } - settings.fs.stat(entry.path, (statError, stats) => { - if (statError !== null) { - if (settings.throwErrorOnBrokenSymbolicLink) { - return done(statError); - } - return done(null, entry); - } - entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); - return done(null, entry); - }); - }; -} -function readdir(directory, settings, callback) { - settings.fs.readdir(directory, (readdirError, names) => { - if (readdirError !== null) { - return callFailureCallback(callback, readdirError); - } - const filepaths = names.map((name) => `${directory}${settings.pathSegmentSeparator}${name}`); - const tasks = filepaths.map((filepath) => { - return (done) => fsStat.stat(filepath, settings.fsStatSettings, done); - }); - rpl(tasks, (rplError, results) => { - if (rplError !== null) { - return callFailureCallback(callback, rplError); - } - const entries = []; - names.forEach((name, index) => { - const stats = results[index]; - const entry = { - name, - path: filepaths[index], - dirent: utils.fs.createDirentFromStats(name, stats) - }; - if (settings.stats) { - entry.stats = stats; - } - entries.push(entry); - }); - callSuccessCallback(callback, entries); - }); - }); -} -exports.readdir = readdir; -function callFailureCallback(callback, error) { - callback(error); -} -function callSuccessCallback(callback, result) { - callback(null, result); -} + +const path = __webpack_require__(4); +const pathType = __webpack_require__(362); + +const getExtensions = extensions => extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0]; + +const getPath = (filepath, cwd) => { + const pth = filepath[0] === '!' ? filepath.slice(1) : filepath; + return path.isAbsolute(pth) ? pth : path.join(cwd, pth); +}; + +const addExtensions = (file, extensions) => { + if (path.extname(file)) { + return `**/${file}`; + } + + return `**/${file}.${getExtensions(extensions)}`; +}; + +const getGlob = (directory, options) => { + if (options.files && !Array.isArray(options.files)) { + throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof options.files}\``); + } + + if (options.extensions && !Array.isArray(options.extensions)) { + throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof options.extensions}\``); + } + + if (options.files && options.extensions) { + return options.files.map(x => path.posix.join(directory, addExtensions(x, options.extensions))); + } + + if (options.files) { + return options.files.map(x => path.posix.join(directory, `**/${x}`)); + } + + if (options.extensions) { + return [path.posix.join(directory, `**/*.${getExtensions(options.extensions)}`)]; + } + + return [path.posix.join(directory, '**')]; +}; + +module.exports = async (input, options) => { + options = { + cwd: process.cwd(), + ...options + }; + + if (typeof options.cwd !== 'string') { + throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof options.cwd}\``); + } + + const globs = await Promise.all([].concat(input).map(async x => { + const isDirectory = await pathType.isDirectory(getPath(x, options.cwd)); + return isDirectory ? getGlob(x, options) : x; + })); + + return [].concat.apply([], globs); // eslint-disable-line prefer-spread +}; + +module.exports.sync = (input, options) => { + options = { + cwd: process.cwd(), + ...options + }; + + if (typeof options.cwd !== 'string') { + throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof options.cwd}\``); + } + + const globs = [].concat(input).map(x => pathType.isDirectorySync(getPath(x, options.cwd)) ? getGlob(x, options) : x); + + return [].concat.apply([], globs); // eslint-disable-line prefer-spread +}; + + +/***/ }), +/* 362 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +const {promisify} = __webpack_require__(111); +const fs = __webpack_require__(133); + +async function isType(fsStatType, statsMethodName, filePath) { + if (typeof filePath !== 'string') { + throw new TypeError(`Expected a string, got ${typeof filePath}`); + } + + try { + const stats = await promisify(fs[fsStatType])(filePath); + return stats[statsMethodName](); + } catch (error) { + if (error.code === 'ENOENT') { + return false; + } + + throw error; + } +} + +function isTypeSync(fsStatType, statsMethodName, filePath) { + if (typeof filePath !== 'string') { + throw new TypeError(`Expected a string, got ${typeof filePath}`); + } + + try { + return fs[fsStatType](filePath)[statsMethodName](); + } catch (error) { + if (error.code === 'ENOENT') { + return false; + } + + throw error; + } +} + +exports.isFile = isType.bind(null, 'stat', 'isFile'); +exports.isDirectory = isType.bind(null, 'stat', 'isDirectory'); +exports.isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink'); +exports.isFileSync = isTypeSync.bind(null, 'statSync', 'isFile'); +exports.isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory'); +exports.isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink'); + + +/***/ }), +/* 363 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +const {promisify} = __webpack_require__(111); +const fs = __webpack_require__(133); +const path = __webpack_require__(4); +const fastGlob = __webpack_require__(292); +const gitIgnore = __webpack_require__(364); +const slash = __webpack_require__(365); + +const DEFAULT_IGNORE = [ + '**/node_modules/**', + '**/flow-typed/**', + '**/coverage/**', + '**/.git' +]; + +const readFileP = promisify(fs.readFile); + +const mapGitIgnorePatternTo = base => ignore => { + if (ignore.startsWith('!')) { + return '!' + path.posix.join(base, ignore.slice(1)); + } + + return path.posix.join(base, ignore); +}; + +const parseGitIgnore = (content, options) => { + const base = slash(path.relative(options.cwd, path.dirname(options.fileName))); + + return content + .split(/\r?\n/) + .filter(Boolean) + .filter(line => !line.startsWith('#')) + .map(mapGitIgnorePatternTo(base)); +}; + +const reduceIgnore = files => { + return files.reduce((ignores, file) => { + ignores.add(parseGitIgnore(file.content, { + cwd: file.cwd, + fileName: file.filePath + })); + return ignores; + }, gitIgnore()); +}; + +const ensureAbsolutePathForCwd = (cwd, p) => { + if (path.isAbsolute(p)) { + if (p.startsWith(cwd)) { + return p; + } + + throw new Error(`Path ${p} is not in cwd ${cwd}`); + } + + return path.join(cwd, p); +}; + +const getIsIgnoredPredecate = (ignores, cwd) => { + return p => ignores.ignores(slash(path.relative(cwd, ensureAbsolutePathForCwd(cwd, p)))); +}; + +const getFile = async (file, cwd) => { + const filePath = path.join(cwd, file); + const content = await readFileP(filePath, 'utf8'); + + return { + cwd, + filePath, + content + }; +}; + +const getFileSync = (file, cwd) => { + const filePath = path.join(cwd, file); + const content = fs.readFileSync(filePath, 'utf8'); + + return { + cwd, + filePath, + content + }; +}; + +const normalizeOptions = ({ + ignore = [], + cwd = slash(process.cwd()) +} = {}) => { + return {ignore, cwd}; +}; + +module.exports = async options => { + options = normalizeOptions(options); + + const paths = await fastGlob('**/.gitignore', { + ignore: DEFAULT_IGNORE.concat(options.ignore), + cwd: options.cwd + }); + + const files = await Promise.all(paths.map(file => getFile(file, options.cwd))); + const ignores = reduceIgnore(files); + + return getIsIgnoredPredecate(ignores, options.cwd); +}; + +module.exports.sync = options => { + options = normalizeOptions(options); + + const paths = fastGlob.sync('**/.gitignore', { + ignore: DEFAULT_IGNORE.concat(options.ignore), + cwd: options.cwd + }); + + const files = paths.map(file => getFileSync(file, options.cwd)); + const ignores = reduceIgnore(files); + + return getIsIgnoredPredecate(ignores, options.cwd); +}; /***/ }), -/* 342 */ +/* 364 */ /***/ (function(module, exports) { -module.exports = runParallel +// A simple implementation of make-array +function makeArray (subject) { + return Array.isArray(subject) + ? subject + : [subject] +} -function runParallel (tasks, cb) { - var results, pending, keys - var isSync = true +const EMPTY = '' +const SPACE = ' ' +const ESCAPE = '\\' +const REGEX_TEST_BLANK_LINE = /^\s+$/ +const REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/ +const REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/ +const REGEX_SPLITALL_CRLF = /\r?\n/g +// /foo, +// ./foo, +// ../foo, +// . +// .. +const REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/ - if (Array.isArray(tasks)) { - results = [] - pending = tasks.length - } else { - keys = Object.keys(tasks) - results = {} - pending = keys.length - } +const SLASH = '/' +const KEY_IGNORE = typeof Symbol !== 'undefined' + ? Symbol.for('node-ignore') + /* istanbul ignore next */ + : 'node-ignore' - function done (err) { - function end () { - if (cb) cb(err, results) - cb = null - } - if (isSync) process.nextTick(end) - else end() - } +const define = (object, key, value) => + Object.defineProperty(object, key, {value}) - function each (i, err, result) { - results[i] = result - if (--pending === 0 || err) { - done(err) - } - } +const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g - if (!pending) { - // empty - done(null) - } else if (keys) { - // object - keys.forEach(function (key) { - tasks[key](function (err, result) { each(key, err, result) }) - }) - } else { - // array - tasks.forEach(function (task, i) { - task(function (err, result) { each(i, err, result) }) - }) - } +// Sanitize the range of a regular expression +// The cases are complicated, see test cases for details +const sanitizeRange = range => range.replace( + REGEX_REGEXP_RANGE, + (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) + ? match + // Invalid range (out of order) which is ok for gitignore rules but + // fatal for JavaScript regular expression, so eliminate it. + : EMPTY +) - isSync = false +// See fixtures #59 +const cleanRangeBackSlash = slashes => { + const {length} = slashes + return slashes.slice(0, length - length % 2) } +// > If the pattern ends with a slash, +// > it is removed for the purpose of the following description, +// > but it would only find a match with a directory. +// > In other words, foo/ will match a directory foo and paths underneath it, +// > but will not match a regular file or a symbolic link foo +// > (this is consistent with the way how pathspec works in general in Git). +// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`' +// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call +// you could use option `mark: true` with `glob` -/***/ }), -/* 343 */ -/***/ (function(module, exports, __webpack_require__) { +// '`foo/`' should not continue with the '`..`' +const REPLACERS = [ -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const NODE_PROCESS_VERSION_PARTS = process.versions.node.split('.'); -const MAJOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); -const MINOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); -const SUPPORTED_MAJOR_VERSION = 10; -const SUPPORTED_MINOR_VERSION = 10; -const IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION; -const IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION; -/** - * IS `true` for Node.js 10.10 and greater. - */ -exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR; + // > Trailing spaces are ignored unless they are quoted with backslash ("\") + [ + // (a\ ) -> (a ) + // (a ) -> (a) + // (a \ ) -> (a ) + /\\?\s+$/, + match => match.indexOf('\\') === 0 + ? SPACE + : EMPTY + ], + // replace (\ ) with ' ' + [ + /\\\s/g, + () => SPACE + ], -/***/ }), -/* 344 */ -/***/ (function(module, exports, __webpack_require__) { + // Escape metacharacters + // which is written down by users but means special for regular expressions. -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const fs = __webpack_require__(345); -exports.fs = fs; + // > There are 12 characters with special meanings: + // > - the backslash \, + // > - the caret ^, + // > - the dollar sign $, + // > - the period or dot ., + // > - the vertical bar or pipe symbol |, + // > - the question mark ?, + // > - the asterisk or star *, + // > - the plus sign +, + // > - the opening parenthesis (, + // > - the closing parenthesis ), + // > - and the opening square bracket [, + // > - the opening curly brace {, + // > These special characters are often called "metacharacters". + [ + /[\\$.|*+(){^]/g, + match => `\\${match}` + ], + [ + // > a question mark (?) matches a single character + /(?!\\)\?/g, + () => '[^/]' + ], -/***/ }), -/* 345 */ -/***/ (function(module, exports, __webpack_require__) { + // leading slash + [ -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -class DirentFromStats { - constructor(name, stats) { - this.name = name; - this.isBlockDevice = stats.isBlockDevice.bind(stats); - this.isCharacterDevice = stats.isCharacterDevice.bind(stats); - this.isDirectory = stats.isDirectory.bind(stats); - this.isFIFO = stats.isFIFO.bind(stats); - this.isFile = stats.isFile.bind(stats); - this.isSocket = stats.isSocket.bind(stats); - this.isSymbolicLink = stats.isSymbolicLink.bind(stats); - } -} -function createDirentFromStats(name, stats) { - return new DirentFromStats(name, stats); -} -exports.createDirentFromStats = createDirentFromStats; + // > A leading slash matches the beginning of the pathname. + // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c". + // A leading slash matches the beginning of the pathname + /^\//, + () => '^' + ], + // replace special metacharacter slash after the leading slash + [ + /\//g, + () => '\\/' + ], -/***/ }), -/* 346 */ -/***/ (function(module, exports, __webpack_require__) { + [ + // > A leading "**" followed by a slash means match in all directories. + // > For example, "**/foo" matches file or directory "foo" anywhere, + // > the same as pattern "foo". + // > "**/foo/bar" matches file or directory "bar" anywhere that is directly + // > under directory "foo". + // Notice that the '*'s have been replaced as '\\*' + /^\^*\\\*\\\*\\\//, -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const fsStat = __webpack_require__(332); -const constants_1 = __webpack_require__(343); -const utils = __webpack_require__(344); -function read(directory, settings) { - if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - return readdirWithFileTypes(directory, settings); - } - return readdir(directory, settings); -} -exports.read = read; -function readdirWithFileTypes(directory, settings) { - const dirents = settings.fs.readdirSync(directory, { withFileTypes: true }); - return dirents.map((dirent) => { - const entry = { - dirent, - name: dirent.name, - path: `${directory}${settings.pathSegmentSeparator}${dirent.name}` - }; - if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { - try { - const stats = settings.fs.statSync(entry.path); - entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); - } - catch (error) { - if (settings.throwErrorOnBrokenSymbolicLink) { - throw error; - } - } - } - return entry; - }); -} -exports.readdirWithFileTypes = readdirWithFileTypes; -function readdir(directory, settings) { - const names = settings.fs.readdirSync(directory); - return names.map((name) => { - const entryPath = `${directory}${settings.pathSegmentSeparator}${name}`; - const stats = fsStat.statSync(entryPath, settings.fsStatSettings); - const entry = { - name, - path: entryPath, - dirent: utils.fs.createDirentFromStats(name, stats) - }; - if (settings.stats) { - entry.stats = stats; - } - return entry; - }); -} -exports.readdir = readdir; + // '**/foo' <-> 'foo' + () => '^(?:.*\\/)?' + ], + // starting + [ + // there will be no leading '/' + // (which has been replaced by section "leading slash") + // If starts with '**', adding a '^' to the regular expression also works + /^(?=[^^])/, + function startingReplacer () { + // If has a slash `/` at the beginning or middle + return !/\/(?!$)/.test(this) + // > Prior to 2.22.1 + // > If the pattern does not contain a slash /, + // > Git treats it as a shell glob pattern + // Actually, if there is only a trailing slash, + // git also treats it as a shell glob pattern -/***/ }), -/* 347 */ -/***/ (function(module, exports, __webpack_require__) { + // After 2.22.1 (compatible but clearer) + // > If there is a separator at the beginning or middle (or both) + // > of the pattern, then the pattern is relative to the directory + // > level of the particular .gitignore file itself. + // > Otherwise the pattern may also match at any level below + // > the .gitignore level. + ? '(?:^|\\/)' -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const path = __webpack_require__(4); -const fsStat = __webpack_require__(332); -const fs = __webpack_require__(348); -class Settings { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); - this.fs = fs.createFileSystemAdapter(this._options.fs); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); - this.stats = this._getValue(this._options.stats, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - this.fsStatSettings = new fsStat.Settings({ - followSymbolicLink: this.followSymbolicLinks, - fs: this.fs, - throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink - }); - } - _getValue(option, value) { - return option === undefined ? value : option; - } -} -exports.default = Settings; + // > Otherwise, Git treats the pattern as a shell glob suitable for + // > consumption by fnmatch(3) + : '^' + } + ], + // two globstars + [ + // Use lookahead assertions so that we could match more than one `'/**'` + /\\\/\\\*\\\*(?=\\\/|$)/g, -/***/ }), -/* 348 */ -/***/ (function(module, exports, __webpack_require__) { + // Zero, one or several directories + // should not use '*', or it will be replaced by the next replacer -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const fs = __webpack_require__(133); -exports.FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - stat: fs.stat, - lstatSync: fs.lstatSync, - statSync: fs.statSync, - readdir: fs.readdir, - readdirSync: fs.readdirSync -}; -function createFileSystemAdapter(fsMethods) { - if (fsMethods === undefined) { - return exports.FILE_SYSTEM_ADAPTER; - } - return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods); -} -exports.createFileSystemAdapter = createFileSystemAdapter; + // Check if it is not the last `'/**'` + (_, index, str) => index + 6 < str.length + // case: /**/ + // > A slash followed by two consecutive asterisks then a slash matches + // > zero or more directories. + // > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on. + // '/**/' + ? '(?:\\/[^\\/]+)*' -/***/ }), -/* 349 */ -/***/ (function(module, exports, __webpack_require__) { + // case: /** + // > A trailing `"/**"` matches everything inside. -"use strict"; + // #21: everything inside but it should not include the current folder + : '\\/.+' + ], + // intermediate wildcards + [ + // Never replace escaped '*' + // ignore rule '\*' will match the path '*' -var reusify = __webpack_require__(350) + // 'abc.*/' -> go + // 'abc.*' -> skip this rule + /(^|[^\\]+)\\\*(?=.+)/g, -function fastqueue (context, worker, concurrency) { - if (typeof context === 'function') { - concurrency = worker - worker = context - context = null - } + // '*.js' matches '.js' + // '*.js' doesn't match 'abc' + (_, p1) => `${p1}[^\\/]*` + ], - var cache = reusify(Task) - var queueHead = null - var queueTail = null - var _running = 0 + [ + // unescape, revert step 3 except for back slash + // For example, if a user escape a '\\*', + // after step 3, the result will be '\\\\\\*' + /\\\\\\(?=[$.|*+(){^])/g, + () => ESCAPE + ], - var self = { - push: push, - drain: noop, - saturated: noop, - pause: pause, - paused: false, - concurrency: concurrency, - running: running, - resume: resume, - idle: idle, - length: length, - unshift: unshift, - empty: noop, - kill: kill, - killAndDrain: killAndDrain + [ + // '\\\\' -> '\\' + /\\\\/g, + () => ESCAPE + ], + + [ + // > The range notation, e.g. [a-zA-Z], + // > can be used to match one of the characters in a range. + + // `\` is escaped by step 3 + /(\\)?\[([^\]/]*?)(\\*)($|\])/g, + (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE + // '\\[bar]' -> '\\\\[bar\\]' + ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` + : close === ']' + ? endEscape.length % 2 === 0 + // A normal case, and it is a range notation + // '[bar]' + // '[bar\\\\]' + ? `[${sanitizeRange(range)}${endEscape}]` + // Invalid range notaton + // '[bar\\]' -> '[bar\\\\]' + : '[]' + : '[]' + ], + + // ending + [ + // 'js' will not match 'js.' + // 'ab' will not match 'abc' + /(?:[^*])$/, + + // WTF! + // https://git-scm.com/docs/gitignore + // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1) + // which re-fixes #24, #38 + + // > If there is a separator at the end of the pattern then the pattern + // > will only match directories, otherwise the pattern can match both + // > files and directories. + + // 'js*' will not match 'a.js' + // 'js/' will not match 'a.js' + // 'js' will match 'a.js' and 'a.js/' + match => /\/$/.test(match) + // foo/ will not match 'foo' + ? `${match}$` + // foo matches 'foo' and 'foo/' + : `${match}(?=$|\\/$)` + ], + + // trailing wildcard + [ + /(\^|\\\/)?\\\*$/, + (_, p1) => { + const prefix = p1 + // '\^': + // '/*' does not match EMPTY + // '/*' does not match everything + + // '\\\/': + // 'abc/*' does not match 'abc/' + ? `${p1}[^/]+` + + // 'a*' matches 'a' + // 'a*' matches 'aa' + : '[^/]*' + + return `${prefix}(?=$|\\/$)` + } + ], +] + +// A simple cache, because an ignore rule only has only one certain meaning +const regexCache = Object.create(null) + +// @param {pattern} +const makeRegex = (pattern, negative, ignorecase) => { + const r = regexCache[pattern] + if (r) { + return r } - return self + // const replacers = negative + // ? NEGATIVE_REPLACERS + // : POSITIVE_REPLACERS + + const source = REPLACERS.reduce( + (prev, current) => prev.replace(current[0], current[1].bind(pattern)), + pattern + ) + + return regexCache[pattern] = ignorecase + ? new RegExp(source, 'i') + : new RegExp(source) +} - function running () { - return _running - } +const isString = subject => typeof subject === 'string' - function pause () { - self.paused = true - } +// > A blank line matches no files, so it can serve as a separator for readability. +const checkPattern = pattern => pattern + && isString(pattern) + && !REGEX_TEST_BLANK_LINE.test(pattern) - function length () { - var current = queueHead - var counter = 0 + // > A line starting with # serves as a comment. + && pattern.indexOf('#') !== 0 - while (current) { - current = current.next - counter++ - } +const splitPattern = pattern => pattern.split(REGEX_SPLITALL_CRLF) - return counter +class IgnoreRule { + constructor ( + origin, + pattern, + negative, + regex + ) { + this.origin = origin + this.pattern = pattern + this.negative = negative + this.regex = regex } +} - function resume () { - if (!self.paused) return - self.paused = false - for (var i = 0; i < self.concurrency; i++) { - _running++ - release() - } - } +const createRule = (pattern, ignorecase) => { + const origin = pattern + let negative = false - function idle () { - return _running === 0 && self.length() === 0 + // > An optional prefix "!" which negates the pattern; + if (pattern.indexOf('!') === 0) { + negative = true + pattern = pattern.substr(1) } - function push (value, done) { - var current = cache.get() - - current.context = context - current.release = release - current.value = value - current.callback = done || noop + pattern = pattern + // > Put a backslash ("\") in front of the first "!" for patterns that + // > begin with a literal "!", for example, `"\!important!.txt"`. + .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!') + // > Put a backslash ("\") in front of the first hash for patterns that + // > begin with a hash. + .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#') - if (_running === self.concurrency || self.paused) { - if (queueTail) { - queueTail.next = current - queueTail = current - } else { - queueHead = current - queueTail = current - self.saturated() - } - } else { - _running++ - worker.call(context, current.value, current.worked) - } - } + const regex = makeRegex(pattern, negative, ignorecase) - function unshift (value, done) { - var current = cache.get() + return new IgnoreRule( + origin, + pattern, + negative, + regex + ) +} - current.context = context - current.release = release - current.value = value - current.callback = done || noop +const throwError = (message, Ctor) => { + throw new Ctor(message) +} - if (_running === self.concurrency || self.paused) { - if (queueHead) { - current.next = queueHead - queueHead = current - } else { - queueHead = current - queueTail = current - self.saturated() - } - } else { - _running++ - worker.call(context, current.value, current.worked) - } +const checkPath = (path, originalPath, doThrow) => { + if (!isString(path)) { + return doThrow( + `path must be a string, but got \`${originalPath}\``, + TypeError + ) } - function release (holder) { - if (holder) { - cache.release(holder) - } - var next = queueHead - if (next) { - if (!self.paused) { - if (queueTail === queueHead) { - queueTail = null - } - queueHead = next.next - next.next = null - worker.call(context, next.value, next.worked) - if (queueTail === null) { - self.empty() - } - } else { - _running-- - } - } else if (--_running === 0) { - self.drain() - } + // We don't know if we should ignore EMPTY, so throw + if (!path) { + return doThrow(`path must not be empty`, TypeError) } - function kill () { - queueHead = null - queueTail = null - self.drain = noop + // Check if it is a relative path + if (checkPath.isNotRelative(path)) { + const r = '`path.relative()`d' + return doThrow( + `path should be a ${r} string, but got "${originalPath}"`, + RangeError + ) } - function killAndDrain () { - queueHead = null - queueTail = null - self.drain() - self.drain = noop - } + return true } -function noop () {} - -function Task () { - this.value = null - this.callback = noop - this.next = null - this.release = noop - this.context = null +const isNotRelative = path => REGEX_TEST_INVALID_PATH.test(path) - var self = this +checkPath.isNotRelative = isNotRelative +checkPath.convert = p => p - this.worked = function worked (err, result) { - var callback = self.callback - self.value = null - self.callback = noop - callback.call(self.context, err, result) - self.release(self) +class Ignore { + constructor ({ + ignorecase = true + } = {}) { + this._rules = [] + this._ignorecase = ignorecase + define(this, KEY_IGNORE, true) + this._initCache() } -} - -module.exports = fastqueue + _initCache () { + this._ignoreCache = Object.create(null) + this._testCache = Object.create(null) + } -/***/ }), -/* 350 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; + _addPattern (pattern) { + // #32 + if (pattern && pattern[KEY_IGNORE]) { + this._rules = this._rules.concat(pattern._rules) + this._added = true + return + } + if (checkPattern(pattern)) { + const rule = createRule(pattern, this._ignorecase) + this._added = true + this._rules.push(rule) + } + } -function reusify (Constructor) { - var head = new Constructor() - var tail = head + // @param {Array | string | Ignore} pattern + add (pattern) { + this._added = false - function get () { - var current = head + makeArray( + isString(pattern) + ? splitPattern(pattern) + : pattern + ).forEach(this._addPattern, this) - if (current.next) { - head = current.next - } else { - head = new Constructor() - tail = head + // Some rules have just added to the ignore, + // making the behavior changed. + if (this._added) { + this._initCache() } - current.next = null - - return current + return this } - function release (obj) { - tail.next = obj - tail = obj + // legacy + addPattern (pattern) { + return this.add(pattern) } - return { - get: get, - release: release - } -} + // | ignored : unignored + // negative | 0:0 | 0:1 | 1:0 | 1:1 + // -------- | ------- | ------- | ------- | -------- + // 0 | TEST | TEST | SKIP | X + // 1 | TESTIF | SKIP | TEST | X -module.exports = reusify + // - SKIP: always skip + // - TEST: always test + // - TESTIF: only test if checkUnignored + // - X: that never happen + // @param {boolean} whether should check if the path is unignored, + // setting `checkUnignored` to `false` could reduce additional + // path matching. -/***/ }), -/* 351 */ -/***/ (function(module, exports, __webpack_require__) { + // @returns {TestResult} true if a file is ignored + _testOne (path, checkUnignored) { + let ignored = false + let unignored = false -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -function isFatalError(settings, error) { - if (settings.errorFilter === null) { - return true; - } - return !settings.errorFilter(error); -} -exports.isFatalError = isFatalError; -function isAppliedFilter(filter, value) { - return filter === null || filter(value); -} -exports.isAppliedFilter = isAppliedFilter; -function replacePathSegmentSeparator(filepath, separator) { - return filepath.split(/[\\/]/).join(separator); -} -exports.replacePathSegmentSeparator = replacePathSegmentSeparator; -function joinPathSegments(a, b, separator) { - if (a === '') { - return b; - } - return a + separator + b; -} -exports.joinPathSegments = joinPathSegments; + this._rules.forEach(rule => { + const {negative} = rule + if ( + unignored === negative && ignored !== unignored + || negative && !ignored && !unignored && !checkUnignored + ) { + return + } + const matched = rule.regex.test(path) -/***/ }), -/* 352 */ -/***/ (function(module, exports, __webpack_require__) { + if (matched) { + ignored = !negative + unignored = negative + } + }) -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const common = __webpack_require__(351); -class Reader { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); - } -} -exports.default = Reader; + return { + ignored, + unignored + } + } + // @returns {TestResult} + _test (originalPath, cache, checkUnignored, slices) { + const path = originalPath + // Supports nullable path + && checkPath.convert(originalPath) -/***/ }), -/* 353 */ -/***/ (function(module, exports, __webpack_require__) { + checkPath(path, originalPath, throwError) -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(137); -const async_1 = __webpack_require__(339); -class StreamProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async_1.default(this._root, this._settings); - this._stream = new stream_1.Readable({ - objectMode: true, - read: () => { }, - destroy: this._reader.destroy.bind(this._reader) - }); - } - read() { - this._reader.onError((error) => { - this._stream.emit('error', error); - }); - this._reader.onEntry((entry) => { - this._stream.push(entry); - }); - this._reader.onEnd(() => { - this._stream.push(null); - }); - this._reader.read(); - return this._stream; - } -} -exports.default = StreamProvider; + return this._t(path, cache, checkUnignored, slices) + } + _t (path, cache, checkUnignored, slices) { + if (path in cache) { + return cache[path] + } -/***/ }), -/* 354 */ -/***/ (function(module, exports, __webpack_require__) { + if (!slices) { + // path/to/a.js + // ['path', 'to', 'a.js'] + slices = path.split(SLASH) + } -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const sync_1 = __webpack_require__(355); -class SyncProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new sync_1.default(this._root, this._settings); - } - read() { - return this._reader.read(); - } -} -exports.default = SyncProvider; + slices.pop() + // If the path has no parent directory, just test it + if (!slices.length) { + return cache[path] = this._testOne(path, checkUnignored) + } -/***/ }), -/* 355 */ -/***/ (function(module, exports, __webpack_require__) { + const parent = this._t( + slices.join(SLASH) + SLASH, + cache, + checkUnignored, + slices + ) -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const fsScandir = __webpack_require__(340); -const common = __webpack_require__(351); -const reader_1 = __webpack_require__(352); -class SyncReader extends reader_1.default { - constructor() { - super(...arguments); - this._scandir = fsScandir.scandirSync; - this._storage = new Set(); - this._queue = new Set(); - } - read() { - this._pushToQueue(this._root, this._settings.basePath); - this._handleQueue(); - return [...this._storage]; - } - _pushToQueue(directory, base) { - this._queue.add({ directory, base }); - } - _handleQueue() { - for (const item of this._queue.values()) { - this._handleDirectory(item.directory, item.base); - } - } - _handleDirectory(directory, base) { - try { - const entries = this._scandir(directory, this._settings.fsScandirSettings); - for (const entry of entries) { - this._handleEntry(entry, base); - } - } - catch (error) { - this._handleError(error); - } - } - _handleError(error) { - if (!common.isFatalError(this._settings, error)) { - return; - } - throw error; - } - _handleEntry(entry, base) { - const fullpath = entry.path; - if (base !== undefined) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._pushToStorage(entry); - } - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, entry.path); - } - } - _pushToStorage(entry) { - this._storage.add(entry); - } -} -exports.default = SyncReader; + // If the path contains a parent directory, check the parent first + return cache[path] = parent.ignored + // > It is not possible to re-include a file if a parent directory of + // > that file is excluded. + ? parent + : this._testOne(path, checkUnignored) + } + ignores (path) { + return this._test(path, this._ignoreCache, false).ignored + } -/***/ }), -/* 356 */ -/***/ (function(module, exports, __webpack_require__) { + createFilter () { + return path => !this.ignores(path) + } -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const path = __webpack_require__(4); -const fsScandir = __webpack_require__(340); -class Settings { - constructor(_options = {}) { - this._options = _options; - this.basePath = this._getValue(this._options.basePath, undefined); - this.concurrency = this._getValue(this._options.concurrency, Infinity); - this.deepFilter = this._getValue(this._options.deepFilter, null); - this.entryFilter = this._getValue(this._options.entryFilter, null); - this.errorFilter = this._getValue(this._options.errorFilter, null); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); - this.fsScandirSettings = new fsScandir.Settings({ - followSymbolicLinks: this._options.followSymbolicLinks, - fs: this._options.fs, - pathSegmentSeparator: this._options.pathSegmentSeparator, - stats: this._options.stats, - throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink - }); - } - _getValue(option, value) { - return option === undefined ? value : option; - } -} -exports.default = Settings; + filter (paths) { + return makeArray(paths).filter(this.createFilter()) + } + + // @returns {TestResult} + test (path) { + return this._test(path, this._testCache, true) + } +} +const factory = options => new Ignore(options) -/***/ }), -/* 357 */ -/***/ (function(module, exports, __webpack_require__) { +const returnFalse = () => false -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const path = __webpack_require__(4); -const fsStat = __webpack_require__(332); -const utils = __webpack_require__(302); -class Reader { - constructor(_settings) { - this._settings = _settings; - this._fsStatSettings = new fsStat.Settings({ - followSymbolicLink: this._settings.followSymbolicLinks, - fs: this._settings.fs, - throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks - }); - } - _getFullEntryPath(filepath) { - return path.resolve(this._settings.cwd, filepath); - } - _makeEntry(stats, pattern) { - const entry = { - name: pattern, - path: pattern, - dirent: utils.fs.createDirentFromStats(pattern, stats) - }; - if (this._settings.stats) { - entry.stats = stats; - } - return entry; - } - _isFatalError(error) { - return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; - } -} -exports.default = Reader; +const isPathValid = path => + checkPath(path && checkPath.convert(path), path, returnFalse) +factory.isPathValid = isPathValid -/***/ }), -/* 358 */ -/***/ (function(module, exports, __webpack_require__) { +// Fixes typescript +factory.default = factory -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const path = __webpack_require__(4); -const deep_1 = __webpack_require__(359); -const entry_1 = __webpack_require__(362); -const error_1 = __webpack_require__(363); -const entry_2 = __webpack_require__(364); -class Provider { - constructor(_settings) { - this._settings = _settings; - this.errorFilter = new error_1.default(this._settings); - this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions()); - this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions()); - this.entryTransformer = new entry_2.default(this._settings); - } - _getRootDirectory(task) { - return path.resolve(this._settings.cwd, task.base); - } - _getReaderOptions(task) { - const basePath = task.base === '.' ? '' : task.base; - return { - basePath, - pathSegmentSeparator: '/', - concurrency: this._settings.concurrency, - deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), - entryFilter: this.entryFilter.getFilter(task.positive, task.negative), - errorFilter: this.errorFilter.getFilter(), - followSymbolicLinks: this._settings.followSymbolicLinks, - fs: this._settings.fs, - stats: this._settings.stats, - throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, - transform: this.entryTransformer.getTransformer() - }; - } - _getMicromatchOptions() { - return { - dot: this._settings.dot, - matchBase: this._settings.baseNameMatch, - nobrace: !this._settings.braceExpansion, - nocase: !this._settings.caseSensitiveMatch, - noext: !this._settings.extglob, - noglobstar: !this._settings.globstar, - posix: true, - strictSlashes: false - }; - } -} -exports.default = Provider; +module.exports = factory +// Windows +// -------------------------------------------------------------- +/* istanbul ignore if */ +if ( + // Detect `process` so that it can run in browsers. + typeof process !== 'undefined' + && ( + process.env && process.env.IGNORE_TEST_WIN32 + || process.platform === 'win32' + ) +) { + /* eslint no-control-regex: "off" */ + const makePosix = str => /^\\\\\?\\/.test(str) + || /["<>|\u0000-\u001F]+/u.test(str) + ? str + : str.replace(/\\/g, '/') -/***/ }), -/* 359 */ -/***/ (function(module, exports, __webpack_require__) { + checkPath.convert = makePosix -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(302); -const partial_1 = __webpack_require__(360); -class DeepFilter { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - } - getFilter(basePath, positive, negative) { - const matcher = this._getMatcher(positive); - const negativeRe = this._getNegativePatternsRe(negative); - return (entry) => this._filter(basePath, entry, matcher, negativeRe); - } - _getMatcher(patterns) { - return new partial_1.default(patterns, this._settings, this._micromatchOptions); - } - _getNegativePatternsRe(patterns) { - const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern); - return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); - } - _filter(basePath, entry, matcher, negativeRe) { - const depth = this._getEntryLevel(basePath, entry.path); - if (this._isSkippedByDeep(depth)) { - return false; - } - if (this._isSkippedSymbolicLink(entry)) { - return false; - } - const filepath = utils.path.removeLeadingDotSegment(entry.path); - if (this._isSkippedByPositivePatterns(filepath, matcher)) { - return false; - } - return this._isSkippedByNegativePatterns(filepath, negativeRe); - } - _isSkippedByDeep(entryDepth) { - return entryDepth >= this._settings.deep; - } - _isSkippedSymbolicLink(entry) { - return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); - } - _getEntryLevel(basePath, entryPath) { - const basePathDepth = basePath.split('/').length; - const entryPathDepth = entryPath.split('/').length; - return entryPathDepth - (basePath === '' ? 0 : basePathDepth); - } - _isSkippedByPositivePatterns(entryPath, matcher) { - return !this._settings.baseNameMatch && !matcher.match(entryPath); - } - _isSkippedByNegativePatterns(entryPath, negativeRe) { - return !utils.pattern.matchAny(entryPath, negativeRe); - } -} -exports.default = DeepFilter; + // 'C:\\foo' <- 'C:\\foo' has been converted to 'C:/' + // 'd:\\foo' + const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i + checkPath.isNotRelative = path => + REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) + || isNotRelative(path) +} /***/ }), -/* 360 */ +/* 365 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const matcher_1 = __webpack_require__(361); -class PartialMatcher extends matcher_1.default { - match(filepath) { - const parts = filepath.split('/'); - const levels = parts.length; - const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels); - for (const pattern of patterns) { - const section = pattern.sections[0]; - /** - * In this case, the pattern has a globstar and we must read all directories unconditionally, - * but only if the level has reached the end of the first group. - * - * fixtures/{a,b}/** - * ^ true/false ^ always true - */ - if (!pattern.complete && levels > section.length) { - return true; - } - const match = parts.every((part, index) => { - const segment = pattern.segments[index]; - if (segment.dynamic && segment.patternRe.test(part)) { - return true; - } - if (!segment.dynamic && segment.pattern === part) { - return true; - } - return false; - }); - if (match) { - return true; - } - } - return false; - } -} -exports.default = PartialMatcher; +module.exports = path => { + const isExtendedLengthPath = /^\\\\\?\\/.test(path); + const hasNonAscii = /[^\u0000-\u0080]+/.test(path); // eslint-disable-line no-control-regex -/***/ }), -/* 361 */ -/***/ (function(module, exports, __webpack_require__) { + if (isExtendedLengthPath || hasNonAscii) { + return path; + } -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(302); -class Matcher { - constructor(_patterns, _settings, _micromatchOptions) { - this._patterns = _patterns; - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this._storage = []; - this._fillStorage(); - } - _fillStorage() { - /** - * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level). - * So, before expand patterns with brace expansion into separated patterns. - */ - const patterns = utils.pattern.expandPatternsWithBraceExpansion(this._patterns); - for (const pattern of patterns) { - const segments = this._getPatternSegments(pattern); - const sections = this._splitSegmentsIntoSections(segments); - this._storage.push({ - complete: sections.length <= 1, - pattern, - segments, - sections - }); - } - } - _getPatternSegments(pattern) { - const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions); - return parts.map((part) => { - const dynamic = utils.pattern.isDynamicPattern(part, this._settings); - if (!dynamic) { - return { - dynamic: false, - pattern: part - }; - } - return { - dynamic: true, - pattern: part, - patternRe: utils.pattern.makeRe(part, this._micromatchOptions) - }; - }); - } - _splitSegmentsIntoSections(segments) { - return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern)); - } -} -exports.default = Matcher; + return path.replace(/\\/g, '/'); +}; /***/ }), -/* 362 */ +/* 366 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(302); -class EntryFilter { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this.index = new Map(); - } - getFilter(positive, negative) { - const positiveRe = utils.pattern.convertPatternsToRe(positive, this._micromatchOptions); - const negativeRe = utils.pattern.convertPatternsToRe(negative, this._micromatchOptions); - return (entry) => this._filter(entry, positiveRe, negativeRe); - } - _filter(entry, positiveRe, negativeRe) { - if (this._settings.unique) { - if (this._isDuplicateEntry(entry)) { - return false; - } - this._createIndexRecord(entry); - } - if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { - return false; - } - if (this._isSkippedByAbsoluteNegativePatterns(entry, negativeRe)) { - return false; - } - const filepath = this._settings.baseNameMatch ? entry.name : entry.path; - return this._isMatchToPatterns(filepath, positiveRe) && !this._isMatchToPatterns(entry.path, negativeRe); - } - _isDuplicateEntry(entry) { - return this.index.has(entry.path); - } - _createIndexRecord(entry) { - this.index.set(entry.path, undefined); - } - _onlyFileFilter(entry) { - return this._settings.onlyFiles && !entry.dirent.isFile(); - } - _onlyDirectoryFilter(entry) { - return this._settings.onlyDirectories && !entry.dirent.isDirectory(); - } - _isSkippedByAbsoluteNegativePatterns(entry, negativeRe) { - if (!this._settings.absolute) { - return false; - } - const fullpath = utils.path.makeAbsolute(this._settings.cwd, entry.path); - return this._isMatchToPatterns(fullpath, negativeRe); - } - _isMatchToPatterns(entryPath, patternsRe) { - const filepath = utils.path.removeLeadingDotSegment(entryPath); - return utils.pattern.matchAny(filepath, patternsRe); - } -} -exports.default = EntryFilter; +const {Transform} = __webpack_require__(137); -/***/ }), -/* 363 */ -/***/ (function(module, exports, __webpack_require__) { +class ObjectTransform extends Transform { + constructor() { + super({ + objectMode: true + }); + } +} -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(302); -class ErrorFilter { - constructor(_settings) { - this._settings = _settings; - } - getFilter() { - return (error) => this._isNonFatalError(error); - } - _isNonFatalError(error) { - return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors; - } -} -exports.default = ErrorFilter; +class FilterStream extends ObjectTransform { + constructor(filter) { + super(); + this._filter = filter; + } + _transform(data, encoding, callback) { + if (this._filter(data)) { + this.push(data); + } -/***/ }), -/* 364 */ -/***/ (function(module, exports, __webpack_require__) { + callback(); + } +} -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(302); -class EntryTransformer { - constructor(_settings) { - this._settings = _settings; - } - getTransformer() { - return (entry) => this._transform(entry); - } - _transform(entry) { - let filepath = entry.path; - if (this._settings.absolute) { - filepath = utils.path.makeAbsolute(this._settings.cwd, filepath); - filepath = utils.path.unixify(filepath); - } - if (this._settings.markDirectories && entry.dirent.isDirectory()) { - filepath += '/'; - } - if (!this._settings.objectMode) { - return filepath; - } - return Object.assign(Object.assign({}, entry), { path: filepath }); - } -} -exports.default = EntryTransformer; +class UniqueStream extends ObjectTransform { + constructor() { + super(); + this._pushed = new Set(); + } + _transform(data, encoding, callback) { + if (!this._pushed.has(data)) { + this.push(data); + this._pushed.add(data); + } -/***/ }), -/* 365 */ -/***/ (function(module, exports, __webpack_require__) { + callback(); + } +} -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(137); -const stream_2 = __webpack_require__(331); -const provider_1 = __webpack_require__(358); -class ProviderStream extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new stream_2.default(this._settings); - } - read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const source = this.api(root, task, options); - const destination = new stream_1.Readable({ objectMode: true, read: () => { } }); - source - .once('error', (error) => destination.emit('error', error)) - .on('data', (entry) => destination.emit('data', options.transform(entry))) - .once('end', () => destination.emit('end')); - destination - .once('close', () => source.destroy()); - return destination; - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } -} -exports.default = ProviderStream; +module.exports = { + FilterStream, + UniqueStream +}; /***/ }), -/* 366 */ +/* 367 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const sync_1 = __webpack_require__(367); -const provider_1 = __webpack_require__(358); -class ProviderSync extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new sync_1.default(this._settings); - } - read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const entries = this.api(root, task, options); - return entries.map(options.transform); - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } -} -exports.default = ProviderSync; +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +var isExtglob = __webpack_require__(302); +var chars = { '{': '}', '(': ')', '[': ']'}; +var strictRegex = /\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; +var relaxedRegex = /\\(.)|(^!|[*?{}()[\]]|\(\?)/; + +module.exports = function isGlob(str, options) { + if (typeof str !== 'string' || str === '') { + return false; + } + + if (isExtglob(str)) { + return true; + } + + var regex = strictRegex; + var match; + + // optionally relax regex + if (options && options.strict === false) { + regex = relaxedRegex; + } + + while ((match = regex.exec(str))) { + if (match[2]) return true; + var idx = match.index + match[0].length; + + // if an open bracket/brace/paren is escaped, + // set the index to the next closing character + var open = match[1]; + var close = open ? chars[open] : null; + if (open && close) { + var n = str.indexOf(close, idx); + if (n !== -1) { + idx = n + 1; + } + } + + str = str.slice(idx); + } + return false; +}; /***/ }), -/* 367 */ +/* 368 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const fsStat = __webpack_require__(332); -const fsWalk = __webpack_require__(337); -const reader_1 = __webpack_require__(357); -class ReaderSync extends reader_1.default { - constructor() { - super(...arguments); - this._walkSync = fsWalk.walkSync; - this._statSync = fsStat.statSync; - } - dynamic(root, options) { - return this._walkSync(root, options); - } - static(patterns, options) { - const entries = []; - for (const pattern of patterns) { - const filepath = this._getFullEntryPath(pattern); - const entry = this._getEntry(filepath, pattern, options); - if (entry === null || !options.entryFilter(entry)) { - continue; - } - entries.push(entry); - } - return entries; - } - _getEntry(filepath, pattern, options) { - try { - const stats = this._getStat(filepath); - return this._makeEntry(stats, pattern); - } - catch (error) { - if (options.errorFilter(error)) { - return null; - } - throw error; - } - } - _getStat(filepath) { - return this._statSync(filepath, this._fsStatSettings); - } -} -exports.default = ReaderSync; +const path = __webpack_require__(4); -/***/ }), -/* 368 */ -/***/ (function(module, exports, __webpack_require__) { +module.exports = path_ => { + let cwd = process.cwd(); -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const fs = __webpack_require__(133); -const os = __webpack_require__(120); -const CPU_COUNT = os.cpus().length; -exports.DEFAULT_FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - lstatSync: fs.lstatSync, - stat: fs.stat, - statSync: fs.statSync, - readdir: fs.readdir, - readdirSync: fs.readdirSync -}; -class Settings { - constructor(_options = {}) { - this._options = _options; - this.absolute = this._getValue(this._options.absolute, false); - this.baseNameMatch = this._getValue(this._options.baseNameMatch, false); - this.braceExpansion = this._getValue(this._options.braceExpansion, true); - this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true); - this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT); - this.cwd = this._getValue(this._options.cwd, process.cwd()); - this.deep = this._getValue(this._options.deep, Infinity); - this.dot = this._getValue(this._options.dot, false); - this.extglob = this._getValue(this._options.extglob, true); - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true); - this.fs = this._getFileSystemMethods(this._options.fs); - this.globstar = this._getValue(this._options.globstar, true); - this.ignore = this._getValue(this._options.ignore, []); - this.markDirectories = this._getValue(this._options.markDirectories, false); - this.objectMode = this._getValue(this._options.objectMode, false); - this.onlyDirectories = this._getValue(this._options.onlyDirectories, false); - this.onlyFiles = this._getValue(this._options.onlyFiles, true); - this.stats = this._getValue(this._options.stats, false); - this.suppressErrors = this._getValue(this._options.suppressErrors, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false); - this.unique = this._getValue(this._options.unique, true); - if (this.onlyDirectories) { - this.onlyFiles = false; - } - if (this.stats) { - this.objectMode = true; - } - } - _getValue(option, value) { - return option === undefined ? value : option; - } - _getFileSystemMethods(methods = {}) { - return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods); - } -} -exports.default = Settings; + path_ = path.resolve(path_); + + if (process.platform === 'win32') { + cwd = cwd.toLowerCase(); + path_ = path_.toLowerCase(); + } + + return path_ === cwd; +}; /***/ }), @@ -48016,129 +47504,391 @@ exports.default = Settings; "use strict"; const path = __webpack_require__(4); -const pathType = __webpack_require__(370); -const getExtensions = extensions => extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0]; +module.exports = (childPath, parentPath) => { + childPath = path.resolve(childPath); + parentPath = path.resolve(parentPath); -const getPath = (filepath, cwd) => { - const pth = filepath[0] === '!' ? filepath.slice(1) : filepath; - return path.isAbsolute(pth) ? pth : path.join(cwd, pth); -}; + if (process.platform === 'win32') { + childPath = childPath.toLowerCase(); + parentPath = parentPath.toLowerCase(); + } -const addExtensions = (file, extensions) => { - if (path.extname(file)) { - return `**/${file}`; + if (childPath === parentPath) { + return false; } - return `**/${file}.${getExtensions(extensions)}`; + childPath += path.sep; + parentPath += path.sep; + + return childPath.startsWith(parentPath); }; -const getGlob = (directory, options) => { - if (options.files && !Array.isArray(options.files)) { - throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof options.files}\``); - } - if (options.extensions && !Array.isArray(options.extensions)) { - throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof options.extensions}\``); - } +/***/ }), +/* 370 */ +/***/ (function(module, exports, __webpack_require__) { - if (options.files && options.extensions) { - return options.files.map(x => path.posix.join(directory, addExtensions(x, options.extensions))); - } +const assert = __webpack_require__(139) +const path = __webpack_require__(4) +const fs = __webpack_require__(133) +let glob = undefined +try { + glob = __webpack_require__(146) +} catch (_err) { + // treat glob as optional. +} - if (options.files) { - return options.files.map(x => path.posix.join(directory, `**/${x}`)); - } +const defaultGlobOpts = { + nosort: true, + silent: true +} - if (options.extensions) { - return [path.posix.join(directory, `**/*.${getExtensions(options.extensions)}`)]; - } +// for EMFILE handling +let timeout = 0 - return [path.posix.join(directory, '**')]; -}; +const isWindows = (process.platform === "win32") -module.exports = async (input, options) => { - options = { - cwd: process.cwd(), - ...options - }; +const defaults = options => { + const methods = [ + 'unlink', + 'chmod', + 'stat', + 'lstat', + 'rmdir', + 'readdir' + ] + methods.forEach(m => { + options[m] = options[m] || fs[m] + m = m + 'Sync' + options[m] = options[m] || fs[m] + }) - if (typeof options.cwd !== 'string') { - throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof options.cwd}\``); - } + options.maxBusyTries = options.maxBusyTries || 3 + options.emfileWait = options.emfileWait || 1000 + if (options.glob === false) { + options.disableGlob = true + } + if (options.disableGlob !== true && glob === undefined) { + throw Error('glob dependency not found, set `options.disableGlob = true` if intentional') + } + options.disableGlob = options.disableGlob || false + options.glob = options.glob || defaultGlobOpts +} - const globs = await Promise.all([].concat(input).map(async x => { - const isDirectory = await pathType.isDirectory(getPath(x, options.cwd)); - return isDirectory ? getGlob(x, options) : x; - })); +const rimraf = (p, options, cb) => { + if (typeof options === 'function') { + cb = options + options = {} + } - return [].concat.apply([], globs); // eslint-disable-line prefer-spread -}; + assert(p, 'rimraf: missing path') + assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert.equal(typeof cb, 'function', 'rimraf: callback function required') + assert(options, 'rimraf: invalid options argument provided') + assert.equal(typeof options, 'object', 'rimraf: options should be object') -module.exports.sync = (input, options) => { - options = { - cwd: process.cwd(), - ...options - }; + defaults(options) - if (typeof options.cwd !== 'string') { - throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof options.cwd}\``); - } + let busyTries = 0 + let errState = null + let n = 0 - const globs = [].concat(input).map(x => pathType.isDirectorySync(getPath(x, options.cwd)) ? getGlob(x, options) : x); + const next = (er) => { + errState = errState || er + if (--n === 0) + cb(errState) + } - return [].concat.apply([], globs); // eslint-disable-line prefer-spread -}; + const afterGlob = (er, results) => { + if (er) + return cb(er) + n = results.length + if (n === 0) + return cb() -/***/ }), -/* 370 */ -/***/ (function(module, exports, __webpack_require__) { + results.forEach(p => { + const CB = (er) => { + if (er) { + if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && + busyTries < options.maxBusyTries) { + busyTries ++ + // try again, with the same exact callback as this one. + return setTimeout(() => rimraf_(p, options, CB), busyTries * 100) + } -"use strict"; + // this one won't happen if graceful-fs is used. + if (er.code === "EMFILE" && timeout < options.emfileWait) { + return setTimeout(() => rimraf_(p, options, CB), timeout ++) + } -const {promisify} = __webpack_require__(111); -const fs = __webpack_require__(133); + // already gone + if (er.code === "ENOENT") er = null + } -async function isType(fsStatType, statsMethodName, filePath) { - if (typeof filePath !== 'string') { - throw new TypeError(`Expected a string, got ${typeof filePath}`); - } + timeout = 0 + next(er) + } + rimraf_(p, options, CB) + }) + } - try { - const stats = await promisify(fs[fsStatType])(filePath); - return stats[statsMethodName](); - } catch (error) { - if (error.code === 'ENOENT') { - return false; - } + if (options.disableGlob || !glob.hasMagic(p)) + return afterGlob(null, [p]) - throw error; - } + options.lstat(p, (er, stat) => { + if (!er) + return afterGlob(null, [p]) + + glob(p, options.glob, afterGlob) + }) + +} + +// Two possible strategies. +// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR +// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR +// +// Both result in an extra syscall when you guess wrong. However, there +// are likely far more normal files in the world than directories. This +// is based on the assumption that a the average number of files per +// directory is >= 1. +// +// If anyone ever complains about this, then I guess the strategy could +// be made configurable somehow. But until then, YAGNI. +const rimraf_ = (p, options, cb) => { + assert(p) + assert(options) + assert(typeof cb === 'function') + + // sunos lets the root user unlink directories, which is... weird. + // so we have to lstat here and make sure it's not a dir. + options.lstat(p, (er, st) => { + if (er && er.code === "ENOENT") + return cb(null) + + // Windows can EPERM on stat. Life is suffering. + if (er && er.code === "EPERM" && isWindows) + fixWinEPERM(p, options, er, cb) + + if (st && st.isDirectory()) + return rmdir(p, options, er, cb) + + options.unlink(p, er => { + if (er) { + if (er.code === "ENOENT") + return cb(null) + if (er.code === "EPERM") + return (isWindows) + ? fixWinEPERM(p, options, er, cb) + : rmdir(p, options, er, cb) + if (er.code === "EISDIR") + return rmdir(p, options, er, cb) + } + return cb(er) + }) + }) +} + +const fixWinEPERM = (p, options, er, cb) => { + assert(p) + assert(options) + assert(typeof cb === 'function') + + options.chmod(p, 0o666, er2 => { + if (er2) + cb(er2.code === "ENOENT" ? null : er) + else + options.stat(p, (er3, stats) => { + if (er3) + cb(er3.code === "ENOENT" ? null : er) + else if (stats.isDirectory()) + rmdir(p, options, er, cb) + else + options.unlink(p, cb) + }) + }) +} + +const fixWinEPERMSync = (p, options, er) => { + assert(p) + assert(options) + + try { + options.chmodSync(p, 0o666) + } catch (er2) { + if (er2.code === "ENOENT") + return + else + throw er + } + + let stats + try { + stats = options.statSync(p) + } catch (er3) { + if (er3.code === "ENOENT") + return + else + throw er + } + + if (stats.isDirectory()) + rmdirSync(p, options, er) + else + options.unlinkSync(p) +} + +const rmdir = (p, options, originalEr, cb) => { + assert(p) + assert(options) + assert(typeof cb === 'function') + + // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS) + // if we guessed wrong, and it's not a directory, then + // raise the original error. + options.rmdir(p, er => { + if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) + rmkids(p, options, cb) + else if (er && er.code === "ENOTDIR") + cb(originalEr) + else + cb(er) + }) +} + +const rmkids = (p, options, cb) => { + assert(p) + assert(options) + assert(typeof cb === 'function') + + options.readdir(p, (er, files) => { + if (er) + return cb(er) + let n = files.length + if (n === 0) + return options.rmdir(p, cb) + let errState + files.forEach(f => { + rimraf(path.join(p, f), options, er => { + if (errState) + return + if (er) + return cb(errState = er) + if (--n === 0) + options.rmdir(p, cb) + }) + }) + }) +} + +// this looks simpler, and is strictly *faster*, but will +// tie up the JavaScript thread and fail on excessively +// deep directory trees. +const rimrafSync = (p, options) => { + options = options || {} + defaults(options) + + assert(p, 'rimraf: missing path') + assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert(options, 'rimraf: missing options') + assert.equal(typeof options, 'object', 'rimraf: options should be object') + + let results + + if (options.disableGlob || !glob.hasMagic(p)) { + results = [p] + } else { + try { + options.lstatSync(p) + results = [p] + } catch (er) { + results = glob.sync(p, options.glob) + } + } + + if (!results.length) + return + + for (let i = 0; i < results.length; i++) { + const p = results[i] + + let st + try { + st = options.lstatSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + + // Windows can EPERM on stat. Life is suffering. + if (er.code === "EPERM" && isWindows) + fixWinEPERMSync(p, options, er) + } + + try { + // sunos lets the root user unlink directories, which is... weird. + if (st && st.isDirectory()) + rmdirSync(p, options, null) + else + options.unlinkSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + if (er.code === "EPERM") + return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er) + if (er.code !== "EISDIR") + throw er + + rmdirSync(p, options, er) + } + } +} + +const rmdirSync = (p, options, originalEr) => { + assert(p) + assert(options) + + try { + options.rmdirSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + if (er.code === "ENOTDIR") + throw originalEr + if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") + rmkidsSync(p, options) + } } -function isTypeSync(fsStatType, statsMethodName, filePath) { - if (typeof filePath !== 'string') { - throw new TypeError(`Expected a string, got ${typeof filePath}`); - } - - try { - return fs[fsStatType](filePath)[statsMethodName](); - } catch (error) { - if (error.code === 'ENOENT') { - return false; - } +const rmkidsSync = (p, options) => { + assert(p) + assert(options) + options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options)) - throw error; - } + // We only end up here once we got ENOTEMPTY at least once, and + // at this point, we are guaranteed to have removed all the kids. + // So, we know that it won't be ENOENT or ENOTDIR or anything else. + // try really hard to delete stuff on windows, because it has a + // PROFOUNDLY annoying habit of not closing handles promptly when + // files are deleted, resulting in spurious ENOTEMPTY errors. + const retries = isWindows ? 100 : 1 + let i = 0 + do { + let threw = true + try { + const ret = options.rmdirSync(p, options) + threw = false + return ret + } finally { + if (++i < retries && threw) + continue + } + } while (true) } -exports.isFile = isType.bind(null, 'stat', 'isFile'); -exports.isDirectory = isType.bind(null, 'stat', 'isDirectory'); -exports.isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink'); -exports.isFileSync = isTypeSync.bind(null, 'statSync', 'isFile'); -exports.isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory'); -exports.isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink'); +module.exports = rimraf +rimraf.sync = rimrafSync /***/ }), @@ -48147,2064 +47897,2169 @@ exports.isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink'); "use strict"; -const {promisify} = __webpack_require__(111); -const fs = __webpack_require__(133); -const path = __webpack_require__(4); -const fastGlob = __webpack_require__(300); -const gitIgnore = __webpack_require__(372); -const slash = __webpack_require__(373); - -const DEFAULT_IGNORE = [ - '**/node_modules/**', - '**/flow-typed/**', - '**/coverage/**', - '**/.git' -]; +const AggregateError = __webpack_require__(372); -const readFileP = promisify(fs.readFile); +module.exports = async ( + iterable, + mapper, + { + concurrency = Infinity, + stopOnError = true + } = {} +) => { + return new Promise((resolve, reject) => { + if (typeof mapper !== 'function') { + throw new TypeError('Mapper function is required'); + } -const mapGitIgnorePatternTo = base => ignore => { - if (ignore.startsWith('!')) { - return '!' + path.posix.join(base, ignore.slice(1)); - } + if (!(typeof concurrency === 'number' && concurrency >= 1)) { + throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${concurrency}\` (${typeof concurrency})`); + } - return path.posix.join(base, ignore); -}; + const ret = []; + const errors = []; + const iterator = iterable[Symbol.iterator](); + let isRejected = false; + let isIterableDone = false; + let resolvingCount = 0; + let currentIndex = 0; -const parseGitIgnore = (content, options) => { - const base = slash(path.relative(options.cwd, path.dirname(options.fileName))); + const next = () => { + if (isRejected) { + return; + } - return content - .split(/\r?\n/) - .filter(Boolean) - .filter(line => !line.startsWith('#')) - .map(mapGitIgnorePatternTo(base)); -}; + const nextItem = iterator.next(); + const i = currentIndex; + currentIndex++; -const reduceIgnore = files => { - return files.reduce((ignores, file) => { - ignores.add(parseGitIgnore(file.content, { - cwd: file.cwd, - fileName: file.filePath - })); - return ignores; - }, gitIgnore()); -}; + if (nextItem.done) { + isIterableDone = true; -const ensureAbsolutePathForCwd = (cwd, p) => { - if (path.isAbsolute(p)) { - if (p.startsWith(cwd)) { - return p; - } + if (resolvingCount === 0) { + if (!stopOnError && errors.length !== 0) { + reject(new AggregateError(errors)); + } else { + resolve(ret); + } + } - throw new Error(`Path ${p} is not in cwd ${cwd}`); - } + return; + } - return path.join(cwd, p); -}; + resolvingCount++; -const getIsIgnoredPredecate = (ignores, cwd) => { - return p => ignores.ignores(slash(path.relative(cwd, ensureAbsolutePathForCwd(cwd, p)))); -}; + (async () => { + try { + const element = await nextItem.value; + ret[i] = await mapper(element, i); + resolvingCount--; + next(); + } catch (error) { + if (stopOnError) { + isRejected = true; + reject(error); + } else { + errors.push(error); + resolvingCount--; + next(); + } + } + })(); + }; -const getFile = async (file, cwd) => { - const filePath = path.join(cwd, file); - const content = await readFileP(filePath, 'utf8'); + for (let i = 0; i < concurrency; i++) { + next(); - return { - cwd, - filePath, - content - }; + if (isIterableDone) { + break; + } + } + }); }; -const getFileSync = (file, cwd) => { - const filePath = path.join(cwd, file); - const content = fs.readFileSync(filePath, 'utf8'); - - return { - cwd, - filePath, - content - }; -}; -const normalizeOptions = ({ - ignore = [], - cwd = slash(process.cwd()) -} = {}) => { - return {ignore, cwd}; -}; +/***/ }), +/* 372 */ +/***/ (function(module, exports, __webpack_require__) { -module.exports = async options => { - options = normalizeOptions(options); +"use strict"; - const paths = await fastGlob('**/.gitignore', { - ignore: DEFAULT_IGNORE.concat(options.ignore), - cwd: options.cwd - }); +const indentString = __webpack_require__(373); +const cleanStack = __webpack_require__(374); - const files = await Promise.all(paths.map(file => getFile(file, options.cwd))); - const ignores = reduceIgnore(files); +const cleanInternalStack = stack => stack.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g, ''); - return getIsIgnoredPredecate(ignores, options.cwd); -}; +class AggregateError extends Error { + constructor(errors) { + if (!Array.isArray(errors)) { + throw new TypeError(`Expected input to be an Array, got ${typeof errors}`); + } -module.exports.sync = options => { - options = normalizeOptions(options); + errors = [...errors].map(error => { + if (error instanceof Error) { + return error; + } - const paths = fastGlob.sync('**/.gitignore', { - ignore: DEFAULT_IGNORE.concat(options.ignore), - cwd: options.cwd - }); + if (error !== null && typeof error === 'object') { + // Handle plain error objects with message property and/or possibly other metadata + return Object.assign(new Error(error.message), error); + } - const files = paths.map(file => getFileSync(file, options.cwd)); - const ignores = reduceIgnore(files); + return new Error(error); + }); - return getIsIgnoredPredecate(ignores, options.cwd); -}; + let message = errors + .map(error => { + // The `stack` property is not standardized, so we can't assume it exists + return typeof error.stack === 'string' ? cleanInternalStack(cleanStack(error.stack)) : String(error); + }) + .join('\n'); + message = '\n' + indentString(message, 4); + super(message); + this.name = 'AggregateError'; -/***/ }), -/* 372 */ -/***/ (function(module, exports) { + Object.defineProperty(this, '_errors', {value: errors}); + } -// A simple implementation of make-array -function makeArray (subject) { - return Array.isArray(subject) - ? subject - : [subject] + * [Symbol.iterator]() { + for (const error of this._errors) { + yield error; + } + } } -const EMPTY = '' -const SPACE = ' ' -const ESCAPE = '\\' -const REGEX_TEST_BLANK_LINE = /^\s+$/ -const REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/ -const REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/ -const REGEX_SPLITALL_CRLF = /\r?\n/g -// /foo, -// ./foo, -// ../foo, -// . -// .. -const REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/ - -const SLASH = '/' -const KEY_IGNORE = typeof Symbol !== 'undefined' - ? Symbol.for('node-ignore') - /* istanbul ignore next */ - : 'node-ignore' - -const define = (object, key, value) => - Object.defineProperty(object, key, {value}) - -const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g +module.exports = AggregateError; -// Sanitize the range of a regular expression -// The cases are complicated, see test cases for details -const sanitizeRange = range => range.replace( - REGEX_REGEXP_RANGE, - (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) - ? match - // Invalid range (out of order) which is ok for gitignore rules but - // fatal for JavaScript regular expression, so eliminate it. - : EMPTY -) -// See fixtures #59 -const cleanRangeBackSlash = slashes => { - const {length} = slashes - return slashes.slice(0, length - length % 2) -} +/***/ }), +/* 373 */ +/***/ (function(module, exports, __webpack_require__) { -// > If the pattern ends with a slash, -// > it is removed for the purpose of the following description, -// > but it would only find a match with a directory. -// > In other words, foo/ will match a directory foo and paths underneath it, -// > but will not match a regular file or a symbolic link foo -// > (this is consistent with the way how pathspec works in general in Git). -// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`' -// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call -// you could use option `mark: true` with `glob` +"use strict"; -// '`foo/`' should not continue with the '`..`' -const REPLACERS = [ - // > Trailing spaces are ignored unless they are quoted with backslash ("\") - [ - // (a\ ) -> (a ) - // (a ) -> (a) - // (a \ ) -> (a ) - /\\?\s+$/, - match => match.indexOf('\\') === 0 - ? SPACE - : EMPTY - ], +module.exports = (string, count = 1, options) => { + options = { + indent: ' ', + includeEmptyLines: false, + ...options + }; - // replace (\ ) with ' ' - [ - /\\\s/g, - () => SPACE - ], + if (typeof string !== 'string') { + throw new TypeError( + `Expected \`input\` to be a \`string\`, got \`${typeof string}\`` + ); + } - // Escape metacharacters - // which is written down by users but means special for regular expressions. + if (typeof count !== 'number') { + throw new TypeError( + `Expected \`count\` to be a \`number\`, got \`${typeof count}\`` + ); + } - // > There are 12 characters with special meanings: - // > - the backslash \, - // > - the caret ^, - // > - the dollar sign $, - // > - the period or dot ., - // > - the vertical bar or pipe symbol |, - // > - the question mark ?, - // > - the asterisk or star *, - // > - the plus sign +, - // > - the opening parenthesis (, - // > - the closing parenthesis ), - // > - and the opening square bracket [, - // > - the opening curly brace {, - // > These special characters are often called "metacharacters". - [ - /[\\$.|*+(){^]/g, - match => `\\${match}` - ], + if (typeof options.indent !== 'string') { + throw new TypeError( + `Expected \`options.indent\` to be a \`string\`, got \`${typeof options.indent}\`` + ); + } - [ - // > a question mark (?) matches a single character - /(?!\\)\?/g, - () => '[^/]' - ], + if (count === 0) { + return string; + } - // leading slash - [ + const regex = options.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm; - // > A leading slash matches the beginning of the pathname. - // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c". - // A leading slash matches the beginning of the pathname - /^\//, - () => '^' - ], + return string.replace(regex, options.indent.repeat(count)); +}; - // replace special metacharacter slash after the leading slash - [ - /\//g, - () => '\\/' - ], - [ - // > A leading "**" followed by a slash means match in all directories. - // > For example, "**/foo" matches file or directory "foo" anywhere, - // > the same as pattern "foo". - // > "**/foo/bar" matches file or directory "bar" anywhere that is directly - // > under directory "foo". - // Notice that the '*'s have been replaced as '\\*' - /^\^*\\\*\\\*\\\//, +/***/ }), +/* 374 */ +/***/ (function(module, exports, __webpack_require__) { - // '**/foo' <-> 'foo' - () => '^(?:.*\\/)?' - ], +"use strict"; - // starting - [ - // there will be no leading '/' - // (which has been replaced by section "leading slash") - // If starts with '**', adding a '^' to the regular expression also works - /^(?=[^^])/, - function startingReplacer () { - // If has a slash `/` at the beginning or middle - return !/\/(?!$)/.test(this) - // > Prior to 2.22.1 - // > If the pattern does not contain a slash /, - // > Git treats it as a shell glob pattern - // Actually, if there is only a trailing slash, - // git also treats it as a shell glob pattern +const os = __webpack_require__(120); - // After 2.22.1 (compatible but clearer) - // > If there is a separator at the beginning or middle (or both) - // > of the pattern, then the pattern is relative to the directory - // > level of the particular .gitignore file itself. - // > Otherwise the pattern may also match at any level below - // > the .gitignore level. - ? '(?:^|\\/)' +const extractPathRegex = /\s+at.*(?:\(|\s)(.*)\)?/; +const pathRegex = /^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/; +const homeDir = typeof os.homedir === 'undefined' ? '' : os.homedir(); - // > Otherwise, Git treats the pattern as a shell glob suitable for - // > consumption by fnmatch(3) - : '^' - } - ], +module.exports = (stack, options) => { + options = Object.assign({pretty: false}, options); - // two globstars - [ - // Use lookahead assertions so that we could match more than one `'/**'` - /\\\/\\\*\\\*(?=\\\/|$)/g, + return stack.replace(/\\/g, '/') + .split('\n') + .filter(line => { + const pathMatches = line.match(extractPathRegex); + if (pathMatches === null || !pathMatches[1]) { + return true; + } - // Zero, one or several directories - // should not use '*', or it will be replaced by the next replacer + const match = pathMatches[1]; - // Check if it is not the last `'/**'` - (_, index, str) => index + 6 < str.length + // Electron + if ( + match.includes('.app/Contents/Resources/electron.asar') || + match.includes('.app/Contents/Resources/default_app.asar') + ) { + return false; + } - // case: /**/ - // > A slash followed by two consecutive asterisks then a slash matches - // > zero or more directories. - // > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on. - // '/**/' - ? '(?:\\/[^\\/]+)*' + return !pathRegex.test(match); + }) + .filter(line => line.trim() !== '') + .map(line => { + if (options.pretty) { + return line.replace(extractPathRegex, (m, p1) => m.replace(p1, p1.replace(homeDir, '~'))); + } - // case: /** - // > A trailing `"/**"` matches everything inside. + return line; + }) + .join('\n'); +}; - // #21: everything inside but it should not include the current folder - : '\\/.+' - ], - // intermediate wildcards - [ - // Never replace escaped '*' - // ignore rule '\*' will match the path '*' +/***/ }), +/* 375 */ +/***/ (function(module, exports, __webpack_require__) { - // 'abc.*/' -> go - // 'abc.*' -> skip this rule - /(^|[^\\]+)\\\*(?=.+)/g, +"use strict"; - // '*.js' matches '.js' - // '*.js' doesn't match 'abc' - (_, p1) => `${p1}[^\\/]*` - ], +const chalk = __webpack_require__(376); +const cliCursor = __webpack_require__(385); +const cliSpinners = __webpack_require__(389); +const logSymbols = __webpack_require__(391); - [ - // unescape, revert step 3 except for back slash - // For example, if a user escape a '\\*', - // after step 3, the result will be '\\\\\\*' - /\\\\\\(?=[$.|*+(){^])/g, - () => ESCAPE - ], +class Ora { + constructor(options) { + if (typeof options === 'string') { + options = { + text: options + }; + } - [ - // '\\\\' -> '\\' - /\\\\/g, - () => ESCAPE - ], + this.options = Object.assign({ + text: '', + color: 'cyan', + stream: process.stderr + }, options); - [ - // > The range notation, e.g. [a-zA-Z], - // > can be used to match one of the characters in a range. + const sp = this.options.spinner; + this.spinner = typeof sp === 'object' ? sp : (process.platform === 'win32' ? cliSpinners.line : (cliSpinners[sp] || cliSpinners.dots)); // eslint-disable-line no-nested-ternary - // `\` is escaped by step 3 - /(\\)?\[([^\]/]*?)(\\*)($|\])/g, - (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE - // '\\[bar]' -> '\\\\[bar\\]' - ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` - : close === ']' - ? endEscape.length % 2 === 0 - // A normal case, and it is a range notation - // '[bar]' - // '[bar\\\\]' - ? `[${sanitizeRange(range)}${endEscape}]` - // Invalid range notaton - // '[bar\\]' -> '[bar\\\\]' - : '[]' - : '[]' - ], + if (this.spinner.frames === undefined) { + throw new Error('Spinner must define `frames`'); + } - // ending - [ - // 'js' will not match 'js.' - // 'ab' will not match 'abc' - /(?:[^*])$/, + this.text = this.options.text; + this.color = this.options.color; + this.interval = this.options.interval || this.spinner.interval || 100; + this.stream = this.options.stream; + this.id = null; + this.frameIndex = 0; + this.enabled = typeof this.options.enabled === 'boolean' ? this.options.enabled : ((this.stream && this.stream.isTTY) && !process.env.CI); + } + frame() { + const frames = this.spinner.frames; + let frame = frames[this.frameIndex]; - // WTF! - // https://git-scm.com/docs/gitignore - // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1) - // which re-fixes #24, #38 + if (this.color) { + frame = chalk[this.color](frame); + } - // > If there is a separator at the end of the pattern then the pattern - // > will only match directories, otherwise the pattern can match both - // > files and directories. + this.frameIndex = ++this.frameIndex % frames.length; - // 'js*' will not match 'a.js' - // 'js/' will not match 'a.js' - // 'js' will match 'a.js' and 'a.js/' - match => /\/$/.test(match) - // foo/ will not match 'foo' - ? `${match}$` - // foo matches 'foo' and 'foo/' - : `${match}(?=$|\\/$)` - ], + return frame + ' ' + this.text; + } + clear() { + if (!this.enabled) { + return this; + } - // trailing wildcard - [ - /(\^|\\\/)?\\\*$/, - (_, p1) => { - const prefix = p1 - // '\^': - // '/*' does not match EMPTY - // '/*' does not match everything + this.stream.clearLine(); + this.stream.cursorTo(0); - // '\\\/': - // 'abc/*' does not match 'abc/' - ? `${p1}[^/]+` + return this; + } + render() { + this.clear(); + this.stream.write(this.frame()); - // 'a*' matches 'a' - // 'a*' matches 'aa' - : '[^/]*' + return this; + } + start(text) { + if (text) { + this.text = text; + } - return `${prefix}(?=$|\\/$)` - } - ], -] + if (!this.enabled || this.id) { + return this; + } -// A simple cache, because an ignore rule only has only one certain meaning -const regexCache = Object.create(null) + cliCursor.hide(this.stream); + this.render(); + this.id = setInterval(this.render.bind(this), this.interval); -// @param {pattern} -const makeRegex = (pattern, negative, ignorecase) => { - const r = regexCache[pattern] - if (r) { - return r - } + return this; + } + stop() { + if (!this.enabled) { + return this; + } - // const replacers = negative - // ? NEGATIVE_REPLACERS - // : POSITIVE_REPLACERS + clearInterval(this.id); + this.id = null; + this.frameIndex = 0; + this.clear(); + cliCursor.show(this.stream); - const source = REPLACERS.reduce( - (prev, current) => prev.replace(current[0], current[1].bind(pattern)), - pattern - ) + return this; + } + succeed(text) { + return this.stopAndPersist({symbol: logSymbols.success, text}); + } + fail(text) { + return this.stopAndPersist({symbol: logSymbols.error, text}); + } + warn(text) { + return this.stopAndPersist({symbol: logSymbols.warning, text}); + } + info(text) { + return this.stopAndPersist({symbol: logSymbols.info, text}); + } + stopAndPersist(options) { + if (!this.enabled) { + return this; + } - return regexCache[pattern] = ignorecase - ? new RegExp(source, 'i') - : new RegExp(source) -} + // Legacy argument + // TODO: Deprecate sometime in the future + if (typeof options === 'string') { + options = { + symbol: options + }; + } -const isString = subject => typeof subject === 'string' + options = options || {}; -// > A blank line matches no files, so it can serve as a separator for readability. -const checkPattern = pattern => pattern - && isString(pattern) - && !REGEX_TEST_BLANK_LINE.test(pattern) + this.stop(); + this.stream.write(`${options.symbol || ' '} ${options.text || this.text}\n`); - // > A line starting with # serves as a comment. - && pattern.indexOf('#') !== 0 + return this; + } +} -const splitPattern = pattern => pattern.split(REGEX_SPLITALL_CRLF) +module.exports = function (opts) { + return new Ora(opts); +}; -class IgnoreRule { - constructor ( - origin, - pattern, - negative, - regex - ) { - this.origin = origin - this.pattern = pattern - this.negative = negative - this.regex = regex - } -} +module.exports.promise = (action, options) => { + if (typeof action.then !== 'function') { + throw new TypeError('Parameter `action` must be a Promise'); + } -const createRule = (pattern, ignorecase) => { - const origin = pattern - let negative = false + const spinner = new Ora(options); + spinner.start(); - // > An optional prefix "!" which negates the pattern; - if (pattern.indexOf('!') === 0) { - negative = true - pattern = pattern.substr(1) - } + action.then( + () => { + spinner.succeed(); + }, + () => { + spinner.fail(); + } + ); - pattern = pattern - // > Put a backslash ("\") in front of the first "!" for patterns that - // > begin with a literal "!", for example, `"\!important!.txt"`. - .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!') - // > Put a backslash ("\") in front of the first hash for patterns that - // > begin with a hash. - .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#') + return spinner; +}; - const regex = makeRegex(pattern, negative, ignorecase) - return new IgnoreRule( - origin, - pattern, - negative, - regex - ) -} +/***/ }), +/* 376 */ +/***/ (function(module, exports, __webpack_require__) { -const throwError = (message, Ctor) => { - throw new Ctor(message) -} +"use strict"; -const checkPath = (path, originalPath, doThrow) => { - if (!isString(path)) { - return doThrow( - `path must be a string, but got \`${originalPath}\``, - TypeError - ) - } +const escapeStringRegexp = __webpack_require__(178); +const ansiStyles = __webpack_require__(377); +const stdoutColor = __webpack_require__(382).stdout; - // We don't know if we should ignore EMPTY, so throw - if (!path) { - return doThrow(`path must not be empty`, TypeError) - } +const template = __webpack_require__(384); - // Check if it is a relative path - if (checkPath.isNotRelative(path)) { - const r = '`path.relative()`d' - return doThrow( - `path should be a ${r} string, but got "${originalPath}"`, - RangeError - ) - } +const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); - return true -} +// `supportsColor.level` → `ansiStyles.color[name]` mapping +const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; -const isNotRelative = path => REGEX_TEST_INVALID_PATH.test(path) +// `color-convert` models to exclude from the Chalk API due to conflicts and such +const skipModels = new Set(['gray']); -checkPath.isNotRelative = isNotRelative -checkPath.convert = p => p +const styles = Object.create(null); -class Ignore { - constructor ({ - ignorecase = true - } = {}) { - this._rules = [] - this._ignorecase = ignorecase - define(this, KEY_IGNORE, true) - this._initCache() - } +function applyOptions(obj, options) { + options = options || {}; - _initCache () { - this._ignoreCache = Object.create(null) - this._testCache = Object.create(null) - } + // Detect level if not set manually + const scLevel = stdoutColor ? stdoutColor.level : 0; + obj.level = options.level === undefined ? scLevel : options.level; + obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; +} - _addPattern (pattern) { - // #32 - if (pattern && pattern[KEY_IGNORE]) { - this._rules = this._rules.concat(pattern._rules) - this._added = true - return - } +function Chalk(options) { + // We check for this.template here since calling `chalk.constructor()` + // by itself will have a `this` of a previously constructed chalk object + if (!this || !(this instanceof Chalk) || this.template) { + const chalk = {}; + applyOptions(chalk, options); - if (checkPattern(pattern)) { - const rule = createRule(pattern, this._ignorecase) - this._added = true - this._rules.push(rule) - } - } + chalk.template = function () { + const args = [].slice.call(arguments); + return chalkTag.apply(null, [chalk.template].concat(args)); + }; - // @param {Array | string | Ignore} pattern - add (pattern) { - this._added = false + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); - makeArray( - isString(pattern) - ? splitPattern(pattern) - : pattern - ).forEach(this._addPattern, this) + chalk.template.constructor = Chalk; - // Some rules have just added to the ignore, - // making the behavior changed. - if (this._added) { - this._initCache() - } + return chalk.template; + } - return this - } + applyOptions(this, options); +} - // legacy - addPattern (pattern) { - return this.add(pattern) - } +// Use bright blue on Windows as the normal blue color is illegible +if (isSimpleWindowsTerm) { + ansiStyles.blue.open = '\u001B[94m'; +} - // | ignored : unignored - // negative | 0:0 | 0:1 | 1:0 | 1:1 - // -------- | ------- | ------- | ------- | -------- - // 0 | TEST | TEST | SKIP | X - // 1 | TESTIF | SKIP | TEST | X +for (const key of Object.keys(ansiStyles)) { + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); - // - SKIP: always skip - // - TEST: always test - // - TESTIF: only test if checkUnignored - // - X: that never happen + styles[key] = { + get() { + const codes = ansiStyles[key]; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); + } + }; +} - // @param {boolean} whether should check if the path is unignored, - // setting `checkUnignored` to `false` could reduce additional - // path matching. +styles.visible = { + get() { + return build.call(this, this._styles || [], true, 'visible'); + } +}; - // @returns {TestResult} true if a file is ignored - _testOne (path, checkUnignored) { - let ignored = false - let unignored = false +ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); +for (const model of Object.keys(ansiStyles.color.ansi)) { + if (skipModels.has(model)) { + continue; + } - this._rules.forEach(rule => { - const {negative} = rule - if ( - unignored === negative && ignored !== unignored - || negative && !ignored && !unignored && !checkUnignored - ) { - return - } + styles[model] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.color.close, + closeRe: ansiStyles.color.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; +} - const matched = rule.regex.test(path) +ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); +for (const model of Object.keys(ansiStyles.bgColor.ansi)) { + if (skipModels.has(model)) { + continue; + } - if (matched) { - ignored = !negative - unignored = negative - } - }) + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.bgColor.close, + closeRe: ansiStyles.bgColor.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; +} - return { - ignored, - unignored - } - } +const proto = Object.defineProperties(() => {}, styles); - // @returns {TestResult} - _test (originalPath, cache, checkUnignored, slices) { - const path = originalPath - // Supports nullable path - && checkPath.convert(originalPath) +function build(_styles, _empty, key) { + const builder = function () { + return applyStyle.apply(builder, arguments); + }; - checkPath(path, originalPath, throwError) + builder._styles = _styles; + builder._empty = _empty; - return this._t(path, cache, checkUnignored, slices) - } + const self = this; - _t (path, cache, checkUnignored, slices) { - if (path in cache) { - return cache[path] - } + Object.defineProperty(builder, 'level', { + enumerable: true, + get() { + return self.level; + }, + set(level) { + self.level = level; + } + }); - if (!slices) { - // path/to/a.js - // ['path', 'to', 'a.js'] - slices = path.split(SLASH) - } + Object.defineProperty(builder, 'enabled', { + enumerable: true, + get() { + return self.enabled; + }, + set(enabled) { + self.enabled = enabled; + } + }); - slices.pop() + // See below for fix regarding invisible grey/dim combination on Windows + builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; - // If the path has no parent directory, just test it - if (!slices.length) { - return cache[path] = this._testOne(path, checkUnignored) - } + // `__proto__` is used because we must return a function, but there is + // no way to create a function with a different prototype + builder.__proto__ = proto; // eslint-disable-line no-proto - const parent = this._t( - slices.join(SLASH) + SLASH, - cache, - checkUnignored, - slices - ) + return builder; +} - // If the path contains a parent directory, check the parent first - return cache[path] = parent.ignored - // > It is not possible to re-include a file if a parent directory of - // > that file is excluded. - ? parent - : this._testOne(path, checkUnignored) - } +function applyStyle() { + // Support varags, but simply cast to string in case there's only one arg + const args = arguments; + const argsLen = args.length; + let str = String(arguments[0]); - ignores (path) { - return this._test(path, this._ignoreCache, false).ignored - } + if (argsLen === 0) { + return ''; + } + + if (argsLen > 1) { + // Don't slice `arguments`, it prevents V8 optimizations + for (let a = 1; a < argsLen; a++) { + str += ' ' + args[a]; + } + } - createFilter () { - return path => !this.ignores(path) - } + if (!this.enabled || this.level <= 0 || !str) { + return this._empty ? '' : str; + } - filter (paths) { - return makeArray(paths).filter(this.createFilter()) - } + // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, + // see https://github.com/chalk/chalk/issues/58 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. + const originalDim = ansiStyles.dim.open; + if (isSimpleWindowsTerm && this.hasGrey) { + ansiStyles.dim.open = ''; + } - // @returns {TestResult} - test (path) { - return this._test(path, this._testCache, true) - } -} + for (const code of this._styles.slice().reverse()) { + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + str = code.open + str.replace(code.closeRe, code.open) + code.close; -const factory = options => new Ignore(options) + // Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS + // https://github.com/chalk/chalk/pull/92 + str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); + } -const returnFalse = () => false + // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue + ansiStyles.dim.open = originalDim; -const isPathValid = path => - checkPath(path && checkPath.convert(path), path, returnFalse) + return str; +} -factory.isPathValid = isPathValid +function chalkTag(chalk, strings) { + if (!Array.isArray(strings)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return [].slice.call(arguments, 1).join(' '); + } -// Fixes typescript -factory.default = factory + const args = [].slice.call(arguments, 2); + const parts = [strings.raw[0]]; -module.exports = factory + for (let i = 1; i < strings.length; i++) { + parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); + parts.push(String(strings.raw[i])); + } -// Windows -// -------------------------------------------------------------- -/* istanbul ignore if */ -if ( - // Detect `process` so that it can run in browsers. - typeof process !== 'undefined' - && ( - process.env && process.env.IGNORE_TEST_WIN32 - || process.platform === 'win32' - ) -) { - /* eslint no-control-regex: "off" */ - const makePosix = str => /^\\\\\?\\/.test(str) - || /["<>|\u0000-\u001F]+/u.test(str) - ? str - : str.replace(/\\/g, '/') + return template(chalk, parts.join('')); +} - checkPath.convert = makePosix +Object.defineProperties(Chalk.prototype, styles); - // 'C:\\foo' <- 'C:\\foo' has been converted to 'C:/' - // 'd:\\foo' - const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i - checkPath.isNotRelative = path => - REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) - || isNotRelative(path) -} +module.exports = Chalk(); // eslint-disable-line new-cap +module.exports.supportsColor = stdoutColor; +module.exports.default = module.exports; // For TypeScript /***/ }), -/* 373 */ +/* 377 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +/* WEBPACK VAR INJECTION */(function(module) { +const colorConvert = __webpack_require__(378); -module.exports = path => { - const isExtendedLengthPath = /^\\\\\?\\/.test(path); - const hasNonAscii = /[^\u0000-\u0080]+/.test(path); // eslint-disable-line no-control-regex - - if (isExtendedLengthPath || hasNonAscii) { - return path; - } +const wrapAnsi16 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${code + offset}m`; +}; - return path.replace(/\\/g, '/'); +const wrapAnsi256 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};5;${code}m`; }; +const wrapAnsi16m = (fn, offset) => function () { + const rgb = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; +}; -/***/ }), -/* 374 */ -/***/ (function(module, exports, __webpack_require__) { +function assembleStyles() { + const codes = new Map(); + const styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], -"use strict"; + // Bright color + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], -const {Transform} = __webpack_require__(137); + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; -class ObjectTransform extends Transform { - constructor() { - super({ - objectMode: true - }); - } -} + // Fix humans + styles.color.grey = styles.color.gray; -class FilterStream extends ObjectTransform { - constructor(filter) { - super(); - this._filter = filter; - } + for (const groupName of Object.keys(styles)) { + const group = styles[groupName]; - _transform(data, encoding, callback) { - if (this._filter(data)) { - this.push(data); - } + for (const styleName of Object.keys(group)) { + const style = group[styleName]; - callback(); - } -} + styles[styleName] = { + open: `\u001B[${style[0]}m`, + close: `\u001B[${style[1]}m` + }; -class UniqueStream extends ObjectTransform { - constructor() { - super(); - this._pushed = new Set(); - } + group[styleName] = styles[styleName]; - _transform(data, encoding, callback) { - if (!this._pushed.has(data)) { - this.push(data); - this._pushed.add(data); + codes.set(style[0], style[1]); } - callback(); + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); } -} -module.exports = { - FilterStream, - UniqueStream -}; + const ansi2ansi = n => n; + const rgb2rgb = (r, g, b) => [r, g, b]; + styles.color.close = '\u001B[39m'; + styles.bgColor.close = '\u001B[49m'; -/***/ }), -/* 375 */ -/***/ (function(module, exports, __webpack_require__) { + styles.color.ansi = { + ansi: wrapAnsi16(ansi2ansi, 0) + }; + styles.color.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 0) + }; + styles.color.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 0) + }; -/*! - * is-glob - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ + styles.bgColor.ansi = { + ansi: wrapAnsi16(ansi2ansi, 10) + }; + styles.bgColor.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 10) + }; + styles.bgColor.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 10) + }; -var isExtglob = __webpack_require__(310); -var chars = { '{': '}', '(': ')', '[': ']'}; -var strictRegex = /\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; -var relaxedRegex = /\\(.)|(^!|[*?{}()[\]]|\(\?)/; + for (let key of Object.keys(colorConvert)) { + if (typeof colorConvert[key] !== 'object') { + continue; + } -module.exports = function isGlob(str, options) { - if (typeof str !== 'string' || str === '') { - return false; - } + const suite = colorConvert[key]; - if (isExtglob(str)) { - return true; - } + if (key === 'ansi16') { + key = 'ansi'; + } - var regex = strictRegex; - var match; + if ('ansi16' in suite) { + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); + } - // optionally relax regex - if (options && options.strict === false) { - regex = relaxedRegex; - } + if ('ansi256' in suite) { + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); + } - while ((match = regex.exec(str))) { - if (match[2]) return true; - var idx = match.index + match[0].length; + if ('rgb' in suite) { + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); + } + } - // if an open bracket/brace/paren is escaped, - // set the index to the next closing character - var open = match[1]; - var close = open ? chars[open] : null; - if (open && close) { - var n = str.indexOf(close, idx); - if (n !== -1) { - idx = n + 1; - } - } + return styles; +} - str = str.slice(idx); - } - return false; -}; +// Make the export immutable +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(114)(module))) /***/ }), -/* 376 */ +/* 378 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; +var conversions = __webpack_require__(379); +var route = __webpack_require__(381); -const path = __webpack_require__(4); +var convert = {}; -module.exports = path_ => { - let cwd = process.cwd(); +var models = Object.keys(conversions); - path_ = path.resolve(path_); +function wrapRaw(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } - if (process.platform === 'win32') { - cwd = cwd.toLowerCase(); - path_ = path_.toLowerCase(); + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + return fn(args); + }; + + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; } - return path_ === cwd; -}; + return wrappedFn; +} +function wrapRounded(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } -/***/ }), -/* 377 */ -/***/ (function(module, exports, __webpack_require__) { + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } -"use strict"; + var result = fn(args); -const path = __webpack_require__(4); + // we're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + if (typeof result === 'object') { + for (var len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } -module.exports = (childPath, parentPath) => { - childPath = path.resolve(childPath); - parentPath = path.resolve(parentPath); + return result; + }; - if (process.platform === 'win32') { - childPath = childPath.toLowerCase(); - parentPath = parentPath.toLowerCase(); + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; } - if (childPath === parentPath) { - return false; - } + return wrappedFn; +} - childPath += path.sep; - parentPath += path.sep; +models.forEach(function (fromModel) { + convert[fromModel] = {}; - return childPath.startsWith(parentPath); -}; + Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); + Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); + + var routes = route(fromModel); + var routeModels = Object.keys(routes); + + routeModels.forEach(function (toModel) { + var fn = routes[toModel]; + + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); +}); + +module.exports = convert; /***/ }), -/* 378 */ +/* 379 */ /***/ (function(module, exports, __webpack_require__) { -const assert = __webpack_require__(139) -const path = __webpack_require__(4) -const fs = __webpack_require__(133) -let glob = undefined -try { - glob = __webpack_require__(146) -} catch (_err) { - // treat glob as optional. -} +/* MIT license */ +var cssKeywords = __webpack_require__(380); -const defaultGlobOpts = { - nosort: true, - silent: true +// NOTE: conversions should only return primitive values (i.e. arrays, or +// values that give correct `typeof` results). +// do not use box values types (i.e. Number(), String(), etc.) + +var reverseKeywords = {}; +for (var key in cssKeywords) { + if (cssKeywords.hasOwnProperty(key)) { + reverseKeywords[cssKeywords[key]] = key; + } } -// for EMFILE handling -let timeout = 0 +var convert = module.exports = { + rgb: {channels: 3, labels: 'rgb'}, + hsl: {channels: 3, labels: 'hsl'}, + hsv: {channels: 3, labels: 'hsv'}, + hwb: {channels: 3, labels: 'hwb'}, + cmyk: {channels: 4, labels: 'cmyk'}, + xyz: {channels: 3, labels: 'xyz'}, + lab: {channels: 3, labels: 'lab'}, + lch: {channels: 3, labels: 'lch'}, + hex: {channels: 1, labels: ['hex']}, + keyword: {channels: 1, labels: ['keyword']}, + ansi16: {channels: 1, labels: ['ansi16']}, + ansi256: {channels: 1, labels: ['ansi256']}, + hcg: {channels: 3, labels: ['h', 'c', 'g']}, + apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, + gray: {channels: 1, labels: ['gray']} +}; -const isWindows = (process.platform === "win32") +// hide .channels and .labels properties +for (var model in convert) { + if (convert.hasOwnProperty(model)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } -const defaults = options => { - const methods = [ - 'unlink', - 'chmod', - 'stat', - 'lstat', - 'rmdir', - 'readdir' - ] - methods.forEach(m => { - options[m] = options[m] || fs[m] - m = m + 'Sync' - options[m] = options[m] || fs[m] - }) + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } - options.maxBusyTries = options.maxBusyTries || 3 - options.emfileWait = options.emfileWait || 1000 - if (options.glob === false) { - options.disableGlob = true - } - if (options.disableGlob !== true && glob === undefined) { - throw Error('glob dependency not found, set `options.disableGlob = true` if intentional') - } - options.disableGlob = options.disableGlob || false - options.glob = options.glob || defaultGlobOpts -} + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } -const rimraf = (p, options, cb) => { - if (typeof options === 'function') { - cb = options - options = {} - } + var channels = convert[model].channels; + var labels = convert[model].labels; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', {value: channels}); + Object.defineProperty(convert[model], 'labels', {value: labels}); + } +} - assert(p, 'rimraf: missing path') - assert.equal(typeof p, 'string', 'rimraf: path should be a string') - assert.equal(typeof cb, 'function', 'rimraf: callback function required') - assert(options, 'rimraf: invalid options argument provided') - assert.equal(typeof options, 'object', 'rimraf: options should be object') +convert.rgb.hsl = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var l; - defaults(options) + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } - let busyTries = 0 - let errState = null - let n = 0 + h = Math.min(h * 60, 360); - const next = (er) => { - errState = errState || er - if (--n === 0) - cb(errState) - } + if (h < 0) { + h += 360; + } - const afterGlob = (er, results) => { - if (er) - return cb(er) + l = (min + max) / 2; - n = results.length - if (n === 0) - return cb() + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } - results.forEach(p => { - const CB = (er) => { - if (er) { - if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && - busyTries < options.maxBusyTries) { - busyTries ++ - // try again, with the same exact callback as this one. - return setTimeout(() => rimraf_(p, options, CB), busyTries * 100) - } + return [h, s * 100, l * 100]; +}; - // this one won't happen if graceful-fs is used. - if (er.code === "EMFILE" && timeout < options.emfileWait) { - return setTimeout(() => rimraf_(p, options, CB), timeout ++) - } +convert.rgb.hsv = function (rgb) { + var rdif; + var gdif; + var bdif; + var h; + var s; - // already gone - if (er.code === "ENOENT") er = null - } + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var v = Math.max(r, g, b); + var diff = v - Math.min(r, g, b); + var diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; + }; - timeout = 0 - next(er) - } - rimraf_(p, options, CB) - }) - } + if (diff === 0) { + h = s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); - if (options.disableGlob || !glob.hasMagic(p)) - return afterGlob(null, [p]) + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = (1 / 3) + rdif - bdif; + } else if (b === v) { + h = (2 / 3) + gdif - rdif; + } + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } - options.lstat(p, (er, stat) => { - if (!er) - return afterGlob(null, [p]) + return [ + h * 360, + s * 100, + v * 100 + ]; +}; - glob(p, options.glob, afterGlob) - }) +convert.rgb.hwb = function (rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var h = convert.rgb.hsl(rgb)[0]; + var w = 1 / 255 * Math.min(r, Math.min(g, b)); -} + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); -// Two possible strategies. -// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR -// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR -// -// Both result in an extra syscall when you guess wrong. However, there -// are likely far more normal files in the world than directories. This -// is based on the assumption that a the average number of files per -// directory is >= 1. -// -// If anyone ever complains about this, then I guess the strategy could -// be made configurable somehow. But until then, YAGNI. -const rimraf_ = (p, options, cb) => { - assert(p) - assert(options) - assert(typeof cb === 'function') + return [h, w * 100, b * 100]; +}; - // sunos lets the root user unlink directories, which is... weird. - // so we have to lstat here and make sure it's not a dir. - options.lstat(p, (er, st) => { - if (er && er.code === "ENOENT") - return cb(null) +convert.rgb.cmyk = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var c; + var m; + var y; + var k; - // Windows can EPERM on stat. Life is suffering. - if (er && er.code === "EPERM" && isWindows) - fixWinEPERM(p, options, er, cb) + k = Math.min(1 - r, 1 - g, 1 - b); + c = (1 - r - k) / (1 - k) || 0; + m = (1 - g - k) / (1 - k) || 0; + y = (1 - b - k) / (1 - k) || 0; - if (st && st.isDirectory()) - return rmdir(p, options, er, cb) + return [c * 100, m * 100, y * 100, k * 100]; +}; - options.unlink(p, er => { - if (er) { - if (er.code === "ENOENT") - return cb(null) - if (er.code === "EPERM") - return (isWindows) - ? fixWinEPERM(p, options, er, cb) - : rmdir(p, options, er, cb) - if (er.code === "EISDIR") - return rmdir(p, options, er, cb) - } - return cb(er) - }) - }) +/** + * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + * */ +function comparativeDistance(x, y) { + return ( + Math.pow(x[0] - y[0], 2) + + Math.pow(x[1] - y[1], 2) + + Math.pow(x[2] - y[2], 2) + ); } -const fixWinEPERM = (p, options, er, cb) => { - assert(p) - assert(options) - assert(typeof cb === 'function') - - options.chmod(p, 0o666, er2 => { - if (er2) - cb(er2.code === "ENOENT" ? null : er) - else - options.stat(p, (er3, stats) => { - if (er3) - cb(er3.code === "ENOENT" ? null : er) - else if (stats.isDirectory()) - rmdir(p, options, er, cb) - else - options.unlink(p, cb) - }) - }) -} +convert.rgb.keyword = function (rgb) { + var reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } -const fixWinEPERMSync = (p, options, er) => { - assert(p) - assert(options) + var currentClosestDistance = Infinity; + var currentClosestKeyword; - try { - options.chmodSync(p, 0o666) - } catch (er2) { - if (er2.code === "ENOENT") - return - else - throw er - } + for (var keyword in cssKeywords) { + if (cssKeywords.hasOwnProperty(keyword)) { + var value = cssKeywords[keyword]; - let stats - try { - stats = options.statSync(p) - } catch (er3) { - if (er3.code === "ENOENT") - return - else - throw er - } + // Compute comparative distance + var distance = comparativeDistance(rgb, value); - if (stats.isDirectory()) - rmdirSync(p, options, er) - else - options.unlinkSync(p) -} + // Check if its less, if so set as closest + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + } -const rmdir = (p, options, originalEr, cb) => { - assert(p) - assert(options) - assert(typeof cb === 'function') + return currentClosestKeyword; +}; - // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS) - // if we guessed wrong, and it's not a directory, then - // raise the original error. - options.rmdir(p, er => { - if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) - rmkids(p, options, cb) - else if (er && er.code === "ENOTDIR") - cb(originalEr) - else - cb(er) - }) -} +convert.keyword.rgb = function (keyword) { + return cssKeywords[keyword]; +}; -const rmkids = (p, options, cb) => { - assert(p) - assert(options) - assert(typeof cb === 'function') +convert.rgb.xyz = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; - options.readdir(p, (er, files) => { - if (er) - return cb(er) - let n = files.length - if (n === 0) - return options.rmdir(p, cb) - let errState - files.forEach(f => { - rimraf(path.join(p, f), options, er => { - if (errState) - return - if (er) - return cb(errState = er) - if (--n === 0) - options.rmdir(p, cb) - }) - }) - }) -} + // assume sRGB + r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92); + g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92); + b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92); -// this looks simpler, and is strictly *faster*, but will -// tie up the JavaScript thread and fail on excessively -// deep directory trees. -const rimrafSync = (p, options) => { - options = options || {} - defaults(options) + var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); + var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); + var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); - assert(p, 'rimraf: missing path') - assert.equal(typeof p, 'string', 'rimraf: path should be a string') - assert(options, 'rimraf: missing options') - assert.equal(typeof options, 'object', 'rimraf: options should be object') + return [x * 100, y * 100, z * 100]; +}; - let results +convert.rgb.lab = function (rgb) { + var xyz = convert.rgb.xyz(rgb); + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; - if (options.disableGlob || !glob.hasMagic(p)) { - results = [p] - } else { - try { - options.lstatSync(p) - results = [p] - } catch (er) { - results = glob.sync(p, options.glob) - } - } + x /= 95.047; + y /= 100; + z /= 108.883; - if (!results.length) - return + x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); - for (let i = 0; i < results.length; i++) { - const p = results[i] + l = (116 * y) - 16; + a = 500 * (x - y); + b = 200 * (y - z); - let st - try { - st = options.lstatSync(p) - } catch (er) { - if (er.code === "ENOENT") - return + return [l, a, b]; +}; - // Windows can EPERM on stat. Life is suffering. - if (er.code === "EPERM" && isWindows) - fixWinEPERMSync(p, options, er) - } +convert.hsl.rgb = function (hsl) { + var h = hsl[0] / 360; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var t1; + var t2; + var t3; + var rgb; + var val; - try { - // sunos lets the root user unlink directories, which is... weird. - if (st && st.isDirectory()) - rmdirSync(p, options, null) - else - options.unlinkSync(p) - } catch (er) { - if (er.code === "ENOENT") - return - if (er.code === "EPERM") - return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er) - if (er.code !== "EISDIR") - throw er + if (s === 0) { + val = l * 255; + return [val, val, val]; + } - rmdirSync(p, options, er) - } - } -} + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } -const rmdirSync = (p, options, originalEr) => { - assert(p) - assert(options) + t1 = 2 * l - t2; - try { - options.rmdirSync(p) - } catch (er) { - if (er.code === "ENOENT") - return - if (er.code === "ENOTDIR") - throw originalEr - if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") - rmkidsSync(p, options) - } -} + rgb = [0, 0, 0]; + for (var i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + if (t3 > 1) { + t3--; + } -const rmkidsSync = (p, options) => { - assert(p) - assert(options) - options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options)) + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } - // We only end up here once we got ENOTEMPTY at least once, and - // at this point, we are guaranteed to have removed all the kids. - // So, we know that it won't be ENOENT or ENOTDIR or anything else. - // try really hard to delete stuff on windows, because it has a - // PROFOUNDLY annoying habit of not closing handles promptly when - // files are deleted, resulting in spurious ENOTEMPTY errors. - const retries = isWindows ? 100 : 1 - let i = 0 - do { - let threw = true - try { - const ret = options.rmdirSync(p, options) - threw = false - return ret - } finally { - if (++i < retries && threw) - continue - } - } while (true) -} + rgb[i] = val * 255; + } -module.exports = rimraf -rimraf.sync = rimrafSync + return rgb; +}; +convert.hsl.hsv = function (hsl) { + var h = hsl[0]; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var smin = s; + var lmin = Math.max(l, 0.01); + var sv; + var v; -/***/ }), -/* 379 */ -/***/ (function(module, exports, __webpack_require__) { + l *= 2; + s *= (l <= 1) ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (l + s) / 2; + sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); -"use strict"; + return [h, sv * 100, v * 100]; +}; -const AggregateError = __webpack_require__(380); +convert.hsv.rgb = function (hsv) { + var h = hsv[0] / 60; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var hi = Math.floor(h) % 6; -module.exports = async ( - iterable, - mapper, - { - concurrency = Infinity, - stopOnError = true - } = {} -) => { - return new Promise((resolve, reject) => { - if (typeof mapper !== 'function') { - throw new TypeError('Mapper function is required'); - } + var f = h - Math.floor(h); + var p = 255 * v * (1 - s); + var q = 255 * v * (1 - (s * f)); + var t = 255 * v * (1 - (s * (1 - f))); + v *= 255; - if (!(typeof concurrency === 'number' && concurrency >= 1)) { - throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${concurrency}\` (${typeof concurrency})`); - } + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } +}; - const ret = []; - const errors = []; - const iterator = iterable[Symbol.iterator](); - let isRejected = false; - let isIterableDone = false; - let resolvingCount = 0; - let currentIndex = 0; +convert.hsv.hsl = function (hsv) { + var h = hsv[0]; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var vmin = Math.max(v, 0.01); + var lmin; + var sl; + var l; - const next = () => { - if (isRejected) { - return; - } + l = (2 - s) * v; + lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= (lmin <= 1) ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; - const nextItem = iterator.next(); - const i = currentIndex; - currentIndex++; + return [h, sl * 100, l * 100]; +}; - if (nextItem.done) { - isIterableDone = true; +// http://dev.w3.org/csswg/css-color/#hwb-to-rgb +convert.hwb.rgb = function (hwb) { + var h = hwb[0] / 360; + var wh = hwb[1] / 100; + var bl = hwb[2] / 100; + var ratio = wh + bl; + var i; + var v; + var f; + var n; - if (resolvingCount === 0) { - if (!stopOnError && errors.length !== 0) { - reject(new AggregateError(errors)); - } else { - resolve(ret); - } - } + // wh + bl cant be > 1 + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } - return; - } + i = Math.floor(6 * h); + v = 1 - bl; + f = 6 * h - i; - resolvingCount++; + if ((i & 0x01) !== 0) { + f = 1 - f; + } - (async () => { - try { - const element = await nextItem.value; - ret[i] = await mapper(element, i); - resolvingCount--; - next(); - } catch (error) { - if (stopOnError) { - isRejected = true; - reject(error); - } else { - errors.push(error); - resolvingCount--; - next(); - } - } - })(); - }; + n = wh + f * (v - wh); // linear interpolation - for (let i = 0; i < concurrency; i++) { - next(); + var r; + var g; + var b; + switch (i) { + default: + case 6: + case 0: r = v; g = n; b = wh; break; + case 1: r = n; g = v; b = wh; break; + case 2: r = wh; g = v; b = n; break; + case 3: r = wh; g = n; b = v; break; + case 4: r = n; g = wh; b = v; break; + case 5: r = v; g = wh; b = n; break; + } - if (isIterableDone) { - break; - } - } - }); + return [r * 255, g * 255, b * 255]; }; +convert.cmyk.rgb = function (cmyk) { + var c = cmyk[0] / 100; + var m = cmyk[1] / 100; + var y = cmyk[2] / 100; + var k = cmyk[3] / 100; + var r; + var g; + var b; -/***/ }), -/* 380 */ -/***/ (function(module, exports, __webpack_require__) { + r = 1 - Math.min(1, c * (1 - k) + k); + g = 1 - Math.min(1, m * (1 - k) + k); + b = 1 - Math.min(1, y * (1 - k) + k); -"use strict"; + return [r * 255, g * 255, b * 255]; +}; -const indentString = __webpack_require__(381); -const cleanStack = __webpack_require__(382); +convert.xyz.rgb = function (xyz) { + var x = xyz[0] / 100; + var y = xyz[1] / 100; + var z = xyz[2] / 100; + var r; + var g; + var b; -const cleanInternalStack = stack => stack.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g, ''); + r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); + g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); + b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); -class AggregateError extends Error { - constructor(errors) { - if (!Array.isArray(errors)) { - throw new TypeError(`Expected input to be an Array, got ${typeof errors}`); - } + // assume sRGB + r = r > 0.0031308 + ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055) + : r * 12.92; - errors = [...errors].map(error => { - if (error instanceof Error) { - return error; - } + g = g > 0.0031308 + ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055) + : g * 12.92; - if (error !== null && typeof error === 'object') { - // Handle plain error objects with message property and/or possibly other metadata - return Object.assign(new Error(error.message), error); - } + b = b > 0.0031308 + ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055) + : b * 12.92; - return new Error(error); - }); + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); - let message = errors - .map(error => { - // The `stack` property is not standardized, so we can't assume it exists - return typeof error.stack === 'string' ? cleanInternalStack(cleanStack(error.stack)) : String(error); - }) - .join('\n'); - message = '\n' + indentString(message, 4); - super(message); + return [r * 255, g * 255, b * 255]; +}; - this.name = 'AggregateError'; +convert.xyz.lab = function (xyz) { + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; - Object.defineProperty(this, '_errors', {value: errors}); - } + x /= 95.047; + y /= 100; + z /= 108.883; - * [Symbol.iterator]() { - for (const error of this._errors) { - yield error; - } - } -} + x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); -module.exports = AggregateError; + l = (116 * y) - 16; + a = 500 * (x - y); + b = 200 * (y - z); + return [l, a, b]; +}; -/***/ }), -/* 381 */ -/***/ (function(module, exports, __webpack_require__) { +convert.lab.xyz = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var x; + var y; + var z; -"use strict"; + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + var y2 = Math.pow(y, 3); + var x2 = Math.pow(x, 3); + var z2 = Math.pow(z, 3); + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; -module.exports = (string, count = 1, options) => { - options = { - indent: ' ', - includeEmptyLines: false, - ...options - }; + x *= 95.047; + y *= 100; + z *= 108.883; - if (typeof string !== 'string') { - throw new TypeError( - `Expected \`input\` to be a \`string\`, got \`${typeof string}\`` - ); - } + return [x, y, z]; +}; - if (typeof count !== 'number') { - throw new TypeError( - `Expected \`count\` to be a \`number\`, got \`${typeof count}\`` - ); - } +convert.lab.lch = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var hr; + var h; + var c; - if (typeof options.indent !== 'string') { - throw new TypeError( - `Expected \`options.indent\` to be a \`string\`, got \`${typeof options.indent}\`` - ); - } + hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; - if (count === 0) { - return string; + if (h < 0) { + h += 360; } - const regex = options.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm; + c = Math.sqrt(a * a + b * b); - return string.replace(regex, options.indent.repeat(count)); + return [l, c, h]; }; +convert.lch.lab = function (lch) { + var l = lch[0]; + var c = lch[1]; + var h = lch[2]; + var a; + var b; + var hr; -/***/ }), -/* 382 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; + hr = h / 360 * 2 * Math.PI; + a = c * Math.cos(hr); + b = c * Math.sin(hr); -const os = __webpack_require__(120); + return [l, a, b]; +}; -const extractPathRegex = /\s+at.*(?:\(|\s)(.*)\)?/; -const pathRegex = /^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/; -const homeDir = typeof os.homedir === 'undefined' ? '' : os.homedir(); +convert.rgb.ansi16 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization -module.exports = (stack, options) => { - options = Object.assign({pretty: false}, options); + value = Math.round(value / 50); - return stack.replace(/\\/g, '/') - .split('\n') - .filter(line => { - const pathMatches = line.match(extractPathRegex); - if (pathMatches === null || !pathMatches[1]) { - return true; - } + if (value === 0) { + return 30; + } - const match = pathMatches[1]; + var ansi = 30 + + ((Math.round(b / 255) << 2) + | (Math.round(g / 255) << 1) + | Math.round(r / 255)); - // Electron - if ( - match.includes('.app/Contents/Resources/electron.asar') || - match.includes('.app/Contents/Resources/default_app.asar') - ) { - return false; - } + if (value === 2) { + ansi += 60; + } - return !pathRegex.test(match); - }) - .filter(line => line.trim() !== '') - .map(line => { - if (options.pretty) { - return line.replace(extractPathRegex, (m, p1) => m.replace(p1, p1.replace(homeDir, '~'))); - } + return ansi; +}; - return line; - }) - .join('\n'); +convert.hsv.ansi16 = function (args) { + // optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); }; +convert.rgb.ansi256 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; -/***/ }), -/* 383 */ -/***/ (function(module, exports, __webpack_require__) { + // we use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + if (r === g && g === b) { + if (r < 8) { + return 16; + } -"use strict"; + if (r > 248) { + return 231; + } -const chalk = __webpack_require__(384); -const cliCursor = __webpack_require__(387); -const cliSpinners = __webpack_require__(391); -const logSymbols = __webpack_require__(393); + return Math.round(((r - 8) / 247) * 24) + 232; + } -class Ora { - constructor(options) { - if (typeof options === 'string') { - options = { - text: options - }; - } + var ansi = 16 + + (36 * Math.round(r / 255 * 5)) + + (6 * Math.round(g / 255 * 5)) + + Math.round(b / 255 * 5); - this.options = Object.assign({ - text: '', - color: 'cyan', - stream: process.stderr - }, options); + return ansi; +}; - const sp = this.options.spinner; - this.spinner = typeof sp === 'object' ? sp : (process.platform === 'win32' ? cliSpinners.line : (cliSpinners[sp] || cliSpinners.dots)); // eslint-disable-line no-nested-ternary +convert.ansi16.rgb = function (args) { + var color = args % 10; - if (this.spinner.frames === undefined) { - throw new Error('Spinner must define `frames`'); + // handle greyscale + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; } - this.text = this.options.text; - this.color = this.options.color; - this.interval = this.options.interval || this.spinner.interval || 100; - this.stream = this.options.stream; - this.id = null; - this.frameIndex = 0; - this.enabled = typeof this.options.enabled === 'boolean' ? this.options.enabled : ((this.stream && this.stream.isTTY) && !process.env.CI); + color = color / 10.5 * 255; + + return [color, color, color]; } - frame() { - const frames = this.spinner.frames; - let frame = frames[this.frameIndex]; - if (this.color) { - frame = chalk[this.color](frame); - } + var mult = (~~(args > 50) + 1) * 0.5; + var r = ((color & 1) * mult) * 255; + var g = (((color >> 1) & 1) * mult) * 255; + var b = (((color >> 2) & 1) * mult) * 255; - this.frameIndex = ++this.frameIndex % frames.length; + return [r, g, b]; +}; - return frame + ' ' + this.text; +convert.ansi256.rgb = function (args) { + // handle greyscale + if (args >= 232) { + var c = (args - 232) * 10 + 8; + return [c, c, c]; } - clear() { - if (!this.enabled) { - return this; - } - this.stream.clearLine(); - this.stream.cursorTo(0); + args -= 16; - return this; - } - render() { - this.clear(); - this.stream.write(this.frame()); + var rem; + var r = Math.floor(args / 36) / 5 * 255; + var g = Math.floor((rem = args % 36) / 6) / 5 * 255; + var b = (rem % 6) / 5 * 255; - return this; - } - start(text) { - if (text) { - this.text = text; - } + return [r, g, b]; +}; - if (!this.enabled || this.id) { - return this; - } +convert.rgb.hex = function (args) { + var integer = ((Math.round(args[0]) & 0xFF) << 16) + + ((Math.round(args[1]) & 0xFF) << 8) + + (Math.round(args[2]) & 0xFF); - cliCursor.hide(this.stream); - this.render(); - this.id = setInterval(this.render.bind(this), this.interval); + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; - return this; +convert.hex.rgb = function (args) { + var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; } - stop() { - if (!this.enabled) { - return this; - } - clearInterval(this.id); - this.id = null; - this.frameIndex = 0; - this.clear(); - cliCursor.show(this.stream); + var colorString = match[0]; - return this; - } - succeed(text) { - return this.stopAndPersist({symbol: logSymbols.success, text}); - } - fail(text) { - return this.stopAndPersist({symbol: logSymbols.error, text}); + if (match[0].length === 3) { + colorString = colorString.split('').map(function (char) { + return char + char; + }).join(''); } - warn(text) { - return this.stopAndPersist({symbol: logSymbols.warning, text}); + + var integer = parseInt(colorString, 16); + var r = (integer >> 16) & 0xFF; + var g = (integer >> 8) & 0xFF; + var b = integer & 0xFF; + + return [r, g, b]; +}; + +convert.rgb.hcg = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var max = Math.max(Math.max(r, g), b); + var min = Math.min(Math.min(r, g), b); + var chroma = (max - min); + var grayscale; + var hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; } - info(text) { - return this.stopAndPersist({symbol: logSymbols.info, text}); + + if (chroma <= 0) { + hue = 0; + } else + if (max === r) { + hue = ((g - b) / chroma) % 6; + } else + if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma + 4; } - stopAndPersist(options) { - if (!this.enabled) { - return this; - } - // Legacy argument - // TODO: Deprecate sometime in the future - if (typeof options === 'string') { - options = { - symbol: options - }; - } + hue /= 6; + hue %= 1; + + return [hue * 360, chroma * 100, grayscale * 100]; +}; - options = options || {}; +convert.hsl.hcg = function (hsl) { + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var c = 1; + var f = 0; - this.stop(); - this.stream.write(`${options.symbol || ' '} ${options.text || this.text}\n`); + if (l < 0.5) { + c = 2.0 * s * l; + } else { + c = 2.0 * s * (1.0 - l); + } - return this; + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); } -} -module.exports = function (opts) { - return new Ora(opts); + return [hsl[0], c * 100, f * 100]; }; -module.exports.promise = (action, options) => { - if (typeof action.then !== 'function') { - throw new TypeError('Parameter `action` must be a Promise'); - } +convert.hsv.hcg = function (hsv) { + var s = hsv[1] / 100; + var v = hsv[2] / 100; - const spinner = new Ora(options); - spinner.start(); + var c = s * v; + var f = 0; - action.then( - () => { - spinner.succeed(); - }, - () => { - spinner.fail(); - } - ); + if (c < 1.0) { + f = (v - c) / (1 - c); + } - return spinner; + return [hsv[0], c * 100, f * 100]; }; +convert.hcg.rgb = function (hcg) { + var h = hcg[0] / 360; + var c = hcg[1] / 100; + var g = hcg[2] / 100; -/***/ }), -/* 384 */ -/***/ (function(module, exports, __webpack_require__) { + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } -"use strict"; + var pure = [0, 0, 0]; + var hi = (h % 1) * 6; + var v = hi % 1; + var w = 1 - v; + var mg = 0; -const escapeStringRegexp = __webpack_require__(178); -const ansiStyles = __webpack_require__(385); -const stdoutColor = __webpack_require__(184).stdout; + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; pure[1] = v; pure[2] = 0; break; + case 1: + pure[0] = w; pure[1] = 1; pure[2] = 0; break; + case 2: + pure[0] = 0; pure[1] = 1; pure[2] = v; break; + case 3: + pure[0] = 0; pure[1] = w; pure[2] = 1; break; + case 4: + pure[0] = v; pure[1] = 0; pure[2] = 1; break; + default: + pure[0] = 1; pure[1] = 0; pure[2] = w; + } -const template = __webpack_require__(386); + mg = (1.0 - c) * g; -const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); + return [ + (c * pure[0] + mg) * 255, + (c * pure[1] + mg) * 255, + (c * pure[2] + mg) * 255 + ]; +}; -// `supportsColor.level` → `ansiStyles.color[name]` mapping -const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; +convert.hcg.hsv = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; -// `color-convert` models to exclude from the Chalk API due to conflicts and such -const skipModels = new Set(['gray']); + var v = c + g * (1.0 - c); + var f = 0; -const styles = Object.create(null); + if (v > 0.0) { + f = c / v; + } -function applyOptions(obj, options) { - options = options || {}; + return [hcg[0], f * 100, v * 100]; +}; - // Detect level if not set manually - const scLevel = stdoutColor ? stdoutColor.level : 0; - obj.level = options.level === undefined ? scLevel : options.level; - obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; -} +convert.hcg.hsl = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; -function Chalk(options) { - // We check for this.template here since calling `chalk.constructor()` - // by itself will have a `this` of a previously constructed chalk object - if (!this || !(this instanceof Chalk) || this.template) { - const chalk = {}; - applyOptions(chalk, options); + var l = g * (1.0 - c) + 0.5 * c; + var s = 0; - chalk.template = function () { - const args = [].slice.call(arguments); - return chalkTag.apply(null, [chalk.template].concat(args)); - }; + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else + if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); + return [hcg[0], s * 100, l * 100]; +}; - chalk.template.constructor = Chalk; +convert.hcg.hwb = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; - return chalk.template; +convert.hwb.hcg = function (hwb) { + var w = hwb[1] / 100; + var b = hwb[2] / 100; + var v = 1 - b; + var c = v - w; + var g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); } - applyOptions(this, options); -} + return [hwb[0], c * 100, g * 100]; +}; -// Use bright blue on Windows as the normal blue color is illegible -if (isSimpleWindowsTerm) { - ansiStyles.blue.open = '\u001B[94m'; -} +convert.apple.rgb = function (apple) { + return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; +}; -for (const key of Object.keys(ansiStyles)) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); +convert.rgb.apple = function (rgb) { + return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; +}; - styles[key] = { - get() { - const codes = ansiStyles[key]; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); - } - }; -} +convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; -styles.visible = { - get() { - return build.call(this, this._styles || [], true, 'visible'); - } +convert.gray.hsl = convert.gray.hsv = function (args) { + return [0, 0, args[0]]; }; -ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); -for (const model of Object.keys(ansiStyles.color.ansi)) { - if (skipModels.has(model)) { - continue; - } +convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; +}; - styles[model] = { - get() { - const level = this.level; - return function () { - const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.color.close, - closeRe: ansiStyles.color.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; -} +convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; +}; -ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); -for (const model of Object.keys(ansiStyles.bgColor.ansi)) { - if (skipModels.has(model)) { - continue; - } +convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; +}; - const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const level = this.level; - return function () { - const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.bgColor.close, - closeRe: ansiStyles.bgColor.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; -} +convert.gray.hex = function (gray) { + var val = Math.round(gray[0] / 100 * 255) & 0xFF; + var integer = (val << 16) + (val << 8) + val; -const proto = Object.defineProperties(() => {}, styles); + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; -function build(_styles, _empty, key) { - const builder = function () { - return applyStyle.apply(builder, arguments); - }; +convert.rgb.gray = function (rgb) { + var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; +}; - builder._styles = _styles; - builder._empty = _empty; - const self = this; +/***/ }), +/* 380 */ +/***/ (function(module, exports, __webpack_require__) { - Object.defineProperty(builder, 'level', { - enumerable: true, - get() { - return self.level; - }, - set(level) { - self.level = level; - } - }); +"use strict"; + + +module.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; - Object.defineProperty(builder, 'enabled', { - enumerable: true, - get() { - return self.enabled; - }, - set(enabled) { - self.enabled = enabled; - } - }); - // See below for fix regarding invisible grey/dim combination on Windows - builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; +/***/ }), +/* 381 */ +/***/ (function(module, exports, __webpack_require__) { - // `__proto__` is used because we must return a function, but there is - // no way to create a function with a different prototype - builder.__proto__ = proto; // eslint-disable-line no-proto +var conversions = __webpack_require__(379); - return builder; -} +/* + this function routes a model to all other models. -function applyStyle() { - // Support varags, but simply cast to string in case there's only one arg - const args = arguments; - const argsLen = args.length; - let str = String(arguments[0]); + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). - if (argsLen === 0) { - return ''; - } + conversions that are not possible simply are not included. +*/ - if (argsLen > 1) { - // Don't slice `arguments`, it prevents V8 optimizations - for (let a = 1; a < argsLen; a++) { - str += ' ' + args[a]; - } - } +function buildGraph() { + var graph = {}; + // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + var models = Object.keys(conversions); - if (!this.enabled || this.level <= 0 || !str) { - return this._empty ? '' : str; + for (var len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; } - // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, - // see https://github.com/chalk/chalk/issues/58 - // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. - const originalDim = ansiStyles.dim.open; - if (isSimpleWindowsTerm && this.hasGrey) { - ansiStyles.dim.open = ''; - } + return graph; +} - for (const code of this._styles.slice().reverse()) { - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - str = code.open + str.replace(code.closeRe, code.open) + code.close; +// https://en.wikipedia.org/wiki/Breadth-first_search +function deriveBFS(fromModel) { + var graph = buildGraph(); + var queue = [fromModel]; // unshift -> queue -> pop - // Close the styling before a linebreak and reopen - // after next line to fix a bleed issue on macOS - // https://github.com/chalk/chalk/pull/92 - str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); + graph[fromModel].distance = 0; + + while (queue.length) { + var current = queue.pop(); + var adjacents = Object.keys(conversions[current]); + + for (var len = adjacents.length, i = 0; i < len; i++) { + var adjacent = adjacents[i]; + var node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } } - // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue - ansiStyles.dim.open = originalDim; - - return str; + return graph; } -function chalkTag(chalk, strings) { - if (!Array.isArray(strings)) { - // If chalk() was called by itself or with a string, - // return the string itself as a string. - return [].slice.call(arguments, 1).join(' '); - } +function link(from, to) { + return function (args) { + return to(from(args)); + }; +} - const args = [].slice.call(arguments, 2); - const parts = [strings.raw[0]]; +function wrapConversion(toModel, graph) { + var path = [graph[toModel].parent, toModel]; + var fn = conversions[graph[toModel].parent][toModel]; - for (let i = 1; i < strings.length; i++) { - parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); - parts.push(String(strings.raw[i])); + var cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; } - return template(chalk, parts.join('')); + fn.conversion = path; + return fn; } -Object.defineProperties(Chalk.prototype, styles); +module.exports = function (fromModel) { + var graph = deriveBFS(fromModel); + var conversion = {}; + + var models = Object.keys(graph); + for (var len = models.length, i = 0; i < len; i++) { + var toModel = models[i]; + var node = graph[toModel]; + + if (node.parent === null) { + // no possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion(toModel, graph); + } + + return conversion; +}; -module.exports = Chalk(); // eslint-disable-line new-cap -module.exports.supportsColor = stdoutColor; -module.exports.default = module.exports; // For TypeScript /***/ }), -/* 385 */ +/* 382 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(module) { -const colorConvert = __webpack_require__(180); - -const wrapAnsi16 = (fn, offset) => function () { - const code = fn.apply(colorConvert, arguments); - return `\u001B[${code + offset}m`; -}; -const wrapAnsi256 = (fn, offset) => function () { - const code = fn.apply(colorConvert, arguments); - return `\u001B[${38 + offset};5;${code}m`; -}; +const os = __webpack_require__(120); +const hasFlag = __webpack_require__(383); -const wrapAnsi16m = (fn, offset) => function () { - const rgb = fn.apply(colorConvert, arguments); - return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; -}; +const env = process.env; -function assembleStyles() { - const codes = new Map(); - const styles = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39], +let forceColor; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + forceColor = false; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor = true; +} +if ('FORCE_COLOR' in env) { + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; +} - // Bright color - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], +function translateLevel(level) { + if (level === 0) { + return false; + } - // Bright color - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 }; +} - // Fix humans - styles.color.grey = styles.color.gray; +function supportsColor(stream) { + if (forceColor === false) { + return 0; + } - for (const groupName of Object.keys(styles)) { - const group = styles[groupName]; + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } - for (const styleName of Object.keys(group)) { - const style = group[styleName]; + if (hasFlag('color=256')) { + return 2; + } - styles[styleName] = { - open: `\u001B[${style[0]}m`, - close: `\u001B[${style[1]}m` - }; + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } - group[styleName] = styles[styleName]; + const min = forceColor ? 1 : 0; - codes.set(style[0], style[1]); + if (process.platform === 'win32') { + // Node.js 7.5.0 is the first version of Node.js to include a patch to + // libuv that enables 256 color output on Windows. Anything earlier and it + // won't work. However, here we target Node.js 8 at minimum as it is an LTS + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows + // release that supports 256 colors. Windows 10 build 14931 is the first release + // that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(process.versions.node.split('.')[0]) >= 8 && + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; } - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - - Object.defineProperty(styles, 'codes', { - value: codes, - enumerable: false - }); + return 1; } - const ansi2ansi = n => n; - const rgb2rgb = (r, g, b) => [r, g, b]; - - styles.color.close = '\u001B[39m'; - styles.bgColor.close = '\u001B[49m'; + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } - styles.color.ansi = { - ansi: wrapAnsi16(ansi2ansi, 0) - }; - styles.color.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 0) - }; - styles.color.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 0) - }; + return min; + } - styles.bgColor.ansi = { - ansi: wrapAnsi16(ansi2ansi, 10) - }; - styles.bgColor.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 10) - }; - styles.bgColor.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 10) - }; + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } - for (let key of Object.keys(colorConvert)) { - if (typeof colorConvert[key] !== 'object') { - continue; - } + if (env.COLORTERM === 'truecolor') { + return 3; + } - const suite = colorConvert[key]; + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); - if (key === 'ansi16') { - key = 'ansi'; + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default } + } - if ('ansi16' in suite) { - styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); - styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); - } + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } - if ('ansi256' in suite) { - styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); - styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); - } + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } - if ('rgb' in suite) { - styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); - styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); - } + if ('COLORTERM' in env) { + return 1; } - return styles; + if (env.TERM === 'dumb') { + return min; + } + + return min; } -// Make the export immutable -Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles -}); +function getSupportLevel(stream) { + const level = supportsColor(stream); + return translateLevel(level); +} + +module.exports = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) +}; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(114)(module))) /***/ }), -/* 386 */ +/* 383 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); + const pos = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf('--'); + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); +}; + + +/***/ }), +/* 384 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50339,12 +50194,12 @@ module.exports = (chalk, tmp) => { /***/ }), -/* 387 */ +/* 385 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const restoreCursor = __webpack_require__(388); +const restoreCursor = __webpack_require__(386); let hidden = false; @@ -50385,13 +50240,13 @@ exports.toggle = (force, stream) => { /***/ }), -/* 388 */ +/* 386 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const onetime = __webpack_require__(389); -const signalExit = __webpack_require__(225); +const onetime = __webpack_require__(387); +const signalExit = __webpack_require__(217); module.exports = onetime(() => { signalExit(() => { @@ -50401,12 +50256,12 @@ module.exports = onetime(() => { /***/ }), -/* 389 */ +/* 387 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const mimicFn = __webpack_require__(390); +const mimicFn = __webpack_require__(388); module.exports = (fn, opts) => { // TODO: Remove this in v3 @@ -50447,7 +50302,7 @@ module.exports = (fn, opts) => { /***/ }), -/* 390 */ +/* 388 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50463,27 +50318,27 @@ module.exports = (to, from) => { /***/ }), -/* 391 */ +/* 389 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -module.exports = __webpack_require__(392); +module.exports = __webpack_require__(390); /***/ }), -/* 392 */ +/* 390 */ /***/ (function(module) { module.exports = JSON.parse("{\"dots\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠹\",\"⠸\",\"⠼\",\"⠴\",\"⠦\",\"⠧\",\"⠇\",\"⠏\"]},\"dots2\":{\"interval\":80,\"frames\":[\"⣾\",\"⣽\",\"⣻\",\"⢿\",\"⡿\",\"⣟\",\"⣯\",\"⣷\"]},\"dots3\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠚\",\"⠞\",\"⠖\",\"⠦\",\"⠴\",\"⠲\",\"⠳\",\"⠓\"]},\"dots4\":{\"interval\":80,\"frames\":[\"⠄\",\"⠆\",\"⠇\",\"⠋\",\"⠙\",\"⠸\",\"⠰\",\"⠠\",\"⠰\",\"⠸\",\"⠙\",\"⠋\",\"⠇\",\"⠆\"]},\"dots5\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\"]},\"dots6\":{\"interval\":80,\"frames\":[\"⠁\",\"⠉\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠤\",\"⠄\",\"⠄\",\"⠤\",\"⠴\",\"⠲\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠚\",\"⠙\",\"⠉\",\"⠁\"]},\"dots7\":{\"interval\":80,\"frames\":[\"⠈\",\"⠉\",\"⠋\",\"⠓\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠖\",\"⠦\",\"⠤\",\"⠠\",\"⠠\",\"⠤\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\",\"⠉\",\"⠈\"]},\"dots8\":{\"interval\":80,\"frames\":[\"⠁\",\"⠁\",\"⠉\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠤\",\"⠄\",\"⠄\",\"⠤\",\"⠠\",\"⠠\",\"⠤\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\",\"⠉\",\"⠈\",\"⠈\"]},\"dots9\":{\"interval\":80,\"frames\":[\"⢹\",\"⢺\",\"⢼\",\"⣸\",\"⣇\",\"⡧\",\"⡗\",\"⡏\"]},\"dots10\":{\"interval\":80,\"frames\":[\"⢄\",\"⢂\",\"⢁\",\"⡁\",\"⡈\",\"⡐\",\"⡠\"]},\"dots11\":{\"interval\":100,\"frames\":[\"⠁\",\"⠂\",\"⠄\",\"⡀\",\"⢀\",\"⠠\",\"⠐\",\"⠈\"]},\"dots12\":{\"interval\":80,\"frames\":[\"⢀⠀\",\"⡀⠀\",\"⠄⠀\",\"⢂⠀\",\"⡂⠀\",\"⠅⠀\",\"⢃⠀\",\"⡃⠀\",\"⠍⠀\",\"⢋⠀\",\"⡋⠀\",\"⠍⠁\",\"⢋⠁\",\"⡋⠁\",\"⠍⠉\",\"⠋⠉\",\"⠋⠉\",\"⠉⠙\",\"⠉⠙\",\"⠉⠩\",\"⠈⢙\",\"⠈⡙\",\"⢈⠩\",\"⡀⢙\",\"⠄⡙\",\"⢂⠩\",\"⡂⢘\",\"⠅⡘\",\"⢃⠨\",\"⡃⢐\",\"⠍⡐\",\"⢋⠠\",\"⡋⢀\",\"⠍⡁\",\"⢋⠁\",\"⡋⠁\",\"⠍⠉\",\"⠋⠉\",\"⠋⠉\",\"⠉⠙\",\"⠉⠙\",\"⠉⠩\",\"⠈⢙\",\"⠈⡙\",\"⠈⠩\",\"⠀⢙\",\"⠀⡙\",\"⠀⠩\",\"⠀⢘\",\"⠀⡘\",\"⠀⠨\",\"⠀⢐\",\"⠀⡐\",\"⠀⠠\",\"⠀⢀\",\"⠀⡀\"]},\"line\":{\"interval\":130,\"frames\":[\"-\",\"\\\\\",\"|\",\"/\"]},\"line2\":{\"interval\":100,\"frames\":[\"⠂\",\"-\",\"–\",\"—\",\"–\",\"-\"]},\"pipe\":{\"interval\":100,\"frames\":[\"┤\",\"┘\",\"┴\",\"└\",\"├\",\"┌\",\"┬\",\"┐\"]},\"simpleDots\":{\"interval\":400,\"frames\":[\". \",\".. \",\"...\",\" \"]},\"simpleDotsScrolling\":{\"interval\":200,\"frames\":[\". \",\".. \",\"...\",\" ..\",\" .\",\" \"]},\"star\":{\"interval\":70,\"frames\":[\"✶\",\"✸\",\"✹\",\"✺\",\"✹\",\"✷\"]},\"star2\":{\"interval\":80,\"frames\":[\"+\",\"x\",\"*\"]},\"flip\":{\"interval\":70,\"frames\":[\"_\",\"_\",\"_\",\"-\",\"`\",\"`\",\"'\",\"´\",\"-\",\"_\",\"_\",\"_\"]},\"hamburger\":{\"interval\":100,\"frames\":[\"☱\",\"☲\",\"☴\"]},\"growVertical\":{\"interval\":120,\"frames\":[\"▁\",\"▃\",\"▄\",\"▅\",\"▆\",\"▇\",\"▆\",\"▅\",\"▄\",\"▃\"]},\"growHorizontal\":{\"interval\":120,\"frames\":[\"▏\",\"▎\",\"▍\",\"▌\",\"▋\",\"▊\",\"▉\",\"▊\",\"▋\",\"▌\",\"▍\",\"▎\"]},\"balloon\":{\"interval\":140,\"frames\":[\" \",\".\",\"o\",\"O\",\"@\",\"*\",\" \"]},\"balloon2\":{\"interval\":120,\"frames\":[\".\",\"o\",\"O\",\"°\",\"O\",\"o\",\".\"]},\"noise\":{\"interval\":100,\"frames\":[\"▓\",\"▒\",\"░\"]},\"bounce\":{\"interval\":120,\"frames\":[\"⠁\",\"⠂\",\"⠄\",\"⠂\"]},\"boxBounce\":{\"interval\":120,\"frames\":[\"▖\",\"▘\",\"▝\",\"▗\"]},\"boxBounce2\":{\"interval\":100,\"frames\":[\"▌\",\"▀\",\"▐\",\"▄\"]},\"triangle\":{\"interval\":50,\"frames\":[\"◢\",\"◣\",\"◤\",\"◥\"]},\"arc\":{\"interval\":100,\"frames\":[\"◜\",\"◠\",\"◝\",\"◞\",\"◡\",\"◟\"]},\"circle\":{\"interval\":120,\"frames\":[\"◡\",\"⊙\",\"◠\"]},\"squareCorners\":{\"interval\":180,\"frames\":[\"◰\",\"◳\",\"◲\",\"◱\"]},\"circleQuarters\":{\"interval\":120,\"frames\":[\"◴\",\"◷\",\"◶\",\"◵\"]},\"circleHalves\":{\"interval\":50,\"frames\":[\"◐\",\"◓\",\"◑\",\"◒\"]},\"squish\":{\"interval\":100,\"frames\":[\"╫\",\"╪\"]},\"toggle\":{\"interval\":250,\"frames\":[\"⊶\",\"⊷\"]},\"toggle2\":{\"interval\":80,\"frames\":[\"▫\",\"▪\"]},\"toggle3\":{\"interval\":120,\"frames\":[\"□\",\"■\"]},\"toggle4\":{\"interval\":100,\"frames\":[\"■\",\"□\",\"▪\",\"▫\"]},\"toggle5\":{\"interval\":100,\"frames\":[\"▮\",\"▯\"]},\"toggle6\":{\"interval\":300,\"frames\":[\"ဝ\",\"၀\"]},\"toggle7\":{\"interval\":80,\"frames\":[\"⦾\",\"⦿\"]},\"toggle8\":{\"interval\":100,\"frames\":[\"◍\",\"◌\"]},\"toggle9\":{\"interval\":100,\"frames\":[\"◉\",\"◎\"]},\"toggle10\":{\"interval\":100,\"frames\":[\"㊂\",\"㊀\",\"㊁\"]},\"toggle11\":{\"interval\":50,\"frames\":[\"⧇\",\"⧆\"]},\"toggle12\":{\"interval\":120,\"frames\":[\"☗\",\"☖\"]},\"toggle13\":{\"interval\":80,\"frames\":[\"=\",\"*\",\"-\"]},\"arrow\":{\"interval\":100,\"frames\":[\"←\",\"↖\",\"↑\",\"↗\",\"→\",\"↘\",\"↓\",\"↙\"]},\"arrow2\":{\"interval\":80,\"frames\":[\"⬆️ \",\"↗️ \",\"➡️ \",\"↘️ \",\"⬇️ \",\"↙️ \",\"⬅️ \",\"↖️ \"]},\"arrow3\":{\"interval\":120,\"frames\":[\"▹▹▹▹▹\",\"▸▹▹▹▹\",\"▹▸▹▹▹\",\"▹▹▸▹▹\",\"▹▹▹▸▹\",\"▹▹▹▹▸\"]},\"bouncingBar\":{\"interval\":80,\"frames\":[\"[ ]\",\"[= ]\",\"[== ]\",\"[=== ]\",\"[ ===]\",\"[ ==]\",\"[ =]\",\"[ ]\",\"[ =]\",\"[ ==]\",\"[ ===]\",\"[====]\",\"[=== ]\",\"[== ]\",\"[= ]\"]},\"bouncingBall\":{\"interval\":80,\"frames\":[\"( ● )\",\"( ● )\",\"( ● )\",\"( ● )\",\"( ●)\",\"( ● )\",\"( ● )\",\"( ● )\",\"( ● )\",\"(● )\"]},\"smiley\":{\"interval\":200,\"frames\":[\"😄 \",\"😝 \"]},\"monkey\":{\"interval\":300,\"frames\":[\"🙈 \",\"🙈 \",\"🙉 \",\"🙊 \"]},\"hearts\":{\"interval\":100,\"frames\":[\"💛 \",\"💙 \",\"💜 \",\"💚 \",\"❤️ \"]},\"clock\":{\"interval\":100,\"frames\":[\"🕐 \",\"🕑 \",\"🕒 \",\"🕓 \",\"🕔 \",\"🕕 \",\"🕖 \",\"🕗 \",\"🕘 \",\"🕙 \",\"🕚 \"]},\"earth\":{\"interval\":180,\"frames\":[\"🌍 \",\"🌎 \",\"🌏 \"]},\"moon\":{\"interval\":80,\"frames\":[\"🌑 \",\"🌒 \",\"🌓 \",\"🌔 \",\"🌕 \",\"🌖 \",\"🌗 \",\"🌘 \"]},\"runner\":{\"interval\":140,\"frames\":[\"🚶 \",\"🏃 \"]},\"pong\":{\"interval\":80,\"frames\":[\"▐⠂ ▌\",\"▐⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂▌\",\"▐ ⠠▌\",\"▐ ⡀▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐⠠ ▌\"]},\"shark\":{\"interval\":120,\"frames\":[\"▐|\\\\____________▌\",\"▐_|\\\\___________▌\",\"▐__|\\\\__________▌\",\"▐___|\\\\_________▌\",\"▐____|\\\\________▌\",\"▐_____|\\\\_______▌\",\"▐______|\\\\______▌\",\"▐_______|\\\\_____▌\",\"▐________|\\\\____▌\",\"▐_________|\\\\___▌\",\"▐__________|\\\\__▌\",\"▐___________|\\\\_▌\",\"▐____________|\\\\▌\",\"▐____________/|▌\",\"▐___________/|_▌\",\"▐__________/|__▌\",\"▐_________/|___▌\",\"▐________/|____▌\",\"▐_______/|_____▌\",\"▐______/|______▌\",\"▐_____/|_______▌\",\"▐____/|________▌\",\"▐___/|_________▌\",\"▐__/|__________▌\",\"▐_/|___________▌\",\"▐/|____________▌\"]},\"dqpb\":{\"interval\":100,\"frames\":[\"d\",\"q\",\"p\",\"b\"]},\"weather\":{\"interval\":100,\"frames\":[\"☀️ \",\"☀️ \",\"☀️ \",\"🌤 \",\"⛅️ \",\"🌥 \",\"☁️ \",\"🌧 \",\"🌨 \",\"🌧 \",\"🌨 \",\"🌧 \",\"🌨 \",\"⛈ \",\"🌨 \",\"🌧 \",\"🌨 \",\"☁️ \",\"🌥 \",\"⛅️ \",\"🌤 \",\"☀️ \",\"☀️ \"]},\"christmas\":{\"interval\":400,\"frames\":[\"🌲\",\"🎄\"]}}"); /***/ }), -/* 393 */ +/* 391 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const chalk = __webpack_require__(394); +const chalk = __webpack_require__(392); const isSupported = process.platform !== 'win32' || process.env.CI || process.env.TERM === 'xterm-256color'; @@ -50505,16 +50360,16 @@ module.exports = isSupported ? main : fallbacks; /***/ }), -/* 394 */ +/* 392 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const escapeStringRegexp = __webpack_require__(178); -const ansiStyles = __webpack_require__(395); +const ansiStyles = __webpack_require__(393); const stdoutColor = __webpack_require__(184).stdout; -const template = __webpack_require__(396); +const template = __webpack_require__(394); const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); @@ -50740,7 +50595,7 @@ module.exports.default = module.exports; // For TypeScript /***/ }), -/* 395 */ +/* 393 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50913,7 +50768,7 @@ Object.defineProperty(module, 'exports', { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(114)(module))) /***/ }), -/* 396 */ +/* 394 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -51048,7 +50903,7 @@ module.exports = (chalk, tmp) => { /***/ }), -/* 397 */ +/* 395 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -51109,7 +50964,7 @@ const RunCommand = { }; /***/ }), -/* 398 */ +/* 396 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -51119,7 +50974,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(143); /* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(144); /* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(145); -/* harmony import */ var _utils_watch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(399); +/* harmony import */ var _utils_watch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(397); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -51204,14 +51059,14 @@ const WatchCommand = { }; /***/ }), -/* 399 */ +/* 397 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "waitUntilWatchIsReady", function() { return waitUntilWatchIsReady; }); /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(400); +/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(398); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -51278,141 +51133,141 @@ function waitUntilWatchIsReady(stream, opts = {}) { } /***/ }), -/* 400 */ +/* 398 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(401); +/* harmony import */ var _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(399); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "audit", function() { return _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__["audit"]; }); -/* harmony import */ var _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(402); +/* harmony import */ var _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(400); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "auditTime", function() { return _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__["auditTime"]; }); -/* harmony import */ var _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(403); +/* harmony import */ var _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(401); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buffer", function() { return _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__["buffer"]; }); -/* harmony import */ var _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(404); +/* harmony import */ var _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(402); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferCount", function() { return _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__["bufferCount"]; }); -/* harmony import */ var _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(405); +/* harmony import */ var _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(403); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferTime", function() { return _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__["bufferTime"]; }); -/* harmony import */ var _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(406); +/* harmony import */ var _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(404); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferToggle", function() { return _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__["bufferToggle"]; }); -/* harmony import */ var _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(407); +/* harmony import */ var _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(405); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferWhen", function() { return _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__["bufferWhen"]; }); -/* harmony import */ var _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(408); +/* harmony import */ var _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(406); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "catchError", function() { return _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__["catchError"]; }); -/* harmony import */ var _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(409); +/* harmony import */ var _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(407); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineAll", function() { return _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__["combineAll"]; }); -/* harmony import */ var _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(410); +/* harmony import */ var _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(408); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__["combineLatest"]; }); -/* harmony import */ var _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(411); +/* harmony import */ var _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(409); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__["concat"]; }); /* harmony import */ var _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(80); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatAll", function() { return _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__["concatAll"]; }); -/* harmony import */ var _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(412); +/* harmony import */ var _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(410); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatMap", function() { return _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__["concatMap"]; }); -/* harmony import */ var _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(413); +/* harmony import */ var _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(411); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatMapTo", function() { return _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__["concatMapTo"]; }); -/* harmony import */ var _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(414); +/* harmony import */ var _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(412); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "count", function() { return _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__["count"]; }); -/* harmony import */ var _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(415); +/* harmony import */ var _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(413); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__["debounce"]; }); -/* harmony import */ var _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(416); +/* harmony import */ var _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(414); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "debounceTime", function() { return _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__["debounceTime"]; }); -/* harmony import */ var _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(417); +/* harmony import */ var _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(415); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultIfEmpty", function() { return _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__["defaultIfEmpty"]; }); -/* harmony import */ var _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(418); +/* harmony import */ var _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(416); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "delay", function() { return _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__["delay"]; }); -/* harmony import */ var _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(420); +/* harmony import */ var _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(418); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "delayWhen", function() { return _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__["delayWhen"]; }); -/* harmony import */ var _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(421); +/* harmony import */ var _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(419); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dematerialize", function() { return _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__["dematerialize"]; }); -/* harmony import */ var _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(422); +/* harmony import */ var _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(420); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinct", function() { return _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__["distinct"]; }); -/* harmony import */ var _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(423); +/* harmony import */ var _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(421); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinctUntilChanged", function() { return _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__["distinctUntilChanged"]; }); -/* harmony import */ var _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(424); +/* harmony import */ var _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(422); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinctUntilKeyChanged", function() { return _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__["distinctUntilKeyChanged"]; }); -/* harmony import */ var _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(425); +/* harmony import */ var _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(423); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "elementAt", function() { return _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__["elementAt"]; }); -/* harmony import */ var _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(428); +/* harmony import */ var _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(426); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "endWith", function() { return _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__["endWith"]; }); -/* harmony import */ var _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(429); +/* harmony import */ var _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(427); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "every", function() { return _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__["every"]; }); -/* harmony import */ var _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(430); +/* harmony import */ var _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(428); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exhaust", function() { return _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__["exhaust"]; }); -/* harmony import */ var _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(431); +/* harmony import */ var _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(429); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exhaustMap", function() { return _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__["exhaustMap"]; }); -/* harmony import */ var _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(432); +/* harmony import */ var _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(430); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "expand", function() { return _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__["expand"]; }); /* harmony import */ var _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(104); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "filter", function() { return _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__["filter"]; }); -/* harmony import */ var _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(433); +/* harmony import */ var _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(431); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "finalize", function() { return _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__["finalize"]; }); -/* harmony import */ var _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(434); +/* harmony import */ var _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(432); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "find", function() { return _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__["find"]; }); -/* harmony import */ var _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(435); +/* harmony import */ var _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(433); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__["findIndex"]; }); -/* harmony import */ var _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(436); +/* harmony import */ var _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(434); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "first", function() { return _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__["first"]; }); /* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(31); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "groupBy", function() { return _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__["groupBy"]; }); -/* harmony import */ var _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(437); +/* harmony import */ var _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(435); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ignoreElements", function() { return _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__["ignoreElements"]; }); -/* harmony import */ var _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(438); +/* harmony import */ var _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(436); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isEmpty", function() { return _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__["isEmpty"]; }); -/* harmony import */ var _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(439); +/* harmony import */ var _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(437); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "last", function() { return _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__["last"]; }); /* harmony import */ var _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(66); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "map", function() { return _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__["map"]; }); -/* harmony import */ var _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(441); +/* harmony import */ var _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(439); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapTo", function() { return _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__["mapTo"]; }); -/* harmony import */ var _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(442); +/* harmony import */ var _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(440); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "materialize", function() { return _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__["materialize"]; }); -/* harmony import */ var _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(443); +/* harmony import */ var _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(441); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "max", function() { return _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__["max"]; }); -/* harmony import */ var _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(446); +/* harmony import */ var _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(444); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__["merge"]; }); /* harmony import */ var _internal_operators_mergeAll__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(81); @@ -51423,175 +51278,175 @@ __webpack_require__.r(__webpack_exports__); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "flatMap", function() { return _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__["mergeMap"]; }); -/* harmony import */ var _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(447); +/* harmony import */ var _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(445); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeMapTo", function() { return _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__["mergeMapTo"]; }); -/* harmony import */ var _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(448); +/* harmony import */ var _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(446); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeScan", function() { return _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__["mergeScan"]; }); -/* harmony import */ var _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(449); +/* harmony import */ var _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(447); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "min", function() { return _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__["min"]; }); -/* harmony import */ var _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(450); +/* harmony import */ var _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(448); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "multicast", function() { return _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__["multicast"]; }); /* harmony import */ var _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(41); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "observeOn", function() { return _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__["observeOn"]; }); -/* harmony import */ var _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(451); +/* harmony import */ var _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(449); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__["onErrorResumeNext"]; }); -/* harmony import */ var _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(452); +/* harmony import */ var _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(450); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pairwise", function() { return _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__["pairwise"]; }); -/* harmony import */ var _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(453); +/* harmony import */ var _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(451); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__["partition"]; }); -/* harmony import */ var _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(454); +/* harmony import */ var _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(452); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pluck", function() { return _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__["pluck"]; }); -/* harmony import */ var _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(455); +/* harmony import */ var _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(453); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publish", function() { return _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__["publish"]; }); -/* harmony import */ var _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(456); +/* harmony import */ var _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(454); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishBehavior", function() { return _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__["publishBehavior"]; }); -/* harmony import */ var _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(457); +/* harmony import */ var _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(455); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishLast", function() { return _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__["publishLast"]; }); -/* harmony import */ var _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(458); +/* harmony import */ var _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(456); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishReplay", function() { return _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__["publishReplay"]; }); -/* harmony import */ var _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(459); +/* harmony import */ var _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(457); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "race", function() { return _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__["race"]; }); -/* harmony import */ var _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(444); +/* harmony import */ var _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(442); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__["reduce"]; }); -/* harmony import */ var _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(460); +/* harmony import */ var _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(458); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "repeat", function() { return _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__["repeat"]; }); -/* harmony import */ var _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(461); +/* harmony import */ var _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(459); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "repeatWhen", function() { return _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__["repeatWhen"]; }); -/* harmony import */ var _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(462); +/* harmony import */ var _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(460); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "retry", function() { return _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__["retry"]; }); -/* harmony import */ var _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(463); +/* harmony import */ var _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(461); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "retryWhen", function() { return _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__["retryWhen"]; }); /* harmony import */ var _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(30); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "refCount", function() { return _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__["refCount"]; }); -/* harmony import */ var _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(464); +/* harmony import */ var _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(462); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sample", function() { return _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__["sample"]; }); -/* harmony import */ var _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(465); +/* harmony import */ var _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(463); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sampleTime", function() { return _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__["sampleTime"]; }); -/* harmony import */ var _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(445); +/* harmony import */ var _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(443); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "scan", function() { return _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__["scan"]; }); -/* harmony import */ var _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(466); +/* harmony import */ var _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(464); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sequenceEqual", function() { return _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__["sequenceEqual"]; }); -/* harmony import */ var _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(467); +/* harmony import */ var _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(465); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "share", function() { return _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__["share"]; }); -/* harmony import */ var _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(468); +/* harmony import */ var _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(466); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "shareReplay", function() { return _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__["shareReplay"]; }); -/* harmony import */ var _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(469); +/* harmony import */ var _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(467); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "single", function() { return _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__["single"]; }); -/* harmony import */ var _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(470); +/* harmony import */ var _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(468); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skip", function() { return _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__["skip"]; }); -/* harmony import */ var _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(471); +/* harmony import */ var _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(469); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipLast", function() { return _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__["skipLast"]; }); -/* harmony import */ var _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(472); +/* harmony import */ var _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(470); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipUntil", function() { return _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__["skipUntil"]; }); -/* harmony import */ var _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(473); +/* harmony import */ var _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(471); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipWhile", function() { return _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__["skipWhile"]; }); -/* harmony import */ var _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(474); +/* harmony import */ var _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(472); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "startWith", function() { return _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__["startWith"]; }); -/* harmony import */ var _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(475); +/* harmony import */ var _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(473); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "subscribeOn", function() { return _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__["subscribeOn"]; }); -/* harmony import */ var _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(477); +/* harmony import */ var _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(475); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchAll", function() { return _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__["switchAll"]; }); -/* harmony import */ var _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(478); +/* harmony import */ var _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(476); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchMap", function() { return _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__["switchMap"]; }); -/* harmony import */ var _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(479); +/* harmony import */ var _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(477); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchMapTo", function() { return _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__["switchMapTo"]; }); -/* harmony import */ var _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(427); +/* harmony import */ var _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(425); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "take", function() { return _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__["take"]; }); -/* harmony import */ var _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(440); +/* harmony import */ var _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(438); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeLast", function() { return _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__["takeLast"]; }); -/* harmony import */ var _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(480); +/* harmony import */ var _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(478); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeUntil", function() { return _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__["takeUntil"]; }); -/* harmony import */ var _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(481); +/* harmony import */ var _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(479); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeWhile", function() { return _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__["takeWhile"]; }); -/* harmony import */ var _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(482); +/* harmony import */ var _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(480); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tap", function() { return _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__["tap"]; }); -/* harmony import */ var _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(483); +/* harmony import */ var _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(481); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__["throttle"]; }); -/* harmony import */ var _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(484); +/* harmony import */ var _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(482); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throttleTime", function() { return _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__["throttleTime"]; }); -/* harmony import */ var _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(426); +/* harmony import */ var _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(424); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throwIfEmpty", function() { return _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__["throwIfEmpty"]; }); -/* harmony import */ var _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(485); +/* harmony import */ var _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(483); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeInterval", function() { return _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__["timeInterval"]; }); -/* harmony import */ var _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(486); +/* harmony import */ var _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(484); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeout", function() { return _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__["timeout"]; }); -/* harmony import */ var _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(487); +/* harmony import */ var _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(485); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeoutWith", function() { return _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__["timeoutWith"]; }); -/* harmony import */ var _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(488); +/* harmony import */ var _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(486); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timestamp", function() { return _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__["timestamp"]; }); -/* harmony import */ var _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(489); +/* harmony import */ var _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(487); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toArray", function() { return _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__["toArray"]; }); -/* harmony import */ var _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(490); +/* harmony import */ var _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(488); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "window", function() { return _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__["window"]; }); -/* harmony import */ var _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(491); +/* harmony import */ var _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(489); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowCount", function() { return _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__["windowCount"]; }); -/* harmony import */ var _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(492); +/* harmony import */ var _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(490); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowTime", function() { return _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__["windowTime"]; }); -/* harmony import */ var _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(493); +/* harmony import */ var _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(491); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowToggle", function() { return _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__["windowToggle"]; }); -/* harmony import */ var _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(494); +/* harmony import */ var _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(492); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowWhen", function() { return _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__["windowWhen"]; }); -/* harmony import */ var _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(495); +/* harmony import */ var _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(493); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "withLatestFrom", function() { return _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__["withLatestFrom"]; }); -/* harmony import */ var _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(496); +/* harmony import */ var _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(494); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__["zip"]; }); -/* harmony import */ var _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(497); +/* harmony import */ var _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(495); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zipAll", function() { return _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__["zipAll"]; }); /** PURE_IMPORTS_START PURE_IMPORTS_END */ @@ -51703,7 +51558,7 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 401 */ +/* 399 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -51784,14 +51639,14 @@ var AuditSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 402 */ +/* 400 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "auditTime", function() { return auditTime; }); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55); -/* harmony import */ var _audit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(401); +/* harmony import */ var _audit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(399); /* harmony import */ var _observable_timer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(107); /** PURE_IMPORTS_START _scheduler_async,_audit,_observable_timer PURE_IMPORTS_END */ @@ -51807,7 +51662,7 @@ function auditTime(duration, scheduler) { /***/ }), -/* 403 */ +/* 401 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -51856,7 +51711,7 @@ var BufferSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 404 */ +/* 402 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -51957,7 +51812,7 @@ var BufferSkipCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 405 */ +/* 403 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52118,7 +51973,7 @@ function dispatchBufferClose(arg) { /***/ }), -/* 406 */ +/* 404 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52238,7 +52093,7 @@ var BufferToggleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 407 */ +/* 405 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52333,7 +52188,7 @@ var BufferWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 408 */ +/* 406 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52397,7 +52252,7 @@ var CatchSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 409 */ +/* 407 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52413,7 +52268,7 @@ function combineAll(project) { /***/ }), -/* 410 */ +/* 408 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52445,7 +52300,7 @@ function combineLatest() { /***/ }), -/* 411 */ +/* 409 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52465,7 +52320,7 @@ function concat() { /***/ }), -/* 412 */ +/* 410 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52481,13 +52336,13 @@ function concatMap(project, resultSelector) { /***/ }), -/* 413 */ +/* 411 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatMapTo", function() { return concatMapTo; }); -/* harmony import */ var _concatMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(412); +/* harmony import */ var _concatMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(410); /** PURE_IMPORTS_START _concatMap PURE_IMPORTS_END */ function concatMapTo(innerObservable, resultSelector) { @@ -52497,7 +52352,7 @@ function concatMapTo(innerObservable, resultSelector) { /***/ }), -/* 414 */ +/* 412 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52562,7 +52417,7 @@ var CountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 415 */ +/* 413 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52650,7 +52505,7 @@ var DebounceSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 416 */ +/* 414 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52726,7 +52581,7 @@ function dispatchNext(subscriber) { /***/ }), -/* 417 */ +/* 415 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52776,7 +52631,7 @@ var DefaultIfEmptySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 418 */ +/* 416 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52784,7 +52639,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "delay", function() { return delay; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55); -/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(419); +/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(417); /* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11); /* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42); /** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_Subscriber,_Notification PURE_IMPORTS_END */ @@ -52883,7 +52738,7 @@ var DelayMessage = /*@__PURE__*/ (function () { /***/ }), -/* 419 */ +/* 417 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52897,7 +52752,7 @@ function isDate(value) { /***/ }), -/* 420 */ +/* 418 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53043,7 +52898,7 @@ var SubscriptionDelaySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 421 */ +/* 419 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53081,7 +52936,7 @@ var DeMaterializeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 422 */ +/* 420 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53159,7 +53014,7 @@ var DistinctSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 423 */ +/* 421 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53230,13 +53085,13 @@ var DistinctUntilChangedSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 424 */ +/* 422 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "distinctUntilKeyChanged", function() { return distinctUntilKeyChanged; }); -/* harmony import */ var _distinctUntilChanged__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(423); +/* harmony import */ var _distinctUntilChanged__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(421); /** PURE_IMPORTS_START _distinctUntilChanged PURE_IMPORTS_END */ function distinctUntilKeyChanged(key, compare) { @@ -53246,7 +53101,7 @@ function distinctUntilKeyChanged(key, compare) { /***/ }), -/* 425 */ +/* 423 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53254,9 +53109,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "elementAt", function() { return elementAt; }); /* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(62); /* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(104); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(426); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(417); -/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(427); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(424); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(415); +/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(425); /** PURE_IMPORTS_START _util_ArgumentOutOfRangeError,_filter,_throwIfEmpty,_defaultIfEmpty,_take PURE_IMPORTS_END */ @@ -53278,7 +53133,7 @@ function elementAt(index, defaultValue) { /***/ }), -/* 426 */ +/* 424 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53344,7 +53199,7 @@ function defaultErrorFactory() { /***/ }), -/* 427 */ +/* 425 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53406,7 +53261,7 @@ var TakeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 428 */ +/* 426 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53428,7 +53283,7 @@ function endWith() { /***/ }), -/* 429 */ +/* 427 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53490,7 +53345,7 @@ var EverySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 430 */ +/* 428 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53547,7 +53402,7 @@ var SwitchFirstSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 431 */ +/* 429 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53647,7 +53502,7 @@ var ExhaustMapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 432 */ +/* 430 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53766,7 +53621,7 @@ var ExpandSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 433 */ +/* 431 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53804,7 +53659,7 @@ var FinallySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 434 */ +/* 432 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53876,13 +53731,13 @@ var FindValueSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 435 */ +/* 433 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return findIndex; }); -/* harmony import */ var _operators_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(434); +/* harmony import */ var _operators_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(432); /** PURE_IMPORTS_START _operators_find PURE_IMPORTS_END */ function findIndex(predicate, thisArg) { @@ -53892,7 +53747,7 @@ function findIndex(predicate, thisArg) { /***/ }), -/* 436 */ +/* 434 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53900,9 +53755,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "first", function() { return first; }); /* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63); /* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(104); -/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(427); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(417); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(426); +/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(425); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(415); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(424); /* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25); /** PURE_IMPORTS_START _util_EmptyError,_filter,_take,_defaultIfEmpty,_throwIfEmpty,_util_identity PURE_IMPORTS_END */ @@ -53919,7 +53774,7 @@ function first(predicate, defaultValue) { /***/ }), -/* 437 */ +/* 435 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53956,7 +53811,7 @@ var IgnoreElementsSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 438 */ +/* 436 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54000,7 +53855,7 @@ var IsEmptySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 439 */ +/* 437 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54008,9 +53863,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "last", function() { return last; }); /* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63); /* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(104); -/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(440); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(426); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(417); +/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(438); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(424); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(415); /* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25); /** PURE_IMPORTS_START _util_EmptyError,_filter,_takeLast,_throwIfEmpty,_defaultIfEmpty,_util_identity PURE_IMPORTS_END */ @@ -54027,7 +53882,7 @@ function last(predicate, defaultValue) { /***/ }), -/* 440 */ +/* 438 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54104,7 +53959,7 @@ var TakeLastSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 441 */ +/* 439 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54143,7 +53998,7 @@ var MapToSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 442 */ +/* 440 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54193,13 +54048,13 @@ var MaterializeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 443 */ +/* 441 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "max", function() { return max; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(444); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(442); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function max(comparer) { @@ -54212,15 +54067,15 @@ function max(comparer) { /***/ }), -/* 444 */ +/* 442 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return reduce; }); -/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(445); -/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(440); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(417); +/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(443); +/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(438); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(415); /* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(24); /** PURE_IMPORTS_START _scan,_takeLast,_defaultIfEmpty,_util_pipe PURE_IMPORTS_END */ @@ -54241,7 +54096,7 @@ function reduce(accumulator, seed) { /***/ }), -/* 445 */ +/* 443 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54323,7 +54178,7 @@ var ScanSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 446 */ +/* 444 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54343,7 +54198,7 @@ function merge() { /***/ }), -/* 447 */ +/* 445 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54368,7 +54223,7 @@ function mergeMapTo(innerObservable, resultSelector, concurrent) { /***/ }), -/* 448 */ +/* 446 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54483,13 +54338,13 @@ var MergeScanSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 449 */ +/* 447 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "min", function() { return min; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(444); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(442); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function min(comparer) { @@ -54502,7 +54357,7 @@ function min(comparer) { /***/ }), -/* 450 */ +/* 448 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54551,7 +54406,7 @@ var MulticastOperator = /*@__PURE__*/ (function () { /***/ }), -/* 451 */ +/* 449 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54645,7 +54500,7 @@ var OnErrorResumeNextSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 452 */ +/* 450 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54693,7 +54548,7 @@ var PairwiseSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 453 */ +/* 451 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54716,7 +54571,7 @@ function partition(predicate, thisArg) { /***/ }), -/* 454 */ +/* 452 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54756,14 +54611,14 @@ function plucker(props, length) { /***/ }), -/* 455 */ +/* 453 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publish", function() { return publish; }); /* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(450); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(448); /** PURE_IMPORTS_START _Subject,_multicast PURE_IMPORTS_END */ @@ -54776,14 +54631,14 @@ function publish(selector) { /***/ }), -/* 456 */ +/* 454 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishBehavior", function() { return publishBehavior; }); /* harmony import */ var _BehaviorSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(450); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(448); /** PURE_IMPORTS_START _BehaviorSubject,_multicast PURE_IMPORTS_END */ @@ -54794,14 +54649,14 @@ function publishBehavior(value) { /***/ }), -/* 457 */ +/* 455 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishLast", function() { return publishLast; }); /* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(450); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(448); /** PURE_IMPORTS_START _AsyncSubject,_multicast PURE_IMPORTS_END */ @@ -54812,14 +54667,14 @@ function publishLast() { /***/ }), -/* 458 */ +/* 456 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishReplay", function() { return publishReplay; }); /* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(450); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(448); /** PURE_IMPORTS_START _ReplaySubject,_multicast PURE_IMPORTS_END */ @@ -54835,7 +54690,7 @@ function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) { /***/ }), -/* 459 */ +/* 457 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54862,7 +54717,7 @@ function race() { /***/ }), -/* 460 */ +/* 458 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54927,7 +54782,7 @@ var RepeatSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 461 */ +/* 459 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55023,7 +54878,7 @@ var RepeatWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 462 */ +/* 460 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55076,7 +54931,7 @@ var RetrySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 463 */ +/* 461 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55164,7 +55019,7 @@ var RetryWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 464 */ +/* 462 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55221,7 +55076,7 @@ var SampleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 465 */ +/* 463 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55281,7 +55136,7 @@ function dispatchNotification(state) { /***/ }), -/* 466 */ +/* 464 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55404,13 +55259,13 @@ var SequenceEqualCompareToSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 467 */ +/* 465 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "share", function() { return share; }); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(450); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(448); /* harmony import */ var _refCount__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); /* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27); /** PURE_IMPORTS_START _multicast,_refCount,_Subject PURE_IMPORTS_END */ @@ -55427,7 +55282,7 @@ function share() { /***/ }), -/* 468 */ +/* 466 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55492,7 +55347,7 @@ function shareReplayOperator(_a) { /***/ }), -/* 469 */ +/* 467 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55572,7 +55427,7 @@ var SingleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 470 */ +/* 468 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55614,7 +55469,7 @@ var SkipSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 471 */ +/* 469 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55676,7 +55531,7 @@ var SkipLastSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 472 */ +/* 470 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55737,7 +55592,7 @@ var SkipUntilSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 473 */ +/* 471 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55793,7 +55648,7 @@ var SkipWhileSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 474 */ +/* 472 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55822,13 +55677,13 @@ function startWith() { /***/ }), -/* 475 */ +/* 473 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeOn", function() { return subscribeOn; }); -/* harmony import */ var _observable_SubscribeOnObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(476); +/* harmony import */ var _observable_SubscribeOnObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(474); /** PURE_IMPORTS_START _observable_SubscribeOnObservable PURE_IMPORTS_END */ function subscribeOn(scheduler, delay) { @@ -55853,7 +55708,7 @@ var SubscribeOnOperator = /*@__PURE__*/ (function () { /***/ }), -/* 476 */ +/* 474 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55917,13 +55772,13 @@ var SubscribeOnObservable = /*@__PURE__*/ (function (_super) { /***/ }), -/* 477 */ +/* 475 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchAll", function() { return switchAll; }); -/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(478); +/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(476); /* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25); /** PURE_IMPORTS_START _switchMap,_util_identity PURE_IMPORTS_END */ @@ -55935,7 +55790,7 @@ function switchAll() { /***/ }), -/* 478 */ +/* 476 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56029,13 +55884,13 @@ var SwitchMapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 479 */ +/* 477 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchMapTo", function() { return switchMapTo; }); -/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(478); +/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(476); /** PURE_IMPORTS_START _switchMap PURE_IMPORTS_END */ function switchMapTo(innerObservable, resultSelector) { @@ -56045,7 +55900,7 @@ function switchMapTo(innerObservable, resultSelector) { /***/ }), -/* 480 */ +/* 478 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56095,7 +55950,7 @@ var TakeUntilSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 481 */ +/* 479 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56163,7 +56018,7 @@ var TakeWhileSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 482 */ +/* 480 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56251,7 +56106,7 @@ var TapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 483 */ +/* 481 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56355,7 +56210,7 @@ var ThrottleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 484 */ +/* 482 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56364,7 +56219,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); /* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55); -/* harmony import */ var _throttle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(483); +/* harmony import */ var _throttle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(481); /** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async,_throttle PURE_IMPORTS_END */ @@ -56453,7 +56308,7 @@ function dispatchNext(arg) { /***/ }), -/* 485 */ +/* 483 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56461,7 +56316,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeInterval", function() { return timeInterval; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TimeInterval", function() { return TimeInterval; }); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55); -/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(445); +/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(443); /* harmony import */ var _observable_defer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(90); /* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(66); /** PURE_IMPORTS_START _scheduler_async,_scan,_observable_defer,_map PURE_IMPORTS_END */ @@ -56497,7 +56352,7 @@ var TimeInterval = /*@__PURE__*/ (function () { /***/ }), -/* 486 */ +/* 484 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56505,7 +56360,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeout", function() { return timeout; }); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55); /* harmony import */ var _util_TimeoutError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64); -/* harmony import */ var _timeoutWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(487); +/* harmony import */ var _timeoutWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(485); /* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49); /** PURE_IMPORTS_START _scheduler_async,_util_TimeoutError,_timeoutWith,_observable_throwError PURE_IMPORTS_END */ @@ -56522,7 +56377,7 @@ function timeout(due, scheduler) { /***/ }), -/* 487 */ +/* 485 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56530,7 +56385,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeoutWith", function() { return timeoutWith; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55); -/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(419); +/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(417); /* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69); /* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(70); /** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -56604,7 +56459,7 @@ var TimeoutWithSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 488 */ +/* 486 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56634,13 +56489,13 @@ var Timestamp = /*@__PURE__*/ (function () { /***/ }), -/* 489 */ +/* 487 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toArray", function() { return toArray; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(444); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(442); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function toArrayReducer(arr, item, index) { @@ -56657,7 +56512,7 @@ function toArray() { /***/ }), -/* 490 */ +/* 488 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56737,7 +56592,7 @@ var WindowSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 491 */ +/* 489 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56827,7 +56682,7 @@ var WindowCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 492 */ +/* 490 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56997,7 +56852,7 @@ function dispatchWindowClose(state) { /***/ }), -/* 493 */ +/* 491 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57140,7 +56995,7 @@ var WindowToggleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 494 */ +/* 492 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57237,7 +57092,7 @@ var WindowSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 495 */ +/* 493 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57332,7 +57187,7 @@ var WithLatestFromSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 496 */ +/* 494 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57354,7 +57209,7 @@ function zip() { /***/ }), -/* 497 */ +/* 495 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57370,7 +57225,7 @@ function zipAll(project) { /***/ }), -/* 498 */ +/* 496 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57379,8 +57234,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(162); /* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(143); /* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(145); -/* harmony import */ var _utils_projects_tree__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(499); -/* harmony import */ var _utils_kibana__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(500); +/* harmony import */ var _utils_projects_tree__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(497); +/* harmony import */ var _utils_kibana__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(498); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -57462,13 +57317,13 @@ function toArray(value) { } /***/ }), -/* 499 */ +/* 497 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "renderProjectsTree", function() { return renderProjectsTree; }); -/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(235); +/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(227); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); @@ -57615,7 +57470,7 @@ function addProjectToTree(tree, pathParts, project) { } /***/ }), -/* 500 */ +/* 498 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57623,12 +57478,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Kibana", function() { return Kibana; }); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var multimatch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(501); +/* harmony import */ var multimatch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(499); /* harmony import */ var multimatch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(multimatch__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var is_path_inside__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(377); +/* harmony import */ var is_path_inside__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(369); /* harmony import */ var is_path_inside__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(is_path_inside__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(145); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(288); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(280); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -57769,15 +57624,15 @@ class Kibana { } /***/ }), -/* 501 */ +/* 499 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const minimatch = __webpack_require__(149); -const arrayUnion = __webpack_require__(502); -const arrayDiffer = __webpack_require__(503); -const arrify = __webpack_require__(504); +const arrayUnion = __webpack_require__(500); +const arrayDiffer = __webpack_require__(501); +const arrify = __webpack_require__(502); module.exports = (list, patterns, options = {}) => { list = arrify(list); @@ -57801,7 +57656,7 @@ module.exports = (list, patterns, options = {}) => { /***/ }), -/* 502 */ +/* 500 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -57813,7 +57668,7 @@ module.exports = (...arguments_) => { /***/ }), -/* 503 */ +/* 501 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -57828,7 +57683,7 @@ module.exports = arrayDiffer; /***/ }), -/* 504 */ +/* 502 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -57858,12 +57713,12 @@ module.exports = arrify; /***/ }), -/* 505 */ +/* 503 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _build_production_projects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(506); +/* harmony import */ var _build_production_projects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(504); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildProductionProjects", function() { return _build_production_projects__WEBPACK_IMPORTED_MODULE_0__["buildProductionProjects"]; }); /* @@ -57887,19 +57742,19 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 506 */ +/* 504 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildProductionProjects", function() { return buildProductionProjects; }); -/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(507); +/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(505); /* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cpy__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(296); +/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(288); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(288); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(280); /* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(130); /* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(143); /* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(164); @@ -58035,7 +57890,7 @@ async function copyToBuild(project, kibanaRoot, buildRoot) { } /***/ }), -/* 507 */ +/* 505 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58043,13 +57898,13 @@ async function copyToBuild(project, kibanaRoot, buildRoot) { const EventEmitter = __webpack_require__(155); const path = __webpack_require__(4); const os = __webpack_require__(120); -const pAll = __webpack_require__(508); -const arrify = __webpack_require__(510); -const globby = __webpack_require__(511); -const isGlob = __webpack_require__(721); -const cpFile = __webpack_require__(722); -const junk = __webpack_require__(734); -const CpyError = __webpack_require__(735); +const pAll = __webpack_require__(506); +const arrify = __webpack_require__(508); +const globby = __webpack_require__(509); +const isGlob = __webpack_require__(719); +const cpFile = __webpack_require__(720); +const junk = __webpack_require__(732); +const CpyError = __webpack_require__(733); const defaultOptions = { ignoreJunk: true @@ -58168,12 +58023,12 @@ module.exports = (source, destination, { /***/ }), -/* 508 */ +/* 506 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pMap = __webpack_require__(509); +const pMap = __webpack_require__(507); module.exports = (iterable, options) => pMap(iterable, element => element(), options); // TODO: Remove this for the next major release @@ -58181,7 +58036,7 @@ module.exports.default = module.exports; /***/ }), -/* 509 */ +/* 507 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58260,7 +58115,7 @@ module.exports.default = pMap; /***/ }), -/* 510 */ +/* 508 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58290,17 +58145,17 @@ module.exports = arrify; /***/ }), -/* 511 */ +/* 509 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(133); -const arrayUnion = __webpack_require__(512); +const arrayUnion = __webpack_require__(510); const glob = __webpack_require__(146); -const fastGlob = __webpack_require__(514); -const dirGlob = __webpack_require__(714); -const gitignore = __webpack_require__(717); +const fastGlob = __webpack_require__(512); +const dirGlob = __webpack_require__(712); +const gitignore = __webpack_require__(715); const DEFAULT_FILTER = () => false; @@ -58445,12 +58300,12 @@ module.exports.gitignore = gitignore; /***/ }), -/* 512 */ +/* 510 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var arrayUniq = __webpack_require__(513); +var arrayUniq = __webpack_require__(511); module.exports = function () { return arrayUniq([].concat.apply([], arguments)); @@ -58458,7 +58313,7 @@ module.exports = function () { /***/ }), -/* 513 */ +/* 511 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58527,10 +58382,10 @@ if ('Set' in global) { /***/ }), -/* 514 */ +/* 512 */ /***/ (function(module, exports, __webpack_require__) { -const pkg = __webpack_require__(515); +const pkg = __webpack_require__(513); module.exports = pkg.async; module.exports.default = pkg.async; @@ -58543,19 +58398,19 @@ module.exports.generateTasks = pkg.generateTasks; /***/ }), -/* 515 */ +/* 513 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var optionsManager = __webpack_require__(516); -var taskManager = __webpack_require__(517); -var reader_async_1 = __webpack_require__(685); -var reader_stream_1 = __webpack_require__(709); -var reader_sync_1 = __webpack_require__(710); -var arrayUtils = __webpack_require__(712); -var streamUtils = __webpack_require__(713); +var optionsManager = __webpack_require__(514); +var taskManager = __webpack_require__(515); +var reader_async_1 = __webpack_require__(683); +var reader_stream_1 = __webpack_require__(707); +var reader_sync_1 = __webpack_require__(708); +var arrayUtils = __webpack_require__(710); +var streamUtils = __webpack_require__(711); /** * Synchronous API. */ @@ -58621,7 +58476,7 @@ function isString(source) { /***/ }), -/* 516 */ +/* 514 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58659,13 +58514,13 @@ exports.prepare = prepare; /***/ }), -/* 517 */ +/* 515 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var patternUtils = __webpack_require__(518); +var patternUtils = __webpack_require__(516); /** * Generate tasks based on parent directory of each pattern. */ @@ -58756,16 +58611,16 @@ exports.convertPatternGroupToTask = convertPatternGroupToTask; /***/ }), -/* 518 */ +/* 516 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = __webpack_require__(4); -var globParent = __webpack_require__(519); -var isGlob = __webpack_require__(522); -var micromatch = __webpack_require__(523); +var globParent = __webpack_require__(517); +var isGlob = __webpack_require__(520); +var micromatch = __webpack_require__(521); var GLOBSTAR = '**'; /** * Return true for static pattern. @@ -58911,15 +58766,15 @@ exports.matchAny = matchAny; /***/ }), -/* 519 */ +/* 517 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var path = __webpack_require__(4); -var isglob = __webpack_require__(520); -var pathDirname = __webpack_require__(521); +var isglob = __webpack_require__(518); +var pathDirname = __webpack_require__(519); var isWin32 = __webpack_require__(120).platform() === 'win32'; module.exports = function globParent(str) { @@ -58942,7 +58797,7 @@ module.exports = function globParent(str) { /***/ }), -/* 520 */ +/* 518 */ /***/ (function(module, exports, __webpack_require__) { /*! @@ -58952,7 +58807,7 @@ module.exports = function globParent(str) { * Licensed under the MIT License. */ -var isExtglob = __webpack_require__(310); +var isExtglob = __webpack_require__(302); module.exports = function isGlob(str) { if (typeof str !== 'string' || str === '') { @@ -58973,7 +58828,7 @@ module.exports = function isGlob(str) { /***/ }), -/* 521 */ +/* 519 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -59123,7 +58978,7 @@ module.exports.win32 = win32; /***/ }), -/* 522 */ +/* 520 */ /***/ (function(module, exports, __webpack_require__) { /*! @@ -59133,7 +58988,7 @@ module.exports.win32 = win32; * Released under the MIT License. */ -var isExtglob = __webpack_require__(310); +var isExtglob = __webpack_require__(302); var chars = { '{': '}', '(': ')', '[': ']'}; module.exports = function isGlob(str, options) { @@ -59175,7 +59030,7 @@ module.exports = function isGlob(str, options) { /***/ }), -/* 523 */ +/* 521 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -59186,18 +59041,18 @@ module.exports = function isGlob(str, options) { */ var util = __webpack_require__(111); -var braces = __webpack_require__(524); -var toRegex = __webpack_require__(637); -var extend = __webpack_require__(645); +var braces = __webpack_require__(522); +var toRegex = __webpack_require__(635); +var extend = __webpack_require__(643); /** * Local dependencies */ -var compilers = __webpack_require__(648); -var parsers = __webpack_require__(681); -var cache = __webpack_require__(682); -var utils = __webpack_require__(683); +var compilers = __webpack_require__(646); +var parsers = __webpack_require__(679); +var cache = __webpack_require__(680); +var utils = __webpack_require__(681); var MAX_LENGTH = 1024 * 64; /** @@ -60059,7 +59914,7 @@ module.exports = micromatch; /***/ }), -/* 524 */ +/* 522 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60069,18 +59924,18 @@ module.exports = micromatch; * Module dependencies */ -var toRegex = __webpack_require__(525); -var unique = __webpack_require__(539); -var extend = __webpack_require__(534); +var toRegex = __webpack_require__(523); +var unique = __webpack_require__(537); +var extend = __webpack_require__(532); /** * Local dependencies */ -var compilers = __webpack_require__(540); -var parsers = __webpack_require__(557); -var Braces = __webpack_require__(567); -var utils = __webpack_require__(541); +var compilers = __webpack_require__(538); +var parsers = __webpack_require__(555); +var Braces = __webpack_require__(565); +var utils = __webpack_require__(539); var MAX_LENGTH = 1024 * 64; var cache = {}; @@ -60384,15 +60239,15 @@ module.exports = braces; /***/ }), -/* 525 */ +/* 523 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var define = __webpack_require__(526); -var extend = __webpack_require__(534); -var not = __webpack_require__(536); +var define = __webpack_require__(524); +var extend = __webpack_require__(532); +var not = __webpack_require__(534); var MAX_LENGTH = 1024 * 64; /** @@ -60539,7 +60394,7 @@ module.exports.makeRe = makeRe; /***/ }), -/* 526 */ +/* 524 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60552,7 +60407,7 @@ module.exports.makeRe = makeRe; -var isDescriptor = __webpack_require__(527); +var isDescriptor = __webpack_require__(525); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -60577,7 +60432,7 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 527 */ +/* 525 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60590,9 +60445,9 @@ module.exports = function defineProperty(obj, prop, val) { -var typeOf = __webpack_require__(528); -var isAccessor = __webpack_require__(529); -var isData = __webpack_require__(532); +var typeOf = __webpack_require__(526); +var isAccessor = __webpack_require__(527); +var isData = __webpack_require__(530); module.exports = function isDescriptor(obj, key) { if (typeOf(obj) !== 'object') { @@ -60606,7 +60461,7 @@ module.exports = function isDescriptor(obj, key) { /***/ }), -/* 528 */ +/* 526 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -60759,7 +60614,7 @@ function isBuffer(val) { /***/ }), -/* 529 */ +/* 527 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60772,7 +60627,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(530); +var typeOf = __webpack_require__(528); // accessor descriptor properties var accessor = { @@ -60835,10 +60690,10 @@ module.exports = isAccessorDescriptor; /***/ }), -/* 530 */ +/* 528 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(531); +var isBuffer = __webpack_require__(529); var toString = Object.prototype.toString; /** @@ -60957,7 +60812,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 531 */ +/* 529 */ /***/ (function(module, exports) { /*! @@ -60984,7 +60839,7 @@ function isSlowBuffer (obj) { /***/ }), -/* 532 */ +/* 530 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60997,7 +60852,7 @@ function isSlowBuffer (obj) { -var typeOf = __webpack_require__(533); +var typeOf = __webpack_require__(531); // data descriptor properties var data = { @@ -61046,10 +60901,10 @@ module.exports = isDataDescriptor; /***/ }), -/* 533 */ +/* 531 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(531); +var isBuffer = __webpack_require__(529); var toString = Object.prototype.toString; /** @@ -61168,13 +61023,13 @@ module.exports = function kindOf(val) { /***/ }), -/* 534 */ +/* 532 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(535); +var isObject = __webpack_require__(533); module.exports = function extend(o/*, objects*/) { if (!isObject(o)) { o = {}; } @@ -61208,7 +61063,7 @@ function hasOwn(obj, key) { /***/ }), -/* 535 */ +/* 533 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -61228,13 +61083,13 @@ module.exports = function isExtendable(val) { /***/ }), -/* 536 */ +/* 534 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extend = __webpack_require__(537); +var extend = __webpack_require__(535); /** * The main export is a function that takes a `pattern` string and an `options` object. @@ -61301,13 +61156,13 @@ module.exports = toRegex; /***/ }), -/* 537 */ +/* 535 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(538); +var isObject = __webpack_require__(536); module.exports = function extend(o/*, objects*/) { if (!isObject(o)) { o = {}; } @@ -61341,7 +61196,7 @@ function hasOwn(obj, key) { /***/ }), -/* 538 */ +/* 536 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -61361,7 +61216,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 539 */ +/* 537 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -61411,13 +61266,13 @@ module.exports.immutable = function uniqueImmutable(arr) { /***/ }), -/* 540 */ +/* 538 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(541); +var utils = __webpack_require__(539); module.exports = function(braces, options) { braces.compiler @@ -61700,25 +61555,25 @@ function hasQueue(node) { /***/ }), -/* 541 */ +/* 539 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var splitString = __webpack_require__(542); +var splitString = __webpack_require__(540); var utils = module.exports; /** * Module dependencies */ -utils.extend = __webpack_require__(534); -utils.flatten = __webpack_require__(548); -utils.isObject = __webpack_require__(546); -utils.fillRange = __webpack_require__(549); -utils.repeat = __webpack_require__(556); -utils.unique = __webpack_require__(539); +utils.extend = __webpack_require__(532); +utils.flatten = __webpack_require__(546); +utils.isObject = __webpack_require__(544); +utils.fillRange = __webpack_require__(547); +utils.repeat = __webpack_require__(554); +utils.unique = __webpack_require__(537); utils.define = function(obj, key, val) { Object.defineProperty(obj, key, { @@ -62050,7 +61905,7 @@ utils.escapeRegex = function(str) { /***/ }), -/* 542 */ +/* 540 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62063,7 +61918,7 @@ utils.escapeRegex = function(str) { -var extend = __webpack_require__(543); +var extend = __webpack_require__(541); module.exports = function(str, options, fn) { if (typeof str !== 'string') { @@ -62228,14 +62083,14 @@ function keepEscaping(opts, str, idx) { /***/ }), -/* 543 */ +/* 541 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(544); -var assignSymbols = __webpack_require__(547); +var isExtendable = __webpack_require__(542); +var assignSymbols = __webpack_require__(545); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -62295,7 +62150,7 @@ function isEnum(obj, key) { /***/ }), -/* 544 */ +/* 542 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62308,7 +62163,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(545); +var isPlainObject = __webpack_require__(543); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -62316,7 +62171,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 545 */ +/* 543 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62329,7 +62184,7 @@ module.exports = function isExtendable(val) { -var isObject = __webpack_require__(546); +var isObject = __webpack_require__(544); function isObjectObject(o) { return isObject(o) === true @@ -62360,7 +62215,7 @@ module.exports = function isPlainObject(o) { /***/ }), -/* 546 */ +/* 544 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62379,7 +62234,7 @@ module.exports = function isObject(val) { /***/ }), -/* 547 */ +/* 545 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62426,7 +62281,7 @@ module.exports = function(receiver, objects) { /***/ }), -/* 548 */ +/* 546 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62455,7 +62310,7 @@ function flat(arr, res) { /***/ }), -/* 549 */ +/* 547 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62469,10 +62324,10 @@ function flat(arr, res) { var util = __webpack_require__(111); -var isNumber = __webpack_require__(550); -var extend = __webpack_require__(552); -var repeat = __webpack_require__(554); -var toRegex = __webpack_require__(555); +var isNumber = __webpack_require__(548); +var extend = __webpack_require__(550); +var repeat = __webpack_require__(552); +var toRegex = __webpack_require__(553); /** * Return a range of numbers or letters. @@ -62670,7 +62525,7 @@ module.exports = fillRange; /***/ }), -/* 550 */ +/* 548 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62683,7 +62538,7 @@ module.exports = fillRange; -var typeOf = __webpack_require__(551); +var typeOf = __webpack_require__(549); module.exports = function isNumber(num) { var type = typeOf(num); @@ -62699,10 +62554,10 @@ module.exports = function isNumber(num) { /***/ }), -/* 551 */ +/* 549 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(531); +var isBuffer = __webpack_require__(529); var toString = Object.prototype.toString; /** @@ -62821,13 +62676,13 @@ module.exports = function kindOf(val) { /***/ }), -/* 552 */ +/* 550 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(553); +var isObject = __webpack_require__(551); module.exports = function extend(o/*, objects*/) { if (!isObject(o)) { o = {}; } @@ -62861,7 +62716,7 @@ function hasOwn(obj, key) { /***/ }), -/* 553 */ +/* 551 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62881,7 +62736,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 554 */ +/* 552 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62958,7 +62813,7 @@ function repeat(str, num) { /***/ }), -/* 555 */ +/* 553 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62971,8 +62826,8 @@ function repeat(str, num) { -var repeat = __webpack_require__(554); -var isNumber = __webpack_require__(550); +var repeat = __webpack_require__(552); +var isNumber = __webpack_require__(548); var cache = {}; function toRegexRange(min, max, options) { @@ -63259,7 +63114,7 @@ module.exports = toRegexRange; /***/ }), -/* 556 */ +/* 554 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -63284,14 +63139,14 @@ module.exports = function repeat(ele, num) { /***/ }), -/* 557 */ +/* 555 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var Node = __webpack_require__(558); -var utils = __webpack_require__(541); +var Node = __webpack_require__(556); +var utils = __webpack_require__(539); /** * Braces parsers @@ -63651,15 +63506,15 @@ function concatNodes(pos, node, parent, options) { /***/ }), -/* 558 */ +/* 556 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(546); -var define = __webpack_require__(559); -var utils = __webpack_require__(566); +var isObject = __webpack_require__(544); +var define = __webpack_require__(557); +var utils = __webpack_require__(564); var ownNames; /** @@ -64150,7 +64005,7 @@ exports = module.exports = Node; /***/ }), -/* 559 */ +/* 557 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -64163,7 +64018,7 @@ exports = module.exports = Node; -var isDescriptor = __webpack_require__(560); +var isDescriptor = __webpack_require__(558); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -64188,7 +64043,7 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 560 */ +/* 558 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -64201,9 +64056,9 @@ module.exports = function defineProperty(obj, prop, val) { -var typeOf = __webpack_require__(561); -var isAccessor = __webpack_require__(562); -var isData = __webpack_require__(564); +var typeOf = __webpack_require__(559); +var isAccessor = __webpack_require__(560); +var isData = __webpack_require__(562); module.exports = function isDescriptor(obj, key) { if (typeOf(obj) !== 'object') { @@ -64217,7 +64072,7 @@ module.exports = function isDescriptor(obj, key) { /***/ }), -/* 561 */ +/* 559 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -64352,7 +64207,7 @@ function isBuffer(val) { /***/ }), -/* 562 */ +/* 560 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -64365,7 +64220,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(563); +var typeOf = __webpack_require__(561); // accessor descriptor properties var accessor = { @@ -64428,7 +64283,7 @@ module.exports = isAccessorDescriptor; /***/ }), -/* 563 */ +/* 561 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -64563,7 +64418,7 @@ function isBuffer(val) { /***/ }), -/* 564 */ +/* 562 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -64576,7 +64431,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(565); +var typeOf = __webpack_require__(563); module.exports = function isDataDescriptor(obj, prop) { // data descriptor properties @@ -64619,7 +64474,7 @@ module.exports = function isDataDescriptor(obj, prop) { /***/ }), -/* 565 */ +/* 563 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -64754,13 +64609,13 @@ function isBuffer(val) { /***/ }), -/* 566 */ +/* 564 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var typeOf = __webpack_require__(551); +var typeOf = __webpack_require__(549); var utils = module.exports; /** @@ -65780,17 +65635,17 @@ function assert(val, message) { /***/ }), -/* 567 */ +/* 565 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extend = __webpack_require__(534); -var Snapdragon = __webpack_require__(568); -var compilers = __webpack_require__(540); -var parsers = __webpack_require__(557); -var utils = __webpack_require__(541); +var extend = __webpack_require__(532); +var Snapdragon = __webpack_require__(566); +var compilers = __webpack_require__(538); +var parsers = __webpack_require__(555); +var utils = __webpack_require__(539); /** * Customize Snapdragon parser and renderer @@ -65891,17 +65746,17 @@ module.exports = Braces; /***/ }), -/* 568 */ +/* 566 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var Base = __webpack_require__(569); -var define = __webpack_require__(595); -var Compiler = __webpack_require__(605); -var Parser = __webpack_require__(634); -var utils = __webpack_require__(614); +var Base = __webpack_require__(567); +var define = __webpack_require__(593); +var Compiler = __webpack_require__(603); +var Parser = __webpack_require__(632); +var utils = __webpack_require__(612); var regexCache = {}; var cache = {}; @@ -66072,20 +65927,20 @@ module.exports.Parser = Parser; /***/ }), -/* 569 */ +/* 567 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(111); -var define = __webpack_require__(570); -var CacheBase = __webpack_require__(571); -var Emitter = __webpack_require__(572); -var isObject = __webpack_require__(546); -var merge = __webpack_require__(589); -var pascal = __webpack_require__(592); -var cu = __webpack_require__(593); +var define = __webpack_require__(568); +var CacheBase = __webpack_require__(569); +var Emitter = __webpack_require__(570); +var isObject = __webpack_require__(544); +var merge = __webpack_require__(587); +var pascal = __webpack_require__(590); +var cu = __webpack_require__(591); /** * Optionally define a custom `cache` namespace to use. @@ -66514,7 +66369,7 @@ module.exports.namespace = namespace; /***/ }), -/* 570 */ +/* 568 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -66527,7 +66382,7 @@ module.exports.namespace = namespace; -var isDescriptor = __webpack_require__(560); +var isDescriptor = __webpack_require__(558); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -66552,21 +66407,21 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 571 */ +/* 569 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(546); -var Emitter = __webpack_require__(572); -var visit = __webpack_require__(573); -var toPath = __webpack_require__(576); -var union = __webpack_require__(577); -var del = __webpack_require__(581); -var get = __webpack_require__(579); -var has = __webpack_require__(586); -var set = __webpack_require__(580); +var isObject = __webpack_require__(544); +var Emitter = __webpack_require__(570); +var visit = __webpack_require__(571); +var toPath = __webpack_require__(574); +var union = __webpack_require__(575); +var del = __webpack_require__(579); +var get = __webpack_require__(577); +var has = __webpack_require__(584); +var set = __webpack_require__(578); /** * Create a `Cache` constructor that when instantiated will @@ -66820,7 +66675,7 @@ module.exports.namespace = namespace; /***/ }), -/* 572 */ +/* 570 */ /***/ (function(module, exports, __webpack_require__) { @@ -66989,7 +66844,7 @@ Emitter.prototype.hasListeners = function(event){ /***/ }), -/* 573 */ +/* 571 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67002,8 +66857,8 @@ Emitter.prototype.hasListeners = function(event){ -var visit = __webpack_require__(574); -var mapVisit = __webpack_require__(575); +var visit = __webpack_require__(572); +var mapVisit = __webpack_require__(573); module.exports = function(collection, method, val) { var result; @@ -67026,7 +66881,7 @@ module.exports = function(collection, method, val) { /***/ }), -/* 574 */ +/* 572 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67039,7 +66894,7 @@ module.exports = function(collection, method, val) { -var isObject = __webpack_require__(546); +var isObject = __webpack_require__(544); module.exports = function visit(thisArg, method, target, val) { if (!isObject(thisArg) && typeof thisArg !== 'function') { @@ -67066,14 +66921,14 @@ module.exports = function visit(thisArg, method, target, val) { /***/ }), -/* 575 */ +/* 573 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(111); -var visit = __webpack_require__(574); +var visit = __webpack_require__(572); /** * Map `visit` over an array of objects. @@ -67110,7 +66965,7 @@ function isObject(val) { /***/ }), -/* 576 */ +/* 574 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67123,7 +66978,7 @@ function isObject(val) { -var typeOf = __webpack_require__(551); +var typeOf = __webpack_require__(549); module.exports = function toPath(args) { if (typeOf(args) !== 'arguments') { @@ -67150,16 +67005,16 @@ function filter(arr) { /***/ }), -/* 577 */ +/* 575 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(538); -var union = __webpack_require__(578); -var get = __webpack_require__(579); -var set = __webpack_require__(580); +var isObject = __webpack_require__(536); +var union = __webpack_require__(576); +var get = __webpack_require__(577); +var set = __webpack_require__(578); module.exports = function unionValue(obj, prop, value) { if (!isObject(obj)) { @@ -67187,7 +67042,7 @@ function arrayify(val) { /***/ }), -/* 578 */ +/* 576 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67223,7 +67078,7 @@ module.exports = function union(init) { /***/ }), -/* 579 */ +/* 577 */ /***/ (function(module, exports) { /*! @@ -67279,7 +67134,7 @@ function toString(val) { /***/ }), -/* 580 */ +/* 578 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67292,10 +67147,10 @@ function toString(val) { -var split = __webpack_require__(542); -var extend = __webpack_require__(537); -var isPlainObject = __webpack_require__(545); -var isObject = __webpack_require__(538); +var split = __webpack_require__(540); +var extend = __webpack_require__(535); +var isPlainObject = __webpack_require__(543); +var isObject = __webpack_require__(536); module.exports = function(obj, prop, val) { if (!isObject(obj)) { @@ -67341,7 +67196,7 @@ function isValidKey(key) { /***/ }), -/* 581 */ +/* 579 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67354,8 +67209,8 @@ function isValidKey(key) { -var isObject = __webpack_require__(546); -var has = __webpack_require__(582); +var isObject = __webpack_require__(544); +var has = __webpack_require__(580); module.exports = function unset(obj, prop) { if (!isObject(obj)) { @@ -67380,7 +67235,7 @@ module.exports = function unset(obj, prop) { /***/ }), -/* 582 */ +/* 580 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67393,9 +67248,9 @@ module.exports = function unset(obj, prop) { -var isObject = __webpack_require__(583); -var hasValues = __webpack_require__(585); -var get = __webpack_require__(579); +var isObject = __webpack_require__(581); +var hasValues = __webpack_require__(583); +var get = __webpack_require__(577); module.exports = function(obj, prop, noZero) { if (isObject(obj)) { @@ -67406,7 +67261,7 @@ module.exports = function(obj, prop, noZero) { /***/ }), -/* 583 */ +/* 581 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67419,7 +67274,7 @@ module.exports = function(obj, prop, noZero) { -var isArray = __webpack_require__(584); +var isArray = __webpack_require__(582); module.exports = function isObject(val) { return val != null && typeof val === 'object' && isArray(val) === false; @@ -67427,7 +67282,7 @@ module.exports = function isObject(val) { /***/ }), -/* 584 */ +/* 582 */ /***/ (function(module, exports) { var toString = {}.toString; @@ -67438,7 +67293,7 @@ module.exports = Array.isArray || function (arr) { /***/ }), -/* 585 */ +/* 583 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67481,7 +67336,7 @@ module.exports = function hasValue(o, noZero) { /***/ }), -/* 586 */ +/* 584 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67494,9 +67349,9 @@ module.exports = function hasValue(o, noZero) { -var isObject = __webpack_require__(546); -var hasValues = __webpack_require__(587); -var get = __webpack_require__(579); +var isObject = __webpack_require__(544); +var hasValues = __webpack_require__(585); +var get = __webpack_require__(577); module.exports = function(val, prop) { return hasValues(isObject(val) && prop ? get(val, prop) : val); @@ -67504,7 +67359,7 @@ module.exports = function(val, prop) { /***/ }), -/* 587 */ +/* 585 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67517,8 +67372,8 @@ module.exports = function(val, prop) { -var typeOf = __webpack_require__(588); -var isNumber = __webpack_require__(550); +var typeOf = __webpack_require__(586); +var isNumber = __webpack_require__(548); module.exports = function hasValue(val) { // is-number checks for NaN and other edge cases @@ -67571,10 +67426,10 @@ module.exports = function hasValue(val) { /***/ }), -/* 588 */ +/* 586 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(531); +var isBuffer = __webpack_require__(529); var toString = Object.prototype.toString; /** @@ -67696,14 +67551,14 @@ module.exports = function kindOf(val) { /***/ }), -/* 589 */ +/* 587 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(590); -var forIn = __webpack_require__(591); +var isExtendable = __webpack_require__(588); +var forIn = __webpack_require__(589); function mixinDeep(target, objects) { var len = arguments.length, i = 0; @@ -67767,7 +67622,7 @@ module.exports = mixinDeep; /***/ }), -/* 590 */ +/* 588 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67780,7 +67635,7 @@ module.exports = mixinDeep; -var isPlainObject = __webpack_require__(545); +var isPlainObject = __webpack_require__(543); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -67788,7 +67643,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 591 */ +/* 589 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67811,7 +67666,7 @@ module.exports = function forIn(obj, fn, thisArg) { /***/ }), -/* 592 */ +/* 590 */ /***/ (function(module, exports) { /*! @@ -67838,14 +67693,14 @@ module.exports = pascalcase; /***/ }), -/* 593 */ +/* 591 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(111); -var utils = __webpack_require__(594); +var utils = __webpack_require__(592); /** * Expose class utils @@ -68210,7 +68065,7 @@ cu.bubble = function(Parent, events) { /***/ }), -/* 594 */ +/* 592 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68224,10 +68079,10 @@ var utils = {}; * Lazily required module dependencies */ -utils.union = __webpack_require__(578); -utils.define = __webpack_require__(595); -utils.isObj = __webpack_require__(546); -utils.staticExtend = __webpack_require__(602); +utils.union = __webpack_require__(576); +utils.define = __webpack_require__(593); +utils.isObj = __webpack_require__(544); +utils.staticExtend = __webpack_require__(600); /** @@ -68238,7 +68093,7 @@ module.exports = utils; /***/ }), -/* 595 */ +/* 593 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68251,7 +68106,7 @@ module.exports = utils; -var isDescriptor = __webpack_require__(596); +var isDescriptor = __webpack_require__(594); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -68276,7 +68131,7 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 596 */ +/* 594 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68289,9 +68144,9 @@ module.exports = function defineProperty(obj, prop, val) { -var typeOf = __webpack_require__(597); -var isAccessor = __webpack_require__(598); -var isData = __webpack_require__(600); +var typeOf = __webpack_require__(595); +var isAccessor = __webpack_require__(596); +var isData = __webpack_require__(598); module.exports = function isDescriptor(obj, key) { if (typeOf(obj) !== 'object') { @@ -68305,7 +68160,7 @@ module.exports = function isDescriptor(obj, key) { /***/ }), -/* 597 */ +/* 595 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -68458,7 +68313,7 @@ function isBuffer(val) { /***/ }), -/* 598 */ +/* 596 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68471,7 +68326,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(599); +var typeOf = __webpack_require__(597); // accessor descriptor properties var accessor = { @@ -68534,10 +68389,10 @@ module.exports = isAccessorDescriptor; /***/ }), -/* 599 */ +/* 597 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(531); +var isBuffer = __webpack_require__(529); var toString = Object.prototype.toString; /** @@ -68656,7 +68511,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 600 */ +/* 598 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68669,7 +68524,7 @@ module.exports = function kindOf(val) { -var typeOf = __webpack_require__(601); +var typeOf = __webpack_require__(599); // data descriptor properties var data = { @@ -68718,10 +68573,10 @@ module.exports = isDataDescriptor; /***/ }), -/* 601 */ +/* 599 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(531); +var isBuffer = __webpack_require__(529); var toString = Object.prototype.toString; /** @@ -68840,7 +68695,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 602 */ +/* 600 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68853,8 +68708,8 @@ module.exports = function kindOf(val) { -var copy = __webpack_require__(603); -var define = __webpack_require__(595); +var copy = __webpack_require__(601); +var define = __webpack_require__(593); var util = __webpack_require__(111); /** @@ -68937,15 +68792,15 @@ module.exports = extend; /***/ }), -/* 603 */ +/* 601 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var typeOf = __webpack_require__(551); -var copyDescriptor = __webpack_require__(604); -var define = __webpack_require__(595); +var typeOf = __webpack_require__(549); +var copyDescriptor = __webpack_require__(602); +var define = __webpack_require__(593); /** * Copy static properties, prototype properties, and descriptors from one object to another. @@ -69118,7 +68973,7 @@ module.exports.has = has; /***/ }), -/* 604 */ +/* 602 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -69206,16 +69061,16 @@ function isObject(val) { /***/ }), -/* 605 */ +/* 603 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var use = __webpack_require__(606); -var define = __webpack_require__(595); -var debug = __webpack_require__(608)('snapdragon:compiler'); -var utils = __webpack_require__(614); +var use = __webpack_require__(604); +var define = __webpack_require__(593); +var debug = __webpack_require__(606)('snapdragon:compiler'); +var utils = __webpack_require__(612); /** * Create a new `Compiler` with the given `options`. @@ -69369,7 +69224,7 @@ Compiler.prototype = { // source map support if (opts.sourcemap) { - var sourcemaps = __webpack_require__(633); + var sourcemaps = __webpack_require__(631); sourcemaps(this); this.mapVisit(this.ast.nodes); this.applySourceMaps(); @@ -69390,7 +69245,7 @@ module.exports = Compiler; /***/ }), -/* 606 */ +/* 604 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -69403,7 +69258,7 @@ module.exports = Compiler; -var utils = __webpack_require__(607); +var utils = __webpack_require__(605); module.exports = function base(app, opts) { if (!utils.isObject(app) && typeof app !== 'function') { @@ -69518,7 +69373,7 @@ module.exports = function base(app, opts) { /***/ }), -/* 607 */ +/* 605 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -69532,8 +69387,8 @@ var utils = {}; * Lazily required module dependencies */ -utils.define = __webpack_require__(595); -utils.isObject = __webpack_require__(546); +utils.define = __webpack_require__(593); +utils.isObject = __webpack_require__(544); utils.isString = function(val) { @@ -69548,7 +69403,7 @@ module.exports = utils; /***/ }), -/* 608 */ +/* 606 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -69557,14 +69412,14 @@ module.exports = utils; */ if (typeof process !== 'undefined' && process.type === 'renderer') { - module.exports = __webpack_require__(609); + module.exports = __webpack_require__(607); } else { - module.exports = __webpack_require__(612); + module.exports = __webpack_require__(610); } /***/ }), -/* 609 */ +/* 607 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -69573,7 +69428,7 @@ if (typeof process !== 'undefined' && process.type === 'renderer') { * Expose `debug()` as the module. */ -exports = module.exports = __webpack_require__(610); +exports = module.exports = __webpack_require__(608); exports.log = log; exports.formatArgs = formatArgs; exports.save = save; @@ -69755,7 +69610,7 @@ function localstorage() { /***/ }), -/* 610 */ +/* 608 */ /***/ (function(module, exports, __webpack_require__) { @@ -69771,7 +69626,7 @@ exports.coerce = coerce; exports.disable = disable; exports.enable = enable; exports.enabled = enabled; -exports.humanize = __webpack_require__(611); +exports.humanize = __webpack_require__(609); /** * The currently active debug mode names, and names to skip. @@ -69963,7 +69818,7 @@ function coerce(val) { /***/ }), -/* 611 */ +/* 609 */ /***/ (function(module, exports) { /** @@ -70121,7 +69976,7 @@ function plural(ms, n, name) { /***/ }), -/* 612 */ +/* 610 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -70137,7 +69992,7 @@ var util = __webpack_require__(111); * Expose `debug()` as the module. */ -exports = module.exports = __webpack_require__(610); +exports = module.exports = __webpack_require__(608); exports.init = init; exports.log = log; exports.formatArgs = formatArgs; @@ -70316,7 +70171,7 @@ function createWritableStdioStream (fd) { case 'PIPE': case 'TCP': - var net = __webpack_require__(613); + var net = __webpack_require__(611); stream = new net.Socket({ fd: fd, readable: false, @@ -70375,13 +70230,13 @@ exports.enable(load()); /***/ }), -/* 613 */ +/* 611 */ /***/ (function(module, exports) { module.exports = require("net"); /***/ }), -/* 614 */ +/* 612 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -70391,9 +70246,9 @@ module.exports = require("net"); * Module dependencies */ -exports.extend = __webpack_require__(537); -exports.SourceMap = __webpack_require__(615); -exports.sourceMapResolve = __webpack_require__(626); +exports.extend = __webpack_require__(535); +exports.SourceMap = __webpack_require__(613); +exports.sourceMapResolve = __webpack_require__(624); /** * Convert backslash in the given string to forward slashes @@ -70436,7 +70291,7 @@ exports.last = function(arr, n) { /***/ }), -/* 615 */ +/* 613 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -70444,13 +70299,13 @@ exports.last = function(arr, n) { * Licensed under the New BSD license. See LICENSE.txt or: * http://opensource.org/licenses/BSD-3-Clause */ -exports.SourceMapGenerator = __webpack_require__(616).SourceMapGenerator; -exports.SourceMapConsumer = __webpack_require__(622).SourceMapConsumer; -exports.SourceNode = __webpack_require__(625).SourceNode; +exports.SourceMapGenerator = __webpack_require__(614).SourceMapGenerator; +exports.SourceMapConsumer = __webpack_require__(620).SourceMapConsumer; +exports.SourceNode = __webpack_require__(623).SourceNode; /***/ }), -/* 616 */ +/* 614 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -70460,10 +70315,10 @@ exports.SourceNode = __webpack_require__(625).SourceNode; * http://opensource.org/licenses/BSD-3-Clause */ -var base64VLQ = __webpack_require__(617); -var util = __webpack_require__(619); -var ArraySet = __webpack_require__(620).ArraySet; -var MappingList = __webpack_require__(621).MappingList; +var base64VLQ = __webpack_require__(615); +var util = __webpack_require__(617); +var ArraySet = __webpack_require__(618).ArraySet; +var MappingList = __webpack_require__(619).MappingList; /** * An instance of the SourceMapGenerator represents a source map which is @@ -70872,7 +70727,7 @@ exports.SourceMapGenerator = SourceMapGenerator; /***/ }), -/* 617 */ +/* 615 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -70912,7 +70767,7 @@ exports.SourceMapGenerator = SourceMapGenerator; * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -var base64 = __webpack_require__(618); +var base64 = __webpack_require__(616); // A single base 64 digit can contain 6 bits of data. For the base 64 variable // length quantities we use in the source map spec, the first bit is the sign, @@ -71018,7 +70873,7 @@ exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { /***/ }), -/* 618 */ +/* 616 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -71091,7 +70946,7 @@ exports.decode = function (charCode) { /***/ }), -/* 619 */ +/* 617 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -71514,7 +71369,7 @@ exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflate /***/ }), -/* 620 */ +/* 618 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -71524,7 +71379,7 @@ exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflate * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(619); +var util = __webpack_require__(617); var has = Object.prototype.hasOwnProperty; var hasNativeMap = typeof Map !== "undefined"; @@ -71641,7 +71496,7 @@ exports.ArraySet = ArraySet; /***/ }), -/* 621 */ +/* 619 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -71651,7 +71506,7 @@ exports.ArraySet = ArraySet; * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(619); +var util = __webpack_require__(617); /** * Determine whether mappingB is after mappingA with respect to generated @@ -71726,7 +71581,7 @@ exports.MappingList = MappingList; /***/ }), -/* 622 */ +/* 620 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -71736,11 +71591,11 @@ exports.MappingList = MappingList; * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(619); -var binarySearch = __webpack_require__(623); -var ArraySet = __webpack_require__(620).ArraySet; -var base64VLQ = __webpack_require__(617); -var quickSort = __webpack_require__(624).quickSort; +var util = __webpack_require__(617); +var binarySearch = __webpack_require__(621); +var ArraySet = __webpack_require__(618).ArraySet; +var base64VLQ = __webpack_require__(615); +var quickSort = __webpack_require__(622).quickSort; function SourceMapConsumer(aSourceMap) { var sourceMap = aSourceMap; @@ -72814,7 +72669,7 @@ exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; /***/ }), -/* 623 */ +/* 621 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -72931,7 +72786,7 @@ exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { /***/ }), -/* 624 */ +/* 622 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -73051,7 +72906,7 @@ exports.quickSort = function (ary, comparator) { /***/ }), -/* 625 */ +/* 623 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -73061,8 +72916,8 @@ exports.quickSort = function (ary, comparator) { * http://opensource.org/licenses/BSD-3-Clause */ -var SourceMapGenerator = __webpack_require__(616).SourceMapGenerator; -var util = __webpack_require__(619); +var SourceMapGenerator = __webpack_require__(614).SourceMapGenerator; +var util = __webpack_require__(617); // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other // operating systems these days (capturing the result). @@ -73470,17 +73325,17 @@ exports.SourceNode = SourceNode; /***/ }), -/* 626 */ +/* 624 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014, 2015, 2016, 2017 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var sourceMappingURL = __webpack_require__(627) -var resolveUrl = __webpack_require__(628) -var decodeUriComponent = __webpack_require__(629) -var urix = __webpack_require__(631) -var atob = __webpack_require__(632) +var sourceMappingURL = __webpack_require__(625) +var resolveUrl = __webpack_require__(626) +var decodeUriComponent = __webpack_require__(627) +var urix = __webpack_require__(629) +var atob = __webpack_require__(630) @@ -73778,7 +73633,7 @@ module.exports = { /***/ }), -/* 627 */ +/* 625 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;// Copyright 2014 Simon Lydell @@ -73841,7 +73696,7 @@ void (function(root, factory) { /***/ }), -/* 628 */ +/* 626 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014 Simon Lydell @@ -73859,13 +73714,13 @@ module.exports = resolveUrl /***/ }), -/* 629 */ +/* 627 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2017 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var decodeUriComponent = __webpack_require__(630) +var decodeUriComponent = __webpack_require__(628) function customDecodeUriComponent(string) { // `decodeUriComponent` turns `+` into ` `, but that's not wanted. @@ -73876,7 +73731,7 @@ module.exports = customDecodeUriComponent /***/ }), -/* 630 */ +/* 628 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73977,7 +73832,7 @@ module.exports = function (encodedURI) { /***/ }), -/* 631 */ +/* 629 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014 Simon Lydell @@ -74000,7 +73855,7 @@ module.exports = urix /***/ }), -/* 632 */ +/* 630 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -74014,7 +73869,7 @@ module.exports = atob.atob = atob; /***/ }), -/* 633 */ +/* 631 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -74022,8 +73877,8 @@ module.exports = atob.atob = atob; var fs = __webpack_require__(133); var path = __webpack_require__(4); -var define = __webpack_require__(595); -var utils = __webpack_require__(614); +var define = __webpack_require__(593); +var utils = __webpack_require__(612); /** * Expose `mixin()`. @@ -74166,19 +74021,19 @@ exports.comment = function(node) { /***/ }), -/* 634 */ +/* 632 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var use = __webpack_require__(606); +var use = __webpack_require__(604); var util = __webpack_require__(111); -var Cache = __webpack_require__(635); -var define = __webpack_require__(595); -var debug = __webpack_require__(608)('snapdragon:parser'); -var Position = __webpack_require__(636); -var utils = __webpack_require__(614); +var Cache = __webpack_require__(633); +var define = __webpack_require__(593); +var debug = __webpack_require__(606)('snapdragon:parser'); +var Position = __webpack_require__(634); +var utils = __webpack_require__(612); /** * Create a new `Parser` with the given `input` and `options`. @@ -74706,7 +74561,7 @@ module.exports = Parser; /***/ }), -/* 635 */ +/* 633 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -74813,13 +74668,13 @@ MapCache.prototype.del = function mapDelete(key) { /***/ }), -/* 636 */ +/* 634 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var define = __webpack_require__(595); +var define = __webpack_require__(593); /** * Store position for a node @@ -74834,16 +74689,16 @@ module.exports = function Position(start, parser) { /***/ }), -/* 637 */ +/* 635 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var safe = __webpack_require__(638); -var define = __webpack_require__(644); -var extend = __webpack_require__(645); -var not = __webpack_require__(647); +var safe = __webpack_require__(636); +var define = __webpack_require__(642); +var extend = __webpack_require__(643); +var not = __webpack_require__(645); var MAX_LENGTH = 1024 * 64; /** @@ -74996,10 +74851,10 @@ module.exports.makeRe = makeRe; /***/ }), -/* 638 */ +/* 636 */ /***/ (function(module, exports, __webpack_require__) { -var parse = __webpack_require__(639); +var parse = __webpack_require__(637); var types = parse.types; module.exports = function (re, opts) { @@ -75045,13 +74900,13 @@ function isRegExp (x) { /***/ }), -/* 639 */ +/* 637 */ /***/ (function(module, exports, __webpack_require__) { -var util = __webpack_require__(640); -var types = __webpack_require__(641); -var sets = __webpack_require__(642); -var positions = __webpack_require__(643); +var util = __webpack_require__(638); +var types = __webpack_require__(639); +var sets = __webpack_require__(640); +var positions = __webpack_require__(641); module.exports = function(regexpStr) { @@ -75333,11 +75188,11 @@ module.exports.types = types; /***/ }), -/* 640 */ +/* 638 */ /***/ (function(module, exports, __webpack_require__) { -var types = __webpack_require__(641); -var sets = __webpack_require__(642); +var types = __webpack_require__(639); +var sets = __webpack_require__(640); // All of these are private and only used by randexp. @@ -75450,7 +75305,7 @@ exports.error = function(regexp, msg) { /***/ }), -/* 641 */ +/* 639 */ /***/ (function(module, exports) { module.exports = { @@ -75466,10 +75321,10 @@ module.exports = { /***/ }), -/* 642 */ +/* 640 */ /***/ (function(module, exports, __webpack_require__) { -var types = __webpack_require__(641); +var types = __webpack_require__(639); var INTS = function() { return [{ type: types.RANGE , from: 48, to: 57 }]; @@ -75554,10 +75409,10 @@ exports.anyChar = function() { /***/ }), -/* 643 */ +/* 641 */ /***/ (function(module, exports, __webpack_require__) { -var types = __webpack_require__(641); +var types = __webpack_require__(639); exports.wordBoundary = function() { return { type: types.POSITION, value: 'b' }; @@ -75577,7 +75432,7 @@ exports.end = function() { /***/ }), -/* 644 */ +/* 642 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -75590,8 +75445,8 @@ exports.end = function() { -var isobject = __webpack_require__(546); -var isDescriptor = __webpack_require__(560); +var isobject = __webpack_require__(544); +var isDescriptor = __webpack_require__(558); var define = (typeof Reflect !== 'undefined' && Reflect.defineProperty) ? Reflect.defineProperty : Object.defineProperty; @@ -75622,14 +75477,14 @@ module.exports = function defineProperty(obj, key, val) { /***/ }), -/* 645 */ +/* 643 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(646); -var assignSymbols = __webpack_require__(547); +var isExtendable = __webpack_require__(644); +var assignSymbols = __webpack_require__(545); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -75689,7 +75544,7 @@ function isEnum(obj, key) { /***/ }), -/* 646 */ +/* 644 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -75702,7 +75557,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(545); +var isPlainObject = __webpack_require__(543); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -75710,14 +75565,14 @@ module.exports = function isExtendable(val) { /***/ }), -/* 647 */ +/* 645 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extend = __webpack_require__(645); -var safe = __webpack_require__(638); +var extend = __webpack_require__(643); +var safe = __webpack_require__(636); /** * The main export is a function that takes a `pattern` string and an `options` object. @@ -75789,14 +75644,14 @@ module.exports = toRegex; /***/ }), -/* 648 */ +/* 646 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var nanomatch = __webpack_require__(649); -var extglob = __webpack_require__(665); +var nanomatch = __webpack_require__(647); +var extglob = __webpack_require__(663); module.exports = function(snapdragon) { var compilers = snapdragon.compiler.compilers; @@ -75873,7 +75728,7 @@ function escapeExtglobs(compiler) { /***/ }), -/* 649 */ +/* 647 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -75884,17 +75739,17 @@ function escapeExtglobs(compiler) { */ var util = __webpack_require__(111); -var toRegex = __webpack_require__(650); -var extend = __webpack_require__(651); +var toRegex = __webpack_require__(648); +var extend = __webpack_require__(649); /** * Local dependencies */ -var compilers = __webpack_require__(653); -var parsers = __webpack_require__(654); -var cache = __webpack_require__(657); -var utils = __webpack_require__(659); +var compilers = __webpack_require__(651); +var parsers = __webpack_require__(652); +var cache = __webpack_require__(655); +var utils = __webpack_require__(657); var MAX_LENGTH = 1024 * 64; /** @@ -76718,15 +76573,15 @@ module.exports = nanomatch; /***/ }), -/* 650 */ +/* 648 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var define = __webpack_require__(595); -var extend = __webpack_require__(537); -var not = __webpack_require__(536); +var define = __webpack_require__(593); +var extend = __webpack_require__(535); +var not = __webpack_require__(534); var MAX_LENGTH = 1024 * 64; /** @@ -76873,14 +76728,14 @@ module.exports.makeRe = makeRe; /***/ }), -/* 651 */ +/* 649 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(652); -var assignSymbols = __webpack_require__(547); +var isExtendable = __webpack_require__(650); +var assignSymbols = __webpack_require__(545); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -76940,7 +76795,7 @@ function isEnum(obj, key) { /***/ }), -/* 652 */ +/* 650 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -76953,7 +76808,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(545); +var isPlainObject = __webpack_require__(543); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -76961,7 +76816,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 653 */ +/* 651 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -77307,15 +77162,15 @@ module.exports = function(nanomatch, options) { /***/ }), -/* 654 */ +/* 652 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var regexNot = __webpack_require__(536); -var toRegex = __webpack_require__(650); -var isOdd = __webpack_require__(655); +var regexNot = __webpack_require__(534); +var toRegex = __webpack_require__(648); +var isOdd = __webpack_require__(653); /** * Characters to use in negation regex (we want to "not" match @@ -77701,7 +77556,7 @@ module.exports.not = NOT_REGEX; /***/ }), -/* 655 */ +/* 653 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -77714,7 +77569,7 @@ module.exports.not = NOT_REGEX; -var isNumber = __webpack_require__(656); +var isNumber = __webpack_require__(654); module.exports = function isOdd(i) { if (!isNumber(i)) { @@ -77728,7 +77583,7 @@ module.exports = function isOdd(i) { /***/ }), -/* 656 */ +/* 654 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -77756,14 +77611,14 @@ module.exports = function isNumber(num) { /***/ }), -/* 657 */ +/* 655 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = new (__webpack_require__(658))(); +module.exports = new (__webpack_require__(656))(); /***/ }), -/* 658 */ +/* 656 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -77776,7 +77631,7 @@ module.exports = new (__webpack_require__(658))(); -var MapCache = __webpack_require__(635); +var MapCache = __webpack_require__(633); /** * Create a new `FragmentCache` with an optional object to use for `caches`. @@ -77898,7 +77753,7 @@ exports = module.exports = FragmentCache; /***/ }), -/* 659 */ +/* 657 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -77911,14 +77766,14 @@ var path = __webpack_require__(4); * Module dependencies */ -var isWindows = __webpack_require__(660)(); -var Snapdragon = __webpack_require__(568); -utils.define = __webpack_require__(661); -utils.diff = __webpack_require__(662); -utils.extend = __webpack_require__(651); -utils.pick = __webpack_require__(663); -utils.typeOf = __webpack_require__(664); -utils.unique = __webpack_require__(539); +var isWindows = __webpack_require__(658)(); +var Snapdragon = __webpack_require__(566); +utils.define = __webpack_require__(659); +utils.diff = __webpack_require__(660); +utils.extend = __webpack_require__(649); +utils.pick = __webpack_require__(661); +utils.typeOf = __webpack_require__(662); +utils.unique = __webpack_require__(537); /** * Returns true if the given value is effectively an empty string @@ -78284,7 +78139,7 @@ utils.unixify = function(options) { /***/ }), -/* 660 */ +/* 658 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! @@ -78312,7 +78167,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 661 */ +/* 659 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -78325,8 +78180,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ -var isobject = __webpack_require__(546); -var isDescriptor = __webpack_require__(560); +var isobject = __webpack_require__(544); +var isDescriptor = __webpack_require__(558); var define = (typeof Reflect !== 'undefined' && Reflect.defineProperty) ? Reflect.defineProperty : Object.defineProperty; @@ -78357,7 +78212,7 @@ module.exports = function defineProperty(obj, key, val) { /***/ }), -/* 662 */ +/* 660 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -78411,7 +78266,7 @@ function diffArray(one, two) { /***/ }), -/* 663 */ +/* 661 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -78424,7 +78279,7 @@ function diffArray(one, two) { -var isObject = __webpack_require__(546); +var isObject = __webpack_require__(544); module.exports = function pick(obj, keys) { if (!isObject(obj) && typeof obj !== 'function') { @@ -78453,7 +78308,7 @@ module.exports = function pick(obj, keys) { /***/ }), -/* 664 */ +/* 662 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -78588,7 +78443,7 @@ function isBuffer(val) { /***/ }), -/* 665 */ +/* 663 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -78598,18 +78453,18 @@ function isBuffer(val) { * Module dependencies */ -var extend = __webpack_require__(537); -var unique = __webpack_require__(539); -var toRegex = __webpack_require__(650); +var extend = __webpack_require__(535); +var unique = __webpack_require__(537); +var toRegex = __webpack_require__(648); /** * Local dependencies */ -var compilers = __webpack_require__(666); -var parsers = __webpack_require__(677); -var Extglob = __webpack_require__(680); -var utils = __webpack_require__(679); +var compilers = __webpack_require__(664); +var parsers = __webpack_require__(675); +var Extglob = __webpack_require__(678); +var utils = __webpack_require__(677); var MAX_LENGTH = 1024 * 64; /** @@ -78926,13 +78781,13 @@ module.exports = extglob; /***/ }), -/* 666 */ +/* 664 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var brackets = __webpack_require__(667); +var brackets = __webpack_require__(665); /** * Extglob compilers @@ -79102,7 +78957,7 @@ module.exports = function(extglob) { /***/ }), -/* 667 */ +/* 665 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -79112,17 +78967,17 @@ module.exports = function(extglob) { * Local dependencies */ -var compilers = __webpack_require__(668); -var parsers = __webpack_require__(670); +var compilers = __webpack_require__(666); +var parsers = __webpack_require__(668); /** * Module dependencies */ -var debug = __webpack_require__(672)('expand-brackets'); -var extend = __webpack_require__(537); -var Snapdragon = __webpack_require__(568); -var toRegex = __webpack_require__(650); +var debug = __webpack_require__(670)('expand-brackets'); +var extend = __webpack_require__(535); +var Snapdragon = __webpack_require__(566); +var toRegex = __webpack_require__(648); /** * Parses the given POSIX character class `pattern` and returns a @@ -79320,13 +79175,13 @@ module.exports = brackets; /***/ }), -/* 668 */ +/* 666 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var posix = __webpack_require__(669); +var posix = __webpack_require__(667); module.exports = function(brackets) { brackets.compiler @@ -79414,7 +79269,7 @@ module.exports = function(brackets) { /***/ }), -/* 669 */ +/* 667 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -79443,14 +79298,14 @@ module.exports = { /***/ }), -/* 670 */ +/* 668 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(671); -var define = __webpack_require__(595); +var utils = __webpack_require__(669); +var define = __webpack_require__(593); /** * Text regex @@ -79669,14 +79524,14 @@ module.exports.TEXT_REGEX = TEXT_REGEX; /***/ }), -/* 671 */ +/* 669 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var toRegex = __webpack_require__(650); -var regexNot = __webpack_require__(536); +var toRegex = __webpack_require__(648); +var regexNot = __webpack_require__(534); var cached; /** @@ -79710,7 +79565,7 @@ exports.createRegex = function(pattern, include) { /***/ }), -/* 672 */ +/* 670 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -79719,14 +79574,14 @@ exports.createRegex = function(pattern, include) { */ if (typeof process !== 'undefined' && process.type === 'renderer') { - module.exports = __webpack_require__(673); + module.exports = __webpack_require__(671); } else { - module.exports = __webpack_require__(676); + module.exports = __webpack_require__(674); } /***/ }), -/* 673 */ +/* 671 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -79735,7 +79590,7 @@ if (typeof process !== 'undefined' && process.type === 'renderer') { * Expose `debug()` as the module. */ -exports = module.exports = __webpack_require__(674); +exports = module.exports = __webpack_require__(672); exports.log = log; exports.formatArgs = formatArgs; exports.save = save; @@ -79917,7 +79772,7 @@ function localstorage() { /***/ }), -/* 674 */ +/* 672 */ /***/ (function(module, exports, __webpack_require__) { @@ -79933,7 +79788,7 @@ exports.coerce = coerce; exports.disable = disable; exports.enable = enable; exports.enabled = enabled; -exports.humanize = __webpack_require__(675); +exports.humanize = __webpack_require__(673); /** * The currently active debug mode names, and names to skip. @@ -80125,7 +79980,7 @@ function coerce(val) { /***/ }), -/* 675 */ +/* 673 */ /***/ (function(module, exports) { /** @@ -80283,7 +80138,7 @@ function plural(ms, n, name) { /***/ }), -/* 676 */ +/* 674 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -80299,7 +80154,7 @@ var util = __webpack_require__(111); * Expose `debug()` as the module. */ -exports = module.exports = __webpack_require__(674); +exports = module.exports = __webpack_require__(672); exports.init = init; exports.log = log; exports.formatArgs = formatArgs; @@ -80478,7 +80333,7 @@ function createWritableStdioStream (fd) { case 'PIPE': case 'TCP': - var net = __webpack_require__(613); + var net = __webpack_require__(611); stream = new net.Socket({ fd: fd, readable: false, @@ -80537,15 +80392,15 @@ exports.enable(load()); /***/ }), -/* 677 */ +/* 675 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var brackets = __webpack_require__(667); -var define = __webpack_require__(678); -var utils = __webpack_require__(679); +var brackets = __webpack_require__(665); +var define = __webpack_require__(676); +var utils = __webpack_require__(677); /** * Characters to use in text regex (we want to "not" match @@ -80700,7 +80555,7 @@ module.exports = parsers; /***/ }), -/* 678 */ +/* 676 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -80713,7 +80568,7 @@ module.exports = parsers; -var isDescriptor = __webpack_require__(560); +var isDescriptor = __webpack_require__(558); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -80738,14 +80593,14 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 679 */ +/* 677 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var regex = __webpack_require__(536); -var Cache = __webpack_require__(658); +var regex = __webpack_require__(534); +var Cache = __webpack_require__(656); /** * Utils @@ -80814,7 +80669,7 @@ utils.createRegex = function(str) { /***/ }), -/* 680 */ +/* 678 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -80824,16 +80679,16 @@ utils.createRegex = function(str) { * Module dependencies */ -var Snapdragon = __webpack_require__(568); -var define = __webpack_require__(678); -var extend = __webpack_require__(537); +var Snapdragon = __webpack_require__(566); +var define = __webpack_require__(676); +var extend = __webpack_require__(535); /** * Local dependencies */ -var compilers = __webpack_require__(666); -var parsers = __webpack_require__(677); +var compilers = __webpack_require__(664); +var parsers = __webpack_require__(675); /** * Customize Snapdragon parser and renderer @@ -80899,16 +80754,16 @@ module.exports = Extglob; /***/ }), -/* 681 */ +/* 679 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extglob = __webpack_require__(665); -var nanomatch = __webpack_require__(649); -var regexNot = __webpack_require__(536); -var toRegex = __webpack_require__(637); +var extglob = __webpack_require__(663); +var nanomatch = __webpack_require__(647); +var regexNot = __webpack_require__(534); +var toRegex = __webpack_require__(635); var not; /** @@ -80989,14 +80844,14 @@ function textRegex(pattern) { /***/ }), -/* 682 */ +/* 680 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = new (__webpack_require__(658))(); +module.exports = new (__webpack_require__(656))(); /***/ }), -/* 683 */ +/* 681 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81009,13 +80864,13 @@ var path = __webpack_require__(4); * Module dependencies */ -var Snapdragon = __webpack_require__(568); -utils.define = __webpack_require__(644); -utils.diff = __webpack_require__(662); -utils.extend = __webpack_require__(645); -utils.pick = __webpack_require__(663); -utils.typeOf = __webpack_require__(684); -utils.unique = __webpack_require__(539); +var Snapdragon = __webpack_require__(566); +utils.define = __webpack_require__(642); +utils.diff = __webpack_require__(660); +utils.extend = __webpack_require__(643); +utils.pick = __webpack_require__(661); +utils.typeOf = __webpack_require__(682); +utils.unique = __webpack_require__(537); /** * Returns true if the platform is windows, or `path.sep` is `\\`. @@ -81312,7 +81167,7 @@ utils.unixify = function(options) { /***/ }), -/* 684 */ +/* 682 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -81447,7 +81302,7 @@ function isBuffer(val) { /***/ }), -/* 685 */ +/* 683 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81466,9 +81321,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var readdir = __webpack_require__(686); -var reader_1 = __webpack_require__(699); -var fs_stream_1 = __webpack_require__(703); +var readdir = __webpack_require__(684); +var reader_1 = __webpack_require__(697); +var fs_stream_1 = __webpack_require__(701); var ReaderAsync = /** @class */ (function (_super) { __extends(ReaderAsync, _super); function ReaderAsync() { @@ -81529,15 +81384,15 @@ exports.default = ReaderAsync; /***/ }), -/* 686 */ +/* 684 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const readdirSync = __webpack_require__(687); -const readdirAsync = __webpack_require__(695); -const readdirStream = __webpack_require__(698); +const readdirSync = __webpack_require__(685); +const readdirAsync = __webpack_require__(693); +const readdirStream = __webpack_require__(696); module.exports = exports = readdirAsyncPath; exports.readdir = exports.readdirAsync = exports.async = readdirAsyncPath; @@ -81621,7 +81476,7 @@ function readdirStreamStat (dir, options) { /***/ }), -/* 687 */ +/* 685 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81629,11 +81484,11 @@ function readdirStreamStat (dir, options) { module.exports = readdirSync; -const DirectoryReader = __webpack_require__(688); +const DirectoryReader = __webpack_require__(686); let syncFacade = { - fs: __webpack_require__(693), - forEach: __webpack_require__(694), + fs: __webpack_require__(691), + forEach: __webpack_require__(692), sync: true }; @@ -81662,7 +81517,7 @@ function readdirSync (dir, options, internalOptions) { /***/ }), -/* 688 */ +/* 686 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81671,9 +81526,9 @@ function readdirSync (dir, options, internalOptions) { const Readable = __webpack_require__(137).Readable; const EventEmitter = __webpack_require__(155).EventEmitter; const path = __webpack_require__(4); -const normalizeOptions = __webpack_require__(689); -const stat = __webpack_require__(691); -const call = __webpack_require__(692); +const normalizeOptions = __webpack_require__(687); +const stat = __webpack_require__(689); +const call = __webpack_require__(690); /** * Asynchronously reads the contents of a directory and streams the results @@ -82049,14 +81904,14 @@ module.exports = DirectoryReader; /***/ }), -/* 689 */ +/* 687 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const globToRegExp = __webpack_require__(690); +const globToRegExp = __webpack_require__(688); module.exports = normalizeOptions; @@ -82233,7 +82088,7 @@ function normalizeOptions (options, internalOptions) { /***/ }), -/* 690 */ +/* 688 */ /***/ (function(module, exports) { module.exports = function (glob, opts) { @@ -82370,13 +82225,13 @@ module.exports = function (glob, opts) { /***/ }), -/* 691 */ +/* 689 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const call = __webpack_require__(692); +const call = __webpack_require__(690); module.exports = stat; @@ -82451,7 +82306,7 @@ function symlinkStat (fs, path, lstats, callback) { /***/ }), -/* 692 */ +/* 690 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82512,14 +82367,14 @@ function callOnce (fn) { /***/ }), -/* 693 */ +/* 691 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(133); -const call = __webpack_require__(692); +const call = __webpack_require__(690); /** * A facade around {@link fs.readdirSync} that allows it to be called @@ -82583,7 +82438,7 @@ exports.lstat = function (path, callback) { /***/ }), -/* 694 */ +/* 692 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82612,7 +82467,7 @@ function syncForEach (array, iterator, done) { /***/ }), -/* 695 */ +/* 693 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82620,12 +82475,12 @@ function syncForEach (array, iterator, done) { module.exports = readdirAsync; -const maybe = __webpack_require__(696); -const DirectoryReader = __webpack_require__(688); +const maybe = __webpack_require__(694); +const DirectoryReader = __webpack_require__(686); let asyncFacade = { fs: __webpack_require__(133), - forEach: __webpack_require__(697), + forEach: __webpack_require__(695), async: true }; @@ -82667,7 +82522,7 @@ function readdirAsync (dir, options, callback, internalOptions) { /***/ }), -/* 696 */ +/* 694 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82694,7 +82549,7 @@ module.exports = function maybe (cb, promise) { /***/ }), -/* 697 */ +/* 695 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82730,7 +82585,7 @@ function asyncForEach (array, iterator, done) { /***/ }), -/* 698 */ +/* 696 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82738,11 +82593,11 @@ function asyncForEach (array, iterator, done) { module.exports = readdirStream; -const DirectoryReader = __webpack_require__(688); +const DirectoryReader = __webpack_require__(686); let streamFacade = { fs: __webpack_require__(133), - forEach: __webpack_require__(697), + forEach: __webpack_require__(695), async: true }; @@ -82762,16 +82617,16 @@ function readdirStream (dir, options, internalOptions) { /***/ }), -/* 699 */ +/* 697 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = __webpack_require__(4); -var deep_1 = __webpack_require__(700); -var entry_1 = __webpack_require__(702); -var pathUtil = __webpack_require__(701); +var deep_1 = __webpack_require__(698); +var entry_1 = __webpack_require__(700); +var pathUtil = __webpack_require__(699); var Reader = /** @class */ (function () { function Reader(options) { this.options = options; @@ -82837,14 +82692,14 @@ exports.default = Reader; /***/ }), -/* 700 */ +/* 698 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var pathUtils = __webpack_require__(701); -var patternUtils = __webpack_require__(518); +var pathUtils = __webpack_require__(699); +var patternUtils = __webpack_require__(516); var DeepFilter = /** @class */ (function () { function DeepFilter(options, micromatchOptions) { this.options = options; @@ -82927,7 +82782,7 @@ exports.default = DeepFilter; /***/ }), -/* 701 */ +/* 699 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82958,14 +82813,14 @@ exports.makeAbsolute = makeAbsolute; /***/ }), -/* 702 */ +/* 700 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var pathUtils = __webpack_require__(701); -var patternUtils = __webpack_require__(518); +var pathUtils = __webpack_require__(699); +var patternUtils = __webpack_require__(516); var EntryFilter = /** @class */ (function () { function EntryFilter(options, micromatchOptions) { this.options = options; @@ -83050,7 +82905,7 @@ exports.default = EntryFilter; /***/ }), -/* 703 */ +/* 701 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83070,8 +82925,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var stream = __webpack_require__(137); -var fsStat = __webpack_require__(704); -var fs_1 = __webpack_require__(708); +var fsStat = __webpack_require__(702); +var fs_1 = __webpack_require__(706); var FileSystemStream = /** @class */ (function (_super) { __extends(FileSystemStream, _super); function FileSystemStream() { @@ -83121,14 +82976,14 @@ exports.default = FileSystemStream; /***/ }), -/* 704 */ +/* 702 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const optionsManager = __webpack_require__(705); -const statProvider = __webpack_require__(707); +const optionsManager = __webpack_require__(703); +const statProvider = __webpack_require__(705); /** * Asynchronous API. */ @@ -83159,13 +83014,13 @@ exports.statSync = statSync; /***/ }), -/* 705 */ +/* 703 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fsAdapter = __webpack_require__(706); +const fsAdapter = __webpack_require__(704); function prepare(opts) { const options = Object.assign({ fs: fsAdapter.getFileSystemAdapter(opts ? opts.fs : undefined), @@ -83178,7 +83033,7 @@ exports.prepare = prepare; /***/ }), -/* 706 */ +/* 704 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83201,7 +83056,7 @@ exports.getFileSystemAdapter = getFileSystemAdapter; /***/ }), -/* 707 */ +/* 705 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83253,7 +83108,7 @@ exports.isFollowedSymlink = isFollowedSymlink; /***/ }), -/* 708 */ +/* 706 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83284,7 +83139,7 @@ exports.default = FileSystem; /***/ }), -/* 709 */ +/* 707 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83304,9 +83159,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var stream = __webpack_require__(137); -var readdir = __webpack_require__(686); -var reader_1 = __webpack_require__(699); -var fs_stream_1 = __webpack_require__(703); +var readdir = __webpack_require__(684); +var reader_1 = __webpack_require__(697); +var fs_stream_1 = __webpack_require__(701); var TransformStream = /** @class */ (function (_super) { __extends(TransformStream, _super); function TransformStream(reader) { @@ -83374,7 +83229,7 @@ exports.default = ReaderStream; /***/ }), -/* 710 */ +/* 708 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83393,9 +83248,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var readdir = __webpack_require__(686); -var reader_1 = __webpack_require__(699); -var fs_sync_1 = __webpack_require__(711); +var readdir = __webpack_require__(684); +var reader_1 = __webpack_require__(697); +var fs_sync_1 = __webpack_require__(709); var ReaderSync = /** @class */ (function (_super) { __extends(ReaderSync, _super); function ReaderSync() { @@ -83455,7 +83310,7 @@ exports.default = ReaderSync; /***/ }), -/* 711 */ +/* 709 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83474,8 +83329,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var fsStat = __webpack_require__(704); -var fs_1 = __webpack_require__(708); +var fsStat = __webpack_require__(702); +var fs_1 = __webpack_require__(706); var FileSystemSync = /** @class */ (function (_super) { __extends(FileSystemSync, _super); function FileSystemSync() { @@ -83521,7 +83376,7 @@ exports.default = FileSystemSync; /***/ }), -/* 712 */ +/* 710 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83537,13 +83392,13 @@ exports.flatten = flatten; /***/ }), -/* 713 */ +/* 711 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var merge2 = __webpack_require__(299); +var merge2 = __webpack_require__(291); /** * Merge multiple streams and propagate their errors into one stream in parallel. */ @@ -83558,13 +83413,13 @@ exports.merge = merge; /***/ }), -/* 714 */ +/* 712 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const pathType = __webpack_require__(715); +const pathType = __webpack_require__(713); const getExtensions = extensions => extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0]; @@ -83630,13 +83485,13 @@ module.exports.sync = (input, opts) => { /***/ }), -/* 715 */ +/* 713 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(133); -const pify = __webpack_require__(716); +const pify = __webpack_require__(714); function type(fn, fn2, fp) { if (typeof fp !== 'string') { @@ -83679,7 +83534,7 @@ exports.symlinkSync = typeSync.bind(null, 'lstatSync', 'isSymbolicLink'); /***/ }), -/* 716 */ +/* 714 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83770,17 +83625,17 @@ module.exports = (obj, opts) => { /***/ }), -/* 717 */ +/* 715 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(133); const path = __webpack_require__(4); -const fastGlob = __webpack_require__(514); -const gitIgnore = __webpack_require__(718); -const pify = __webpack_require__(719); -const slash = __webpack_require__(720); +const fastGlob = __webpack_require__(512); +const gitIgnore = __webpack_require__(716); +const pify = __webpack_require__(717); +const slash = __webpack_require__(718); const DEFAULT_IGNORE = [ '**/node_modules/**', @@ -83878,7 +83733,7 @@ module.exports.sync = options => { /***/ }), -/* 718 */ +/* 716 */ /***/ (function(module, exports) { // A simple implementation of make-array @@ -84347,7 +84202,7 @@ module.exports = options => new IgnoreBase(options) /***/ }), -/* 719 */ +/* 717 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84422,7 +84277,7 @@ module.exports = (input, options) => { /***/ }), -/* 720 */ +/* 718 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84440,7 +84295,7 @@ module.exports = input => { /***/ }), -/* 721 */ +/* 719 */ /***/ (function(module, exports, __webpack_require__) { /*! @@ -84450,7 +84305,7 @@ module.exports = input => { * Released under the MIT License. */ -var isExtglob = __webpack_require__(310); +var isExtglob = __webpack_require__(302); var chars = { '{': '}', '(': ')', '[': ']'}; var strictRegex = /\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; var relaxedRegex = /\\(.)|(^!|[*?{}()[\]]|\(\?)/; @@ -84494,17 +84349,17 @@ module.exports = function isGlob(str, options) { /***/ }), -/* 722 */ +/* 720 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); const {constants: fsConstants} = __webpack_require__(133); -const pEvent = __webpack_require__(723); -const CpFileError = __webpack_require__(726); -const fs = __webpack_require__(730); -const ProgressEmitter = __webpack_require__(733); +const pEvent = __webpack_require__(721); +const CpFileError = __webpack_require__(724); +const fs = __webpack_require__(728); +const ProgressEmitter = __webpack_require__(731); const cpFileAsync = async (source, destination, options, progressEmitter) => { let readError; @@ -84618,12 +84473,12 @@ module.exports.sync = (source, destination, options) => { /***/ }), -/* 723 */ +/* 721 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pTimeout = __webpack_require__(724); +const pTimeout = __webpack_require__(722); const symbolAsyncIterator = Symbol.asyncIterator || '@@asyncIterator'; @@ -84914,12 +84769,12 @@ module.exports.iterator = (emitter, event, options) => { /***/ }), -/* 724 */ +/* 722 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pFinally = __webpack_require__(725); +const pFinally = __webpack_require__(723); class TimeoutError extends Error { constructor(message) { @@ -84965,7 +84820,7 @@ module.exports.TimeoutError = TimeoutError; /***/ }), -/* 725 */ +/* 723 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84987,12 +84842,12 @@ module.exports = (promise, onFinally) => { /***/ }), -/* 726 */ +/* 724 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const NestedError = __webpack_require__(727); +const NestedError = __webpack_require__(725); class CpFileError extends NestedError { constructor(message, nested) { @@ -85006,10 +84861,10 @@ module.exports = CpFileError; /***/ }), -/* 727 */ +/* 725 */ /***/ (function(module, exports, __webpack_require__) { -var inherits = __webpack_require__(728); +var inherits = __webpack_require__(726); var NestedError = function (message, nested) { this.nested = nested; @@ -85060,7 +84915,7 @@ module.exports = NestedError; /***/ }), -/* 728 */ +/* 726 */ /***/ (function(module, exports, __webpack_require__) { try { @@ -85068,12 +84923,12 @@ try { if (typeof util.inherits !== 'function') throw ''; module.exports = util.inherits; } catch (e) { - module.exports = __webpack_require__(729); + module.exports = __webpack_require__(727); } /***/ }), -/* 729 */ +/* 727 */ /***/ (function(module, exports) { if (typeof Object.create === 'function') { @@ -85102,16 +84957,16 @@ if (typeof Object.create === 'function') { /***/ }), -/* 730 */ +/* 728 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const {promisify} = __webpack_require__(111); const fs = __webpack_require__(132); -const makeDir = __webpack_require__(731); -const pEvent = __webpack_require__(723); -const CpFileError = __webpack_require__(726); +const makeDir = __webpack_require__(729); +const pEvent = __webpack_require__(721); +const CpFileError = __webpack_require__(724); const stat = promisify(fs.stat); const lstat = promisify(fs.lstat); @@ -85208,7 +85063,7 @@ exports.copyFileSync = (source, destination, flags) => { /***/ }), -/* 731 */ +/* 729 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85216,7 +85071,7 @@ exports.copyFileSync = (source, destination, flags) => { const fs = __webpack_require__(133); const path = __webpack_require__(4); const {promisify} = __webpack_require__(111); -const semver = __webpack_require__(732); +const semver = __webpack_require__(730); const useNativeRecursiveOption = semver.satisfies(process.version, '>=10.12.0'); @@ -85371,7 +85226,7 @@ module.exports.sync = (input, options) => { /***/ }), -/* 732 */ +/* 730 */ /***/ (function(module, exports) { exports = module.exports = SemVer @@ -86973,7 +86828,7 @@ function coerce (version, options) { /***/ }), -/* 733 */ +/* 731 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -87014,7 +86869,7 @@ module.exports = ProgressEmitter; /***/ }), -/* 734 */ +/* 732 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -87060,12 +86915,12 @@ exports.default = module.exports; /***/ }), -/* 735 */ +/* 733 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const NestedError = __webpack_require__(736); +const NestedError = __webpack_require__(734); class CpyError extends NestedError { constructor(message, nested) { @@ -87079,7 +86934,7 @@ module.exports = CpyError; /***/ }), -/* 736 */ +/* 734 */ /***/ (function(module, exports, __webpack_require__) { var inherits = __webpack_require__(111).inherits; diff --git a/scripts/generate_plugin.js b/scripts/generate_plugin.js index e080afb183aa8..f695eabb30f21 100644 --- a/scripts/generate_plugin.js +++ b/scripts/generate_plugin.js @@ -17,5 +17,5 @@ * under the License. */ -require('../src/setup_node_env'); -require('@kbn/plugin-generator').run(process.argv.slice(2)); +require('../src/setup_node_env/prebuilt_dev_only_entry'); +require('@kbn/plugin-generator').runCli(); diff --git a/src/dev/file.ts b/src/dev/file.ts index 32998d3e776ef..1209cc323c4c3 100644 --- a/src/dev/file.ts +++ b/src/dev/file.ts @@ -17,7 +17,7 @@ * under the License. */ -import { dirname, extname, join, relative, resolve, sep } from 'path'; +import { dirname, extname, join, relative, resolve, sep, basename } from 'path'; export class File { private path: string; @@ -38,6 +38,12 @@ export class File { return this.relativePath; } + public getWithoutExtension() { + const directory = dirname(this.path); + const stem = basename(this.path, this.ext); + return new File(resolve(directory, stem)); + } + public isJs() { return this.ext === '.js'; } diff --git a/src/dev/i18n/tasks/extract_untracked_translations.ts b/src/dev/i18n/tasks/extract_untracked_translations.ts index 21ab47641f2f0..928997aced801 100644 --- a/src/dev/i18n/tasks/extract_untracked_translations.ts +++ b/src/dev/i18n/tasks/extract_untracked_translations.ts @@ -47,7 +47,7 @@ export async function extractUntrackedMessagesTask({ '**/build/**', '**/__fixtures__/**', '**/packages/kbn-i18n/**', - '**/packages/kbn-plugin-generator/sao_template/**', + '**/packages/kbn-plugin-generator/template/**', '**/packages/kbn-ui-framework/generator-kui/**', '**/target/**', '**/test/**', diff --git a/src/dev/precommit_hook/casing_check_config.js b/src/dev/precommit_hook/casing_check_config.js index 19d03e41ac5a9..e22dc03cf57aa 100644 --- a/src/dev/precommit_hook/casing_check_config.js +++ b/src/dev/precommit_hook/casing_check_config.js @@ -109,6 +109,14 @@ export const IGNORE_DIRECTORY_GLOBS = [ 'packages/kbn-optimizer/src/__fixtures__/mock_repo/x-pack', ]; +/** + * These patterns identify files which should have the extension stripped + * to reveal the actual name that should be checked. + * + * @type {Array} + */ +export const REMOVE_EXTENSION = ['packages/kbn-plugin-generator/template/**/*.ejs']; + /** * DO NOT ADD FILES TO THIS LIST!! * diff --git a/src/dev/precommit_hook/check_file_casing.js b/src/dev/precommit_hook/check_file_casing.js index ec77d9a8bad3c..243818d35a90b 100644 --- a/src/dev/precommit_hook/check_file_casing.js +++ b/src/dev/precommit_hook/check_file_casing.js @@ -29,6 +29,7 @@ import { IGNORE_FILE_GLOBS, TEMPORARILY_IGNORED_PATHS, KEBAB_CASE_DIRECTORY_GLOBS, + REMOVE_EXTENSION, } from './casing_check_config'; const NON_SNAKE_CASE_RE = /[A-Z \-]/; @@ -143,6 +144,10 @@ async function checkForSnakeCase(log, files) { } export async function checkFileCasing(log, files) { + files = files.map((f) => + matchesAnyGlob(f.getRelativePath(), REMOVE_EXTENSION) ? f.getWithoutExtension() : f + ); + await checkForKebabCase(log, files); await checkForSnakeCase(log, files); } diff --git a/yarn.lock b/yarn.lock index d13db64ad8b79..ed9dda820d66a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3663,6 +3663,11 @@ resolved "https://registry.yarnpkg.com/@types/dragselect/-/dragselect-1.13.1.tgz#f19b7b41063a7c9d5963194c83c3c364e84d46ee" integrity sha512-3m0fvSM0cSs0DXvprytV/ZY92hNX3jJuEb/vkdqU+4QMzV2jxYKgBFTuaT2fflqbmfzUqHHIkGP55WIuigElQw== +"@types/ejs@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/ejs/-/ejs-3.0.4.tgz#8851fcdedb96e410fbb24f83b8be6763ef9afa77" + integrity sha512-ZxnwyBGO4KX/82AsFHTX82eMw0PsoBcIngEat+zx0y+3yxoNDJucAihg9nAcrc+g4Cwiv/4WcWsX4oiy0ySrRQ== + "@types/elasticsearch@^5.0.33": version "5.0.33" resolved "https://registry.yarnpkg.com/@types/elasticsearch/-/elasticsearch-5.0.33.tgz#b0fd37dc674f498223b6d68c313bdfd71f4d812b" @@ -3942,6 +3947,14 @@ "@types/through" "*" rxjs "^6.4.0" +"@types/inquirer@^7.3.1": + version "7.3.1" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-7.3.1.tgz#1f231224e7df11ccfaf4cf9acbcc3b935fea292d" + integrity sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g== + dependencies: + "@types/through" "*" + rxjs "^6.4.0" + "@types/intl-relativeformat@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@types/intl-relativeformat/-/intl-relativeformat-2.1.0.tgz#3a2b0043380388f39c666665ec517e11412f1358" @@ -4348,6 +4361,11 @@ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== +"@types/prettier@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.2.tgz#5bb52ee68d0f8efa9cc0099920e56be6cc4e37f3" + integrity sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA== + "@types/pretty-ms@^5.0.0": version "5.0.1" resolved "https://registry.yarnpkg.com/@types/pretty-ms/-/pretty-ms-5.0.1.tgz#f2f0d7be58caf8613d149053d446e0282ae11ff3" @@ -6535,6 +6553,11 @@ async-value@^1.2.2: resolved "https://registry.yarnpkg.com/async-value/-/async-value-1.2.2.tgz#84517a1e7cb6b1a5b5e181fa31be10437b7fb125" integrity sha1-hFF6Hny2saW14YH6Mb4QQ3t/sSU= +async@0.9.x: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= + async@^1.4.2, async@^1.5.2, async@~1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -7485,7 +7508,7 @@ bowser@^1.7.3: resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.4.tgz#890c58a2813a9d3243704334fa81b96a5c150c9a" integrity sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ== -boxen@^1.2.1, boxen@^1.2.2: +boxen@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== @@ -7749,15 +7772,6 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= -buffer@^3.0.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb" - integrity sha1-pyyTb3e5a/UvX357RnGAYoVR3vs= - dependencies: - base64-js "0.0.8" - ieee754 "^1.1.4" - isarray "^1.0.0" - buffer@^4.3.0: version "4.9.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" @@ -7800,31 +7814,6 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cac@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/cac/-/cac-3.0.4.tgz#6d24ceec372efe5c9b798808bc7f49b47242a4ef" - integrity sha1-bSTO7Dcu/lybeYgIvH9JtHJCpO8= - dependencies: - camelcase-keys "^3.0.0" - chalk "^1.1.3" - indent-string "^3.0.0" - minimist "^1.2.0" - read-pkg-up "^1.0.1" - suffix "^0.1.0" - text-table "^0.2.0" - -cac@^4.3.4: - version "4.4.1" - resolved "https://registry.yarnpkg.com/cac/-/cac-4.4.1.tgz#c6867f731c4be7b0c270689d1689400b914c7788" - integrity sha512-Ab4JHxgvSNI6niHz5M3JCYRXnzERhY314HDwkndOh7FmIyOX7xY+iUqsl0nE17wjt8+kdvxw+b1HDtmFMiVPNA== - dependencies: - chalk "^2.0.1" - minimost "^1.0.0" - read-pkg-up "^2.0.0" - redent "^2.0.0" - string-width "^2.1.1" - text-table "^0.2.0" - cacache@^12.0.2: version "12.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" @@ -8035,14 +8024,6 @@ camelcase-keys@^2.0.0: camelcase "^2.0.0" map-obj "^1.0.0" -camelcase-keys@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-3.0.0.tgz#fc0c6c360363f7377e3793b9a16bccf1070c1ca4" - integrity sha1-/AxsNgNj9zd+N5O5oWvM8QcMHKQ= - dependencies: - camelcase "^3.0.0" - map-obj "^1.0.0" - camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -8176,16 +8157,6 @@ catbox@10.x.x: hoek "5.x.x" joi "13.x.x" -caw@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/caw/-/caw-2.0.1.tgz#6c3ca071fc194720883c2dc5da9b074bfc7e9e95" - integrity sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA== - dependencies: - get-proxy "^2.0.0" - isurl "^1.0.0-alpha5" - tunnel-agent "^0.6.0" - url-to-options "^1.0.1" - ccount@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.3.tgz#f1cec43f332e2ea5a569fd46f9f5bde4e6102aff" @@ -8336,11 +8307,6 @@ chardet@^0.4.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= -chardet@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.5.0.tgz#fe3ac73c00c3d865ffcc02a0682e2c20b6a06029" - integrity sha512-9ZTaoBaePSCFvNlNGrsyI8ZVACP2svUtq0DkM7t4K2ClAa96sqOIRjAzDTc8zXzFt1cZR46rRzLTiHFSJ+Qw0g== - chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -8850,11 +8816,6 @@ cmd-shim@^2.1.0: graceful-fs "^4.1.2" mkdirp "~0.5.0" -co@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" - integrity sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g= - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -9086,13 +9047,6 @@ commander@^5.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.0.0.tgz#dbf1909b49e5044f8fdaf0adc809f0c0722bdfd0" integrity sha512-JrDGPAKjMGSP1G0DUoaceEJ3DZgAfr/q6X7FVk4+U5KxUSKviYGM2k6zWkfyyBHy5rAtzgYJFa1ro2O9PtoxwQ== -commander@~2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" - integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ= - dependencies: - graceful-readlink ">= 1.0.0" - common-tags@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -9197,7 +9151,7 @@ concat-stream@~2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" -conf@^1.1.2, conf@^1.3.1: +conf@^1.3.1: version "1.4.0" resolved "https://registry.yarnpkg.com/conf/-/conf-1.4.0.tgz#1ea66c9d7a9b601674a5bb9d2b8dc3c726625e67" integrity sha512-bzlVWS2THbMetHqXKB8ypsXN4DQ/1qopGwNJi1eYbpwesJcd86FBjFciCQX/YwAhp9bM7NVnPFqZ5LpV7gP0Dg== @@ -9702,15 +9656,7 @@ cross-spawn@^3.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" - integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^5.0.1, cross-spawn@^5.1.0: +cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= @@ -10382,59 +10328,6 @@ decompress-response@^5.0.0: dependencies: mimic-response "^2.0.0" -decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" - integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== - dependencies: - file-type "^5.2.0" - is-stream "^1.1.0" - tar-stream "^1.5.2" - -decompress-tarbz2@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" - integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== - dependencies: - decompress-tar "^4.1.0" - file-type "^6.1.0" - is-stream "^1.1.0" - seek-bzip "^1.0.5" - unbzip2-stream "^1.0.9" - -decompress-targz@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" - integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== - dependencies: - decompress-tar "^4.1.1" - file-type "^5.2.0" - is-stream "^1.1.0" - -decompress-unzip@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" - integrity sha1-3qrM39FK6vhVePczroIQ+bSEj2k= - dependencies: - file-type "^3.8.0" - get-stream "^2.2.0" - pify "^2.3.0" - yauzl "^2.4.2" - -decompress@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.1.tgz#007f55cc6a62c055afa37c07eb6a4ee1b773f118" - integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== - dependencies: - decompress-tar "^4.0.0" - decompress-tarbz2 "^4.0.0" - decompress-targz "^4.0.0" - decompress-unzip "^4.0.1" - graceful-fs "^4.1.10" - make-dir "^1.0.0" - pify "^2.3.0" - strip-dirs "^2.0.0" - dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -11180,28 +11073,6 @@ downgrade-root@^1.0.0: default-uid "^1.0.0" is-root "^1.0.0" -download-git-repo@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/download-git-repo/-/download-git-repo-1.0.2.tgz#0b93a62057e41e2f21b1a06c95e7b26362b108ff" - integrity sha512-PwAUr0/w74AGB7bukOycXyLnDlt9Lfb3JzsliAWyZCHa/TvbuMYQvH1er2DWXHE4EuI/NjAzRXw+89Waynapgw== - dependencies: - download "^5.0.3" - git-clone "^0.1.0" - rimraf "^2.6.1" - -download@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/download/-/download-5.0.3.tgz#63537f977f99266a30eb8a2a2fbd1f20b8000f7a" - integrity sha1-Y1N/l3+ZJmow64oqL70fILgAD3o= - dependencies: - caw "^2.0.0" - decompress "^4.0.0" - filenamify "^2.0.0" - get-stream "^3.0.0" - got "^6.3.0" - mkdirp "^0.5.1" - pify "^2.3.0" - dragselect@1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/dragselect/-/dragselect-1.13.1.tgz#aa4166e1164b51ed5ee0cd89e0c5310a9c35be6a" @@ -11313,20 +11184,17 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^2.2.4, ejs@^2.3.1: - version "2.5.7" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" - integrity sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo= - -ejs@^2.7.4: +ejs@^2.3.1, ejs@^2.7.4: version "2.7.4" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== -ejs@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.0.2.tgz#745b01cdcfe38c1c6a2da3bbb2d9957060a31226" - integrity sha512-IncmUpn1yN84hy2shb0POJ80FWrfGNY0cxO9f4v+/sG7qcBvAtVWUA1IdzY/8EYUmOVhoKJVdJjNd3AZcnxOjA== +ejs@^3.0.1, ejs@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz#aed723844dc20acb4b170cd9ab1017e476a0d93b" + integrity sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w== + dependencies: + jake "^10.6.1" elastic-apm-http-client@^9.4.0: version "9.4.0" @@ -12714,15 +12582,6 @@ external-editor@^1.1.0: spawn-sync "^1.0.15" tmp "^0.0.29" -external-editor@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" - integrity sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA== - dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" - tmp "^0.0.33" - external-editor@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" @@ -12732,19 +12591,10 @@ external-editor@^2.1.0: iconv-lite "^0.4.17" tmp "^0.0.33" -external-editor@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.0.tgz#dc35c48c6f98a30ca27a20e9687d7f3c77704bb6" - integrity sha512-mpkfj0FEdxrIhOC04zk85X7StNtr0yXnG7zCb+8ikO8OJi2jsHh5YGoknNTyXgsbHOf1WOOcVU3kPFWT2WgCkQ== - dependencies: - chardet "^0.5.0" - iconv-lite "^0.4.22" - tmp "^0.0.33" - external-editor@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" @@ -12939,7 +12789,7 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fbjs@^0.8.0, fbjs@^0.8.1, fbjs@^0.8.16: +fbjs@^0.8.0, fbjs@^0.8.1, fbjs@^0.8.16, fbjs@^0.8.4, fbjs@^0.8.9: version "0.8.17" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= @@ -12952,19 +12802,6 @@ fbjs@^0.8.0, fbjs@^0.8.1, fbjs@^0.8.16: setimmediate "^1.0.5" ua-parser-js "^0.7.18" -fbjs@^0.8.4, fbjs@^0.8.9: - version "0.8.16" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" - integrity sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s= - dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.9" - fd-slicer@1.1.0, fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -12972,13 +12809,6 @@ fd-slicer@1.1.0, fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= - dependencies: - pend "~1.2.0" - fecha@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fecha/-/fecha-2.3.3.tgz#948e74157df1a32fd1b12c3a3c3cdcb6ec9d96cd" @@ -13079,21 +12909,6 @@ file-type@^10.9.0: resolved "https://registry.yarnpkg.com/file-type/-/file-type-10.9.0.tgz#f6c12c7cb9e6b8aeefd6917555fd4f9eadf31891" integrity sha512-9C5qtGR/fNibHC5gzuMmmgnjH3QDDLKMa8lYe9CiZVmAnI4aUaoMh40QyUPzzs0RYo837SOBKh7TYwle4G8E4w== -file-type@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" - integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek= - -file-type@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" - integrity sha1-LdvqfHP/42No365J3DOMBYwritY= - -file-type@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" - integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== - file-type@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18" @@ -13104,19 +12919,12 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== -filename-reserved-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" - integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik= - -filenamify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-2.0.0.tgz#bd162262c0b6e94bfbcdcf19a3bbb3764f785695" - integrity sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU= +filelist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb" + integrity sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ== dependencies: - filename-reserved-regex "^2.0.0" - strip-outer "^1.0.0" - trim-repeated "^1.0.0" + minimatch "^3.0.4" filesize@3.6.1: version "3.6.1" @@ -13618,11 +13426,6 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= - fs-extra@8.1.0, fs-extra@^8.0.1, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -13652,15 +13455,6 @@ fs-extra@^3.0.1: jsonfile "^3.0.0" universalify "^0.1.0" -fs-extra@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^7.0.0, fs-extra@^7.0.1, fs-extra@~7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -13905,13 +13699,6 @@ get-port@^4.2.0: resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119" integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw== -get-proxy@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-2.1.0.tgz#349f2b4d91d44c4d4d4e9cba2ad90143fac5ef93" - integrity sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw== - dependencies: - npm-conf "^1.1.0" - get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -13927,14 +13714,6 @@ get-stream@3.0.0, get-stream@^3.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= -get-stream@^2.2.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" - integrity sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4= - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -13999,20 +13778,6 @@ gifwrap@^0.9.2: image-q "^1.1.1" omggif "^1.0.10" -git-clone@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/git-clone/-/git-clone-0.1.0.tgz#0d76163778093aef7f1c30238f2a9ef3f07a2eb9" - integrity sha1-DXYWN3gJOu9/HDAjjyqe8/B6Lrk= - -git-config-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/git-config-path/-/git-config-path-1.0.1.tgz#6d33f7ed63db0d0e118131503bab3aca47d54664" - integrity sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ= - dependencies: - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - homedir-polyfill "^1.0.0" - git-up@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" @@ -14480,7 +14245,7 @@ got@^3.2.0: read-all-stream "^3.0.0" timed-out "^2.0.0" -got@^6.2.0, got@^6.3.0, got@^6.7.1: +got@^6.2.0, got@^6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= @@ -14557,27 +14322,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.4: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= - -graceful-fs@^4.1.15, graceful-fs@^4.1.9: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -graceful-fs@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" - integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== - -graceful-fs@^4.2.3, graceful-fs@^4.2.4: +graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -14587,11 +14332,6 @@ graceful-fs@~1.1: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.1.14.tgz#07078db5f6377f6321fceaaedf497de124dc9465" integrity sha1-BweNtfY3f2Mh/Oqu30l94STclGU= -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= - graphql-anywhere@^4.1.0-alpha.0: version "4.1.16" resolved "https://registry.yarnpkg.com/graphql-anywhere/-/graphql-anywhere-4.1.16.tgz#82bb59643e30183cfb7b485ed4262a7b39d8a6c1" @@ -15082,7 +14822,7 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== -handlebars@4.7.6, handlebars@^4.0.1: +handlebars@4.7.6: version "4.7.6" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== @@ -15418,7 +15158,7 @@ hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0, hoist-non-react- dependencies: react-is "^16.7.0" -homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: +homedir-polyfill@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" integrity sha1-TCu8inWJmP7r9e1oWA921GdotLw= @@ -15731,7 +15471,7 @@ icalendar@0.7.1: resolved "https://registry.yarnpkg.com/icalendar/-/icalendar-0.7.1.tgz#d0d3486795f8f1c5cf4f8cafac081b4b4e7a32ae" integrity sha1-0NNIZ5X48cXPT4yvrAgbS056Mq4= -iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.22, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -16115,26 +15855,6 @@ inquirer@^1.0.2, inquirer@^1.2.2: strip-ansi "^3.0.0" through "^2.3.6" -inquirer@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - inquirer@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726" @@ -16155,47 +15875,28 @@ inquirer@^5.0.0: through "^2.3.6" inquirer@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.0.0.tgz#e8c20303ddc15bbfc2c12a6213710ccd9e1413d8" - integrity sha512-tISQWRwtcAgrz+SHPhTH7d3e73k31gsOy6i1csonLc0u1dVK/wYvuOnFeiWqC5OXFIYbmrIFInef31wbT8MEJg== + version "6.5.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" + ansi-escapes "^3.2.0" + chalk "^2.4.2" cli-cursor "^2.1.0" cli-width "^2.0.0" - external-editor "^3.0.0" + external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.3.0" + lodash "^4.17.12" mute-stream "0.0.7" run-async "^2.2.0" - rxjs "^6.1.0" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - -inquirer@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" - integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.2" - cli-cursor "^3.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" - run-async "^2.2.0" rxjs "^6.4.0" - string-width "^4.1.0" + string-width "^2.1.0" strip-ansi "^5.1.0" through "^2.3.6" -inquirer@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.1.tgz#ac6aba1abdfdd5ad34e7069370411edba17f6439" - integrity sha512-/+vOpHQHhoh90Znev8BXiuw1TDQ7IDxWsQnFafUEoK5+4uN5Eoz1p+3GqOj/NtzEi9VzWKQcV9Bm+i8moxedsA== +inquirer@^7.0.0, inquirer@^7.3.1, inquirer@^7.3.3: + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== dependencies: ansi-escapes "^4.2.1" chalk "^4.1.0" @@ -16203,7 +15904,7 @@ inquirer@^7.3.1: cli-width "^3.0.0" external-editor "^3.0.3" figures "^3.0.0" - lodash "^4.17.16" + lodash "^4.17.19" mute-stream "0.0.8" run-async "^2.4.0" rxjs "^6.6.0" @@ -16430,13 +16131,6 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-binary-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.0.0.tgz#0e61cea6974b24dda8bcc8366ce58a69265d1a36" - integrity sha1-DmHOppdLJN2ovMg2bOWKaSZdGjY= - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -16722,11 +16416,6 @@ is-native@^1.0.1: is-nil "^1.0.0" to-source-code "^1.0.0" -is-natural-number@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" - integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= - is-negated-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" @@ -16865,7 +16554,7 @@ is-plain-object@3.0.0, is-plain-object@^3.0.0: dependencies: isobject "^4.0.0" -is-promise@^2.0.0, is-promise@^2.1, is-promise@^2.1.0: +is-promise@^2.1, is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= @@ -17316,6 +17005,16 @@ iterate-value@^1.0.0: es-get-iterator "^1.0.2" iterate-iterator "^1.0.1" +jake@^10.6.1: + version "10.8.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" + integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== + dependencies: + async "0.9.x" + chalk "^2.4.2" + filelist "^1.0.1" + minimatch "^3.0.4" + jest-canvas-mock@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/jest-canvas-mock/-/jest-canvas-mock-2.2.0.tgz#45fbc58589c6ce9df50dc90bd8adce747cbdada7" @@ -18233,28 +17932,6 @@ jssha@^2.1.0: resolved "https://registry.yarnpkg.com/jssha/-/jssha-2.3.1.tgz#147b2125369035ca4b2f7d210dc539f009b3de9a" integrity sha1-FHshJTaQNcpLL30hDcU58Amz3po= -jstransformer-ejs@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/jstransformer-ejs/-/jstransformer-ejs-0.0.3.tgz#04d9201469274fcf260f1e7efd732d487fa234b6" - integrity sha1-BNkgFGknT88mDx5+/XMtSH+iNLY= - dependencies: - ejs "^2.2.4" - -jstransformer-handlebars@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/jstransformer-handlebars/-/jstransformer-handlebars-1.1.0.tgz#91ba56e0a28aee31bb56d4adbcbce508d8230468" - integrity sha1-kbpW4KKK7jG7VtStvLzlCNgjBGg= - dependencies: - handlebars "^4.0.1" - -jstransformer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" - integrity sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM= - dependencies: - is-promise "^2.0.0" - promise "^7.0.1" - jsts@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/jsts/-/jsts-1.6.2.tgz#c0efc885edae06ae84f78cbf2a0110ba929c5925" @@ -18446,20 +18123,6 @@ known-css-properties@^0.3.0: resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.3.0.tgz#a3d135bbfc60ee8c6eacf2f7e7e6f2d4755e49a4" integrity sha512-QMQcnKAiQccfQTqtBh/qwquGZ2XK/DXND1jrcN9M8gMMy99Gwla7GQjndVUsEqIaRyP6bsFRuhwRj5poafBGJQ== -kopy@^8.2.0: - version "8.2.5" - resolved "https://registry.yarnpkg.com/kopy/-/kopy-8.2.5.tgz#6c95f312e981ab917680d7e5de3cdf29a1bf221f" - integrity sha512-+U+LMXZtpRjU5JSGNsXeUG3k/Xvf+7NBQTdP7PxzUNBzLNkyoWxbDkvRchNFh3ANcucJKX/s6+cGxmmPUBBtww== - dependencies: - inquirer "^3.2.3" - is-binary-path "^2.0.0" - jstransformer "^1.0.0" - jstransformer-ejs "^0.0.3" - majo "^0.4.1" - minimatch "^3.0.4" - multimatch "^2.1.0" - path-exists "^3.0.0" - kuler@1.0.x: version "1.0.1" resolved "https://registry.yarnpkg.com/kuler/-/kuler-1.0.1.tgz#ef7c784f36c9fb6e16dd3150d152677b2b0228a6" @@ -19178,7 +18841,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@4.17.11, lodash@4.17.15, lodash@4.17.19, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.16, lodash@^4.17.19, lodash@^4.17.2, lodash@^4.17.20, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: +lodash@4.17.11, lodash@4.17.15, lodash@4.17.19, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.2, lodash@^4.17.20, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -19437,15 +19100,6 @@ magic-string@0.25.1: dependencies: sourcemap-codec "^1.4.1" -majo@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/majo/-/majo-0.4.1.tgz#5e6eeb9b63bda77e59d396b9c9ce4189ce6100bc" - integrity sha512-+Ys9ffqdJP9IAE8V8J6xSpemt1i6aleHhpk9R+K0GBkUKd6PE/oOW7GR9FFB5jHodxmX0lWeOezBc5OSoywDhw== - dependencies: - fs-extra "^3.0.1" - globby "^6.1.0" - ware "^1.3.0" - make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -20091,14 +19745,6 @@ minimist@1.2.5, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2 resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minimost@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/minimost/-/minimost-1.0.0.tgz#1d07954aa0268873408b95552fbffc5977dfc78b" - integrity sha1-HQeVSqAmiHNAi5VVL7/8WXffx4s= - dependencies: - camelcase-keys "^4.0.0" - minimist "^1.2.0" - minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -20432,7 +20078,7 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -multimatch@^2.0.0, multimatch@^2.1.0: +multimatch@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis= @@ -21108,7 +20754,7 @@ npm-bundled@^1.0.1: dependencies: npm-normalize-package-bin "^1.0.1" -npm-conf@^1.1.0, npm-conf@^1.1.3: +npm-conf@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw== @@ -21625,7 +21271,7 @@ ora@^0.2.3: cli-spinners "^0.1.2" object-assign "^4.0.1" -ora@^1.3.0, ora@^1.4.0: +ora@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ora/-/ora-1.4.0.tgz#884458215b3a5d4097592285f93321bb7a79e2e5" integrity sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw== @@ -22092,16 +21738,6 @@ parse-filepath@^1.0.1: map-cache "^0.2.0" path-root "^0.1.1" -parse-git-config@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-1.1.1.tgz#d3a9984317132f57398712bba438e129590ddf8c" - integrity sha1-06mYQxcTL1c5hxK7pDjhKVkN34w= - dependencies: - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - git-config-path "^1.0.1" - ini "^1.3.4" - parse-headers@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.1.tgz#6ae83a7aa25a9d9b700acc28698cd1f1ed7e9536" @@ -22966,7 +22602,7 @@ promise.prototype.finally@^3.1.0: es-abstract "^1.9.0" function-bind "^1.1.1" -promise@^7.0.1, promise@^7.1.1: +promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== @@ -25483,18 +25119,6 @@ rw@~0.1.4: resolved "https://registry.yarnpkg.com/rw/-/rw-0.1.4.tgz#4903cbd80248ae0ede685bf58fd236a7a9b29a3e" integrity sha1-SQPL2AJIrg7eaFv1j9I2p6mymj4= -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= - dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= - rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" @@ -25605,33 +25229,6 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sao@^0.22.12: - version "0.22.12" - resolved "https://registry.yarnpkg.com/sao/-/sao-0.22.12.tgz#fe13bb32bb0d32892c188024f77c5ac26c19eaf9" - integrity sha512-ybJxqUg2wvmnBZ6LBNV2L3ermzjP4RFpti0MSXX3VI+Weaw5wBhgB0umvgeWkyObKhsuP1TmZ22XGfi6v+o1LQ== - dependencies: - boxen "^1.2.2" - cac "^4.3.4" - chalk "^2.0.1" - co "^4.6.0" - conf "^1.1.2" - cross-spawn "^5.1.0" - download-git-repo "^1.0.1" - filenamify "^2.0.0" - fs-extra "^4.0.1" - git-config-path "^1.0.1" - globby "^6.1.0" - jstransformer-handlebars "^1.0.0" - kopy "^8.2.0" - ora "^1.3.0" - parse-git-config "^1.1.1" - semver "^5.4.1" - text-table "^0.2.0" - tildify "^1.2.0" - update-notifier "^2.2.0" - user-home "^2.0.0" - yarn-install "^0.5.1" - sass-graph@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" @@ -25777,13 +25374,6 @@ seedrandom@^3.0.5: resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7" integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== -seek-bzip@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" - integrity sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w= - dependencies: - commander "~2.8.1" - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -27155,13 +26745,6 @@ strip-bom@^4.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -strip-dirs@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" - integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== - dependencies: - is-natural-number "^4.0.1" - strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -27211,13 +26794,6 @@ strip-json-comments@~1.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E= -strip-outer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8" - integrity sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g= - dependencies: - escape-string-regexp "^1.0.2" - strong-log-transformer@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" @@ -27304,11 +26880,6 @@ sudo-block@^1.1.0: is-docker "^1.0.0" is-root "^1.0.0" -suffix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/suffix/-/suffix-0.1.0.tgz#3e46966de56af17600385e58db8ec659dd797907" - integrity sha1-PkaWbeVq8XYAOF5Y247GWd15eQc= - superagent@3.8.2: version "3.8.2" resolved "https://registry.yarnpkg.com/superagent/-/superagent-3.8.2.tgz#e4a11b9d047f7d3efeb3bbe536d9ec0021d16403" @@ -27639,7 +27210,7 @@ tar-fs@^1.16.3: pump "^1.0.0" tar-stream "^1.1.2" -tar-stream@^1.1.2, tar-stream@^1.5.2: +tar-stream@^1.1.2: version "1.5.5" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.5.tgz#5cad84779f45c83b1f2508d96b09d88c7218af55" integrity sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg== @@ -27922,13 +27493,6 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.2.tgz#a862e018e3fb1ea2ec3fce5d55605cf57f247371" integrity sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E= -tildify@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" - integrity sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo= - dependencies: - os-homedir "^1.0.0" - time-stamp@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" @@ -28299,13 +27863,6 @@ trim-newlines@^3.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== -trim-repeated@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" - integrity sha1-42RqLqTokTEr9+rObPsFOAvAHCE= - dependencies: - escape-string-regexp "^1.0.2" - trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -28598,7 +28155,7 @@ typings-tester@^0.3.2: dependencies: commander "^2.12.2" -ua-parser-js@^0.7.18, ua-parser-js@^0.7.9: +ua-parser-js@^0.7.18: version "0.7.21" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ== @@ -28648,14 +28205,6 @@ uid-safe@2.1.5: dependencies: random-bytes "~1.0.0" -unbzip2-stream@^1.0.9: - version "1.2.5" - resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47" - integrity sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og== - dependencies: - buffer "^3.0.1" - through "^2.3.6" - unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" @@ -29003,21 +28552,6 @@ update-notifier@^0.5.0: semver-diff "^2.0.0" string-length "^1.0.0" -update-notifier@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" - integrity sha1-TognpruRUUCrCTVZ1wFOPruDdFE= - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - update-notifier@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" @@ -29949,13 +29483,6 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -ware@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4" - integrity sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q= - dependencies: - wrap-fn "^0.1.0" - warning@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" @@ -30485,13 +30012,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-fn@^0.1.0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845" - integrity sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU= - dependencies: - co "3.1.0" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -30974,15 +30494,6 @@ yargs@~3.10.0: decamelize "^1.0.0" window-size "0.1.0" -yarn-install@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/yarn-install/-/yarn-install-0.5.1.tgz#f3c55e8646b6ac8da360b2f8e31afe5c4a067340" - integrity sha512-v0E5rDOoRRGyrbwxIOqPfX/x5kiV4ba7bvzT0wVfOhyZZr7PKP57F3h1hLHa66jYpU7zd4GLTVvjVL/Y1aE/gg== - dependencies: - cac "^3.0.3" - chalk "^1.1.3" - cross-spawn "^4.0.2" - yauzl@2.10.0, yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" @@ -30991,14 +30502,6 @@ yauzl@2.10.0, yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" -yauzl@^2.4.2: - version "2.9.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.9.1.tgz#a81981ea70a57946133883f029c5821a89359a7f" - integrity sha1-qBmB6nCleUYTOIPwKcWCGok1mn8= - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.0.1" - yazl@^2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" From 258591e4791d12fdfcca1d149c252ac25cc163b9 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Fri, 21 Aug 2020 10:33:07 +0300 Subject: [PATCH 41/51] [TSVB] Disable enableHistogramMode prop when user selects non-stacked bar (#74930) * Remove enableHistogramMode prop from TSVB as it causes bugs with non-stacked bars * Disable enableHistogramMode property to false only when thr user selects the nobn-stacked option * small change to be more human readbale Co-authored-by: Elastic Machine --- .../application/components/lib/charts.js | 22 ------------------- .../components/vis_types/timeseries/vis.js | 3 --- .../visualizations/views/timeseries/index.js | 7 +++--- 3 files changed, 3 insertions(+), 29 deletions(-) delete mode 100644 src/plugins/vis_type_timeseries/public/application/components/lib/charts.js diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js b/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js deleted file mode 100644 index 2495026304be8..0000000000000 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { uniq, map, size, flow } from 'lodash'; - -export const areFieldsDifferent = (name) => (series) => flow(uniq, size)(map(series, name)) > 1; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js index 612a7a48bade1..c14148d4a020f 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js @@ -31,7 +31,6 @@ import { MarkdownSimple } from '../../../../../../../plugins/kibana_react/public import { replaceVars } from '../../lib/replace_vars'; import { getAxisLabelString } from '../../lib/get_axis_label_string'; import { getInterval } from '../../lib/get_interval'; -import { areFieldsDifferent } from '../../lib/charts'; import { createXaxisFormatter } from '../../lib/create_xaxis_formatter'; import { STACKED_OPTIONS } from '../../../visualizations/constants'; import { getCoreStart } from '../../../../services'; @@ -164,7 +163,6 @@ export class TimeseriesVisualization extends Component { const mainAxisGroupId = yAxisIdGenerator('main_group'); const seriesModel = model.series.filter((s) => !s.hidden).map((s) => cloneDeep(s)); - const enableHistogramMode = areFieldsDifferent('chart_type')(seriesModel); const firstSeries = seriesModel.find((s) => s.formatter && !s.separate_axis); const mainAxisScaleType = TimeseriesVisualization.getAxisScaleType(model); @@ -243,7 +241,6 @@ export class TimeseriesVisualization extends Component { series={series} yAxis={yAxis} onBrush={onBrush} - enableHistogramMode={enableHistogramMode} backgroundColor={model.background_color} showGrid={Boolean(model.show_grid)} legend={Boolean(model.show_legend)} diff --git a/src/plugins/vis_type_timeseries/public/application/visualizations/views/timeseries/index.js b/src/plugins/vis_type_timeseries/public/application/visualizations/views/timeseries/index.js index 64ac5cc5f871f..6b5d84dc56981 100644 --- a/src/plugins/vis_type_timeseries/public/application/visualizations/views/timeseries/index.js +++ b/src/plugins/vis_type_timeseries/public/application/visualizations/views/timeseries/index.js @@ -67,7 +67,6 @@ export const TimeSeries = ({ onBrush, xAxisFormatter, annotations, - enableHistogramMode, }) => { const chartRef = useRef(); const updateCursor = (_, cursor) => { @@ -181,6 +180,7 @@ export const TimeSeries = ({ ) => { const stackAccessors = getStackAccessors(stack); const isPercentage = stack === STACKED_OPTIONS.PERCENT; + const isStacked = stack !== STACKED_OPTIONS.NONE; const key = `${id}-${label}`; // Only use color mapping if there is no color from the server const finalColor = color ?? colors.mappedColors.mapping[label]; @@ -201,7 +201,7 @@ export const TimeSeries = ({ xScaleType={xScaleType} yScaleType={yScaleType} timeZone={timeZone} - enableHistogramMode={enableHistogramMode} + enableHistogramMode={isStacked} useDefaultGroupDomain={useDefaultGroupDomain} sortIndex={sortIndex} y1AccessorFormat={y1AccessorFormat} @@ -227,7 +227,7 @@ export const TimeSeries = ({ xScaleType={xScaleType} yScaleType={yScaleType} timeZone={timeZone} - enableHistogramMode={enableHistogramMode} + enableHistogramMode={isStacked} useDefaultGroupDomain={useDefaultGroupDomain} sortIndex={sortIndex} y1AccessorFormat={y1AccessorFormat} @@ -283,5 +283,4 @@ TimeSeries.propTypes = { onBrush: PropTypes.func, xAxisFormatter: PropTypes.func, annotations: PropTypes.array, - enableHistogramMode: PropTypes.bool.isRequired, }; From 0f456f1bfe18982ae2790a7b44ca11ee9c38b497 Mon Sep 17 00:00:00 2001 From: Pete Harverson Date: Fri, 21 Aug 2020 09:25:17 +0100 Subject: [PATCH 42/51] [ML] Transforms: Unset doc title when app unmounts (#75539) Co-authored-by: Elastic Machine --- .../transform/public/app/mount_management_section.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/transform/public/app/mount_management_section.ts b/x-pack/plugins/transform/public/app/mount_management_section.ts index 454738f7a313a..0392ecbafa832 100644 --- a/x-pack/plugins/transform/public/app/mount_management_section.ts +++ b/x-pack/plugins/transform/public/app/mount_management_section.ts @@ -49,5 +49,10 @@ export async function mountManagementSection( history, }; - return renderApp(element, appDependencies); + const unmountAppCallback = renderApp(element, appDependencies); + + return () => { + docTitle.reset(); + unmountAppCallback(); + }; } From 6e162ff904db96f3f289c45c9c2db72c855708af Mon Sep 17 00:00:00 2001 From: Peter Pisljar Date: Fri, 21 Aug 2020 11:16:52 +0200 Subject: [PATCH 43/51] adding markdown vis renderer (#75532) --- src/plugins/vis_type_markdown/kibana.json | 2 +- .../__snapshots__/markdown_fn.test.ts.snap | 2 +- .../public/__snapshots__/to_ast.test.ts.snap | 67 +++++++++++++++++ .../vis_type_markdown/public/markdown_fn.ts | 8 +- .../public/markdown_renderer.tsx | 57 ++++++++++++++ .../vis_type_markdown/public/markdown_vis.ts | 4 +- .../public/markdown_vis_controller.test.tsx | 74 ++++++++++++------- .../public/markdown_vis_controller.tsx | 11 ++- .../vis_type_markdown/public/plugin.ts | 6 +- .../vis_type_markdown/public/to_ast.test.ts | 54 ++++++++++++++ .../vis_type_markdown/public/to_ast.ts | 39 ++++++++++ .../__snapshots__/build_pipeline.test.ts.snap | 4 - .../public/legacy/build_pipeline.test.ts | 17 ----- .../public/legacy/build_pipeline.ts | 11 --- 14 files changed, 288 insertions(+), 68 deletions(-) create mode 100644 src/plugins/vis_type_markdown/public/__snapshots__/to_ast.test.ts.snap create mode 100644 src/plugins/vis_type_markdown/public/markdown_renderer.tsx create mode 100644 src/plugins/vis_type_markdown/public/to_ast.test.ts create mode 100644 src/plugins/vis_type_markdown/public/to_ast.ts diff --git a/src/plugins/vis_type_markdown/kibana.json b/src/plugins/vis_type_markdown/kibana.json index 9241f5eeee837..4196bd7e85707 100644 --- a/src/plugins/vis_type_markdown/kibana.json +++ b/src/plugins/vis_type_markdown/kibana.json @@ -4,5 +4,5 @@ "ui": true, "server": true, "requiredPlugins": ["expressions", "visualizations"], - "requiredBundles": ["kibanaUtils", "kibanaReact", "data", "charts"] + "requiredBundles": ["kibanaUtils", "kibanaReact", "data", "charts", "visualizations", "expressions"] } diff --git a/src/plugins/vis_type_markdown/public/__snapshots__/markdown_fn.test.ts.snap b/src/plugins/vis_type_markdown/public/__snapshots__/markdown_fn.test.ts.snap index 5a107bdfed9e5..473e2cba742b7 100644 --- a/src/plugins/vis_type_markdown/public/__snapshots__/markdown_fn.test.ts.snap +++ b/src/plugins/vis_type_markdown/public/__snapshots__/markdown_fn.test.ts.snap @@ -2,7 +2,7 @@ exports[`interpreter/functions#markdown returns an object with the correct structure 1`] = ` Object { - "as": "visualization", + "as": "markdown_vis", "type": "render", "value": Object { "visConfig": Object { diff --git a/src/plugins/vis_type_markdown/public/__snapshots__/to_ast.test.ts.snap b/src/plugins/vis_type_markdown/public/__snapshots__/to_ast.test.ts.snap new file mode 100644 index 0000000000000..2b8ff47be3f23 --- /dev/null +++ b/src/plugins/vis_type_markdown/public/__snapshots__/to_ast.test.ts.snap @@ -0,0 +1,67 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`markdown vis toExpressionAst function with params 1`] = ` +Object { + "chain": Array [ + Object { + "arguments": Object { + "font": Array [ + Object { + "chain": Array [ + Object { + "arguments": Object { + "size": Array [ + 15, + ], + }, + "function": "font", + "type": "function", + }, + ], + "type": "expression", + }, + ], + "markdown": Array [ + "### my markdown", + ], + "openLinksInNewTab": Array [ + true, + ], + }, + "function": "markdownVis", + "type": "function", + }, + ], + "type": "expression", +} +`; + +exports[`markdown vis toExpressionAst function without params 1`] = ` +Object { + "chain": Array [ + Object { + "arguments": Object { + "font": Array [ + Object { + "chain": Array [ + Object { + "arguments": Object { + "size": Array [ + "undefined", + ], + }, + "function": "font", + "type": "function", + }, + ], + "type": "expression", + }, + ], + }, + "function": "markdownVis", + "type": "function", + }, + ], + "type": "expression", +} +`; diff --git a/src/plugins/vis_type_markdown/public/markdown_fn.ts b/src/plugins/vis_type_markdown/public/markdown_fn.ts index 9f0809109e465..4b3c9989431f9 100644 --- a/src/plugins/vis_type_markdown/public/markdown_fn.ts +++ b/src/plugins/vis_type_markdown/public/markdown_fn.ts @@ -26,12 +26,14 @@ interface RenderValue { visConfig: MarkdownVisParams; } -export const createMarkdownVisFn = (): ExpressionFunctionDefinition< +export type MarkdownVisExpressionFunctionDefinition = ExpressionFunctionDefinition< 'markdownVis', unknown, Arguments, Render -> => ({ +>; + +export const createMarkdownVisFn = (): MarkdownVisExpressionFunctionDefinition => ({ name: 'markdownVis', type: 'render', inputTypes: [], @@ -65,7 +67,7 @@ export const createMarkdownVisFn = (): ExpressionFunctionDefinition< fn(input, args) { return { type: 'render', - as: 'visualization', + as: 'markdown_vis', value: { visType: 'markdown', visConfig: { diff --git a/src/plugins/vis_type_markdown/public/markdown_renderer.tsx b/src/plugins/vis_type_markdown/public/markdown_renderer.tsx new file mode 100644 index 0000000000000..5950a762635b2 --- /dev/null +++ b/src/plugins/vis_type_markdown/public/markdown_renderer.tsx @@ -0,0 +1,57 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import React from 'react'; +import { render, unmountComponentAtNode } from 'react-dom'; +import { VisualizationContainer } from '../../visualizations/public'; +import { ExpressionRenderDefinition } from '../../expressions/common/expression_renderers'; +import { MarkdownVisWrapper } from './markdown_vis_controller'; +import { StartServicesGetter } from '../../kibana_utils/public'; + +export const getMarkdownRenderer = (start: StartServicesGetter) => { + const markdownVisRenderer: () => ExpressionRenderDefinition = () => ({ + name: 'markdown_vis', + displayName: 'markdown visualization', + reuseDomNode: true, + render: async (domNode: HTMLElement, config: any, handlers: any) => { + const { visConfig } = config; + + const I18nContext = await start().core.i18n.Context; + + handlers.onDestroy(() => { + unmountComponentAtNode(domNode); + }); + + render( + + + + + , + domNode + ); + }, + }); + + return markdownVisRenderer; +}; diff --git a/src/plugins/vis_type_markdown/public/markdown_vis.ts b/src/plugins/vis_type_markdown/public/markdown_vis.ts index 089e00bb44937..27ac038aee6ff 100644 --- a/src/plugins/vis_type_markdown/public/markdown_vis.ts +++ b/src/plugins/vis_type_markdown/public/markdown_vis.ts @@ -19,10 +19,10 @@ import { i18n } from '@kbn/i18n'; -import { MarkdownVisWrapper } from './markdown_vis_controller'; import { MarkdownOptions } from './markdown_options'; import { SettingsOptions } from './settings_options_lazy'; import { DefaultEditorSize } from '../../vis_default_editor/public'; +import { toExpressionAst } from './to_ast'; export const markdownVisDefinition = { name: 'markdown', @@ -32,8 +32,8 @@ export const markdownVisDefinition = { description: i18n.translate('visTypeMarkdown.markdownDescription', { defaultMessage: 'Create a document using markdown syntax', }), + toExpressionAst, visConfig: { - component: MarkdownVisWrapper, defaults: { fontSize: 12, openLinksInNewTab: false, diff --git a/src/plugins/vis_type_markdown/public/markdown_vis_controller.test.tsx b/src/plugins/vis_type_markdown/public/markdown_vis_controller.test.tsx index 103879cb6e6df..ff0cc89a5d9c9 100644 --- a/src/plugins/vis_type_markdown/public/markdown_vis_controller.test.tsx +++ b/src/plugins/vis_type_markdown/public/markdown_vis_controller.test.tsx @@ -25,13 +25,15 @@ describe('markdown vis controller', () => { it('should set html from markdown params', () => { const vis = { params: { + openLinksInNewTab: false, + fontSize: 16, markdown: 'This is a test of the [markdown](http://daringfireball.net/projects/markdown) vis.', }, }; const wrapper = render( - + ); expect(wrapper.find('a').text()).toBe('markdown'); }); @@ -39,12 +41,14 @@ describe('markdown vis controller', () => { it('should not render the html', () => { const vis = { params: { + openLinksInNewTab: false, + fontSize: 16, markdown: 'Testing html', }, }; const wrapper = render( - + ); expect(wrapper.text()).toBe('Testing html\n'); }); @@ -52,12 +56,14 @@ describe('markdown vis controller', () => { it('should update the HTML when render again with changed params', () => { const vis = { params: { + openLinksInNewTab: false, + fontSize: 16, markdown: 'Initial', }, }; const wrapper = mount( - + ); expect(wrapper.text().trim()).toBe('Initial'); vis.params.markdown = 'Updated'; @@ -66,52 +72,68 @@ describe('markdown vis controller', () => { }); describe('renderComplete', () => { + const vis = { + params: { + openLinksInNewTab: false, + fontSize: 16, + markdown: 'test', + }, + }; + + const renderComplete = jest.fn(); + + beforeEach(() => { + renderComplete.mockClear(); + }); + it('should be called on initial rendering', () => { - const vis = { - params: { - markdown: 'test', - }, - }; - const renderComplete = jest.fn(); mount( - + ); expect(renderComplete.mock.calls.length).toBe(1); }); it('should be called on successive render when params change', () => { - const vis = { - params: { - markdown: 'test', - }, - }; - const renderComplete = jest.fn(); mount( - + ); expect(renderComplete.mock.calls.length).toBe(1); renderComplete.mockClear(); vis.params.markdown = 'changed'; mount( - + ); expect(renderComplete.mock.calls.length).toBe(1); }); it('should be called on successive render even without data change', () => { - const vis = { - params: { - markdown: 'test', - }, - }; - const renderComplete = jest.fn(); mount( - + ); expect(renderComplete.mock.calls.length).toBe(1); renderComplete.mockClear(); mount( - + ); expect(renderComplete.mock.calls.length).toBe(1); }); diff --git a/src/plugins/vis_type_markdown/public/markdown_vis_controller.tsx b/src/plugins/vis_type_markdown/public/markdown_vis_controller.tsx index 4e77bb196b713..e1155ca42df72 100644 --- a/src/plugins/vis_type_markdown/public/markdown_vis_controller.tsx +++ b/src/plugins/vis_type_markdown/public/markdown_vis_controller.tsx @@ -22,7 +22,7 @@ import { Markdown } from '../../kibana_react/public'; import { MarkdownVisParams } from './types'; interface MarkdownVisComponentProps extends MarkdownVisParams { - renderComplete: () => {}; + renderComplete: () => void; } /** @@ -80,7 +80,14 @@ class MarkdownVisComponent extends React.Component { * The way React works, this wrapper nearly brings no overhead, but allows us * to use proper lifecycle methods in the actual component. */ -export function MarkdownVisWrapper(props: any) { + +export interface MarkdownVisWrapperProps { + visParams: MarkdownVisParams; + fireEvent: (event: any) => void; + renderComplete: () => void; +} + +export function MarkdownVisWrapper(props: MarkdownVisWrapperProps) { return ( { } public setup(core: CoreSetup, { expressions, visualizations }: MarkdownPluginSetupDependencies) { - visualizations.createReactVisualization(markdownVisDefinition); + const start = createStartServicesGetter(core.getStartServices); + visualizations.createBaseVisualization(markdownVisDefinition); + expressions.registerRenderer(getMarkdownRenderer(start)); expressions.registerFunction(createMarkdownVisFn); } diff --git a/src/plugins/vis_type_markdown/public/to_ast.test.ts b/src/plugins/vis_type_markdown/public/to_ast.test.ts new file mode 100644 index 0000000000000..1ad1fa0ee2517 --- /dev/null +++ b/src/plugins/vis_type_markdown/public/to_ast.test.ts @@ -0,0 +1,54 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { toExpressionAst } from './to_ast'; +import { Vis } from '../../visualizations/public'; + +describe('markdown vis toExpressionAst function', () => { + let vis: Vis; + + beforeEach(() => { + vis = { + isHierarchical: () => false, + type: {}, + params: { + percentageMode: false, + }, + data: { + indexPattern: { id: '123' } as any, + aggs: { + getResponseAggs: () => [], + aggs: [], + } as any, + }, + } as any; + }); + + it('without params', () => { + vis.params = {}; + const actual = toExpressionAst(vis); + expect(actual).toMatchSnapshot(); + }); + + it('with params', () => { + vis.params = { markdown: '### my markdown', fontSize: 15, openLinksInNewTab: true }; + const actual = toExpressionAst(vis); + expect(actual).toMatchSnapshot(); + }); +}); diff --git a/src/plugins/vis_type_markdown/public/to_ast.ts b/src/plugins/vis_type_markdown/public/to_ast.ts new file mode 100644 index 0000000000000..9b481218b42ea --- /dev/null +++ b/src/plugins/vis_type_markdown/public/to_ast.ts @@ -0,0 +1,39 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Vis } from '../../visualizations/public'; +import { buildExpression, buildExpressionFunction } from '../../expressions/public'; +import { MarkdownVisExpressionFunctionDefinition } from './markdown_fn'; + +export const toExpressionAst = (vis: Vis) => { + const { markdown, fontSize, openLinksInNewTab } = vis.params; + + const markdownVis = buildExpressionFunction( + 'markdownVis', + { + markdown, + font: buildExpression(`font size=${fontSize}`), + openLinksInNewTab, + } + ); + + const ast = buildExpression([markdownVis]); + + return ast.toAst(); +}; diff --git a/src/plugins/visualizations/public/legacy/__snapshots__/build_pipeline.test.ts.snap b/src/plugins/visualizations/public/legacy/__snapshots__/build_pipeline.test.ts.snap index df29c078d23e4..fae777b98ef63 100644 --- a/src/plugins/visualizations/public/legacy/__snapshots__/build_pipeline.test.ts.snap +++ b/src/plugins/visualizations/public/legacy/__snapshots__/build_pipeline.test.ts.snap @@ -4,8 +4,6 @@ exports[`visualize loader pipeline helpers: build pipeline buildPipeline calls t exports[`visualize loader pipeline helpers: build pipeline buildPipelineVisFunction handles input_control_vis function 1`] = `"input_control_vis visConfig='{\\"some\\":\\"nested\\",\\"data\\":{\\"here\\":true}}' "`; -exports[`visualize loader pipeline helpers: build pipeline buildPipelineVisFunction handles markdown function 1`] = `"markdownvis '## hello _markdown_' font={font size=12} openLinksInNewTab=true "`; - exports[`visualize loader pipeline helpers: build pipeline buildPipelineVisFunction handles metrics/tsvb function 1`] = `"tsvb params='{\\"foo\\":\\"bar\\"}' uiState='{}' "`; exports[`visualize loader pipeline helpers: build pipeline buildPipelineVisFunction handles pie function 1`] = `"kibana_pie visConfig='{\\"dimensions\\":{\\"metric\\":{\\"accessor\\":0,\\"label\\":\\"\\",\\"format\\":{},\\"params\\":{},\\"aggType\\":\\"\\"},\\"buckets\\":[1,2]}}' "`; @@ -34,6 +32,4 @@ exports[`visualize loader pipeline helpers: build pipeline buildPipelineVisFunct exports[`visualize loader pipeline helpers: build pipeline buildPipelineVisFunction handles timelion function 1`] = `"timelion_vis expression='foo' interval='bar' "`; -exports[`visualize loader pipeline helpers: build pipeline buildPipelineVisFunction handles undefined markdown function 1`] = `"markdownvis '' font={font size=12} openLinksInNewTab=true "`; - exports[`visualize loader pipeline helpers: build pipeline buildPipelineVisFunction handles vega function 1`] = `"vega spec='this is a test' "`; diff --git a/src/plugins/visualizations/public/legacy/build_pipeline.test.ts b/src/plugins/visualizations/public/legacy/build_pipeline.test.ts index 50fa5ac64e2a1..2d92b386253b0 100644 --- a/src/plugins/visualizations/public/legacy/build_pipeline.test.ts +++ b/src/plugins/visualizations/public/legacy/build_pipeline.test.ts @@ -123,23 +123,6 @@ describe('visualize loader pipeline helpers: build pipeline', () => { expect(actual).toMatchSnapshot(); }); - it('handles markdown function', () => { - const params = { - markdown: '## hello _markdown_', - fontSize: 12, - openLinksInNewTab: true, - foo: 'bar', - }; - const actual = buildPipelineVisFunction.markdown(params, schemasDef, uiState); - expect(actual).toMatchSnapshot(); - }); - - it('handles undefined markdown function', () => { - const params = { fontSize: 12, openLinksInNewTab: true, foo: 'bar' }; - const actual = buildPipelineVisFunction.markdown(params, schemasDef, uiState); - expect(actual).toMatchSnapshot(); - }); - describe('handles table function', () => { it('without splits or buckets', () => { const params = { foo: 'bar' }; diff --git a/src/plugins/visualizations/public/legacy/build_pipeline.ts b/src/plugins/visualizations/public/legacy/build_pipeline.ts index ebd240c79287a..438a6d2337724 100644 --- a/src/plugins/visualizations/public/legacy/build_pipeline.ts +++ b/src/plugins/visualizations/public/legacy/build_pipeline.ts @@ -269,17 +269,6 @@ export const buildPipelineVisFunction: BuildPipelineVisFunction = { const interval = prepareString('interval', params.interval); return `timelion_vis ${expression}${interval}`; }, - markdown: (params) => { - const { markdown, fontSize, openLinksInNewTab } = params; - let escapedMarkdown = ''; - if (typeof markdown === 'string' || markdown instanceof String) { - escapedMarkdown = escapeString(markdown.toString()); - } - let expr = `markdownvis '${escapedMarkdown}' `; - expr += prepareValue('font', `{font size=${fontSize}}`, true); - expr += prepareValue('openLinksInNewTab', openLinksInNewTab); - return expr; - }, table: (params, schemas) => { const visConfig = { ...params, From 42c2f8e29df15a34c7f882ede09aa570e5b20e8d Mon Sep 17 00:00:00 2001 From: Vadim Dalecky Date: Fri, 21 Aug 2020 11:28:37 +0200 Subject: [PATCH 44/51] Embeddable input (#73033) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: 💡 move timeRange, filters and query to base embeddabl * refactor: 💡 use new base embeddable input in explore data * feat: 🎸 import types as types --- .../public/lib/embeddables/i_embeddable.ts | 16 ++++++++++++++++ .../public/embeddable/visualize_embeddable.ts | 3 --- .../explore_data/abstract_explore_data_action.ts | 1 + .../explore_data/explore_data_chart_action.ts | 9 +++------ .../explore_data_context_menu_action.ts | 7 +++---- 5 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/plugins/embeddable/public/lib/embeddables/i_embeddable.ts b/src/plugins/embeddable/public/lib/embeddables/i_embeddable.ts index 7628b1d41b452..9c4a1b5602c49 100644 --- a/src/plugins/embeddable/public/lib/embeddables/i_embeddable.ts +++ b/src/plugins/embeddable/public/lib/embeddables/i_embeddable.ts @@ -22,6 +22,7 @@ import { Adapters } from '../types'; import { IContainer } from '../containers/i_container'; import { ViewMode } from '../types'; import { TriggerContextMapping } from '../../../../ui_actions/public'; +import type { TimeRange, Query, Filter } from '../../../../data/common'; export interface EmbeddableError { name: string; @@ -55,6 +56,21 @@ export interface EmbeddableInput { */ disableTriggers?: boolean; + /** + * Time range of the chart. + */ + timeRange?: TimeRange; + + /** + * Visualization query string used to narrow down results. + */ + query?: Query; + + /** + * Visualization filters used to narrow down results. + */ + filters?: Filter[]; + [key: string]: unknown; } diff --git a/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts b/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts index a434bf9756b64..4efdfd2911cbc 100644 --- a/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts +++ b/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts @@ -60,9 +60,6 @@ export interface VisualizeEmbeddableConfiguration { } export interface VisualizeInput extends EmbeddableInput { - timeRange?: TimeRange; - query?: Query; - filters?: Filter[]; vis?: { colors?: { [key: string]: string }; }; diff --git a/x-pack/plugins/discover_enhanced/public/actions/explore_data/abstract_explore_data_action.ts b/x-pack/plugins/discover_enhanced/public/actions/explore_data/abstract_explore_data_action.ts index 4ddcb3386f314..36a844752a1c3 100644 --- a/x-pack/plugins/discover_enhanced/public/actions/explore_data/abstract_explore_data_action.ts +++ b/x-pack/plugins/discover_enhanced/public/actions/explore_data/abstract_explore_data_action.ts @@ -59,6 +59,7 @@ export abstract class AbstractExploreDataAction Date: Fri, 21 Aug 2020 11:33:42 +0200 Subject: [PATCH 45/51] [Lens] Use index pattern service instead saved object client (#74654) --- .../datapanel.test.tsx | 45 +- .../indexpattern_datasource/datapanel.tsx | 5 +- .../bucket_nesting_editor.test.tsx | 16 + .../dimension_panel/bucket_nesting_editor.tsx | 8 +- .../dimension_panel/dimension_panel.test.tsx | 35 +- .../dimension_panel/field_select.tsx | 6 +- .../dimension_panel/popover_editor.tsx | 1 + .../indexpattern_datasource/document_field.ts | 6 +- .../field_item.test.tsx | 15 + .../indexpattern_datasource/field_item.tsx | 6 +- .../indexpattern.test.ts | 9 + .../indexpattern_datasource/indexpattern.tsx | 7 +- .../indexpattern_suggestions.test.tsx | 41 +- .../indexpattern_suggestions.ts | 16 +- .../layerpanel.test.tsx | 11 + .../indexpattern_datasource/loader.test.ts | 554 +++++++++--------- .../public/indexpattern_datasource/loader.ts | 153 +++-- .../public/indexpattern_datasource/mocks.ts | 20 + .../operations/definitions/cardinality.tsx | 4 +- .../operations/definitions/count.tsx | 2 +- .../definitions/date_histogram.test.tsx | 7 + .../operations/definitions/date_histogram.tsx | 4 +- .../operations/definitions/metrics.tsx | 4 +- .../operations/definitions/terms.test.tsx | 8 + .../operations/definitions/terms.tsx | 4 +- .../operations/operations.test.ts | 10 + .../state_helpers.test.ts | 5 + .../public/indexpattern_datasource/types.ts | 1 + 28 files changed, 586 insertions(+), 417 deletions(-) diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx index 4a79f30a17a05..8291b673cd17a 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx @@ -87,36 +87,42 @@ const initialState: IndexPatternPrivateState = { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, }, { name: 'memory', + displayName: 'amemory', type: 'number', aggregatable: true, searchable: true, }, { name: 'unsupported', + displayName: 'unsupported', type: 'geo', aggregatable: true, searchable: true, }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, }, { name: 'client', + displayName: 'client', type: 'ip', aggregatable: true, searchable: true, @@ -131,6 +137,7 @@ const initialState: IndexPatternPrivateState = { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, @@ -145,6 +152,7 @@ const initialState: IndexPatternPrivateState = { }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, @@ -166,6 +174,7 @@ const initialState: IndexPatternPrivateState = { }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -185,18 +194,21 @@ const initialState: IndexPatternPrivateState = { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -581,18 +593,19 @@ describe('IndexPattern Data Panel', () => { .find('[data-test-subj="lnsIndexPatternAvailableFields"]') .find(FieldItem) .map((fieldItem) => fieldItem.prop('field').name) - ).toEqual(['bytes', 'memory']); + ).toEqual(['memory', 'bytes']); wrapper .find('[data-test-subj="lnsIndexPatternEmptyFields"]') .find('button') .first() .simulate('click'); + const emptyAccordion = wrapper.find('[data-test-subj="lnsIndexPatternEmptyFields"]'); expect( - wrapper - .find('[data-test-subj="lnsIndexPatternEmptyFields"]') - .find(FieldItem) - .map((fieldItem) => fieldItem.prop('field').name) + emptyAccordion.find(FieldItem).map((fieldItem) => fieldItem.prop('field').name) ).toEqual(['client', 'source', 'timestamp']); + expect( + emptyAccordion.find(FieldItem).map((fieldItem) => fieldItem.prop('field').displayName) + ).toEqual(['client', 'source', 'timestampLabel']); }); it('should display NoFieldsCallout when all fields are empty', async () => { @@ -615,8 +628,8 @@ describe('IndexPattern Data Panel', () => { wrapper .find('[data-test-subj="lnsIndexPatternEmptyFields"]') .find(FieldItem) - .map((fieldItem) => fieldItem.prop('field').name) - ).toEqual(['bytes', 'client', 'memory', 'source', 'timestamp']); + .map((fieldItem) => fieldItem.prop('field').displayName) + ).toEqual(['amemory', 'bytes', 'client', 'source', 'timestampLabel']); }); it('should display spinner for available fields accordion if existing fields are not loaded yet', async () => { @@ -656,10 +669,9 @@ describe('IndexPattern Data Panel', () => { wrapper.find('[data-test-subj="typeFilter-number"]').first().simulate('click'); - expect(wrapper.find(FieldItem).map((fieldItem) => fieldItem.prop('field').name)).toEqual([ - 'bytes', - 'memory', - ]); + expect( + wrapper.find(FieldItem).map((fieldItem) => fieldItem.prop('field').displayName) + ).toEqual(['amemory', 'bytes']); }); it('should display no fields in groups when filtered by type Record', () => { @@ -686,14 +698,9 @@ describe('IndexPattern Data Panel', () => { .find('button') .first() .simulate('click'); - expect(wrapper.find(FieldItem).map((fieldItem) => fieldItem.prop('field').name)).toEqual([ - 'Records', - 'bytes', - 'memory', - 'client', - 'source', - 'timestamp', - ]); + expect( + wrapper.find(FieldItem).map((fieldItem) => fieldItem.prop('field').displayName) + ).toEqual(['Records', 'amemory', 'bytes', 'client', 'source', 'timestampLabel']); }); it('should filter down by type and by name', () => { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx index bdcce52314634..0777b9b9d8e57 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx @@ -59,7 +59,7 @@ const FixedEuiContextMenuPanel = (EuiContextMenuPanel as unknown) as React.Funct >; function sortFields(fieldA: IndexPatternField, fieldB: IndexPatternField) { - return fieldA.name.localeCompare(fieldB.name, undefined, { sensitivity: 'base' }); + return fieldA.displayName.localeCompare(fieldB.displayName, undefined, { sensitivity: 'base' }); } const supportedFieldTypes = new Set(['string', 'number', 'boolean', 'date', 'ip', 'document']); @@ -323,7 +323,8 @@ export const InnerIndexPatternDataPanel = function InnerIndexPatternDataPanel({ fieldGroup.filter((field) => { if ( localState.nameFilter.length && - !field.name.toLowerCase().includes(localState.nameFilter.toLowerCase()) + !field.name.toLowerCase().includes(localState.nameFilter.toLowerCase()) && + !field.displayName.toLowerCase().includes(localState.nameFilter.toLowerCase()) ) { return false; } diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/bucket_nesting_editor.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/bucket_nesting_editor.test.tsx index c6dbb6f617acf..3d6c9f6047c81 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/bucket_nesting_editor.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/bucket_nesting_editor.test.tsx @@ -8,6 +8,13 @@ import { mount } from 'enzyme'; import React from 'react'; import { BucketNestingEditor } from './bucket_nesting_editor'; import { IndexPatternColumn } from '../indexpattern'; +import { IndexPatternField } from '../types'; + +const fieldMap = { + a: { displayName: 'a' } as IndexPatternField, + b: { displayName: 'b' } as IndexPatternField, + c: { displayName: 'c' } as IndexPatternField, +}; describe('BucketNestingEditor', () => { function mockCol(col: Partial = {}): IndexPatternColumn { @@ -32,6 +39,7 @@ describe('BucketNestingEditor', () => { it('should display the top level grouping when at the root', () => { const component = mount( { const component = mount( { const component = mount( { const component = mount( { const component = mount( { const component = mount( { const component = mount( { const component = mount( { const setColumns = jest.fn(); const component = mount( void; + fieldMap: Record; }) { const column = layer.columns[columnId]; const columns = Object.entries(layer.columns); @@ -37,14 +39,14 @@ export function BucketNestingEditor({ .map(([value, c]) => ({ value, text: c.label, - fieldName: hasField(c) ? c.sourceField : '', + fieldName: hasField(c) ? fieldMap[c.sourceField].displayName : '', })); if (!column || !column.isBucketed || !aggColumns.length) { return null; } - const fieldName = hasField(column) ? column.sourceField : ''; + const fieldName = hasField(column) ? fieldMap[column.sourceField].displayName : ''; const prevColumn = layer.columnOrder[layer.columnOrder.indexOf(columnId) - 1]; diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_panel.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_panel.test.tsx index 1f48f95ee45e0..bca179b437521 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_panel.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_panel.test.tsx @@ -45,6 +45,7 @@ const expectedIndexPatterns = { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, @@ -52,6 +53,7 @@ const expectedIndexPatterns = { }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, @@ -59,6 +61,7 @@ const expectedIndexPatterns = { }, { name: 'memory', + displayName: 'memory', type: 'number', aggregatable: true, searchable: true, @@ -66,6 +69,7 @@ const expectedIndexPatterns = { }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -210,9 +214,8 @@ describe('IndexPatternDimensionEditorPanel', () => { expect(options).toHaveLength(2); expect(options![0].label).toEqual('Records'); - expect(options![1].options!.map(({ label }) => label)).toEqual([ - 'timestamp', + 'timestampLabel', 'bytes', 'memory', 'source', @@ -239,7 +242,7 @@ describe('IndexPatternDimensionEditorPanel', () => { .filter('[data-test-subj="indexPattern-dimension-field"]') .prop('options'); - expect(options![1].options!.map(({ label }) => label)).toEqual(['timestamp', 'source']); + expect(options![1].options!.map(({ label }) => label)).toEqual(['timestampLabel', 'source']); }); it('should indicate fields which are incompatible for the operation of the current column', () => { @@ -277,7 +280,7 @@ describe('IndexPatternDimensionEditorPanel', () => { expect(options![0]['data-test-subj']).toEqual('lns-fieldOptionIncompatible-Records'); expect( - options![1].options!.filter(({ label }) => label === 'timestamp')[0]['data-test-subj'] + options![1].options!.filter(({ label }) => label === 'timestampLabel')[0]['data-test-subj'] ).toContain('Incompatible'); expect( options![1].options!.filter(({ label }) => label === 'memory')[0]['data-test-subj'] @@ -651,7 +654,9 @@ describe('IndexPatternDimensionEditorPanel', () => { expect(options![0]['data-test-subj']).toContain('Incompatible'); expect( - options![1].options!.filter(({ label }) => label === 'timestamp')[0]['data-test-subj'] + options![1].options!.filter(({ label }) => label === 'timestampLabel')[0][ + 'data-test-subj' + ] ).toContain('Incompatible'); expect( options![1].options!.filter(({ label }) => label === 'source')[0]['data-test-subj'] @@ -769,7 +774,9 @@ describe('IndexPatternDimensionEditorPanel', () => { expect(options![0]['data-test-subj']).toContain('Incompatible'); expect( - options![1].options!.filter(({ label }) => label === 'timestamp')[0]['data-test-subj'] + options![1].options!.filter(({ label }) => label === 'timestampLabel')[0][ + 'data-test-subj' + ] ).toContain('Incompatible'); expect( options![1].options!.filter(({ label }) => label === 'source')[0]['data-test-subj'] @@ -923,7 +930,7 @@ describe('IndexPatternDimensionEditorPanel', () => { expect(options![0]['data-test-subj']).toContain('Incompatible'); expect( - options![1].options!.filter(({ label }) => label === 'timestamp')[0]['data-test-subj'] + options![1].options!.filter(({ label }) => label === 'timestampLabel')[0]['data-test-subj'] ).toContain('Incompatible'); expect( options![1].options!.filter(({ label }) => label === 'bytes')[0]['data-test-subj'] @@ -1095,12 +1102,12 @@ describe('IndexPatternDimensionEditorPanel', () => { columnOrder: ['col1'], columns: { col1: { - label: 'Average of bar', + label: 'Average of memory', dataType: 'number', isBucketed: false, // Private operationType: 'avg', - sourceField: 'bar', + sourceField: 'memory', }, }, }, @@ -1145,12 +1152,12 @@ describe('IndexPatternDimensionEditorPanel', () => { columnOrder: ['col1'], columns: { col1: { - label: 'Average of bar', + label: 'Average of memory', dataType: 'number', isBucketed: false, // Private operationType: 'avg', - sourceField: 'bar', + sourceField: 'memory', params: { format: { id: 'bytes', params: { decimals: 0 } }, }, @@ -1195,12 +1202,12 @@ describe('IndexPatternDimensionEditorPanel', () => { columnOrder: ['col1'], columns: { col1: { - label: 'Average of bar', + label: 'Average of memory', dataType: 'number', isBucketed: false, // Private operationType: 'avg', - sourceField: 'bar', + sourceField: 'memory', params: { format: { id: 'bytes', params: { decimals: 2 } }, }, @@ -1253,12 +1260,14 @@ describe('IndexPatternDimensionEditorPanel', () => { { aggregatable: true, name: 'bar', + displayName: 'bar', searchable: true, type: 'number', }, { aggregatable: true, name: 'mystring', + displayName: 'mystring', searchable: true, type: 'string', }, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/field_select.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/field_select.tsx index 4c85a55ad6011..b2a59788b50f9 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/field_select.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/field_select.tsx @@ -74,7 +74,7 @@ export function FieldSelect({ function fieldNamesToOptions(items: string[]) { return items .map((field) => ({ - label: field, + label: fieldMap[field].displayName, value: { type: 'field', field, @@ -105,7 +105,7 @@ export function FieldSelect({ // eslint-disable-next-line @typescript-eslint/naming-convention 'lnFieldSelect__option--nonExistant': !exists, }), - 'data-test-subj': `lns-fieldOption${compatible ? '' : 'Incompatible'}-${label}`, + 'data-test-subj': `lns-fieldOption${compatible ? '' : 'Incompatible'}-${value.field}`, })); } @@ -161,7 +161,7 @@ export function FieldSelect({ ? selectedColumnSourceField ? [ { - label: selectedColumnSourceField, + label: fieldMap[selectedColumnSourceField].displayName, value: { type: 'field', field: selectedColumnSourceField }, }, ] diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/popover_editor.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/popover_editor.tsx index a5108b30cea1d..038b51b922286 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/popover_editor.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/popover_editor.tsx @@ -378,6 +378,7 @@ export function PopoverEditor(props: PopoverEditorProps) { {!hideGrouping && ( { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/document_field.ts b/x-pack/plugins/lens/public/indexpattern_datasource/document_field.ts index e0a7f27835e42..b0c5540a6b94f 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/document_field.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/document_field.ts @@ -5,12 +5,16 @@ */ import { i18n } from '@kbn/i18n'; +import { IndexPatternField } from './types'; /** * This is a special-case field which allows us to perform * document-level operations such as count. */ -export const documentField = { +export const documentField: IndexPatternField = { + displayName: i18n.translate('xpack.lens.indexPattern.records', { + defaultMessage: 'Records', + }), name: i18n.translate('xpack.lens.indexPattern.records', { defaultMessage: 'Records', }), diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/field_item.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/field_item.test.tsx index 08a2f85ec7053..781222888b6dc 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/field_item.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/field_item.test.tsx @@ -36,30 +36,35 @@ describe('IndexPattern Field Item', () => { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, }, { name: 'bytes', + displayName: 'bytesLabel', type: 'number', aggregatable: true, searchable: true, }, { name: 'memory', + displayName: 'memory', type: 'number', aggregatable: true, searchable: true, }, { name: 'unsupported', + displayName: 'unsupported', type: 'geo', aggregatable: true, searchable: true, }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -83,6 +88,7 @@ describe('IndexPattern Field Item', () => { filters: [], field: { name: 'bytes', + displayName: 'bytesLabel', type: 'number', aggregatable: true, searchable: true, @@ -98,6 +104,13 @@ describe('IndexPattern Field Item', () => { } as unknown) as DataPublicPluginStart['fieldFormats']; }); + it('should display displayName of a field', () => { + const wrapper = mountWithIntl(); + expect(wrapper.find('[data-test-subj="lnsFieldListPanelField"]').first().text()).toEqual( + 'bytesLabel' + ); + }); + it('should request field stats without a time field, if the index pattern has none', async () => { indexPattern.timeFieldName = undefined; core.http.post.mockImplementationOnce(() => { @@ -149,6 +162,7 @@ describe('IndexPattern Field Item', () => { timeFieldName: 'timestamp', field: { name: 'bytes', + displayName: 'bytesLabel', type: 'number', aggregatable: true, searchable: true, @@ -235,6 +249,7 @@ describe('IndexPattern Field Item', () => { timeFieldName: 'timestamp', field: { name: 'bytes', + displayName: 'bytesLabel', type: 'number', aggregatable: true, searchable: true, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx index 5dc6673bc29ec..5bcfbc64ec706 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx @@ -100,7 +100,7 @@ export const InnerFieldItem = function InnerFieldItem(props: FieldItemProps) { isLoading: false, }); - const wrappableName = wrapOnDot(field.name)!; + const wrappableName = wrapOnDot(field.displayName)!; const wrappableHighlight = wrapOnDot(highlight); const highlightIndex = wrappableHighlight ? wrappableName.toLowerCase().indexOf(wrappableHighlight.toLowerCase()) @@ -204,7 +204,7 @@ export const InnerFieldItem = function InnerFieldItem(props: FieldItemProps) { container={document.querySelector('.application') || undefined} button={ = { id: 'indexpattern', @@ -129,6 +131,7 @@ export function getIndexPatternDatasource({ savedObjectsClient: await savedObjectsClient, defaultIndexPatternId: core.uiSettings.get('defaultIndex'), storage, + indexPatternsService, }); }, @@ -209,9 +212,9 @@ export function getIndexPatternDatasource({ id, state, setState, - savedObjectsClient, onError: onIndexPatternLoadError, storage, + indexPatternsService, }); }} data={data} @@ -289,7 +292,6 @@ export function getIndexPatternDatasource({ { changeLayerIndexPattern({ - savedObjectsClient, indexPatternId, setState: props.setState, state: props.state, @@ -297,6 +299,7 @@ export function getIndexPatternDatasource({ onError: onIndexPatternLoadError, replaceIfPossible: true, storage, + indexPatternsService, }); }} {...props} diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.test.tsx index b6246c6e91e7e..5489dcffc52c4 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.test.tsx @@ -23,36 +23,42 @@ const expectedIndexPatterns = { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, }, { name: 'start_date', + displayName: 'start_date', type: 'date', aggregatable: true, searchable: true, }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, }, { name: 'memory', + displayName: 'memory', type: 'number', aggregatable: true, searchable: true, }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, }, { name: 'dest', + displayName: 'dest', type: 'string', aggregatable: true, searchable: true, @@ -66,6 +72,7 @@ const expectedIndexPatterns = { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, @@ -80,6 +87,7 @@ const expectedIndexPatterns = { }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, @@ -105,6 +113,7 @@ const expectedIndexPatterns = { }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -169,6 +178,7 @@ describe('IndexPattern Data Source suggestions', () => { it('should apply a bucketed aggregation for a string field', () => { const suggestions = getDatasourceSuggestionsForField(stateWithoutLayer(), '1', { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -214,6 +224,7 @@ describe('IndexPattern Data Source suggestions', () => { it('should apply a bucketed aggregation for a date field', () => { const suggestions = getDatasourceSuggestionsForField(stateWithoutLayer(), '1', { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, @@ -258,6 +269,7 @@ describe('IndexPattern Data Source suggestions', () => { it('should select a metric for a number field', () => { const suggestions = getDatasourceSuggestionsForField(stateWithoutLayer(), '1', { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, @@ -313,6 +325,7 @@ describe('IndexPattern Data Source suggestions', () => { fields: [ { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, @@ -331,6 +344,7 @@ describe('IndexPattern Data Source suggestions', () => { const suggestions = getDatasourceSuggestionsForField(state, '1', { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, @@ -374,6 +388,7 @@ describe('IndexPattern Data Source suggestions', () => { it('should apply a bucketed aggregation for a string field', () => { const suggestions = getDatasourceSuggestionsForField(stateWithEmptyLayer(), '1', { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -419,6 +434,7 @@ describe('IndexPattern Data Source suggestions', () => { it('should apply a bucketed aggregation for a date field', () => { const suggestions = getDatasourceSuggestionsForField(stateWithEmptyLayer(), '1', { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, @@ -463,6 +479,7 @@ describe('IndexPattern Data Source suggestions', () => { it('should select a metric for a number field', () => { const suggestions = getDatasourceSuggestionsForField(stateWithEmptyLayer(), '1', { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, @@ -518,6 +535,7 @@ describe('IndexPattern Data Source suggestions', () => { fields: [ { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, @@ -536,6 +554,7 @@ describe('IndexPattern Data Source suggestions', () => { const suggestions = getDatasourceSuggestionsForField(state, '1', { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, @@ -563,6 +582,7 @@ describe('IndexPattern Data Source suggestions', () => { it('creates a new layer and replaces layer if no match is found', () => { const suggestions = getDatasourceSuggestionsForField(stateWithEmptyLayer(), '2', { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -693,6 +713,7 @@ describe('IndexPattern Data Source suggestions', () => { '1', { name: 'start_date', + displayName: 'start_date', type: 'date', aggregatable: true, searchable: true, @@ -724,6 +745,7 @@ describe('IndexPattern Data Source suggestions', () => { const initialState = stateWithNonEmptyTables(); const suggestions = getDatasourceSuggestionsForField(initialState, '1', { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, @@ -770,6 +792,7 @@ describe('IndexPattern Data Source suggestions', () => { it('does not use the same field for bucketing multiple times', () => { const suggestions = getDatasourceSuggestionsForField(stateWithNonEmptyTables(), '1', { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -785,6 +808,7 @@ describe('IndexPattern Data Source suggestions', () => { const initialState = stateWithNonEmptyTables(); const suggestions = getDatasourceSuggestionsForField(initialState, '1', { name: 'dest', + displayName: 'dest', type: 'string', aggregatable: true, searchable: true, @@ -816,6 +840,7 @@ describe('IndexPattern Data Source suggestions', () => { const initialState = stateWithNonEmptyTables(); const suggestions = getDatasourceSuggestionsForField(initialState, '1', { name: 'memory', + displayName: 'memory', type: 'number', aggregatable: true, searchable: true, @@ -858,6 +883,7 @@ describe('IndexPattern Data Source suggestions', () => { }; const suggestions = getDatasourceSuggestionsForField(modifiedState, '1', { name: 'memory', + displayName: 'memory', type: 'number', aggregatable: true, searchable: true, @@ -908,6 +934,7 @@ describe('IndexPattern Data Source suggestions', () => { }; const suggestions = getDatasourceSuggestionsForField(modifiedState, '1', { name: 'memory', + displayName: 'memory', type: 'number', aggregatable: true, searchable: true, @@ -961,6 +988,7 @@ describe('IndexPattern Data Source suggestions', () => { const initialState = stateWithCurrentIndexPattern(); const suggestions = getDatasourceSuggestionsForField(initialState, '2', { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, @@ -1015,6 +1043,7 @@ describe('IndexPattern Data Source suggestions', () => { const initialState = stateWithCurrentIndexPattern(); const suggestions = getDatasourceSuggestionsForField(initialState, '1', { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, @@ -1185,7 +1214,7 @@ describe('IndexPattern Data Source suggestions', () => { { columnId: 'id1', operation: { - label: 'timestamp', + label: 'timestampLabel', dataType: 'date', isBucketed: true, scale: 'interval', @@ -1261,7 +1290,7 @@ describe('IndexPattern Data Source suggestions', () => { { columnId: 'id1', operation: { - label: 'timestamp', + label: 'timestampLabel', dataType: 'date', isBucketed: true, scale: 'interval', @@ -1324,30 +1353,35 @@ describe('IndexPattern Data Source suggestions', () => { fields: [ { name: 'field1', + displayName: 'field1', type: 'string', aggregatable: true, searchable: true, }, { name: 'field2', + displayName: 'field2', type: 'string', aggregatable: true, searchable: true, }, { name: 'field3', + displayName: 'field3Label', type: 'string', aggregatable: true, searchable: true, }, { name: 'field4', + displayName: 'field4', type: 'number', aggregatable: true, searchable: true, }, { name: 'field5', + displayName: 'field5', type: 'number', aggregatable: true, searchable: true, @@ -1462,12 +1496,14 @@ describe('IndexPattern Data Source suggestions', () => { fields: [ { name: 'field1', + displayName: 'field1', type: 'number', aggregatable: true, searchable: true, }, { name: 'field2', + displayName: 'field2', type: 'date', aggregatable: true, searchable: true, @@ -1522,6 +1558,7 @@ describe('IndexPattern Data Source suggestions', () => { fields: [ { name: 'field1', + displayName: 'field1', type: 'number', aggregatable: true, searchable: true, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts index 111a113a16be7..f3aa9c4f51c82 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts @@ -481,11 +481,19 @@ function createChangedNestingSuggestion(state: IndexPatternPrivateState, layerId const layer = state.layers[layerId]; const [firstBucket, secondBucket, ...rest] = layer.columnOrder; const updatedLayer = { ...layer, columnOrder: [secondBucket, firstBucket, ...rest] }; + const currentFields = state.indexPatterns[state.currentIndexPatternId].fields; + const firstBucketLabel = + currentFields.find((field) => field.name === layer.columns[firstBucket].sourceField) + ?.displayName || ''; + const secondBucketLabel = + currentFields.find((field) => field.name === layer.columns[secondBucket].sourceField) + ?.displayName || ''; + return buildSuggestion({ state, layerId, updatedLayer, - label: getNestedTitle([layer.columns[secondBucket], layer.columns[firstBucket]]), + label: getNestedTitle([secondBucketLabel, firstBucketLabel]), changeType: 'reorder', }); } @@ -544,12 +552,12 @@ function createMetricSuggestion( }); } -function getNestedTitle([outerBucket, innerBucket]: IndexPatternColumn[]) { +function getNestedTitle([outerBucketLabel, innerBucketLabel]: string[]) { return i18n.translate('xpack.lens.indexpattern.suggestions.nestingChangeLabel', { defaultMessage: '{innerOperation} for each {outerOperation}', values: { - innerOperation: innerBucket.sourceField, - outerOperation: outerBucket.sourceField, + innerOperation: innerBucketLabel, + outerOperation: outerBucketLabel, }, }); } diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.test.tsx index 560c48b2155ee..738cdd611a7ba 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.test.tsx @@ -65,30 +65,35 @@ const initialState: IndexPatternPrivateState = { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, }, { name: 'memory', + displayName: 'memory', type: 'number', aggregatable: true, searchable: true, }, { name: 'unsupported', + displayName: 'unsupported', type: 'geo', aggregatable: true, searchable: true, }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -102,6 +107,7 @@ const initialState: IndexPatternPrivateState = { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, @@ -116,6 +122,7 @@ const initialState: IndexPatternPrivateState = { }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, @@ -137,6 +144,7 @@ const initialState: IndexPatternPrivateState = { }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -155,18 +163,21 @@ const initialState: IndexPatternPrivateState = { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, }, { name: 'memory', + displayName: 'memory', type: 'number', aggregatable: true, searchable: true, }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts b/x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts index 27904a0f23f16..cfabcb4edcef7 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts @@ -13,7 +13,14 @@ import { changeLayerIndexPattern, syncExistingFields, } from './loader'; -import { IndexPatternPersistedState, IndexPatternPrivateState, IndexPatternField } from './types'; +import { IndexPatternsContract } from '../../../../../src/plugins/data/public'; +import { + IndexPatternPersistedState, + IndexPatternPrivateState, + IndexPatternField, + IndexPattern, +} from './types'; +import { createMockedRestrictedIndexPattern, createMockedIndexPattern } from './mocks'; import { documentField } from './document_field'; jest.mock('./operations'); @@ -27,154 +34,157 @@ const createMockStorage = (lastData?: Record) => { }; }; -const sampleIndexPatterns = { - a: { - id: 'a', - title: 'my-fake-index-pattern', - timeFieldName: 'timestamp', - fields: [ - { - name: 'timestamp', - type: 'date', - aggregatable: true, - searchable: true, - }, - { - name: 'start_date', - type: 'date', - aggregatable: true, - searchable: true, - }, - { - name: 'bytes', - type: 'number', - aggregatable: true, - searchable: true, - }, - { - name: 'memory', - type: 'number', - aggregatable: true, - searchable: true, - }, - { - name: 'source', - type: 'string', - aggregatable: true, - searchable: true, - esTypes: ['keyword'], - }, - { - name: 'dest', - type: 'string', - aggregatable: true, - searchable: true, - esTypes: ['keyword'], - }, - documentField, - ], - }, - b: { - id: 'b', - title: 'my-fake-restricted-pattern', - timeFieldName: 'timestamp', - fields: [ - { - name: 'timestamp', - type: 'date', - aggregatable: true, - searchable: true, - aggregationRestrictions: { - date_histogram: { - agg: 'date_histogram', - fixed_interval: '1d', - delay: '7d', - time_zone: 'UTC', - }, +const indexPattern1 = ({ + id: '1', + title: 'my-fake-index-pattern', + timeFieldName: 'timestamp', + fields: [ + { + name: 'timestamp', + displayName: 'timestampLabel', + type: 'date', + aggregatable: true, + searchable: true, + }, + { + name: 'start_date', + displayName: 'start_date', + type: 'date', + aggregatable: true, + searchable: true, + }, + { + name: 'bytes', + displayName: 'bytes', + type: 'number', + aggregatable: true, + searchable: true, + }, + { + name: 'memory', + displayName: 'memory', + type: 'number', + aggregatable: true, + searchable: true, + }, + { + name: 'source', + displayName: 'source', + type: 'string', + aggregatable: true, + searchable: true, + esTypes: ['keyword'], + }, + { + name: 'unsupported', + displayName: 'unsupported', + type: 'geo', + aggregatable: true, + searchable: true, + }, + { + name: 'dest', + displayName: 'dest', + type: 'string', + aggregatable: true, + searchable: true, + esTypes: ['keyword'], + }, + documentField, + ], +} as unknown) as IndexPattern; + +const sampleIndexPatternsFromService = { + '1': createMockedIndexPattern(), + '2': createMockedRestrictedIndexPattern(), +}; + +const indexPattern2 = ({ + id: '2', + title: 'my-fake-restricted-pattern', + timeFieldName: 'timestamp', + fields: [ + { + name: 'timestamp', + displayName: 'timestampLabel', + type: 'date', + aggregatable: true, + searchable: true, + aggregationRestrictions: { + date_histogram: { + agg: 'date_histogram', + fixed_interval: '1d', + delay: '7d', + time_zone: 'UTC', }, }, - { - name: 'bytes', - type: 'number', - aggregatable: true, - searchable: true, - aggregationRestrictions: { - // Ignored in the UI - histogram: { - agg: 'histogram', - interval: 1000, - }, - avg: { - agg: 'avg', - }, - max: { - agg: 'max', - }, - min: { - agg: 'min', - }, - sum: { - agg: 'sum', - }, + }, + { + name: 'bytes', + displayName: 'bytes', + type: 'number', + aggregatable: true, + searchable: true, + aggregationRestrictions: { + // Ignored in the UI + histogram: { + agg: 'histogram', + interval: 1000, }, - }, - { - name: 'source', - type: 'string', - aggregatable: false, - searchable: false, - scripted: true, - aggregationRestrictions: { - terms: { - agg: 'terms', - }, + avg: { + agg: 'avg', + }, + max: { + agg: 'max', + }, + min: { + agg: 'min', + }, + sum: { + agg: 'sum', }, - esTypes: ['keyword'], }, - documentField, - ], - }, -}; - -function indexPatternSavedObject({ id }: { id: keyof typeof sampleIndexPatterns }) { - const pattern = { - ...sampleIndexPatterns[id], - fields: [ - ...sampleIndexPatterns[id].fields, - { - name: 'description', - type: 'string', - aggregatable: false, - searchable: true, - esTypes: ['text'], + }, + { + name: 'source', + displayName: 'source', + type: 'string', + aggregatable: true, + searchable: true, + scripted: true, + aggregationRestrictions: { + terms: { + agg: 'terms', + }, }, - ], - }; - return { - id, - type: 'index-pattern', - attributes: { - title: pattern.title, - timeFieldName: pattern.timeFieldName, - fields: JSON.stringify(pattern.fields.filter((f) => f.type !== 'document')), + esTypes: ['keyword'], }, - }; -} + documentField, + ], +} as unknown) as IndexPattern; + +const sampleIndexPatterns = { + '1': indexPattern1, + '2': indexPattern2, +}; function mockClient() { return ({ find: jest.fn(async () => ({ savedObjects: [ - { id: 'a', attributes: { title: sampleIndexPatterns.a.title } }, - { id: 'b', attributes: { title: sampleIndexPatterns.b.title } }, + { id: '1', attributes: { title: sampleIndexPatterns[1].title } }, + { id: '2', attributes: { title: sampleIndexPatterns[2].title } }, ], })), - async bulkGet(indexPatterns: Array<{ id: keyof typeof sampleIndexPatterns }>) { - return { - savedObjects: indexPatterns.map(({ id }) => indexPatternSavedObject({ id })), - }; - }, - } as unknown) as Pick; + } as unknown) as Pick; +} + +function mockIndexPatternsService() { + return ({ + get: jest.fn(async (id: '1' | '2') => { + return sampleIndexPatternsFromService[id]; + }), + } as unknown) as Pick; } describe('loader', () => { @@ -182,11 +192,12 @@ describe('loader', () => { it('should not load index patterns that are already loaded', async () => { const cache = await loadIndexPatterns({ cache: sampleIndexPatterns, - patterns: ['a', 'b'], - savedObjectsClient: { - bulkGet: jest.fn(() => Promise.reject('bulkGet should not have been called')), - find: jest.fn(() => Promise.reject('find should not have been called')), - }, + patterns: ['1', '2'], + indexPatternsService: ({ + get: jest.fn(() => + Promise.reject('mockIndexPatternService.get should not have been called') + ), + } as unknown) as Pick, }); expect(cache).toEqual(sampleIndexPatterns); @@ -195,10 +206,10 @@ describe('loader', () => { it('should load index patterns that are not loaded', async () => { const cache = await loadIndexPatterns({ cache: { - b: sampleIndexPatterns.b, + '2': sampleIndexPatterns['2'], }, - patterns: ['a', 'b'], - savedObjectsClient: mockClient(), + patterns: ['1', '2'], + indexPatternsService: mockIndexPatternsService(), }); expect(cache).toMatchObject(sampleIndexPatterns); @@ -207,8 +218,8 @@ describe('loader', () => { it('should allow scripted, but not full text fields', async () => { const cache = await loadIndexPatterns({ cache: {}, - patterns: ['a', 'b'], - savedObjectsClient: mockClient(), + patterns: ['1', '2'], + indexPatternsService: mockIndexPatternsService(), }); expect(cache).toMatchObject(sampleIndexPatterns); @@ -218,61 +229,56 @@ describe('loader', () => { const cache = await loadIndexPatterns({ cache: {}, patterns: ['foo'], - savedObjectsClient: ({ - ...mockClient(), - async bulkGet() { - return { - savedObjects: [ - { - id: 'foo', - type: 'index-pattern', - attributes: { - title: 'Foo index', - typeMeta: JSON.stringify({ - aggs: { - date_histogram: { - timestamp: { - agg: 'date_histogram', - fixed_interval: 'm', - }, - }, - sum: { - bytes: { - agg: 'sum', - }, - }, - }, - }), - fields: JSON.stringify([ - { - name: 'timestamp', - type: 'date', - aggregatable: true, - searchable: true, - }, - { - name: 'bytes', - type: 'number', - aggregatable: true, - searchable: true, - }, - ]), + indexPatternsService: ({ + get: jest.fn(async () => ({ + id: 'foo', + title: 'Foo index', + typeMeta: { + aggs: { + date_histogram: { + timestamp: { + agg: 'date_histogram', + fixed_interval: 'm', }, }, - ], - }; - }, - } as unknown) as Pick, + sum: { + bytes: { + agg: 'sum', + }, + }, + }, + }, + fields: [ + { + name: 'timestamp', + displayName: 'timestampLabel', + type: 'date', + aggregatable: true, + searchable: true, + }, + { + name: 'bytes', + displayName: 'bytes', + type: 'number', + aggregatable: true, + searchable: true, + }, + ], + })), + } as unknown) as Pick, }); - expect(cache.foo.fields.find((f) => f.name === 'bytes')!.aggregationRestrictions).toEqual({ + expect( + cache.foo.fields.find((f: IndexPatternField) => f.name === 'bytes')!.aggregationRestrictions + ).toEqual({ sum: { agg: 'sum' }, }); - expect(cache.foo.fields.find((f) => f.name === 'timestamp')!.aggregationRestrictions).toEqual( - { - date_histogram: { agg: 'date_histogram', fixed_interval: 'm' }, - } - ); + expect( + cache.foo.fields.find((f: IndexPatternField) => f.name === 'timestamp')! + .aggregationRestrictions + ).toEqual({ + date_histogram: { agg: 'date_histogram', fixed_interval: 'm' }, + }); }); }); @@ -281,22 +287,23 @@ describe('loader', () => { const storage = createMockStorage(); const state = await loadInitialState({ savedObjectsClient: mockClient(), + indexPatternsService: mockIndexPatternsService(), storage, }); expect(state).toMatchObject({ - currentIndexPatternId: 'a', + currentIndexPatternId: '1', indexPatternRefs: [ - { id: 'a', title: sampleIndexPatterns.a.title }, - { id: 'b', title: sampleIndexPatterns.b.title }, + { id: '1', title: sampleIndexPatterns['1'].title }, + { id: '2', title: sampleIndexPatterns['2'].title }, ], indexPatterns: { - a: sampleIndexPatterns.a, + '1': sampleIndexPatterns['1'], }, layers: {}, }); expect(storage.set).toHaveBeenCalledWith('lens-settings', { - indexPatternId: 'a', + indexPatternId: '1', }); }); @@ -304,39 +311,41 @@ describe('loader', () => { const storage = createMockStorage({ indexPatternId: 'c' }); const state = await loadInitialState({ savedObjectsClient: mockClient(), + indexPatternsService: mockIndexPatternsService(), storage, }); expect(state).toMatchObject({ - currentIndexPatternId: 'a', + currentIndexPatternId: '1', indexPatternRefs: [ - { id: 'a', title: sampleIndexPatterns.a.title }, - { id: 'b', title: sampleIndexPatterns.b.title }, + { id: '1', title: sampleIndexPatterns['1'].title }, + { id: '2', title: sampleIndexPatterns['2'].title }, ], indexPatterns: { - a: sampleIndexPatterns.a, + '1': sampleIndexPatterns['1'], }, layers: {}, }); expect(storage.set).toHaveBeenCalledWith('lens-settings', { - indexPatternId: 'a', + indexPatternId: '1', }); }); it('should load lastUsedIndexPatternId if in localStorage', async () => { const state = await loadInitialState({ savedObjectsClient: mockClient(), - storage: createMockStorage({ indexPatternId: 'b' }), + indexPatternsService: mockIndexPatternsService(), + storage: createMockStorage({ indexPatternId: '2' }), }); expect(state).toMatchObject({ - currentIndexPatternId: 'b', + currentIndexPatternId: '2', indexPatternRefs: [ - { id: 'a', title: sampleIndexPatterns.a.title }, - { id: 'b', title: sampleIndexPatterns.b.title }, + { id: '1', title: sampleIndexPatterns['1'].title }, + { id: '2', title: sampleIndexPatterns['2'].title }, ], indexPatterns: { - b: sampleIndexPatterns.b, + '2': sampleIndexPatterns['2'], }, layers: {}, }); @@ -345,33 +354,34 @@ describe('loader', () => { it('should use the default index pattern id, if provided', async () => { const storage = createMockStorage(); const state = await loadInitialState({ - defaultIndexPatternId: 'b', + defaultIndexPatternId: '2', savedObjectsClient: mockClient(), + indexPatternsService: mockIndexPatternsService(), storage, }); expect(state).toMatchObject({ - currentIndexPatternId: 'b', + currentIndexPatternId: '2', indexPatternRefs: [ - { id: 'a', title: sampleIndexPatterns.a.title }, - { id: 'b', title: sampleIndexPatterns.b.title }, + { id: '1', title: sampleIndexPatterns['1'].title }, + { id: '2', title: sampleIndexPatterns['2'].title }, ], indexPatterns: { - b: sampleIndexPatterns.b, + '2': sampleIndexPatterns['2'], }, layers: {}, }); expect(storage.set).toHaveBeenCalledWith('lens-settings', { - indexPatternId: 'b', + indexPatternId: '2', }); }); it('should initialize from saved state', async () => { const savedState: IndexPatternPersistedState = { - currentIndexPatternId: 'b', + currentIndexPatternId: '2', layers: { layerb: { - indexPatternId: 'b', + indexPatternId: '2', columnOrder: ['col1', 'col2'], columns: { col1: { @@ -395,27 +405,28 @@ describe('loader', () => { }, }, }; - const storage = createMockStorage({ indexPatternId: 'a' }); + const storage = createMockStorage({ indexPatternId: '1' }); const state = await loadInitialState({ state: savedState, savedObjectsClient: mockClient(), + indexPatternsService: mockIndexPatternsService(), storage, }); expect(state).toMatchObject({ - currentIndexPatternId: 'b', + currentIndexPatternId: '2', indexPatternRefs: [ - { id: 'a', title: sampleIndexPatterns.a.title }, - { id: 'b', title: sampleIndexPatterns.b.title }, + { id: '1', title: sampleIndexPatterns['1'].title }, + { id: '2', title: sampleIndexPatterns['2'].title }, ], indexPatterns: { - b: sampleIndexPatterns.b, + '2': sampleIndexPatterns['2'], }, layers: savedState.layers, }); expect(storage.set).toHaveBeenCalledWith('lens-settings', { - indexPatternId: 'b', + indexPatternId: '2', }); }); }); @@ -424,33 +435,36 @@ describe('loader', () => { it('loads the index pattern and then sets it as current', async () => { const setState = jest.fn(); const state: IndexPatternPrivateState = { - currentIndexPatternId: 'b', + currentIndexPatternId: '2', indexPatternRefs: [], indexPatterns: {}, existingFields: {}, layers: {}, isFirstExistenceFetch: false, }; - const storage = createMockStorage({ indexPatternId: 'b' }); + const storage = createMockStorage({ indexPatternId: '2' }); await changeIndexPattern({ state, setState, - id: 'a', - savedObjectsClient: mockClient(), + id: '1', + indexPatternsService: mockIndexPatternsService(), onError: jest.fn(), storage, }); expect(setState).toHaveBeenCalledTimes(1); expect(setState.mock.calls[0][0](state)).toMatchObject({ - currentIndexPatternId: 'a', + currentIndexPatternId: '1', indexPatterns: { - a: sampleIndexPatterns.a, + '1': { + ...sampleIndexPatterns['1'], + fields: [...sampleIndexPatterns['1'].fields], + }, }, }); expect(storage.set).toHaveBeenCalledWith('lens-settings', { - indexPatternId: 'a', + indexPatternId: '1', }); }); @@ -459,7 +473,7 @@ describe('loader', () => { const onError = jest.fn(); const err = new Error('NOPE!'); const state: IndexPatternPrivateState = { - currentIndexPatternId: 'b', + currentIndexPatternId: '2', indexPatternRefs: [], existingFields: {}, indexPatterns: {}, @@ -467,15 +481,14 @@ describe('loader', () => { isFirstExistenceFetch: false, }; - const storage = createMockStorage({ indexPatternId: 'b' }); + const storage = createMockStorage({ indexPatternId: '2' }); await changeIndexPattern({ state, setState, - id: 'a', - savedObjectsClient: { - ...mockClient(), - bulkGet: jest.fn(async () => { + id: '1', + indexPatternsService: { + get: jest.fn(async () => { throw err; }), }, @@ -493,17 +506,17 @@ describe('loader', () => { it('loads the index pattern and then changes the specified layer', async () => { const setState = jest.fn(); const state: IndexPatternPrivateState = { - currentIndexPatternId: 'b', + currentIndexPatternId: '2', indexPatternRefs: [], existingFields: {}, indexPatterns: { - a: sampleIndexPatterns.a, + '1': sampleIndexPatterns['1'], }, layers: { l0: { columnOrder: ['col1'], columns: {}, - indexPatternId: 'a', + indexPatternId: '1', }, l1: { columnOrder: ['col2'], @@ -519,36 +532,36 @@ describe('loader', () => { sourceField: 'timestamp', }, }, - indexPatternId: 'a', + indexPatternId: '1', }, }, isFirstExistenceFetch: false, }; - const storage = createMockStorage({ indexPatternId: 'a' }); + const storage = createMockStorage({ indexPatternId: '1' }); await changeLayerIndexPattern({ state, setState, - indexPatternId: 'b', + indexPatternId: '2', layerId: 'l1', - savedObjectsClient: mockClient(), + indexPatternsService: mockIndexPatternsService(), onError: jest.fn(), storage, }); expect(setState).toHaveBeenCalledTimes(1); expect(setState.mock.calls[0][0](state)).toMatchObject({ - currentIndexPatternId: 'b', + currentIndexPatternId: '2', indexPatterns: { - a: sampleIndexPatterns.a, - b: sampleIndexPatterns.b, + 1: sampleIndexPatterns['1'], + 2: sampleIndexPatterns['2'], }, layers: { l0: { columnOrder: ['col1'], columns: {}, - indexPatternId: 'a', + indexPatternId: '1', }, l1: { columnOrder: ['col2'], @@ -564,12 +577,12 @@ describe('loader', () => { sourceField: 'timestamp', }, }, - indexPatternId: 'b', + indexPatternId: '2', }, }, }); expect(storage.set).toHaveBeenCalledWith('lens-settings', { - indexPatternId: 'b', + indexPatternId: '2', }); }); @@ -578,32 +591,31 @@ describe('loader', () => { const onError = jest.fn(); const err = new Error('NOPE!'); const state: IndexPatternPrivateState = { - currentIndexPatternId: 'b', + currentIndexPatternId: '2', indexPatternRefs: [], existingFields: {}, indexPatterns: { - a: sampleIndexPatterns.a, + '1': sampleIndexPatterns['1'], }, layers: { l0: { columnOrder: ['col1'], columns: {}, - indexPatternId: 'a', + indexPatternId: '1', }, }, isFirstExistenceFetch: false, }; - const storage = createMockStorage({ indexPatternId: 'b' }); + const storage = createMockStorage({ indexPatternId: '2' }); await changeLayerIndexPattern({ state, setState, - indexPatternId: 'b', + indexPatternId: '2', layerId: 'l0', - savedObjectsClient: { - ...mockClient(), - bulkGet: jest.fn(async () => { + indexPatternsService: { + get: jest.fn(async () => { throw err; }), }, @@ -634,7 +646,7 @@ describe('loader', () => { return { indexPatternTitle, existingFieldNames: ['field_1', 'field_2'].map( - (fieldName) => `${indexPatternTitle}_${fieldName}` + (fieldName) => `ip${indexPatternTitle}_${fieldName}` ), }; }) as unknown) as HttpHandler; @@ -643,9 +655,9 @@ describe('loader', () => { dateRange: { fromDate: '1900-01-01', toDate: '2000-01-01' }, fetchJson, indexPatterns: [ - { id: 'a', title: 'a', fields: [] }, - { id: 'b', title: 'a', fields: [] }, - { id: 'c', title: 'a', fields: [] }, + { id: '1', title: '1', fields: [] }, + { id: '2', title: '1', fields: [] }, + { id: '3', title: '1', fields: [] }, ], setState, dslQuery, @@ -668,9 +680,9 @@ describe('loader', () => { isFirstExistenceFetch: false, existenceFetchFailed: false, existingFields: { - a: { a_field_1: true, a_field_2: true }, - b: { b_field_1: true, b_field_2: true }, - c: { c_field_1: true, c_field_2: true }, + '1': { ip1_field_1: true, ip1_field_2: true }, + '2': { ip2_field_1: true, ip2_field_2: true }, + '3': { ip3_field_1: true, ip3_field_2: true }, }, }); }); @@ -683,7 +695,7 @@ describe('loader', () => { return { indexPatternTitle, existingFieldNames: - indexPatternTitle === 'a' + indexPatternTitle === '1' ? ['field_1', 'field_2'].map((fieldName) => `${indexPatternTitle}_${fieldName}`) : [], }; @@ -693,9 +705,9 @@ describe('loader', () => { dateRange: { fromDate: '1900-01-01', toDate: '2000-01-01' }, fetchJson, indexPatterns: [ - { id: 'a', title: 'a', fields: [] }, - { id: 'b', title: 'a', fields: [] }, - { id: 'c', title: 'a', fields: [] }, + { id: '1', title: '1', fields: [] }, + { id: '2', title: '1', fields: [] }, + { id: 'c', title: '1', fields: [] }, ], setState, dslQuery, @@ -725,8 +737,8 @@ describe('loader', () => { fetchJson, indexPatterns: [ { - id: 'a', - title: 'a', + id: '1', + title: '1', fields: [{ name: 'field1' }, { name: 'field2' }] as IndexPatternField[], }, ], @@ -746,7 +758,7 @@ describe('loader', () => { }) as IndexPatternPrivateState; expect(newState.existenceFetchFailed).toEqual(true); - expect(newState.existingFields.a).toEqual({ + expect(newState.existingFields['1']).toEqual({ field1: true, field2: true, }); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts b/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts index 20e7bec6db131..9c4a19e58a052 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts @@ -6,8 +6,7 @@ import _ from 'lodash'; import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; -import { SavedObjectsClientContract, SavedObjectAttributes, HttpSetup } from 'kibana/public'; -import { SimpleSavedObject } from 'kibana/public'; +import { SavedObjectsClientContract, HttpSetup } from 'kibana/public'; import { StateSetter } from '../types'; import { IndexPattern, @@ -19,33 +18,25 @@ import { import { updateLayerIndexPattern } from './state_helpers'; import { DateRange, ExistingFields } from '../../common/types'; import { BASE_API_URL } from '../../common'; -import { documentField } from './document_field'; import { + IndexPatternsContract, indexPatterns as indexPatternsUtils, - IFieldType, - IndexPatternTypeMeta, } from '../../../../../src/plugins/data/public'; +import { documentField } from './document_field'; import { readFromStorage, writeToStorage } from '../settings_storage'; -interface SavedIndexPatternAttributes extends SavedObjectAttributes { - title: string; - timeFieldName: string | null; - fields: string; - fieldFormatMap: string; - typeMeta: string; -} - type SetState = StateSetter; -type SavedObjectsClient = Pick; +type SavedObjectsClient = Pick; +type IndexPatternsService = Pick; type ErrorHandler = (err: Error) => void; export async function loadIndexPatterns({ + indexPatternsService, patterns, - savedObjectsClient, cache, }: { + indexPatternsService: IndexPatternsService; patterns: string[]; - savedObjectsClient: SavedObjectsClient; cache: Record; }) { const missingIds = patterns.filter((id) => !cache[id]); @@ -54,20 +45,62 @@ export async function loadIndexPatterns({ return cache; } - const resp = await savedObjectsClient.bulkGet( - missingIds.map((id) => ({ id, type: 'index-pattern' })) - ); + const indexPatterns = await Promise.all(missingIds.map((id) => indexPatternsService.get(id))); + const indexPatternsObject = indexPatterns.reduce( + (acc, indexPattern) => { + const newFields = indexPattern.fields + .filter( + (field) => + !indexPatternsUtils.isNestedField(field) && (!!field.aggregatable || !!field.scripted) + ) + .map( + (field): IndexPatternField => ({ + name: field.name, + displayName: field.displayName, + type: field.type, + aggregatable: field.aggregatable, + searchable: field.searchable, + scripted: field.scripted, + esTypes: field.esTypes, + }) + ) + .concat(documentField); + + const { typeMeta, title, timeFieldName, fieldFormatMap } = indexPattern; + if (typeMeta?.aggs) { + const aggs = Object.keys(typeMeta.aggs); + newFields.forEach((field, index) => { + const restrictionsObj: IndexPatternField['aggregationRestrictions'] = {}; + aggs.forEach((agg) => { + const restriction = + typeMeta.aggs && typeMeta.aggs[agg] && typeMeta.aggs[agg][field.name]; + if (restriction) { + restrictionsObj[agg] = restriction; + } + }); + if (Object.keys(restrictionsObj).length) { + newFields[index] = { ...field, aggregationRestrictions: restrictionsObj }; + } + }); + } - return resp.savedObjects.reduce( - (acc, savedObject) => { - const indexPattern = fromSavedObject( - savedObject as SimpleSavedObject - ); - acc[indexPattern.id] = indexPattern; - return acc; + const currentIndexPattern: IndexPattern = { + id: indexPattern.id!, // id exists for sure because we got index patterns by id + title, + timeFieldName, + fieldFormatMap, + fields: newFields, + }; + + return { + [currentIndexPattern.id]: currentIndexPattern, + ...acc, + }; }, { ...cache } ); + + return indexPatternsObject; } const getLastUsedIndexPatternId = ( @@ -87,11 +120,13 @@ export async function loadInitialState({ savedObjectsClient, defaultIndexPatternId, storage, + indexPatternsService, }: { state?: IndexPatternPersistedState; savedObjectsClient: SavedObjectsClient; defaultIndexPatternId?: string; storage: IStorageWrapper; + indexPatternsService: IndexPatternsService; }): Promise { const indexPatternRefs = await loadIndexPatternRefs(savedObjectsClient); const lastUsedIndexPatternId = getLastUsedIndexPatternId(storage, indexPatternRefs); @@ -108,7 +143,7 @@ export async function loadInitialState({ setLastUsedIndexPatternId(storage, currentIndexPatternId); const indexPatterns = await loadIndexPatterns({ - savedObjectsClient, + indexPatternsService, cache: {}, patterns: requiredPatterns, }); @@ -135,22 +170,22 @@ export async function loadInitialState({ export async function changeIndexPattern({ id, - savedObjectsClient, state, setState, onError, storage, + indexPatternsService, }: { id: string; - savedObjectsClient: SavedObjectsClient; state: IndexPatternPrivateState; setState: SetState; onError: ErrorHandler; storage: IStorageWrapper; + indexPatternsService: IndexPatternsService; }) { try { const indexPatterns = await loadIndexPatterns({ - savedObjectsClient, + indexPatternsService, cache: state.indexPatterns, patterns: [id], }); @@ -175,25 +210,25 @@ export async function changeIndexPattern({ export async function changeLayerIndexPattern({ indexPatternId, layerId, - savedObjectsClient, state, setState, onError, replaceIfPossible, storage, + indexPatternsService, }: { indexPatternId: string; layerId: string; - savedObjectsClient: SavedObjectsClient; state: IndexPatternPrivateState; setState: SetState; onError: ErrorHandler; replaceIfPossible?: boolean; storage: IStorageWrapper; + indexPatternsService: IndexPatternsService; }) { try { const indexPatterns = await loadIndexPatterns({ - savedObjectsClient, + indexPatternsService, cache: state.indexPatterns, patterns: [indexPatternId], }); @@ -319,55 +354,3 @@ function isSingleEmptyLayer(layerMap: IndexPatternPrivateState['layers']) { const layers = Object.values(layerMap); return layers.length === 1 && layers[0].columnOrder.length === 0; } - -function fromSavedObject( - savedObject: SimpleSavedObject -): IndexPattern { - const { id, attributes, type } = savedObject; - const indexPattern = { - ...attributes, - id, - type, - title: attributes.title, - fields: (JSON.parse(attributes.fields) as IFieldType[]) - .filter( - (field) => - !indexPatternsUtils.isNestedField(field) && (!!field.aggregatable || !!field.scripted) - ) - .concat(documentField) as IndexPatternField[], - typeMeta: attributes.typeMeta - ? (JSON.parse(attributes.typeMeta) as IndexPatternTypeMeta) - : undefined, - fieldFormatMap: attributes.fieldFormatMap ? JSON.parse(attributes.fieldFormatMap) : undefined, - }; - - const { typeMeta } = indexPattern; - if (!typeMeta) { - return indexPattern; - } - - const newFields = [...(indexPattern.fields as IndexPatternField[])]; - - if (typeMeta.aggs) { - const aggs = Object.keys(typeMeta.aggs); - newFields.forEach((field, index) => { - const restrictionsObj: IndexPatternField['aggregationRestrictions'] = {}; - aggs.forEach((agg) => { - const restriction = typeMeta.aggs && typeMeta.aggs[agg] && typeMeta.aggs[agg][field.name]; - if (restriction) { - restrictionsObj[agg] = restriction; - } - }); - if (Object.keys(restrictionsObj).length) { - newFields[index] = { ...field, aggregationRestrictions: restrictionsObj }; - } - }); - } - - return { - id: indexPattern.id, - title: indexPattern.title, - timeFieldName: indexPattern.timeFieldName || undefined, - fields: newFields, - }; -} diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/mocks.ts b/x-pack/plugins/lens/public/indexpattern_datasource/mocks.ts index dff3e61342a6a..869eee67d381d 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/mocks.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/mocks.ts @@ -14,39 +14,54 @@ export const createMockedIndexPattern = (): IndexPattern => ({ fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, }, { name: 'start_date', + displayName: 'start_date', type: 'date', aggregatable: true, searchable: true, }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, }, { name: 'memory', + displayName: 'memory', type: 'number', aggregatable: true, searchable: true, }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, + esTypes: ['keyword'], + }, + { + name: 'unsupported', + displayName: 'unsupported', + type: 'geo', + aggregatable: true, + searchable: true, }, { name: 'dest', + displayName: 'dest', type: 'string', aggregatable: true, searchable: true, + esTypes: ['keyword'], }, ], }); @@ -58,21 +73,26 @@ export const createMockedRestrictedIndexPattern = () => ({ fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', aggregatable: true, searchable: true, }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, + scripted: true, + esTypes: ['keyword'], }, ], typeMeta: { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/cardinality.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/cardinality.tsx index 09faa4bb70447..ad04891b637d4 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/cardinality.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/cardinality.tsx @@ -51,7 +51,7 @@ export const cardinalityOperation: OperationDefinition { return { ...oldColumn, - label: ofName(field.name), + label: ofName(field.displayName), sourceField: field.name, }; }, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/count.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/count.tsx index 1dcaf78b58a6c..4e081da2c6dc9 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/count.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/count.tsx @@ -26,7 +26,7 @@ export const countOperation: OperationDefinition = { onFieldChange: (oldColumn, indexPattern, field) => { return { ...oldColumn, - label: field.name, + label: field.displayName, sourceField: field.name, }; }, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/date_histogram.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/date_histogram.test.tsx index ebf8e09e86396..48a6079c58ac0 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/date_histogram.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/date_histogram.test.tsx @@ -58,6 +58,7 @@ describe('date_histogram', () => { fields: [ { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', esTypes: ['date'], aggregatable: true, @@ -71,6 +72,7 @@ describe('date_histogram', () => { fields: [ { name: 'other_timestamp', + displayName: 'other_timestamp', type: 'date', esTypes: ['date'], aggregatable: true, @@ -168,6 +170,7 @@ describe('date_histogram', () => { indexPattern: createMockedIndexPattern(), field: { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', esTypes: ['date'], aggregatable: true, @@ -185,6 +188,7 @@ describe('date_histogram', () => { indexPattern: createMockedIndexPattern(), field: { name: 'start_date', + displayName: 'start_date', type: 'date', esTypes: ['date'], aggregatable: true, @@ -202,6 +206,7 @@ describe('date_histogram', () => { indexPattern: createMockedIndexPattern(), field: { name: 'timestamp', + displayName: 'timestampLabel', type: 'date', esTypes: ['date'], aggregatable: true, @@ -298,6 +303,7 @@ describe('date_histogram', () => { fields: [ { name: 'dateField', + displayName: 'dateField', type: 'date', aggregatable: true, searchable: true, @@ -340,6 +346,7 @@ describe('date_histogram', () => { fields: [ { name: 'dateField', + displayName: 'dateField', type: 'date', aggregatable: true, searchable: true, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/date_histogram.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/date_histogram.tsx index 6e007c12acf42..2236bc576e2b6 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/date_histogram.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/date_histogram.tsx @@ -64,7 +64,7 @@ export const dateHistogramOperation: OperationDefinition { return { ...oldColumn, - label: field.name, + label: field.displayName, sourceField: field.name, }; }, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/metrics.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/metrics.tsx index 3ede847a5e257..e6c8a5f6ac852 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/metrics.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/metrics.tsx @@ -51,7 +51,7 @@ function buildMetricOperation>({ ); }, buildColumn: ({ suggestedPriority, field, previousColumn }) => ({ - label: ofName(field.name), + label: ofName(field.displayName), dataType: 'number', operationType: type, suggestedPriority, @@ -64,7 +64,7 @@ function buildMetricOperation>({ onFieldChange: (oldColumn, indexPattern, field) => { return { ...oldColumn, - label: ofName(field.name), + label: ofName(field.displayName), sourceField: field.name, }; }, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms.test.tsx index d7f00e185a5bb..05bb2ef673888 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms.test.tsx @@ -118,6 +118,7 @@ describe('terms', () => { aggregatable: true, searchable: true, name: 'test', + displayName: 'test', type: 'string', aggregationRestrictions: { terms: { @@ -136,6 +137,7 @@ describe('terms', () => { aggregatable: true, searchable: true, name: 'test', + displayName: 'test', type: 'number', aggregationRestrictions: { terms: { @@ -154,6 +156,7 @@ describe('terms', () => { aggregatable: true, searchable: true, name: 'test', + displayName: 'test', type: 'boolean', }) ).toEqual({ @@ -167,6 +170,7 @@ describe('terms', () => { aggregatable: true, searchable: true, name: 'test', + displayName: 'test', type: 'ip', }) ).toEqual({ @@ -182,6 +186,7 @@ describe('terms', () => { aggregatable: false, searchable: true, name: 'test', + displayName: 'test', type: 'string', }) ).toEqual(undefined); @@ -192,6 +197,7 @@ describe('terms', () => { aggregationRestrictions: {}, searchable: true, name: 'test', + displayName: 'test', type: 'string', }) ).toEqual(undefined); @@ -209,6 +215,7 @@ describe('terms', () => { searchable: true, type: 'boolean', name: 'test', + displayName: 'test', }, columns: {}, }); @@ -234,6 +241,7 @@ describe('terms', () => { searchable: true, type: 'boolean', name: 'test', + displayName: 'test', }, }); expect(termsColumn.params).toEqual( diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms.tsx index 1ab58cb11c598..ac1ff9da2fea0 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms.tsx @@ -79,7 +79,7 @@ export const termsOperation: OperationDefinition = { .map(([id]) => id)[0]; return { - label: ofName(field.name), + label: ofName(field.displayName), dataType: field.type as DataType, operationType: 'terms', scale: 'ordinal', @@ -115,7 +115,7 @@ export const termsOperation: OperationDefinition = { onFieldChange: (oldColumn, indexPattern, field) => { return { ...oldColumn, - label: ofName(field.name), + label: ofName(field.displayName), sourceField: field.name, }; }, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/operations.test.ts b/x-pack/plugins/lens/public/indexpattern_datasource/operations/operations.test.ts index 1a37e5e4cf6a4..3fce2562f528e 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/operations.test.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/operations.test.ts @@ -19,18 +19,21 @@ const expectedIndexPatterns = { fields: [ { name: 'timestamp', + displayName: 'timestamp', type: 'date', aggregatable: true, searchable: true, }, { name: 'bytes', + displayName: 'bytes', type: 'number', aggregatable: true, searchable: true, }, { name: 'source', + displayName: 'source', type: 'string', aggregatable: true, searchable: true, @@ -46,6 +49,7 @@ describe('getOperationTypesForField', () => { getOperationTypesForField({ type: 'string', name: 'a', + displayName: 'aLabel', aggregatable: true, searchable: true, }) @@ -57,6 +61,7 @@ describe('getOperationTypesForField', () => { getOperationTypesForField({ type: 'number', name: 'a', + displayName: 'aLabel', aggregatable: true, searchable: true, }) @@ -68,6 +73,7 @@ describe('getOperationTypesForField', () => { getOperationTypesForField({ type: 'date', name: 'a', + displayName: 'aLabel', aggregatable: true, searchable: true, }) @@ -79,6 +85,7 @@ describe('getOperationTypesForField', () => { getOperationTypesForField({ type: '_source', name: 'a', + displayName: 'aLabel', aggregatable: true, searchable: true, }) @@ -92,6 +99,7 @@ describe('getOperationTypesForField', () => { getOperationTypesForField({ type: 'string', name: 'a', + displayName: 'aLabel', aggregatable: true, searchable: true, aggregationRestrictions: { @@ -108,6 +116,7 @@ describe('getOperationTypesForField', () => { getOperationTypesForField({ type: 'number', name: 'a', + displayName: 'aLabel', aggregatable: true, searchable: true, aggregationRestrictions: { @@ -127,6 +136,7 @@ describe('getOperationTypesForField', () => { getOperationTypesForField({ type: 'date', name: 'a', + displayName: 'aLabel', aggregatable: true, searchable: true, aggregationRestrictions: { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/state_helpers.test.ts b/x-pack/plugins/lens/public/indexpattern_datasource/state_helpers.test.ts index d778749ef3940..d7fd0d3661c86 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/state_helpers.test.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/state_helpers.test.ts @@ -573,12 +573,14 @@ describe('state_helpers', () => { fields: [ { name: 'fieldA', + displayName: 'fieldA', aggregatable: true, searchable: true, type: 'string', }, { name: 'fieldB', + displayName: 'fieldB', aggregatable: true, searchable: true, type: 'number', @@ -590,12 +592,14 @@ describe('state_helpers', () => { }, { name: 'fieldC', + displayName: 'fieldC', aggregatable: false, searchable: true, type: 'date', }, { name: 'fieldD', + displayName: 'fieldD', aggregatable: true, searchable: true, type: 'date', @@ -609,6 +613,7 @@ describe('state_helpers', () => { }, { name: 'fieldE', + displayName: 'fieldE', aggregatable: true, searchable: true, type: 'date', diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/types.ts b/x-pack/plugins/lens/public/indexpattern_datasource/types.ts index 2a9b3f452d991..8d0e82b176aa9 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/types.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/types.ts @@ -23,6 +23,7 @@ export interface IndexPattern { export interface IndexPatternField { name: string; + displayName: string; type: string; esTypes?: string[]; aggregatable: boolean; From e91528e9d2373240a7166b8485c5797e4c146ffb Mon Sep 17 00:00:00 2001 From: Shahzad Date: Fri, 21 Aug 2020 12:10:50 +0200 Subject: [PATCH 46/51] [Uptime] Add delay in telemetry test (#75162) Co-authored-by: Elastic Machine --- .../apis/uptime/rest/telemetry_collectors.ts | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/x-pack/test/api_integration/apis/uptime/rest/telemetry_collectors.ts b/x-pack/test/api_integration/apis/uptime/rest/telemetry_collectors.ts index f07ddf68152d3..cf1e7ff9f0716 100644 --- a/x-pack/test/api_integration/apis/uptime/rest/telemetry_collectors.ts +++ b/x-pack/test/api_integration/apis/uptime/rest/telemetry_collectors.ts @@ -118,9 +118,9 @@ export default function ({ getService }: FtrProviderContext) { }); }); - it('should receive expected results after calling overview logging', async () => { + it('should receive 200 status after overview logging', async () => { // call overview page - const { body: result } = await supertest + await supertest .post(API_URLS.LOG_PAGE_VIEW) .set('kbn-xsrf', 'true') .send({ @@ -131,21 +131,6 @@ export default function ({ getService }: FtrProviderContext) { autoRefreshEnabled: true, }) .expect(200); - - expect(result).to.eql({ - overview_page: 1, - monitor_page: 1, - no_of_unique_monitors: 4, - settings_page: 0, - monitor_frequency: [120, 0.001, 60, 60], - monitor_name_stats: { min_length: 7, max_length: 22, avg_length: 12 }, - no_of_unique_observer_locations: 3, - observer_location_name_stats: { min_length: 2, max_length: 7, avg_length: 4.8 }, - dateRangeStart: ['now/d', 'now/d'], - dateRangeEnd: ['now/d', 'now-30'], - autoRefreshEnabled: true, - autorefreshInterval: [100, 60], - }); }); }); } From 040b4e214becdaa5a9e522d7d40f58e1971baa28 Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Fri, 21 Aug 2020 12:20:46 +0200 Subject: [PATCH 47/51] [Console] Get ES Config from core (#75406) * Server side changes - removed console_legacy plugin! - added new es_config endpoint that returns server side es config at the moment this is just the first value in hosts - Slight refactor to how routes are registered to bring them more in line with other ES UI plugins * Client side update - Updated the client to not get es host from injected metadata. Instead use the new endpoint created server side that returns this value - Added a small README.md regarding the hooks lib and need to refactor use of jQuery in console - Write code to init the es host value on the client once at start up in a non-blocking way. If this fails we just use the default value of http://localhost:9200 as this powers non-essential console functionality (i.e., copy as cURL). * fix type issue and jest tests * fix another type issue * simplify proxy assignment in proxy handler mock Co-authored-by: Elastic Machine --- .../core_plugins/console_legacy/index.ts | 49 -------------- .../core_plugins/console_legacy/package.json | 4 -- .../console/common/types/api_responses.ts | 29 +++++++++ .../editor/legacy/console_editor/editor.tsx | 5 +- .../contexts/services_context.mock.ts | 8 ++- .../application/contexts/services_context.tsx | 30 +++++---- .../public/application/hooks/README.md | 5 ++ .../console/public/application/index.tsx | 11 ++-- .../console/public/application/lib/api.ts | 39 +++++++++++ .../public/application/lib/es_host_service.ts | 54 ++++++++++++++++ .../console/public/application/lib/index.ts | 21 ++++++ src/plugins/console/public/plugin.ts | 10 +-- src/plugins/console/public/shared_imports.ts | 22 +++++++ .../server/__tests__/proxy_route/mocks.ts | 46 +++++++++---- .../__tests__/proxy_route/params.test.ts | 8 ++- .../proxy_route/proxy_fallback.test.ts | 14 ++-- src/plugins/console/server/plugin.ts | 54 +++++++++------- .../routes/api/console/es_config/index.ts | 33 ++++++++++ .../api/console/proxy/create_handler.ts | 25 ++------ .../server/routes/api/console/proxy/index.ts | 16 ++--- .../api/console/spec_definitions/index.ts | 14 ++-- src/plugins/console/server/routes/index.ts | 50 +++++++++++++++ .../services/es_legacy_config_service.ts | 64 +++++++++++++++++++ src/plugins/console/server/services/index.ts | 2 + src/plugins/console/server/types.ts | 2 +- 25 files changed, 451 insertions(+), 164 deletions(-) delete mode 100644 src/legacy/core_plugins/console_legacy/index.ts delete mode 100644 src/legacy/core_plugins/console_legacy/package.json create mode 100644 src/plugins/console/common/types/api_responses.ts create mode 100644 src/plugins/console/public/application/hooks/README.md create mode 100644 src/plugins/console/public/application/lib/api.ts create mode 100644 src/plugins/console/public/application/lib/es_host_service.ts create mode 100644 src/plugins/console/public/application/lib/index.ts create mode 100644 src/plugins/console/public/shared_imports.ts create mode 100644 src/plugins/console/server/routes/api/console/es_config/index.ts create mode 100644 src/plugins/console/server/routes/index.ts create mode 100644 src/plugins/console/server/services/es_legacy_config_service.ts diff --git a/src/legacy/core_plugins/console_legacy/index.ts b/src/legacy/core_plugins/console_legacy/index.ts deleted file mode 100644 index 82e00a99c6cfd..0000000000000 --- a/src/legacy/core_plugins/console_legacy/index.ts +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { first } from 'rxjs/operators'; -import { head } from 'lodash'; -import url from 'url'; - -// TODO: Remove this hack once we can get the ES config we need for Console proxy a better way. -let _legacyEsConfig: any; -export const readLegacyEsConfig = () => { - return _legacyEsConfig; -}; - -// eslint-disable-next-line import/no-default-export -export default function (kibana: any) { - return new kibana.Plugin({ - id: 'console_legacy', - - async init(server: any) { - _legacyEsConfig = await server.newPlatform.__internals.elasticsearch.legacy.config$ - .pipe(first()) - .toPromise(); - }, - - uiExports: { - injectDefaultVars: () => ({ - elasticsearchUrl: url.format( - Object.assign(url.parse(head(_legacyEsConfig.hosts) as any), { auth: false }) - ), - }), - }, - } as any); -} diff --git a/src/legacy/core_plugins/console_legacy/package.json b/src/legacy/core_plugins/console_legacy/package.json deleted file mode 100644 index b78807daed959..0000000000000 --- a/src/legacy/core_plugins/console_legacy/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "console_legacy", - "version": "kibana" -} diff --git a/src/plugins/console/common/types/api_responses.ts b/src/plugins/console/common/types/api_responses.ts new file mode 100644 index 0000000000000..1c8166bbe27f2 --- /dev/null +++ b/src/plugins/console/common/types/api_responses.ts @@ -0,0 +1,29 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +export interface EsConfigApiResponse { + /** + * This is the first host in the hosts array that Kibana is configured to use + * to communicate with ES. + * + * At the moment this is used to power the copy as cURL functionality in Console + * to complete the host portion of the URL. + */ + host?: string; +} diff --git a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx index 880069d8ebc7a..fc88b31711b23 100644 --- a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx +++ b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx @@ -67,9 +67,8 @@ const inputId = 'ConAppInputTextarea'; function EditorUI({ initialTextValue }: EditorProps) { const { - services: { history, notifications, settings: settingsService }, + services: { history, notifications, settings: settingsService, esHostService }, docLinkVersion, - elasticsearchUrl, } = useServicesContext(); const { settings } = useEditorReadContext(); @@ -232,7 +231,7 @@ function EditorUI({ initialTextValue }: EditorProps) { { - return editorInstanceRef.current!.getRequestsAsCURL(elasticsearchUrl); + return editorInstanceRef.current!.getRequestsAsCURL(esHostService.getHost()); }} getDocumentation={() => { return getDocumentation(editorInstanceRef.current!, docLinkVersion); diff --git a/src/plugins/console/public/application/contexts/services_context.mock.ts b/src/plugins/console/public/application/contexts/services_context.mock.ts index ae8d15a890782..ba982d3f50cfb 100644 --- a/src/plugins/console/public/application/contexts/services_context.mock.ts +++ b/src/plugins/console/public/application/contexts/services_context.mock.ts @@ -17,21 +17,27 @@ * under the License. */ import { notificationServiceMock } from '../../../../../core/public/mocks'; +import { httpServiceMock } from '../../../../../core/public/mocks'; + import { HistoryMock } from '../../services/history.mock'; import { SettingsMock } from '../../services/settings.mock'; import { StorageMock } from '../../services/storage.mock'; +import { createApi, createEsHostService } from '../lib'; import { ContextValue } from './services_context'; export const serviceContextMock = { create: (): ContextValue => { const storage = new StorageMock({} as any, 'test'); + const http = httpServiceMock.createSetupContract(); + const api = createApi({ http }); + const esHostService = createEsHostService({ api }); (storage.keys as jest.Mock).mockImplementation(() => []); return { - elasticsearchUrl: 'test', services: { trackUiMetric: { count: () => {}, load: () => {} }, storage, + esHostService, settings: new SettingsMock(storage), history: new HistoryMock(storage), notifications: notificationServiceMock.createSetupContract(), diff --git a/src/plugins/console/public/application/contexts/services_context.tsx b/src/plugins/console/public/application/contexts/services_context.tsx index 3d4ac3291c5ac..e2f01a152b27b 100644 --- a/src/plugins/console/public/application/contexts/services_context.tsx +++ b/src/plugins/console/public/application/contexts/services_context.tsx @@ -17,22 +17,25 @@ * under the License. */ -import React, { createContext, useContext } from 'react'; +import React, { createContext, useContext, useEffect } from 'react'; import { NotificationsSetup } from 'kibana/public'; -import { History, Storage, Settings } from '../../services'; +import { History, Settings, Storage } from '../../services'; import { ObjectStorageClient } from '../../../common/types'; import { MetricsTracker } from '../../types'; +import { EsHostService } from '../lib'; + +interface ContextServices { + history: History; + storage: Storage; + settings: Settings; + notifications: NotificationsSetup; + objectStorageClient: ObjectStorageClient; + trackUiMetric: MetricsTracker; + esHostService: EsHostService; +} export interface ContextValue { - services: { - history: History; - storage: Storage; - settings: Settings; - notifications: NotificationsSetup; - objectStorageClient: ObjectStorageClient; - trackUiMetric: MetricsTracker; - }; - elasticsearchUrl: string; + services: ContextServices; docLinkVersion: string; } @@ -44,6 +47,11 @@ interface ContextProps { const ServicesContext = createContext(null as any); export function ServicesContextProvider({ children, value }: ContextProps) { + useEffect(() => { + // Fire and forget, we attempt to init the host service once. + value.services.esHostService.init(); + }, [value.services.esHostService]); + return {children}; } diff --git a/src/plugins/console/public/application/hooks/README.md b/src/plugins/console/public/application/hooks/README.md new file mode 100644 index 0000000000000..10057193560e9 --- /dev/null +++ b/src/plugins/console/public/application/hooks/README.md @@ -0,0 +1,5 @@ +## Notes + +* Do not add any code directly to this directory. This code should be moved to the neighbouring `lib` directory to be in line with future ES UI plugin patterns. + +* The `es.send` method uses $.ajax under the hood and needs to be refactored to use the new platform-provided http client. \ No newline at end of file diff --git a/src/plugins/console/public/application/index.tsx b/src/plugins/console/public/application/index.tsx index 051eaea27a7de..0a5a502eb5062 100644 --- a/src/plugins/console/public/application/index.tsx +++ b/src/plugins/console/public/application/index.tsx @@ -19,19 +19,20 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { NotificationsSetup } from 'src/core/public'; +import { HttpSetup, NotificationsSetup } from 'src/core/public'; import { ServicesContextProvider, EditorContextProvider, RequestContextProvider } from './contexts'; import { Main } from './containers'; import { createStorage, createHistory, createSettings } from '../services'; import * as localStorageObjectClient from '../lib/local_storage_object_client'; import { createUsageTracker } from '../services/tracker'; import { UsageCollectionSetup } from '../../../usage_collection/public'; +import { createApi, createEsHostService } from './lib'; export interface BootDependencies { + http: HttpSetup; docLinkVersion: string; I18nContext: any; notifications: NotificationsSetup; - elasticsearchUrl: string; usageCollection?: UsageCollectionSetup; element: HTMLElement; } @@ -40,9 +41,9 @@ export function renderApp({ I18nContext, notifications, docLinkVersion, - elasticsearchUrl, usageCollection, element, + http, }: BootDependencies) { const trackUiMetric = createUsageTracker(usageCollection); trackUiMetric.load('opened_app'); @@ -54,14 +55,16 @@ export function renderApp({ const history = createHistory({ storage }); const settings = createSettings({ storage }); const objectStorageClient = localStorageObjectClient.create(storage); + const api = createApi({ http }); + const esHostService = createEsHostService({ api }); render( ; + +export const createApi = ({ http }: Dependencies) => { + return { + getEsConfig: () => { + return sendRequest(http, { + path: '/api/console/es_config', + method: 'get', + }); + }, + }; +}; diff --git a/src/plugins/console/public/application/lib/es_host_service.ts b/src/plugins/console/public/application/lib/es_host_service.ts new file mode 100644 index 0000000000000..887f270a24687 --- /dev/null +++ b/src/plugins/console/public/application/lib/es_host_service.ts @@ -0,0 +1,54 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Api } from './api'; + +/** + * Very simple state for holding the current ES host. + * + * This is used to power the copy as cURL functionality. + */ +export class EsHostService { + private host = 'http://localhost:9200'; + + constructor(private readonly api: Api) {} + + private setHost(host: string): void { + this.host = host; + } + + /** + * Initialize the host value based on the value set on the server. + * + * This call is necessary because this value can only be retrieved at + * runtime. + */ + public async init() { + const { data } = await this.api.getEsConfig(); + if (data && data.host) { + this.setHost(data.host); + } + } + + public getHost(): string { + return this.host; + } +} + +export const createEsHostService = ({ api }: { api: Api }) => new EsHostService(api); diff --git a/src/plugins/console/public/application/lib/index.ts b/src/plugins/console/public/application/lib/index.ts new file mode 100644 index 0000000000000..1ba99cc607269 --- /dev/null +++ b/src/plugins/console/public/application/lib/index.ts @@ -0,0 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +export { createApi, Api } from './api'; +export { createEsHostService, EsHostService } from './es_host_service'; diff --git a/src/plugins/console/public/plugin.ts b/src/plugins/console/public/plugin.ts index 851dc7a063d7b..03b65a8bd145c 100644 --- a/src/plugins/console/public/plugin.ts +++ b/src/plugins/console/public/plugin.ts @@ -25,7 +25,7 @@ import { AppSetupUIPluginDependencies } from './types'; export class ConsoleUIPlugin implements Plugin { public setup( - { notifications, getStartServices }: CoreSetup, + { notifications, getStartServices, http }: CoreSetup, { devTools, home, usageCollection }: AppSetupUIPluginDependencies ) { home.featureCatalogue.register({ @@ -53,23 +53,17 @@ export class ConsoleUIPlugin implements Plugin ({ import { duration } from 'moment'; import { ProxyConfigCollection } from '../../lib'; -import { CreateHandlerDependencies } from '../../routes/api/console/proxy/create_handler'; -import { coreMock } from '../../../../../core/server/mocks'; +import { RouteDependencies, ProxyDependencies } from '../../routes'; +import { EsLegacyConfigService, SpecDefinitionsService } from '../../services'; +import { coreMock, httpServiceMock } from '../../../../../core/server/mocks'; -export const getProxyRouteHandlerDeps = ({ - proxyConfigCollection = new ProxyConfigCollection([]), - pathFilters = [/.*/], - readLegacyESConfig = () => ({ +const defaultProxyValue = Object.freeze({ + readLegacyESConfig: async () => ({ requestTimeout: duration(30000), customHeaders: {}, requestHeadersWhitelist: [], hosts: ['http://localhost:9200'], }), - log = coreMock.createPluginInitializerContext().logger.get(), -}: Partial): CreateHandlerDependencies => ({ - proxyConfigCollection, - pathFilters, - readLegacyESConfig, - log, + pathFilters: [/.*/], + proxyConfigCollection: new ProxyConfigCollection([]), }); + +interface MockDepsArgument extends Partial> { + proxy?: Partial; +} + +export const getProxyRouteHandlerDeps = ({ + proxy, + log = coreMock.createPluginInitializerContext().logger.get(), + router = httpServiceMock.createSetupContract().createRouter(), +}: MockDepsArgument): RouteDependencies => { + const services: RouteDependencies['services'] = { + esLegacyConfigService: new EsLegacyConfigService(), + specDefinitionService: new SpecDefinitionsService(), + }; + + return { + services, + router, + proxy: proxy + ? { + ...defaultProxyValue, + ...proxy, + } + : defaultProxyValue, + log, + }; +}; diff --git a/src/plugins/console/server/__tests__/proxy_route/params.test.ts b/src/plugins/console/server/__tests__/proxy_route/params.test.ts index 1ab9c3ae789cc..e1c5295f6d30f 100644 --- a/src/plugins/console/server/__tests__/proxy_route/params.test.ts +++ b/src/plugins/console/server/__tests__/proxy_route/params.test.ts @@ -36,7 +36,7 @@ describe('Console Proxy Route', () => { describe('no matches', () => { it('rejects with 403', async () => { handler = createHandler( - getProxyRouteHandlerDeps({ pathFilters: [/^\/foo\//, /^\/bar\//] }) + getProxyRouteHandlerDeps({ proxy: { pathFilters: [/^\/foo\//, /^\/bar\//] } }) ); const { status } = await handler( @@ -51,7 +51,7 @@ describe('Console Proxy Route', () => { describe('one match', () => { it('allows the request', async () => { handler = createHandler( - getProxyRouteHandlerDeps({ pathFilters: [/^\/foo\//, /^\/bar\//] }) + getProxyRouteHandlerDeps({ proxy: { pathFilters: [/^\/foo\//, /^\/bar\//] } }) ); (requestModule.proxyRequest as jest.Mock).mockResolvedValue(createResponseStub('foo')); @@ -68,7 +68,9 @@ describe('Console Proxy Route', () => { }); describe('all match', () => { it('allows the request', async () => { - handler = createHandler(getProxyRouteHandlerDeps({ pathFilters: [/^\/foo\//] })); + handler = createHandler( + getProxyRouteHandlerDeps({ proxy: { pathFilters: [/^\/foo\//] } }) + ); (requestModule.proxyRequest as jest.Mock).mockResolvedValue(createResponseStub('foo')); diff --git a/src/plugins/console/server/__tests__/proxy_route/proxy_fallback.test.ts b/src/plugins/console/server/__tests__/proxy_route/proxy_fallback.test.ts index b226bad11a01a..fc5233d0f833d 100644 --- a/src/plugins/console/server/__tests__/proxy_route/proxy_fallback.test.ts +++ b/src/plugins/console/server/__tests__/proxy_route/proxy_fallback.test.ts @@ -38,12 +38,14 @@ describe('Console Proxy Route', () => { const handler = createHandler( getProxyRouteHandlerDeps({ - readLegacyESConfig: () => ({ - requestTimeout: duration(30000), - customHeaders: {}, - requestHeadersWhitelist: [], - hosts: ['http://localhost:9201', 'http://localhost:9202', 'http://localhost:9203'], - }), + proxy: { + readLegacyESConfig: async () => ({ + requestTimeout: duration(30000), + customHeaders: {}, + requestHeadersWhitelist: [], + hosts: ['http://localhost:9201', 'http://localhost:9202', 'http://localhost:9203'], + }), + }, }) ); diff --git a/src/plugins/console/server/plugin.ts b/src/plugins/console/server/plugin.ts index eedd1541e8898..a76a35f8146c9 100644 --- a/src/plugins/console/server/plugin.ts +++ b/src/plugins/console/server/plugin.ts @@ -19,13 +19,12 @@ import { first } from 'rxjs/operators'; import { CoreSetup, Logger, Plugin, PluginInitializerContext } from 'kibana/server'; -import { readLegacyEsConfig } from '../../../legacy/core_plugins/console_legacy'; - import { ProxyConfigCollection } from './lib'; -import { SpecDefinitionsService } from './services'; +import { SpecDefinitionsService, EsLegacyConfigService } from './services'; import { ConfigType } from './config'; -import { registerProxyRoute } from './routes/api/console/proxy'; -import { registerSpecDefinitionsRoute } from './routes/api/console/spec_definitions'; + +import { registerRoutes } from './routes'; + import { ESConfigForProxy, ConsoleSetup, ConsoleStart } from './types'; export class ConsoleServerPlugin implements Plugin { @@ -33,11 +32,13 @@ export class ConsoleServerPlugin implements Plugin { specDefinitionsService = new SpecDefinitionsService(); + esLegacyConfigService = new EsLegacyConfigService(); + constructor(private readonly ctx: PluginInitializerContext) { this.log = this.ctx.logger.get(); } - async setup({ http, capabilities, getStartServices }: CoreSetup) { + async setup({ http, capabilities, getStartServices, elasticsearch }: CoreSetup) { capabilities.registerProvider(() => ({ dev_tools: { show: true, @@ -46,30 +47,31 @@ export class ConsoleServerPlugin implements Plugin { })); const config = await this.ctx.config.create().pipe(first()).toPromise(); - - const { elasticsearch } = await this.ctx.config.legacy.globalConfig$.pipe(first()).toPromise(); - + const globalConfig = await this.ctx.config.legacy.globalConfig$.pipe(first()).toPromise(); const proxyPathFilters = config.proxyFilter.map((str: string) => new RegExp(str)); + this.esLegacyConfigService.setup(elasticsearch.legacy.config$); + const router = http.createRouter(); - registerProxyRoute({ + registerRoutes({ + router, log: this.log, - proxyConfigCollection: new ProxyConfigCollection(config.proxyConfig), - readLegacyESConfig: (): ESConfigForProxy => { - const legacyConfig = readLegacyEsConfig(); - return { - ...elasticsearch, - ...legacyConfig, - }; + services: { + esLegacyConfigService: this.esLegacyConfigService, + specDefinitionService: this.specDefinitionsService, + }, + proxy: { + proxyConfigCollection: new ProxyConfigCollection(config.proxyConfig), + readLegacyESConfig: async (): Promise => { + const legacyConfig = await this.esLegacyConfigService.readConfig(); + return { + ...globalConfig.elasticsearch, + ...legacyConfig, + }; + }, + pathFilters: proxyPathFilters, }, - pathFilters: proxyPathFilters, - router, - }); - - registerSpecDefinitionsRoute({ - router, - services: { specDefinitions: this.specDefinitionsService }, }); return { @@ -82,4 +84,8 @@ export class ConsoleServerPlugin implements Plugin { ...this.specDefinitionsService.start(), }; } + + stop() { + this.esLegacyConfigService.stop(); + } } diff --git a/src/plugins/console/server/routes/api/console/es_config/index.ts b/src/plugins/console/server/routes/api/console/es_config/index.ts new file mode 100644 index 0000000000000..a115a6b32ad01 --- /dev/null +++ b/src/plugins/console/server/routes/api/console/es_config/index.ts @@ -0,0 +1,33 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { EsConfigApiResponse } from '../../../../../common/types/api_responses'; +import { RouteDependencies } from '../../../'; + +export const registerEsConfigRoute = ({ router, services }: RouteDependencies): void => { + router.get({ path: '/api/console/es_config', validate: false }, async (ctx, req, res) => { + const { + hosts: [host], + } = await services.esLegacyConfigService.readConfig(); + + const body: EsConfigApiResponse = { host }; + + return res.ok({ body }); + }); +}; diff --git a/src/plugins/console/server/routes/api/console/proxy/create_handler.ts b/src/plugins/console/server/routes/api/console/proxy/create_handler.ts index a16fb1dadfbcf..f6d9bcb77ddda 100644 --- a/src/plugins/console/server/routes/api/console/proxy/create_handler.ts +++ b/src/plugins/console/server/routes/api/console/proxy/create_handler.ts @@ -21,7 +21,7 @@ import { Agent, IncomingMessage } from 'http'; import * as url from 'url'; import { pick, trimStart, trimEnd } from 'lodash'; -import { KibanaRequest, Logger, RequestHandler } from 'kibana/server'; +import { KibanaRequest, RequestHandler } from 'kibana/server'; import { ESConfigForProxy } from '../../../../types'; import { @@ -31,19 +31,14 @@ import { setHeaders, } from '../../../../lib'; -import { Body, Query } from './validation_config'; - // TODO: find a better way to get information from the request like remoteAddress and remotePort // for forwarding. // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { ensureRawRequest } from '../../../../../../../core/server/http/router'; -export interface CreateHandlerDependencies { - log: Logger; - readLegacyESConfig: () => ESConfigForProxy; - pathFilters: RegExp[]; - proxyConfigCollection: ProxyConfigCollection; -} +import { RouteDependencies } from '../../../'; + +import { Body, Query } from './validation_config'; function toURL(base: string, path: string) { const urlResult = new url.URL(`${trimEnd(base, '/')}/${trimStart(path, '/')}`); @@ -120,14 +115,8 @@ function getProxyHeaders(req: KibanaRequest) { export const createHandler = ({ log, - readLegacyESConfig, - pathFilters, - proxyConfigCollection, -}: CreateHandlerDependencies): RequestHandler => async ( - ctx, - request, - response -) => { + proxy: { readLegacyESConfig, pathFilters, proxyConfigCollection }, +}: RouteDependencies): RequestHandler => async (ctx, request, response) => { const { body, query } = request; const { path, method } = query; @@ -140,7 +129,7 @@ export const createHandler = ({ }); } - const legacyConfig = readLegacyESConfig(); + const legacyConfig = await readLegacyESConfig(); const { hosts } = legacyConfig; let esIncomingMessage: IncomingMessage; diff --git a/src/plugins/console/server/routes/api/console/proxy/index.ts b/src/plugins/console/server/routes/api/console/proxy/index.ts index 5f7df1d7cf66b..5841671c340bd 100644 --- a/src/plugins/console/server/routes/api/console/proxy/index.ts +++ b/src/plugins/console/server/routes/api/console/proxy/index.ts @@ -17,17 +17,13 @@ * under the License. */ -import { IRouter } from 'kibana/server'; import { routeValidationConfig } from './validation_config'; -import { createHandler, CreateHandlerDependencies } from './create_handler'; +import { createHandler } from './create_handler'; -export const registerProxyRoute = ( - deps: { - router: IRouter; - } & CreateHandlerDependencies -) => { - const { router, ...handlerDeps } = deps; - router.post( +import { RouteDependencies } from '../../../'; + +export const registerProxyRoute = (deps: RouteDependencies) => { + deps.router.post( { path: '/api/console/proxy', options: { @@ -39,6 +35,6 @@ export const registerProxyRoute = ( }, validate: routeValidationConfig, }, - createHandler(handlerDeps) + createHandler(deps) ); }; diff --git a/src/plugins/console/server/routes/api/console/spec_definitions/index.ts b/src/plugins/console/server/routes/api/console/spec_definitions/index.ts index 5c7e679cd0d35..a179c36364e26 100644 --- a/src/plugins/console/server/routes/api/console/spec_definitions/index.ts +++ b/src/plugins/console/server/routes/api/console/spec_definitions/index.ts @@ -16,8 +16,8 @@ * specific language governing permissions and limitations * under the License. */ -import { IRouter, RequestHandler } from 'kibana/server'; -import { SpecDefinitionsService } from '../../../../services'; +import { RequestHandler } from 'kibana/server'; +import { RouteDependencies } from '../../../'; interface SpecDefinitionsRouteResponse { es: { @@ -27,16 +27,10 @@ interface SpecDefinitionsRouteResponse { }; } -export const registerSpecDefinitionsRoute = ({ - router, - services, -}: { - router: IRouter; - services: { specDefinitions: SpecDefinitionsService }; -}) => { +export const registerSpecDefinitionsRoute = ({ router, services }: RouteDependencies) => { const handler: RequestHandler = async (ctx, request, response) => { const specResponse: SpecDefinitionsRouteResponse = { - es: services.specDefinitions.asJson(), + es: services.specDefinitionService.asJson(), }; return response.ok({ diff --git a/src/plugins/console/server/routes/index.ts b/src/plugins/console/server/routes/index.ts new file mode 100644 index 0000000000000..cbd1cef7b36e3 --- /dev/null +++ b/src/plugins/console/server/routes/index.ts @@ -0,0 +1,50 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { IRouter, Logger } from 'kibana/server'; + +import { EsLegacyConfigService, SpecDefinitionsService } from '../services'; +import { ESConfigForProxy } from '../types'; +import { ProxyConfigCollection } from '../lib'; + +import { registerEsConfigRoute } from './api/console/es_config'; +import { registerProxyRoute } from './api/console/proxy'; +import { registerSpecDefinitionsRoute } from './api/console/spec_definitions'; + +export interface ProxyDependencies { + readLegacyESConfig: () => Promise; + pathFilters: RegExp[]; + proxyConfigCollection: ProxyConfigCollection; +} + +export interface RouteDependencies { + router: IRouter; + log: Logger; + proxy: ProxyDependencies; + services: { + esLegacyConfigService: EsLegacyConfigService; + specDefinitionService: SpecDefinitionsService; + }; +} + +export const registerRoutes = (dependencies: RouteDependencies) => { + registerEsConfigRoute(dependencies); + registerProxyRoute(dependencies); + registerSpecDefinitionsRoute(dependencies); +}; diff --git a/src/plugins/console/server/services/es_legacy_config_service.ts b/src/plugins/console/server/services/es_legacy_config_service.ts new file mode 100644 index 0000000000000..37928839b1846 --- /dev/null +++ b/src/plugins/console/server/services/es_legacy_config_service.ts @@ -0,0 +1,64 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Observable, Subscription } from 'rxjs'; +import { first } from 'rxjs/operators'; +import { ElasticsearchConfig } from 'kibana/server'; + +export class EsLegacyConfigService { + /** + * The elasticsearch config value at a given point in time. + */ + private config?: ElasticsearchConfig; + + /** + * An observable that emits elasticsearch config. + */ + private config$?: Observable; + + /** + * A reference to the subscription to the elasticsearch observable + */ + private configSub?: Subscription; + + setup(config$: Observable) { + this.config$ = config$; + this.configSub = this.config$.subscribe((config) => { + this.config = config; + }); + } + + stop() { + if (this.configSub) { + this.configSub.unsubscribe(); + } + } + + async readConfig(): Promise { + if (!this.config$) { + throw new Error('Could not read elasticsearch config, this service has not been setup!'); + } + + if (!this.config) { + return this.config$.pipe(first()).toPromise(); + } + + return this.config; + } +} diff --git a/src/plugins/console/server/services/index.ts b/src/plugins/console/server/services/index.ts index c8dfeccd23070..c9d0b8b858150 100644 --- a/src/plugins/console/server/services/index.ts +++ b/src/plugins/console/server/services/index.ts @@ -17,4 +17,6 @@ * under the License. */ +export { EsLegacyConfigService } from './es_legacy_config_service'; + export { SpecDefinitionsService } from './spec_definitions_service'; diff --git a/src/plugins/console/server/types.ts b/src/plugins/console/server/types.ts index 4f026555ada7b..5dc8322c23ea9 100644 --- a/src/plugins/console/server/types.ts +++ b/src/plugins/console/server/types.ts @@ -38,8 +38,8 @@ export interface ESConfigForProxy { requestTimeout: Duration; ssl?: { verificationMode: 'none' | 'certificate' | 'full'; - certificateAuthorities: string[] | string; alwaysPresentCertificate: boolean; + certificateAuthorities?: string[]; certificate?: string; key?: string; keyPassphrase?: string; From f67ac7f0eed93f0810e18dbfba1bf0ba901fc829 Mon Sep 17 00:00:00 2001 From: Pierre Gayvallet Date: Fri, 21 Aug 2020 14:35:31 +0200 Subject: [PATCH 48/51] Migrate CSP usage collector to `kibana_usage_collection` plugin (#75536) * move csp usage collector from legacy kibana plugin to kibana_usage_collection * make scripts/telemetry_check happy. * remove assertion on legacy kibana plugin * remove test on legacy kibana plugin * update README --- src/legacy/core_plugins/kibana/index.js | 6 ---- src/plugins/kibana_usage_collection/README.md | 1 + .../server/__snapshots__/index.test.ts.snap | 2 ++ .../collectors/csp}/csp_collector.test.ts | 29 ++++++------------- .../server/collectors/csp}/csp_collector.ts | 21 +++++++------- .../server/collectors/csp}/index.ts | 0 .../server/collectors/index.ts | 1 + .../kibana_usage_collection/server/plugin.ts | 12 ++++---- test/api_integration/apis/status/status.js | 4 --- test/functional/apps/status_page/index.ts | 8 ----- 10 files changed, 29 insertions(+), 55 deletions(-) rename src/{legacy/core_plugins/kibana/server/lib/csp_usage_collector => plugins/kibana_usage_collection/server/collectors/csp}/csp_collector.test.ts (79%) rename src/{legacy/core_plugins/kibana/server/lib/csp_usage_collector => plugins/kibana_usage_collection/server/collectors/csp}/csp_collector.ts (75%) rename src/{legacy/core_plugins/kibana/server/lib/csp_usage_collector => plugins/kibana_usage_collection/server/collectors/csp}/index.ts (100%) diff --git a/src/legacy/core_plugins/kibana/index.js b/src/legacy/core_plugins/kibana/index.js index 2e30bc5ce05ee..176c5386961a5 100644 --- a/src/legacy/core_plugins/kibana/index.js +++ b/src/legacy/core_plugins/kibana/index.js @@ -21,7 +21,6 @@ import Fs from 'fs'; import { promisify } from 'util'; import { getUiSettingDefaults } from './server/ui_setting_defaults'; -import { registerCspCollector } from './server/lib/csp_usage_collector'; const mkdirAsync = promisify(Fs.mkdir); @@ -53,10 +52,5 @@ export default function (kibana) { throw err; } }, - - init: async function (server) { - const { usageCollection } = server.newPlatform.setup.plugins; - registerCspCollector(usageCollection, server); - }, }); } diff --git a/src/plugins/kibana_usage_collection/README.md b/src/plugins/kibana_usage_collection/README.md index 6ef4f19c1570f..73a4d53f305f2 100644 --- a/src/plugins/kibana_usage_collection/README.md +++ b/src/plugins/kibana_usage_collection/README.md @@ -7,3 +7,4 @@ This plugin registers the basic usage collectors from Kibana: - Ops stats - Number of Saved Objects per type - Non-default UI Settings +- CSP configuration diff --git a/src/plugins/kibana_usage_collection/server/__snapshots__/index.test.ts.snap b/src/plugins/kibana_usage_collection/server/__snapshots__/index.test.ts.snap index f07912eff02b7..47a4c458a8398 100644 --- a/src/plugins/kibana_usage_collection/server/__snapshots__/index.test.ts.snap +++ b/src/plugins/kibana_usage_collection/server/__snapshots__/index.test.ts.snap @@ -9,3 +9,5 @@ exports[`kibana_usage_collection Runs the setup method without issues 3`] = `fal exports[`kibana_usage_collection Runs the setup method without issues 4`] = `false`; exports[`kibana_usage_collection Runs the setup method without issues 5`] = `false`; + +exports[`kibana_usage_collection Runs the setup method without issues 6`] = `true`; diff --git a/src/legacy/core_plugins/kibana/server/lib/csp_usage_collector/csp_collector.test.ts b/src/plugins/kibana_usage_collection/server/collectors/csp/csp_collector.test.ts similarity index 79% rename from src/legacy/core_plugins/kibana/server/lib/csp_usage_collector/csp_collector.test.ts rename to src/plugins/kibana_usage_collection/server/collectors/csp/csp_collector.test.ts index 63c2cbec21b57..465b21e3578ba 100644 --- a/src/legacy/core_plugins/kibana/server/lib/csp_usage_collector/csp_collector.test.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/csp/csp_collector.test.ts @@ -17,35 +17,24 @@ * under the License. */ -import { CspConfig, ICspConfig } from '../../../../../../core/server'; +import { CspConfig, ICspConfig } from '../../../../../core/server'; import { createCspCollector } from './csp_collector'; - -const createMockKbnServer = () => ({ - newPlatform: { - setup: { - core: { - http: { - csp: new CspConfig(), - }, - }, - }, - }, -}); +import { httpServiceMock } from '../../../../../core/server/mocks'; describe('csp collector', () => { - let kbnServer: ReturnType; + let httpMock: ReturnType; const mockCallCluster = null as any; function updateCsp(config: Partial) { - kbnServer.newPlatform.setup.core.http.csp = new CspConfig(config); + httpMock.csp = new CspConfig(config); } beforeEach(() => { - kbnServer = createMockKbnServer(); + httpMock = httpServiceMock.createSetupContract(); }); test('fetches whether strict mode is enabled', async () => { - const collector = createCspCollector(kbnServer as any); + const collector = createCspCollector(httpMock); expect((await collector.fetch(mockCallCluster)).strict).toEqual(true); @@ -54,7 +43,7 @@ describe('csp collector', () => { }); test('fetches whether the legacy browser warning is enabled', async () => { - const collector = createCspCollector(kbnServer as any); + const collector = createCspCollector(httpMock); expect((await collector.fetch(mockCallCluster)).warnLegacyBrowsers).toEqual(true); @@ -63,7 +52,7 @@ describe('csp collector', () => { }); test('fetches whether the csp rules have been changed or not', async () => { - const collector = createCspCollector(kbnServer as any); + const collector = createCspCollector(httpMock); expect((await collector.fetch(mockCallCluster)).rulesChangedFromDefault).toEqual(false); @@ -72,7 +61,7 @@ describe('csp collector', () => { }); test('does not include raw csp rules under any property names', async () => { - const collector = createCspCollector(kbnServer as any); + const collector = createCspCollector(httpMock); // It's important that we do not send the value of csp.rules here as it // can be customized with values that can be identifiable to given diff --git a/src/legacy/core_plugins/kibana/server/lib/csp_usage_collector/csp_collector.ts b/src/plugins/kibana_usage_collection/server/collectors/csp/csp_collector.ts similarity index 75% rename from src/legacy/core_plugins/kibana/server/lib/csp_usage_collector/csp_collector.ts rename to src/plugins/kibana_usage_collection/server/collectors/csp/csp_collector.ts index 9c124a90e66eb..c45a83588ee44 100644 --- a/src/legacy/core_plugins/kibana/server/lib/csp_usage_collector/csp_collector.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/csp/csp_collector.ts @@ -17,12 +17,8 @@ * under the License. */ -import { Server } from 'hapi'; -import { CspConfig } from '../../../../../../core/server'; -import { - UsageCollectionSetup, - CollectorOptions, -} from '../../../../../../plugins/usage_collection/server'; +import { UsageCollectionSetup, CollectorOptions } from 'src/plugins/usage_collection/server'; +import { HttpServiceSetup, CspConfig } from '../../../../../core/server'; interface Usage { strict: boolean; @@ -30,12 +26,12 @@ interface Usage { rulesChangedFromDefault: boolean; } -export function createCspCollector(server: Server): CollectorOptions { +export function createCspCollector(http: HttpServiceSetup): CollectorOptions { return { type: 'csp', isReady: () => true, async fetch() { - const { strict, warnLegacyBrowsers, header } = server.newPlatform.setup.core.http.csp; + const { strict, warnLegacyBrowsers, header } = http.csp; return { strict, @@ -60,8 +56,11 @@ export function createCspCollector(server: Server): CollectorOptions { }; } -export function registerCspCollector(usageCollection: UsageCollectionSetup, server: Server): void { - const collectorConfig = createCspCollector(server); - const collector = usageCollection.makeUsageCollector(collectorConfig); +export function registerCspCollector( + usageCollection: UsageCollectionSetup, + http: HttpServiceSetup +): void { + const collectorOptions = createCspCollector(http); + const collector = usageCollection.makeUsageCollector(collectorOptions); usageCollection.registerCollector(collector); } diff --git a/src/legacy/core_plugins/kibana/server/lib/csp_usage_collector/index.ts b/src/plugins/kibana_usage_collection/server/collectors/csp/index.ts similarity index 100% rename from src/legacy/core_plugins/kibana/server/lib/csp_usage_collector/index.ts rename to src/plugins/kibana_usage_collection/server/collectors/csp/index.ts diff --git a/src/plugins/kibana_usage_collection/server/collectors/index.ts b/src/plugins/kibana_usage_collection/server/collectors/index.ts index 1ca237528b41f..1f9fe130fa45d 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/index.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/index.ts @@ -22,3 +22,4 @@ export { registerManagementUsageCollector } from './management'; export { registerApplicationUsageCollector } from './application_usage'; export { registerKibanaUsageCollector } from './kibana'; export { registerOpsStatsCollector } from './ops_stats'; +export { registerCspCollector } from './csp'; diff --git a/src/plugins/kibana_usage_collection/server/plugin.ts b/src/plugins/kibana_usage_collection/server/plugin.ts index 803a9146bd08f..d4295c770803e 100644 --- a/src/plugins/kibana_usage_collection/server/plugin.ts +++ b/src/plugins/kibana_usage_collection/server/plugin.ts @@ -37,6 +37,7 @@ import { registerManagementUsageCollector, registerOpsStatsCollector, registerUiMetricUsageCollector, + registerCspCollector, } from './collectors'; interface KibanaUsageCollectionPluginsDepsSetup { @@ -56,12 +57,9 @@ export class KibanaUsageCollectionPlugin implements Plugin { this.metric$ = new Subject(); } - public setup( - { savedObjects }: CoreSetup, - { usageCollection }: KibanaUsageCollectionPluginsDepsSetup - ) { - this.registerUsageCollectors(usageCollection, this.metric$, (opts) => - savedObjects.registerType(opts) + public setup(coreSetup: CoreSetup, { usageCollection }: KibanaUsageCollectionPluginsDepsSetup) { + this.registerUsageCollectors(usageCollection, coreSetup, this.metric$, (opts) => + coreSetup.savedObjects.registerType(opts) ); } @@ -79,6 +77,7 @@ export class KibanaUsageCollectionPlugin implements Plugin { private registerUsageCollectors( usageCollection: UsageCollectionSetup, + coreSetup: CoreSetup, metric$: Subject, registerType: SavedObjectsRegisterType ) { @@ -90,5 +89,6 @@ export class KibanaUsageCollectionPlugin implements Plugin { registerManagementUsageCollector(usageCollection, getUiSettingsClient); registerUiMetricUsageCollector(usageCollection, registerType, getSavedObjectsClient); registerApplicationUsageCollector(usageCollection, registerType, getSavedObjectsClient); + registerCspCollector(usageCollection, coreSetup.http); } } diff --git a/test/api_integration/apis/status/status.js b/test/api_integration/apis/status/status.js index c60d354090cc2..edfd4ca08b34d 100644 --- a/test/api_integration/apis/status/status.js +++ b/test/api_integration/apis/status/status.js @@ -39,10 +39,6 @@ export default function ({ getService }) { expect(body.status.overall.state).to.be('green'); expect(body.status.statuses).to.be.an('array'); - const kibanaPlugin = body.status.statuses.find((s) => { - return s.id.indexOf('plugin:kibana') === 0; - }); - expect(kibanaPlugin.state).to.be('green'); expect(body.metrics.collection_interval_in_millis).to.be.a('number'); diff --git a/test/functional/apps/status_page/index.ts b/test/functional/apps/status_page/index.ts index 65349aba93b9b..234e61a142a81 100644 --- a/test/functional/apps/status_page/index.ts +++ b/test/functional/apps/status_page/index.ts @@ -21,7 +21,6 @@ import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { - const retry = getService('retry'); const testSubjects = getService('testSubjects'); const PageObjects = getPageObjects(['common']); @@ -32,13 +31,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.common.navigateToApp('status_page'); }); - it('should show the kibana plugin as ready', async () => { - await retry.tryForTime(6000, async () => { - const text = await testSubjects.getVisibleText('statusBreakdown'); - expect(text.indexOf('plugin:kibana')).to.be.above(-1); - }); - }); - it('should show the build hash and number', async () => { const buildNumberText = await testSubjects.getVisibleText('statusBuildNumber'); expect(buildNumberText).to.contain('BUILD '); From 80ce87823874b7c00074435acdd481fd0180931a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Fri, 21 Aug 2020 13:47:01 +0100 Subject: [PATCH 49/51] [Data Telemetry] Add index pattern to identify "meow" attacks (#75163) Co-authored-by: Elastic Machine --- .../telemetry_collection/get_data_telemetry/constants.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/telemetry/server/telemetry_collection/get_data_telemetry/constants.ts b/src/plugins/telemetry/server/telemetry_collection/get_data_telemetry/constants.ts index 2d0864b1cb75f..7e4176281db41 100644 --- a/src/plugins/telemetry/server/telemetry_collection/get_data_telemetry/constants.ts +++ b/src/plugins/telemetry/server/telemetry_collection/get_data_telemetry/constants.ts @@ -128,6 +128,9 @@ export const DATA_DATASETS_INDEX_PATTERNS = [ { pattern: '*suricata*', patternName: 'suricata' }, // { pattern: '*fsf*', patternName: 'fsf' }, // Disabled because it's too vague { pattern: '*wazuh*', patternName: 'wazuh' }, + + // meow attacks + { pattern: '*meow*', patternName: 'meow' }, ] as const; // Get the unique list of index patterns (some are duplicated for documentation purposes) From 2f1a03e417b6dde2c442702a37f9fe8f16149afb Mon Sep 17 00:00:00 2001 From: Robert Austin Date: Fri, 21 Aug 2020 09:43:42 -0400 Subject: [PATCH 50/51] [Security Solution] modify circular deps checker to output images of circular deps graphs (#75579) --- .../run_check_circular_deps_cli.js | 45 ++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/security_solution/scripts/check_circular_deps/run_check_circular_deps_cli.js b/x-pack/plugins/security_solution/scripts/check_circular_deps/run_check_circular_deps_cli.js index 9b4a57f09066d..ac4102184091d 100644 --- a/x-pack/plugins/security_solution/scripts/check_circular_deps/run_check_circular_deps_cli.js +++ b/x-pack/plugins/security_solution/scripts/check_circular_deps/run_check_circular_deps_cli.js @@ -4,17 +4,17 @@ * you may not use this file except in compliance with the Elastic License. */ -import { resolve } from 'path'; - /* eslint-disable-next-line import/no-extraneous-dependencies */ import madge from 'madge'; /* eslint-disable-next-line import/no-extraneous-dependencies */ import { run, createFailError } from '@kbn/dev-utils'; +import * as os from 'os'; +import * as path from 'path'; run( - async ({ log }) => { + async ({ log, flags }) => { const result = await madge( - [resolve(__dirname, '../../public'), resolve(__dirname, '../../common')], + [path.resolve(__dirname, '../../public'), path.resolve(__dirname, '../../common')], { fileExtensions: ['ts', 'js', 'tsx'], excludeRegExp: [ @@ -34,6 +34,13 @@ run( const circularFound = result.circular(); if (circularFound.length !== 0) { + if (flags.svg) { + await outputSVGs(circularFound); + } else { + console.log( + 'Run this program with the --svg flag to save an SVG showing the dependency graph.' + ); + } throw createFailError( `SIEM circular dependencies of imports has been found:\n - ${circularFound.join('\n - ')}` ); @@ -42,6 +49,34 @@ run( } }, { - description: 'Check the SIEM plugin for circular deps', + description: + 'Check the Security Solution plugin for circular deps. If any are found, this will throw an Error.', + flags: { + help: ' --svg, Output SVGs of circular dependency graphs', + boolean: ['svg'], + default: { + svg: false, + }, + }, } ); + +async function outputSVGs(circularFound) { + let count = 0; + for (const found of circularFound) { + // Calculate the path using the os tmpdir and an increasing 'count' + const expectedImagePath = path.join(os.tmpdir(), `security_solution-circular-dep-${count}.svg`); + console.log(`Attempting to save SVG for circular dependency: ${found}`); + count++; + + // Graph just the files in the found circular dependency. + const specificGraph = await madge(found, { + fileExtensions: ['ts', 'js', 'tsx'], + }); + + // Output an SVG in the tmp directory + const imagePath = await specificGraph.image(expectedImagePath); + + console.log(`Saved SVG: ${imagePath}`); + } +} From b7504b3ab0f083211fcb8f0db6bff946ca42a1b8 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Fri, 21 Aug 2020 14:10:09 -0400 Subject: [PATCH 51/51] update snap add unit tests functional boiler plate fine tune remove cruft --- .../__snapshots__/scaling_form.test.tsx.snap | 331 ++++++++++++++++++ .../es_search_source/scaling_form.test.tsx | 52 ++- .../sources/es_search_source/scaling_form.tsx | 6 +- .../test/api_integration/apis/maps/index.js | 1 + x-pack/test/functional/apps/maps/index.js | 1 + .../test/functional/apps/maps/mvt_scaling.js | 75 ++++ .../es_archives/maps/kibana/data.json | 34 ++ 7 files changed, 480 insertions(+), 20 deletions(-) create mode 100644 x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap create mode 100644 x-pack/test/functional/apps/maps/mvt_scaling.js diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap new file mode 100644 index 0000000000000..3dabec0032442 --- /dev/null +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/__snapshots__/scaling_form.test.tsx.snap @@ -0,0 +1,331 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`scaling form should disable clusters option when clustering is not supported 1`] = ` + + +
+ +
+
+ + +
+ + + + + + + + +
+
+ + + +
+`; + +exports[`scaling form should include mvt 1`] = ` + + +
+ +
+
+ + +
+ + + + + + + Use vector tiles for faster display of large datasets. + + } + delay="regular" + position="left" + > + + +
+
+
+`; + +exports[`scaling form should render 1`] = ` + + +
+ +
+
+ + +
+ + + + + + +
+
+ + + +
+`; + +exports[`scaling form should render top hits form when scaling type is TOP_HITS 1`] = ` + + +
+ +
+
+ + +
+ + + + + + +
+
+ + + + + + + +
+`; diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.test.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.test.tsx index d32e4ea109be0..0e25abdfb2f93 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.test.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.test.tsx @@ -28,28 +28,46 @@ const defaultProps = { topHitsSplitField: null, topHitsSize: 1, supportsMvt: false, + mvtDisabledReason: 'no geoshape', }; -test('should render', async () => { - const component = shallow(); +describe('scaling form', () => { + test('should render', async () => { + const component = shallow(); - expect(component).toMatchSnapshot(); -}); + expect(component).toMatchSnapshot(); + }); -test('should disable clusters option when clustering is not supported', async () => { - const component = shallow( - - ); + test('should disable clusters option when clustering is not supported', async () => { + const component = shallow( + + ); - expect(component).toMatchSnapshot(); -}); + expect(component).toMatchSnapshot(); + }); + + test('should render top hits form when scaling type is TOP_HITS', async () => { + const component = shallow( + + ); + + expect(component).toMatchSnapshot(); + }); -test('should render top hits form when scaling type is TOP_HITS', async () => { - const component = shallow(); + test('should include mvt', async () => { + const component = shallow( + + ); - expect(component).toMatchSnapshot(); + expect(component).toMatchSnapshot(); + }); }); diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx index 00fe9cb117df2..cc2d4d059a3a8 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/scaling_form.tsx @@ -201,7 +201,7 @@ export class ScalingForm extends Component { /> ); - const info = ( + const enabledInfo = ( <> @@ -211,12 +211,12 @@ export class ScalingForm extends Component { ); - return this.props.mvtDisabledReason ? ( + return !this.props.supportsMvt ? ( {mvtRadio} ) : ( - + {mvtRadio} ); diff --git a/x-pack/test/api_integration/apis/maps/index.js b/x-pack/test/api_integration/apis/maps/index.js index f9dff19229645..e25c9bc092ad9 100644 --- a/x-pack/test/api_integration/apis/maps/index.js +++ b/x-pack/test/api_integration/apis/maps/index.js @@ -16,6 +16,7 @@ export default function ({ loadTestFile, getService }) { loadTestFile(require.resolve('./fonts_api')); loadTestFile(require.resolve('./index_settings')); loadTestFile(require.resolve('./migrations')); + loadTestFile(require.resolve('./getTile')); }); }); } diff --git a/x-pack/test/functional/apps/maps/index.js b/x-pack/test/functional/apps/maps/index.js index 4bbe38367d0a2..ef8b4ad4c0f19 100644 --- a/x-pack/test/functional/apps/maps/index.js +++ b/x-pack/test/functional/apps/maps/index.js @@ -46,6 +46,7 @@ export default function ({ loadTestFile, getService }) { loadTestFile(require.resolve('./es_geo_grid_source')); loadTestFile(require.resolve('./es_pew_pew_source')); loadTestFile(require.resolve('./joins')); + loadTestFile(require.resolve('./mvt_scaling')); loadTestFile(require.resolve('./add_layer_panel')); loadTestFile(require.resolve('./import_geojson')); loadTestFile(require.resolve('./layer_errors')); diff --git a/x-pack/test/functional/apps/maps/mvt_scaling.js b/x-pack/test/functional/apps/maps/mvt_scaling.js new file mode 100644 index 0000000000000..e50b72658fb43 --- /dev/null +++ b/x-pack/test/functional/apps/maps/mvt_scaling.js @@ -0,0 +1,75 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import expect from '@kbn/expect'; + +const VECTOR_SOURCE_ID = 'caffa63a-ebfb-466d-8ff6-d797975b88ab'; + +export default function ({ getPageObjects, getService }) { + const PageObjects = getPageObjects(['maps']); + const inspector = getService('inspector'); + + describe('mvt geoshape layer', () => { + before(async () => { + await PageObjects.maps.loadSavedMap('geo_shape_mvt'); + }); + + after(async () => { + await inspector.close(); + }); + + it('should render with mvt-source', async () => { + const mapboxStyle = await PageObjects.maps.getMapboxStyle(); + + //Source should be correct + expect(mapboxStyle.sources[VECTOR_SOURCE_ID].tiles[0]).to.equal( + '/api/maps/mvt/getTile?x={x}&y={y}&z={z}&geometryFieldName=geometry&index=geo_shapes*&requestBody=(_source:(includes:!(geometry,prop1)),docvalue_fields:!(prop1),query:(bool:(filter:!((match_all:())),must:!(),must_not:!(),should:!())),script_fields:(),size:10000,stored_fields:!(geometry,prop1))' + ); + + //Should correctly load meta for style-rule (sigma is set to 1, opacity to 1) + const fillLayer = mapboxStyle.layers.find((layer) => layer.id === VECTOR_SOURCE_ID + '_fill'); + expect(fillLayer.paint).to.eql({ + 'fill-color': [ + 'interpolate', + ['linear'], + [ + 'coalesce', + [ + 'case', + ['==', ['get', 'prop1'], null], + 0.3819660112501051, + [ + 'max', + ['min', ['to-number', ['get', 'prop1']], 3.618033988749895], + 1.381966011250105, + ], + ], + 0.3819660112501051, + ], + 0.3819660112501051, + 'rgba(0,0,0,0)', + 1.381966011250105, + '#ecf1f7', + 1.6614745084375788, + '#d9e3ef', + 1.9409830056250525, + '#c5d5e7', + 2.2204915028125263, + '#b2c7df', + 2.5, + '#9eb9d8', + 2.7795084971874737, + '#8bacd0', + 3.0590169943749475, + '#769fc8', + 3.338525491562421, + '#6092c0', + ], + 'fill-opacity': 1, + }); + }); + }); +} diff --git a/x-pack/test/functional/es_archives/maps/kibana/data.json b/x-pack/test/functional/es_archives/maps/kibana/data.json index 198174bccb286..255dc4ebbefb0 100644 --- a/x-pack/test/functional/es_archives/maps/kibana/data.json +++ b/x-pack/test/functional/es_archives/maps/kibana/data.json @@ -1008,6 +1008,40 @@ } } +{ + "type": "doc", + "value": { + "id": "map:bff99716-e3dc-11ea-87d0-0242ac130003", + "index": ".kibana", + "source": { + "map" : { + "description":"shapes with mvt scaling", + "layerListJSON":"[{\"sourceDescriptor\":{\"type\":\"EMS_TMS\",\"isAutoSelect\":true},\"id\":\"76b9fc1d-1e8a-4d2f-9f9e-6ba2b19f24bb\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"alpha\":1,\"visible\":true,\"style\":{\"type\":\"TILE\"},\"type\":\"VECTOR_TILE\"},{\"sourceDescriptor\":{\"geoField\":\"geometry\",\"filterByMapBounds\":true,\"scalingType\":\"MVT\",\"topHitsSize\":1,\"id\":\"97f8555e-8db0-4bd8-8b18-22e32f468667\",\"type\":\"ES_SEARCH\",\"tooltipProperties\":[],\"sortField\":\"\",\"sortOrder\":\"desc\",\"indexPatternRefName\":\"layer_1_source_index_pattern\"},\"id\":\"caffa63a-ebfb-466d-8ff6-d797975b88ab\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"alpha\":1,\"visible\":true,\"style\":{\"type\":\"VECTOR\",\"properties\":{\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"marker\"}},\"fillColor\":{\"type\":\"DYNAMIC\",\"options\":{\"color\":\"Blues\",\"colorCategory\":\"palette_0\",\"field\":{\"name\":\"prop1\",\"origin\":\"source\"},\"fieldMetaOptions\":{\"isEnabled\":true,\"sigma\":1},\"type\":\"ORDINAL\"}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#41937c\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":1}},\"iconSize\":{\"type\":\"STATIC\",\"options\":{\"size\":6}},\"iconOrientation\":{\"type\":\"STATIC\",\"options\":{\"orientation\":0}},\"labelText\":{\"type\":\"STATIC\",\"options\":{\"value\":\"\"}},\"labelColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#000000\"}},\"labelSize\":{\"type\":\"STATIC\",\"options\":{\"size\":14}},\"labelBorderColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#FFFFFF\"}},\"symbolizeAs\":{\"options\":{\"value\":\"circle\"}},\"labelBorderSize\":{\"options\":{\"size\":\"SMALL\"}}},\"isTimeAware\":true},\"type\":\"TILED_VECTOR\",\"joins\":[]}]", + "mapStateJSON":"{\"zoom\":3.75,\"center\":{\"lon\":80.01106,\"lat\":3.65009},\"timeFilters\":{\"from\":\"now-15m\",\"to\":\"now\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":0},\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filters\":[],\"settings\":{\"autoFitToDataBounds\":false,\"initialLocation\":\"LAST_SAVED_LOCATION\",\"fixedLocation\":{\"lat\":0,\"lon\":0,\"zoom\":2},\"browserLocation\":{\"zoom\":2},\"maxZoom\":24,\"minZoom\":0,\"showSpatialFilters\":true,\"spatialFiltersAlpa\":0.3,\"spatialFiltersFillColor\":\"#DA8B45\",\"spatialFiltersLineColor\":\"#DA8B45\"}}", + "title":"geo_shape_mvt", + "uiStateJSON":"{\"isLayerTOCOpen\":true,\"openTOCDetails\":[]}" + }, + "type" : "map", + "references" : [ + { + "id":"561253e0-f731-11e8-8487-11b9dd924f96", + "name":"layer_1_source_index_pattern", + "type":"index-pattern" + } + ], + "migrationVersion" : { + "map" : "7.9.0" + }, + "updated_at" : "2020-08-10T18:27:39.805Z" + } + } +} + + + + + + { "type": "doc", "value": {